一种目标物体识别和距离检测方法

文档序号:36162095发布日期:2023-11-23 10:36阅读:52来源:国知局
一种目标物体识别和距离检测方法

本发明涉及物体识别检测,具体涉及一种目标物体识别和距离检测方法。


背景技术:

1、无人驾驶车辆在行驶过程中对道路周围环境的感知需要通过图像视觉检测进行识别,深度学习神经网络模型可通过较好的训练获得分辨,并识别出不同类别的物体,且模型展现出较好的性能。在一些物体检测识别技术中,通常会采用faster r-cnn算法来对物体进行识别检测,该算法准确率较高,漏检率也较低,但是无人驾驶领域的应用对模型识别速度要求较高,因此该算法变的不适用,为解决上述问题,如中国专利申请号为202111633725.0,公布日为2022.05.27的专利文献,其公开了一种基于yolov5的无人车辆搭载摄像头目标检测方法,包括无人车本体,以及安装在无人车本体前端的摄像头;所述的摄像头采集图片,将图片进行分类预处理后,再将预处理过的图片放入到yolov5网络模型中进行训练处理,训练过程中模型会对训练集中的图像特征点进行提取,经过多次迭代,可以得到训练完成的检测模型文件,检测模型文件为.pt格式;处理后得到的最优异的文件检测模型部署到嵌入式等设备并应用,大大加强了yolo算法对于隐蔽性强的目标的提取性能,有效地提升了识别准确率,训练效果较好,漏检率较低。

2、但是该文献中的方法只是使用车体上的单个摄像头拍摄车体前方的路况,然后通过yolov5网络模型对图片进行预测,仅仅是对图片进行识别,并且在识别过程中并没有考虑图片的损失值然后修改模型参数,从而使得预测图片不够准确,同时在识别物体后无法测出图片中目标物体与车体之间的距离。


技术实现思路

1、本发明的目的在于提供一种目标物体识别和距离检测方法,用于识别无人小车前方的目标物体,并检测两者之间的距离,为提前刹车做好准备,保证行车安全,识别准确率高。

2、本发明为解决上述技术问题所采用的技术方案是:一种目标物体识别和距离检测方法,包括无人小车车体,以及安装在车体前端的双目相机,双目相机拍摄的图片;将图片放入到yolo网络模型中进行处理,对目标物体进行分类识别,得到图片的识别结果,然后通过双目检测方法测出目标物体与车体之间的距离,具体包括以下步骤:

3、(1)建立yolo网络模型;

4、(1.1)选择模型架构;

5、(1.2)定义损失函数;

6、(1.3)使用随机数初始化模型参数;

7、(2)处理模型数据;

8、(2.1)双目相机拍摄两张以上图片,并将图片中的目标物体框选出来,同时把图片转换为适合模型的格式;

9、(2.2)将步骤(2.1)中的图片导入yolo网络模型中,通过yolo网络模型来预测识别图片中的目标物体,并将目标物体对应的双目相机拍摄的图片进行对应保存;

10、(2.3)利用步骤(1.2)中的损失函数计算导入图片数据的损失值,反向传播更新步骤(1.3)中的模型参数;

11、(3)通过双目检测估算目标物体与车体之间的距离;

12、(3.1)将该目标物体对应的双目相机拍摄的图片导入matlab中,然后将步骤(2.1)中的图片在stereo camera calibrator工具箱中进行双目标定,并求出双目相机中左相机和右相机的内参数据和双目相机相对位置的数据,其中内参数据包括内参矩阵、外参数矩阵以及畸变参数,双目相机相对位置的数据包括旋转矩阵、平移向量;

13、(3.2)根据步骤(3.1)中图片标定后获得的数据和双目相机相对位置的数据,分别对左相机和右相机中的图片进行消除畸变和共面行对准;

14、(3.3)在左相机和右相机图片中,使左相机图片中的像素点匹配右相机图片中相同的对应点;

15、(3.4)通过立体匹配算法对步骤(3.3)中匹配后的图片进行视差计算;

16、(3.5)根据步骤(3.4)中的视差计算结果和预设双目相机的焦距、基线长度以及中心距计算出目标物体距离双目相机的距离。

17、以上设置,通过建立yolo网络模型,能够将双目相机拍摄的照片转换为恰当的格式导入模型中,然后通过模型来预测识别图片中的目标物体的类别,同时能够利用损失函数计算图片数据中的损失值,并反向传播更新模型的参数,从而能根据损失值随时调整模型的参数,确保预测的准确率,在识别出目标物体后,通过双目相机通过立体匹配之后再测出目标物体与车体之间的实际距离,从而使得测出目标物体与车体之间的实际距离更加准确,进而为车体刹车提供参考数据,为提前刹车做好准备,实现行车安全。

18、进一步的,所述步骤(2.2)中还包括:

19、(2.2.1)将步骤(2.1)导入模型的图片分割成n*n个模块,然后将每个模块分成多个网格,且每个网格被分配一个预测框和置信度;

20、(2.2.2)计算预测框与真实框的交集面积,以及预测框与真实框的并集面积,通过两者的比例来表示置信度,然后用置信度来评判预测框的准确度,进而判断出目标物体的类别。

21、以上设置,能够通过预测框与真实框的交集面积、预测框与真实框的并集面积两者的比例来判断图片中划分网格的置信度,然后用置信度来评判预测框的准确度,进而判断出目标物体的类别。

22、进一步的,所述步骤(2.3)中还包括:

23、通过交叉熵损失函数计算预测目标物体类别和实际目标物体类别之间的损失值,然后将损失值作为分类损失值反馈至模型中,并更新步骤(1.3)中的模型参数。

24、以上设置,通过交叉熵损失函数计算类别损失差值并反馈至模型中,同时更新模型参数,能够更加准确识别出下一张图片中目标物体的类别。

25、进一步的,所述步骤(3.2)中还包括:将单目相机的内参矩阵和畸变系数输入opencv图像处理函数中,通过运算分别对左相机和右相机中的图片进行畸变校正,得到消除畸变后的图片。

26、以上设置,通过将单目相机的内参矩阵和畸变系数输入opencv图像处理函数中进行处理,能够完成对图片的畸变校正。

27、进一步的,所述步骤(3.2)中,在畸变校正后,利用matlab中stereorectification函数对左相机和右相机中消除畸变后的图片进行共面行对准。

28、以上设置,这样能够便于在同一平面内计算目标物体在不同相机中的投影距离。

29、进一步的,将左相机、右相机的图片中同一行的像素点相互对应,然后将左相机和右相机所在平面的垂线投影到图片所在的平面上,使两垂线平行设置在两图片中。

30、以上设置,这样便于将两个不同视角的图片转换成转换为同一视角下的图片,进而实现共面对准,方便后续在同一视角的平面进行计算距离。

31、进一步的,所述步骤(3.2)中,在共面行对准后,将步骤(3.1)中左相机和右相机中获得的旋转矩阵和平移向量输入matlab中,通过运算得到投影变换矩阵t与t',使左相机和右相机中的图片转换为同一视角下的图片,然后将投影变换矩阵t与t'输入到opencv图像处理函数中,对图片进行处理,使左相机和右相机中图片的成像平面都平行于基线,且同一点在两图片中处在相同的行内。

32、以上设置,在共面行对准后,通过旋转矩阵和平移向量输入matlab中运算得到投影变换矩阵t与t',使得左相机和右相机中的图片转换为同一视角,便于确定图片上同一物体的位置,以便计算其实际距离。

33、进一步的,所述步骤(3.5)中还包括:分别预设左相机和右相机的光心为ol、or,则左、右两相机光心之间的距离为b,同时预设双目相机的焦距为f,深度距离为z,目标物体在双目相机上的成像点分别为p和p',则p与p'之间的距离为s,双目相机的成像平面经过旋转后放在双目相机的镜头前方,其中xl表示左相机旋转后的成像平面到成像点p的距离,xr表示右相机旋转后的成像平面到成像点p'的距离,则有

34、

35、根据三角形相似原理,可以得到:

36、

37、结合(1)和(2)式,计算出深度距离为z:

38、

39、计算得出深度距离z后,将深度距离z的数值转化成三维坐标,进而获得目标物体与车体的实际距离。

40、以上设置,通过结合公式(1)和(2)的分析,可以得到只需要测出左相机旋转后成像平面到成像点p的距离、右相机旋转后成像平面到成像点p'的距离、左、右两相机光心之间的距离以及焦距,即可计算出深度距离,然后将深度距离转化成三维坐标,进而测出目标物体与车体的实际距离。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1