发明名称 一种单摄像机监控系统的立体障碍物检测方法
摘要 本发明提出了一种单摄像机监控系统的立体障碍物检测方法,在安装好监控系统之后,控制云台旋转,随意调整摄像头的两个不同角度,拍摄待监控的场景的两幅图像,分别通过齐次变换,获得两幅图像地面的单应关系,使两个不同监控角度下的地面像素点重合,同时使其中的一幅图像中的立体障碍物部分产生错切,由此判断出立体障碍物在监控场景中的位置及大小,获得立体障碍物的坐在位置。本发明方法为解决监控视场中,运动目标是否是被暂时遮挡提供了准确的依据。
申请公布号 CN102354364A 申请公布日期 2012.02.15
申请号 CN201110280701.1 申请日期 2011.09.21
申请人 西安理工大学 发明人 朱虹;王斌;王栋;陈莉;杨艳妮
分类号 G06K9/00(2006.01)I;H04N7/18(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 西安弘理专利事务所 61214 代理人 李娜
主权项 1.一种单摄像机监控系统的立体障碍物检测方法,其特征在于,在安装好监控系统之后,控制云台旋转,随意调整摄像头的两个不同角度,拍摄待监控的场景的两幅图像,分别通过齐次变换,获得两幅图像地面的单应关系,使两个不同监控角度下的地面像素点重合,同时使其中的一幅图像中的立体障碍物部分产生错切,由此判断出立体障碍物在监控场景中的位置及大小,具体按照以下步骤实施:步骤1.采集两幅不同视角的图像控制云台转动,获得两个不同视角的图像,将其中一幅作为参考图像,用F<sup>0</sup>=[f<sup>0</sup>(i,j)]<sub>m×n</sub>表示,f<sup>0</sup>(i,j)为图像在坐标为(i,j)上的像素值,m,n分别为图像的行数与列数,即i=1,2,...,m,j=1,2,...,n;另一幅最终用以视频监控的那个视角下的图像设为输入图像,用F<sup>1</sup>=[f<sup>1</sup>(i,j)]<sub>m×n</sub>表示;步骤2.采用Soble算子提取图像的景物边缘为了便于在复杂环境中寻找特征点,首先采用Sobel算子分别对参考图像和输入图像进行景物边界的提取,设摄像头采集到的图像[f<sup>K</sup>(i,j)]<sub>m×n</sub>,K=0,1,采用Sobel算子进行边缘检测的计算公式为:<maths num="0001"><![CDATA[<math><mrow><msup><mrow><mo>&dtri;</mo><mi>f</mi></mrow><mi>K</mi></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><msqrt><msup><msub><mi>D</mi><mi>x</mi></msub><mi>K</mi></msup><msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><msub><mi>D</mi><mi>y</mi></msub><mi>K</mi></msup><msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>,</mo><mi>i</mi><mo>=</mo><mn>2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>m</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>=</mo><mn>2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>K</mi><mo>=</mo><mn>0,1</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,m为图像的行数,n为图像的列数,D<sub>x</sub><sup>K</sup>(i,j)=[f<sup>K</sup>(i+1,j-1)-f<sup>K</sup>(i-1,j-1)]+2[f<sup>K</sup>(i+1,j)-f<sup>K</sup>(i-1,j)]+[f<sup>K</sup>(i+1,j+1)-f<sup>K</sup>(i-1,j+1)](2)D<sub>y</sub><sup>K</sup>(i,j)=[f<sup>K</sup>(i-1,j+1)-f<sup>K</sup>(i-1,j-1)]+2[f<sup>K</sup>(i,j+1)-f<sup>K</sup>(i,j-1)]+[f<sup>K</sup>(i+1,j+1)-f<sup>K</sup>(i+1,j-1)](3)之后,对公式(1)计算得到的<img file="FDA0000092928150000021.GIF" wi="184" he="54" />进行二值化处理,得到景物边缘图,计算公式如下:<maths num="0002"><![CDATA[<math><mrow><msup><mi>L</mi><mi>K</mi></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><msup><mrow><mo>&dtri;</mo><mi>f</mi></mrow><mi>K</mi></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>></mo><msup><mi>Th</mi><mi>K</mi></msup></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><msup><mrow><mo>&dtri;</mo><mi>f</mi></mrow><mi>K</mi></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&le;</mo><msup><mi>Th</mi><mi>K</mi></msup></mtd></mtr></mtable></mfenced><mo>,</mo><mi>i</mi><mo>=</mo><mn>2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>m</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>=</mo><mn>2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>K</mi><mo>=</mo><mn>0,1</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,Th<sup>K</sup>为判断阈值,按照如下公式计算:<maths num="0003"><![CDATA[<math><mrow><msup><mi>Th</mi><mi>K</mi></msup><mo>=</mo><mi>&alpha;</mi><mo>&CenterDot;</mo><mfrac><mn>1</mn><mrow><mrow><mo>(</mo><mi>m</mi><mo>-</mo><mn>2</mn><mo>)</mo></mrow><mo>&CenterDot;</mo><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mn>2</mn><mo>)</mo></mrow></mrow></mfrac><mo>&CenterDot;</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>2</mn></mrow><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>2</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><mo>&dtri;</mo><mi>f</mi></mrow><mi>K</mi></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>,</mo><mi>K</mi><mo>=</mo><mn>0,1</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中的α是调整因子;处理后的参考景物边缘图L<sup>0</sup>(i,j),i=2,...,m-1,j=2,...,n-1;处理后的输入景物边缘图L<sup>1</sup>(i,j),i=2,...,m-1,j=2,...,n-1;步骤3.地面特征点对的选择3.1)给定参考图像的特征点在系统的人机交互界面上,同时显示参考景物边缘图和输入景物边缘图,在参考景物边缘图L<sup>0</sup>(i,j)的地面上选择出四个特征点,该四个点表示为P<sub>1</sub><sup>0</sup>,P<sub>2</sub><sup>0</sup>,P<sub>3</sub><sup>0</sup>,P<sub>4</sub><sup>0</sup>,其坐标点分别为<img file="FDA0000092928150000024.GIF" wi="176" he="56" />i=1,2,3,4;3.2)给定输入图像的对应特征点搜索范围在输入景物边缘图L<sup>1</sup>(i,j)的相应位置给出一个对应点的搜索区域;3.3)确定输入图像的对应特征点设定特征点确定模板大小为5×5,表示为Ω,将该模板依次覆盖参考景物边缘图中的四个特征点,模板的中心点为参考景物边缘图的特征点位置;之后记录该模板位置上L<sup>0</sup>(i,j),(i,j)∈Ω的值;随后,将该模板Ω覆盖在输入景物边缘图中对应的搜索范围内的点,并依次移动,选择其L<sup>1</sup>(i,j),(i,j)∈Ω的值与L<sup>0</sup>(i,j),(i,j)∈Ω的值相同最多的那个位置的模板中心点,即为输入图像对应的特征点,该四个点表示为P<sub>1</sub><sup>1</sup>,P<sub>2</sub><sup>1</sup>,P<sub>3</sub><sup>1</sup>,P<sub>4</sub><sup>1</sup>,其坐标点分别为<img file="FDA0000092928150000031.GIF" wi="163" he="56" />i=1,2,3,4;步骤4)对参考图像进行齐次变换根据相同平面的单应性关系,采用步骤3得到的参考景物边缘图与输入景物边缘图的四个特征点坐标,求参考图像的齐次变换矩阵,计算公式如下:<maths num="0004"><![CDATA[<math><mrow><mi>&rho;</mi><mfenced open='[' close=']'><mtable><mtr><mtd><msup><msub><mi>x</mi><mi>i</mi></msub><mn>0</mn></msup></mtd></mtr><mtr><mtd><msup><msub><mi>y</mi><mi>i</mi></msub><mn>0</mn></msup></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>=</mo><mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>h</mi><mn>11</mn></msub></mtd><mtd><msub><mi>h</mi><mn>12</mn></msub></mtd><mtd><mrow><msub><mi>h</mi><mn>13</mn></msub></mrow></mtd></mtr><mtr><mtd><msub><mi>h</mi><mn>21</mn></msub></mtd><mtd><msub><mi>h</mi><mn>22</mn></msub></mtd><mtd><msub><mi>h</mi><mn>23</mn></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mn>31</mn></msub></mtd><mtd><msub><mi>h</mi><mn>32</mn></msub></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>&CenterDot;</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msup><msub><mi>x</mi><mi>i</mi></msub><mn>1</mn></msup></mtd></mtr><mtr><mtd><msup><msub><mi>y</mi><mi>i</mi></msub><mn>1</mn></msup></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></mrow><mo>,</mo><mi>i</mi><mo>=</mo><mn>1,2,3,4</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,<maths num="0005"><![CDATA[<math><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>h</mi><mn>11</mn></msub></mtd><mtd><msub><mi>h</mi><mn>12</mn></msub></mtd><mtd><msub><mi>h</mi><mn>13</mn></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mn>21</mn></msub></mtd><mtd><msub><mi>h</mi><mn>22</mn></msub></mtd><mtd><msub><mi>h</mi><mn>23</mn></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mn>31</mn></msub></mtd><mtd><msub><mi>h</mi><mn>32</mn></msub></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math>]]></maths>是齐次变换矩阵,将步骤3得到的参考景物边缘图与输入景物边缘图的四个点坐标<img file="FDA0000092928150000034.GIF" wi="408" he="56" />i=1,2,3,4代入公式(6),便可计算得到齐次变换矩阵<maths num="0006"><![CDATA[<math><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>h</mi><mn>11</mn></msub></mtd><mtd><msub><mi>h</mi><mn>12</mn></msub></mtd><mtd><msub><mi>h</mi><mn>13</mn></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mn>21</mn></msub></mtd><mtd><msub><mi>h</mi><mn>22</mn></msub></mtd><mtd><msub><mi>h</mi><mn>23</mn></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mn>31</mn></msub></mtd><mtd><msub><mi>h</mi><mn>32</mn></msub></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math>]]></maths>的数值,计算得到齐次变换矩阵<maths num="0007"><![CDATA[<math><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>h</mi><mn>11</mn></msub></mtd><mtd><msub><mi>h</mi><mn>12</mn></msub></mtd><mtd><msub><mi>h</mi><mn>13</mn></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mn>21</mn></msub></mtd><mtd><msub><mi>h</mi><mn>22</mn></msub></mtd><mtd><msub><mi>h</mi><mn>23</mn></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mn>31</mn></msub></mtd><mtd><msub><mi>h</mi><mn>32</mn></msub></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></math>]]></maths>后,对参考景物边缘图L<sup>0</sup>(i,j)进行齐次变换,则该图像在(i,j)坐标位置,经过变换后的坐标位置<img file="FDA0000092928150000037.GIF" wi="96" he="59" />间的相互关系为:<maths num="0008"><![CDATA[<math><mrow><mi>&rho;</mi><mfenced open='[' close=']'><mtable><mtr><mtd><mover><mi>i</mi><mo>^</mo></mover></mtd></mtr><mtr><mtd><mover><mi>j</mi><mo>^</mo></mover></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>=</mo><mi>int</mi><mrow><mo>(</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>h</mi><mn>11</mn></msub></mtd><mtd><msub><mi>h</mi><mn>12</mn></msub></mtd><mtd><mrow><msub><mi>h</mi><mn>13</mn></msub></mrow></mtd></mtr><mtr><mtd><msub><mi>h</mi><mn>21</mn></msub></mtd><mtd><msub><mi>h</mi><mn>22</mn></msub></mtd><mtd><msub><mi>h</mi><mn>23</mn></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mn>31</mn></msub></mtd><mtd><msub><mi>h</mi><mn>32</mn></msub></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>&CenterDot;</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>i</mi></mtd></mtr><mtr><mtd><mi>j</mi></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>)</mo></mrow><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,i=2,...,m-1,j=2,...,n-1,int()为取整函数,根据公式(7)得到的像素坐标<img file="FDA0000092928150000039.GIF" wi="123" he="59" />对参考景物边缘图进行齐次变换得到:<maths num="0009"><![CDATA[<math><mrow><msup><mover><mi>L</mi><mo>^</mo></mover><mn>0</mn></msup><mrow><mo>(</mo><mover><mi>i</mi><mo>^</mo></mover><mo>,</mo><mover><mi>j</mi><mo>^</mo></mover><mo>)</mo></mrow><mo>=</mo><msup><mi>L</mi><mn>0</mn></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>,</mo><mi>i</mi><mo>=</mo><mn>2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>m</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>=</mo><mn>2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow></math>]]></maths>步骤5.对地面上的立体障碍物的判断5.1)进行图像标记将进行齐次变换后的参考景物边缘图与输入景物边缘图进行比较,并标记相同位置上的像素点是否相同,计算公式如下:<maths num="0010"><![CDATA[<math><mrow><mi>Lab</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn></mtd><mtd><msup><mover><mi>L</mi><mo>^</mo></mover><mn>0</mn></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><msup><mi>L</mi><mn>1</mn></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><msup><mover><mi>L</mi><mo>^</mo></mover><mn>0</mn></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&NotEqual;</mo><msup><mi>L</mi><mn>1</mn></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>,</mo><mi>i</mi><mo>=</mo><mn>2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>m</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>=</mo><mn>2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,标记Lab(i,j)=1,i=2,...,m-1,j=2,...,n-1的点即为高出地面的立体障碍物;5.2)判断视场边界处的立体障碍物对标记矩阵Lab(i,j)=1,i=2,...,m-1,j=2,...,n-1进行贴标签处理,对与图像的上、下、左、右边界连通的连通域,即视为处于视场边界处的障碍物。
地址 710048 陕西省西安市金花南路5号