Re: [w3ctag/design-reviews] WICG Shape Detection API (#176)

@cynthia thanks for taking the time to review the spec.

Re. the concern for platform-specificity, it is true that the Spec mechanics look like the [GMSCore vision](https://developers.google.com/vision/) but that's just because it's an example of a broader and older API, implemented also by e.g. the [Android AOSP](https://developer.android.com/reference/android/media/FaceDetector.html), [Mac](https://developer.apple.com/reference/coreimage/cifacefeature?language=objc) and [Windows 10](https://docs.microsoft.com/en-us/uwp/api/Windows.Media.FaceAnalysis.FaceDetector).  AOSP in particular has an implementation based on an open-source [Neven detector](https://android.googlesource.com/platform/external/neven) dating from ~2008.  All these APIs work in similar ways and return remarkably similar results because they are based on the work on Haar cascade classifiers for object detection which has been in, e.g. OpenCV, since at least the 2000s; there are reasons to believe that hardware ISP manufacturers use similar cascade techniques for e.g. handheld and smartphone cameras also for at least 10y+.  In JS-land, there are several alternatives providing face detection using the same underlying classifiers, see the comparison [here](https://github.com/mtschirs/js-objectdetect#performance) (spoiler: they are much slower than the OS/Hw versions). 

IOW, leaving the performance argument aside, there are plenty of nearly indistinguishable implementations.  This makes it possible to provide polyfills that should make unnecessary to integrate e.g. OpenCV in the browser. As a matter of fact, I started the polyfill effort and finished the [barcode/qrcode part](https://github.com/yellowdoge/shapedetection-polyfill).

The same arguments would apply to the barcode/qr code and text detection: well known and established methods, widely implemented in a variety of open source libraries, and made available to native Apps by the OS due to performance.  Here we're just offering them to the Web.

Note that the three detectors currently detailed have been chosen because of its widespread support (several different implementations/OSes) and clear use cases, which precludes wholesale bringing of any detector, e.g. [cat detectors](http://www.pyimagesearch.com/2016/06/20/detecting-cats-in-images-with-opencv/), to the web.


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3ctag/design-reviews/issues/176#issuecomment-304092169

Received on Thursday, 25 May 2017 18:51:18 UTC