一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

物体检测装置、物体检测系统、移动体以及物体检测方法与流程

2022-05-21 12:04:45 来源:中国专利 TAG:

物体检测装置、物体检测系统、移动体以及物体检测方法
1.相关申请的相互参照
2.本技术主张2019年9月19日在日本进行专利申请的日本特愿2019-170902号的优先权,在此引入该在先申请的所有公开内容作为参照。
技术领域
3.本发明涉及物体检测装置、物体检测系统、移动体以及物体检测方法。


背景技术:

4.近年来,在汽车等移动体中搭载有利用立体摄像头的物体检测装置。这种物体检测装置从立体摄像头获取多个图像,并且基于所获取的多个图像,来检测可能成为障碍物的物体(例如,参考专利文献1)。
5.现有技术文献
6.专利文献
7.专利文献1:日本特开平5-265547号公报。


技术实现要素:

8.本发明的一个实施方式的物体检测装置具有处理器。所述处理器构成为,沿着视差图的第二方向,搜索与满足规定条件的对象视差建立了对应的坐标并将其更新为第一坐标,基于所述第一坐标来计算与所述对象视差对应的物体的高度。所述视差图是使由与立体摄像头拍摄路面而生成的拍摄图像的水平方向相对应的第一方向和与所述第一方向交叉的第二方向构成的二维坐标与从所述拍摄图像获取的视差建立了对应的图。所述处理器构成为,当从所述第一坐标开始超过规定间隔存在与大致等于所述对象视差的视差建立了对应的候补坐标时,基于第一坐标来计算第一候补高度,并基于所述候补坐标来计算第二候补高度。所述处理器构成为,基于分别与在所述视差图的第一方向上夹着所述候补坐标的两个坐标建立了对应的视差,判定获取所述第一候补高度以及所述第二候补高度中的哪一个作为所述物体的高度。
9.本发明的一个实施方式的物体检测系统具有:立体摄像头,拍摄相互具有视差的多个图像;以及物体检测装置,包括至少一个处理器。所述处理器构成为,沿着视差图的第二方向,搜索与满足规定条件的对象视差建立了对应的坐标并将其更新为第一坐标,基于所述第一坐标来计算与所述对象视差对应的物体的高度。所述视差图是使由与立体摄像头拍摄路面而生成的拍摄图像的水平方向相对应的第一方向和与所述第一方向交叉的第二方向构成的二维坐标与从所述拍摄图像获取的视差建立了对应的图。所述处理器构成为,当从所述第一坐标开始超过规定间隔存在与大致等于所述对象视差的视差建立了对应的候补坐标时,基于第一坐标来计算第一候补高度,并基于所述候补坐标来计算第二候补高度。所述处理器构成为,基于分别与在所述视差图的第一方向上夹着所述候补坐标的两个坐标建立了对应的视差,判定获取所述第一候补高度以及所述第二候补高度中的哪一个作
为所述物体的高度。
10.本发明的一个实施方式的移动体具有物体检测系统,该物体检测系统具有:立体摄像头,拍摄相互具有视差的多个图像;以及物体检测装置,包括至少一个处理器。所述处理器构成为,沿着视差图的第二方向,搜索与满足规定条件的对象视差建立了对应的坐标并将其更新为第一坐标,基于所述第一坐标来计算与所述对象视差对应的物体的高度。所述视差图是使由与立体摄像头拍摄路面而生成的拍摄图像的水平方向相对应的第一方向和与所述第一方向交叉的第二方向构成的二维坐标与从所述拍摄图像获取的视差建立了对应的图。所述处理器构成为,当从所述第一坐标开始超过规定间隔存在与大致等于所述对象视差的视差建立了对应的候补坐标时,基于第一坐标来计算第一候补高度,并基于所述候补坐标来计算第二候补高度。所述处理器构成为,基于分别与在所述视差图的第一方向上夹着所述候补坐标的两个坐标建立了对应的视差,判定获取所述第一候补高度以及所述第二候补高度中的哪一个作为所述物体的高度。
11.本发明的一个实施方式的物体检测方法包括如下步骤:沿着视差图的第二方向,搜索与满足规定条件的对象视差建立了对应的坐标并将其更新为第一坐标,基于所述第一坐标来计算与所述对象视差对应的物体的高度。所述视差图是使由与立体摄像头拍摄路面而生成的拍摄图像的水平方向相对应的第一方向和与所述第一方向交叉的第二方向构成的二维坐标与从所述拍摄图像获取的视差建立了对应的图。计算所述物体的高度的步骤包括:当从所述第一坐标开始超过规定间隔存在与大致等于所述对象视差的视差建立了对应的候补坐标时,基于第一坐标来计算第一候补高度,并基于所述候补坐标来计算第二候补高度。计算所述物体的高度的步骤包括:基于分别与在所述视差图的第一方向上夹着所述候补坐标的两个坐标建立了对应的视差,判定获取所述第一候补高度以及所述第二候补高度中的哪一个作为所述物体的高度。
附图说明
12.图1是表示本发明的一个实施方式的物体检测系统的概略结构的框图。
13.图2是示意性地表示搭载有图1所示的物体检测系统的移动体的侧视图。
14.图3是示意性地表示搭载有图1所示的物体检测系统的移动体的主视图。
15.图4是表示本发明的另一个实施方式的物体检测系统的概略结构的框图。
16.图5是表示图1所示的物体检测装置执行的处理的流程的一例的流程图。
17.图6是说明物体检测装置获取或生成的第一视差图像的一例的图。
18.图7是表示路面的形状的推定处理的一例的流程图。
19.图8是表示从第一视差图像提取路面候补视差的处理的一例的流程图。
20.图9是说明路面与立体摄像头之间的位置关系的图。
21.图10是说明路面候补视差的提取步骤的图。
22.图11是表示对视差进行了直方图化的路面上的范围的图。
23.图12是表示路面视差dr与纵向的坐标(v坐标)之间的关系的一例的d-v相关图。
24.图13是说明检测是否包含有不是路面视差的物体的方法的图。
25.图14是利用直线来近似路面视差dr与图像的纵向的坐标(v坐标)之间的关系的处理的流程图。
26.图15是说明利用第一直线近似路面视差dr的图。
27.图16是说明第二直线的确定方法的图。
28.图17是表示利用直线来近似路面视差dr与图像的纵向的坐标(v坐标)之间的关系的结果的一例的图。
29.图18是表示第二视差图像的一例的图。
30.图19是第二视差图像的参考图。
31.图20是表示第一视差以及第二视差的检测处理的一例的流程图。
32.图21是在图18所示的第二视差图像上重叠显示部分区域的图。
33.图22是表示视差直方图的一例的图。
34.图23是表示计算物体的高度的计算处理的一例的流程图(其1)。
35.图24是表示计算物体的高度的计算处理的一例的流程图(其2)。
36.图25是表示计算物体的高度的计算处理的一例的流程图(其3)。
37.图26是表示第二视差图像的一例的图。
38.图27是表示第二视差图像的一例的图。
39.图28是与图27所示的第二视差图像对应的第一图像。
40.图29是表示第二视差图像的一例的图。
41.图30是与图29所示的第二视差图像对应的第一图像。
42.图31是表示平行物体的检测处理的一例的流程图。
43.图32是表示ud图的一例的图。
44.图33是与图32所示的ud图对应的第一图像。
45.图34是表示除去了与u方向大致平行的点群的ud图的图。
46.图35是说明霍夫变换(hough transform)的图(其1)。
47.图36是说明霍夫变换的图(其2)。
48.图37是表示恢复处理的一例的流程图。
49.图38是表示ud图的一例的图。
50.图39是表示附加了恢复标记的ud图的一例的图。
51.图40是表示第二视差图像的一例的图。
52.图41是表示第二视差图像的一例的图。
53.图42是表示与图41所示的第二视差图像对应的第一图像的图。
54.图43是表示在图40所示的第二视差图像中用于进行物体的高度的判定的视差像素的图。
55.图44是表示在图41所示的第二视差图像中用于进行物体的高度的判定的视差像素的图。
56.图45是表示代表视差的确定处理的一例的流程图。
57.图46表示获取的与u方向对应的代表视差的一例。
58.图47表示与u方向对应的平均化后的代表视差的一例。
59.图48是示出表示代表视差的点群的ud图中的分布的一例的图。
60.图49是从高度方向(y方向)观察路面的图。
61.图50是变换成表示代表视差的实际空间的x-z平面上的点群的图。
62.图51是表示物体的检测结果的输出方法的一例的图。
具体实施方式
63.在现有的物体检测装置中,需要提高检测物体的性能。本发明的物体检测装置、物体检测系统、移动体以及物体检测方法能够提高检测物体的性能。
64.以下,参照附图对本发明的一个实施方式进行说明。在以下的附图中,相同或类似的构成要素被赋予相同的附图标记。此外,在以下的说明中使用的图是示意性的图。附图上的尺寸以及比例等未必与现实中的物体一致。表示由摄像头拍摄的拍摄图像以及视差图像等的图包括为了说明而创建的图。这些图像与实际拍摄或处理的图像不同。另外,在以下的说明中,“被拍摄体”是由摄像头拍摄的对象。“被拍摄体”包括物体、路面以及天空等。“物体”是在空间内具有具体的位置以及大小的物体。“物体”也被称为“立体物”。
65.如图1所示,物体检测系统1包括立体摄像头10和物体检测装置20。立体摄像头10与物体检测装置20能够通过有线或者无线通信进行通信。立体摄像头10与物体检测装置20可以通过网络进行通信。网络例如可以包括有线或者无线的lan(local area network:局域网),或者can(controller area network:控制器域网)等。立体摄像头10和物体检测装置20可以容纳于同一壳体内并一体地配置。立体摄像头10和物体检测装置20可以构成为,位于后述的移动体30内,并可与移动体30内的ecu(electronic control unit:电子控制单元)进行通信。
66.在本发明中,“立体摄像头”是相互具有视差,相互协作的多个摄像头。立体摄像头包括至少两个以上的摄像头。在立体摄像头中,能够使多个摄像头协作,从多个方向来拍摄对象。立体摄像头可以是在一个壳体中包括多个摄像头的设备。立体摄像头可以是包括相互独立且相互分离的两个以上的摄像头的设备。立体摄像头并不限于相互独立的多个摄像头。在本发明中,例如,能够采用具有将入射到分离的两个部位的光引导至一个受光元件的光学机构的摄像头作为立体摄像头。在本发明中,有时将从不同视点拍摄同一被拍摄体的多个图像称为“立体图像”。
67.如图1所示,立体摄像头10具有第一摄像头11和第二摄像头12。第一摄像头11以及第二摄像头12分别具有对光轴ox进行规定的光学系统和拍摄元件。第一摄像头11以及第二摄像头12分别具有不同的光轴ox。在本实施方式中,仅用单一的附图标记ox来汇总表示第一摄像头11以及第二摄像头12这两者的光轴ox。拍摄元件包括ccd图像传感器(charge-coupled device image sensor:电荷耦合器件图像传感器)以及cmos图像传感器(complementary mos image sensor:互补金属氧化物半导体图像传感器)。第一摄像头11以及第二摄像头12分别具有的拍摄元件可以位于与各自的摄像头的光轴ox垂直的同一面内。第一摄像头11以及第二摄像头12生成表示由拍摄元件成像的图像的图像信号。另外,第一摄像头11以及第二摄像头12可以对拍摄的图像进行失真校正、亮度调整、对比度调整以及伽玛校正(gamma correction)等任意的处理。
68.第一摄像头11以及第二摄像头12的光轴ox朝向彼此都能够拍摄同一被拍摄体的方向。确定第一摄像头11以及第二摄像头12的光轴ox以及位置,使得在拍摄出的图像中至少包含同一被拍摄体。第一摄像头11以及第二摄像头12的光轴ox被定向为相互平行。该平行不限定于严格意义上的平行,允许组装的偏差、安装的偏差以及这些随着时间的偏差。第
一摄像头11以及第二摄像头12的光轴ox并不限于平行,可以朝向彼此不同的方向。即使在第一摄像头11以及第二摄像头12的光轴ox相互不平行的情况下,也可以通过在立体摄像头10或者物体检测装置20内变换图像来生成立体图像。基线长度是第一摄像头11的光学中心与第二摄像头12的光学中心之间的距离。基线长度相当于第一摄像头11与第二摄像头12之间的透镜的中心的距离。基线长度方向是连结第一摄像头11的光学中心和第二摄像头12的光学中心的方向。
69.第一摄像头11以及第二摄像头12在与光轴ox相交的方向上分开而布置。在多个实施方式中的一个实施方式中,第一摄像头11以及第二摄像头12沿着左右方向配置。第一摄像头11在朝向前方时位于第二摄像头12的左侧。第二摄像头12在朝向前方时位于第一摄像头11的右侧。第一摄像头11以及第二摄像头12以规定的帧率(frame rate)(例如30fps)来拍摄被拍摄体。由于第一摄像头11和第二摄像头12的位置的差异,在由各摄像头拍摄出的两个图像中,相互对应的被拍摄体的位置不同。第一摄像头11拍摄第一图像。第二摄像头12拍摄第二图像。第一图像以及第二图像是从不同的视点拍摄的立体图像。
70.如图2以及图3所示,物体检测系统1搭载于移动体30。如图2所示,第一摄像头11以及第二摄像头12以能够拍摄移动体30的前方的方式被配置为第一摄像头11以及第二摄像头12的各自的光学系统的光轴ox与移动体30的前方大致平行。
71.本发明的移动体30在包括道路或者跑道等的行驶道路上行驶。移动体30所行驶的行驶道路的表面也被称为“路面”。
72.在本发明中,移动体30直行时的行进方向也被称为“前方”或“z轴的正方向”。与前方相反的方向也被称为“后方”或“z轴的负方向”。在不特别区分z轴的正方向和z轴的负方向的情况下,将这些统称为“z方向”。以移动体30朝向前方的状态为基准,来定义左方向以及右方向。z方向也被称为“进深方向”。
73.在本发明中,与z方向正交且从左方向朝向右方向的方向也被称为“x轴的正方向”。与z方向正交且从右方向朝向左方向的方向也被称为“x轴的负方向”。在不特别区分x轴的正方向和x轴的负方向的情况下,将这些统称为“x方向”。x方向可以与基线长度方向一致。x方向也被称为“水平方向”。
74.在本发明中,与移动体30附近的路面垂直且从该路面向上的方向也被称为“高度方向”或“y轴的正方向”。与高度方向相反的方向也被称为“y轴的负方向”。在不特别区分y轴的正方向和y轴的负方向的情况下,将这些统称为“y方向”。y方向可以与x方向以及z方向正交。y方向也被称为“铅垂方向”。
75.本发明中的“移动体”例如可以包括车辆以及航空器。车辆例如可以包括汽车、工业车辆、铁路车辆、生活车辆、以及在跑道上行驶的固定翼飞机等。汽车例如可以包括轿车、卡车、公交车、二轮车、以及无轨电车等。工业车辆例如可以包括用于农业以及建设的工业车辆等。工业车辆例如可以包括叉车以及高尔夫球车等。用于农业的工业车辆例如可以包括拖拉机、耕耘机、移植机、装订机、联合收割机以及割草机等。用于建筑的工业车辆例如可以包括推土机、铲运机、挖掘机、吊车、翻斗车以及装卸车等。车辆可以包括以人力进行行驶的车辆。车辆的分类不限于上述的例子。例如,汽车可以包括能够在道路上行驶的工业车辆。同一车辆可以被包含在多个分类中。航空器例如可以包括固定翼飞机以及旋翼飞机等。
76.第一摄像头11以及第二摄像头12可以搭载于移动体30的各种位置。在多个实施方
式中的一个实施方式中,第一摄像头11以及第二摄像头12可以搭载于作为车辆的移动体30的内部,并且可以经由挡风玻璃拍摄移动体30的外部。例如,第一摄像头11以及第二摄像头12被配置在车内后视镜的前方或者仪表板上。在多个实施方式的一个实施方式中,第一摄像头11以及第二摄像头12可以被固定于车辆的前保险杠、挡泥板格栅、侧挡泥板、灯模块以及引擎盖中的任一个。
77.物体检测装置20可以位于移动体30内的任意的部位。例如,物体检测装置20可以位于移动体30的仪表板内。物体检测装置20从立体摄像头10获取第一图像以及第二图像。物体检测装置20基于第一图像以及第二图像检测物体。在移动体30是车辆的情况下,物体检测装置20的检测对象的物体可以是路面上的物体。作为该路面上的物体的一例,能举出其他车辆以及行人等。
78.物体检测装置20可以构成为读取记录在非临时性计算机可读介质中的程序来实现以下说明的由控制部24执行的处理。非临时性计算机可读介质包括但不限于磁存储介质、光学存储介质、光磁存储介质、以及半导体存储介质。磁存储介质包括磁盘、硬盘、以及磁带。光学存储介质包括cd(compact disc)、dvd、蓝光盘(blu-ray(注册商标)disc)等光盘。半导体存储介质包括rom(read only memory:只读存储器)、eeprom(electrically erasable programmable read-only memory:带电可擦可编程只读存储器)、闪存。
79.物体检测装置20具有获取部21、输出部22、存储器23、控制部24(处理器)。
80.获取部21是物体检测装置20的输入接口。获取部21能够从立体摄像头10以及其他装置接收信息的输入。在获取部21中,能够采用物理连接器以及无线通信机。在物理连接器中包括:与利用电信号进行传输相对应的电连接器、与利用光信号进行传输相对应的光连接器以及与利用电磁波进行传输相对应的电磁连接器。在电连接器中包括:符合iec60603的连接器、符合usb标准的连接器、与rca端子对应的连接器、与eiaj cp-1211a所规定的s端子对应的连接器、与eiaj rc-5237所规定的d端子对应的连接器、符合hdmi(注册商标)标准的连接器、以及与包括bnc的同轴电缆对应的连接器。在光连接器中包括:符合iec 61754的各种连接器。在无线通信机中包括:bluetooth(注册商标)以及符合包括ieee802.11的各标准的无线通信机。无线通信机包括至少一个天线。
81.可以在获取部21输入第一摄像头11以及第二摄像头12分别拍摄出的图像的图像数据。获取部21将输入的图像数据输出至控制部24。获取部21可以与立体摄像头10的拍摄信号的传输方式对应。获取部21可以经由网络与立体摄像头10的输出接口连接。
82.输出部22是物体检测装置20的输出接口。输出部22可以将物体检测装置20的处理结果输出至移动体30内的其他装置或者移动体30外的其他的装置。移动体30内的其他装置可以包括:自动巡航控制等行驶辅助装置以及自动刹车装置等安全装置。移动体30外的其他的装置可以包括其他车辆以及路测器等。移动体30内的其他的装置或者移动体30外的其他的装置可以适当地使用从物体检测装置20接收的信息。输出部22与获取部21相同或类似地,可以包括与有线以及无线的通信对应的各种接口。例如,输出部22可以具有can的接口。在该情况下,输出部22与移动体30内的其他装置进行通信。
83.存储器23存储用于各种处理的程序以及运算中的信息。存储器23包括:易失性存储器以及非易失性存储器。存储器23包括独立于处理器的存储器以及处理器的内置存储器。
84.控制部24包括一个或者多个处理器。处理器包括:读取特定的程序并执行特定的功能的通用处理器以及专用于特定的处理的专用的处理器。专用的处理器包括专用集成电路(asic:application specific integrated circuit)。处理器包括可编程逻辑器件(pld:programmable logic device)。pld包括fpga(field-programmable gate array:现场可编程逻辑门阵列)。控制部24可以是一个或者多个处理器协作的soc(system-on-a-chip:系统级芯片)以及sip(system in a package:系统级封装)中的任一个。控制部24执行的处理可以换言之为处理器所执行的处理。
85.控制部24在物体检测装置20内的信息处理中,对第一视差图执行各种处理。第一视差图是使二维坐标与视差对应关联的图。第一视差图的二维坐标由与立体摄像头10的拍摄图像的水平方向对应的横向和与横向交叉的纵向构成。横向是第一方向。纵向是第二方向。横向与纵向可以相互正交。横向可以对应于路面的宽度方向。当立体摄像头10的拍摄的图像包括水平线时,横向可以对应于与水平线平行的方向。纵向可以对应于实际空间中的重力施加的方向。
86.在物体检测装置20内的信息处理中,第一视差图接受各种操作。各种操作包括:运算处理、向存储器23写入以及从存储器23读取等。通过将第一视差图图像化而得到的图像也被称为“第一视差图像”。第一视差图像是在由横向和纵向构成的二维平面上配置表示视差的像素的图像。以下,说明控制部24对第一视差图像执行各种处理的情况。在以下的说明中,对第一视差图像的处理可以换言之为对第一视差图的处理。
87.本发明的物体检测系统1的结构并不限定于图1所示的结构。图4示出了本发明的其他实施方式的物体检测系统1a。物体检测系统1a具有:立体摄像头10、物体检测装置20、以及生成装置25。生成装置25可以搭载于与物体检测装置20分体的硬件上。生成装置25基于从立体摄像头10输出的第一图像以及第二图像,生成第一视差图像。生成装置25具有处理器。包含在生成装置25中的处理器基于分别从立体摄像头10的第一摄像头11以及第二摄像头12输出的第一图像以及第二图像,生成第一视差图像。获取部21从生成装置25获取第一视差图像。物体检测装置20和生成装置25可以统一视为一个物体检测装置。
88.以下,参照图5所示的流程图,对控制部24所执行的处理进行说明。图5是表示图1所示的物体检测装置20所执行的处理的整体流程的一例的流程图。
89.首先,在详细说明在图5的流程图的各步骤中进行的处理之前,简要说明各步骤的处理的概要和目的。
90.步骤s101是获取或生成第一视差图像的步骤。步骤s101相当于后述的第一处理的前段处理。在图1所示的结构中,控制部24生成第一视差图像。在图4所示的構成中,控制部24通过获取部21来获取生成装置25所生成的第一视差图像。
91.步骤s102是推定路面的形状的步骤。在步骤s102中执行的处理也被称为“第一处理”。通过推定路面的形状,可以在第一视差图像上推定相对于纵向的坐标的、与路面对应的视差。路面的形状可以用于在以下的处理中除去不需要的视差和/或推定实际空间上的路面的高度位置。
92.步骤s103是通过从第一视差图像中除去不需要的视差,来生成第二视差图像的步骤。在步骤s103中执行的处理也被称为“第二处理”。不需要的视差包括:可以包含在第一视差图像中的与路面的白线对应的视差以及与存在于道路上空的建筑物对应的视差等。通过
从第一视差图像中除去不需要的视差,物体检测装置20将路面的白线以及存在于路面上空的建筑物等误检测为路面上的检测对象的物体的可能性降低。由此,能够提高物体检测装置20检测物体的精度。
93.步骤s103是在物体检测装置20内的信息处理中,通过从第一视差图中除去不需要的视差,生成第二视差图的步骤。上述的第二视差图像是将第二视差图进行图像化而得到的图像。在以下的说明中,对第二视差图像的处理也可以称为对第二视差图的处理。
94.步骤s104是基于第二视差图像,检测第一视差以及第二视差的步骤。通过将第一视差视为与检测对象的物体对应的视差而进行检测。通过将第二视差视为与检测对象的物体对应的视差的候补而进行检测。可以判定是否使第二视差在后述的恢复处理中作为与检测对象的物体对应的视差而恢复。
95.步骤s105是计算图像上的物体的高度的步骤。检测到的图像上的物体的高度可以是如后述的图51所示那样的检测框182的高度。图像上的物体的高度也可以被称为“检测框的高度”。在步骤s105中执行的处理也被称为“高度计算处理”。
96.步骤s106是在第二视差图像中检测与平行于移动体30的行进方向的物体对应的视差的步骤。与移动体30的行进方向平行的物体也被称为“平行物体”。作为平行物体的一例,能举出护栏以及高速道路的隔音壁等道路旁的建筑物或者其他车辆的侧面等。例如在第二视差图像上,护栏等平行物体和其他车辆等检测对象的物体可能接近。通过检测平行物体,例如对检测出的平行物体附加标记,从而物体检测装置20将平行物体误检测为路面上的检测对象的物体的可能性降低。通过这样的结构,能够提高物体检测装置20检测物体的精度。在步骤s106中执行的处理也被称为“平行物体的检测处理”。
97.步骤s107是判定是否使第二视差恢复为与检测对象的物体对应的视差的步骤。
98.步骤s108是在第二视差图像的横向的各个坐标中,从第一视差以及恢复后的第二视差中确定代表视差的步骤。在步骤s108中执行的处理也被称为“第三处理”。在步骤s104~s108中执行的处理也被称为“第三处理”。
99.步骤s109是通过将代表视差的信息变换为实际空间上的坐标并提取代表视差的集合(组),来检测物体的步骤。在步骤s109中执行的处理也被称为“第四处理”。在步骤s109中,获得检测对象的物体的位置以及从立体摄像头10侧观察到的物体的宽度的信息。
100.步骤s110是从输出部22输出检测到的物体的信息的步骤。在步骤110中输出的物体的信息可以包括:在步骤s105中计算出的图像上的物体的高度、在步骤s109中检测到的检测对象的物体的位置、以及在步骤s109中检测到的从立体摄像头10侧观察到的物体的宽度的信息等。这些信息可以被提供给移动体30内的其他装置。
101.接下来,详细说明各步骤。
102.在步骤s101的处理中,控制部24获取或生成第一视差图像。在图1所示的物体检测系统1中,控制部24基于获取部21获取的第一图像以及第二图像,生成第一视差图像。在图4所示的物体检测系统1a中,控制部24通过获取部21来获取生成装置25所生成的第一视差图像。控制部24可以为了进行以后的处理而将第一视差图像存储于存储器23。
103.第一视差图像的生成方法是公知的,因此以下将简单地进行说明。以下,假设控制部24生成第一视差图像。
104.控制部24获取第一摄像头11拍摄的第一图像以及第二摄像头12拍摄的第二图像。
控制部24将第一图像以及第二图像中的一个图像(例如,第一图像)分割为多个小区域。小区域可以是在纵向以及横向上分别排列有多个像素的矩形的区域。例如,小区域可以由在纵向上排列的3个像素和在横向在排列的3个像素构成。但是,在小区域的纵向上排列的像素的数量以及在横向上排列的像素的数量并不限定于3个。另外,小区域的纵向和横向所包含的像素的数量可以不同。控制部24使分割后的多个小区域中的每个像素在另一个图像上逐个像素地在横向上错开并比较特征量,由此进行匹配。例如在将第一图像分割为小区域的情况下,控制部24使第一图像的小区域在第二图像上逐个像素地在横向上错开并比较特征量,由此进行匹配。特征量例如是亮度以及颜色的图案。在立体图像的匹配中,已知使用sad(sum ofabsolute difference:绝对差值和)函数的方法。这里表示小区域内的亮度值的差的绝对值的总和。在sad函数为最小时,判断为两个图像最相似。立体图像的匹配不限于使用sad函数的方法。在立体图像的匹配中,也可以采用其他方法。
105.控制部24基于在第一图像与第二图像中匹配的两个区域的横向上的像素的位置的差异,计算每个该小区域的视差。视差可以是同一被拍摄体的第一图像中的位置与第二图像中的位置的差。视差的大小可以以立体图像上的像素的横向的宽度为单位来表示。通过进行插值处理,可以以小于一个像素的精度来计算视差的大小。视差的大小与由立体摄像头10拍摄的被拍摄体在实际空间上与立体摄像头10之间的距离对应。实际空间上的从立体摄像头10到被拍摄体的距离越近,与该被拍摄体对应的视差越大。实际空间上的从立体摄像头10到被拍摄体的距离越远,与该被拍摄体对应的视差越小。
106.控制部24生成表示计算出的视差的分布的第一视差图像。表示构成第一视差图像的视差的像素也被称为“视差像素”。控制部24可以以与原来的第一图像以及第二图像的像素相同的清晰度生成第一视差图像。
107.图6中示出了第一视差图像40。第一视差图像40是由立体摄像头10的横向(第一方向)和与横向正交的纵向(第二方向)构成的二维平面。在第一视差图像40的二维平面中排列有表示视差的视差像素。横向也被称为“u方向”。纵向也被称为“v方向”。由u方向以及v方向构成的坐标系也被称为“uv坐标系”以及“图像坐标系”。在本实施方式中,各图的朝向纸面的左上侧的角为uv坐标系的原点(0,0)。另外,各图的从纸面的左侧向右侧的方向为u轴的正方向,其相反方向为u轴的负方向。另外,各图的从纸面的上侧向下侧的方向为v轴的正方向,其相反方向为v轴的负方向。v轴的负方向与实际空间上的从路面朝向上的方向对应。u坐标以及v坐标可以以视差像素为单位来表示。
108.如图6所示,第一视差图像40包括视差图像41、视差图像42、视差图像43。视差图像41与移动体30的前方的路面对应。视差图像42与位于移动体30的前方的其他车辆对应。视差图像43是与护栏对应的视差图像。
109.控制部24可以通过各个像素的亮度或者颜色等来显示包含第一视差图像的各个像素的视差信息。在图6所示的第一视差图像40中,为了便于说明,各个像素的视差由不同阴影来显示。在第一视差图像40中,阴影越深的区域,该区域内的像素所表示的视差越小。阴影越薄的区域,该区域内的像素所表示的视差越大。在第一视差图像40中,相等的阴影的区域内的像素均表示规定范围内的视差。在实际的第一视差图像中,由于一部分的区域内的像素与其他区域内的像素相比,在计算视差的上述的匹配处理中立体图像上的特征量较少,因此有时难以计算视差。例如,对于车辆的窗户等的在空间上均匀的被拍摄体的部分、
以及产生了由太阳光的反射引起的高光溢出(发白)的部分,难以计算出视差。在第一视差图像中,在存在与物体以及建筑物对应的视差的情况下,可以以与位于较远处的背景对应的视差不同的亮度或者颜色来表示它们。
110.控制部24可以在计算出视差之后不将第一视差图像作为图像而显示。也就是说,控制部24只要保持成为第一视差图像基础的第一视差图,并对第一视差图执行适当处理即可。
111.在执行步骤s101之后,控制部24执行根据第一视差图像推定路面的形状的第一处理(步骤s102)。在以下,使用图7、图8以及图14的流程图来说明控制部24所执行的路面的形状的推定处理。首先,控制部24从第一视差图像提取路面候补视差dc(步骤s201)。路面候补视差dc是与从第一视差图像收集的路面视差dr相符合的可能性较高的视差。路面视差dr是指路面区域的视差。路面视差dr不包括路面上的物体的视差。路面视差dr表示到路面上的对应的部位为止的距离。路面视差dr作为在具有相同的v坐标的位置处具有接近的值的值而被收集。
112.在图8的流程图中示出了路面候补视差dc的提取处理的具体内容。如图8所示,控制部24基于立体摄像头10的设置位置,来计算用于计算路面候补视差的视差的初始值即路面候补视差初始值d0(步骤s301)。路面候补视差初始值d0是在最靠近立体摄像头10的路面候补视差的提取位置处的路面候补视差的初始值。最靠近立体摄像头10的路面候补视差的提取位置例如能够从距立体摄像头1m至10m的范围中设定。
113.如图9所示,在立体摄像头10中,路面高度y是立体摄像头10距拍摄的路面41a的铅垂方向上的高度。另外,路面高度y0是立体摄像头10的设置位置距路面41a的高度。由于道路的起伏,路面高度y可能因距立体摄像头10的距离而发生变化。因此,远离立体摄像头10的位置处的路面高度y与立体摄像头10的设置位置处的路面高度y0不一致。在多个实施方式的一个实施方式中,假定立体摄像头10的第一摄像头11以及第二摄像头12以使光轴ox相互平行地朝向前方的方式设置。在图9中,距离z表示到特定的路面位置为止的水平方向的距离。将立体摄像头10的基线长度设为b,将纵向的图像尺寸设为totalv。在该情况下,在某一纵向的坐标(v坐标)处拍摄到的路面41a的路面视差ds与路面高度y之间的关系由以下的数学式给出。
114.ds=b/y
×
(v-totalv/2)
ꢀꢀꢀꢀ
(1)
115.通过数学式(1)计算出的路面视差ds也被称为“几何推定路面视差”。以下,有时用附图标记ds表示几何推定路面视差。
116.路面候补视差初始值d0是在假定路面41a在立体摄像头10与最靠近立体摄像头10的位置的路面候补视差dc的提取位置之间与第一摄像头11以及第二摄像头12的光轴ox平行且平坦的情况下而计算出的值。在该情况下,将最靠近立体摄像头10的位置的路面候补视差的提取位置的在第一视差图像上的v坐标确定为特定的坐标(v0)。坐标(v0)是提取路面候补视差的v坐标的初始值。坐标(v0)位于totalv/2与totalv之间。坐标(v0)位于能够计算视差的图像坐标的范围内的最下侧(v坐标的较大的一侧)。坐标(v0)可以是与第一视差图像的最下方的行对应的totalv。能够通过将v0代入数学式(1)的v并且将y0代入y来确定路面候补视差初始值d0。
117.控制部24基于路面候补视差初始值d0,来计算纵向的v坐标为坐标(v0)即最初的行
的视差收集阈值(步骤s302)。行是指在第一视差图像上具有相同的v坐标的在横向上排列的像素的阵列。视差收集阈值包括收集视差的上限的阈值即上限阈值和收集视差的下限的阈值即下限阈值。基于规定的规则,在路面候补视差初始值d0的上下设定视差收集阈值,以使视差收集阈值包括路面候补视差初始值d0。具体来说,将路面高度y从计算出路面候补视差初始值d0的状态开始上下变化了预先确定的路面高度变化量δy的情况下的路面视差,确定为视差收集阈值的上限阈值以及下限阈值。即,视差收集阈值的下限阈值通过从路面候补视差初始值d0中减去路面高度变化量δy量的视差而获得。视差收集阈值的上限阈值通过将路面候补视差初始值d0加上路面高度变化量δy量的视差而获得。具体的视差收集阈值的下限阈值以及上限阈值通过改变数学式(1)的y的值来求出。
118.以下,控制部24重复执行步骤s303的处理和步骤s307的处理。首先,控制部24对位于第一视差图像的最下侧的v坐标为坐标(v0)的行进行处理(步骤s303)。
119.控制部24使用视差收集阈值来收集视差(步骤s304)。控制部24针对第一视差图像中所包含的v坐标以沿坐标(v0)的横向并列的方式定位的各个视差像素,收集具有视差收集阈值的下限阈值和上限阈值之间的视差的视差像素作为路面候补视差dc。即,控制部24将具有处于以使用数学式(1)计算出的路面候补视差初始值d0为基准的规定的界限的范围中的视差的视差像素,判定为表示路面41a的正确的视差的视差像素的候补。控制部24将判定为表示路面41a的正确的视差的视差像素的候补的视差像素的视差设为路面候补视差dc。通过这样的结构,控制部24能够降低将与路面41a上的物体以及建造物等路面41a以外的物体对应的视差误判定为与路面41a对应的视差的可能性。由此,路面41a的检测精度提高。
120.在步骤s304的处理中,当结束v坐标为坐标(v0)的所有的视差像素的判定时,控制部24将收集到的路面候补视差dc进行平均化来计算路面候补视差dc的平均值即平均路面候补视差d
av
(步骤s305)。控制部24可以将各个路面候补视差dc及其u-v坐标、以及v坐标为坐标(v0)的平均路面候补视差d
av
存储在存储器23中。
121.在执行步骤s305的处理之后,控制部24执行步骤s306的处理。在步骤s306的处理中,控制部24针对一行上的行即v坐标为坐标(v
0-1)时的行的各个视差像素,根据在步骤s305的处理中计算出的v坐标为坐标(v0)的平均路面候补视差d
av
,计算视差收集阈值。控制部24针对在步骤s304的处理中计算出的v坐标为坐标(v0)时的平均路面候补视差d
av
,来变更路面高度y,以使数学式(1)成立。控制部24通过代入v
0-1来代替变更了路面高度y的数学式(1)中的v0,计算v坐标为坐标(v
0-1)时的几何推定路面视差ds。控制部24能够以与步骤s302的处理类似的方式将从几何推定路面视差ds中减去规定的路面高度变化量δy量的视差而得到的视差设为视差收集阈值的下限阈值。控制部24能够将几何推定路面视差ds与规定的路面高度变化量δy量的视差相加而得到的视差设为视差收集阈值的上限阈值。
122.在执行步骤s306的处理之后,控制部24判定通过数学式(1)计算出的几何推定路面视差ds是否大于规定值。规定值例如为1个像素。当几何推定路面视差ds大于1时,控制部24返回到步骤s303的处理(步骤s307)。在步骤s303的处理中,控制部24使路面候补视差dc的提取的对象移动到一个像素之上的行。即,路面候补视差dc的提取的对象在v坐标为坐标(v0)的行时,控制部24将路面检测的对象的行的v坐标变更为坐标(v
0-1)。另外,如图10所示,路面候补视差dc的计算的对象为第n行时,控制部24将路面检测的对象的行变更为第n
1行。为了说明,在图10中将各行的纵向的宽度进行了扩大。实际的各行的高度是1个像素的高度。在该情况下,第n 1行的v坐标比第n行的v坐标小1。
123.对以第n 1行为对象的步骤s304~s306的处理分别以与v坐标为坐标(v0)的行的处理相同或类似的方式进行。在步骤s304的处理中,控制部24使用在针对第n行的步骤s306的处理中计算出的视差收集阈值,来收集路面候补视差dc。在步骤s305的处理中,控制部24对收集到的路面候补视差dc进行平均化来计算平均路面候补视差d
av
。在步骤s306的处理中,控制部24使用平均路面候补视差d
av
,变更数学式(1)的路面高度y。控制部24使用变更了路面高度y的数学式(1),来计算几何推定路面视差ds。进一步地,控制部24通过在几何推定路面视差ds中考虑路面高度变化量δy,来计算视差收集阈值,以提取第n 2行的路面候补视差dc。
124.控制部24一边使路面候补视差dc的提取对象从与最靠近立体摄像头10的路面候补视差dc的提取位置对应的行开始依次向上方向(v坐标的负方向)移动,一边提取与该v坐标对应的路面候补视差dc。控制部24可以将提取出的路面候补视差dc和与所对应的u坐标、v坐标以及v坐标对应的平均路面候补视差d
av
一起存储在存储器23中。
125.控制部24在步骤s307的处理中,当通过数学式(1)计算出的几何推定路面视差ds为上述的规定的值以下时,结束路面候补视差dc的提取处理,返回到图7的流程图的步骤s201的处理。规定的值例如可以是1个像素。
126.这样,在图8的流程图中,当从立体摄像头10观察时,将提取路面候补视差dc的v坐标的初始值设定为与近距离侧的位置对应的v0,并依次提取远距离侧的路面候补视差dc。一般与远距离侧相比,立体摄像头10在近距离侧检测视差的检测精度较高。因此,通过从近距离侧向远距离侧依次提取路面候补视差dc,能够提高检测出的路面候补视差dc的精度。
127.在提取上述路面候补视差dc的图8的流程图中,针对纵向的每一个坐标计算出路面候补视差dc。换言之,在提取上述路面候补视差dc的流程图中,针对纵向上的每一个像素的行计算出路面候补视差dc。计算路面候补视差的单位并不限于此。也可以以在纵向上汇总多个坐标的方式来计算路面候补视差dc。
128.继续步骤s301~s307的路面候补视差dc的提取处理,控制部24进入到图7的流程图的步骤s202的处理。在从近距离侧向远距离侧依次推定路面视差dr时,控制部24对路面视差dr依次应用卡尔曼滤波器。因此,控制部24首先对卡尔曼滤波器进行初始化(步骤s202)。能够利用在步骤s305的处理中计算出的、与进行路面视差dr的推定的行中最下方的行(v坐标的值为v0的行)对应的平均路面候补视差d
av
的值,作为卡尔曼滤波器的初始值。
129.控制部24一边从路面的近距离侧向远距离侧改变作为对象的行,一边依次执行以下的步骤s203~s210的处理(步骤s203)。
130.首先,针对第一视差图像内的作为对象的行,控制部24根据位于实际空间中的恒定宽度的范围内的路面候补视差dc,生成表示路面视差dr的每个值的频度的直方图(步骤s204)。实际空间中的恒定宽度的范围是考虑了道路的行驶车道的宽度的范围。恒定宽度例如可以设定为2.5m或3.5m等的值。获取视差的范围例如在图11中被初始设定为由实线的框线45包围的范围。恒定宽度预先存储在物体检测装置20的存储器23等中。通过将获取视差的范围限定于该范围,能降低控制部24将路面41a以外的物体或隔音壁等建筑物误认为路面41a的可能性。由此,能够提高路面检测的精度。如后所述,能够根据前方的道路上的状况
从初始设定的框线45依次变更如图11中实线所示的获取视差的范围。
131.针对作为对象的行,控制部24基于通过卡尔曼滤波器的路面视差dr的预测值来设定路面视差dr的获取范围。路面视差dr的获取范围是基于卡尔曼滤波器预测下一行的路面视差dr时计算出的可靠度而确定的范围。可靠度由高斯分布的方差σ2(σ是路面视差dr的标准偏差)来表现。控制部24能够通过预测值
±
2σ等求出路面视差dr的获取范围。控制部24根据在步骤s204的处理中生成的路面候补视差dc的直方图,在基于卡尔曼滤波器设定的路面视差dr的获取范围内提取频度最大的路面视差dr。控制部24将提取出的路面视差dr设为作为对象的行的路面视差dr的观测值(步骤s205)。
132.接下来,控制部24确认在步骤s205的处理中确定的路面视差dr是正确的路面视差dr,不包含与物体对应的视差等(步骤s206)。针对在直到当前处理中的行为止的各行中检测出的所有路面视差dr,控制部24生成映射到将路面视差dr和v坐标作为坐标轴的d-v坐标空间上的d-v相关图。在正确地检测出路面41a的情况下,在d-v相关图中,如图12中虚线所示,路面视差dr随着v坐标的值变小也直线地减小。
133.另一方面,如图13所示,在表示物体的视差被误识别为表示路面41a的视差的情况下,在d-v相关图中,在表示物体的视差的部分,无论纵向的坐标(v坐标)的变化如何,视差d都大致恒定。通常,由于物体包含与路面41a垂直的部分,因此在第一视差图像中以包含多个等距离的视差的方式来显示该物体。在图13中,在第一部分r1中,视差d随着v坐标的值的变化而减少。第一部分r1是正确地检测表示路面41a的视差的部分。在第二部分r2中,即使v坐标变化,视差d也是恒定的。第二部分r2被认为是误检测为表示物体的视差的部分。在视差d大致相等的值的行持续规定数量时,控制部24能够判断为将表示物体的视差误识别为表示路面41a的视差。
134.当在步骤s206的处理中判断为视差不是正确的路面视差dr时(步骤s206:否),控制部24从判断为误检测为表示物体的视差的行开始再次搜索路面视差dr(步骤s207)。在步骤s207的处理中,控制部24在即使v坐标的值变化而视差d也不变化的行的区域中再次搜索路面视差直方图。在该区域中,在小于在步骤s205的处理中确定的视差d的视差的部分存在频度较高的视差的情况下,控制部24能够判断为该视差为正确的路面视差dr的观测值。
135.在步骤s206的处理中判断为路面视差dr正确时(步骤s206:是),以及在步骤s207的处理中结束路面视差dr的再次搜索时,控制部24进入到步骤s208的处理。在步骤s208的处理中,控制部24确定视差图像41的横向的范围,该视差图像41与成为生成在纵向上错开1个像素的下一行的直方图的对象的第一视差图像上的路面对应。例如,如图11所示,在与其他车辆对应的视差图像42存在于与路面对应的视差图像41上的情况下,路面检测部26无法获取对应于与其他车辆重叠的部分的路面的视差图像41的正确的路面视差dr。当与能够获取路面视差dr的路面对应的视差图像41的范围变窄时,控制部24难以获取准确的路面视差dr。因此,如图11中虚线所示那样,控制部24使获取路面候补视差dc的范围依次沿横向变化。具体而言,在步骤s206的处理中判断为包含表示物体的视差的情况下,控制部24检测在物体的横向的哪一侧表示正确的路面视差dr的路面候补视差dc较多。在下一行中,控制部24使获取视差的范围依次向横向的包括更多的表示正确的路面视差dr的路面候补视差dc的一侧(图11中右侧)移动。
136.接下来,控制部24使用在步骤s205的处理或s207的处理中确定的当前的行的路面
视差dr,更新卡尔曼滤波器(步骤s209)。即,卡尔曼滤波器基于当前的行的路面视差dr的观测值,计算路面视差dr的推定值。当计算出当前的行的推定值时,控制部24添加当前的行的路面视差dr的推定值作为过去的数据的一部分,并且用于计算下一行的路面视差dr的推定值的处理。认为路面41a的高度相对于距立体摄像头10的水平方向的距离z不会急剧地上下变化。因此,在使用本实施方式的卡尔曼滤波器的推定中,推定为在当前的行的路面视差dr的附近存在下一行的路面视差dr。这样,通过限定控制部24在当前的行的路面视差dr的附近生成下一行的直方图的视差的范围,从而降低误检测路面41a以外的物体的可能性。另外,能够减少控制部24执行的运算量,从而能够使处理高速化。
137.在步骤s209的处理中,在通过卡尔曼滤波器推定出的路面视差dr大于规定值的情况下,控制部24返回到步骤s203的处理,重复执行步骤s203~s209的处理。在通过卡尔曼滤波器推定出的路面视差dr为规定值以下的情况下(步骤s210),控制部24进入到下一个处理(步骤s211)。规定值例如可以是1个像素。
138.在步骤s211的处理中,在d-v相关图上,控制部24利用两条直线来近似纵向的图像坐标v与推定出的路面视差dr之间的关系。路面视差dr与距立体摄像头10的距离z有关。v坐标的值与距立体摄像头10的距离z以及路面高度y有关。因此,利用两条直线来近似v坐标与路面视差dr之间的关系是指,能够利用两条直线来近似距立体摄像头10的距离z与路面41a的高度之间的关系。在图14的流程图中详细说明步骤s211的处理。
139.首先,通过到图7的步骤s210为止的处理,获得路面视差dr与v坐标之间的相关关系。例如,v坐标与路面视差dr之间的相关关系在d-v坐标空间中如图15的虚线的图形51那样表示。在实际空间中,在路面41a平坦且没有倾斜变化的情况下,图形51为直线。但是,在现实的路面41a中,路面41a的倾斜可能因上下等起伏的变化而发生变化。在路面41a的倾斜发生变化的情况下,d-v坐标空间的图形51无法用直线表现。若要用三条以上的直线或曲线来近似路面41a的倾斜的变化,则物体检测装置20的处理负荷变大。因此,在本技术中,利用两条直线来近似曲线51。
140.如图15所示,控制部24利用第一直线52基于最小二乘法对d-v坐标空间中的下侧(近距离侧)的推定出的路面视差dr进行近似(步骤s401)。利用第一直线52进行的近似能够在物体检测装置20的作为物体检测的对象的距离范围中直到与规定的距离对应的路面视差dr为止的范围内进行。能够将规定的距离设为物体检测装置20的作为物体检测的对象的距离范围的一半的距离。例如,在物体检测装置20被设计为检测直到100m远为止的物体的情况下,可以通过最小二乘法将第一直线52确定为在从立体摄像头10能够测定的最近的距离到50m远为止的范围内最接近于图形51。
141.接下来,控制部24判定在步骤s401的处理中近似的第一直线52所表示的路面41a的倾斜是否是作为路面41a而可能存在的倾斜(步骤s402)。第一直线52的倾斜角度在变换为实际空间时成为平面。第一直线52的倾斜与根据立体摄像头10的设置位置的路面高度y0以及基线长度b等条件而确定的路面41a在yz平面内的倾斜角度对应。当与第一直线52对应的实际空间的路面41a的倾斜处于以实际空间中的水平面为基准的规定角度的范围内时,控制部24能够判定为与第一直线52对应的实际空间的路面41a的倾斜是可能存在的倾斜。当与第一直线52对应的实际空间的路面41a的倾斜处于以实际空间中的水平面为基准的规定角度的范围以外时,控制部24能够判定为与第一直线52对应的实际空间的路面41a的倾
斜是不可能存在的倾斜。能够考虑移动体30的行驶环境而适当设定规定角度。
142.在步骤s402的处理中,在判定为第一直线52的倾斜是作为路面41a而不可能存在的倾斜的情况下(步骤s402:否),控制部24基于假定了路面41a为平坦的理论路面来确定第一直线52(步骤s403)。能够基于立体摄像头10的设置位置的路面高度y0、设置角度以及基线长度b等的设置条件来计算理论路面。在根据图像计算出的路面视差dr无法信用时,控制部24采用理论路面的路面视差。例如,在将表示路面41a以外的物体或建筑物的视差误提取为路面视差dr的情况下,控制部24判断为路面41a具有非现实的倾斜,能够排除错误。由此,能够降低将表示路面41a以外的物体或建筑物的视差误判定为路面视差dr的可能性。
143.在步骤s402的处理中,在控制部24判定为第一直线52的倾斜是作为路面41a而可能存在的倾斜的情况下(步骤s402:是),以及在执行了步骤403的处理之后,控制部24进入到步骤s404的处理。在步骤s404的处理中,控制部24确定开始进行第二直线55的近似的近似开起点53。控制部24能够以从第一直线52的v坐标的最小的一侧(远距离侧)向较大的一侧(近距离侧)的顺序计算与图形51的近似误差,并且将近似误差连续小于规定值的第一直线52上的坐标作为近似开起点53。或者,也可以以从第一直线52的v坐标的最大的一侧(近距离图像侧)向较小的一侧(远距离侧)的顺序计算与图形51的近似误差,并且确定近似开起点53为近似误差大于规定值时的第一直线52上的坐标。近似开起点53的v坐标不被固定为特定的值。近似开起点53可以在第一直线52上设置在与物体检测装置20的作为物体检测的对象的距离范围的一半的距离相比更接近立体摄像头10侧的位置所对应的v坐标的位置。例如,在第一直线52在从能够测定的最近的距离到50m远为止的范围内近似路面41a的情况下,可以将近似开起点53设定在相比50m更靠前的40m所对应的v坐标的位置。
144.在执行步骤s404的处理之后,控制部24重复执行步骤s405~s407的处理。如图16所示,控制部24将与第一直线52的角度差作为从规定的角度范围选择的角度,依次选择以近似开起点53为起点的第二直线55的候补即候补直线54(步骤s405)。规定的角度范围被设定为在测定对象的距离范围内道路的坡度可以变化的角度。规定的角度范围例如可以为
±
3度。例如,控制部24能够将候补直线54的角度从第一直线52的角度-3度开始改变为依次增加0.001度的角度,直到第一直线52的角度 3度为止。
145.对于所选择的候补直线54,控制部24在d-v坐标空间中计算与图形51的近似开起点53相比更靠上侧(远距离侧)的部分的误差(步骤s406)。误差的计算可以通过视差d相对于v坐标的平均平方误差来计算。控制部24可以将针对每个候补直线54计算出的误差存储在存储器23中。
146.当针对角度范围内的所有候补直线54的误差的计算结束时(步骤s407),控制部24从存储器23中存储的误差中搜索最小的误差。如图17所示,控制部24选择具有最小误差的候补直线54作为第二直线55(步骤s408)。
147.当在步骤s408的处理中确定了第二直线55时,控制部24判定与第二直线55的图形51的误差是否在规定值以内(步骤s409)。适当地设定规定值,以获得期望的路面推定的精度。
148.在步骤s409的处理中,当误差在规定值以内时(步骤s409:是),利用第一直线52和第二直线55来近似路面视差dr。
149.在步骤s409的处理中,当误差超过规定值时(步骤s409:否),控制部24将第一直线
52向上侧(远距离侧)延长,重写近似结果(步骤s410)。如上所述,利用两条直线来近似路面视差dr。
150.利用两条直线来近似相对于v坐标的路面视差dr,由此利用两条直线来近似路面的形状。由此,与利用曲线或三条以上的直线来近似路面的形状的情况相比,能降低以后的计算的负荷且使物体检测的处理高速化。另外,与利用一条直线近似路面的情况相比,与实际的路面之间的误差较小。并且,由于不将第二直线55的近似开起点53的v坐标固定为规定的坐标,与预先固定近似开起点53的坐标的情况相比,能够提高与实际的路面的近似的精度。
151.在步骤s409的处理中,当误差为规定值以内时(步骤s409:是)以及在执行步骤s410的处理之后,控制部24结束利用直线近似路面视差dr的处理,返回到图7的步骤s212的处理。
152.在步骤s212的处理中,确定从第一视差图像中除去的路面视差dr的阈值(步骤s212)。从第一视差图像中除去的路面视差dr的阈值相当于后述的第一高度。可以以在下一步骤s103的处理中除去路面视差dr的方式来计算第一高度。
153.接下来,控制部24返回到图5的流程图。通过上述的处理,控制部24获取利用两条直线近似d-v坐标空间中的v坐标与路面视差dr之间的关系的近似式。根据表示d-v坐标空间中的v坐标与路面视差dr之间的关系的近似式,能获得实际空间中的立体摄像头10的前方的距离z与路面高度y之间的关系。控制部24基于近似式,执行(第二处理)(步骤s103)。第二处理是从第一视差图像中除去与实际空间中的距路面41a的高度为第一高度以下的范围对应的视差以及与距路面41a的高度为第二高度以上的被拍摄体对应的视差的处理。由此,控制部24根据图6所示的第一视差图像40生成图18所示那样的第二视差图像60。图18是为了说明而绘制的图。基于从立体摄像头10获取的图像的实际的第二视差图像例如如图19所示。在图19中,通过黑白的浓淡来表现视差的大小。图19所示的第二视差图像包括与其他车辆对应的视差图像44。
154.第一高度可以被设定为小于作为物体检测装置20的检测对象的物体的高度的最小值。作为物体检测装置20的检测对象的物体的高度的最小值可以是儿童的身高(例如50cm)。第一高度可以是大于15cm且小于50cm的值。通过在图6所示的第一视差图像40中包含噪声,有时通过前述的处理检测与路面对应的视差的检测精度会降低。在该情况下,若从第一视差图像40中仅除去与检测出的路面对应的视差,则有时在视差图像41的一部分中会残留与路面对应的视差。通过从第一视差图像40中除去与距路面41a的高度为第一高度以下的范围对应的视差,能获得从视差图像41中高精度地除去了与路面对应的视差的第二视差图像。
155.在图18所示的第二视差图像60中,除去与实际空间中的距路面的高度为第一高度以下的范围对应的视差的信息。通过这样的结构,在与路面对应的视差图像41中不包含视差的信息。与路面对应的视差图像41和与其他车辆对应的视差图像42相邻。在第二视差图像60中,由于视差图像41中不包含视差的信息,因此,在后续的处理中,对于与其他车辆对应的视差图像42的视差信息的处理能够变得容易。进一步地,通过除去与检测对象的物体不相关的不需要的视差,能够使后述的处理速度高速化。
156.第二高度可以基于作为物体检测装置20的检测对象的物体的高度的最大值来适
当地设定。当移动体30为车辆时,第二高度可以基于能够在道路上行驶的车辆的高度的上限值来设定。能够在道路上行驶的车辆的高度由交通法规等规定。例如,在日本的道路交通法中,卡车的高度原则上为3.8m以下。在该情况下,第二高度可以为4m。通过从第一视差图像中除去与距路面的高度为第二高度以上的物体对应的视差,从而从第一视差图像中除去与该物体对应的视差的信息。在图18所示的第二视差图像60中,通过除去与距路面的高度为第二高度以上的物体对应的视差,从而与位于v轴的负方向侧的物体对应的视差图像中不包含视差的信息。通过除去与第二高度以上的物体对应的视差的信息,在后续的处理中,对于在图18中的与其他车辆对应的视差图像42的视差信息的处理能够更容易地进行。进一步地,通过除去与检测对象的物体不相关的不需要的视差,能够使后述的处理速度高速化。
157.在执行了步骤s103的处理之后,控制部24从第二视差图像中检测第一视差以及第二视差(步骤s104)。在图20所示的流程图中示出了步骤s104的处理的详细内容。
158.在步骤s501的处理中,控制部24通过沿着u方向将第二视差图像以δu1进行分割而分割为多个部分区域。在图21中,将部分区域61与第二视差图像60重叠地表示。部分区域61可以是长边比短边明显长的长方形。部分区域61的长边为部分区域61的短边的5倍以上。部分区域61的长边可以是部分区域61的短边的10倍以上,也可以是部分区域61的短边的20倍以上。部分区域61的短边即δu1可以是几个像素至几十个像素。如后所述,以部分区域61为基准,可以检测出第一视差及第二视差。部分区域101a的短边即δu1越短,则第一视差和第二视差的检测的分辨率越高。控制部24可以从图21所示的u轴的负方向侧朝向正方向侧依次获取部分区域61,并执行以下的步骤s502至步骤s506的处理。
159.在步骤s502的处理中,控制部24针对每个部分区域生成视差直方图。在图22中示出了视差直方图的一例。图22的横轴与视差的大小对应。图22的纵轴与视差的频度对应。视差的频度是表示部分区域中所包含的该视差的视差像素的数量。如图21所示,在部分区域61中,可以包含与同一物体对应的视差图像内的多个视差像素。例如,在部分区域61-1中包含多个视差像素42a。多个视差像素42a是与其他车辆对应的视差图像42内的多个视差像素中的部分区域61-1中所包含的视差像素。在部分区域61中,与同一物体对应的多个视差像素所表示的视差可以为相同的程度。例如,在部分区域61-1中,多个视差像素42a所表示的视差可以为相同的程度。也就是说,在图22所示的视差直方图中,与同一物体对应的视差的频度能够变高。
160.在步骤s502的处理中,控制部24可以将图22所示的视差直方图的区间sn的宽度随着视差变小而扩大。区间sn是从视差较小的一侧数起第n个视差直方图的区间。区间sn的起点是视差dn-1。区间sn的终点是视差dn。例如,控制部24可以使区间sn-1的宽度比区间sn的宽度宽区间sn的宽度的10%左右。在从立体摄像头10到物体的距离较远的情况下,与从立体摄像头10到该物体的距离较近的情况相比,与该物体对应的视差可能变小。在从立体摄像头10到物体的距离较远的情况下,与从立体摄像头10到该物体的距离较近的情况相比,在立体图像上该物体所占的像素数量可能变少。也就是说,在从立体摄像头10到物体的距离较远的情况下,与从立体摄像头10到该物体的距离较近的情况相比,在第二视差图像上表示与该物体对应的视差的视差像素的数量能够变少。随着视差变小,图22所示的视差直方图的区间sn的宽度变宽,从而与处于距立体摄像头10远的距离的物体对应的视差能够易于通过后述的步骤s503~s506的处理来检测。控制部24可以针对视差直方图的每个区间依
次执行步骤s503~s506的处理。
161.在步骤s503的处理中,控制部24判定在所生成的视差直方图中是否存在视差的频度超过第一阈值tr1(规定阈值)的区间sn。控制部24在判定为存在视差的频度超过第一阈值tr1的区间sn时(步骤s503:是),将从区间sn的起点(视差dn-1)到区间sn的终点(视差dn)的范围的视差检测为第一视差(步骤s504)。控制部24将第一视差视为与物体对应的视差进行检测。控制部24将检测到的第一视差与u坐标建立关联地存储在存储器23中。另一方面,控制部24在判定为在所生成的视差直方图中不存在视差的频度超过第一阈值tr1的区间sn时(步骤s503:否),进入到步骤s505的处理。
162.第一阈值tr1可以基于作为物体检测装置20的检测对象的物体的高度的最小值(例如,儿童的身高50cm)来设定。但是,如上所述,在物体处于距立体摄像头10远的距离的情况下,与该物体处于距立体摄像头10近的距离的情况相比,与该物体对应的视差能够变小。在该情况下,如果使第一阈值tr1相对于视差保持恒定,则与处于距立体摄像头10近的距离的物体相比,存在难以检测出与处于距立体摄像头10远的距离的物体对应的视差的情况。因此,基于作为物体检测装置20的检测对象的物体的高度的最小值,第一阈值tr1可以被设定为随着视差直方图的视差变小而变大。例如,第一阈值tr1可以通过数学式(2)来计算。
163.tr1=(d
×
h)/b
ꢀꢀꢀꢀ
(2)
164.在数学式(2)中,视差d是与视差直方图的横轴对应的视差。高度h是作为物体检测装置20的检测对象的物体的高度的最小值。基线长度b是第一摄像头11的光学中心与第二摄像头12的光学中心之间的距离(基线长度)。
165.步骤s505的处理是判定是否检测第二视差的处理。在说明步骤s505的处理之前,对检测第二视差的理由进行说明。如上所述,在计算视差的匹配处理中,由于立体图像上的特征量较少,与物体对应的视差图像的一部分的视差可能未被计算出或者与其他部分的视差相比变小。例如,如图19所示,由于立体图像上的特征量较少,因此不能计算出与其他车辆对应的视差图像44的下侧的中央部的视差。若未计算出与物体对应的视差图像的一部分,则例如即使实际空间上的实际的高度为50cm以上的物体,在第二视差图像上也能够显示为实际空间上的高度小于50cm(例如10cm)的两个以上的独立的物体。也就是说,即使存在实际空间上的实际高度为检测目标的高度以上的物体,若与该物体对应的视差图像的一部分缺失,则通过上述的第一阈值tr1的判定处理,与该物体对应的视差可能不被检测为第一视差。因此,在本实施方式中,这种未被检测为第一视差的视差被检测为与物体对应的视差的候补即第二视差。通过检测为第二视差,能够在后述的图5所示的后述的步骤s107的处理中判定是否恢复为检测对象的物体的视差。
166.在步骤s505的处理中,控制部24判定在所生成的视差直方图中是否存在视差的频度为第一阈值tr1以下且超过第二阈值tr2(规定阈值)的区间sn。
167.第二阈值tr2可以是第一阈值tr1的规定比率。在针对同一物体的视差图像中,基于未计算出视差的部分与计算出视差的部分之间的比率来适当地设定规定比率。例如,规定比率可以是0.2。
168.在步骤s505的处理中,控制部24在判定为在所生成的视差直方图中存在视差的频度为第一阈值tr1以下且超过第二阈值tr2的区间sn时(步骤s505:是),进入到步骤s506的
处理。另一方面,控制部24在判定为在所生成的视差直方图中不存在视差的频度为第一阈值tr1以下且超过第二阈值tr2的区间sn时(步骤s505:否),返回到图5所示的步骤s105的处理。
169.在步骤s506的处理中,控制部24将从该区间sn的起点(视差dn-1)到区间sn的终点(视差dn)为止的范围的视差检测为第二视差(步骤s506)。控制部24将检测出的第二视差与u坐标建立关联地存储在存储器23中。控制部24在执行步骤s506的处理之后,返回到图5所示的步骤s105的处理。
170.在步骤s105的处理中,控制部24计算图像上的物体的高度。在图23至图25所示的流程图中示出了步骤s105的处理的详细内容。
171.以下,控制部24对作为视差图的第二视差图即第二视差图像执行计算物体的高度的计算处理。但是,控制部24可以对将视差与uv坐标建立了对应的任意的视差图执行计算物体的高度的计算处理。在物体的高度的计算处理中,控制部24通过在搜索对象的u坐标中沿着v方向扫描视差像素来计算图像上的物体的高度。例如,控制部24通过沿着v方向扫描表示视为与物体对应的视差的第一视差的视差像素和/或表示成为与物体对应的视差的候补的第二视差的视差图像,来计算图像上的物体的高度。
172.在开始步骤s601的处理时,控制部24获取u坐标的最小坐标作为搜索对象的u坐标。在本实施方式中,最小坐标及最大坐标在用于在图像上的扫描的情况下,是指扫描范围的最小坐标及最大坐标。扫描范围的最小坐标及最大坐标可以不与图像上的最小坐标及最大坐标一致。扫描范围的最小坐标及最大坐标可以任意地设定。
173.在步骤s601的处理中,控制部24参照存储器23,判定是否存在与搜索对象的u坐标建立了对应的通过图20所示的处理检测到的第一视差或者第二视差。
174.在图26中示出了第二视差图像70。在图26中示出了第二视差图像70的一部分。第二视差图像70相当于图18所示的第二视差图像60的区域62。第二视差图像70包含其他车辆的视差图像42。在第二视差图像70中,阴影部分是表示第一视差或者第二视差的视差像素。在搜索对象的u坐标是坐标(u0)时,控制部24判定为不存在与搜索对象的u坐标建立了对应的第一视差以及第二视差。在搜索对象的u坐标是坐标(u1)时,控制部24判定为存在与搜索对象的u坐标建立了对应的第一视差或者第二视差。
175.在步骤s601的处理中,控制部24在未判定出存在与搜索对象的u坐标建立了对应的第一视差或者第二视差的情况下(步骤s601:否),进入到步骤s602的处理。另一方面,控制部24在判定出存在与搜索对象的u坐标建立了对应的第一视差或者第二视差的情况下(步骤s601:是),进入到步骤s604的处理。
176.在步骤s602的处理中,控制部24判定搜索对象的u坐标是否为最大坐标。搜索对象的u坐标为最大坐标时是控制部24从最小坐标到最大坐标对u坐标完全进行了搜索时。控制部24在判定为搜索对象的u坐标为最大坐标时(步骤s602:是),结束图23所示的处理,返回到图5所示的步骤s106的处理。例如,当搜索对象的u坐标为图26所示的坐标(u0)时,控制部24判定为搜索对象的u坐标不是最大坐标。另一方面,控制部24在判定为搜索对象的u坐标不是最大坐标时(步骤s602:否),将搜索对象的u坐标增加1(步骤s603)。控制部24对通过步骤s603的处理增加1而得到的u坐标执行步骤s601的处理。例如,控制部24可以从图26所示的坐标(u0)开始对搜索对象的u坐标重复执行步骤s601~s603的处理,直到判定为存在与
搜索对象的u坐标建立了对应的第一视差或者第二视差为止。
177.在步骤s604的处理中,控制部24获取对象视差。对象视差可以仅是视为与物体对应的视差而检测出的第一视差。换言之,对象视差可以是满足作为规定条件的图20所示的步骤s503的判定处理的视差。或者,对象视差可以包含第一视差以及第二视差这两者。换言之,对象视差可以是满足作为规定条件的图20所示的步骤s503的判定处理以及步骤s505的判定处理的视差。以下,在从图23至图25所示的处理中,对对象视差包含第一视差以及第二视差这两者的情况进行说明。
178.在步骤s604的处理中,控制部24在存储于存储器23中的与搜索对象的u坐标建立了对应的第一视差及第二视差中,获取最大的视差作为对象视差。
179.在步骤s605的处理中,控制部24计算与对象视差对应的路面的v坐标。例如,控制部24通过将对象视差代入到表示在图7所示的步骤s211的处理中获取的路面的v坐标与路面视差dr之间的关系的近似式(图17)的路面视差dr中,来计算路面的v坐标。在图26中,假设搜索对象的u坐标为坐标(u1)。在该情况下,控制部24计算坐标(v1)作为路面的v坐标。
180.在步骤s606的处理中,控制部24根据计算出的路面的v坐标,判定在沿着v轴的负方向的规定范围以内是否存在与大致等于对象视差的视差建立了对应的坐标。在本发明中“大致等于对象视差的视差”包括:与对象视差相同的视差以及实质上与对象视差相同的视差。在本发明中,“实质上与对象视差相同的视差”是指在图像处理中可以视为对象视差来处理的视差。例如,可以将与对象视差的差在
±
10%的范围内的视差作为大致等于对象视差的视差。另外,步骤s602的处理中的规定范围可以基于从路面浮起的物体的距路面的高度适当设定。作为从路面浮起的物体的一个例子,能举出街道树、步行桥以及信号灯等。这种从路面浮起的物体是物体检测装置20的检测对象以外的物体。也就是说,对于这种从路面浮起的物体,可以不计算高度。
181.在步骤s606的处理中,控制部24在未判定出在从路面的v坐标起沿着v轴的负方向的规定范围以内存在与大致等于对象视差的视差建立了对应的坐标时(步骤s606:否),进入到不计算物体的高度的步骤607的处理。在步骤s607的处理中,控制部24对存储于存储器23中的在步骤s604的处理中获取的对象视差附加扫描完的标记。控制部24在执行了步骤s607的处理之后,再次执行步骤s601的处理。在再次执行的步骤s601的处理中,控制部24针对搜索对象的u坐标,判定是否存在未附加扫描标记的第一视差或者第二视差。在再次执行的步骤s604的处理中,在未附加扫描标记的第一视差及第二视差中,获取最大的视差作为对象视差。
182.在步骤s606的处理中,控制部24在判定出在从路面的v坐标起沿着v轴的负方向的规定范围以内存在与大致等于对象视差的视差建立了对应的坐标时(步骤s606:是),进入到步骤s608的处理。在步骤s608的处理中,控制部24获取存在于从路面的v坐标起沿着v轴的负方向的规定范围内的与大致等于对象视差的视差建立了对应的坐标作为第一坐标。在图26中,假设搜索对象的u坐标是坐标(u1)。另外,假设将大致等于对象视差的视差与视差像素71的坐标(u1,v2)建立了对应。也就是说,假设视差像素71表示大致等于对象视差的视差。另外,假设路面的v坐标的坐标(v0)和视差像素71的v坐标的坐标(v1)在规定范围内。在该情况下,控制部24获取视差像素71的坐标(u1,v2)作为第一坐标。
183.在执行步骤s608的处理之后,控制部24判定是否使大致等于对象视差的视差与将
第一坐标的v坐标减小1而得到的坐标建立了对应(步骤s609)。在图26中,假设第一坐标是视差像素71的坐标(u1,v2)。将视差像素71的v坐标减小1而得到的坐标是视差像素72的坐标(u1,v3)。假设视差像素72表示大致等于对象视差的视差。也就是说,假设使大致等于对象视差的视差与视差像素72的坐标(u1,v3)建立了对应。在该情况下,控制部24判定为使大致等于对象视差的视差与将作为第一坐标的坐标(u1,v2)的v坐标减小1而得到的视差像素72的坐标(u1,v3)建立了对应。
184.在步骤s609的处理中,控制部24在判定为使大致等于对象视差的视差与将第一坐标的v坐标减小1而得到的坐标建立了对应时(步骤s609:是),进入到步骤s610的处理。在步骤s610的处理中,控制部24更新将第一坐标的v坐标减小1而得到的坐标作为第一坐标。在图26中,当第一坐标是视差像素71的坐标(u1,v2)时,通过步骤s610的处理,将第一坐标更新为视差像素72的坐标(u1,v3)。在执行步骤s610的处理之后,控制部24返回到步骤s609的处理。例如,控制部24重复执行步骤s609的处理和步骤s610的处理,直到将图26所示的视差像素73的坐标(u1,v4)更新为第一坐标为止。使大致等于对象视差的视差与视差像素73的坐标(u1,v4)建立对应。
185.在步骤s609的处理中,控制部24在判定为大致等于对象视差的视差没有与将第一坐标的v坐标减小1而得到的坐标建立对应时(步骤s609:否),进入图24所示的步骤s611的处理。在图26中,假设第一坐标是视差像素73的坐标(u1,v4)。将视差像素73的v坐标减小1而得到的坐标是视差像素74的坐标(u1,v5)。视差像素74表示小于大致等于对象视差的视差的视差。也就是说,大致等于对象视差的视差没有与视差像素74的坐标(u1,v5)建立对应。在该情况下,控制部24判定为大致等于对象视差的视差没有与将作为第一坐标的坐标(u1,v4)的v坐标减小1个而得到的视差像素74的坐标(u1,v5)建立对应。
186.在步骤s611的处理中,控制部24判定第一坐标的v坐标是否为最小坐标。第一坐标的v坐标是最小坐标时是控制部24沿着v轴的负方向完全扫描了第二视差图像时。控制部24在判定为第一坐标的v坐标为最小坐标时(步骤s611:是),进入到步骤s616的处理。另一方面,控制部24在判定为第一坐标的v坐标不是最小坐标时(步骤s611:否),进入到步骤s612的处理。例如,在第一坐标是图26所示的视差像素73的坐标(u1,v4)的情况下,控制部24判定为第一坐标的v坐标(坐标(v4))不是最小坐标。
187.在说明步骤s612的处理之前,请再次参照图26。在图26中,假设第一坐标是视差像素73的坐标(u1,v4)。在视差像素73的v轴的负方向侧存在视差像素75。假设视差像素75表示大致等于对象视差的视差。视差像素73和视差像素75是与作为同一物体的其他车辆对应的视差图像42的一部分。然而,由于视差的偏差等,即使是包含在与同一物体对应的视差图像中的视差像素,也可能如视差像素73以及视差像素75那样在v方向上分开配置。
188.因此,在步骤s612的处理中,控制部24判定在从第一坐标的v坐标开始沿着v轴的负方向的规定间隔以内是否存在与大致等于对象视差的视差建立了对应的坐标。规定间隔可以基于物体检测装置20的检测对象的物体的高度来适当地设定。例如,规定间隔可以基于车辆的后面的高度(例如,80cm)来适当地设定。在图26中,视差像素73与视差像素75的v方向上的间隔在规定间隔以内。当第一坐标是视差像素73的坐标(u1,v4)时,控制部24判定为存在与大致等于对象视差的视差建立了对应的视差像素75的坐标(u1,v6)。
189.在步骤s612的处理中,控制部24在判定为在从第一坐标的v坐标开始沿着v轴的负
方向的规定间隔以内存在与大致等于对象视差的视差建立了对应的坐标时(步骤s612:是),进入到步骤s613的处理。另一方面,控制部24在判定为在从第一坐标的v坐标开始沿着v轴的负方向的规定间隔以内不存在与大致等于对象视差的视差建立了对应的坐标时(步骤s612:否),进入到步骤s615的处理。
190.步骤s613的处理的目的在于,判定对象视差与步骤s612的处理中的大致等于对象视差的视差是否为与同一物体对应的视差。在说明步骤s613的处理之前,参照图27以及图28,说明第二视差图像的一例。
191.在图27中示出了第二视差图像80。第二视差图像80是基于图28所示的第一图像90而生成的图像。第一图像90包括:与其他车辆对应的图像91、与街道树对应的图像92以及与建筑物对应的图像93。如图27所示,第二视差图像80包括:与图28所示的图像91对应的视差图像81、与图28所示的图像92对应的视差图像82以及与图28所示的图像93对应的视差图像85。
192.如图27所示,视差图像81包括视差像素83。视差图像82包括视差像素84。视差像素83和视差像素84的u坐标在坐标(u2)处相同。另外,在实际空间中,从立体摄像头10到与图28所示的图像91对应的其他车辆的距离与从立体摄像头10到与图28所示的图像92对应的街道树的距离大致相等。由于这两个距离大致相等,图27所示的视差图像81的视差像素83所表示的视差与图27所示的视差图像82的视差像素84所表示的视差可以大致相等。另外,在实际空间的高度方向上,与图28所示的图像92对应的其他车辆和与图28所示的图像92对应的街道树之间的距离较近。由于这两个距离较近,在图27所示的v方向上视差图像81的视差像素83与视差图像82的视差像素84之间的间隔在步骤s612的处理中的上述的规定间隔以内。
193.在图27所示的结构中,当将搜索对象的u坐标设为坐标(u2)时,控制部24获取视差像素83以及视差像素84所表示的视差作为对象视差。另外,控制部24可以将视差像素83的坐标更新为第一坐标。当搜索对象的u坐标是坐标(u2)时,优选计算出与视差图像81对应的高度t1作为图像上的物体的高度。作为设想例,当第一坐标是视差像素83的坐标时,认为由于视差像素83与视差像素84之间的间隔在上述的规定间隔以内,从而控制部24将视差像素84的坐标更新为第一坐标。在该设想例中,控制部24能够在与街道树对应的视差图像82的视差像素中持续进行扫描。其结果,控制部24将相对于视差图像82的高度,即与街道树对应的高度t2检测为物体的高度。
194.其中,在视差像素83与视差像素84之间存在多个视差像素86。多个视差像素86包含在视差图像85中。与视差图像85对应的建筑物位于比车辆以及街道树更远离立体摄像头10的位置。因此,视差图像85的多个视差像素86所表示的视差小于视差像素83以及视差像素84所表示的视差。
195.因此,在步骤s613的处理中,控制部24判定在第一坐标与第二坐标之间是否存在超过规定数量的与第三视差建立对应的坐标。第二坐标是位于从第一坐标沿着v轴的负方向的规定间隔以内的坐标,并且是与大致等于对象视差的视差建立了对应的坐标。例如,在第一坐标是图27所示的视差像素83的坐标的情况下,第二坐标成为视差像素84的坐标。第三视差是小于对象视差的视差。第三视差可以基于与背景对应的视差来设定。例如,可以假设由图27所示的视差像素86表示的视差来设定第三视差。在上述的规定间隔中,可以假设
包含表示第三视差的视差像素的数量来适当地设定规定数量。
196.在步骤s613的处理中,控制部24在判定为在第一坐标与第二坐标之间存在超过规定数量的与第三视差建立了对应的坐标时(步骤s613:是),进入到步骤s616的处理。例如,在第一坐标以及第二坐标是图27所示的视差像素83以及视差像素84的坐标的情况下,控制部24判定为在视差像素83的坐标与视差像素84的坐标之间存在超过规定数量的视差像素86。另一方面,控制部24在判定为在第一坐标与第二坐标之间不存在超过规定数量的与第三视差建立对应的坐标时(步骤s613:否),进入到步骤s614的处理。例如,在第一坐标以及第二坐标是图26所示的视差像素73的坐标以及视差像素75的坐标的情况下,控制部24判定为在视差像素73的坐标与视差像素75的坐标之间不存在超过规定数量的视差像素74。
197.在步骤s614的处理中,控制部24将第二坐标更新为第一坐标。例如,当第一坐标以及第二坐标是图26所示的视差像素73的坐标以及视差像素75的坐标时,控制部24将视差像素75的坐标(u1,v6)更新为第一坐标。在执行步骤s614的处理之后,控制部24返回到图23所示的步骤s609的处理。例如,在图26所示的结构中,控制部24可以重复执行从步骤s609开始的处理,直到将视差像素76的坐标(u1,v7)更新为第一坐标位置为止。
198.在步骤s615的处理中,控制部24判定从第一坐标开始沿着v轴的负方向超过规定间隔是否存在与大致等于对象视差的视差建立了对应的坐标。例如,当第一坐标是图26所示的视差像素76的坐标(u1,v7)时,控制部24判定为从坐标(u1,v7)开始沿着v轴的负方向超过规定间隔不存在与大致等于对象视差的视差建立了对应的坐标。控制部24在判定为从第一坐标开始沿着v轴的负方向超过规定间隔不存在与大致等于对象视差的视差建立了对应的坐标时(步骤s615:否),进入到步骤s616的处理。一方,控制部24在判定为从第一坐标开始沿着v轴的负方向超过规定间隔存在与大致等于对象视差的视差建立了对应的坐标时(步骤s615:是),进入到图25所示步骤s618的处理。
199.在步骤s616的处理中,控制部24通过从第一坐标的v坐标中减去路面的坐标的v坐标,来计算图像上的物体的高度。在第一坐标是图26所示的视差像素76的坐标(u1,v7)的情况下,控制部24通过从视差像素76的v坐标(坐标(v7))中减去路面的坐标的v坐标(坐标(v1)),来计算物体的高度。在第一坐标是图27所示的视差像素83的坐标时,控制部24通过从视差像素83的v坐标中减去路面的v坐标(坐标(v8)),来计算物体的高度t1。如图27所示,通过步骤s613、s616的处理,即使其他车辆的视差图像81与街道树的视差图像82位于的比较靠近,也能够高精度地计算其他车辆的高度。在步骤s616的处理中,控制部24将计算出的图像上的物体的高度与第一坐标建立关联地存储在存储器23中。
200.在步骤s616的处理中,控制部24可以将计算出的图像上的物体的高度变换为实际空间上的物体的高度。在实际空间上的物体的高度小于检测对象的物体的高度的最小值的情况下,控制部24可以废弃计算出的物体的高度的信息。例如,在检测对象的物体的高度的最小值为50cm的情况下,控制部24在实际空间上的物体的高度小于40cm的情况下,可以废弃计算出的物体的高度的信息。
201.在执行步骤s616的处理之后,控制部24执行步骤s617的处理。在步骤s617的处理中,控制部24在对象视差中附加扫描完的标记。在执行步骤s617的处理之后,控制部24返回到图23所示的步骤s601的处理。
202.在说明步骤s618的处理之前,参照图29对第二视差图像的一例进行说明。在图29
中示出了第二视差图像100。在图29中示出了第二视差图像100的一部分。视差图像101是基于图30所示的第一图像106生成的视差图像。第一图像106包括与卡车的后面对应的图像107。
203.如图29所示,第二视差图像100包含视差图像101。视差图像101与图30所示的图像107对应。视差图像101包括视差像素102、视差像素103、视差像素104、以及视差像素105。视差像素103与图30所示的图像107的下部图像107a对应。视差像素104以及视差像素105与图30所示的图像107的上部图像107b对应。由于视差像素103所表示的视差、视差像素104所表示的视差、以及视差像素105所表示的视差是与作为同一物体的卡车对应的视差,因此大致相等。
204.如图29所示,多个视差像素102位于视差图像101的中央部。在多个视差像素102中,未计算视差。也就是说,多个视差像素102不包括视差的信息。一般而言,在卡车的后面的中央部中,立体图像上的特征量较少。在卡车的后面的中央部中,由于立体图像上的特征量较少,因此在计算视差的上述的匹配处理中,有时像视差像素102那样未计算视差。
205.在图29所示的结构中,作为设想例,考虑控制部24将搜索对象的u坐标作为坐标(u3)沿着v方向进行扫描的例子。在设想例中,优选计算与视差图像101对应的高度t3,即卡车的高度,作为物体的高度。在设想例中,控制部24可以获取视差像素103所表示的视差作为对象视差。另外,控制部24将视差像素103的坐标(u3,v
10
)更新为第一坐标。为了计算高度t3,在上述的步骤s614的处理中,需要将视差像素104的坐标(u3,v
11
)更新为第一坐标。为了将视差像素104的坐标(u3,v
11
)更新为第一坐标,需要使上述的步骤s613中的规定间隔比视差像素104的v坐标(坐标(v
11
))与视差像素103的v坐标(坐标(v
10
))之间的间隔宽。然而,若扩大上述的步骤s613的处理中的规定间隔,则误计算物体的高度的可能性变高。
206.因此,控制部24通过执行步骤s618~s622的处理,计算图29所示的高度t4为第一候补高度,并且计算图29所示的高度t3为第二候补高度。在后述的图5所示的步骤s107中,控制部24判定获取第一候补高度和第二候补高度中的哪一个作为物体的高度。通过这样的结构,可以不扩大上述的步骤s613的处理中的规定间隔。由于未扩大上述的步骤s613的处理中的规定间隔,因此能够降低误计算物体的高度的可能性。
207.在步骤s618的处理中,控制部24获取候补坐标。候补坐标是从第一坐标开始沿着v轴的负方向超过规定间隔而存在的坐标,并且是与大致等于对象视差的视差建立了对应的坐标。例如,在第一坐标是图29所示的视差像素103的坐标(u3,v
10
)时,控制部24获取视差像素104的坐标(u3,v
11
)作为候补坐标。
208.在步骤s619的处理中,控制部24通过从第一坐标的v坐标中减去路面的坐标的v坐标,来计算第一候补高度。例如,在第一坐标为图29所示的视差像素103的坐标(u3,v
10
)时,控制部24通过从视差像素103的v坐标(坐标(v
10
))中减去路面的v坐标(坐标(v9)),来计算第一候补高度t4。在步骤s619的处理中,控制部24将计算出的第一候补高度与第一坐标建立关联地存储在存储器23中。例如,控制部24将图29所示的第一候补高度t4与第一坐标的视差像素103的坐标(u3,v
10
)建立关联地存储在存储器23中。
209.在步骤s620的处理中,控制部24判定大致等于对象视差的视差是否与将候补坐标的v坐标减小1而得到的坐标建立了对应。控制部24在判定为大致等于对象视差的视差与将候补坐标的v坐标减小1而得到的坐标建立了对应时(步骤s620:是),进入到步骤s621的处
理。在步骤s621的处理中,控制部24更新将候补坐标的v坐标减小1而得到的坐标作为候补坐标。在执行了步骤s621的处理之后,控制部24返回到步骤s620的处理。例如,在图29所示的结构中,控制部24重复执行步骤s620的处理和步骤s621的处理,直到将视差像素105的坐标(u3,v
12
)更新为候补坐标为止。另一方面,控制部24在判定为大致等于对象视差的视差没有与将候补坐标的v坐标减小1而得到的坐标建立对应时(步骤s620:否),进入到步骤s622的处理。例如,在候补坐标是图29所示的视差像素105的坐标(u3,v
12
)的情况下,控制部24判定为大致等于对象视差的视差没有与将候补坐标的v坐标减小1而得到的坐标建立对应。
210.在步骤s622的处理中,控制部24通过从候补坐标的v坐标中减去路面的v坐标,来计算第二候补高度。例如,在候补坐标是图29所示的视差像素105的坐标(u3,v
12
)的情况下,控制部24通过从视差像素105的v坐标(坐标(v
12
))中减去路面的v坐标(坐标(v9)),来计算第二候补高度t3。在步骤s622的处理中,控制部24将计算出的第二候补高度与候补坐标建立关联地存储在存储器23中。例如,控制部24将图29所示的第二候补高度t3与候补坐标的视差像素105的坐标(u3,v
12
)建立关联地存储在存储器23中。在执行完步骤s622的处理之后,控制部24进入到步骤s623的处理。
211.在步骤s623的处理中,控制部24对存储在于存储器23中的、在步骤s604的处理中获取的对象视差附加扫描完的标记。在执行步骤s623的处理之后,控制部24返回到图23所示的步骤s601的处理。
212.在步骤s106的处理中,控制部24执行平行物体的检测处理。在图31所示的流程图中示出了步骤s106的处理的详细内容。
213.在步骤s701的处理中,控制部24生成或者获取ud图。ud图也被称为“u-disparity空间”以及“u-d坐标空间”。ud图是使由u方向和与视差的大小对应的d方向构成的二维坐标与对象视差建立了对应的图。对象视差可以仅是视为与物体对应的视差而检测出的第一视差。或者,对象视差可以包括第一视差以及第二视差这两者。以下,假设对象视差包括第一视差以及第二视差。控制部24可以获取存储在存储器23中的第一视差以及第二视差,生成ud图。或者,控制部24可以通过获取部21从外部获取ud图。
214.在图32中示出了ud图110。ud图110的横轴与u轴对应。ud图110的纵轴与表示视差的大小的d轴对应。由u坐标和d坐标构成的坐标系也被称为“ud坐标系”。在ud图110中,将朝向图32的纸面的左下侧的角作为ud坐标系的原点(0,0)。图32所示的标绘点是与通过图20所示的处理检测出的第一视差以及第二视差建立了对应的坐标点。坐标点也简称为“点”。ud图110包括点群111、点群112、点群113、点群114、以及点群115。ud图110是基于根据图33所示的第一图像120生成的第二视差图像而生成的图。
215.如图33所示,第一图像120包括:与护栏对应的图像121、与其他车辆对应的图像122以及图像123、与歩行者对应的图像124、以及与侧壁对应的图像125。从图像121~125中的每一个检测到的第一视差以及第二视差对应于图32所示的点群111~点群115中的每一个。图像121以及图像125可以是与平行物体对应的图像。也就是说,图32所示的点群111以及点群115可以是与平行物体对应的视差。平行物体的检测处理的目的之一是检测像图32所示的点群111以及点群115那样的与平行物体对应的视差。
216.在本实施方式中,通过在后述的步骤s704的处理中应用霍夫(hough)变换,来检测像图32所示的点群111以及点群115那样的与平行物体对应的视差。然而,如图32所示,点群
112以及点群113位于点群111以及点群115的附近。如果点群112以及点群113位于点群111以及点群115的附近,则通过后述的步骤s704的处理中的霍夫变换,可以降低检测点群111以及点群115的精度。因此,通过步骤s702的处理,控制部24判定是否存在如图32那样的位于点群111以及点群115附近的点群112以及点群113。
217.具体来说,在步骤s702的处理中,控制部24判定是否存在与u方向大致平行的点群。如图32所示,位于点群111以及点群115附近的点群112以及点群113是从与图33所示的其他车辆对应的图像122以及123获取的视差。其他车辆包括与路面的宽度方向大致平行的部分。如图32所示,由于其他车辆包括与路面的宽度方向大致平行的部分,因此点群112以及点群113可以成为与u方向大致平行的形状。因此,通过判定是否存在与u方向大致平行的点群,可以判定是否存在像图32所示那样的点群112以及点群113。
218.作为步骤s702的处理的一例,首先,控制部24沿着ud图的u方向扫描。例如,控制部24从图32所示的ud图110的u轴的负方向侧向u轴的正方向侧进行扫描。控制部24一边沿着ud图的u方向扫描,一边判定是否存在沿着u方向在规定范围连续地排列的点。规定范围可以基于相对于车辆的图像(例如,图33所示的图像122以及图像123)的沿着u方向的长度来设定。控制部24在判定为存在沿着u方向在规定范围连续地排列的点时,判定为存在与u方向大致平行的点群。控制部24将沿着u方向在规定区间连续地排列的视差点检测为与u方向大致平行的点群。例如,控制部24将图32所示的点群112以及点群113检测为与u方向大致平行的点群。
219.在步骤s702的处理中,控制部24在判定为存在与u方向大致平行的点群时(步骤s702:是),进入到步骤s703的处理。另一方面,控制部24在判定为不存在与u方向大致平行的点群时(步骤s702:否),进入到步骤s704的处理。
220.在步骤s703的处理中,控制部24从ud图中除去与检测出的u方向大致平行的点群。代替从ud图中除去与u方向大致平行的点群,控制部24可以将ud图的坐标点中的与u方向大致平行的点群仅从后述的步骤s704的处理中的霍夫变换的应用中排除。在图34中示出了已除去与u方向大致平行的点群的ud图110。在图34所示的ud图110中,除去了图32所示的点群112以及点群113。
221.在步骤s704的处理中,控制部24通过对ud图中所包含的点应用霍夫变换,来检测直线。其中,通过将ud图变换为由x-z坐标构成的实际空间的坐标系,并将霍夫变换应用于变换后的实际空间的坐标系,也能够检测直线。但是,如果第一摄像头11与第二摄像头12之间的基线长度b较短,则有时会导致包含在实际空间的坐标系中的坐标点的间隔比包含在ud图中的坐标点的间隔稀疏。如果坐标点的间隔稀疏,有时通过霍夫变换不能高精度地检测直线。在本实施方式中,通过对ud图应用霍夫变换,即使第一摄像头11与第二摄像头12之间的基线长度b较短,也能够高精度地检测直线。
222.参照图35以及图36对步骤s704的处理的一例进行说明。
223.在图35中示出了ud图的一部分。点131、132、133、134是ud图上的坐标点。以点131为例来说明霍夫变换。ud图上的点131的uv坐标是坐标(u
131
,d
131
)。通过点131的直线l1可以被无限地定义。例如,从uv坐标的原点(0,0)到直线l1-1的法线的长度为长度r。该法线从u轴向d轴的正方向倾斜角度θ。控制部24通过将长度r及角度θ设为变量,获取以下的数学式(3)作为通过点131的直线l1的通式。
224.r=u
131
×
cosθ d
131
×
sinθ
ꢀꢀꢀꢀꢀ
(3)
225.控制部24将直线l1的式子(数学式(3))投影到如图36所示那样的作为霍夫空间的rθ平面上。图36所示的rθ平面的横轴是r轴。图36所示的rθ平面的纵轴是θ轴。图36所示的曲线131l是数学式(3)表示的曲线。曲线131l在rθ平面中表示为正弦曲线。与点131类似地,控制部24获取通过图35所示的点132~134的直线的式子。与点131类似地,控制部24将通过获取的点132~134的直线的式子投影到如图36所示那样的作为霍夫空间的rθ平面上。图36所示的曲线132l~134l分别与通过获取的图35所示的点132~134的直线对应。如图36所示,曲线131l~134l可以在点p
l
交叉。控制部24获取点p
l
的rθ坐标(坐标(θ
l
,r
l
))。控制部24基于点p
l
的坐标(θ
l
,r
l
),检测通过图35所示的点131~134的直线的式子。控制部24检测下面的数学式(4)作为通过图35所示的点131~点134的直线。
226.r
l
=u
×
cosθ
l
d
×
sinθ
l
ꢀꢀꢀꢀ
(4)
227.通过执行步骤s704的处理,如图34所示,控制部24可以检测与点群111对应的直线111l、以及与点群115对应的直线115l。
228.另外,如图33所示,与平行物体对应的图像121以及图像125向消失点120
vp
延伸。如图34所示,由于图像121以及图像125向消失点120
vp
延伸,因此点群111以及点群115也向与消失点120
vp
对应的消失点110
vp
延伸。由于点群111以及点群115也向消失点110
vp
延伸,因此直线111l以及直线115l可以也向消失点110
vp
延伸。
229.因此,在步骤s704的处理中,控制部24在获取通过ud图上的点的直线的式子时,可以获取通过该点的直线中的、通过基于消失点的规定范围的直线的式子。例如,控制部24在获取通过图35所示的点131的直线l1的式子时,可以获取通过点131的无限地存在的直线l1中的、通过点131和规定范围δu
vp
的直线的式子。规定范围δu
vp
是基于消失点的范围。规定范围δu
vp
包括点135。点135可以是移动体30的行进方向为直行时的消失点。通过使无限远方的视差为零,点135的d坐标可以是零。由于当移动体30的行进方向为直行时,消失点的u坐标为u坐标的最大坐标的二分之一,因此点135的u坐标(坐标u
vp
)可以是u坐标的最大坐标的二分之一。规定范围δu
vp
可以基于移动体30在弯道上行驶时的、图34所示的消失点110
vp
与点135的偏移量来适当设定。通过这样的处理,如图36所示,在霍夫空间的rθ平面中,绘制曲线131l~134l的θ轴的范围能够缩小到范围δθ
vp
。通过将绘制曲线131l~134l的θ轴的范围缩小到范围δθ
vp
,可以降低霍夫变换的运算量。通过降低霍夫变换的运算量,可以使霍夫变换的处理高速化。
230.在步骤s705的处理中,控制部24判定通过步骤s704的处理检测出的直线的长度是否超过规定长度。规定长度可以基于沿着路面而设置的建筑物即平行物体的长度来适当地设定。控制部24在判定为直线的长度在规定长度以下时(步骤s705:否),返回到图5所示的步骤s107的处理。另一方面,控制部24在判定为直线的长度超过规定长度时(步骤s705:是),对与该直线对应的点群附加平行物体标记(步骤s706)。例如,控制部24对图34所示的点群111以及点群115附加平行物体标记。在执行步骤s706的处理之后,控制部24进入到图5所示的步骤s107的处理。
231.在步骤s107的处理中,控制部24执行恢复处理。在图37所示的流程图中示出了步骤s107的处理的详细内容。
232.在步骤s801的处理中,控制部24进行与图31所示的步骤s701的处理相同或者类似
的处理,生成或者获取ud图。在图31所示的步骤s701的处理中生成ud图的情况下,控制部24可以获取在图31所示的步骤s701的处理中生成的ud图。
233.在图38中示出了ud图140。ud图140是放大图34所示的ud图110的一部分的图。ud图140的横轴与u轴对应。ud图140的纵轴与表示视差的大小的d轴对应。在图38中,ud图140作为图像而示出。ud图140的像素表示视差。标有阴影线的像素是表示第一视差的像素。表示第一视差的像素,即,与第一视差建立了对应的坐标也被称为“第一视差点”。标有圆点的像素是表示第二视差的像素。表示第二视差的像素,即,与第二视差建立了对应的坐标也被称为“第二视差点”。ud图140包括:第一视差点141、第一视差点142、以及第二视差点143。ud图140是基于包含与车辆的后面对应的视差图像的第二视差图像而生成的图。由于后玻璃等位于车辆的后面的中央部,因此立体图像上的特征量较少。在其他车辆的后面的中央部中,由于立体图像上的特征量较少,因此与其他部分的视差相比,如图19所示的视差图像44那样,有时能够获取的视差的信息变少。例如,如图38所示,在第一视差点141与第一视差点142之间存在第二视差点143。
234.在步骤s802的处理中,在ud图的u方向上,控制部24判定被夹在第一视差点之间的第二视差点是否超过规定范围而存在。例如,控制部24从ud图的u轴的负方向侧向u轴的正方向侧进行扫描。控制部24通过沿着u方向进行扫描,在ud图的u方向上,判定被夹在第一视差点之间的第二视差点是否超过规定范围而存在。规定范围可以基于实际空间上的车辆的后面的宽度(例如,1m)来适当地设定。在被夹在第一视差点之间的第二视差点超过规定范围而存在的情况下,这些第二视差点很可能是分别对应于例如并行的不同的车辆这样的不同的物体的视差。与此相对地,在被夹在第一视差点之间的第二视差点存在于规定范围内的情况下,这些第二视差点很可能是对应于同一物体对应的视差。在图38所示的ud图140的u方向上,被夹在第一视差点141与第一视差点142之间的多个第二视差点143存在于规定范围内。在ud图140的u方向上,控制部24未判定出被夹在第一视差点141与第一视差点142之间的第二视差点143超过规定范围而存在。
235.在步骤s802的处理中,在ud图的u方向上,控制部24在判定为被夹在第一视差点之间的第二视差点超过规定范围而存在时(步骤s802:是),进入到步骤s805的处理。另一方面,在ud图的u方向上,控制部24在未判定为被第一视差点之间的第二视差点超过规定范围而存在时(步骤s802:否),进入到步骤s803的处理。
236.在步骤s803的处理中,控制部24获取与夹着第二视差点的两个第一视差点分别建立了对应的第一视差。例如,控制部24获取与图38所示的第一视差点141建立了对应的第一视差以及与第一视差点142建立了对应的第一视差。进一步地,在步骤s802的处理中,控制部24判定分别与获取的两个第一视差中的每一个对应的实际空间上的高度的差分是否为规定高度以内。例如,控制部24判定与图38所示的第一视差点141的第一视差对应的实际空间上的高度和与第一视差点142的第一视差对应的实际空间上的高度之间的差分是否为规定高度以下。规定高度可以基于实际空间上的车辆的高度(例如,1m)来适当地设定。
237.在步骤s803的处理中,控制部24在判定为分别与获取的两个第一视差中的每一个对应的实际空间上的高度的差分为规定高度以内时(步骤s803:是),进入到步骤s804的处理。在步骤s804的处理中,控制部24对被夹在第一视差点之间的超过规定范围的第二视差点附加恢复标记。如上所述,第二视差点是表示第二视差的ud坐标。也就是说,步骤s804的
处理也可以称为对第二视差和与该第二视差建立了对应的u坐标附加恢复标记的处理。图39表示附加了恢复标记的ud图140。图39所示的标有粗阴影线的像素是附加了恢复标记的第二视差点。
238.在步骤s803的处理中,控制部24在判定为分别与所获取的两个第一视差中的每一个对应的实际空间上的高度的差分超过规定高度时(步骤s803:否),进入到步骤s805的处理。
239.步骤s805以后的处理是判定获取在图25所示的步骤s619的处理中计算出的第一候补高度以及在图25所示的步骤s622的处理中计算出的第二候补高度中的哪一个作为物体的高度的处理。在说明步骤s805以后的处理之前,参照图40和图41说明第二视差图像的一例。
240.在图40中示出了第二视差图像150。在图41中示出了第二视差图像160。在图40以及图41中示出了第二视差图像150以及第二视差图像160的一部分。在第二视差图像150以及第二视差图像160中,白色的视差像素是不包含视差的信息的像素。标有较粗的阴影线的视差像素是包含视差的信息的像素。标有较细阴影线的视差像素是用于计算图25所示的步骤s622的处理中的第二候补高度的视差像素。在图25所示的步骤s622的处理中,标有较细的阴影线的视差像素的坐标作为候补坐标与第二候补高度进行关联。标有粗圆点的视差像素是用于计算图25所示的步骤s619的处理中的第一候补高度的视差图像。在图25所示的步骤s619的处理中,标有粗圆点的视差像素的坐标作为第一坐标与该第一候补高度进行关联。标有细圆点的视差像素是用于计算图24所示的步骤s616的处理中的物体的高度的视差像素。在图24所示的步骤s616的处理中,标有细圆点的视差像素的坐标作为第一坐标与物体的高度进行关联。
241.与图29所示的第二视差图像100类似,图40所示的第二视差图像150是基于图30所示的卡车的后面的图像107而生成的图像。白色的视差像素位于第二视差图像150的中央部。也就是说,在第二视差图像150中,未计算中央部的视差像素的视差。在第二视差图像150中,计算包围中央部的视差像素的视差。
242.图40所示的第二视差图像150包含视差像素151、152、153、154。视差像素151是用于计算第二候补高度的视差像素。视差像素151的坐标作为候补坐标与第二候补高度进行关联。视差像素152以及视差像素153是用于计算物体的高度的视差像素。视差像素152以及视差像素153的坐标中的每一个分别作为第一坐标与物体的高度进行关联。视差像素154是用于计算第一候补高度的视差像素。视差像素154的坐标作为第一坐标与第一候补高度进行关联。
243.与图29所示的视差像素105类似,视差像素151与图30所示的卡车的后面的图像107的上部图像107b对应。与图29所示的视差像素103类似,视差像素154与图30所示的卡车的后面的图像107的下部图像107a对应。在图40所示的结构中,需要获取基于视差像素151的第二候补高度以及基于视差像素154的第一候补高度中的、基于视差像素151的第二候补高度作为物体的高度即图30所示的卡车的高度。
244.图41所示的第二视差图像160是基于图42所示的第一图像170而生成的视差图像。第一图像170包括其他车辆的上部的图像171和与街道树对应的图像172。由图像171生成的视差与由图像172生成的视差大致相等。图像172包含部分图像172a和部分图像172b。部分
图像172a和车辆的图像171位于第一图像170的u方向的中央部。部分图像172a的u坐标与其他车辆的图像171的u坐标的一部分相同。部分图像172a比其他车辆的图像171更靠近v轴的负方向侧。部分图像172b比部分图像172a以及图像171更靠近u轴的负方向侧。
245.图41所示的第二视差图像160包括:视差像素161、视差像素162、以及视差像素163。视差像素161是用于计算第二候补高度的视差像素。根据视差像素161的坐标计算图42所示的街道树的部分图像172a的高度作为第二候补高度。视差像素161的坐标作为候补坐标与第二候补高度进行关联。视差像素162是用于计算物体的高度的视差像素。根据视差像素162的坐标计算图42所示的街道树的部分图像172b的高度作为物体的高度。视差像素162的坐标作为候补坐标与物体的高度进行关联。视差像素163是用于计算第一候补高度的视差像素。根据视差像素163的坐标计算图42所示的车辆的图像171的高度作为第一候补高度。视差像素163的坐标作为第一坐标与第一候补高度进行关联。
246.在图41所示的结构中,需要获取基于视差像素163的第一候补高度、以及基于视差像素161的第二候补高度中的、基于视差像素163的第一候补高度作为物体的高度即图42所示的车辆的图像171的高度。
247.在步骤s805~s807的处理中,控制部24基于与夹着候补坐标的两个坐标建立了对应的视差,判定获取第一候补高度和第二候补高度中的哪一个作为物体的高度。
248.具体来说,在步骤s805的处理中,控制部24通过沿着u方向扫描第二视差图像,判定在u方向上是否存在夹着候补坐标的两个第一坐标。如上所述,如图23所示,大致等于对象视差的视差与第一坐标建立对应。也就是说,步骤s805的处理也可以称为判定在u方向上分别与夹着候补坐标的两个坐标建立了对应的视差是否为对象视差。
249.例如,在图40所示的第二视差图像150的u方向上,视差像素151的候补坐标被视差像素152的第一坐标与视差像素153的第一坐标夹着。在图40所是的结构中,控制部24判定为存在夹着视差像素151的候补坐标的视差像素152的第一坐标和视差像素153的第一坐标。
250.例如,在图41所示的第二视差图像160的u方向的方向上,视差像素162的第一坐标位于视差像素161的候补坐标的u轴的负方向侧。另一方面,第一坐标不位于视差像素161的候补坐标的u轴的正方向侧。在图41所示的结构中,控制部24判定为不存在夹着视差像素161的候补坐标的两个第一坐标。
251.在步骤s805的处理中,控制部24在判定为在第二视差图像的u方向上存在夹着第一坐标的两个候补坐标时(步骤s805:是),进入到步骤s806的处理。另一方面,控制部24在判定为在第二视差图像的u方向上存在夹着第一坐标的两个候补坐标时(步骤s805:否),进入到步骤s807的处理。
252.在步骤s806的处理中,控制部24判定为获取第一候补高度以及第二候补高度中的第二候补高度作为物体的高度。通过步骤s805、s806的处理,控制部24在判定为分别与夹着候补坐标的两个坐标建立了对应的视差是对象视差时,获取第二候补高度作为物体的高度。例如,控制部24判定为获取基于图40所示的视差像素154的坐标的第一候补高度、以及基于视差像素151的坐标的第二候补高度中的、基于视差像素151的坐标的第二候补高度作为物体的高度。在图43中示出了在图40所示的第二视差图像150中用于判定物体的高度的视差像素。在图43中,基于标有细阴影线的视差像素的坐标来计算物体的高度。如图43所
示,获取基于视差像素151的第二候补高度、以及基于视差像素154的第一候补高度中的、基于视差像素151的第二候补高度作为物体的高度即图30所示的卡车的高度。
253.在步骤s807的处理中,控制部24判定为获取第一候补高度以及第二候补高度中的第一候补高度作为物体的高度。通过步骤s805、s807的处理,控制部24在未判定出分别与夹着候补坐标的两个坐标对应的视差是对象视差时,判定为获取第一候补高度作为物体的高度。例如,控制部24判定为获取基于图41所示的视差像素163的坐标的第一候补高度、以及基于视差像素161的坐标的第二候补高度中的、基于视差像素163的坐标的第一候补高度作为物体的高度。在图44中示出了在图41所示的第二视差图像160中用于判定物体的高度的视差像素。在图44中,基于标有细阴影线的视差像素的坐标来计算物体的高度。如图44所示,获取基于视差像素163的第一候补高度、以及基于视差像素161的第二候补高度中的、基于视差像素163的第一候补高度作为物体的高度即图42所示的车辆的图像171的高度。
254.在执行步骤s806、s807的处理之后,控制部24进入到图5所示的步骤s108的处理。
255.在步骤s108的处理中,控制部24执行代表视差的确定处理。在图45所示的流程图中示出了步骤s108的处理的详细内容。
256.在步骤s901的处理中,控制部24进行与图31所示的步骤s701的处理相同或类似的处理,生成ud图。在图31所示的步骤s701的处理中生成ud图的情况下,控制部24可以获取在图31所示的步骤s701的处理中生成的ud图。
257.在步骤s902的处理中,控制部24在ud图的各个u坐标中,从第一视差以及通过图36所示的步骤s804的处理附加了恢复标记的第二视差中获取代表视差。控制部24从通过图31所示的步骤s706的处理没有附加平行物体标记的第一视差以及附加了恢复标记的第二视差中获取代表视差。
258.其中,在从立体摄像头10到物体的距离较近的情况下,与从立体摄像头10到该物体的距离较远的情况相比,该物体在立体图像上所占的像素数量可能变多。另外,越是远离立体摄像头10的物体,越受到噪声等影响,从而检测与该物体对应的视差的精度恶化。也就是说,越是靠近立体摄像头10的物体,检测与该物体对应的视差的精度越高。
259.因此,在步骤s902的处理中,在ud图的各个u坐标中,控制部24从第一视差以及附加了恢复标记的第二视差中,获取与靠近立体摄像头10的物体对应的视差即最大的视差作为代表视差。进一步地,控制部24可以获取与靠近立体摄像头10的物体即与大于作为物体检测装置20的检测对象的物体的高度的最小值(例如,50cm)的物体对应的视差作为代表视差。
260.在图46中示出了与u方向对应的所获取的代表视差的一例。在图46所示的例子中,相对于各个u坐标的代表视差的偏差较大。如果代表视差相对于各个u坐标的偏差较大,则有可能增加步骤s109的处理中的分组处理的运算量。
261.因此,在步骤s903的处理中,控制部24可以在规定范围中将代表视差进行平均化。通过在规定范围中将代表视差进行平均化,能够降低步骤s109的处理中的分组处理的运算量。可以考虑后述的步骤s109的处理等运算负荷等适当地设定规定范围。在进行平均化中,控制部24可以获取规定范围的中央值的代表视差。控制部24可以在规定范围内,从提取的中央值中除去偏移了规定比率(例如5%)的代表视差,来计算代表视差的平均值。在图47中示出了与u方向对应的平均化后的代表视差的一例。在执行步骤s903的处理之后,控制部24
进入到图5所示的步骤109的处理。
262.控制部24可以在执行了图5所示的步骤s104~s108的处理即第三处理之后,针对包含一个或者多个坐标的横向的坐标(u坐标)的每个规定范围,将代表视差de与物体的高度信息建立关联地存储在存储器23中。如图48所示,存储在存储器23中的多个代表视差de能够表示为以u坐标和视差d分别作为横轴和纵轴的二维空间(u-d坐标空间)上的点群的分布。
263.在步骤s109的处理中,控制部24通过将u-d坐标空间的代表视差de的信息变换为由x-z坐标构成的实际空间的坐标系,提取代表视差de的集合(组),来执行检测物体的处理(第四处理)。参照图49以及图50,对步骤s109的处理的一例进行说明。
264.图49是实际空间上的结构的一例。在图49中示出了在道路的路面41a上行驶的搭载有物体检测系统1的移动体30以及其他车辆42a。在图49中,移动体30是车辆。
265.搭载于移动体30的物体检测装置20的控制部24将图48所示的u-d坐标空间的多个代表视差de变换为图50所示的实际空间(x-z坐标空间)的点群。在图50中,表示u-d坐标空间的代表视差de的各点被显示为x-z坐标空间的点。控制部24基于点群的分布提取点群的集合。控制部24将按照规定条件的接近的多个点汇总而作为点群的集合提取。点群的集合表示代表视差de的集合(组)。
266.当物体具有与立体摄像头10的基线长度方向平行的面时,在x-z坐标空间上,点群沿x方向排列。当在x-z坐标空间上存在沿x方向排列的点群的集合180时,控制部24能够将其识别为物体。在图50中,点群的集中180与图29所示的其他车辆42a的车身的后面对应。
267.当物体为平行物体时,点群在x-z坐标空间上沿z方向排列。当在x-z坐标空间上存在沿z方向排列的点群的集合181时,控制部24能够将其识别为平行物体。如上所述,作为平行物体的一例,能列举出护栏以及高速道路的隔音壁等道路旁的建筑物,或者,图49所示的其他车辆42a的侧面等。在x-z坐标空间上沿z方向排列的点群的集合181对应于与移动体30的行进方向平行地排列的物体,或者,与物体的移动体30的行进方向平行的面。控制部24能够从物体检测处理的对象中除去沿z方向排列的点群的集合181。其中,与在上述的聚类处理中检测出的平行物体对应的视差被视为图45所示的步骤s902的处理中的代表视差de的获取处理的对象以外的视差。但是,在聚类处理中,存在不能完全检测出与平行物体对应的视差的情况。在该情况下,在x-z坐标空间上,可能存在与平行物体对应的视差,例如点群的集合181。即使在x-z坐标空间上,存在像点群的集合181那样的与平行物体对应的视差的情况下,在步骤s109的处理中,也能够从物体检测处理的对象中排除与平行物体对应的视差。
268.控制部24能够根据识别为物体的点群的集合180的在x方向上排列的宽度,检测物体的宽度。控制部24能够基于与通过图45所示的处理而获取的代表视差de相关联的高度信息,来确定物体的高度。因此,控制部24能够识别已识别出的物体在x-z坐标空间上的位置、横向宽度以及高度。
269.在步骤s110的处理中,控制部24能够将通过步骤s109的处理识别出的物体的位置、横向宽度以及高度的信息通过输出部22输出至移动体30内的其他装置。例如,控制部24能够将这些信息输出至移动体30内的显示装置。如图51所示,移动体30内的显示装置可以基于从物体检测装置20获取的信息,在第一摄像头11或者第二摄像头12的图像中显示包围与其他车辆对应的图像的检测框182。检测框182表示检测出的物体的位置以及在图像内占
据的范围。
270.如上所述,本发明的物体检测装置20能够实现高的处理速度和高的精度的物体检测。即,本发明的物体检测装置20以及本发明的物体检测方法能够提高检测物体的性能。另外,物体检测装置20不将检测对象的物体限定为特定种类的物体。物体检测装置20能够检测路面上存在的所有物体。物体检测装置20的控制部24能够不使用由所述立体摄像头10拍摄到的第一视差图像以外的图像的信息来执行第一处理、第二处理、第三处理以及第四处理。因此,除了第一视差图像和第二视差图像的处理之外,物体检测装置20也可以不执行根据拍摄到的图像单独识别物体的处理。因此,本发明的物体检测装置20能够降低物体识别时的控制部24的处理负荷。这并不排除本发明的物体检测装置20与对直接从第一摄像头11或者第二摄像头12获得的图像的图像处理组合的情况。物体检测装置20也能够与模板匹配等图像处理技术组合。
271.在上述的控制部24执行的处理的说明中,为了有助于理解本发明,说明了包括使用了各种图像的判定以及操作等的处理。使用这些图像的处理可以不包括实际绘制图像的处理。通过控制部24的内部的信息处理来执行与使用了这些图像的处理实质上内容相同的处理。
272.对于本发明的实施方式,基于各附图及实施例进行了说明,但应该注意本领域技术人员容易基于本发明进行各种变形或修改。因此,应该注意的是,这些变形或修改包含在本发明的范围内。例如,各构成部或者各步骤等所包含的功能等能够以在逻辑上不矛盾的方式进行再配置,能够将多个构成部或者步骤等组合为一个或者进行分割。以装置为中心对本发明的实施方式进行了说明,但本发明的实施方式也能够作为包括装置的各构成部所执行的步骤的方法来实现。本发明的实施方式能够作为由装置所具备的处理器执行的方法、程序、或者记录有程序的存储介质来实现。应理解,在本发明的范围内也包含这些内容。
273.在本发明中,“第一”和“第二”等的记载是用于区别该结构的标识符。本发明中的“第一”以及“第二”等的记载中所区分的结构能够交换该结构中的编号。例如,第一透镜能够与第二透镜交换作为标识符的“第一”和“第二”。标识符的交换同时进行。在交换标识符之后也能够区别该结构。标识符可以删除。删除了标识符的结构用附图标记来区分。本发明中的对“第一”以及“第二”等标识符的描述,不应该用于解释该结构的顺序,也不能作为存在较小的编号的标识符的依据。
274.在本发明中,x方向、y方向以及z方向是为了便于说明而设置的,也可以相互替换。使用将x方向、y方向以及z方向作为各轴方向的正交坐标系对本发明的结构进行了说明。本发明的各结构的位置关系并不限定于处于正交关系。表示图像的坐标的u坐标以及v坐标是为了便于说明而设置的,也可以相互替换。u坐标和v坐标的原点和方向不限于本发明内容。
275.在上述实施方式中,立体摄像头10的第一摄像头11以及第二摄像头12在x方向上排列地配置。第一摄像头11以及第二摄像头12的配置不限于此。第一摄像头11以及第二摄像头12可以在与路面垂直的方向(y方向)或相对于路面41a倾斜的方向上排列地配置。构成立体摄像头10的摄像头的数量不限于两个。立体摄像头10可以包含三个以上的摄像头。例如,也能够使用在路面上沿水平方向排列的两台摄像头以及在垂直方向上排列的两台摄像头的合计4台摄像头,获得精度更高的距离信息。
276.在上述的实施方式中,立体摄像头10以及物体检测装置20搭载于移动体30。立体
摄像头10以及物体检测装置20并不限定于搭载于移动体30。例如,立体摄像头10以及物体检测装置20也可以配置为,搭载于在交叉点等设置的路侧机,拍摄包含路面的图像。例如,路侧机能够进行如下信息提供:检测从在交叉口交叉的道路的一方接近的第一车辆,向在另一方的道路上行驶而接近的第二车辆通知第一车辆的接近。
277.附图标记的说明:
278.1、1a物体检测系统
279.10立体摄像头
280.11第一摄像头
281.12第二摄像头
282.20物体检测装置
283.21获取部
284.22输出部
285.23存储器
286.24控制部
287.25生成装置
288.30移动体
289.40第一视差图像
290.41、42、43、44、71、72、73、74、75、76、81、82、101视差图像
291.41a路面
292.42a车辆
293.42a、83、84、85、102、103、104、105、151、152、153、154、161、162、163视差像素
294.45框线
295.51图形
296.52第一直线
297.53近似开始点
298.54候补直线
299.55第二直线
300.60、70、80、100、150、160第二视差图像
301.61部分区域
302.61-1、61部分区域
303.62区域
304.90、106、120、170第一图像
305.91、92、107、121、122、123、124、125、171、172图像
306.101a部分区域
307.107a下部图像
308.107b上部图像
309.110、140ud图
310.110vp、130vp消失点
311.111、112、113、114、115、180、181点群
312.111l、115l直线
313.131、132、133、134点
314.131l、132l、133l、134l、135l曲线
315.141、142第一视差点
316.143第二视差点
317.172a、172b部分图像
318.182检测框
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献