发明内容
基于此,为了解决或改善现有技术的问题,本申请提供一种井盖检测方法、装置、电子设备及存储介质,在识别井盖是否缺失时,可以降低井盖识别的难度。
本申请第一方面提供一种井盖检测方法,包括:获取摄像装置拍摄的摄像画面;对所述摄像画面进行预处理,提升所述摄像画面的特征明显度;将所述摄像画面输入预先训练的对象检测模型,所述对象检测模型用于识别图像上的下水道井口处是否有井盖;接收所述对象检测模型的识别结果,并将所述识别结果发送至预定接收端;所述对象检测模型的训练步骤包括:获取具有井盖图像的样本数据,并构建原始对象检测模型,并获取所述摄像装置预先拍摄的井盖图像中井盖尺寸占比;调节样本数据尺寸,以使所述样本数据中井盖尺寸占比与所述井盖图像中井盖尺寸占比相同;利用尺寸调整后的样本数据训练所述原始对象检测模型,得到所述对象检测模型。
进一步地,对所述摄像画面进行预处理包括:获取预先构建的对比度增强算法;利用所述对比度增强算法增强所述摄像画面的对比度,以提升所述摄像画面的特征明显度;所述利用所述对比度增强算法增强所述摄像画面的对比度的步骤包括:获取摄像画面的每个像素点的原始亮度;计算摄像画面的所有像素点的平均亮度;获取预设的增强值;计算每个所述像素点的每个所述原始亮度及所述平均亮度的差值、所述增强值与一的和值;对所述差值及所述和值求解乘积值;对所述乘积值及所述平均亮度进行求和,得到每个所述像素点的亮度值;根据所述亮度值调整每个像素点的亮度,利用亮度的调整完成所述对比度的增强。
进一步地,所述对象检测模型的训练步骤还包括:对所述样本数据进行对比度、亮度及色度随机调整;利用调整后的所述样本数据训练所述原始对象检测模型,得到对象检测模型。
进一步地,对所述样本数据进行对比度、亮度及色度随机调整包括:获取跨平台计算机视觉库或图形处理库的图像调整函数;将所述样本数据输入所述图像调整函数;利用预设的参数集中的参数对所述调整函数的调整参数进行随机赋值,对所述样本数据进行对比度、亮度及色度的随机调整,以将所述样本数据表现出不同场景,所述参数集中的参数包括对比度参数、亮度参数及色度参数,所述调整参数包括对比度调整参数、亮度调整参数及色度调整参数;从所述调整函数处接收对比度、亮度及色度的随机调整后的样本数据。
进一步地,调节样本数据尺寸包括:获取所述井盖图像中的井盖尺寸占比的范围值;当所述范围值小于预设样本数据中的井盖尺寸占比的范围值时,根据所述范围值在所述样本数据的图像四周填充黑色区域,以调节井盖尺寸在样本数据中的占比,以使所述样本数据中井盖尺寸占比与所述摄像画面中井盖尺寸占比相同。
进一步地,所述对象检测模型的训练步骤还包括:获取预先计算的尺寸值;将所述尺寸值赋值为所述对象检测模型的锚值,所述对象检测模型根据所述锚值确定边界框的尺寸,井盖的位置位于所述边界框内。
进一步地,所述尺寸值的计算方法包括:获取预先构建K均值聚类算法及遗传算法;利用所述K均值聚类算法及遗传算法提取所述样本数据中井盖的尺寸样本值,将所述尺寸样本值作为所述尺寸值。
本申请第二方面提供一种井盖检测装置,包括:摄像画面获取模块,用于获取摄像装置拍摄的摄像画面;预处理模块,用于对所述摄像画面进行预处理,提升所述摄像画面的特征明显度;检测模块,用于预先训练对象检测模型,并使用对象检测模型对输入图像的下水道井口处是否有井盖进行检测;图像输入模块,用于将所述摄像画面输入所述检测模块;接收发送模块,用于接收所述检测模块的识别结果,并将所述识别结果发送至预定接收端;检测模块包括:样本数据构建单元,用于获取具有井盖图像的样本数据,并获取所述摄像装置预先拍摄的井盖图像中井盖尺寸占比;构建单元,用于构建原始对象检测模型;尺寸调节单元,用于调节样本数据尺寸,以使所述样本数据中井盖尺寸占比与所述井盖图像中井盖尺寸占比相同;训练单元,用于利用尺寸调整后的样本数据训练所述原始对象检测模型,得到所述对象检测模型。
本申请第三方面提供一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述中任一项所述的井盖检测方法的步骤。
本申请第四方面提供一个或多个存储有计算机可读指令的非易失性可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行上述中任一项所述的井盖检测方法的步骤。
上述的井盖检测方法、装置、电子设备及存储介质,通过对摄像画面预处理而提升摄像画面的特征明显度,能够更加便于对象检测模型在摄像画面中提取图像特征,从而降低了对象检测模型对摄像画面中的井盖、下水道井口进行特征识别的难度,因此降低了井盖识别的难度。
另外在对象检测模型的训练过程中,使用的样本数据与摄像装置预先拍摄的井盖图像中的井盖尺寸占比相同,而摄像画面也是摄像装置拍摄的,因此对象检测模型对摄像画面进行检测的过程中,能够仅检测与样本数据井盖尺寸占比相同的区域,从而减少了摄像画面中与井盖、下水道井口无关的特征,因此能够更加准确地提取摄像画面中井盖、下水道井口的特征,从而进一步降低了井盖识别的难度。
具体实施方式
下面结合附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而非全部实施例。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如背景技术所述,发明人研究发现,在摄像头拍摄的画面中识别井盖时,由于井盖在画面中占比较小,并且井盖、下水道井口的颜色与周围的街道较为相似,加上日夜交替,摄像头拍摄的画面变化较大等原因,导致识别井盖时,不能够准确地提取井盖及下水道井口的图像特征,使得井盖识别的难度较大。
本申请实施例提出一种井盖检测方法、装置、电子设备及存储介质,在识别井盖是否缺失时,可以降低井盖识别的难度,可以解决现有技术中不能够准确地提取拍摄的画面中的图像特征,从而使得识别结果的精准度较低的问题。
请参阅图1,其为本申请一实施例提供的一种井盖检测方法的流程示意图,该井盖检测方法的具体步骤包括:S1、获取摄像装置拍摄的摄像画面;S2、对摄像画面进行预处理,提升摄像画面的特征明显度;S3、将摄像画面输入预先训练的对象检测模型,对象检测模型用于识别图像上的下水道井口处是否有井盖;S4、接收对象检测模型的识别结果,并将识别结果发送至预定接收端。
在本申请的实施例中,通过对摄像画面预处理而提升摄像画面的特征明显度,能够更加便于对象检测模型在摄像画面中提取图像特征,从而降低了对象检测模型对摄像画面中的井盖、下水道井口进行特征识别的难度,因此降低了井盖识别的难度。
另外在对象检测模型的训练过程中,使用的样本数据与摄像装置预先拍摄的井盖图像中的井盖尺寸占比相同,而摄像画面也是摄像装置拍摄的,因此对象检测模型对摄像画面进行检测的过程中,能够仅检测与样本数据井盖尺寸占比相同的区域,从而减少了摄像画面中与井盖、下水道井口无关的特征,因此能够更加准确地提取摄像画面中井盖、下水道井口的特征,从而进一步降低了井盖识别的难度。
步骤S1中摄像装置获取的摄像画面,可由单独安装在井盖附近的摄像机拍摄,也可由安装在路边的监控摄像头拍摄,摄像画面的获取方法为从拍摄的视频流中,截取固定时间段的摄像画面。
在该实施例中,截取视频流中早上6点、中午12点、下午5点及凌晨0点的画面作为摄像画面,通过上述四个时间点,早上6点前、下午5点后的一段时间为上下班高峰期,人流量较大,能够在下水道井口没有井盖时,及时检测出结果发送至相关部门的预定接收端,使得相关部门能够及时地做出处理,防止人流量过大时影响过多的人出行;中午12点及凌晨0点为附加时间点进行检测,增加检测出井盖缺失的几率,从而更加便于相关部门进行及时处理;在其他实施例中,还可以截取其他时间点的画面作为摄像画面。
在步骤S2中,提升摄像画面的特征明显度后,能够更加便于对象检测模型在摄像画面中提取图像特征,从而降低了对象检测模型对摄像画面中的井盖、下水道井口进行特征识别的难度,因此降低了井盖识别的难度。
请参阅图2,在步骤S3中,对象检测模型的训练步骤包括:S31、获取具有井盖图像的样本数据,并构建原始对象检测模型,并获取摄像装置预先拍摄的井盖图像中井盖尺寸占比;S32、调节样本数据尺寸,以使样本数据中井盖尺寸占比与井盖图像中中井盖尺寸占比相同;S33、利用尺寸调整后的样本数据训练原始对象检测模型,得到对象检测模型。
在本实施例中,为了使得井盖图像更加清晰,样本数据为人工搜集的图片,例如人工近距离拍摄的井盖图片作为样本数据,这样的样本数据中,井盖在样本数据中的占比较大,因此通过步骤S33调整样本数据的尺寸,使得样本数据中井盖尺寸占比与井盖图像中井盖尺寸占比相同。
在本实施例中,步骤S32,调节样本数据尺寸的具体方式为自适应调节。
在对象检测模型的训练过程中,由于井盖图像与摄像图像均是摄像装置拍摄的,因此井盖图像与摄像图像中的井盖尺寸占比相同,而在对象检测模型训练时,将样本数据与井盖图像中井盖尺寸占比调整相同,能够使得原始对象检测模型学习与摄像图像中井盖尺寸占比相同的样本数据,从而在识别摄像图像时,能够仅检测与样本数据井盖尺寸占比相同的区域,从而减少了摄像画面中与井盖、下水道井口无关的特征的识别,因此能够更加准确地提取摄像画面中井盖、下水道井口的特征,从而再次降低了井盖识别的难度。
在该实施例中,对象检测模型为YOLO(You Only Look Once:Unified,Real-TimeObject Detection,看一次就够了)v5模型,v5则表示YOLO的第五代模型,由Backbone(主干层)、Neck(传递层)及Head(预测层)组成,Backbone是一个在不同图像细粒度上聚合并形成图像特征的卷积神经网络,Neck则具有一系列混合和组合图像特征的网络层,并将图像特征传递到预测层,Head用于对对图像特征进行预测,生成边界框并预测类别。
在步骤S4中,可以使用无线网络,例如蜂窝网络将识别结果发送至预定接收端,也可以使用有线网络,例如以太网将识别结果发送至预定接收端。
预定接收端是相关部门能够联网的网络电子产品,能够接收蜂窝信号及以太网信号,从而接收对象检测模型的识别结果。
网络电子产品可以以各种形式来实施。例如,本申请中描述的网络电子产品可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal DigitalAssistant,PDA)、可穿戴设备、智能手环、等移动终端,以及诸如数字TV、台式计算机等固定终端。
在一个实施例中,请参阅图3,上述实施例中的步骤S2中,对摄像画面进行预处理的步骤包括:S21、获取预先构建的对比度增强算法;S22、利用对比度增强算法增强摄像画面的对比度,以提升摄像画面的特征明显度。
利用对比度增强算法增强摄像画面的对比度的步骤包括:获取摄像画面的每个像素点的原始亮度;计算摄像画面的所有像素点的平均亮度;获取预设的增强值;计算每个像素点的每个原始亮度及平均亮度的差值、增强值与一的和值;对差值及和值求解乘积值;对乘积值及平均亮度进行求和,得到每个像素点的亮度值;根据亮度值调整每个像素点的亮度,利用亮度的调整完成对比度的增强。
在其他实施例中,对比度增强算法可以使用直方图调整算法,在其他实施例中,还能使用灰度变换算法或其他公知的能够增强图像对比度的算法。
通过对摄像图片的对比度进行增强,能够使得摄像图片越清晰醒目,色彩也越鲜明艳丽,高对比度对于图像的清晰度、细节表现、灰度层次表现都有很大帮助,而这些表现在机器视觉里,高对比度的图像就表现出更加明显特征,因此通过增强摄像图片的对比度,能够提升摄像画面的特征明显度,使得对象检测模型能够容易地检测出摄像图片上的特征点,从而有利于对象检测模型利用特征点判断摄像图片上有无井盖的特征,因此降低了对象检测模型对摄像画面进行识别的难度。
在一个实施例中,上述实施例中的步骤S32,调节样本数据尺寸的步骤包括:S321、获取正井盖图像中的井盖尺寸占比的范围值;S322、根据范围值在样本数据的图像四周填充黑色区域,以调节井盖尺寸在样本数据中的占比,以使样本数据中井盖尺寸占比与摄像画面中井盖尺寸占比相同。
在获取了井盖图像中的尺寸的范围值后,能够根据范围值计算井盖在井盖图像中的占比a,而井盖在样本数据中的占比b,应当满足b与a相差不大,比如b在a的正负30%范围内。将样本数据中的井盖尺寸定义为x,样本数据调整后的图像尺寸定义为y,随机一个在a的正负30%范围内的值c,则有
此时x与c已知,则能够计算出样本数据的图像尺寸值y,从而对样本数据的尺寸进行自适应调节。
比如原图的目标宽为原图宽的2/3,高为原图的3/4,实际一般是边的1/8,则根绝目标的较短边(比如宽),在1/8的正负30%随机一个目标值,比如0.1375,计算出对应图的宽应该多大才能使目标宽是图宽的0.1375,然后按照原图宽高比计算出变换后图的高,再在原图上下和左右均匀填充黑色区域,这样来进行自适应数据扩增。
在上述中,原图即为样本数据,而填充黑色区域,仅增加了样本数据图像的尺寸,而没有在样本数据上增加特征,因此填充黑色区域,能够使样本数据中井盖尺寸占比与摄像画面中井盖尺寸占比相同,且不增加特征来增加原始对象检测模型需要识别的特征点,从而降低了对象检测模型井盖识别的难度。
另外在对象检测模型的检测拍摄图像的过程中,能够仅检测与样本数据井盖尺寸占比相同的区域,从而减少了摄像画面中非井盖、下水道井口的特征识别数量,因此能够更加准确地提取摄像画面中井盖、下水道井口的特征,从而再次降低了对象检测模型井盖识别的难度。
在一个实施例中,步骤S3,对象检测模型的训练步骤还包括:S34、对样本数据进行对比度、亮度及色度随机调整;S35、利用调整后的样本数据训练原始对象检测模型,得到对象检测模型。
对比度、亮度及色度都能够反应图像的特征,而将对比度、亮度及色度进行随机调整,则能够增加样本图像中不同特征之间的差异度,从而使得原始对象检测模型能够更加便于对样本数据进行学习,且由于差异度变大,使得不同特征之间的区分能够更加准确,从而使得原始对象检测模型学习的更加准确,因此使得训练出的对象检测模型能够检测的更加准确,提升检测结果的精确度。
在一个实施例中,步骤S34,对样本数据进行对比度、亮度及色度随机调整包括:S341、获取跨平台计算机视觉库或图形处理库的图像调整函数;S342、将样本数据输入图像调整函数;S343、利用预设的参数集中的参数对调整函数的调整参数进行随机赋值,对样本数据进行对比度、亮度及色度的随机调整;S344、从调整函数处接收对比度、亮度及色度的随机调整后的样本数据。
跨平台计算机视觉库(OpenCV)是一个开源的跨平台计算机视觉和机器学习软件库,能够进行图像属性的调整。
图形处理库(Python Image Library,PIL)提供了基本的图像处理功能,如:改变图像大小,旋转图像,图像格式转换,色场空间转换,图像增强,直方图处理,插值和滤波等等,在本实施例中,使用的是PIL中的分支图形处理标准库(pillow)。
因此,上述的OpenCV、PIL及pillow均是开源的,因此无需重新构建图像处理的函数,只需调用即可实现对比度、亮度及色度的调整,在调整时,需要为函数输入一个调整参数,以确定对比度、亮度及色度的调整度,本实施例中,通过参数集中的参数进行随机为调整参数进行赋值,则能够实现函数的随机调整,从而随机调整样本数据的对比度、亮度及色度。
通过随机调整样本数据的对比度、亮度及色度,能够模拟样本数据中的井盖处于的不同环境。
调整样本数据的对比度的步骤包括:增加样本数据的对比度,以增加增强样本数据的特征明显度。
调整样本数据的亮度的步骤包括:增加样本数据的亮度,以模拟井盖在白天不同时间段所处的环境,或者,降低样本数据的亮度,以模拟井盖在夜里不同时间段所处的环境。
调整样本数据的色度的步骤包括:增加样本数据的色度,以模拟井盖在晴天所处的环境,或者,降低样本数据的色度,以模拟井盖在阴雨天所处的环境。
在本实施例中,通过随机调整对比度、亮度及色度中的至少一项来模拟井盖处于的不同环境。
由于井盖所处环境的亮度受到时间影响会发生变化,在为样本数据调整亮度后,则能够模拟井盖在不同时间段所处的环境;又例如,由于井盖被拍摄下后,图像上的色度受到天气影响,晴天则颜色偏鲜艳,阴雨天则颜色偏灰白,在为样本数据调整色度后,则能够模拟井盖在不同天气所处的环境;对比度的调整,请参见上述实施例对摄像图像对比度调整的效果,这里不再赘述。
因此,通过对对比度、亮度及色度的调整,能够在现有样本数据的数据集的情况下,提升对原始对象检测模型的训练能力,从而提升了对象检测模型的泛化能力。
在一个实施例中,步骤S3,对象检测模型的训练步骤还包括:S36、获取预先计算的尺寸值;S37、将尺寸值赋值为对象检测模型的锚值,对象检测模型根据锚值确定边界框的尺寸,井盖的位置位于边界框内。
锚值的大小即为边界框的尺寸大小,由于井盖在图像上的占比较小,因此需要人工计算尺寸值,从而调整锚值来调整边界框,使得边界框能够框选图像中的井盖,从而进行检测。
在一个实施例中,步骤S36中,尺寸值的计算方法包括:S361、获取预先构建K均值聚类算法及遗传算法;S362、利用K均值聚类算法及遗传算法提取样本数据中井盖的尺寸样本值,将尺寸样本值作为尺寸值。
在本实施例中,K均值聚类算法使用的是k-means算法(k-means clusteringalgorithm)。
由于在上述实施例中,对样本数据进行了尺寸调整,使得样本数据与井盖图像中的井盖尺寸占比相同,因此计算出样本数据中井盖的尺寸样本值,并将该尺寸样本值作为尺寸值,能够使得边界框的尺寸大小与样本数据中的井盖尺寸相适配,而样本数据中的井盖尺寸占比,与摄像图像中的井盖尺寸占比相同,从而能够在对象检测模型检测摄像图像时,使用该尺寸值框选井盖,不会过多的框选其他特征,降低了其他特征对检测时的干扰,从而提升了对象检测模型的检测能力,降低了对象检测模型井盖识别的难度。
图4为一个实施例的井盖检测装置的结构框图。
如图4所示,井盖检测装置包括:摄像画面获取模块1、预处理模块2、检测模块3、图像输入模块4及接收发送模块5;摄像画面获取模块1用于获取摄像装置拍摄的摄像画面;预处理模块2用于对摄像画面进行预处理,提升摄像画面的特征明显度;检测模块3用于预先训练对象检测模型,并使用对象检测模型对输入图像的下水道井口处是否有井盖进行检测;图像输入模块4用于将摄像画面输入检测模块3;接收发送模块5用于接收检测模块3的识别结果,并将识别结果发送至预定接收端;
其中,检测模块3包括:数据获取单元,用于获取具有井盖图像的样本数据,并获取摄像装置预先拍摄的井盖图像中井盖尺寸占比;构建单元用于构建原始对象检测模型;尺寸调节单元,用于调节样本数据尺寸,以使样本数据中井盖尺寸占比与井盖图像中井盖尺寸占比相同;训练单元,用于利用尺寸调整后的样本数据训练原始对象检测模型,得到对象检测模型。
本实施例提供的井盖检测装置,通过对摄像画面预处理而提升摄像画面的特征明显度,能够更加便于对象检测模型在摄像画面中提取图像特征,从而降低了对象检测模型对摄像画面中的井盖、下水道井口进行特征识别的难度,因此降低了井盖识别的难度。
另外在对象检测模型的训练过程中,使用的样本数据与摄像装置预先拍摄的井盖图像中的井盖尺寸占比相同,而摄像画面也是摄像装置拍摄的,因此对象检测模型对摄像画面进行检测的过程中,能够仅检测与样本数据井盖尺寸占比相同的区域,从而减少了摄像画面中与井盖、下水道井口无关的特征,因此能够更加准确地提取摄像画面中井盖、下水道井口的特征,从而再次降低了井盖识别的难度。
上述井盖检测装置中各个模块的划分仅用于举例说明,在其他实施例中,可将井盖检测装置按照需要划分为不同的模块,以完成上述井盖检测装置的全部或部分功能。
关于井盖检测装置的具体限定可以参见上文中对于井盖检测方法的限定,在此不再赘述。上述井盖检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请实施例中提供的井盖检测装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
本申请还提出了一种电子设备,包括存储器及处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行上述任意实施例中的井盖检测方法的步骤。
电子设备可以以各种形式来实施。例如,本申请中描述的电子设备可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便捷式媒体播放器(Portable Media Player,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当计算机可执行指令被一个或多个处理器执行时,使得处理器执行井盖检测方法的步骤。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行井盖检测方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。