- From: Rob Manson <roBman@mob-labs.com>
- Date: Mon, 4 Jun 2012 09:56:54 +1000
- To: public-media-capture@w3.org
I think having the UA do recognition for things with standardised libs (e.g. barcodes and qrcodes) is interesting and a good opportunity for optimisation. As long as it's not solely limited to a UA centric model. Recognition of other things like faces, natural feature bundles (images) and even 3D objects/scenes are all really fluid domains with constantly changing and improving libraries. I also wonder, if we have these 2 options (permissions for the script/author and permissions for the UA) will this create a more confusing permissions UX for the end user? roBman On Sun, 03 Jun 2012 11:47:08 -0700 Charles Pritchard <chuck@jumis.com> wrote: > On 6/1/2012 3:14 PM, SULLIVAN, BRYAN L wrote: > > I have some additional requirements from the Barcode Scanning use > > case that has been discussed recently on the DAP and Sysapps lists. > > > > (suggested new section in > > http://dvcs.w3.org/hg/dap/raw-file/tip/media-stream-capture/scenarios.html) > > > > 2.7 Barcode scanning > > Users discover and access barcodes in many different contexts, e.g. > > product packages, print media, posters, and billboards. Because > > code interpretation in all these contexts depends upon capturing of > > a usable image, the camera access API needs to enable the Webapp or > > user to select options that will enhance the quality of the image. > > I'd like to see detection of barcodes discussed as a Pre-processing > (section 5.5) scenario: "Pre-processing scenarios will require the > UAs to provide an implementation". > > The pseudo-code following example fits well with pre-processing while > avoiding the requirement of a camera controller API. > > Sample events: > {type: face, confidence: .6 } > {type: barcode, confidence: .9 } > {type: gesture, confidence, .5 } > > Work-flow: > > navigator.getUserMedia({video: true, recognition: true}, doVideo) > doVideo().onrecognition(e) { > if(e.type == 'barcode') { > copyVideoFrame(e.mediaStream); > navigator.recognize(e, {autofocus: true, timeout: 2000, network: > false}); > } > } > > Technical requirements: > > 1. Power efficiency for mobile devices: > By having the UA do basic recognition, we save a lot of cycles in the > scripting environment. (see also 5.6.2; performance) > The author can save additional cycles by turning recognition off when > it's not needed. > > 2. Control over side effects: > Instead of the UA granting the author permission to do things like > zoom and turn on a light, the author grants those permissions to the > UA. > > 2a. autofocus would cover all available means the device has to > better recognize the event type (light, zoom, focus, etc); > 2b. timeout limits how long the UA has control of the device and/or > the time it has to complete enhanced recognition. > 2c. network limits the implementation from sending data over the > network to recognition servers. (see also 5.1.1; privacy). > > > Draft scenario: > > Point out a barcode. > > Alice brings a print-out to a kiosk, the print-out contains 2d bar > codes next to each product. > She wants to learn more about a particular product and so she simply > points at the product. > > Recognition identifies her, her gesture and the barcodes on the page; > scripting processes the barcode closest to her finger. > > -Charles >
Received on Sunday, 3 June 2012 23:57:23 UTC