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

基于鱼眼图像的自动导向小车定位方法及计算机装置与流程

2021-10-29 21:22:00 来源:中国专利 TAG:图像 小车 导向 装置 驾驶


1.本发明涉及基于图像进行自动驾驶的技术领域,具体涉及一种基于鱼眼图像的自动导向小车定位方法及计算机装置。


背景技术:

2.agv(automated guided vehicle)即自动导向小车,因其灵活可靠等特性,能够有效地减少人工成本,减少工厂对劳动力的需求,提高整体的效率和稳定性,同时提高载货运货的稳定性,产品的安全性,所以现在已被广泛应用在自动化仓储系统、智能工厂、智能生产等领域。
3.现有agv的导航方式分为预定路径方式和自由路径方式,预定路径方式的代表为二维码导航、磁带导航等,自由路径方式的代表为激光导航、视觉slam导航等。现有磁带导航简单、成本低,但是改变或扩展路径以及后期的维护比较麻烦;二维码导航相对灵活,但路径维护较麻烦,在人车交互的场景中需要频繁地更换二维码;激光导航和视觉slam导航,无需其他定位标志和设施,形式灵活多变,能够适应多种现场环境,但是算法不成熟以及算法计算量大,对处理器要求较高,成本较高。


技术实现要素:

4.鉴于以上内容,有必要提出一种基于鱼眼图像的自动导向小车定位方法及计算机装置,利用包含有黄线的鱼眼图像进行导航,从而方便改变和扩展小车路径及简化导航计算量。
5.本技术的第一方面提供一种基于鱼眼图像的自动导向小车定位方法,其所述方法包括:
6.通过自动导向小车的鱼眼摄像头获取鱼眼图像,其中所述鱼眼图像中包括由两条黄线构成的轨道;
7.从所述鱼眼图像中分析出所述轨道的两条黄线的像素坐标;
8.根据所述鱼眼摄像头的内参k、d和外参r、t与所述两条黄线的像素坐标得到所述两条黄线以所述自动导向小车中心为坐标原点的世界坐标系的位置;及
9.根据所述两条黄线的位置确定所述自动导向小车与所述两条黄线的相对位置关系。
10.优选地,其特征在于,所述从所述鱼眼图像中分析出所述轨道的两条黄线的像素坐标包括:
11.对所述鱼眼图像进行畸变矫正得到矫正图像;
12.将所述矫正图像的视角进行仿射变换得到鸟瞰图像;及
13.从所述鸟瞰图像中分析出所述轨道的两条黄线的像素坐标。
14.优选地,所述将所述矫正图像的视角进行仿射变换得到鸟瞰图像包括:
15.从所述矫正图像中提取出包括有两条黄线的矩形区域,并通过所述鱼眼摄像头的
内参k和外参r、t得到所述矩形区域在所述矫正图像中对应的像素坐标值;及
16.根据所述矩形区域的像素坐标值进行仿射变换得到与所述矩形区域对应的鸟瞰图像。
17.优选地,所述从所述矫正图像中提取出包括有两条黄线的矩形区域,并通过所述鱼眼摄像头的内参k和外参r、t得到所述矩形区域在所述矫正图像中对应的像素坐标值包括:
18.从所述矫正图像中将距离所述自动导向小车的鱼眼摄像头的预设范围内的区域作为矩形区域提取出来;
19.以所述自动导向小车的中心为坐标原点及以所述自动导向小车的长度方向为y坐标轴,以所述自动导向小车的宽度方向为x坐标轴,以所述自动导向小车的高度方向为z坐标轴建立世界坐标系,并得到所述矩形区域的四个端点在所述世界坐标系中的世界坐标;及
20.将所述矩形区域的四个端点的世界坐标及所述鱼眼摄像头的内参k和外参r、t代入公式及公式计算得到所述矩形区域的四个端点对应的像素坐标值,其中(x,y,z)为所述矩形区域的四个端点的世界坐标,(u,v)为所述矩形区域的四个端点的像素坐标,zc为矩形区域所在面到所述鱼眼摄像头的光心的距离。
21.优选地,所述从所述鸟瞰图像中分析出所述轨道的两条黄线的像素坐标包括:
22.将所述鸟瞰图像由rgb通道转化为hsv通道;
23.对进行通道转换后的所述鸟瞰图像进行二值化得到二值化图像;及
24.分别提取出所述二值化图像中的两条黄线中每条黄线的点坐标,并得到每条黄线的点坐标集合。
25.优选地,所述分别提取出所述二值化图像中的两条黄线中每条黄线的点坐标,并得到每条黄线的点坐标集合包括:
26.将所述二值化图像从中间分成第一图像及第二图像,其中所述第一图像及第二图像中分别包括一条所述黄线的像素点;
27.通过竖向统计得到所述第一图像及所述第二图像中的黄线的中心位置;以所述第一图像的中心点为起始点,以预设尺寸w
×
h的窗口从下向上进行滑窗,统计每个窗口中白色点的个数w_num,其中w为图像的宽度,h为图像的高度,按照公式计算出窗口的选择状态,其中,select_status表示所述窗口的选择状态,当select_status为1时,表示所述窗口的选择状态为候选框状态,当select_status为0时,表示所述窗口的选择状态为非候选框状态,并根据所述窗口的选择状态为候选框状态时记录候选框状态下的窗口中的所有白色点的像素坐标,并将所述像素坐标作为所述第一图像中的黄线的像素点的集合;及
28.以所述第二图像的中心点为起始点,以预设尺寸w
×
h的窗口从下向上进行滑窗,
统计每个窗口中白色点的个数w_num,按照公式计算出窗口的选择状态,并根据所述窗口的选择状态为候选框状态时记录候选框状态下的窗口中的所有白色点的像素坐标,并将所述像素坐标作为所述第二图像中的黄线的像素点的集合,其中在进行滑窗时,下一个窗口的起始点由上一个窗口决定,当上一个窗口的select_status为1时,下一个窗口的起始点坐标为上一个窗口中白色像素的横轴坐标的平均值,纵坐标的最大值;当上一个窗口的select_status为0时,下一个窗口的起始点坐标与上一个窗口的起始点坐标相同。
29.优选地,所述通过竖向统计得到所述第一图像及所述第二图像中的黄线的中心位置包括:
30.分别统计所述第一图像及所述第二图像中每一列白色像素点的数量,将所述第一图像中数量最多的列的列索引作为所述第一图像中黄线的列坐标以确定出所述第一图像中的黄线的中心位置,及将所述第二图像中数量最多的列的列索引作为所述第二图像中黄线的列坐标以确定出所述第二图像中的黄线的中心位置。
31.优选地,所述根据所述鱼眼摄像头的内参k、d和外参r、t与所述两条黄线的像素坐标计算得到所述两条黄线以所述自动导向小车的中心为坐标原点的世界坐标系的位置”包括:
32.根据公式及得到所述两条黄线的世界坐标系的坐标。
33.优选地,所述根据所述两条黄线的位置确定所述自动导向小车与所述两条黄线的相对位置关系包括:
34.根据所述两条黄线的世界坐标系的坐标进行直线拟合,得到所述两条黄线的直线方程分别为y=a1x b1及y=a2x b2;及
35.根据公式计算得到所述自动导向小车距离所述两条黄线的距离delta_left_dist和delta_right_dist,其中tan(slope_left)=a1,tan(slope_right)=a2。
36.本技术的第二方面提供一种计算机装置,所述计算机装置包括处理器及存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述基于鱼眼图像的自动导向小车定位方法。
37.本发明根据所述两条黄线的位置确定所述自动导向小车与所述两条黄线的相对位置关系,从而实现利用黄线进行导航,从而方便改变和扩展小车路径及简化导航计算量,并可将小车导航算法实现下沉到嵌入式端。
附图说明
38.图1是本发明一实施方式中的基于鱼眼图像的自动导向小车定位方法的流程图。
39.图2是本发明一实施方式中基于鱼眼图像的自动导向小车定位方法的应用环境示意图。
40.图3是本发明一实施方式中自动导向小车拍摄鱼眼图像的示意图。
41.图4为对图3中鱼眼图像进行畸变矫正后得到的矫正图像。
42.图5为本发明一实施方式中所述矩形区域的示意图。
43.图6为本发明一实施方式中鸟瞰图像的示意图。
44.图7为本发明一实施方式中二值化图像的示意图。
45.图8a为第一图像的示意图。
46.图8b为第二图像的示意图。
47.图9为本发明中两条黄线的直线方程与所述动导向小车的距离的示意图
48.图10是本发明一实施方式中自动导向小车定位装置的结构图。
49.图11是本发明一实施方式中计算机装置的示意图。
具体实施方式
50.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
51.在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
52.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
53.优选地,本发明的基于鱼眼图像的自动导向小车定位方法应用在一个或者多个计算机装置中。所述计算机装置是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于处理器、外部存储介质、内存等。
54.所述计算机装置可以是,但不限于,台式计算机、笔记本电脑、云端服务器、智能手机等设备。所述计算机装置可以与用户通过键盘、鼠标、遥控器、触摸板、手势识别设备、声控设备等方式进行人机交互。
55.实施例一
56.图1是本发明一实施方式中的基于鱼眼图像的自动导向小车定位方法的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。为了便于说明,仅示出了与本发明实施例相关的部分。
57.如图1所示,所述基于鱼眼图像的自动导向小车定位方法具体包括以下步骤。
58.步骤s11、通过鱼眼摄像头11获取鱼眼图像,其中所述鱼眼图像中包括由两条黄线构成的轨道。
59.参阅图2,所示为本发明一实施方式中基于鱼眼图像的自动导向小车定位方法的
应用环境示意图。所述方法应用在一自动导向小车1中。所述自动导向小车1包括鱼眼摄像头11,所述自动导向小车1通过鱼眼摄像头11采集图自动导向小车1周围环境的鱼眼图像。本实施方式中,所述自动导向小车1位于由所述两条黄线构成的轨道当中,并通过鱼眼摄像头11采集包括黄线轨道的鱼眼图像。在另一实施方式中,所述自动导向小车1可以从其内部的存储装置中获取包括轨道的鱼眼图像。在其他实施方式中,所述自动导向小车1还可以从与其通信连接的电子装置2中获取图像。其中,所述电子装置2可以是,但不限于服务器、服务器群集、手机、平板电脑等装置。所述自动导向小车1可以通过一网络与所述电子装置2通信连接并从所述电子装置2中获取鱼眼图像。在一具体实施方式中,用于支持自动导向小车1与电子装置2进行通信的网络可以是有线网络,也可以是无线网络,例如无线电、无线保真(wireless fidelity,wifi)、蜂窝、卫星、广播等。
60.步骤s12、从所述鱼眼图像中分析出所述轨道的两条黄线的像素坐标。
61.步骤s13、根据鱼眼摄像头的内参k、d和外参r、t与所述两条黄线的像素坐标计算得到所述两条黄线以自动导向小车1中心为坐标原点的世界坐标系的位置。
62.步骤s14、根据所述两条黄线的位置确定所述自动导向小车1与所述两条黄线的相对位置关系。
63.请参考图3,所示为本发明一实施方式中自动导向小车1拍摄鱼眼图像的示意图。本实施方式中,所示轨道中两条黄线之间的距离为120cm。本实施方式中,所述“步骤s12从所述鱼眼图像中分析出所述轨道的两条黄线的像素坐标”包括:
64.步骤s121)对所述鱼眼图像进行畸变矫正得到矫正图像;
65.步骤s122)将矫正图像的视角进行仿射变换得到鸟瞰图像;及
66.步骤s123)从所述鸟瞰图像中分析出所述轨道的两条黄线的像素坐标。
67.本实施方式中,利用鱼眼摄像头11的内参k、d调用opencv函数对所述鱼眼图像进行畸变矫正。请参考图4所示,所示为对图3中鱼眼图像进行畸变后得到的矫正图像。本实施方式中,将所述矫正图像由前置视角进行视角转换得到鸟瞰图像。
68.本实施方式中,所述“将矫正图像的视角进行仿射变换得到鸟瞰图像”中包括:从所述矫正图像中提取出包括有两条黄线的矩形区域12,通过鱼眼摄像头11的内参k和外参r、t得到所述矩形区域12在所述矫正图像中对应的像素坐标值;根据所述矩形区域12的像素坐标值进行仿射变换得到与所述矩形区域12对应的鸟瞰图像。
69.本实施方式中,本实施方式中,所述“从所述矫正图像中提取出包括有两条黄线的矩形区域12,通过鱼眼摄像头11的内参k和外参r、t得到所述矩形区域12在所述矫正图像中对应的像素坐标值”包括:从所述矫正图像中将距离自动导向小车1的鱼眼摄像头11的预设范围内的区域作为矩形区域12提取出来;以所述自动导向小车1为坐标原点及以所述自动导向小车1的长度方向为y坐标轴,以所述自动导向小车1的宽度方向为x坐标轴,以所述自动导向小车1的高度方向为z坐标轴建立世界坐标系,并得到所述矩形区域12的四个端点在所述世界坐标系中的世界坐标;及将所述矩形区域12的四个端点的世界坐标及鱼眼摄像头11的内参k和外参r、t代入公式及公式计算得到所述矩形区
中包括:通过设置过滤的预设颜色范围按照公式对进行通道转换后的鸟瞰图像进行二值化得到二值化图像,其中,所述预设颜色范围包括预设h值范围,预设s值范围,及预设v值范围,预设h值范围为(h_low,h_high),预设s值范围为(s_low,s_high),预设v值范围为(v_low,v_high)。
76.请参考图7,所示为本发明一实施方式中二值化图像的示意图。本实施方式中,所述“分别提取出所述二值化图像中的两条黄线中每条黄线的点坐标,并得到每条黄线的点坐标集合”包括:将所述二值化图像从中间分成第一图像及第二图像,其中所述第一图像及第二图像中分别包括一条黄线的像素点,参见图8a中的第一图像及图8b中的第二图像的示意图;通过竖向统计得到所述第一图像及所述第二图像中的黄线的中心位置;以所述第一图像的中心点为起始点,以预设尺寸w
×
h的窗口从下向上进行滑窗,统计每个窗口中白色点的个数w_num,其中w为图像的宽度,h为图像的高度,按照公式计算出窗口的选择状态,其中,所述select_status表示所述窗口的选择状态,当select_status为1时,表示所述窗口的选择状态为候选框状态,当select_status为0时,表示所述窗口的选择状态为非候选框状态;并根据所述窗口的选择状态为候选框状态时记录候选框状态下的窗口中的所有白色点的像素坐标white_pixel_left_array,并将像素坐标作为所述第一图像中的黄线的像素点的集合;以所述第二图像的中心点为起始点,以预设尺寸w
×
h的窗口从下向上进行滑窗,统计每个窗口中白色点的个数w_num,按照公式计算出窗口的选择状态,,并根据所述窗口的选择状态为候选框状态时记录候选框状态下的窗口中的所有白色点的像素坐标white_pixel_right_array,并将像素坐标作为所述第二图像中的黄线的像素点的集合。
77.本实施方式中,所述“通过竖向统计得到所述第一图像及所述第二图像中的黄线的中心位置”包括:分别统计所述第一图像及所述第二图像中每一列白色像素点的数量,将所述第一图像中数量最多的列的列索引作为所述第一图像中黄线的列坐标以确定出所述第一图像中的黄线的中心位置,及将所述第二图像中数量最多的列的列索引作为所述第二图像中黄线的列坐标以确定出所述第二图像中的黄线的中心位置。本实施方式中,“以预设尺寸w
×
h的窗口从下向上进行滑窗,统计每个窗口中白色点的个数w_num”包括:当上一个窗口的select_status为1,则起始点坐标为上一个窗口中白色像素的横轴坐标的平均值,纵轴坐标的最大值;当上一个窗口的select_status为0,则起始点坐标不变,仍然用上一个窗口的起始点坐标。本实施方式中,w为60个像素点,h为15个像素点。
78.本实施方式中,所述“步骤s13根据鱼眼摄像头的内参k、d和外参r、t与所述两条黄
线的像素坐标计算得到所述两条黄线以自动导向小车1中心为坐标原点的世界坐标系的位置”包括:根据公式及得到所述两条黄线的世界坐标系的坐标。
79.本实施方式中,所述“步骤s14根据所述两条黄线的位置确定所述自动导向小车1与所述两条黄线的相对位置关系”包括:根据所述两条黄线的世界坐标系的坐标进行直线拟合,得到所述两条黄线的直线方程分别为y=a1x b1及y=a2x b2;及根据公式计算得到所述自动导向小车1距离所述两条黄线的距离delta_left_dist和delta_right_dist,其中tan(slope_left)=a1,tan(slope_right)=a2,请参考图9所式,所示为本发明中两条黄线的直线方程与所述动导向小车1的距离的示意图。
80.本案根据所述两条黄线的位置确定所述自动导向小车与所述两条黄线的相对位置关系,从而实现利用黄线进行导航,从而方便改变和扩展小车路径及简化导航计算量,并可将小车导航算法实现下沉到嵌入式端。
81.实施例二
82.图10为本发明实施例二提供的自动导向小车定位装置100的结构图,为了方便说明,仅示出了与本发明实施例相关的部分,详述如下。
83.参考图10,自动导向小车定位装置100根据其所执行的功能,可以被划分为多个功能模块,所述各个功能模块用于执行图1对应实施例中的各个步骤,以实现自动导向小车定位的功能。本发明实施例中,自动导向小车定位装置100的功能模块可以包括图像获取模块101、分析模块102、计算模块103以及位置确定模块104。各个功能模块的功能将在下面的实施例中进行详述。
84.所述图像获取模块101通过鱼眼摄像头11获取鱼眼图像,其中所述鱼眼图像中包括由两条黄线构成的轨道。
85.本实施方式中,所述图像获取模块101通过鱼眼摄像头11采集图自动导向小车1周围环境的鱼眼图像。本实施方式中,所述自动导向小车1位于由所述两条黄线构成的轨道当中,所述图像获取模块101通过鱼眼摄像头11采集包括黄线轨道的鱼眼图像。在另一实施方式中,所述图像获取模块101从所述自动导向小车1内部的存储装置中获取包括轨道的鱼眼图像。在其他实施方式中,所述图像获取模块101从与所述自动导向小车1通信连接的电子装置2中获取图像。其中,所述电子装置2可以是,但不限于服务器、服务器群集、手机、平板电脑等装置。所述自动导向小车1可以通过一网络3与所述电子装置2通信连接并从所述电子装置2中获取鱼眼图像。在一具体实施方式中,用于支持自动导向小车1与电子装置2进行通信的网络3可以是有线网络,也可以是无线网络,例如无线电、无线保真(wireless fidelity,wifi)、蜂窝、卫星、广播等。
86.所述分析模块102从所述鱼眼图像中分析出所述轨道的两条黄线的像素坐标。
87.所述计算模块103根据鱼眼摄像头的内参k、d和外参r、t与所述两条黄线的像素坐
标计算得到所述两条黄线以自动导向小车1中心为坐标原点的世界坐标系的位置。
88.所述位置确定模块104根据所述两条黄线的位置确定所述自动导向小车1与所述两条黄线的相对位置关系。
89.所述分析模块102从所述鱼眼图像中分析出所述轨道的两条黄线的像素坐标包括:对所述鱼眼图像进行畸变矫正得到矫正图像;将矫正图像的视角进行仿射变换得到鸟瞰图像;及从所述鸟瞰图像中分析出所述轨道的两条黄线的像素坐标。
90.本实施方式中,所述分析模块102利用鱼眼摄像头11的内参k、d调用opencv函数对所述鱼眼图像进行畸变矫正。本实施方式中,所述分析模块102将矫正图像的视角进行仿射变换得到鸟瞰图像中包括:从所述矫正图像中提取出包括有两条黄线的矩形区域12,通过鱼眼摄像头11的内参k和外参r、t得到所述矩形区域12在所述矫正图像中对应的像素坐标值;根据所述矩形区域12的像素坐标值进行仿射变换得到与所述矩形区域12对应的鸟瞰图像。
91.本实施方式中,分析模块102从所述矫正图像中提取出包括有两条黄线的矩形区域12,通过鱼眼摄像头11的内参k和外参r、t得到所述矩形区域12在所述矫正图像中对应的像素坐标值包括:从所述矫正图像中将距离自动导向小车1的鱼眼摄像头11的预设范围内的区域作为矩形区域12提取出来;以所述自动导向小车1为坐标原点及以所述自动导向小车1的长度方向为y坐标轴,以所述自动导向小车1的宽度方向为x坐标轴,以所述自动导向小车1的高度方向为z坐标轴建立世界坐标系,并得到所述矩形区域12的四个端点在所述世界坐标系中的世界坐标;及将所述矩形区域12的四个端点的世界坐标及鱼眼摄像头11的内参k和外参r、t代入公式及公式计算得到所述矩形区域12的四个端点对应的像素坐标值,其中(x,y,z)为所述矩形区域12的四个端点的世界坐标,(u,v)为所述矩形区域12的四个端点的像素坐标,zc是矩形区域12所在面到鱼眼摄像头11的光心的距离,可以通过预先为一常量。
92.请参考图5,本实施方式中,分析模块102从所述矫正图像中将距离自动导向小车1的鱼眼摄像头11的宽60cm,长240cm的长方形区域作为矩形区域12提取出来,其中,所述矩形区域12的四个端点为a、b、c、d;并以所述自动导向小车1为坐标原点及以所述自动导向小车1的长度方向为y坐标轴,以所述自动导向小车1的宽度方向为x坐标轴,以所述自动导向小车1的高度方向为z坐标轴建立世界坐标系,并得到所述矩形区域12的四个端点a、b、c、d在所述世界坐标系中的世界坐标;及根据所述矩形区域12的四个端点的世界坐标利用鱼眼摄像头11的内参k和外参r、t代入公式及公式计算得到所述矩形区域12的四个端点a、b、c、d对应的像素坐标。
93.本实施方式中,分析模块102根据所述矩形区域12的像素坐标值进行仿射变换得到与所述矩形区域12对应的鸟瞰图像包括:将计算得到的所述矩形区域12的四个端点a、b、c、像素坐标映射为如下4个坐标a_floor(0,600)、b_floor(0,0)、c_floor(1200,0)、d_
floor(1200,600);将映射后的坐标通过opencv函数getperspectivetransform得到映射矩阵;及通过opencv函数warpperspective和映射矩阵对所述矩形区域12进行处理得到与所述矩形区域12对应的鸟瞰图像。
94.本实施方式中,分析模块102从所述鸟瞰图像中分析出所述轨道的两条黄线的像素坐标包括:将所述鸟瞰图像由rgb通道转化为hsv通道;对进行通道转换后的鸟瞰图像进行二值化得到二值化图像;分别提取出所述二值化图像中的两条黄线中每条黄线的点坐标,并得到每条黄线的点坐标集合。
95.本实施方式中,所述“将所述鸟瞰图像由rgb通道转化为hsv通道”包括:根据公式及v=max将所述鸟瞰图像由rgb通道转化为hsv通道,其中,所述为r、g、b为所述鸟瞰图像中的为r、g、b值,max为r、g、b中的最大值,min为r、g、b中的最小值。
96.本实施方式中,所述“对进行通道转换后的鸟瞰图像进行二值化得到二值化图像”中包括:通过设置过滤的预设颜色范围按照公式对进行通道转换后的鸟瞰图像进行二值化得到二值化图像,其中,所述预设颜色范围包括预设h值范围,预设s值范围,及预设v值范围,预设h值范围为(h_low,h_high),预设s值范围为(s_low,s_high),预设v值范围为(v_low,v_high)。
97.请参考图7,本实施方式中,分析模块102分别提取出所述二值化图像中的两条黄线中每条黄线的点坐标,并得到每条黄线的点坐标集合包括:将所述二值化图像从中间分成第一图像及第二图像,其中所述第一图像及第二图像中分别包括一条黄线的像素点,参见图8a中的第一图像及图8b中的第二图像的示意图;通过竖向统计得到所述第一图像及所述第二图像中的黄线的中心位置;以所述第一图像的中心点为起始点,以预设尺寸w
×
h的窗口从下向上进行滑窗,统计每个窗口中白色点的个数w_num,其中w为图像的宽度,h为图像的高度,按照公式计算出窗口的选择状态,其中,所述select_status表示所述窗口的选择状态,当select_status为1时,表示所述窗口的选择状态为候选框状态,当select_status为0时,表示所述窗口的选择状态为非候选框状态;并根据所述窗口的选择状态为候选框状态时记录候选框状态下的窗口中
的所有白色点的像素坐标white_pixel_left_array,并将像素坐标作为所述第一图像中的黄线的像素点的集合;以所述第二图像的中心点为起始点,以预设尺寸w
×
h的窗口从下向上进行滑窗,统计每个窗口中白色点的个数w_num,按照公式计算出窗口的选择状态,,并根据所述窗口的选择状态为候选框状态时记录候选框状态下的窗口中的所有白色点的像素坐标white_pixel_right_array,并将像素坐标作为所述第二图像中的黄线的像素点的集合。
98.本实施方式中,所述分析模块102通过竖向统计得到所述第一图像及所述第二图像中的黄线的中心位置包括:分别统计所述第一图像及所述第二图像中每一列白色像素点的数量,将所述第一图像中数量最多的列的列索引作为所述第一图像中黄线的列坐标以确定出所述第一图像中的黄线的中心位置,及将所述第二图像中数量最多的列的列索引作为所述第二图像中黄线的列坐标以确定出所述第二图像中的黄线的中心位置。本实施方式中,“以预设尺寸w
×
h的窗口从下向上进行滑窗,统计每个窗口中白色点的个数w_num”包括:当上一个窗口的select_status为1,则起始点坐标为上一个窗口中白色像素的横轴坐标的平均值,纵轴坐标的最大值;当上一个窗口的select_status为0,则起始点坐标不变,仍然用上一个窗口的起始点坐标。本实施方式中,w为60个像素点,h为15个像素点。
99.本实施方式中,所述计算模块103根据鱼眼摄像头的内参k、d和外参r、t与所述两条黄线的像素坐标计算得到所述两条黄线以自动导向小车1中心为坐标原点的世界坐标系的位置包括:根据公式及得到所述两条黄线的世界坐标系的坐标。
100.本实施方式中,所述位置确定模块104根据所述两条黄线的位置确定所述自动导向小车1与所述两条黄线的相对位置关系”包括:根据所述两条黄线的世界坐标系的坐标进行直线拟合,得到所述两条黄线的直线方程分别为y=a1x b1及y=a2x b2;及根据公式计算得到所述自动导向小车1距离所述两条黄线的距离delta_left_dist和delta_right_dist,其中tan(slope_left)=a1,tan(slope_right)=a2。
101.本案根据所述两条黄线的位置确定所述自动导向小车与所述两条黄线的相对位置关系,从而实现利用黄线进行导航,从而方便改变和扩展小车路径及简化导航计算量,并可将小车导航算法实现下沉到嵌入式端。
102.实施例三
103.图11为本发明实施例三提供的计算机装置的示意图。所述计算机装置10包括存储器20、处理器30以及存储在所述存储器20中并可在所述处理器30上运行的计算机程序40。所述处理器30执行所述计算机程序40时实现上述基于鱼眼图像的自动导向小车定位方法实施例中的步骤,例如图1所示的步骤s11~s14。或者,所述处理器30执行所述计算机程序
40时实现上述自动导向小车定位装置实施例中各模块/单元的功能,例如图10中的模块101~104。
104.示例性的,所述计算机程序40可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器20中,并由所述处理器30执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序40在所述计算机装置10中的执行过程。例如,所述计算机程序40可以被分割成图10中的图像获取模块101、分析模块102、计算模块103以及位置确定模块104,各模块具体功能参见实施例二。
105.所述计算机装置10与所述自动导向小车1为同一装置。在其他实施方式中,所述计算机装置10可以是台式计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,所述示意图6仅仅是计算机装置10的示例,并不构成对计算机装置10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机装置10还可以包括输入输出设备、网络接入设备、总线等。
106.所称处理器30可以是中央处理单元(central processing unit,cpu),还可以包括其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器30是所述计算机装置10的控制中心,利用各种接口和线路连接整个计算机装置10的各个部分。
107.所述存储器20可用于存储所述计算机程序40和/或模块/单元,所述处理器30通过运行或执行存储在所述存储器20内的计算机程序和/或模块/单元,以及调用存储在存储器20内的数据,实现所述计算机装置10的各种功能。所述存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机装置10的使用所创建的数据(比如音频数据、电话本等)等。存储器20可以包括外部存储介质,也可以包括内存。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
108.所述计算机装置10集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进
行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
109.在本发明所提供的几个实施例中,应该理解到,所揭露的计算机装置和方法,可以通过其它的方式实现。例如,以上所描述的计算机装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
110.另外,在本发明各个实施例中的各功能单元可以集成在相同处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在相同单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
111.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。计算机装置权利要求中陈述的多个单元或计算机装置也可以由同一个单元或计算机装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
112.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜