基于双目视觉的客流统计系统报告人:过嗣聪报告时间:2016年9月xx日概述•双目立体视觉介绍•立体匹配算法•目标检测与跟踪•总结双目立体视觉介绍什么是立体视觉•立体视觉是利用两个及以上的相机来测量物体深度的技术•属于计算机视觉的一种•实时性和硬件平台实现是其研究重点之一普通相机(单目)•左图是相机成像的简化模型•P、Q是视场中不同的两点,但他们在图像上的投影确相同𝑓𝜋:图像平面O:光心(透镜中心)f:焦距双目相机如果能找到两幅图像上的对应点(对应空间中同一点),那么根据三角几何关系,就能计算出该点的深度左目图像右目图像如何找出对应点二维搜索计算量十分巨大,而且很难找到全局最优解事实上,对应点必定出现在对应的极线。极线约束条件右目图像左目图像绿色实线表示右目图像的一条极线,即红色虚线上的点在右图上的投影。极线约束指出,红色虚线在左图上的投影必定出现在右图对应的极线上。标准形式的双目相机为了方便计算,我们会把两幅图像矫正成标准形式——图像的扫描行就是极线,并且焦距保持一致。也就是说,我们只需在图像的扫描行上搜索对应点即可。左目图像右目图像矫正前矫正后视差:𝑑=𝑋𝑅-𝑋𝑇𝑝𝑝′=𝐵−𝑑𝑝𝑝′𝐵=𝑍−𝑓𝑍𝑍=𝐵𝑓𝑑视差和深度计算左图(参考图)右图(目标图)视差图容易看出,物体越近,视差越大,对应视差图中越亮的部分ZdO代表距离的平面分布并不均匀,随着距离的增加,精度会急剧下降。但在公交客流统计中,检测深度一般不会超过3米,可以达到精度要求。空间被分解成一个个离散的平面,代表不同距离,对应不同的视差。双目视觉系统一般流程目的是计算出摄像头的内部参数和外部参数•内部参数:焦距,图像主点位置,镜头失真参数•外部参数:平移矩阵T、旋转矩阵R相机标定(离线)矫正前矫正后图像矫正目的是有二:•去除镜头的桶形失真•使得图像对变成标准形式,即行对准•立体匹配的目的就是找到图像对之间的匹配点,进而得到视差立体匹配•到此,我们获得了视差图,基线b,焦距f,深度计算公式。在结合三角几何公式,就能计算所有图像点在三维空间中的位置(X,Y,Z)深度图计算立体匹配算法立体匹配算法•局部匹配:速度较快,精度不高•全局匹配:速度较慢,精度较高立体匹配算法ScharsteinandSzeliski指出立体匹配算法通常包含以下4个步骤(或其中的几个):•匹配代价计算•代价积累•视差计算/优化•视差提精局部匹配算法:1-2-3(直接用WTA求解)全局匹配算法:1-3(全局或半全局优化后再用WTA求解)匹配代价计算匹配代价是指基准图像(左图)上一点p与目标图像(右图)上可能的匹配点q的相似性度量:𝐶𝑝,𝑑=𝐶𝑝,𝑝𝑥−𝑞𝑥=𝐶ost这里介绍2种像素级的相似性度量:•基于灰度差分的匹配代价(BirchfieldandTomasi)•基于Census变换的匹配代价BT匹配代价BirchfieldandTomasi把p和q的灰度差的绝对值定义为匹配代价[1]:改进形式:基于Census变换的匹配代价首先,对图像进行统计变换(CensusTransform),该变换定义为:以3x3窗口为例,比较此窗口中每个像素值与中心像素值的大小,如果比中心像素值小,则比较结果为1,否则为0。然后把这些结果组成一个二进制的数,并代替当前像素值11010100(212)汉明距离对于两个等长字符串s1与s2,他们之间的汉明距离就是相应位置上存在不同字符的数量。例如字符串“1111”与“1001”之间的汉明距离为2。计算方法:Cost=POPCNT(s1XORs2)注:POPCNT计算一个二进制数中“1”的位数视差空间(DisparitySpace)根据前面的代价计算,对于基准图像上一点p及视差d,总有:如图,x-y平面表示图像平面,d轴表示视差从0~𝑑max变化,那么对于一个三维坐标(x,y,d),就有C(x,y,d)=Cost。所以视差空间是一个三维数组,里面存放的是匹配代价xydO01dmax𝐶𝑝,𝑑=𝐶ost视差计算COST那么,计算图像视差的过程就变成:遍历每个像素点,计算使得当前代价C(x,y,d)最小的d,即winner-take-all(WTA)。匹配代价是定义在像素等级上的,像素与像素之间缺少联系,那么,相应的视差图会存在大量的视差不连续的点视差优化Hirschmuller提出了Semi-GlobalMatching,用于平滑视差图:在x-y平面上按照某一方向r,遍历每一个p(x,y),第一项表示点p视差为d时的匹配代价;第二项表示视差平滑约束,p-r表示r方向上前一个像素点,𝑃1表示当前像素与前一个像素相比视差改变较小时给予的惩罚,用于平滑物体表面的纹理,而𝑃2表示视差改变较大时的惩罚,用于平滑物体边缘的视差不连续,并且必须保证𝑃2𝑃1;第三项用于限制匹配代价的增长,所以匹配代价的上限是𝐿≤𝐶𝑚𝑎𝑥+𝑃2112,,min[,,,1,,1,min,]mi,nrrrrrrikLpdCpdLprdLprdPLprdPLpriPLprk如图是沿着从右到左方向代价积累后得到视差图,可以看出视差图连续性上已经有了明显的提高,但存在明显的拖尾效应,这是因为图像在水平方向上约束太强,而竖直方向上约束太弱造成的因此,我们可以在多个方向上分别进行代价积累,再把多个方向的视差空间进行叠加,由此计算视差图可大大减少拖尾效应视差优化一致性检查类似地,我们可以计算出右图对应的视差图,并按照下式一致性检查,其中p、q表示一组对应点()()()1()bbmDpifDpDqDpinvalidotherwise左视差图右视差图视差精化—异常值滤波一致性检查并不能去除所有异常值,视差图仍会残留一些小面积的异常值。我们使用基于连通域标记的异常值滤波器删除了这些异常块视差精化—无效区域插值视差图经过一致性检测后留下的视差无效区域,应该分为遮挡区域和误匹配区域,这是因为对于遮挡区域和误匹配区域的插值策略是截然不同,必须区别对待。图中遮挡点p1的极线穿过𝐷𝑚中视差不连续处,而误匹配点p2与𝐷𝑚相交。与代价积累中从8个方向搜索类似,对于每一个无效点,周围的8个视差值都会保存下来,然后按照下面的式子插值:第一项取第二小的视差值,保证了遮挡点的视差来自较低一级的背景,而第二项取中值,强调利用所有周围的信息视差精化—无效区域插值目标检测与跟踪三维重建三维重建是指依靠一些技术手段从视差图恢复出目标的三维信息,使目标检测更加准确。右侧是经过颜色编码的视差图,颜色越暖表示离摄像头越近,反之则越远,容易看出图中两个偏暖的区域分别对应左侧图像中的两个人。目标检测乘客被建模成一个椭圆型的金字塔,其特征向量表示为:椭圆1参数椭圆2参数椭圆3参数椭圆4参数椭圆5参数椭圆6参数椭圆参数包括:长短轴、离心率、面积、中心坐标、高度等等。目标跟踪假设前一帧图像中有m个目标,对应m个特征向量,而当前图像帧中有n个目标,对应n个特征向量,相似函数S(i,j)表示前一帧第i个目标和当前帧第j目标的相似度。12jn1S(1,1)S(1,2)S(1,j)S(1,n)2S(2,1)S(2,2)S(2,j)S(2,n)iS(i,1)S(i,2)S(i,j)S(i,j)mS(m,1)S(m,2)S(m,j)S(m,n)第k-1帧第k帧总结双目摄像头AM5728系统框架设计该项目开发了一种能够实时监测公交车内客流量的系统,其中双目摄像头安装在靠近车门的车顶处,并垂直向下拍摄,同时采集两路视频。双目视觉技术可以感知物体的深度,能够很好地克服单目视觉技术对光线阴影敏感,无法检测拥挤客流及无法排除类人物体等问题。图像校正图像校正三维重建目标检测目标跟踪左目图像右目图像代价计算代价聚集视差计算视差提精立体匹配算法框架设计原始图像对图像矫正立体匹配背景差分注:较小的椭圆对应较高的位置,多个椭圆叠加形成类金字塔目标检测目标跟踪存在的问题1.视差图中的目标形状、高度各异,特别是在拥挤时,多个目标会连接在一起。基于特征的启发式目标检测方法并不能100%地检测出目标。2.在视差图中,特征向量会随目标运动而变化,因此目标的坐标在相似性测度当中占了较高的权重。现有的跟踪逻辑比较单一,当目标的特征向量极为相似时,会出现误跟踪的情况。参考文献1.fiedSemi-GlobalMatchingandPlaneFittingtoImproveMatchingQuality4.StereoProcessingbySemi-globalMatchingandMutualInformation5.Usingreal-timestereovisionformobilerobotnavigation6.