International Journal of Engineering Trends and Technology (IJETT) – Volume 4 Issue 9- Sep 2013 Real-time Object Detection Based on ARM9 # M.Vijay babu #1 M.Tech & VLSI-ES & Department of ECE & JNTU-Hyderabad 503 Sai Soudha Apartment, Shalivahan Nagar, Dilsukhnagar, Hyderabad, A.P, India Abstract-- Object detection applications are associated with real-time performance constraints that originate from the embedded system that they are often deployed in. Our Embedded system using ARM 32 bit Microcontroller has the feature of image/video processing by using various features and classification algorithms have been proposed for object detection. It overcomes the performance in terms of sensors and hardware cost is also very high. So, our design Embedded system that detects partially visible pedestrians with low false alarm rate and high speed wherever they enter the camera view. This system takes captured image by means of web camera connected to ARM microcontroller through USB and the image is processed by using image processing technique. Image processing is a signal processing for which the input is an image, whether it is a photograph or a video frame; the output of image processing may be either an image or a set of characteristics or parameters related to the image. The captured image undergoes spatio temporal reference samples in terms of both back ground and fore ground estimation, evaluation and spatial Gaussian kernel to provide high quality image of object detection that detected image is continuously displayed on display unit and the data is stored in pen drive connected to it. Keywords— ARM microcontroller, Linux, Object Detection, Qt, OpenCV. system that detects partially visible pedestrians with low false alarm rate and high speed wherever they enter the camera view. This system takes captured image by means of web camera connected to ARM microcontroller through USB and the image is processed by using image processing technique [7]. Image processing is a signal processing for which the input is an image, whether it is a photograph or a video frame; the output of image processing may be either an image or a set of characteristics or parameters related to the image. The real-time object detection [2] in this approach based on S3C2440A ARM9 core processor on Linux operating system. Individually we cannot get S3c2440A. We will get in the form of Friendly ARM board. Friendly arm board supports for operating systems Symbion, Android, Embedded linux, win ce among all these operating systems embedded linux will provide high security to drivers and files. The boot loader of friendly ARM board specific is Super vivi. The root file system is Root Qtopia. Qt is a cross-platform application framework that is widely used for developing application software with a graphical user interface (GUI), and also used for developing non-GUI programs such as command-line tools and consoles for servers. Qt uses standard C++ but makes extensive use of a special code generator together with several macros to enrich the language. OpenCV [OpenCV] is an open source computer vision library. The library is written in C and C++ and runs under Linux. 2. IMPLEMENTATION 1. INTRODUCTION A. Hardware Approach Many applications require detection of objects in real time. Object detection is a widely used technology. One of the challenges of object detection is detects an object with low false alarm rate and high speed, and display the object continuously on display unit. Another challenge is to maintain the frame rate and accuracy. As such general purpose processors and digital signal processors will not provide flexibility required to achieve real-time performance. Object detection using ARM9 is very fast in detection process; however, the performance on conventional general purpose processors [1] is only 4 frames for second. Hence using ARM9 it meets hard real time constraints that are imposed in embedded environments, with low power and performance trade-offs. In this paper, we propose an embedded system that performs object detection using ARM9. This embedded system using ARM9 has the feature of image or video processing. It overcomes the performance in terms of sensors and hardware cost is also very high. So, our design Embedded ISSN: 2231-5381 In this paper fig.1 shows the block diagram of Real-time object detection based on ARM9. The USB camera interfaced to Friendly ARM board. The USB camera continuously captures the image from live video of the particular location. ARM9 has the feature of image processing. The captured image processed by using image processing technique. The captured image continuously displays on LCD display unit. And the data of particular image is stored in pen drive connected to it. SAMSUNG's S3C2440A 16/32-bit RISC microprocessor. SAMSUNG’s S3C2440A is designed with low-power, and high-performance microcontroller solution in small die size. http://www.ijettjournal.org Page 4080 International Journal of Engineering Trends and Technology (IJETT) – Volume 4 Issue 9- Sep 2013 image of object detection that detected image is continuously displayed on display unit and the data is stored in pen drive connected to it. B. Working principle Fig. 1 Block Diagram The S3C2440A is developed with ARM920T core [3], 0.13um CMOS standard cells and a memory complier. Its low power, simple, elegant and fully static design is suitable for cost- and power-sensitive applications. It adopts a new bus architecture known as Advanced Micro controller Bus Architecture (AMBA). The camera used here is the CMOS camera. A UVC driver camera is a video camera that feeds its image in real time to a computer or computer network. The display unit here is Touch screen LCD display. A touch screen is an electronic visual display that can detect the presence and location of a touch within the display area. This is generally refers to touching the display of the device with a finger. Touch screens can also sense other passive objects, such as a stylus. This system takes captured image by means of web camera connected to ARM microcontroller through USB and the image is processed by using image processing technique [4-6]. Image processing is a signal processing for which the input is an image, whether it is a photograph or a video frame; the output of image processing may be either an image or a set of characteristics or parameters related to the image. The captured image undergoes spatio temporal reference samples in terms of both back ground and fore ground estimation, evaluation and spatial Gaussian kernel to provide high quality ISSN: 2231-5381 The main intention of this system is to detect the object in particular location. To detect the object we will use camera which is interfaced to a micro controller. This camera continuously captures image or video and it will check whether any object or person or any other thing is present at that location or not. The proposed object detection system makes use embedded board which makes use of less power consumptive and advanced micro controller like S3C2440. Samsung's S3C2440A microcontroller is developed with ARM920T core family. This microcontroller works for a voltage of +3.3V DC and at an operating frequency of 400 MHz. Individually we cannot get S3C2440A. It will get in the form of FRIENDLY ARM board and also we can call it as MINI 2440 board. In order to work with ARM 9 micro controllers we need 3 things. They are as follows. 1. Boot Loader 2. Kernel 3. Root File System Boot Loader: The boot loader initializes all the devices that are present on the mother board of MINI 2440 and at the same time to find out whether any problem or any other fault is there in the devices that are present on that mother board of MINI 2440. Another feature of the boot loader is to find out what are the different operating systems that are present in the standard storage devices and to show it on to the display device so that user can select between the operating systems into which he wants to enter. One other feature of the boot loader is to load operating system related files byte by byte into the temporary memory like RAM. In this paper we are using boot loader like Super vivi which is MINI 2440 specific. Kernel: The core part of an operating system is kernel. With the help of the kernel only Operating system performs all of its functions like File management, Process management, Memory management, Network management and Interrupt management. Friendly arm board supports for operating systems Symbion, Android, Embedded linux, win ce among all these operating systems embedded linux will provide high security to drivers and files. So in this paper we are making use of kernel of embedded linux with which device related drivers that are present on the mother board of friendly arm board will automatically come when we load embedded linux related kernel. Root File System: File system will tell how the files are arranged in the internal standard storage devices. In embedded Linux, kernel treats everything as a file even the input and output devices http://www.ijettjournal.org Page 4081 International Journal of Engineering Trends and Technology (IJETT) – Volume 4 Issue 9- Sep 2013 also. In embedded Linux, Root is the parent directory it contains other sub directories like dev, lib, home, bin ,sbin ,media ,mnt ,temp ,proc , etc, opt and etc. According to our application we will interface some external devices also. All the devices means internal devices that are present on the motherboard of MINI 2440 will get their corresponding drivers when we load Embedded Linux related kernel. But these device drivers require micro controller related header files and some other header files which will be present in the lib directory which is present in the root directory. And also the devices related drivers will be present in the dev directory which is again present in the root directory. So whenever we will load the Root File System then we will get different directories which will be helpful to the kernel. So compulsorily we need to load the Root File System. MINI 2440 specific Root File System is Root Qtopia. The essential programs that are required in order to work with MINI 2440 like Boot loader, Embedded Linux related Kernel, Root File System will be loaded into the NOR flash which is present on the MINI 2440 board itself. The application program will be loaded into NAND flash which is also present on the MINI 2440 board itself. The user can select either NOR flash or NAND flash by using boot strap switch. DNW tool can be used to load Boot loader, Embedded Linux related kernel and Root File System into NOR flash by using USB cable and the application related program into NAND flash. Once loading everything into MINI 2440 board it starts working based on the application program that we have loaded into the NAND flash. By using USB type camera that is interfaced to the embedded board we can capture the live video of the particular location. To detect the motion first open the video device, and capture the video frame from video device and grap the frame from video. Then read the image from the frame and store that image in particular memory location. After that we will read the stored image. The current image and already stored we will convert to gray image. Then compare the both images and differentiate them. Again we will convert that image to black and white image. And draw outline to that image. If any difference will get draw the rectangle. In this way we can identifies any object present in particular location. The detected object can be displayed on touch screen LCD as well as we can save it in pen drive. combination of both linux open OS source code .C file and the object detection application code is combined compiled by ARM gcc compiler. ARM gcc compiler which in turns contains editor, linker, compiler which generates three files. The combined source code is edited and all the object files are linked by the linker. After the linker the object file which is .obj file sent to the compiler to generate .bin file. Here the compiler will generate three files .elf file, .bin file, .obj file. In these three files .bin file is used. The .bin file is dump on to the ARM9 kit using DNW tool. Qt is a cross-platform application framework that is widely used for developing application software with a graphical user interface (GUI), and also used for developing non-GUI programs such as command-line tools and consoles for servers. Qt uses standard C++ but makes extensive use of a special code generator together with several macros to enrich the language. OpenCV [OpenCV] is an open source computer vision library. The library is written in C and C++ and runs under Linux. C. Software Approach The below figure.2 is about the complete software approach which states both linux operating source code .C file and application code .C file. The application used here is real time object detection based on ARM9 with its .app code which is combined with Linux platform. The ARM GCC compiler which is used to compile the complete source code into .bin file. Linux operating system which is an open source used in this paper as an open source platform. The object detection application code .C file is developed by a user which in turn used as a certain task in a linux platform. The ISSN: 2231-5381 http://www.ijettjournal.org Fig. 2 Complete software approach Page 4082 International Journal of Engineering Trends and Technology (IJETT) – Volume 4 Issue 9- Sep 2013 3. RESULTS Radio Eng. and Assn.ComputingMach. This article started the field of computer image processing. As mentioned earlier, the application i.e., Real time object detection has to be developed on the MINI 2440 board. The application tests the successful operation of the proposed approach and produces the required results. The object detection system is characterized by how accurately it can classify data and how many image frames it can process per second. The proposed system can maintain minimum 24FPS. A minimum performance of 24 frames per second is enough for real time video processing. 4. CONCLUSION [6] Edgar Osuna, Robert Freund, and Federico Girosi. Training support vector machines: an application to face detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 1997. [7] F Porikli and O Tuzel, ―Human body tracking by Adaptive background models and mean-shift Analysis, IEEE Int. W. on Performance Evaluation of Tracking and Surveillance, 2003. The proposed system Real-Time Object Detection has been successfully implemented on ARM9. It has been developed by integrating features of all the hardware components and software used. Presence of every module has been reasoned out and placed carefully thus contributing to the best working of the unit. Secondly, using highly advanced ARM9 board and with the help of growing technology the system has been successfully implemented. 5. FUTURE WORK Right now we are recording the objects from any location by using webcam and we are monitoring the recorded information on touch screen display unit only. In future we can monitor the information on internet and maintain the database in the MINI 2440 board itself. At present we are implementing this project by using MINI 2440 board. In future we can implement the same project by using high speed processors like ARM Cortex which speed is 150 times faster than ARM9 board. REFERENCES [1] B. Heisele, T. Serre, S. Prentice and T. Poggio “Hierarchical Classification and Feature Reduction for Fast Face Detection with Support Vector Machines” pattern Recognition, vol. 36, no.9, pp. 2007-2017, 2003. [2] “A Parallel Hardware Architecture for Real time Object detection with Support Vector Machines” Christos Kyrkou, IEEE Transactions on computers, vol.61, no.6, June-2012. [3] “ARM Processor Instructions Set Architecture” Arm.com Archived from the original on 15 April 2009. Retrieved 18 April 2009. [4] Russ, John C.(1995), THE IMAGE PROCESSING HANDBOOK, 2nd ed., CRC Press. *IT* [5] Kirsch,R.A., L. Cahn, C. Ray, G.H. Urban," Experiments in processing pictorial information with a digital computer", Proc.Eastern Joint Computer Conf., Dec. 9-13, 1957, Inst. ISSN: 2231-5381 http://www.ijettjournal.org Page 4083