本发明涉及图像识别与处理技术领域,尤其涉及一种基于颜色分割的安全帽检测方法。
背景技术:
安全帽是指对人头部受坠落物及其他特定因素引起的伤害起防护作用的帽子,安全帽在各种存在潜在危险的施工场所是非常常见的且简单易行的一种防护措施,一旦发生高空坠物或者其他情形时,往往能够起到非常关键的防护作用。但是部分人的安全意识淡泊,常常忘记或者不愿意佩戴安全帽,一旦发生安全事故可能造成严重的后果,但是对于不佩戴安全帽的行为,尽管制定各种相关制度作为要求,但是效果差强人意,对于这样的行为监督起来非常麻烦。近年来诞生了一部分智能识别安全帽佩戴情况的方法,取得了显著效果。
例如,2019年8月30日公开的申请号为cn201910484745.2的中国发明专利《基于深度学习的安全帽定位与颜色识别方法与系统》公开了一种基于深度学习的安全帽佩戴识别方法及设备,所述方法通过将待识别图像输入预先构建的安全帽识别模型;其中,所述安全帽识别模型基于预先标注的图像样本和多层卷积神经网络训练获得;基于安全帽识别模型的输出结果,获得待识别图像中包含安全帽的子图像。解决了现有技术中安全帽佩戴识别方案受光照的影响较大,并且不同的特征提取方法对算法的鲁棒性也有影响的技术问题,实现快速和准确进行安全帽佩戴识别的技术效果。
也有基于有基于机器学习的方式如hog svm,通过提取图像的hog特征,并载入svm进行训练,以此来检测安全帽;还有部分方案是基于深度学习的安全帽检测方式,如基于yolo、ssd的对象检测网络。为保证检测的准确性,使用机器学习和深层次的网络的安全帽检测方式,需要大量的训练样本进行训练,复杂度高,计算开销大,因此设备部署成本高,不便于大规模应用部署。
因此,申请人发明了一种基于颜色分割的安全帽检测方法,在兼具检测准确度的前提下,大大降低了检测算法的复杂度和部署难度,具有很高的商用价值。
技术实现要素:
(一)要解决的技术问题
本发明实施例提供一种基于颜色分割的安全帽检测方法,用以实现通过机器视觉的方式完成单色安全帽的智能化检测工作,利用了安全帽色彩单一的特点,通过颜色分割的方式提取安全帽,并通过一系列图像分割和优化处理来保证检测的精度,对比基于深度学习的自顶向下的检测方式,在兼具检测准确性的前提下还具有设备要求低,检测实时性高的优点。
(二)发明内容
本发明实施例提供一种基于颜色分割的安全帽检测方法,包括以下步骤:
步骤一:原始图像数据获取
通过影像设备获取包含目标人员的原始图像数据;或者通过视频设备获取包含目标人群的原始视频流数据,并截取其中的目标频帧作为目标图像;
步骤二:目标图像颜色空间转换
将目标图像转化至hsv图像空间;
步骤三:获取安全帽hsv图像空间
根据安全帽颜色确定目标颜色区间;
步骤四:颜色分割
将hsv空间图像与步骤三所确定的颜色区间进行对比,生成像素值为0,1的二值图像,以初步确定安全帽的大致区域;
步骤五:膨胀
使用一个膨胀结构元素扫描目标图像的中的每一个元素,用该膨胀结构元素中的每一个像素与被其覆盖的像素做“与”操作,如果都为0,则该像素为0,否则为1;通过该膨胀操作可以去除白色前景色中的黑色孔洞;
步骤六:腐蚀
使用一个腐蚀结构元素扫描目标图像的中的每一个元素,用该腐蚀结构元素中的每一个像素与被其覆盖的像素做“与”操作,如果都为1,则该像素为1,否则为0;通过该腐蚀操作可以去除图像中部分小的白色前景色块;
步骤7:边缘检测
使用sobel算子、prewitt算子、canny算子和laplacian算子中的一种对经过步骤一至步骤七处理后的目标图像进行边缘检测,形成安全帽的边界;
步骤八:获取边界的外接矩形
通过计算安全帽边界上下左右的四个极限位置的坐标,绘制出安全帽边界的外接矩形,得到安全帽候选矩形框;
步骤九:过滤异常的安全帽候选矩形框
设定候选矩形框的最小面积阈值s0,去掉所有面积小于s0的安全帽候选矩形框;定义矩形框的矩形度t=宽/高,去掉所有矩形度落入区间(0.75,1.5)范围外的安全帽候选矩形框;
步骤十:统计安全帽位置和数量;
每一个符合标准的安全帽候选矩形框作为一个安全帽,统计安全帽位置和数量。
进一步的,步骤一中采用摄像头来获取目标图像,目标图像为rgb三通道图像,将其转化至hsv图像空间包括以下步骤:
a)将8位rgb颜色值转化为0-1之间的浮点值,并计算初始参数:
r'=r/225
g'=g/225
b'=b/225
cmax=max(r',g',b')
cmin=min(r',g',b')
δ=cmax-cmin
b)计算hsv分量:
其中h取值为0~360,s取值0~1,v取值0~1。
进一步的,待检测的安全帽为红色,所述步骤三中,h区间为:[0,10)∪[156,180),s区间为:[0.17,1),v区间为[0.18,1]。
进一步的,若现场环境光线较暗,则调整目标颜色区间为:h区间为:[0,9)∪[156,160),s区间为:[0.17,0.8),v区间为[0.18,0.8]。
进一步的,膨胀结构元素和所述腐蚀结构元素的大小均为3×3。
进一步的,膨胀结构元素和所述腐蚀结构元素的大小均为4×4。
(三)有益效果
本发明实施例提供的一种基于颜色分割的安全帽检测方法,包括原始图像数据获取、目标图像颜色空间转换、获取安全帽hsv图像空间、颜色分割、膨胀、腐蚀、边缘检测、获取边界的外接矩形、过滤异常的安全帽候选矩形框和统计安全帽位置和数量等步骤,来通过机器视觉方式实现了安全帽的智能检测,利用了安全帽色彩单一的特点,通过颜色分割的方式提取安全帽,通过安全帽颜色所特有的特征,过滤掉背景颜色,仅保留安全帽颜色范围,从而对安全帽进行检测,为防止部分背景色色调的干扰,通过设置先膨胀后腐蚀的图像形态学操作去除噪点,通过设定检测框矩形度和最小阈值来过滤例如手臂、光斑等背景杂色;具有积极可行性,且可解释性强;且本方案是基于数字图像处理的方式进行检测,对比基于深度学习的自顶向下的检测方式,在兼具检测准确性的前提下还具有设备要求低,检测实时性高的优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1本发明的一种基于颜色分割的安全帽检测方法的流程示意图;
图2是影像设备或者视频设备采集到的rgb三通道图像原始图像;
图3是原始图像转化到hsv图像空间后的目标图像;
图4是目标图像进行颜色分割后的图像;
图5是膨胀处理后的目标图像;
图6是腐蚀处理后的目标图像;
图7是目标图像经过边缘检测后形成画面边界后的的目标图像效果图;
图8是获取画面边界的外接矩形后的目标图像效果图;
图9是过滤掉异常外接矩形框后的目标图像的效果图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例的描述中,需要说明的是,除非另有明确的规定和限定,术语“第一”“第二”“第三”是为了清楚说明产品部件进行的编号,不代表任何实质性区别。“上”“下”“左”“右”的方向均以附图所示方向为准。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明实施例中的具体含义。
需要说明的是,除非另有明确的规定和限定,术语“连接”应做广义理解,例如,可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在发明实施例中的具体含义。
图1是本发明实施例中的一种基于颜色分割的安全帽检测方法的流程示意图,其包括原始图像数据获取、目标图像颜色空间转换、获取安全帽hsv图像空间、颜色分割、膨胀、腐蚀、边缘检测、获取边界的外接矩形、过滤异常的安全帽候选矩形框和统计安全帽位置和数量等步骤,来通过机器视觉方式实现了安全帽的智能检测。利用了安全帽色彩单一的特点,通过颜色分割的方式提取安全帽,通过安全帽颜色所特有的特征,过滤掉背景颜色,仅保留安全帽颜色范围,从而对安全帽进行检测。
具体来讲,检测流程如下:
先通过监控摄像头获取视如图2所示的包含人员的频帧,也可以从视频流中截取相应的画面作为原始图像,由于摄像头采集到的图像为rgb三通道图像,rgb值表明对应通道颜色强度,无法体现画面颜色范围,将图像由rgb颜色空间转化为hsv(色调、饱和度、明度)空间,通过hsv图像空间的h分量可以清晰表达图像的颜色特征。rgb转化为hsv遵循以下公式:
a)将8位rgb颜色值转化为0-1之间的浮点值,并计算初始参数:
r'=r/225
g'=g/225
b'=b/225
cmax=max(r',g',b')
cmin=min(r',g',b')
δ=cmax-cmin
b)计算hsv分量:
其中h取值为0~360,s取值0~1,v取值0~1。
经过上次转化后图1中的rgb三通道图像原始图像转化成图3中的hsv图像。
其次需要对获取hsv图像的颜色区间,由于安全帽常常为红色,现在以红色安全帽为例做说明,可以取h区间为:[0,10)∪[156,180),s区间为:[0.17,1),v区间为[0.18,1],上述分量比表示红色,如现场环境光线较暗,则调整目标颜色区间为:h区间为:[0,9)∪[156,160),s区间为:[0.17,0.8),v区间为[0.18,0.8],紧接着,对进行颜色分割,将hsv空间图像与颜色区间作比较,生成像素值为0,1的二值图像,其具体操作是:在确定的hsv颜色区间内的像素值设置为1,显示为白色(后称统一称为前景色),在区间外的像素值设置为0,显示为黑色(后面统一称为背景色)。通过颜色分割可以初步确定安全帽大致区域。进颜色分割后的目标图像如图4所示。
还需要对干扰因素进行排除。为减少安全帽上的标签logo等对检测的影响,通过膨胀操作,去除白色前景色中的黑色孔洞,让颜色分割后的目标更加清晰。其具体操作是:用一个结构元素(一般是3×3的大小,根据情况也可以选用4×4)扫描图像中的每一个像素,用结构元素中的每一个像素与其覆盖的像素做“与”操作,如果都为0,则该像素为0,否则为1。膨胀处理后的目标图像所示5所示。通过腐蚀操作去除图像中部分小的白色前景色块,以减少安全帽候选区域。具体操作:用一个结构元素(一般是3×3的大小)扫描图像中的每一个像素,用结构元素中的每一个像素与其覆盖的像素做“与”操作,如果都为1,则该像素为1,否则为0。腐蚀处理后的目标图像如所示6所示。
对目标图像进行上述优化处理后,通过边缘检测形成画面边界,可以使用sobel算子、prewitt算子、canny算子和laplacian算子中的一种即可。目标图像经过边缘检测后形成画面边界后的的目标图像效果图如图7所示。
接着,通过计算边缘上下左右四个方向上极限位置的坐标绘制出边缘的外接矩形,得到安全帽候选矩形区域,获取画面边界的外接矩形后的目标图像效果图如图8,上述安全帽候选矩形区域可能会存在部分异常矩形,需要排除掉,设定候选矩形框的最小面积阈值s0,去掉所有面积小于s0的安全帽候选矩形框;定义矩形框的矩形度t=宽/高,去掉所有矩形度落入区间(0.75,1.5)范围外的安全帽候选矩形框。
最后,将每一个符合标准的安全帽候选矩形框作为一个安全帽,统计安全帽位置和数量即可实现安全帽的检测,对比基于深度学习的自顶向下的检测方式,在兼具检测准确性的前提下还具有设备要求低,检测实时性高的优点。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
1.一种基于颜色分割的安全帽检测方法,其特征在于,包括以下步骤:
步骤一:原始图像数据获取
通过影像设备获取包含目标人员的原始图像数据;或者通过视频设备获取包含目标人群的原始视频流数据,并截取其中的目标频帧作为目标图像;
步骤二:目标图像颜色空间转换
将目标图像转化至hsv图像空间;
步骤三:获取安全帽hsv图像空间
根据安全帽颜色确定目标颜色区间;
步骤四:颜色分割
将hsv空间图像与步骤三所确定的颜色区间进行对比,生成像素值为0,1的二值图像,以初步确定安全帽的大致区域;
步骤五:膨胀
使用一个膨胀结构元素扫描目标图像的中的每一个元素,用该膨胀结构元素中的每一个像素与被其覆盖的像素做“与”操作,如果都为0,则该像素为0,否则为1;通过该膨胀操作可以去除白色前景色中的黑色孔洞;
步骤六:腐蚀
使用一个腐蚀结构元素扫描目标图像的中的每一个元素,用该腐蚀结构元素中的每一个像素与被其覆盖的像素做“与”操作,如果都为1,则该像素为1,否则为0;通过该腐蚀操作可以去除图像中部分小的白色前景色块;
步骤7:边缘检测
使用sobel算子、prewitt算子、canny算子和laplacian算子中的一种对经过步骤一至步骤七处理后的目标图像进行边缘检测,形成安全帽的边界;
步骤八:获取边界的外接矩形
通过计算安全帽边界上下左右的四个极限位置的坐标,绘制出安全帽边界的外接矩形,得到安全帽候选矩形框;
步骤九:过滤异常的安全帽候选矩形框
设定候选矩形框的最小面积阈值s0,去掉所有面积小于s0的安全帽候选矩形框;定义矩形框的矩形度t=宽/高,去掉所有矩形度落入区间(0.75,1.5)范围外的安全帽候选矩形框;
步骤十:统计安全帽位置和数量;
每一个符合标准的安全帽候选矩形框作为一个安全帽,统计安全帽位置和数量。
2.根据权利要求1所述的一种基于颜色分割的安全帽检测方法,其特征在于,所述步骤一中采用摄像头来获取目标图像,目标图像为rgb三通道图像,将其转化至hsv图像空间包括以下步骤:
a)将8位rgb颜色值转化为0-1之间的浮点值,并计算初始参数:
r'=r/225
g'=g/225
b'=b/225
cmax=max(r',g',b')
cmin=min(r',g',b')
δ=cmax-cmin
b)计算hsv分量:
其中h取值为0~360,s取值0~1,v取值0~1。
3.根据权利要求1所述的一种基于颜色分割的安全帽检测方法,其特征在于,待检测的安全帽为红色,所述步骤三中,h区间为:[0,10)∪[156,180),s区间为:[0.17,1),v区间为[0.18,1]。
4.根据权利要求3所述的一种基于颜色分割的安全帽检测方法,其特征在于,若现场环境光线较暗,则调整目标颜色区间为:h区间为:[0,9)∪[156,160),s区间为:[0.17,0.8),v区间为[0.18,0.8]。
5.根据权利要求1所述的一种基于颜色分割的安全帽检测方法,其特征在于,所述膨胀结构元素和所述腐蚀结构元素的大小均为3×3。
6.根据权利要求1所述的一种基于颜色分割的安全帽检测方法,其特征在于,所述膨胀结构元素和所述腐蚀结构元素的大小均为4×4。
技术总结