AI Car 第二次展示报告
实现的功能
功能介绍
目标跟踪算法
理论基础
我们的算法是基于光流法的。
光流法是一种图像中物体运动的表达方式,即目标、场景或者摄像机的运动或者任意两者的运动所导致的两帧图像之间目标的运动。其运动的判定方法是判断两张图里面相似像素数据的时域和相关性等来获取图片中的运动关系。想要让这个方法可用,需要在亮度、时间与空间这三方面满足条件,具体而言:
- 亮度:相邻两帧像素强度不发生变化或者变化较少,这个前提是为了保证算法能够识别出相邻两帧图片中相同物体的像素
- 时间:相邻两帧之间时间较短,这个前提是为了使得物体运动变化较小,因为相同像素的识别是基于一定是时域与空间的,并且也能适当减少亮度的变化
- 空间:相邻像素具有相似运动,这个前提是为了使得算法能够找出物体的整体运动方向,对相邻空间的像素点运动方向进行一个聚合操作。
在目标检测中,光流法假设图像中的每个像素点都有一个速度矢量,于是就形成一个运动矢量场,在某一特定时刻,图像上的点就与实际物体上的店一一对应,根据这些速度矢量特征,可以对其进行运动检测。若图中没有运动目标,那么光流矢量在整个图像区域中的变化是连续的,但有运动物体存在时,目标和背景中就有着相对运动,这两者的矢量运动方向必然存在着不同,由此就可以检测出运动物体的对应像素,从而得出运动物体识别结果。
算法实现
本算法实现是基于论文Two-Frame Motion Estimation Based on Polynomial Expansion,具体描述如下:
对于每一张图片,都能用如下公式将其表示出来:
[图片上传失败...(image-791a16-1514163523826)]=x{T}A_{1}x+b_{1}{T}x+c_{1})
同理,对于下一帧图片,我们假设其函数表达式不变,只是其中每个像素点发生了位移,那么就得到下式:
其中的各项系数均是可以直接从图片信息中计算出来的,对于权重,使用常用的机器学习中的梯度下降法等就可以将其求出来。
实现效果
[视频地址](https://github.com/KunlinY/AICar/tree/master/2 %20Presentation)
未来展望
- 实现语音识别功能
- 实现自动化识别物体功能
网友评论