Kalman Tracking for Image Processing Applications
Download
Report
Transcript Kalman Tracking for Image Processing Applications
Kalman Tracking for Image Processing
Applications
Student:
Julius Oyeleke
Supervisor: Dr Martin Glavin
Co-Supervisor: Dr Fearghal Morgan
Objective of Project
1. To track a red ball over a frame of video
2. Image Thresholding
3. Find the centre point of the ball
4. The use of Kalman filtering to
•
•
track the red ball in the image.
predict the path of the ball in future as an aid of detection.
5. Display with Overlay
OpenCV (computer vision library) is being used in this project
Why OpenCV
Real time computer vision.
Provides powerful function to assist in object
identification, motion tracking etc.
Virtually assist in any image processing
application.
C-based program computer vision repository.
Step1: Image Acquiring
commission the OpenCV system to load
frames of video into memory.
IplImage* img = cvLoadImage( argv[1] );
//determines the file format to be loaded based on the file
name
cvNamedWindow(“C:/Users/julius/Desktop/FYP/redblue.bmp);
// opens a window on the screen that can contain and display
an image
cvShowImage( “redblue.bmp”, img );
// show a named window that already exist
Step1: Problem & Solution
Problem:
• Commissioning OpenCV to read images
• Installation of OpenCV 2.0
Solution:
• Uninstall OpenCV 2.0
• Install OpenCV 1.0
Step2: Image Thresholding
convert the RGB frames to the HSV format.
//Create gray image
cvCvtColor(src,gray,CV_BGR2GRAY);
RGB
RGB
HSV
HSV
RGB
threshold the HSV to identify the region of interest.
cvThreshold(gray,gray,150,255,CV_THRESH_BINARY);
//Threshold to make the gray black
RGB
HSV
Threshold
RGB
output to screen
Step2: Problems & Solutions
Problems:
• Circle Detection with OpenCV 1.0
• OpenCV 1.0 takes hue value to be 0-255
Solutions:
• Uninstall OpenCV 1.0
• Install OpenCV 2.0
• In OpenCV 2.0 hue value is 0-180 (works better for the red colour detection)
• OpenCV 2.0 has a better algorithm for circle detection.
C-make
• C-make helped in compiling OpenCV from the source code
• OpenCV 2.0 needs different files for different versions of
studio.
• One will need to complete visual studio 2008 for OpenCV 2.0
Example 1:
Example2
Step3: Centre Point detection
Finding the centre point of the red ball
•
Hough transform
Step4: Implementation of the Kalman
Filtering
Kalman TrackingPredicting the
path of the Red
ball
Centre point& predicted values
Step4: Problems & Solutions
Problems:
• Kalman not tracking & predicting properly
• OpenCV only has a 1-D example
• Program Crashed at the line
CvKalmanCorrect( Kalman, z_k ); // Correct Kalman filter state
Solutions:
• 2-D was needed for this project
• I added "if (circles->total > 0)
Step5: Display with Overlay
Displaying
with overlay
Conclusions
• Project was hampered by issues, most of which
were overcome.
• Ambitious goal of the project was fully fulfilled
• Further work would lead to a complete solution