本公开涉及图像识别,尤其涉及图像识别方法及装置。
背景技术:
1、目前最新高效的接触网检测图像分析方法是采用深度学习技术对接触网检测图像中的零部件进行识别定位,但传统的深度学习技术采用的识别模型为确保模型泛化能力,一般模型规模较大,模型参数达到千万至上亿的数量级别,为实现推理模型的加载和运算,所需的计算设备规模较大,难以在手持式设备、便携式设备等小型设备上进行高效的运行。
技术实现思路
1、有鉴于此,本公开实施例提供了图像识别方法及装置,以解决现有技术中识别模型规模较大导致难以在手持式设备、便携式设备等小型设备上进行高效的运行的问题。
2、本公开实施例的第一方面,提供了一种图像识别方法,包括:
3、获取包含待识别目标的原始图像;
4、将所述原始图像从rgb色域空间转换为lab色域空间,得到lab图像;
5、将所述lab图像导入训练好的yolov7-x识别模型进行识别,得到针对所述待识别目标的识别结果,其中,所述yolov7-x识别模型是根据预设的yolov7-e6e识别模型组合训练确定的,所述yolov7-e6e识别模型的模型复杂度高于所述yolov7-x识别模型。
6、在一些实施例中,所述根据预设的yolov7-e6e识别模型组合训练确定所述yolov7-x识别模型的步骤包括:
7、获取训练图像集,所述训练图像集包括多个包含所述待识别目标的训练图像;
8、将所述训练图像集导入所述yolov7-e6e识别模型,得到基准识别结果;
9、分别将所述训练图像集导入未训练的yolov7-x识别模型,以及所述yolov7-x识别模型和所述yolov7-e6e识别模型构成的组合模型进行迭代训练,直至所述组合模型的组合损失数据符合预设要求,得到所述训练好的所述yolov7-x识别模型。
10、在一些实施例中,所述组合损失数据是所述yolov7-x识别模型和所述yolov7-e6e识别模型最后一层的输出,基于预设的加权参数进行加权组合后的组合识别结果,与所述基准识别结果的差值。
11、在一些实施例中,所述分别将所述训练图像集导入未训练的yolov7-x识别模型,以及所述yolov7-x识别模型和所述yolov7-e6e识别模型构成的组合模型进行迭代训练,直至所述组合模型的组合损失数据符合预设要求,得到所述训练好的所述yolov7-x识别模型,包括:
12、在当次的训练完成时,将当次的yolov7-x识别模型的参数矩阵中的每个数据与上次训练完成时所述yolov7-x识别模型的参数矩阵中对应的每个数据的比值,更新至预设的更新率矩阵;
13、若当次的所述yolov7-x识别模型的目标损失数据,以及当次的所述组合损失数据的提升率均大于预设的第一阈值,将当次的yolov7-x识别模型的参数矩阵更新,其中,所述目标损失数据是指所述yolov7-x识别模型的识别结果与所述基准识别结果的差值;
14、基于所述更新率矩阵对所述yolov7-x识别模型进行优化;
15、若表示优化成功,将优化后的yolov7-x识别模型更新为当次的yolov7-x识别模型;
16、重复训练直至所述组合模型的组合损失数据符合预设要求,将当次的yolov7-x识别模型确定为所述训练好的yolov7-x识别模型。
17、在一些实施例中,所述基于所述更新率矩阵对所述yolov7-x识别模型进行优化,包括:
18、从所述更新率矩阵中筛选出小于预设的第二阈值的优化更新率集;
19、随机删除所述优化更新率集中第一预设数量更新率对应的,在所述yolov7-x识别模型的网络层中的连接支路,其中,所述第一预设数量为正数;
20、针对随机删除连接支路后的yolov7-x识别模型进行一次训练,若随机删除连接支路后的yolov7-x识别模型的目标损失数据与随机删除连接支路前的目标损失数据的差值小于预设的第三阈值,表示优化成功;
21、否则,将所述第一预设数量减少预设的裁剪步长后,重复执行所述随机删除所述优化更新率集中第一预设数量更新率对应的,在所述yolov7-x识别模型的网络层中的连接支路的步骤,直至表示优化成功,或者,所述第一预设数量小于或等于所述裁剪步长表示优化失败,其中,所述裁剪步长为小于初始的第一预设数量的正数。
22、在一些实施例中,所述若表示优化成功,将优化后的yolov7-x识别模型更新为当次的yolov7-x识别模型之后,包括:
23、若表示优化失败,不对当次的yolov7-x识别模型进行优化。
24、在一些实施例中,所述组合模型组合损失数据符合预设要求是指在最近的第二预设数量次训练中,所述组合损失数据变化的方差小于预设的第四阈值。
25、本公开实施例的第二方面,提供了一种图像识别装置,包括:
26、获取模块,用于获取包含待识别目标的原始图像;
27、转换模块,用于将所述原始图像从rgb色域空间转换为lab色域空间,得到lab图像;
28、识别模块,用于将所述lab图像导入训练好的yolov7-x识别模型进行识别,得到针对所述待识别目标的识别结果,其中,所述yolov7-x识别模型是根据预设的yolov7-e6e识别模型组合训练确定的,所述yolov7-e6e识别模型的模型复杂度高于所述yolov7-x识别模型。
29、在一些实施例中,所述根据预设的yolov7-e6e识别模型组合训练确定所述yolov7-x识别模型的步骤包括:
30、获取训练图像集,所述训练图像集包括多个包含所述待识别目标的训练图像;
31、将所述训练图像集导入所述yolov7-e6e识别模型,得到基准识别结果;
32、分别将所述训练图像集导入未训练的yolov7-x识别模型,以及所述yolov7-x识别模型和所述yolov7-e6e识别模型构成的组合模型进行迭代训练,直至所述组合模型的组合损失数据符合预设要求,得到所述训练好的所述yolov7-x识别模型。
33、在一些实施例中,所述组合损失数据是所述yolov7-x识别模型和所述yolov7-e6e识别模型最后一层的输出,基于预设的加权参数进行加权组合后的组合识别结果,与所述基准识别结果的差值。
34、在一些实施例中,所述分别将所述训练图像集导入未训练的yolov7-x识别模型,以及所述yolov7-x识别模型和所述yolov7-e6e识别模型构成的组合模型进行迭代训练,直至所述组合模型的组合损失数据符合预设要求,得到所述训练好的所述yolov7-x识别模型,包括:
35、在当次的训练完成时,将当次的yolov7-x识别模型的参数矩阵中的每个数据与上次训练完成时所述yolov7-x识别模型的参数矩阵中对应的每个数据的比值,更新至预设的更新率矩阵;
36、若当次的所述yolov7-x识别模型的目标损失数据,以及当次的所述组合损失数据的提升率均大于预设的第一阈值,将当次的yolov7-x识别模型的参数矩阵更新,其中,所述目标损失数据是指所述yolov7-x识别模型的识别结果与所述基准识别结果的差值;
37、基于所述更新率矩阵对所述yolov7-x识别模型进行优化;
38、若表示优化成功,将优化后的yolov7-x识别模型更新为当次的yolov7-x识别模型;
39、重复训练直至所述组合模型的组合损失数据符合预设要求,将当次的yolov7-x识别模型确定为所述训练好的yolov7-x识别模型。
40、在一些实施例中,所述基于所述更新率矩阵对所述yolov7-x识别模型进行优化,包括:
41、从所述更新率矩阵中筛选出小于预设的第二阈值的优化更新率集;
42、随机删除所述优化更新率集中第一预设数量更新率对应的,在所述yolov7-x识别模型的网络层中的连接支路,其中,所述第一预设数量为正数;
43、针对随机删除连接支路后的yolov7-x识别模型进行一次训练,若随机删除连接支路后的yolov7-x识别模型的目标损失数据与随机删除连接支路前的目标损失数据的差值小于预设的第三阈值,表示优化成功;
44、否则,将所述第一预设数量减少预设的裁剪步长后,重复执行所述随机删除所述优化更新率集中第一预设数量更新率对应的,在所述yolov7-x识别模型的网络层中的连接支路的步骤,直至表示优化成功,或者,所述第一预设数量小于或等于所述裁剪步长表示优化失败,其中,所述裁剪步长为小于初始的第一预设数量的正数。
45、在一些实施例中,所述若表示优化成功,将优化后的yolov7-x识别模型更新为当次的yolov7-x识别模型之后,包括:
46、若表示优化失败,不对当次的yolov7-x识别模型进行优化。
47、在一些实施例中,所述组合模型组合损失数据符合预设要求是指在最近的第二预设数量次训练中,所述组合损失数据变化的方差小于预设的第四阈值。
48、本公开实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并且可以在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
49、本公开实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
50、有益效果
51、本公开实施例与现有技术相比存在的有益效果至少包括:通过联合低精度高效率的yolov7-x识别模型与高精度低效率的yolov7-e6e模型进行联合训练从而达到速度与效率平衡,在减小识别模型的基础上大大提高识别精度,使得可以在满足精度的基础上,在手持式设备、便携式设备等小型设备上进行高效的运行。