Dissertation
Dissertation > Industrial Technology > Automation technology,computer technology > Automation technology and equipment > Automation systems > Monitoring, alarm,fault diagnosis system

Design and Implementation of Video Monitor with Tracking Moving Objective Based on Embedded System

Author ZhangKe
Tutor YangBin
School Southwest Jiaotong University
Course Computer System Architecture
Keywords Video tracking background extraction MJPEG corner optical flow WMMX
CLC TP277
Type Master's thesis
Year 2010
Downloads 147
Quotes 3
Download Dissertation

With the rapid development of China’s economy and the improvement of people’s life, terrorist attacks at home and abroad and the sudden mines incidents prompted the people’s security and self-protection awareness. Meanwhile, in recent years,computer hardware and software technology, following the rapid development of Moore’s Law, brings about the possibility for the scientificalization, informationization, intelligencilization of the security industry.This article designed a objective tracking system which is based on the Linux operating system and PXA270 embedded microprocessor hardware platform, adopts high-definition IP cameras and cradle head. Through driving the rotation of the cradle head, this design can track and monitor moving objective in complicated conditions and keep objective in the controlling pictures until objective is lost.The paper described this from two aspects:1. Algorithm Analysis and Design:This section mainly completes an efficient separation algorithm for MJPEG images and gives a new background extraction algorithm based on the frame difference algorithm. It adopts separation corner positioned on moving objective to describe moving objective through detailed analysis and study of minimum values of the corner detection algorithm provided by the OpenCV library. Finally the article analyses and studies the LK’s pyramid algorithm in detail, adopts the LK pyramid sparse optical flow algorithm provided by OpenCV library to find the current frame moving target, calculates the location in the current screen of the moving target’center. Then drives the cradle head movement, and makes the target object gradually approximate to the central screen, until the goal of moving objects is lost, and finally stops the movement of the cradle head. The above process of background extraction and objectives calculation will be cycled.2. Porting and Optimizing Existing CodeAs the final execution platform is the PXA270 board developed by 51 Board company and this design takes use of a large number of complex algorithms, which entails the optimization of the code by Wireless MMX technology in order to maximize the performance of the processor. The cross compiler this company provided does not support Wireless MMX instruction set and the operating system is kernel Linux2.4, neither are able to play the best performance.The main part of the completion of two elements1)、Establishing PXA270 platform First I adopt the cross-tool provided by GUN and generate a compiler which is specified for the PXA270 and support Wireless MMX and EABI (The Embedded Application Binary Interface), then I port Linux2.6.28 kernel to the PXA270 board, enable the support of operating system’s floating-point simulator, WMMX technology, FrameBuffer and network. At last, I use the BusyBox to complete my file system, achieving the maximum optimization for the running system on the PXA270.2)、Optimizing OpenCV libraries and codeWireless WMMX technology proposed by Intel uses SIMD instruction set, it can computer at the same time 64-bit, up to 8 units of bytes data. Without WMMX instruction in code, the compiler is not smart to generate automatically assembly instructions supported by WMMX technology. In the code, background extraction, feature point calculation, LK’s optical flow algorithm are consuming a large number of CPU time by matrix, floating-point calculations. I completed the optimization of the OpenCV library and my code after the detailed study of the WMMX Intel instruction set.As the PXA270 processor does not support floating-point instructions, I uses floating-point emulator provided by the Linux kernel. The efficient of process executed in PXA270 can not compare with in x86 processor with support for floating-point instruction. With collecting 640*480 images in the PXA270 platform I complete the design at about 5 FPS in the processing performance after decrease of the image size in the internal processing procedures.

Related Dissertations
More Dissertations