Outsourcing OpenCV image recognition projects (Elance vs Freelancer.com vs Upwork)

OpenCV Face Detection/Tracking Test Project User interface mockup

Upwork (formerly ODesk), Elance and Freelancer.com provide on-demand access to more to more than 1 million technical workers – but how good are they for outsourcing OpenCV computer vision projects? And if they work, on which portal to do you find the best OpenCV experts? This review gives some hints.

As test project I created a specification for an OpenCV based Face (and  Eye, Nose, Mouth) Tracking Demo App - to be done inside Windows Visual Studio. Then I posted the request on the three major outsourcing portals.

The OpenCV Project Specification

From the specification:

We are looking for a demo project to test how useful OpenCV 3.0 image recognition is for our purpose. 

This prototype is for face TRACKING only (no face recognition required). It should find and track any face in the camera. If there are multiple faces, it is ok to detect one only. […]

Algorithm: Please use only OpenCV “out of the box” algorithm for this project and use the latest OpenCV version V3.0. The purpose of the project is to see how good it is. From what I know, a good starting point is this following text about HAAR cascades. __The project should be delivered as C# (Net 4.5) Visual Studio project with all required files and compile without warnings. Please comment your code well.
Operating system: Since this is only a demo app the requirements are easy. The app must only work on on Windows 7 and higher .

The Elance vs Freelancer.com vs ODesk for OpenCV result

Immediately after posting the project on all three outsourcing portals the first bids came in. Here is the result after seven days.

OpenCV Outsourcing Elance Freelancer Upwork
Bids, total 19 18 13
Qualified Bids 6 8 3
Price Range $35-$547 $30-$526 $111-$400

We received qualified bids on all three portals. As I want to be objective, my definition of a qualified bid” is a bid of someone who as completed at least one 4-5 star rated project. The justification for this criteria is simply that a successful freelancer knows what he (no she placed a bid) is doing.

Conclusion

Elance, ODesk and Freelancer work all equally well for outsourcing OpenCV projects. I received qualified bids on every portal. Subjectively I would say that about half the formally qualified developers were actually truly knowledgeable about OpenCV. While this cuts down the numbers by half, the result is still ok. After all, all you need for a successful project (of this size) is one truly qualified developer.

So who did I pick? I selected a freelancer on Upwork with a bid of $250.00.

So how good was the delivered result? I think it was great. It was exactly what I had in mind. The project was completed on time and on budget. But see for yourself, the complete project is available as open source OpenCV tutorial:

“Take away”: The OpenCV based Face, Eye, Nose and Mouth Tracking Demo

The project was created in C# with a WPF UI. It uses the latest beta version of Emgu CV to connect to OpenCV 3.0 beta.

The Face, Eye, Nose and Mouth Detection windows application in action.

But see for yourself.  The full project source code is available on Github as ready to compile as Visual Studio 2013 project. I put the project under the GPLv3 free software license, hopefully it helps some readers that are looking for an easy-to-use OpenCV face tracking tutorial.

If you just want to see the face tracking application in action, you can download it here:

The application runs on Windows 7 and higher and uses either your webcam(s) or any image file as input. More more details please see the project page on this website:

Have fun with this demo app and OpenCV tutorial!