Object Tracking - Proof of Concept

A few days ago I posted some videos of my object tracking algorithm, and some folks were curious how well it would perform if the object left the frame. Since posting I have hit kind of a breakthrough in the algorithm and it is working much better than I had ever expected. I am still fine tuning some of the sensitivities, but I added some neat features.

  1. Now you get a white box when you click and drag to define the target.
  2. There is an adjustable accuracy threshold. If one finds that the target will not re-aquire, one can reduce the accuracy (demonstrated in the video above)
  3. New improved multi-threading (under the covers)

I am working on both Mission Planner integration and, for those who want to use this for auto antenna tracking or camera tracking from the ground, Pololu Micro Maestro integration. As you can see in the video above, the software is able to re-aquire the target when it leaves the frame or gets confused. This is thanks to the constant learning of that objects features as it changes shape or orientation over time.

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Hey, any more updates on publishing the source code? +1

  • Hey, any more updates on publishing the source code? 

  • Developer

    Not sure if anyone is still following this thread, but I have just finished the PID controller to handle the output to X, Y servos via a Pololu Maestro board. It is tunable of course.... I am having some problems with the Pololu SDK. I am trying to use their setTarget method, but it is producing unexpected results with my 360 degree servos.

  • Developer

    @Pete: The source has not been made public yet. I am working on polishing some things up before making it available.

  • Developer

    Have you published the source code ?

  • This is awesome !

    Keep up the great work!
    This may be a good excuse to upgrade my GCS hardware to!!
  • Developer

    Amilcar: Thanks. I have been looking at the MavLink protocol closely to implement this properly. This is not PhD work, but if someone wants to give me a PhD, I'll take it! :-) . I am a software engineer by trade. I mainly write .NET applications, but I have worked with Objective C, Java, and many other languages.

  • This is pretty cool.

    We now have a method to control a model mounted camera via MavLink. So your code can control the camera movements on the model.


    Good luck with the implementation. It's you PhD. work right ?


  • Developer

    Also, Forgot to add the coming enhancements.

    1. Pseudo-velocity tracking to help improve accuracy. EX: All of a sudden the object stops after moving very quickly, most likely we are tracking the wrong object now
    2. Continuous background validation of object


This reply was deleted.