基于图像处理的鸡冠面积和色级测定方法研究*

2023-11-11 04:02王冬段炼赵闰顾华兵黎寿丰赵振华
中国农机化学报 2023年10期
关键词:偏色鸡冠色度

王冬,段炼,赵闰,顾华兵,黎寿丰,赵振华

(1.江苏省家禽科学研究所,江苏扬州,225125; 2.江苏省家禽遗传育种重点实验室,江苏扬州,225125;3.农业农村部南京农业机械化研究所,南京市,210014)

0 引言

鸡冠作为鸡头部的重要器官,具有突出的生理特征,其面积大小和颜色的鲜明度,透露出个体的发育与健康状况。科研领域,围绕鸡冠性状与基因免疫、发育程度、免疫程度、出肉产蛋能力的关系已开展多项研究,发现鸡冠的面积大小是衡量其性成熟的重要指标。通过探索鸡冠大小的群体遗传变异规律,可估算鸡冠生长的遗传参数,揭示鸡冠高、长度的累积生长规律[1-2],以制定按鸡冠生长状况的性成熟选择标准。而鸡冠色度不红润与出肉和产蛋性能下降有密切关联,色度发白则可能存在寄生虫感染的情况,这在提示饲养和疫控环节需要作出相应调整。因此,获取鸡冠的面积和色度参数,作为重要性状纳入养殖分析档案就尤为必要。

目前,鸡冠的面积测定主要依靠手动卡尺测量的方法,这种方法费时耗力,常常以简单的长乘高来粗略计算,测量数据不准确;对于鸡冠色度的测定更加简易模糊,只凭肉眼大概判断出深红、红、白几个级别。这些传统方法,不仅不能准确获取鸡冠相关参数,还对相关研究造成一定程度的干扰和制约。因此,需要一种可以高效准确获取鸡冠面积和色级的测定方法。近年来,图像处理与识别技术得到长足发展,研究人员利用相关技术在农业种植和养殖领域陆续开展了以体态和颜色特征为目标的系列研究[3-6]。邓立苗等[3]从玉米叶片的反射图像和透射图像中提取形状、颜色和纹理等外观特征,利用BP神经网络方法进行训练识别,并对不同类别特征和各颜色分量对透射和反射图像的处理结果进行分析。刘同海等[5]通过摄像机获取长白猪的彩色图像,以猪体体尺传统的测量位置为研究基础,提出复杂背景下猪体个体信息提取的算法。围绕家禽,陈坤杰等[7]提出一种基于机器视觉技术的鸡胴体质量分级方法,从而表明基于图像特征的鸡胴体自动分级方法可行。毕敏娜等[8]提出一种基于鸡冠及鸡眼构成的鸡头特征信息的病鸡识别方法。庄晓霖[9]根据两种养殖模式的差异分别设计了不同的机器视觉算法,以对家禽的异常行为进行检测。郭蓓佳等[10]为有效监测蛋鸡育成期体重,采用图像处理技术对蛋鸡俯视图进行预处理,提取目标特征并计算估重,结果表明使用MLP神经网络模型拟合结果精确。赵守耀等[11]根据蛋鸡俯视图图像,对图像轮廓进行拟合,提取出最佳几何特征进行排列组合,通过训练建立蛋鸡行为辨别模型。可见利用机器视觉进行图像处理,测定鸡冠面积和色级,技术上具有可行性。

目前业内通过机器视觉同时测定鸡冠面积和色级的研究较少,前人研究主要集中在对状态特征的提取,而本文是通过对样本鸡冠颜色进行特征提取,计算其关键色值,并利用K-means聚类法[12]进行均值点群分析统计,进而制定色级标准。再通过畸变矫正和偏色校正等步骤对采集图像实施处理,在识别获取鸡冠轮廓区域后,利用像素法测定鸡冠面积,利用色差距离计算法测定鸡冠色级。

1 材料与方法

1.1 试验材料

本文选择江苏省家禽科学研究所选育的500只90日龄健康邵伯鸡(公母各半)作为样本对象。因其鸡冠特征明显,具有形状典型和色度宽泛的特点[13],具有作为样本的合适条件。

1.2 试验环境与图像工具

试验中图像采集场地设置在江苏省家禽科学研究所12 m2实验室内,配备72 W D65光源;采集设备使用佳能EOS 80D相机配备EF-S 18~135 mm镜头,有效像素2 420万。印刷设备使用佳能PRO-500彩喷;计算机系统采用构架64位Windows10的ThinkPad笔记本,安装Adobe PohtoShop cc 2017图形软件和佳能Print Studio Pro 2.0打印插件。

1.3 试验流程

试验流程如图1所示。

图1 试验流程

因公母鸡鸡冠在测定方式和结果获取上方法一致,所以试验流程中不区分公母做差异化设计。

采集邵伯鸡的样本图像,通过获取鸡冠部位每个像素点RGB颜色值,进行计算统计,得到鸡冠颜色特征数据的关键色(KeyColor)值。采用K-means聚类法,设定K=7。将全部样本图像中鸡冠的KeyColor值进行聚类计算分析,得到7个稳定聚类中心的色值,设定为测定色级,制成色谱。

设计带有定位和色谱对照功能的参照块图案,制成专用测定板,作为采集测定图像时背景使用。获得测定图像后进行处理,实施畸变矫正和偏色校正调整,并轮廓识别出完整独立鸡冠区域,展开以面积测定和色级测定为目标的两条技术路线的计算,取得测定结果。

1.4 鸡冠色度分级

本文设计较为细密的色度分级,定义目标为7级进行色度划分,1~7级由深至浅。将相机设置为自动模式,采集鸡样本图像,鸡冠部位作为色度分级素材。因鸡冠颜色非均匀单一色,需要在RGB模式下进行色彩数值化,计算提取颜色特征的关键色(KeyColor)值,并建立色类库存储所有样本鸡鸡冠的颜色特征信息。利用色彩分类方法中普遍采用的K-means聚类法,设定K=7,以所有样本鸡冠的KeyColor值作为目标展开聚类计算,得到7个稳定的聚类中心以及聚类簇,聚类中心值即为色级值。其范围可涵盖绝大多数鸡冠的色度等级。

1.4.1 关键色KeyColor值计算

将样本图像进行选取,只留下鸡冠区域图像M,如图2所示。进行位深转换,从256级别位深转至32级别位深,得到图像N,如图3所示。转换公式如式(1)所示。

图3 32位深图像N

(1)

式中:i——像素矩阵中行像素位;

j——像素矩阵中列像素位。

将图像N的每一个像素点的RGB颜色值组合成一个长整数。组合公式如式(2)所示。

V(i,j)=N(i,j)r×32×32+N(i,j)g×32+N(i,j)b

(2)

式中:V(i,j)——图像N在i、j点像素RGB颜色长整数值;

r——红色通道亮度值;

g——绿色通道亮度值;

b——蓝色通道亮度值。

将所有V(i,j)值形成矩阵,做直方图统计,如图4所示,其横坐标为向量H值(32 768长度),纵坐标为V值。并如图5所示获取V的最大值Vm以及向量H中对应索引idx值。

图4 直方图

图5 最大Vm值及idx值

得到Vm和idx值后,筛选直方图向量中其他H值,得到对应V值,并计算成分比例。

L={H(i),H(i)≥0.8×Vm,i=1,2,…,dim}

(3)

v={L(i),|map(idx)-map[L(i)idx]|2≤T}

(4)

(5)

式中:L——筛选的向量H值集合;

v——对应V值集合;

acc——成分比例。

依据map映射,进行逆推转化可求得idx中的rgb成分,转化公式如式(6)所示。

rgb=map(vidx)

(6)

(7)

rgb=8×(rgb+1)-1

(8)

根据式(6)~式(8),得出图像M的KeyColor值。

KeyColor=accT×rgb

(9)

1.4.2 聚类法确定色级

重复1.41节中计算步骤,得到全部样本图像鸡冠的KeyColor值,建立色类库存储相关信息。使用K-means算法对所有KeyColor值进行聚类分析。

先从500个样本KeyColor值中随机选出7个作为初始聚类中心,分别计算其余493个与初始中心的色差距离。选用RGB颜色空间下不加权色差距离[14]

(10)

式中:r1——x像素点r亮度值;

g1——x像素点g亮度值;

b1——x像素点b亮度值;

r2——y像素点r亮度值;

g2——y像素点g亮度值;

b2——y像素点b亮度值。

根据计算结果,将所有样本分别归纳到与初始中心距离最短也就是相似度最高的聚类范围内,从而形成7个聚类簇。一轮聚类结束后,重新计算7个聚类簇的平均值,并设为新的聚类中心。再重复计算493个样本与7个新的聚类中心的色差距离,以此循环,直至7个聚类中心KeyColor值稳定不再变化为止,见图6。

图6 KeyColor值K-means聚类流程

通过对样本KeyColor值进行K-means聚类,500样本中最终确定7个稳定的聚类中心,即鸡冠在RGB模式下7个目标色级的标准色值,如表1所示。

表1 RGB模式下鸡冠色度分级

如图7所示,7个色级在RGB颜色空间散点分布呈现出合理色差距离。

图7 色级RGB颜色空间散点分布

将7个RGB色级作为参照块图案中色谱的设计值。因色谱需要印刷输出后使用,必须通过ICC色彩管理标准,制定合理的ICC配置文件,经多种参数调整,并匹配佳能打印插件测试后,再进行由RGB向CMYK颜色的转换[15],得到CMYK颜色模式下色谱图像。这样印刷输出的图像可以将转换过程中出现的偏色情况降低到最小。

转换CMYK模式后,得到色谱7个色级的标准色值,如表2所示。

表2 CMYK模式色谱

1.5 测定图像采集及预处理

1.5.1 测定板及参照块设计

考虑到拍摄光线、角度和距离等因素,采集测定图像时可能存在失真、畸变、偏色等情况,同时存在背景干扰和后续计算复杂度等问题。本文使用PhotoShop预先设计一个如图8所示的测定板,在设定为29.7 cm×42 cm(A3)尺寸,300 dpi分辨率,CMYK颜色模式下进行制图。以绿幕色CMYK(62,0,100,0)为底色,左上方为参照块图案。

如图9所示的参照块呈正方形,尺寸为6.42 cm×6.42 cm,底色为白色CMYK(0,0,0,0)。其左上、左下、右上角为1.905 cm×1.905 cm的方形黑块,右下角为1.411 cm×1.411 cm的方形黑块,颜色均为CMYK(63,52,51,100),四黑块主要起到畸变矫正作用。中部从左至右,横向设置已确定色级的CMYK色谱,主要起到偏色校正作用。

这块石头不但不美观,而且还经常挡着别人的道路,大家都嫌弃它,看到它都绕着走。我一看到这块石头就想吐,因为它的身上经常有蜘蛛丝和其他动物的口水。看来这块石头真的是毫无用处,要提醒保安爷爷把它弄走。

图9 参照块图案

在采集测定图像时,将测定板作为背景,可减少背景干扰和无效图块,精简鸡冠轮廓识别过程。同时,通过与参照块对比,可利用算法对图像进行矫正畸变和偏色校正调整,有效实现定位定色对照功能。

测定板按照1∶1实物打印,制成硬板,在测定图像采集环节使用,对本研究起到不可或缺的作用。

1.5.2 测定图像采集

在采集测定图像时需将测定板竖直放置,将鸡头鸡冠一侧紧贴测定板,且不可遮挡参照块图案,拍摄时尽量将镜头垂直于测定板,距离0.5~1 m范围内进行。采集的测定图像中必须包含完整有效的参照块图案和鸡冠部位。

1.6 图像调整及鸡冠轮廓识别

采集得到符合基本要求的测定图像后,需进行系列调整处理和鸡冠轮廓识别后方可展开数据测定。

1.6.1 检测参照块

鸡冠数据的测定主要依据参照块作为定位和定色标准,所以需要检测采集图像中参照块情况。检测时使用SIFT特征匹配算法[16],先将参照块标准设计图二值化,其中4个定位块与色谱1、2级色块在二值化后呈现为五个黑色方块,其余部分白色不显示。将这五个黑色方块作为关键点进行详细描述,形成寻像图形的特征点集。供目标图像检测匹配。

将采集图像平滑滤波后,二值化作为目标图像,设置对比度阈值为0.03作为提取稳定特征点的精度,对目标图像进行扫描逼近。如目标图像中存在满足上述寻像图形特征点集的约束条件:局部轮廓的边数、形状、位置与5个黑色方块的5×4条直线段、5×4个近似90°直角点、最外侧4个角点构成近似正方形等特征相对应,即达成特征匹配,完成参照块的识别。如识别失败则提示该采集图像不符合要求,无法测定使用。参照块二值化检测如图10所示。

(a) 采集的测定图像

识别到参照块后,必须以此为介入对象进行全图畸变矫正。因在拍摄过程中,相机镜头无法完全与测定板保持垂直,存在拍摄角度引起的变形,可能导致测量误差,所以需要实施矫正措施。根据参照块的定义与在图像中的畸变情况,使用透视变换法[17]纠正其扭曲变形,使参照块矫正至符合原设定比例,从而带动全图实现畸变矫正。需要注意的是,因鸡头摆动造成的鸡冠图像面积缩小无法通过此法进行矫正。所以在图像采集过程中,如无固定装置辅助,则需将鸡头贴紧测定板,阻止其摆动。

同时,在不同场景拍摄受到光线、相机镜头等因素的影响,成像颜色与实际颜色存在普遍的偏色情况,这就需要对采集图像进行偏色校正。本文采用多项式回归法[18-19]进行偏色校正处理,因其为目前针对RGB通道彩色成像系统最优的偏色校正非线性算法。在不同光照情况下的成像,以监督色为标准,经过该算法处理都能达到较为理想的校正效果。具体步骤是将7个色级的标准RGB值分别作为监督色值,将采集图像中参照块的色谱向监督色值进行标准差加权偏色还原,从而带动全图实现偏色校正。通过上述两种算法处理后,才能实现图像比例、色度与实物的对应。

1.6.3 轮廓识别

对经过畸变矫正和偏色校正的图像进行鸡冠轮廓识别。考虑到去除图像多余信息可使计算更加精准,便需采用色度键编辑技术,从图中将鸡头与绿幕背景分割再进行鸡冠部位的截取。首先设置动态阈值,使用Canny算法[20]自动实现整个鸡头与绿幕的初次边缘分割,其中鸡冠的冠齿端轮廓会清晰呈现,并得到分割边缘像素点集。由于鸡冠与肉髯和耳叶颜色相近,且与鸡头皮连接处边界模糊,Canny算法在此处区分效果欠佳,所以采用手动方式,在初次形成的分割边缘上进行二次截取。通过对鼠标点击事件进行编程,在初次分割边缘上取一点作为开始,沿鸡冠与鸡头皮处进行多点连线分离描绘,并将最后一点回到初次边缘上作为结束,这样就得到二次截取的连线像素点集。将前后两次得到的像素点集进行交汇连通后,就形成了一个新的合围区域,即完整独立的鸡冠轮廓区域,以高亮突显。

调整识别前后对比,产生了较好的失真还原,如图11所示。

(a) 采集的测定图像

1.7 鸡冠测定

测定图像经过调整处理和轮廓识别后形成的合围区域,即是需要测定面积与色级数据的鸡冠区域。

1.7.1 面积测定

本文采用像素计算法进行鸡冠实际面积的获取。在不同光线环境和设备条件下,每次采集的图像大小不一,这就需要进行一次面积比对操作。将采集图像畸变矫正后,在未缩放状态下,取得图中参照块的像素面积,与标准参照块的设计面积进行比对,即可得到每张图的像素面积与实际面积的转换比值。因此,只需测算出鸡冠合围区域的像素面积,乘以转换比值,即可得出鸡冠的实际面积。

合围区域像素面积,可根据n个轮廓离散点集,分别提取相应矢量矩阵,通过计算得出。设Q为轮廓离散点集,P为x、y坐标系中合围区域轮廓线上离散点,则轮廓离散点集为Q(P∈{(xi,yi)|1≤i≤n})。

计算公式如式(11)所示。

(11)

(12)

式中:px、py、x、y——矢量矩阵;

a——像素面积。

根据式(12)得出实际面积

r=a×γ

(13)

式中:γ——像素面积与实际面积转换比值。

1.7.2 色级测定

计算调整识别后的鸡冠合围区域颜色的KeyColor值,将其分别与7个色级的标准RGB值代入空间色差距离式(10)中进行计算,并比较7个结果值的大小,数值最小的代表色差距离最近,即判定鸡冠颜色归属该色级。

2 结果验证与分析

为了对本测定方法的可行性与精度进行评估,开展了测定结果验证。因传统测定主要采用尺量鸡冠长乘高算法和色级目测法,误差大主观性强,不具备比对意义,故选择数字平面成像模拟验证法进行测定数据比对。

2.1 验证方法

使用Photoshop,在设定为29.7 cm×42 cm(A3)尺寸,300 dpi分辨率,RGB颜色模式下,底色为RGB(84,186,44)绿幕的画布上,绘制如图12所示的数字平面模拟鸡图案,模拟图案在画布中设计尺寸不受局限,但是鸡冠部位必须完整。因Photoshop软件具备像素面积计算功能,且结果精准[21],通过魔棒与套索等工具,设置容差为0,可准确将模拟图的鸡冠部位描边勾勒,得到其在A3画布中的实际面积。同时将鸡冠颜色在7个色级的聚类范围内进行目标值设定,利用色差公式计算距离确定色级。将该RGB图利用前述方法转CMYK颜色模式后按照A3尺寸1∶1实物印刷,即可得到一张鸡冠有确定面积值和色级的模拟鸡图纸。

(a) 编号1模拟鸡

按此方法设计30个模拟鸡图案,进行编号后印制成模拟鸡图纸供验证使用。将模拟鸡图纸进行裁剪,留取包含完整鸡冠的有效部位,贴于前述测定板上(不能遮挡参照块)。使用本文前述方法采集验证图像,调整并识别鸡冠轮廓,测定其面积和色级,与模拟鸡已知设定数据对比,统计面积误差和色度定级准确率。

2.2 结果分析

在面积验证数据结果中,设定面积与实测面积的相对误差范围在0.11%~4.84%之间,平均相对误差为2.24%。分析误差原因,与采集验证图像时的拍摄角度有关。当图像畸变增加时,矫正算法会产生更大的测定减值,30个测量数据相对误差未出现负值,这提示实测面积比设定面积略小,显示本方法在设计和算法过程中存在使实测值向减值方向计算的整体误差。

在色级验证数据结果中,30个实测色级准确29个,错误1个,准确率为96.67%。分析错误原因,当模拟图案中鸡冠颜色值设定处于两个色级中位附近,色差距离非常接近时,受RGB设计色转CMYK打印色图像过程轻微损失影响,色度采集值偏向浅色,导致定级错误。

通过模拟法验证,综合上述测定结果比对可知,本文测定方法算法稳定,误差范围小,结果准确性高。

3 结论

1) 通过将采集图像进行系列处理,并结合相关计算,实现了对鸡冠面积和色级的测定。分别得到面积测定相对误差最大为4.84%,最小为0.11%,平均相对误差为2.24%;色级测定准确率96.67%的有效结果。

2) 本文是操作及算法的组合,具有一定的开创性与通用性。该方法通过Python3.7语言与OpenCV4库平台进行编程实现,形成测试版软件。在试验场景开展效果评测,结果显示该方法可行性高,一定程度上降低了鸡冠测定难度,提高了采集速度和数据可信度,达到平均每小时完成30只鸡的测定速度。可有效解决鸡冠参数批量获取的需求难点,收到了良好的评测反馈。下一步将通过优化步骤流程,提高算法精度,设计适应移动端的测定方法,可进一步提升便捷度与准确度,扩大场景范围。

猜你喜欢
偏色鸡冠色度
鸡冠的由来
建平博物馆藏辽代鸡冠壶
双子塔下鸡冠红
改进的完美反射法及其在视频偏色校正中的应用
一招解决手机拍照偏色问题
基于改进色度模型的非接触式心率检测与估计
基于方差因子的图像 偏色检测研究
较量
景德镇早期青白瓷的器型与色度
如何提高苹果的着色度