5
Embedded Smart Camera Performance Analysis N. F. Kahar, R. B. Ahmad, Z. Hussin, A. N. C Rosli School of Computer and Communication Engineering Universiti Malaysia Perlis P.O Box 77, d/a Pejabat Pos Besar 01000 Kangar, Perlis, Malaysia e-mail : [email protected] Abstract - Increasingly powerful integrated circuits are making an entire range of new applications possible. Recent technological advances are enabling a new generation of smart cameras that represent a quantum leap in sophistication. While today’s digital cameras capture images, smart camera capture high-level descriptions of the scene and analyze what they see. A smart camera combines video sensing, high-level video processing and communication within a single embedded device. Smart cameras not only capture images, they further perform high-level image processing on-board, and transfer the data via network. In this project, embedded smart camera utilizing the use of Single Board Computer (SBC) and GNU/Linux is presented. This paper presents the performance analysis on processing speed and CPU utilization for embedded smart camera using three different computer platforms. Two Single Board Computers from Technologic System, TS-5500 and TS-7200 are being introduced in this paper. The hardware and software design as well as the experimental results are also presented. Keywords – smart camera; single board computer; image processing I. INTRODUCTION Computer vision plays an important role in many applications ranging from industrial automation over robotics to smart environments [1]. There is further a strong trend towards the implementation of advanced computer vision methods on embedded system. However, deployment of advanced vision methods on embedded platforms is challenging, since these platforms often provide only limited resources such as computing performance, memory and power. A smart camera can be define as a vision system in which the primary function is to produce a high-level understanding of the image scene and generate application-specific data to be used in an intelligent system [2]. It usually comprises of an image-sensor, several digital-signal processors and a network processor [3]. However, this project utilizes an image sensor and a single board computer (SBC) supported by GNU/Linux operating system to build the smart camera application. Although smart cameras have various applications, this project focus on traffic surveillance, which impose demanding video processing and compression-algorithm requirements on the camera’s hardware and software [4]. To meet the requirements of an innovative traffic- surveillance system, that is, the ability to autonomously monitor the traffic along the highway section and performing high-level video analysis, the surveillance architecture must be scalable and flexible [4]. The remainder of this paper is organized as follows. Section 2 briefly introduces the system overview of the whole project, section 3 discuss on two types of single board computer that is use for the analysis, the advantages of using SBCs and its technical specification. Section 4 explains on software design of the system and section 5 presents the results and discussion on the analysis. Finally, section 6 concludes this paper with findings obtained from the analysis. II. SYSTEM OVERVIEW The system that is being developed is called Embedded Smart Camera. It utilizes the use of SBC as a processor and a Logitech Quickcam Pro 4000 web camera as an image sensor. The tasks are to monitor road conditions and detect any stationary vehicle that occurred in the middle of the road, which might endanger other road users. If the object of interest is detected on the scene, the system will transmit the information directly to the supervision center and triggers an alarm notification. This will helps the victim of the broke-down vehicle to get assist in a short period of time and at the same time avoiding any accident or traffic congestion that might happens. Figure 1. Embedded smart camera overview The selection of SBC as the hardware platform for the system is mainly because of its efficiency of size, weight, cost, interchangeability and consistency [5]. The SBC standard, the commonly-used robotic development Network SBC Monitor Alarm USB Webcam Supervision Center Smart Camera 2009 International Conference on Computer Engineering and Technology 978-0-7695-3521-0/09 $25.00 © 2009 IEEE DOI 10.1109/ICCET.2009.121 79

[IEEE 2009 International Conference on Computer Engineering and Technology (ICCET) - Singapore, Singapore (2009.01.22-2009.01.24)] 2009 International Conference on Computer Engineering

  • Upload
    anc

  • View
    214

  • Download
    1

Embed Size (px)

Citation preview

Embedded Smart Camera Performance Analysis

N. F. Kahar, R. B. Ahmad, Z. Hussin, A. N. C Rosli

School of Computer and Communication Engineering Universiti Malaysia Perlis

P.O Box 77, d/a Pejabat Pos Besar 01000 Kangar, Perlis, Malaysia e-mail : [email protected]

Abstract - Increasingly powerful integrated circuits are making an entire range of new applications possible. Recent technological advances are enabling a new generation of smart cameras that represent a quantum leap in sophistication. While today’s digital cameras capture images, smart camera capture high-level descriptions of the scene and analyze what they see. A smart camera combines video sensing, high-level video processing and communication within a single embedded device. Smart cameras not only capture images, they further perform high-level image processing on-board, and transfer the data via network. In this project, embedded smart camera utilizing the use of Single Board Computer (SBC) and GNU/Linux is presented. This paper presents the performance analysis on processing speed and CPU utilization for embedded smart camera using three different computer platforms. Two Single Board Computers from Technologic System, TS-5500 and TS-7200 are being introduced in this paper. The hardware and software design as well as the experimental results are also presented.

Keywords – smart camera; single board computer; image processing

I. INTRODUCTION

Computer vision plays an important role in many applications ranging from industrial automation over robotics to smart environments [1]. There is further a strong trend towards the implementation of advanced computer vision methods on embedded system. However, deployment of advanced vision methods on embedded platforms is challenging, since these platforms often provide only limited resources such as computing performance, memory and power.

A smart camera can be define as a vision system in which the primary function is to produce a high-level understanding of the image scene and generate application-specific data to be used in an intelligent system [2]. It usually comprises of an image-sensor, several digital-signal processors and a network processor [3]. However, this project utilizes an image sensor and a single board computer (SBC) supported by GNU/Linux operating system to build the smart camera application. Although smart cameras have various applications, this project focus on traffic surveillance, which impose demanding video processing and compression-algorithm requirements on the camera’s hardware and software [4]. To meet the requirements of an innovative traffic-surveillance system, that is, the ability to autonomously monitor the traffic along the highway section and

performing high-level video analysis, the surveillance architecture must be scalable and flexible [4].

The remainder of this paper is organized as follows. Section 2 briefly introduces the system overview of the whole project, section 3 discuss on two types of single board computer that is use for the analysis, the advantages of using SBCs and its technical specification. Section 4 explains on software design of the system and section 5 presents the results and discussion on the analysis. Finally, section 6 concludes this paper with findings obtained from the analysis.

II. SYSTEM OVERVIEW

The system that is being developed is called

Embedded Smart Camera. It utilizes the use of SBC as a processor and a Logitech Quickcam Pro 4000 web camera as an image sensor. The tasks are to monitor road conditions and detect any stationary vehicle that occurred in the middle of the road, which might endanger other road users. If the object of interest is detected on the scene, the system will transmit the information directly to the supervision center and triggers an alarm notification. This will helps the victim of the broke-down vehicle to get assist in a short period of time and at the same time avoiding any accident or traffic congestion that might happens.

Figure 1. Embedded smart camera overview The selection of SBC as the hardware platform for the

system is mainly because of its efficiency of size, weight, cost, interchangeability and consistency [5]. The SBC standard, the commonly-used robotic development

Network

SBC

Monitor Alarm

USB Webcam

Supervision Center

Smart Camera

2009 International Conference on Computer Engineering and Technology

978-0-7695-3521-0/09 $25.00 © 2009 IEEE

DOI 10.1109/ICCET.2009.121

79

platform [6][7], specifies a main board that houses a processor, memory and the basic chipset needed to function as a standalone embedded computer capable of functioning with only a separate power supply and whatever outside input or output devices the application calls for [8]. Utilizing Linux based SBC allow us to manipulate the availability of open source resources such as libraries, kernels and drivers in developing and implementing this system [8].

For the intelligent surveillance application, the vehicle detection and recognition algorithm software is embedded in the smart camera. The whole process is performed by the smart camera itself. However, due to the limited memory and computing resources, only low level image processing such as threshold and filtering are possible.

III. SINGLE BOARD COMPUTER

SBC is one type of embedded system technology widely used for recent years. It can perform specific tasks like computer as it has a processor, RAM, hard disk and operating system [9]. There are number of reasons why single board computer is used for product development. The main factor is because of the speed development process. By using SBCs, no designing, fabricating and debugging cycles needed. Hence, it also reduces the development cost. Furthermore, due to the GNU/Linux free kernel that is available for almost CPU architecture, it makes the application development much easier [10].

Two types of SBCs that is being use for the purpose of this performance analysis are TS-5500 PC/104 and ARM TS-7200 from Technologic System. The TS-5500 SBC is based on 586 architecture and uses conventional DOS or Linux development tools. The board comes with an AMD Elan520 processor running at 133 MHz.

For processing purposes, this SBC have as much as 64MB of RAM and 2 MB of flash memory. For communication, data interfaces include as many as 40 Digital I/O lines, 4 serial ports utilizing RS-232, RS-485 Half or Full Duplex, Optional Analog to Digital Converter and 10/100 Base-T Ethernet port. The board requires 5V DC power at 800mA [9].

Figure 2. TS-5500 single board computer

Figure 3. TS-7200 single board computer TS-7200 is another model of SBC that is being

analyzed. The TS-7200 series runs on a 200 MHz Cirrus ARM9 processor with power as low as 1/2 Watt. Low board complexity, low component count, and low power/heat make it an extremely reliable embedded engine [11].

TS-7200 series SBC’s come standard with 32MB of SDRAM and 32MB Flash. The 10/100 Ethernet port for network solution, two USB host ports enable the use of USB flash, WiFi and a myriad of USB hardware devices. Digital Signal Processing (DSP) is enabled through a standard 5 channel, 12bit A/D converter, 20 DIO lines and 2 standard serial ports [11].

IV. SOFTWARE DESIGN

The smart camera is design to operate in real-time mode, which requires the vehicle detection and recognition software to identify the vehicle from the captured image. The vehicle image is captured in colored format and the image has a complex background. The objective of image processing module is to process the image by converting the image to grayscale, removing the image background, improving the image appearance and detecting the vehicle. The image processing technique performs are the color space conversion, grayscale modification and motion analysis [12] technique. Figure 4 shows the flow of image processing technique performs.

Image Captured (YUV420P)

Convert Image (YUV420P to RGB)

Convert Image (RGB to Grayscale)

Convert Image (Grayscale to Binary)

Remove Background Image (Object Extraction)

Locate Object

Object Recognition and Classification

Image Saving (PGM format)

Figure 4. Image processing technique flow

80

Figure 5. Smart camera software design modules

The overall software design can be divided into 3 modules. Image Acquisition, Image Processing and Object Recognition and Alarm Notification. For this paper, the performance evaluation is done using the second module, Image Processing and Object Recognition. In this module, the system will learn and determine the presence of stationary vehicle in the captured image.

The image processing algorithm involves the use of several image processing techniques such as image thresholding and frame differencing. Image thresholding provides an easy and convenient way to perform segmentation on the basis of the different intensities in the foreground and background regions of an image [13]. The thresholding process will produce a binary image. Frame differencing is used to isolate the background image from the foreground image by using subtraction method.

In the analysis, we will execute the module and performance evaluation is done based on timing consumption needed and the CPU utilization using different PC platform. Sample image is used for this purpose. Sample for difficult image resolution is taken using Canon PowerShot A460 Digital Camera with resolution set to 800x600, 640x480, 448x336 and 313x235.

Figure 6. Sample image used for image processing and object

recognition module

V. RESULTS AND DISCUSSION

The analysis is done to learn the performance of the system implemented using 3 different PC platforms, TS-5500, TS-7200 and a Desktop PC. Two important characteristics that have been analyzed are the processing speed and CPU utilization. For every characteristic, the

average reading is obtained after the image processing and object recognition algorithm software executed on the system for 3 consecutive hours. The speed value is obtain through the output from predefined C program and the CPU utilization values is obtain using the ‘top’ command in Linux. The ‘top’ command provides an ongoing look at processor activity in real time. It displays a listing of the most CPU-intensive tasks on the system, and can provide an interactive interface for manipulating processes [14]. It can sort the tasks by CPU usage, memory usage and runtime.

The performance comparison based on time consumption is made between 3 different computer architectures, TS-5500, TS-7200 and a Desktop PC which runs on an Intel Pentium 4 CPU 1.70GHz processor. It has been tested using 4 different image resolutions. In terms of SBCs, it can be seen that TS-7200 performance is slightly better than TS-5500 at any image resolution used. This is because TS-7200 has higher processing capabilities compared to TS-5500.

Percentages of difference in processing speed between TS-7200 and TS-5500 can be explained using the table below. The comparison is made between two SBC platforms and Desktop PC. The difference between TS-5500 and TS-7200 processing speed is almost double at any image resolution. For example, at image resolution 800x600, the percentage of processing speed difference for TS-7200 is 41.92% while TS-5500 has 84.49% difference. This shows that at any image resolution, TS-7200 will use only half the time that is needed by TS-5500 SBC to perform a process.

Processing Speed for Different Computer System

53.32

9.75.030.57

32.78

17.39

27.78

17.47

9.052.63 1.63 0.91

0

10

20

30

40

50

60

800 x 600 640 x 480 448 x 336 313 x 235Image Resolution (pixel)

Tim

e (s

econ

ds)

TS-5500 SBC TS-7200 SBC Desktop PC

Figure 7. Processing speed comparison based on different computer

system platform

TABLE I. IMAGE RESOLUTION AND COMPUTER PLATFORM WITH CORRESPONDING PROCESSING SPEED VALUES

Image Computer Platform Resolution TS-5500 TS-7200 Desktop PC 800 x 600 53.32s 27.78s 2.63s 640 x 480 32.78s 17.47s 1.63s 448 x 336 17.39s 9.05s 0.91s 313 x 235 9.7s 5.03s 0.57s

Smart Camera Software Design Modules

Image Acquisition

Image Processing and Object Recognition

Alarm Notification

81

TABLE II. PERCENTAGE DIFFERENCE IN PROCESSING SPEED BETWEEN TWO SINGLE BOARD COMPUTERS

Image Computer Platform Resolution TS-5500 TS-7200 800 x 600 84.49% 41.92% 640 x 480 51.91% 26.40% 448 x 336 27.46% 13.56% 313 x 235 15.22% 7.43%

Another analysis is done to obtain comparison based

on operations per second between three computer platforms. For this, image resolution is set to 640x480 pixels. The difference can be seen through every process that the system gone through during the whole second module. The processes are described as follows:

P1: Read Background Image. P2: Read Image 1. P3:Threshold Image 1 and discard unwanted region. P4: Read Image 2. P5:Threshold Image 2 and discard unwanted region. P6: Frame differencing process. P7: Locate vehicle and put in frame. P8: Write binary image file.

P9: Count pixel value in binary image and classify. P10:Write output file.

From the graph shown, it is clearly seen that Desktop PC has the highest Operations per Second (OPS) value, followed by TS-7200 and TS-5500. The main factor is of course for its higher processing capabilities. Throughout the process, P9 has the highest value of operations compared to other processes. This is because less time is needed to count pixel value in binary image and perform classification process, since in that stage the image has been crop to size 240x240 pixels. P7 has the lowest value of operations in the whole process because it takes more time to read the whole image and locate the position of the stationary vehicle and put it in a small frame.

Performance Comparison Based on Operations per Second (OPS)

0

20

40

60

80

100

120

140

160

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10

Operation Type

Ope

ratio

n

TS-7200 SBC TS-5500 SBC Desktop PC

Figure 8. Performance comparison based on operations per second

(OPS) For CPU utilization, we executed the 855 lines of C

program code on different platforms and monitor the CPU state usage. On average, TS-5500 SBC consumes

49.95%, TS-7200 SBC utilizes 50%, while Desktop PC utilizes 46.35% of CPU usage. This outcome shows that, regardless of the limitations of processing power, the system performance on the embedded platform is at par with other better performance PC.

VI. CONCLUSION

The analysis shows that TS-7200 single board computer gives a better time performance compared to TS-5500. However, in terms of CPU utilization, all 3 PC platforms utilize almost similar CPU usage during program execution. These results clarify that the embedded system is suitable to be used as a hardware platform for the smart camera, since both are capable in performing the task as expected. The smart camera for traffic surveillance in whole is intended to give a smooth and safe road environment for all the users. Therefore, a good choice of embedded hardware could help in providing a better solution for the system.

REFERENCES [1] M. Quaritsch, M. Kreuzthaler, B. Rinner, H. Bischof, B.

Strobl, “Autonomous multicamera tracking on embedded smart cameras,” EURASIP Journal on Embedded System, Hindawi Publishing Corporation, volume 2007, pp. 1-10.

[2] CCTV Focus International Magazine. Smart Cameras : A Review. Issue 36 – 2006. www.cctv-focus.com

[3] M. Bramberger, R.P. Pflugfelder, A. Maier, B. Rinner, B. Strobl, H. Schwabach, “A smart camera for traffic surveillance,” Journal.

[4] M. Bramberger, A. Doblander, A. Maier, B. Rinner, H. Schwabach, “Distributed embedded smart cameras for surveillance applications,” IEEE Computer Society. February 2006, pp. 68-75.

[5] D. Hoopes, T. Davis, K. Norman, R. Helps, “An Autonomous Mobile Robot Development Platform for Teaching a Graduate Level Mechatronics Course,” Frontiers in Education, 2003. FIE 2003. 33rd Annual Vol.2, 2003, p17-22.

[6] M. Krishnan, S. Das, S.A. Yost, “Team-oriented, project-based instruction in a new mechatronics course,” Proceeding of IEEE Computer Society Conference on Frontiers in Education, Champaign, IL, USA, 1999, Stripes Publishing L.L.C., p. 13D4/1-6 Vol.3.

[7] G.S. Sukhatme, J.F. Montgomery, M.J. Mataric, “Design and implementation of a mechanically heterogeneous robot group,” Proceeding of SPIE – The International Society for Optical Engineering, v3839, 1999, p122-133.

[8] A.N.C. Rosli, A.Y.M. Shakaff, R.B Ahmad, M. Rizon, W.M.A.W. Mamat, “Face reader for biometric identification using single board computer and GNU/Linux,” International Conference on Robotics, Vision, Information and Signal Processing 2007 (ROVISP), November 2007.

[9] Technologic System, Inc. Single Board Computers for Embedded Systems. http://www.embeddedarm.com/epc/prod_SBC.htm

[10] A.N.C Rosli, A.Y.M.Shakaff, R.B. Ahmad, M. Rizon, S. Sudin, Z.I.A. Khalib. “Hardware development for face recognition system using single board computer (SBC): A proposal,” Proceeding of the International Wireless and Telecommunication Symposium IWTS 2006, May 2006.

82

[11] Technologic System. TS-7200 Series - Embedded ARM Single Board Computers. http://www.embeddedarm.com/products/arm-sbc.php

[12] A.N.C Rosli, A.Y.M.Shakaff, R.B. Ahmad, M. Rizon, W.M.A.W. Mamat, “Motion analysis and image scaling of human faces in embedded face reader using single board

computer,” Malaysian Technical Universities Conference on Engineering and Technology MUCET, March 2008.

[13] R.C. Gonzalez and R.E. Woods, Digital Image Processing, Prentice-Hall Inc., 2002.

[14]About.com: Linux. Linux/Unix Command: top. http://linux.about.com/od/commands/l/blcmdl1_top.htm

83