Implementation of License Plate Detection Algorithm on TriMedia Multimedia Processor

Our goals were learning the TriMedia multimedia processor device, implement a known algorithm using TriMedia C programming tools and test the device’s performance.

Introduction
Our goals were learning the TriMedia multimedia processor device, implement a known algorithm using TriMedia C programming tools and test the device’s performance.

Abstract
In the first part of the project we learned the processor’s architecture and capabilities, checked its performance and studied its C programming tools. The example programs supplied with TriMedia were studied one by one and used later as basis for the programs developed by us.
In the second part of the project we the implemented a given license plate detection algorithm. The purpose of this part was to test the TriMedia’s performance on practice. The mentioned algorithm was designed by another students group and implemented in MATLAB on a standard PC. We converted this algorithm to C code using the TriMedia programming tools and executed it on a TriMedia evaluation board. The objective was to compare PC performance with TriMedia performance and to determine which device is preferred for DSP algorithms implementation.

The hardware
A MDS TriMedia evaluation board was used:
1
This board includes besides the TriMedia chip all needed interface devices such as video-in and video-out modules.

The algorithm
The implemented algorithm was to investigate each frame of a video input and find the coordinates of any license plate that may appear in the frame. This is done by first finding yellow regions in the frame (representing the background of Israeli license plates), saving those in a separate buffer as a binary image which shows only the yellow areas as white pixels and the rest as black, then locating the edges of such regions. An weighted edge detection filter matched to this specific job and the Hough transform are used for this investigation/

Implementation
We used the special C libraries for TriMedia device as basis for our code (only few functions of the special C libraries were needed for our purposes, mainly for handling the video capture, conversion and output).
In general the video input is captured and stored in a buffer and then passed from the buffer to the video output. We developed and added the code that uses the above algorithm to process the data in the buffer and alter each processed frame so that coordinates of possible license plates are marked clearly in addition to the original picture.

Results
The license plate detection was successful. We have executed the program on the large number of prerecorded video streams, showing passing and stopping cars as they enter the Technion Campus. The majority of license plates of cars in the videos where recognized correctly. The exceptions were various special cases such as yellow colored cars.
In terms of real time processing we have received only partly satisfying results: The processing time exceeds the time available between the frames, so not all frames are processed, on the other hand only about 10% of all captured frames are needed for our purpose.
In order to add features like digit recognition of the license plate, the code will have to be improved, possibly by assembly encoding.

Acklowledgments
We would like to express our gratitude to the Ollendorff Minerva Center for supporting this project, to Philips Semiconductors for supplying us the MDS TriMedia evaluation board and software tools and to all the people who helped us throughout the work.