机器之心原创,参与:思、孙茜茜。
「人在家中坐,违章天上来。」近日,格力董明珠「董小姐」在宁波「被闯红灯」。
「红灯停、绿灯行、遇到黄灯等一等。」
虽然从小就被教育遵守交通规则,但「中国式过马路」的行为仍旧频发、且屡禁不止。
为了规范大家文明过马路,不少城市(深圳、天津、 莆田、新疆库尔勒、广州……)上线了「行人闯红灯曝光台」。顾名思义,闯红灯的行人会被曝光在大屏幕上。
近日,网上流出的一张照片显示:董明珠的照片也出现在了宁波的「行人闯红灯曝光台」上!旁边还展示了她是在何地闯红灯的。
然而,细看照片后却发现:斑马线上并没有人。再仔细看看,原来是该系统把大巴车体上的董明珠广告当成了真人。
这一乌龙事件引起了网友的热议,小编朋友圈有众多 AI 社区人员转发讨论,在新浪微博上搜索「董明珠」,微博已经会自动给你推送「董明珠 闯红灯」的词条了。
有网友调侃,「之后估计李小龙也被显示闯红灯了」。
如何避免「被闯红灯」现象的再次发生?机器之心采访了多家计算机视觉公司,试图了解「行人闯红灯曝光台」背后的技术机制,并寻找解题之道。
背后的技术与难题
从曝光图看来,模型主要会用 SSD 或 YOLO 等目标检测算法预测人脸检测框,并根据检测框截取人脸图像,最后通过计算人脸图像相似性而判断闯红灯者的身份。虽然过程并不复杂,但还有非常多未解决的问题,在这个案例中,活体检测就成为了重要的缺失环节。
对于曝光平台主要采用的技术,云从科技研究院副院长周翔表示,整体流程可以分为「同步红灯时间——抓拍人脸——后台或前端实时比对——实时发布或人工审核」;其中,同步红灯时间会比较简单,抓取人脸也是比较常见的技术,但既然需要投入到生产中,那么模型大小、稳定性和响应延迟等都需要特殊的设计。
武汉神目总经理黄瑞表示,这一场景主要是抓拍闯红灯的行人,「立一个人像卡口与交通信号灯互动和机动车闯红灯有点类似,不同只是:一个抓人,抓脸与库里人员 1:N 匹配核实真实身份;一个抓车抓车牌,与库里核对得出机动车真实身份。」不过,即使是同样的技术应用到行人与车牌,多彩多样的行人抓取也艰难得多。
尽管闯红灯曝光流程很简洁,在 GitHub 上调用一些预训练实时检测模型就能完成主体功能,但若想减少甚至避免「董明珠闯红灯」这样的误差,还有很多优化的方面。
周翔说,出现这种情况的原因主要有:「(1)底库没有董小姐,所以自动选择最相似的人进行显示;(2)算法没有加入活体检测,在这个距离上目前要判断活体难度还是比较大的;(3)广告当真人的现象目前看来比较正常,这是实际落地的一个妥协方案。」
深瞐科技 CTO 王建辉持相同的态度,他表示:「该事件只能说明该平台的人脸检测算法性能还挺好,但是在产品设计过程中没有考虑广告牌等异常情况的处理,另外反映的是抓拍算法并没有做活体检测,仅仅做的人脸检测。技术难点是在非配合情况下如何做活体检测。」
对于这种行人闯红灯,难点确实在于非配合情况下的活体检测,澎思科技首席研究员 Robert Lorenz 说:「这个案例在红灯状态下只要能捕捉到人脸就判断为闯红灯,缺少了人及动作的判断。难点是人+动作的检测,即抓拍人脸来自于「活体」人且有闯红灯行走的动作。」
不过,黄瑞认为这件事不能算「误判」,类似的事件全国各地每天都在发生。「按照抓拍机目前在国内市场的一般要求,就是只做动态图像识别,不做活体识别。」在他看来,抓拍机和门禁等不一样,判断活体不是刚需。
解决方案
这些都还是比较明显和大方向上的难题,那么,针对这些难题,又有什么样的解决方案呢?我们能不能不只检测人脸,转而检测人的整个身体及动作来判断是不是闯红灯?