Chrome 开始集成图形识别 API(Shape Detection API)

  • Miguel Casas-Sanchez
  • 谈浩

2017 年 3 月 12 日

话题:Chrome语言 & 开发架构

最近,Chrome 团队尝试在 Chrome 中集成了一套与图形识别相关的 API,使得图形识别这种以前只在原生应用中存在,或者在浏览器上,要借助其他难用的外部库才能实现的功能,现在只要少量代码即可实现。这些 API 包括人脸识别条形码 / 二维码识别文本识别,基本上覆盖了当前互联网应用的大部分场景。

现状

图形识别这种对系统资源和设备的计算能力要求颇高的功能,通常只有底层的原生 API 能驾驭,流行的框架主要是开源的Open CV和各大移动平台的图形识别服务:

而 Chrome 的这些 API,当前还处于实验阶段,集成在Chrome Canary版本中,特别是Android 版更新较快。使用前还需要通过把“实验性网络平台功能”chrome://flags/#enable-experimental-web-platform-features设置为Enable来激活。

激活后,在 Console 控制台输入以下 JavaScript 代码,就能验证你的浏览器是否支持相应的 API 了:

  • window.FaceDetector
  • window.BarcodeDetector
  • window.TextDetector

如果支持,就会返回如function FaceDetector() { [native code] }的信息。

Chrome Canary 是 Chrome 的一条与其他项目并行的实验性分支,是许多前卫激进的特性的试验场,而且迭代很快,有时甚至是每日一更新,所以不出所料,也不太稳定。和其他 Chrome 版本一样,也可以在Chrome Release Channels上下载。

从现在公布的信息来看,以下这些场景可能得以轻松实现:

  1. 人脸识别:
    • 自动框选你家庭聚会照片里的亲戚朋友们,然后你就可以给每个人都贴标签了,不用自己逐个框选。
    • 在社交网站上注册的时候,你上传了一张照片,浏览器可以帮你裁剪好最佳尺寸。
  2. 条形码识别:
    • 识别网页中的条形码 / 二维码,并作相应的动作,比如链接跳转,支付等等。
  3. 文本识别:
    • OCR
    • 配合语音接口,朗读图片中的文字

除此之外,开发者大可以尽情发挥想象,创造更多独一无二有趣的应用。

社区反映

图形识别虽然是刚需,但自去年底公布消息以来,可能是由于这些 API 尚处于实验阶段,尚待打磨,在开发社区内还未形成大范围的讨论,目前能收集到的主要是以下资料供开发者参考。

不过正因为进化迅速,这套图形识别 API 从去年的 M57 版本发展至今,已经发生了不小的变化,也许在不久的将来,就会合并到稳定版中,真正为广大开发者所用,构建更多有趣的应用。


感谢韩婷对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

Chrome语言 & 开发架构