Object Tracking using SIFT on Autonomous Vehicle

Project Design

  • Raspberry Pi 2 as computational unit on Vehicle.
  • Computation of SIFT is done on NOTEBOOK. (Will be moved to FPGA for hardware acceleration in computation.)
  • A D-Link AP will be the central of the network connection between Raspberry Pi 2, Notebook and FPGA.

Object Tracking

Method 1
  • Matching Box must be at the center of screen.
  • If box perimeter between frames has large difference, object missing!
  • Perimeter of box determines distance of object
Method 2
  • Mean Shift algorithm
  • Perimeter of bounding box is obtained by finding the pseudo-hypotenuse of the 2 points.
  • Bias is the location of a single corner of the bounding box.
  • There’ll be a total of 4 Bias which represents 4 corners of the bounding box.
  • If the current bias and the previous bias has a large gap, this infers that there’s a huge change of the bounding box which should not happen.
  • We designed a pipeline with a FIFO queue with the x-axis location of the 4 corners in the queue.
  • On every iteration of SIFT, the delta between the location of x-axis of the corners will be computed 2-by-2 as displayed in the figure below.
  • The larger the accumulated sum of difference, the more unlikely it is to be a stable or valid bounding box.
  • We can always increase the level of pipeline for better performance but with a trade-off of longer cold start time.


  • Bad video streaming latency
    •  used mjpeg_streamer
  • Car can’t accelerate when keyboard pressed continuously.
    •  Packet size didn’t match.
    • Clear stdin buffer for every getch()

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s