logo好方法网

一种用于自动泊车的障碍物检测方法、系统及介质


技术摘要:
本发明提供了一种用于自动泊车的障碍物检测方法、系统及介质,其可以兼顾大、小障碍物的检测精度,且检测速度快,方法包括以下步骤:步骤1:通过摄像头采集图像,基于视觉检测检测障碍物,获得障碍物信息;步骤2:读取超声波雷达所测量的障碍物信息;步骤3:通过结合摄  全部
背景技术:
随着我国的经济越来越繁荣,人民生活水平不断提高,车辆也变得越来越多。城市 的空间似乎因此狭小起来,找车位,停车也成为经常人们生活中常见的问题,自动泊车技术 因此应运而生。而在自动泊车技术中,障碍物的识别是关键的技术环节。可以帮助系统判断 车位的有效性,防止车辆和障碍物碰撞等。现有的障碍物检测方法,要么实时性不足,要么 不能兼顾大、小障碍物的精度。
技术实现要素:
针对上述问题,本发明提供了一种用于自动泊车的障碍物检测方法、系统及介质, 其可以兼顾大、小障碍物的检测精度,且检测速度快。 其技术方案是这样的:一种用于自动泊车的障碍物检测方法,其特征在于,包括以 下步骤: 步骤1:通过摄像头采集图像,基于视觉检测检测障碍物,获得障碍物信息; 步骤2:读取超声波雷达所测量的障碍物信息; 步骤3:通过结合摄像头视觉检测和超声波雷达测量所获取的障碍物信息最终确 定障碍物的位置。 进一步的,步骤1具体包括以下步骤: 步骤101:构建数据集,数据集包括根据所需要的场景采集的图片数据和障碍物的 标注文件; 步骤102;建立SSD网络模型,使用数据集训练SSD网络模型,得到训练好的SSD网络 模型; 步骤103:对于训练好的SSD网络模型进行剪枝、量化操作; 步骤104:对摄像头进行标定,得到图像坐标系与世界坐标系及其之间的关系; 步骤105:将摄像头采集到的图片,输入到训练好的SSD网络模型中,输出检测到的 图片中的障碍物,通过最小外接矩形标记障碍物; 步骤106:根据图像坐标系与世界坐标系之间的关系,将得到的障碍物的最小外接 矩形转换到世界坐标系,获得世界坐标系中障碍物信息。 进一步的,在步骤3中,将通过摄像头视觉检测获取的障碍物的信息与超声波雷达 测量所获取的障碍物信息进行匹配,对于匹配后信息一致的障碍物信息,以通过超声波雷 达测量所获取的障碍物信息作为最终的检测结果输出;对于匹配后信息不一致的障碍物信 息,以通过摄像头视觉检测获取的障碍物的信息作为最终的检测结果输出。 进一步的,在步骤101中,标注文件包括车、行人、雪糕桶在图片中的类别和位置信 6 CN 111611906 A 说 明 书 2/12 页 息。 进一步的,在步骤101中,数据集按一定比例分成测试集、训练集、验证集,测试集 用于训练,测试集用于测试SSD网络模型的检测是否有效,验证集用于监控SSD网络模型的 训练效果。 进一步的,在步骤102中,建立的SSD网络模型包括: 输入层,用于输入图像; 卷积层conv1a,输入图像经过卷积操作输出特征图,通道数为16,group为1,卷积 核尺寸为3,卷积层conv1a连接卷积层conv1b; 卷积层conv1b,对卷积层conv1a的输出进行卷积操作,输出特征图,通道数为16, group为4,卷积核尺寸为3,卷积层conv1b连接池化层Pooling1; 池化层Pooling1,对卷积层conv1b的输出进行池化操作,池化层Pooling1连接卷 积层conv2a; 卷积层conv2a,对池化层Pooling1的输出进行卷积操作,通道数为32,group为1, 卷积核尺寸为3,卷积层conv2a连接卷积层conv2b; 卷积层conv2b,对卷积层conv2a的输出进行卷积操作,输出特征图,通道数为32, group为4,卷积核尺寸为3,卷积层conv2b连接池化层Pooling2; 池化层Pooling2,对卷积层conv2b的输出进行池化操作,池化层Pooling2连接卷 积层conv3a; 卷积层conv3a,对池化层Pooling2的输出进行卷积操作,通道数为64,group为1, 卷积核尺寸为3,卷积层conv3a连接卷积层conv3b; 卷积层conv3b,对卷积层conv3a的输出进行卷积操作,输出特征图,通道数为64, group为4,卷积核尺寸为3,卷积层conv3b连接池化层Pooling3; 池化层Pooling3,对卷积层conv3b的输出进行池化操作,池化层Pooling3连接卷 积层conv4a; 卷积层conv4a,对池化层Pooling3的输出进行卷积操作,通道数为128,group为1, 卷积核尺寸为3,卷积层conv4a连接卷积层conv4b; 卷积层conv4b,对卷积层conv4a的输出进行卷积操作,输出特征图,通道数为256, group为4,卷积核尺寸为3,卷积层conv4b连接池化层Pooling4; 池化层Pooling4,对卷积层conv34的输出进行池化操作,池化层Pooling4连接卷 积层conv5a; 卷积层conv5a,对池化层Pooling4的输出进行卷积操作,通道数为512,group为1, 卷积核尺寸为3,卷积层conv5a连接卷积层conv5b; 卷积层conv5b,对卷积层conv5a的输出进行卷积操作,输出特征图,通道数为512, group为4,卷积核尺寸为3,卷积层conv5b连接池化层Pooling5; 池化层Pooling5,对卷积层conv5b的输出进行池化操作,池化层Pooling5连接池 化层Pooling6; 池化层Pooling6,对池化层Pooling5的输出进行池化操作,池化层Pooling6连接 池化层Pooling67; 卷积层Output1,对卷积层conv4b的输出进行卷积操作,通道数为256,group为1, 7 CN 111611906 A 说 明 书 3/12 页 卷积核尺寸为1,卷积层Output1连接PriorBox层PriorBox1、卷积层Loc1、卷积层Conf1; PriorBox层PriorBox1,用于部署卷积层Output1输出的特征图中的预选框, PriorBox层PriorBox1连接全连接层Mbox_prior; 卷积层Loc1,对卷积层Output1的输出进行卷积操作,通道数为24,group为1,卷积 核尺寸为1,卷积层Loc1连接全连接层Mbox_conf; 卷积层Conf1,对卷积层Output1的输出进行卷积操作,通道数为24,group为1,卷 积核尺寸为1,卷积层Conf1连接全连接层Mbox_loc; 卷积层Output2,对卷积层conv5b的输出进行卷积操作,通道数为256,group为1, 卷积核尺寸为1,卷积层Output2连接PriorBox层PriorBox2、卷积层Loc2、卷积层Conf2; PriorBox层PriorBox2,用于部署卷积层Output2输出的特征图中的预选框, PriorBox层PriorBox2连接全连接层Mbox_prior; 卷积层Loc2,对卷积层Output2的输出进行卷积操作,通道数为24,group为1,卷积 核尺寸为1,卷积层Loc2连接全连接层Mbox_conf; 卷积层Conf2,对卷积层Output2的输出进行卷积操作,通道数为24,group为1,卷 积核尺寸为1,卷积层Conf2连接全连接层Mbox_loc; 卷积层Output3,对池化层Pooling5的输出进行卷积操作,通道数为256,group为 1,卷积核尺寸为1,卷积层Output3连接PriorBox层PriorBox3、卷积层Loc3、卷积层Conf3; PriorBox层PriorBox3,用于部署卷积层Output3输出的特征图中的预选框, PriorBox层PriorBox3连接全连接层Mbox_prior; 卷积层Loc3,对卷积层Output3的输出进行卷积操作,通道数为24,group为1,卷积 核尺寸为1,卷积层Loc3连接全连接层Mbox_conf; 卷积层Conf3,对卷积层Output3的输出进行卷积操作,通道数为24,group为1,卷 积核尺寸为1,卷积层Conf3连接全连接层Mbox_loc; 卷积层Output4,对池化层Pooling6的输出进行卷积操作,通道数为256,group为 1,卷积核尺寸为1,卷积层Output4连接PriorBox层PriorBox4、卷积层Loc4、卷积层Conf4; PriorBox层PriorBox4,用于部署卷积层Output4输出的特征图中的预选框, PriorBox层PriorBox4连接全连接层Mbox_prior; 卷积层Loc4,对卷积层Output4的输出进行卷积操作,通道数为24,group为1,卷积 核尺寸为1,卷积层Loc4连接全连接层Mbox_conf; 卷积层Conf4,对卷积层Output4的输出进行卷积操作,通道数为24,group为1,卷 积核尺寸为1,卷积层Conf4连接全连接层Mbox_loc; 卷积层Output5,对池化层Pooling7的输出进行卷积操作,通道数为256,group为 1,卷积核尺寸为1,卷积层Output5连接PriorBox层PriorBox5、卷积层Loc5、卷积层Conf5; PriorBox层PriorBox5,用于部署卷积层Output5输出的特征图中的预选框, PriorBox层PriorBox5连接全连接层Mbox_prior; 卷积层Loc5,对卷积层Output5的输出进行卷积操作,通道数为24,group为1,卷积 核尺寸为1,卷积层Loc5连接全连接层Mbox_conf; 卷积层Conf5,对卷积层Output5的输出进行卷积操作,通道数为24,group为1,卷 积核尺寸为1,卷积层Conf5连接全连接层Mbox_loc; 8 CN 111611906 A 说 明 书 4/12 页 全连接层Mbox_conf,分别连接卷积层Loc1、卷积层Loc2、卷积层Loc3、卷积层 Loc4、卷积层Loc5的输出,全连接层Mbox_conf的输出经过reshape层、softmax层、Flatten 层处理,连接到输出层DetectionOutput; 全连接层Mbox_loc,分别连接卷积层Conf1、卷积层Conf2、卷积层Conf3、卷积层 Conf4、卷积层Conf5的输出,连接到输出层DetectionOutput; 全连接层Mbox_prior,分别连接PriorBox层PriorBox1、PriorBox层PriorBox2、 PriorBox层PriorBox3、PriorBox层PriorBox4、PriorBox层PriorBox5的输出,连接到输出 层DetectionOutput; 输出层DetectionOutput,用于输出SSD网络模型的检测结果。 进一步的,在步骤103中,对于训练好的SSD网络模型的剪枝包括以下步骤: 步骤103-1:将训练好的SSD网络模型的损失函数加入L1正则化约束,以训练好的 SSD网络模型的权重为初始值进行网络训练; 步骤103-2:将经上一步训练的SSD网络模型的损失函数加入L1正则化约束,以经 上一步训练的SSD网络模型的权重为初始值进行网络训练; 步骤103-3:循环进行步骤103-2,用于将权重绝对值小的权重置0。 进一步的,在步骤103中,训练好的权重表示为32位浮点数,对于训练好的SSD网络 模型进行量化,用于将32位浮点数的权重映射为二进制下的8位整数,即0-255,通过如下公 式表示: xquantized=xfloat÷xscale xzero_point 式中,xquantized为量化后的值,xfloat为SSD网络模型中一层卷积层的权重中任意权 重,表示为: 其中, 和 分别为SSD网络模型中一层卷积层的权重的最小值和最大值, 式中,xscale为缩放比例,表示为: 式中,xzero_point为量化后和量化前权重为0对应的数字,表示为 进一步的,在步骤104中,对采集到的图像进行标定时,得到图像坐标系和世界坐 标系的单应性矩阵,通过单应性矩阵关联图像坐标系和世界坐标系,实现关联图像坐标系 和世界坐标系的坐标之间的相互转换。 进一步的,在步骤3中,对于通过摄像头视觉检测获得的障碍物,将最小外接矩形 的中点作为障碍物的位置。 一种用于自动泊车的障碍物检测系统,其特征在于,包括存储器、处理器以及存储 在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如上述的用于自 动泊车的障碍物检测方法。 9 CN 111611906 A 说 明 书 5/12 页 一种计算机可读存储介质,其上存储有程序,其特征在于:所述程序被处理器执行 时实现如上述的用于自动泊车的障碍物检测方法。 本发明提供的用于自动泊车的障碍物检测方法,通过结合摄像头视觉检测和超声 波雷达测量所获取的障碍物信息最终确定障碍物的位置,雷达易检测的目标是大型目标, 例如车,雷达难以检测到小型目标,例如人、雪糕桶或更小的目标,对于雷达难以检测到的 小型目标,以摄像头视觉识别结果为准;对于检测出的行人、雪糕桶,将最小外接矩形的中 点作为障碍物的位置,车辆等大目标以超声波雷达检测出障碍物的位置为准;本发明的摄 像头视觉检测方法,为了进一步提升网络的运行速度,对训练好的SSD网络模型进行剪枝和 量化操作,通过剪枝去掉不重要的权重,通过量化操作,对量化后的整数权重进行运算,所 占带宽更小,运算速度更快,经过剪枝和量化操作,运行速度提升1倍,精度下降约1%,在保 证精度的同时可以减少计算量,从而可以快速获取视觉检测结果; 本发明可以用来避障和判断车位的有效性等,在自动泊车的过程中,如果检测出 车位后,则可以使用本发明判断车位内部是否含有障碍物,进而对车位是否可用做出判断。 附图说明 图1为本发明的一种用于自动泊车的障碍物检测方法的主要流程图; 图2为步骤1的具体流程示意图; 图3为SSD网络模型检测出障碍物的示意图。
下载此资料需消耗2积分,
分享到:
收藏