News for hackers. Stuff that matters.

pablocp

One of the biggest problems we find on most computer vision libraries is the fact that a lot of knowledge in the area is required to use them properly. We think the complex APIs that are exposed to developers that try to make CV apps can be the reason why we still don't see many apps exploring the potential of CV. So tracking.js was created with the goal of being as powerful as the best CV libraries, but without exposing the inherent complexity of the area to the developers that wish to use it. From what I saw of jsfeat, it looks very powerful, but targeted for people that have some knowledge of CV.
We are currently working on a pose-estimation algorithm (EPnP) that will use the results we get from feature detection to find a camera pose, so we can make 3D augmentation. It will be very helpful to create augmented reality applications.
Thanks for this great help, apu! A new issue was created on github (https://github.com/eduardolundgren/tracking.js/issues/88) to register the suggestions =)
That's really good to hear! The face tracker was one of the first modules to be implemented on tracking.js and, back then, we found Viola-Jones to be the most promising algorithm to make face detection (besides being the one used by our main reference, OpenCV). The whole library was refactored for this release, but we didn't change the algorithm and perhaps it is already out of date. We would be grateful if you could help us by sending papers about better algorithms (and reference implementations?).
Face detection still being an open problem in computer vision area. While very good algorithms exist, they still fail on some cases or are not fast enough to run in real time. Our implementation is based on Viola-Jones algorithm, one of the most used algorithms for this problem (and also used by OpenCV). This algorithm can be used to track several types of objects just by changing the training data that is used as input. For the face detector, we used training data generated by OpenCV, but we don't know which faces were used to generate it. Perhaps this issue is a matter of changing the training data, or maybe this is a case where the algorithm is not robust enough to handle. We hope we can fix this problem soon, but we still don't know how (suggestions and contributions are appreciated ^.^)
tracking.js is a new library that intends to bring the power of computer vision to the Web. OpenCV is far older and is a inspiration for our team regarding the number of available algorithms, robustness and speed. With the increasing power of JavaScript engines, we believe that we can achieve very good results using current state-of-the-art algorithms and low-level optimizations, so real-time CV applications can also be done on the Web. Currently tracking.js don't have as many algorithms as OpenCV, but we are making our best efforts to bring useful algorithms to the library while still keeping the API easy to use and to extend, so we can count on the community to help us to make this project a success.