Tiếng Việt     English


In this case study, we develop a software application that performs object recognition and tracking in video footages. This technique is also known as “computer vision”. Its key functionalities include:

  • Receiving video streams from IP cameras, detecting vehicles and tracking their movement to judge if they violate traffic laws (e.g. red light crossing)
  • Automatic number plate recognition (ANPR): uses optical character recognition on camera images to automatically read vehicle registration plates.
  • Video storage and retrieval: video from RTSP streams (IP camera) will be recorded and/or re-streamed to other clients over protocols HLS, MPEG-DASH… It can also include a transcoding process (decoding/scaling/encoding).

Key techniques implemented in this system are image processing, machine learning, and video recording/streaming:

  • Algorithms: Object Detection (Background Subtraction, HAAR, HOG, CNN), Multiple Objects Tracking (Hungarian, Kalman Filter, Optical Flow), Object Recognition/ Classification (SVM, Neural Networks)...
  • Libraries/Frameworks: FFmpeg, OpenCV, Tesseract-Ocr, Dlib, Caffe, TensorFlow…
  • Video communication protocols: RTSP, ONVIF, HLS, MPEG-DASH, WebRTC…

The video processing backend is developed in C/C++ on Linux, while the front-end application is developed based on JavaScript/PHP/MySQL.

Beside traffic management, these techniques can also be employed on other application domains, such as unmanned vehicles, smart security camera, people recognition, etc.



Picture. Vehicle tracking and license plate recognition