APP下载

基于H-S直方图的苹果着色率检测算法研究

2021-05-12杨凌霄王振营刘群坡王高伟杨彦超

电子科技 2021年5期
关键词:着色直方图像素

杨凌霄,王振营,刘群坡,王高伟,杨彦超

(河南理工大学 电气工程与自动化学院,河南 焦作454000)

颜色是评价水果的重要指标之一,并且表皮颜色与果实内部糖度也存在着间接的联系[1-2]。水果表面颜色直接影响水果的市场价格。近年来,许多机器视觉技术以及机器学习等方法被用于水果质量检测[3-6]。文献[7]研究了水果图像的HSV、RGB色彩模型,并将RGB模型转换为HSV颜色模型,提取颜色分量作为判别基准,对水果大小和色泽进行判别,实现水果的有效分级。文献[8]中设置阈值分割红色区域进行颜色检测。文献[9]利用HIS颜色模型中的H通道识别草莓成熟度。但是,单一颜色通道会丢失颜色信息。文献[10]中提取YIQ颜色空间参数来判断水果的成熟度。文献[11~12]将基于RGB的苹果图像转化为HIS模型,通过OTSU算法在H通道中进行水果和背景的分割,并根据H值范围提取颜色特征并用支持向量机与LVQ(Leorning Vector Qoantization)神经网络分级,LVQ神经网络分级精度高于支持向量机。在检测水果外观特征时,文献[13]研究了一种基于RGB颜色模型的红富士苹果表皮红色区域检测算法。该方法通过苹果RGB图像的光照补偿,降低了光照变化和光照不均带来的影响。此外,在此基础上使用超红-超绿阈值分割法,检测分割后苹果图像的红色区域并计算其面积。文献[14]用改进的HSV和分水岭算法检测成熟的番茄。文献[15]在对大枣进行色泽分级时,在RGB颜色空间中使用R-G直方图去分析大枣的表面颜色,并且使用R-G平面创建了R-G直方图。该方法舍弃了B通道,损失了部分颜色信息,且在RGB颜色空间中识别颜色时,识别结果容易受到图片亮度的影响。

鉴于上述算法存在的问题,本文提出了一种基于H-S直方图的着色率检测算法。该方法将RGB彩色图片转换到HSV颜色空间中[16],用不同颜色苹果的图片样本生成不同的H-S直方图,依据像素在直方图中出现的频率,判别像素是否为红色,检测苹果表皮红色着色率;在H-S平面中生成直方图,并舍弃与亮度相关的V通道。经验证发现这种方法既不会丢失颜色信息,检测结果又不易受到图片亮度的影响。

1 着色率检测算法总体流程

红绿黄3种颜色的苹果图片各5张,分成3组,并转换到HSV颜色空间,生成3种颜色的H-S直方图并且归一化。检测苹果区域的着色率时,获取待检测苹果的RGB彩色图像,将其转换到HSV颜色空间,然后提取每个像素的H值与S值。通过分析苹果区域中的像素在H-S直方图中对应的数值大小,确定其颜色是否为红色,分析红色像素所占比例,得到苹果表皮红色着色率。整个算法分成两部分,即生成标准化的H-S直方图部分和着色率检测部分,算法流程如图1所示。

图 1 整体算法流程图

2 生成归一化的H-S直方图

2.1 颜色空间转换

在对图像进行分析时,常使用的颜色模型包括RGB颜色模型和HSV颜色模型。RGB颜色空间模型根据三原色原理组成,3个维度分量分别是R(红色分量)、G(绿色分量)和B(蓝色分量)。这3个维度相关性较高,对光照比较敏感,不适合在RGB颜色空间模型中进行做颜色识别、感知算法。HSV颜色空间符合人类对颜色的感知特点的颜色模型。该颜色空间中的3个维度分别是H(色调)、S(饱和度)和V(亮度)。HSV颜色空间模型中的3个维度相互独立,当对其中一个维度进行处理时,另外两个维度不会受到干扰。本文目的是进行颜色识别,检测着色率宜选用HSV颜色空间。将采集到的RGB图像转换到HSV空间,用HSV空间中进行颜色识别、色泽检测,可以有效地避免光照不稳定带来的影响,颜色空间转换算法如式(1)~式(3)所示。

V=max(R,G,B)

(1)

(2)

(3)

式中,H为色调;S为饱和度;V为明度;R为红色分量;G绿色分量;B蓝色分量。

(a) (b)

2.2 生成 H-S直方图

2.2.1 样本图片苹果区域处理

15张样本图片中3种颜色的苹果图片各5张,第一组为红色苹果图片(r1~r5),第二组为绿色苹果图片(g1~g5),第三组为黄色苹果图片(y1~y5)。去除背景,去除果梗及花萼区域,只留下表皮区域并转换到HSV颜色空间。最终处理完的样本图片如图3所示,方便后续生成H-S直方图。

图3 用于制作H-S直方图的样本

2.2.2 生成H-S直方图

得到用于生成H-S直方图的样本图片后,提取每一组样本图片中苹果区域的H和S值,生成H-S直方图。计算每组样本图片中相同H、S的像素的次数以生成H-S直方图(每组图片一个)。hi(h,s)表示第i组苹果的H-S直方图,如式(4)所示。(h,s)是H-S平面中的坐标点位置。h和s范围分别是[0~360]和[0~1],为了方便分析处理,将h的范围映射到[0~255],s的范围映射到[0~255]。

(4)

式中,Ph,s为第i组样本中苹果区域中H通道与S通道的值为h与s的像素个数;PT为第i组样本中苹果区域像素的总数。

2.2.3H-S直方图的标准化

在生成H-S直方图时,由于每张样本图片苹果区域的像素个数不同。简单地计算每种颜色的像素出现的次数并不能真正反映该颜色的重要性。必须对生成的3个H-S直方图(每组一个)进行归一化,以反映H-S平面中表示的颜色与其所属类别的真实分布和重要性。通过将hi(h,s)除以第i组图片中苹果区域的总像素数来实现归一化,其中i=1,2,3。第i组图片的归一化直方图为Hi(h,s),如式(5)所示。

(5)

式中,Hi(h,s)为归一化后的H-S直方图。

将H-S直方图的每个区间中的值归一化为[0~1]。直方图的原点位于H-S平面的左上角。横轴和纵轴分别表示s值和h值。直方图上某一点亮度与Hi(h,s)值的大小有关,通过上述过程可以得到红绿黄3种颜色的H-S直方图。图4(a)~图4(c)是生成的3种颜色的标准化H-S直方图(像素值乘以250,便于显示观察)。

(a) (b) (c)

3 着色率检测

3.1 像素颜色分类方法

根据待检测苹果的RGB彩色图像,将其转换到HSV颜色空间,提取待检测图片中苹果区域每个像素的h值和s值。对每一个像素进行归类,每一个像素在上述每个直方图中均会对应一个Hi(h,s)值,若H1(h,s)最大,则认为此像素属于红色,否则不属于红色。每个像素所属的颜色类别C(h,s)如式(6)所示,然后统计整个苹果目标区域内红色像素所占的比例,得出苹果红色着色率。

(6)

式中,C(h,s)为像素的所属的颜色类别。

3.2 着色率计算

用图像分析苹果表面着色率,检测图像中苹果表面红色着色率时,用式(2)、式(3)、式(5)及式(6)得出每个像素所属的颜色类别,得出颜色为红色的像素个数Pr,颜色为绿色的像素个数Pg,颜色为黄色的像素个数Py,最终的着色率计算方法如式(7)所示。

(7)

式中,red_rate为红色着色率。

4 验证及分析

4.1 实验验证

图5(a)为去除背景后的图像,用本文中的算法检测苹果区域中的每个像素,颜色为红色的像素赋值255,其它区域赋值为0;图5(b)为检测结果。

(a) (b)

4.2 与现有方法检测结果对比

文献[15]在RGB颜色空间中生成R-G直方图检测水果表面颜色。本文用HSV颜色空间生成H-S直方图来识别苹果表皮颜色,并通过对比实验比较两种方法的效果。文中对比了图片亮度改变对两种方法检测结果的影响,检测结果如表1所示。

图6 不同亮度的图片

表1 检测效果对比分析

由表1可以看出,文献[15]算法的检测结果受图片亮度V影响较大。本文所提算法优势明显,检测结果几乎不受影响,与人工观察结果一致。在图片亮度发生变化时,其检测结果依然比较准确。

4.3 准确度试验

选择无反光的20张样本图片进行误差分析,随机选择10人对每张图片进行人眼观测,得出苹果表面区域的红色着色率,并用本文提出的算法检测苹果表面区域的红色着色率。结果如表2所示。

表2 样本误差分析

表2中,第i个样本的人工观测结果为si,本文算法检测结果为pi。平均误差计算方式如式(8)所示。

(8)

式中,e为检测结果平均误差。

如表2所示,表中第一列为样本序号;第二列为人眼观测出的着色率;第三列为本文中算法得出的着色率;第四列为算法检测结果与人眼观测结果的差值;第五列为相对误差的绝对值。由误差绝对值可以得出人眼观测结果与算法检测结果基本一致,平均检测误差为8.3%。

5 结束语

本文基于图像处理的方法,在HSV颜色空间中生成H-S直方图,通过对苹果表面红颜色检测和提取得出红色着色率。通过实验验证了此方法的可行性及有效性,证实了检测结果对图片亮度不敏感,与人工检测结果一致性较高,平均误差为8.3%。此外,在H-S平面中生成H-S直方图,舍弃与亮度相关的V通道,既不会造成颜色信息损失,又可以减弱图片亮度变化对检测结果造成的影响。本文存在的不足之处是只从一张图像中分析了苹果的颜色信息。一张图片无法反映出苹果的整个表面信息,因此以后的工作将致力于获取苹果全表面图像信息,以进一步提高检测结果的精确度。

猜你喜欢

着色直方图像素
符合差分隐私的流数据统计直方图发布
像素前线之“幻影”2000
蔬菜着色不良 这样预防最好
苹果膨大着色期 管理细致别大意
“像素”仙人掌
最大度为6的图G的邻点可区别边色数的一个上界
用直方图控制画面影调
10位画家为美术片着色
ÉVOLUTIONDIGAE Style de vie tactile
中考频数分布直方图题型展示