Looks like more evidence for Atwood's Law: Any application that can be written in JavaScript, will eventually be written in JavaScript.
I have a couple of questions:
1. How does Liu Liu's algorithm (which I think he calls "deformable parts model") compare with Viola-Jones [1]? Any idea what the error stats (false positives & negatives) are like? In my experience [2] Viola-Jones has very low error rates. Regarding performance, I think it'll be a while before anything can come close to Viola-Jones, but this algo seems good enough.
2. Ok, this might be a stupid question, but I'll ask anyway.
Does this plugin mean that face detection can now be completely done on the client side? I use face detection in my web app [2] for passport photo formatting. I'm wondering if instead of uploading the photo (~2-4MB) to the server and processing it there with OpenCV, I can download the plugin to the browser(~0.5MB?) and get everything done right there.
The error rates info is from the webserver's error-log. Its very rare that I see a "No face found" error (false negatives) or get complaints that the formatted photo is all messed up (false positives).
The deformable part based model is pretty much /the/ state-of-the-art object detection model. There is absolutely no way it should be attributed to "Liu Liu". It's creators are Felzenszwalb et al.[1].
The performance of DPMs far surpasses any other basic model such as a Viola Jones syle Haar cascade. Also you should find with DPMs that you are able to detect faces with far higher degrees of deformation - i.e. 3/4 profile faces, rotated faces etc. DPMs are far far more robust than haar cascades but with greater computational expense. Check out the papers at [1].
I was using "Liu Liu's algorithm" in a colloquial way. Should have been more specific and used, "the algorithm which Liu Liu implemented".
As far as robustness is concerned I guess a lot depends on the quality of the training. The haar-caascade used in openCV is very well trained and generates few false +/-'ves. I wanted to know how this particular implementation of DPM performed.
I suspect the developer has only received enough money for 2 beers. Aside from that almost all of us here build you livelihood on-top of open source tools. How much money did your startup give back to the Apache foundation, to the Django or Rails projects?
Seems that way to me, really trivial to be asking for donations and not giving the majority of them to Liu Liu. So sad to see a fellow developer taking someone else's hard work and trying to piggy back off it to make money.
The sheen is the product in this case. Jay took this wonderful obscure code and wrapped it up nice and pretty to share with others. The examples and docs he provides were enough to allow me to use this plugin. That is the value the provides.
I'd like to know how much of the donations he "credits" to Liu Liu. Hate shameless requests for donations on top of very little work without fairly sharing the money!
That is hugely impressive. I just tried it with crowd shots and it worked well. The only issue seemed to be with faces that weren't horizontally aligned.
Would love to read more about the process of moving the algorithm over to jQuery.
I'm not aware of one, no. But the basis of this one was a port from openCV. You could do the same for openCV's face recognition algorithm, but I think it would be quite a bit of work.
I have a couple of questions:
1. How does Liu Liu's algorithm (which I think he calls "deformable parts model") compare with Viola-Jones [1]? Any idea what the error stats (false positives & negatives) are like? In my experience [2] Viola-Jones has very low error rates. Regarding performance, I think it'll be a while before anything can come close to Viola-Jones, but this algo seems good enough.
2. Ok, this might be a stupid question, but I'll ask anyway.
Does this plugin mean that face detection can now be completely done on the client side? I use face detection in my web app [2] for passport photo formatting. I'm wondering if instead of uploading the photo (~2-4MB) to the server and processing it there with OpenCV, I can download the plugin to the browser(~0.5MB?) and get everything done right there.
[1] http://opencv.willowgarage.com/documentation/python/cascade_...
[2] http://freepassportphoto.dyndns.org/
The error rates info is from the webserver's error-log. Its very rare that I see a "No face found" error (false negatives) or get complaints that the formatted photo is all messed up (false positives).