科技一周~The Age of AI
作者 硅谷寒 | 2014-08-03 15:54 | 类型 硅谷科技周报 | Comments Off
系列目录 科技一周
科技一周~The Age of AI 2014/08/02 下一个时代是什么?我想,那不会是最好的时代,也不是最坏的时代,只是个平凡的,历史早已注定的时代:人工智能。 2011年初春,午后阳光暂时偷走了硅谷里的料峭寒意,在山景城(Mountain View)的临街转角处,渐渐多起了行人,以及她们的低眉细语。我正坐在一间叫做Red Rock的咖啡馆里,却忽然看到一个机器人进来,径直走到前台,点了一块蛋糕。当咖啡师(Barista)故意询问它,“是在店内吃呢,还是带走?”,全屋子的人们都笑了出来。毫无疑问,机器人自然是要把蛋糕带回去给主人吃的。
本周来聊一下在机器人设计中几乎必备的一项技术:目标跟踪(Object Tracking)。在上文中提到的两个机器人,都离不开这项技术,比如,JIBO通过内嵌的可以360度旋转的摄像头来捕捉并跟踪家庭成员的面容,然后根据脸部分析,拍下一张最好的全家福照片。那么JIBO是如何做到跟踪人脸呢?当然,第一步是要先识别出来人脸,关于识别的技术有待以后再讲。今天要讲的是识别出来之后的跟踪技术。 相对于识别技术,跟踪技术并不是在单一图像上实现的,而是利用了连续的多帧图像。可以说,如果图像识别是个二维技术,那么目标跟踪则是个三维(多了个时间上的维度)技术。当机器人在当前帧上识别出来某个物体后,那么它需要在下一帧里快速的“跟踪”上这个物体,并不需要重新分析整个下一帧图像(因为如果重新分析的话,那么速度就太慢了,达不到实时的效果)。在目标跟踪技术里,一个很关键的算法是运动估计(Motion Estimation),越快速地估计出下一帧里的运动方向,则可以越快速的跟踪上目标。 运动估计的算法有很多种,其本质上是一种搜索算法。在当前的硬件设计里,最常用的是基于块匹配的递归搜索算法:3D recursive search block matching[3]。这个算法是利用当前帧的运动向量值,在下一帧的几个备选向量里,搜索出来最匹配的像素块,从而确定下一帧的运动向量。这种算法在最初的几帧里,并不能找到真正的运动向量,但由于它的递归迭代性,当经过十几帧之后,估计的运动向量就会收敛到真正的向量值。通常,摄像头采集的频率在30~60Hz,也就是说,该算法可以在0.25秒~0.5秒的时间里跟踪上目标物体。这样的跟踪速度,基本上可以满足家庭的需要了。
[1]. JIBO, the world’s first family robot, https://www.indiegogo.com/projects/jibo-the-world-s-first-family-robot , July 2014. [2]. Brandon Griggs, Hitchhiking robot is halfway across Canada, http://www.cnn.com/2014/08/01/tech/social-media/hitchhiking-robot-hitchbot/, July 2014. [3]. G. de Haan, P. W. A. C. Biezen, H. Huijgen, and O. A.Ojo, “True-motion estimation with 3-D recursive search block matching,” IEEE Trans. Circuits Syst. Video Tech., vol. 3, no. 5, pp. 368-379, Oct. 1993. 图2. [1]. | |