本技术涉及工业物流,尤其是一种基于深度学习的条码定位检测方法。
背景技术:
1、条码是将多个宽度不等的黑条和白条按照一定的编码规则排列,用以表达信息的图形识别单元。条码可以标出物品的名称、生产日期、保质期、生产厂商、邮件发送的起止地点、日期、图书分类号等信息,因此条码在多种领域有着广泛的应用,比如零售业、金融业、出版社、物流业。
2、条码技术飞速发展的同时,对条码检测提出了更高的要求。在工业物流领域,拍摄的图像往往具有很高的分辨率,条码面单贴于包裹表面,面单在图像中的占比很小,并且不同图像中的条码面单位置随机,背景区域复杂多变,通过整图搜索定位条码耗时较长,且容易遗漏或误判。且工业物流领域拍摄到的图像光源变化、背景复杂,传统的诸如形态学方法、霍夫直线检测、边缘检测之类的条码检测定位的提取效果不佳。
技术实现思路
1、本技术针对上述问题及技术需求,提出了一种基于深度学习的条码定位检测方法,本技术的技术方案如下:
2、一种基于深度学习的条码定位检测方法,该条码定位检测方法包括:
3、对获取到的原始图像进行图像缩放得到待检测图像,待检测图像的图像分辨率小于原始图像;
4、利用粗定位模型从待检测图像中提取条码面单区域图像,条码面单区域图像是条码面单所在区域的图像,条码面单上印刷有条码及其对应的勾选框,条码的边缘与条码面单的边缘平行,每个条码对应的勾选框位于条码的预定相对位置处;粗定位模型基于yolo-fastest模型训练得到;
5、利用目标检测模型对条码面单区域图像进行目标检测,提取得到条码面单区域图像中各个条码的条码检测框、各个关联对象组的关联检测框、各个勾选框的勾选框检测框,一个关联对象组包括一个条码及其对应的勾选框;目标检测模型基于yolo-fastest模型训练得到;
6、根据各个条码检测框、关联检测框和勾选框检测框确定条码面单区域图像中的目标条码区域;
7、根据条码面单区域图像中的目标条码区域从原始图像中提取目标条码。
8、其进一步的技术方案为,根据各个条码检测框、关联检测框和勾选框检测框确定条码面单区域图像中的目标条码区域包括:
9、当从条码面单区域图像中检测到至少一个关联检测框以及多个条码检测框时,根据各个条码检测框、关联检测框和勾选框检测框确定与每个关联检测框匹配的条码检测框,并将各个关联检测框匹配的条码检测框所在区域作为目标条码区域。
10、其进一步的技术方案为,根据各个条码检测框、关联检测框和勾选框检测框确定与每个关联检测框匹配的条码检测框包括对于每个关联检测框:
11、分别计算每个条码检测框与关联检测框的距离,并确定其中与关联检测框的距离最小的条码检测框作为第一候选检测框、与关联检测框的距离次小的条码检测框作为第二候选检测框;
12、当两个候选检测框与关联检测框的距离的差值达到距离差阈值时,直接将第一候选检测框所在区域作为目标条码区域;
13、当两个候选检测框与关联检测框的距离的差值未达到距离差阈值时,根据两个候选检测框与关联检测框以及各个勾选框检测框的相对位置确定将其中一个候选检测框所在区域作为目标条码区域。
14、其进一步的技术方案为,根据两个候选检测框与关联检测框以及各个勾选框检测框的相对位置确定将其中一个候选检测框所在区域作为目标条码区域包括:
15、一个条码对应的勾选框位于条码沿着平面上水平方向的一侧,第一候选检测框位于关联检测框的沿着平面上水平方向的第一侧,第二候选检测框位于关联检测框的沿着平面上水平方向的第二侧;当第一候选检测框的沿着平面上水平方向的第一侧存在勾选框检测框时,将第二候选检测框所在区域作为目标条码区域,否则将第一候选检测框所在区域作为目标条码区域;
16、或者,一个条码对应的勾选框位于条码沿着平面上竖直方向的第一侧,第一候选检测框位于关联检测框的沿着平面上竖直方向的第一侧,第二候选检测框位于关联检测框的沿着平面上竖直方向的第二侧;当第一候选检测框的沿着平面上竖直方向的第一侧存在勾选框检测框时,将第二候选检测框所在区域作为目标条码区域,否则将第一候选检测框所在区域作为目标条码区域。
17、其进一步的技术方案为,根据各个条码检测框、关联检测框和勾选框检测框确定目标条码区域还包括:
18、当从条码面单区域图像中检测到唯一的关联检测框和唯一的条码检测框时,直接将检测到的条码检测框所在区域作为目标条码区域;
19、当未从条码面单区域图像中检测到关联检测框时,确定原始图像中不存在目标条码。
20、其进一步的技术方案为,根据条码面单区域图像中的目标条码区域从原始图像中提取目标条码,包括:
21、根据图像映射关系对条码面单区域图像中的目标条码区域进行坐标转换,确定原始图像中的目标条码区域,并读取原始图像中的目标条码区域内的图像得到目标条码。
22、其进一步的技术方案为,利用粗定位模型从采集到的原始图像中提取条码面单区域图像包括:
23、利用粗定位模型从采集到的原始图像中提取初始面单图像;
24、当初始面单图像的边缘相对于待检测图像的边缘之间的倾斜角度未达到倾斜角阈值时,将初始面单图像作为提取得到的条码面单区域图像;
25、当初始面单图像的边缘相对于待检测图像的边缘之间的倾斜角度达到倾斜角阈值时,将初始面单图像旋转至边缘与待检测图像的边缘在倾斜角阈值内,将旋转后的初始面单图像作为提取得到的条码面单区域图像。
26、其进一步的技术方案为,利用粗定位模型从待检测图像中提取初始面单图像包括:
27、将待检测图像输入粗定位模型,得到待检测图像中置信度分数达到分数阈值的若干个面单检测框;
28、利用非极大值抑制进一步对保留的若干个面单检测框进行筛选,提取筛选后保留的每个面单检测框内的图像作为一个初始面单图像。
29、其进一步的技术方案为,利用非极大值抑制进一步对保留的若干个面单检测框进行筛选包括:
30、确定置信度分数最高的面单检测框;
31、依次遍历其他各个面单检测框,并计算遍历到的面单检测框与置信度分数最高的面单检测框之间的重叠面积,当重叠面积达到重叠面积阈值时,将遍历到的面单检测框删除。
32、其进一步的技术方案为,利用粗定位模型从采集到的原始图像中提取条码面单区域图像还包括:
33、对初始面单图像进行图像锐化处理;
34、对完成图像锐化处理的初始面单图像进行二值化处理,得到二值化面单图像;
35、对二值化面单图像进行膨胀运算和形态学开运算后,确定最大面积轮廓;
36、构建最大面积轮廓的最小外接矩形,以最小外接矩形与待检测图像的边缘之间的夹角作为初始面单图像的边缘相对于待检测图像的边缘之间的倾斜角度。
37、本技术的有益技术效果是:
38、本技术公开了一种基于深度学习的条码定位检测方法,该方法首先使用yolo-fastest模型对降低图像分辨率后的待检测图中的条码面单区域图像进行粗定位提取,然后使用yolo-fastest模型对条码面单区域图像中的勾选框、条码和关联对象分别进行目标检测,然后综合各个类型的目标检测及之间的关系得到最终的目标条码区域,即可实现对目标条码的定位提取以及后续的读码,该方法降低原始图像分辨率,使用深度学习模型进行条码检测,然后从高分辨率的原始图像中进行全幅读码,保证实时性的同时提高了条码检测与读码的准确率。
39、该方法在提取条码面单区域图像时,根据条码面单区域图像相对于待检测图像的倾斜角度来判断是否需要旋转,并在需要旋转的情况下旋转至与边缘平行,使得后续目标检测的准确度更高,提高条码检测准确性。