CN116563311B - 一种基于图像分割的肉制品检测方法及装置 - Google Patents
一种基于图像分割的肉制品检测方法及装置 Download PDFInfo
- Publication number
- CN116563311B CN116563311B CN202310806226.XA CN202310806226A CN116563311B CN 116563311 B CN116563311 B CN 116563311B CN 202310806226 A CN202310806226 A CN 202310806226A CN 116563311 B CN116563311 B CN 116563311B
- Authority
- CN
- China
- Prior art keywords
- image
- module
- area
- roi
- adopting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 235000013622 meat product Nutrition 0.000 title claims abstract description 97
- 238000001514 detection method Methods 0.000 title claims abstract description 32
- 238000003709 image segmentation Methods 0.000 title claims abstract description 25
- 238000012549 training Methods 0.000 claims abstract description 38
- 238000012360 testing method Methods 0.000 claims abstract description 26
- 238000006243 chemical reaction Methods 0.000 claims abstract description 17
- 238000007781 pre-processing Methods 0.000 claims abstract description 13
- 238000010606 normalization Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 70
- 238000004364 calculation method Methods 0.000 claims description 28
- 238000000034 method Methods 0.000 claims description 21
- 241000282421 Canidae Species 0.000 claims description 19
- 241000282461 Canis lupus Species 0.000 claims description 11
- 230000006978 adaptation Effects 0.000 claims description 11
- 230000000295 complement effect Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 claims description 8
- 238000013145 classification model Methods 0.000 claims description 7
- 230000009467 reduction Effects 0.000 claims description 7
- 238000009825 accumulation Methods 0.000 claims description 6
- 230000006399 behavior Effects 0.000 claims description 6
- 230000003247 decreasing effect Effects 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 6
- 238000012804 iterative process Methods 0.000 claims description 6
- 239000013598 vector Substances 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 3
- 230000008676 import Effects 0.000 claims 1
- 238000005286 illumination Methods 0.000 abstract description 3
- 235000013372 meat Nutrition 0.000 description 16
- 238000012545 processing Methods 0.000 description 11
- 238000011156 evaluation Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000005520 cutting process Methods 0.000 description 4
- 230000002950 deficient Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000011179 visual inspection Methods 0.000 description 3
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000006555 catalytic reaction Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000007254 oxidation reaction Methods 0.000 description 2
- 229910052760 oxygen Inorganic materials 0.000 description 2
- 239000001301 oxygen Substances 0.000 description 2
- 239000002994 raw material Substances 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于图像分割的肉制品检测方法及装置,包括:搭建多光源照明的肉制品图像采集环境,采用摄像设备获取肉制品图像,对采集的肉制品图像进行RGB‑HSV颜色空间转换、图像大小归一化等预处理,采用二值化开闭运算获得ROI的二值掩码图进行背景图像分割;计算二值掩码图的闭合边缘线获得总面积,利用HSV环状色码编码方式提取并计算肉制品ROI红色区域的面积,获得红色区域面积占肉制品总面积的百分比数值;基于以上数据生成GWO‑SVM分类器模型,将获得数据导入GWO‑SVM分类器模型进行数据集训练,训练完成后将测试集数据输入,得到模型的分类结果。本发明采用GWO‑SVM分类器实现了肉制品快速和智能化检测,不仅提高了判定精度,降低了成本,而且提高了抗干扰性。
Description
技术领域
本发明涉及农产品加工和检测领域,更具体地说,涉及一种基于图像分割的肉制品检测方法及装置。
背景技术
随着生活质量的提高,对肉制品的品质要求也在不断提高,且在肉制品制作加工手法渐渐多样化,透过加工程序的肉制品也依消费者需求持续改进,但无论如何改变其最终样貌,原始肉制品的新鲜与否将直接影响着食品安全,因此,人们越来越关注肉质食品的新鲜程度。肉制品新鲜度,是衡量肉品是否符合食用要求的客观标准,是评价肉制品品质的重要指标,也是消费者选购肉类食品的主要依据。提高肉类产品新鲜度的判定精度,对于人们身体健康也更加有利。
要精确的检测生鲜肉品外观,目前主要是利用光谱分析仪的方法,该方法通过产生物体表面反射光的光谱线以判断得出肉品的状态,只是该方法必须依赖相关的检测环境与硬件设备,然而在实际的工作现场,并非都有此类设备。此外,在加工检测流程中,当肉品送达时必须立即进行检验程序,此时仅能通过人工目测,再依据经验法则对肉品初步筛检的方式来主观判断优劣,但这种方式必须由经验丰富的专业人员且无严谨明确的统一标准,而且费时费力。
鉴于此与食品质量安全密切相关,如何提高肉制品新鲜度的检测效率及判定精度,同时控制检测成本,成为亟需解决的问题之一。
发明内容
本发明的目的在于提供一种基于图像分割的肉制品检测方法及装置,以解决上述技术问题。
为了实现上述目的,本发明采用了如下技术方案:
一种基于图像分割的肉制品检测方法,包括以下步骤:
S1:搭建多光源照明的肉制品图像采集环境,采用摄像设备获取肉制品图像;
S2:肉制品图像的预处理,包括RGB到HSV空间的颜色空间转换、图像大小归一化调整;
S3:肉制品背景图像分割,采用二值化开闭运算获得ROI的二值掩码图;
S4:计算肉制品总面积,根据ROI的二值掩码图的闭合边缘线获得总面积;
S5:提取肉制品ROI红色区域,利用HSV环状色码编码方式获得红色区域二值图;
S6:计算肉制品ROI红色区域面积,根据红色区域一个或多个闭合边缘线累加获得红色区域面积;
S7:计算ROI红色区域面积占比,获得红色区域面积占肉制品总面积的百分比数值;
S8:生成GWO-SVM分类器模型,将以上获得数据导入GWO-SVM分类器模型进行数据集训练,训练完成后将测试集数据输入,得到模型的分类结果。
优选的,上述步骤S2具体包括:
S21:采用OpenCV的cvtColor函数,快速地将图像格式进行RGB-HSV转换;
S22:采用OpenCV的resize函数以等比的方式将图像大小调整成同一尺寸;
优选的,所述步骤S3具体包括:
S31:针对背景主色系设定上下限阀值,采用二分法将格式转换为二值图像;
S32:对获得的二值图像进行第一次闭运算进行降噪;
S34:进行二值图像的反运算得到互补图像;
S35:对获得的二值图像进行第二次闭运算进行降噪得到ROI的二值掩码图。
优选的,上述步骤S4具体包括:
S41:采用OpenCV的Canny函数对于二值掩码图像依边缘描绘出边框;
S42:采用OpenCV的findContours函数找到所有的闭合区域;
S43:计算每个闭合区域的面积,找出面积值最大则为肉制品的总面积;
优选的,上述步骤S5具体包括:
S51:HSV环状色码编码方式中,红色的范围分布于二个区段,红色范围第一区段为(0,43,46~10,255,150),第二区段为(156,43,46~180,255,150),首先设定第一区段上下限红色色码阀值;
S52:采用OpenCV的inRange函数获得第一区段的二值化图像;
S53:设定第二区段上下限红色色码阀值;
S54:采用OpenCV的inRange函数获得第二区段的二值化图像;
S55:将第一区段和第二区段的二值图像进行或运算得到完整的ROI红色区域;
优选的,上述步骤S6具体包括:
S61:采用OpenCV的Canny函数对于多个ROI红色区域依边缘描绘出边框;
S62:采用OpenCV的findContours函数找到所有的闭合区域;
S63:计算每个闭合区域的面积,多个闭合区域的面积累加则为ROI红色区域面积。
优选的,上述步骤S8具体包括:
S81:将以上图像特征数值保存为CSV文档,得到SVM的测试集和训练集;
S82:设定灰狼数量W与最大迭代次数Max,将SVM的惩罚系数C与RBF高斯核函数的半径σ设定为灰狼个体的位置向量;
S83:计算适应度值,将SVM的分类准确率作为适应度值;
S84:计算灰狼ω的适应值,并更新α、β、δ的适应度值与其当前位置;
S85:使用随机值产生权重A1-A3、C1-C3,计算α、β、δ估计的猎物位置X1-X3,并更新的下一个位置;
S86:进入迭代,ω的适应值若优于α、β、δ其中之一,则将其适应值与位置取代;
S87:判断是否满足设定的终止条件,若未满足,则回到步骤S84继续进行迭代;
S88:获取SVM惩罚系数C与RBF高斯核函数的半径σ最优参数,采用最优参数训练分类模型并运用该模型进行分类;
其中,在GWO算法中,灰狼按照社会等级逐次分为α、β、δ、ω,下一层级的行为需要服从上一级的带领,并展开相应的群体狩猎行动;
X1=Xα-A1·Dα
X2=Xβ-A2·Dβ
X3=Xδ-A3·Dδ
Dα=C1·Xα-Xω
Dβ=C2·Xβ-Xω
Dδ=C3·Xδ-Xω
A1=a(2r1-1)
A2=a(2r2-1)
A3=a(2r3-1)
C1=2·r4
C2=2·r5
C3=2·r6
a=2-I·(2/Max)
Xω(t+1)=( X1+ X2+ X3)/3
Xα, Xβ, Xδ, Xω分别为α、β、δ、ω的当前位置;
X1,X2,X3:α、β、δ估测猎物的下一个位置;
Dα,Dβ,Dδ:α、β、δ与ω的距离;
A1~A3:[-a,a]之间的随机权重;
C1~C3:[0,2]之间的随机权重;
r1~r6:[0,1]之间的随机值;
a:在迭代过程中从2线性减少到0的权重;
I:当前迭代次数;
Max:最大迭代次数;
Xω(t+1):ω的下一个位置;
SVM的分类准确率:fitness=(TP+TN)/(TP+TN+FP+FN)×100%;
(TP+TN)为所有预测正确的样本数,(TP+TN+FP+FN)为总样本数;
TP(True positive):实际为True,且预测为True,预测正确;
FN(False negative):实际为True,但预测为False,预测错误;
FP(False positive):实际为False,但预测为True,预测错误;
TN(True negative):实际为False,且预测为False,预测正确。
一种基于图像分割的肉制品检测装置, 包括以下模块:
环境搭建模块,用于搭建多光源照明的肉制品图像采集环境,采用摄像设备获取肉制品图像;
图像预处理模块,包括RGB到HSV空间的颜色空间转换、图像大小归一化调整;
背景图像分割模块,用于采用二值化开闭运算获得ROI的二值掩码图;
总面积计算模块,用于根据ROI的二值掩码图的闭合边缘线获得总面积;
ROI红色区域提取模块,利用HSV环状色码编码方式获得红色区域二值图;
ROI红色区域面积计算模块,用于根据红色区域一个或多个闭合边缘线累加获得红色区域面积;
ROI红色区域面积占比计算模块,获得红色区域面积占肉制品总面积的百分比数值;
GWO-SVM分类器模型生成模块,用于将以上获得数据导入GWO-SVM分类器模型进行数据集训练,训练完成后将测试集数据输入,得到模型的分类结果。
优选的,上述图像预处理模块具体包括:
RGB-HSV转换模块,采用OpenCV的cvtColor函数,快速地将图像格式进行RGB-HSV转换;
图像归一化模块,采用OpenCV的resize函数以等比的方式将图像大小调整成同一尺寸;
优选的,上述背景图像分割模块具体包括:
图像二值化模块,针对背景主色系设定上下限阀值,采用二分法将格式转换为二值图像;
第一次降噪模块,对获得的二值图像进行第一次闭运算进行降噪;
反运算模块,进行二值图像的反运算得到互补图像;
第二次降噪模块,对获得的二值图像进行第二次闭运算进行降噪得到ROI的二值掩码图。
优选的,上述总面积计算模块具体包括:
边框生成模块,用于采用OpenCV的Canny函数对于二值掩码图像依边缘描绘出边框;
区域查找模块,采用OpenCV的findContours函数找到所有的闭合区域;
计算对比模块,计算每个闭合区域的面积,找出面积值最大则为肉制品的总面积;
优选的,上述ROI红色区域提取模块具体包括:
第一区段红色色码阈值设定模块,HSV环状色码编码方式中,红色的范围分布于二个区段,红色范围第一区段为(0,43,46~10,255,150),第二区段为(156,43,46~180,255,150),设定第一区段上下限红色色码阀值;
第一区段二值化模块,采用OpenCV的inRange函数获得第一区段的二值化图像;
第一区段红色色码阈值设定模块,用于设定第二区段上下限红色色码阀值;
第二区段二值化模块,采用OpenCV的inRange函数获得第二区段的二值化图像;
区域合并模块,将第一区段和第二区段的二值图像进行或运算得到完整的ROI红色区域;
优选的,所述ROI红色区域面积计算模块具体包括:
边框生成模块,采用OpenCV的Canny函数对于多个ROI红色区域依边缘描绘出边框;
区域查找模块,采用OpenCV的findContours函数找到所有的闭合区域;
计算累加模块,用于计算每个闭合区域的面积,多个闭合区域的面积累加则为ROI红色区域面积。
优选的,上述GWO-SVM分类器模型生成模块具体包括:
SVM测试、训练集构建模块,用于将以上图像特征数值保存为CSV文档,得到SVM的测试集和训练集;
初始化模块,用于设定灰狼数量W与最大迭代次数Max,将SVM的惩罚系数C与RBF高斯核函数的半径σ设定为灰狼个体的位置向量;
适应度计算模块,计算适应度值,将SVM的分类准确率作为适应度值;
适应度更新模块,计算灰狼ω的适应度值,并更新α、β、δ的适应度值与其当前位置;
位置计算及更新模块,用于使用随机值产生权重A1-A3、C1-C3,计算α、β、δ估计的猎物位置X1-X3,并更新的下一个位置;
迭代更新模块,进入迭代,ω的适应值若优于α、β、δ其中之一,则将其适应值与位置取代;
循环判断模块,判断是否满足设定的终止条件,若未满足,则回到步骤S84继续进行迭代;
最优参数分类模块,获取SVM惩罚系数C与RBF高斯核函数的半径σ最优参数,采用最优参数训练分类模型并运用该模型进行分类;
其中,在GWO算法中,灰狼按照社会等级逐次分为α、β、δ、ω,下一层级的行为需要服从上一级的带领,并展开相应的群体狩猎行动;
X1=Xα-A1·Dα
X2=Xβ-A2·Dβ
X3=Xδ-A3·Dδ
Dα=C1·Xα-Xω
Dβ=C2·Xβ-Xω
Dδ=C3·Xδ-Xω
A1=a(2r1-1)
A2=a(2r2-1)
A3=a(2r3-1)
C1=2·r4
C2=2·r5
C3=2·r6
a=2-I·(2/Max)
Xω(t+1)=( X1+ X2+ X3)/3
Xα, Xβ, Xδ, Xω分别为α、β、δ、ω的当前位置;
X1,X2,X3:α、β、δ估测猎物的下一个位置;
Dα,Dβ,Dδ:α、β、δ与ω的距离;
A1~A3:[-a,a]之间的随机权重;
C1~C3:[0,2]之间的随机权重;
r1~r6:[0,1]之间的随机值;
a:在迭代过程中从2线性减少到0的权重;
I:当前迭代次数;
Max:最大迭代次数;
Xω(t+1):ω的下一个位置;
SVM的分类准确率:fitness=(TP+TN)/(TP+TN+FP+FN)×100%;
(TP+TN)为所有预测正确的样本数,(TP+TN+FP+FN)为总样本数;
TP(True positive):实际为True,且预测为True,预测正确;
FN(False negative):实际为True,但预测为False,预测错误;
FP(False positive):实际为False,但预测为True,预测错误;
TN(True negative):实际为False,且预测为False,预测正确。
与现有技术相比,本发明提供了一种基于图像分割的肉制品检测方法及装置,首先对采集的肉制品图像进行RGB-HSV颜色空间转换、图像大小归一化等预处理,采用二值化开闭运算获得ROI的二值掩码图进行背景图像分割;随后分别计算二值掩码图的闭合边缘线获得总面积,利用HSV环状色码编码方式提取并计算肉制品ROI红色区域的面积,获得红色区域面积占肉制品总面积的百分比数值,提高图像检测的抗干扰性;最后采用灰狼算法优化支持向量机GWO-SVM分类器实现了肉制品新鲜程度的快速和智能化检测,不仅提高了检测效率和判定精度,降低了成本,而且提高了检测系统的抗干扰性。
附图说明
图1为本发明公开的基于图像分割的肉制品检测方法流程示意图
图2为本发明公开的肉制品背景图像分割过程分阶段结果图
图3为本发明公开的肉制品ROI的边缘轮廓结果图
图4为本发明公开的肉制品ROI红色区域提取过程分阶段结果图
图5为本发明公开的GWO-SVM分类器模型分类方法流程示意图
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
如附图1所示,一种基于图像分割的肉制品检测方法,包括以下步骤:
S1:搭建多光源照明的肉制品图像采集环境,采用摄像设备获取肉制品图像;
具体的,采用多光源照明方式,以避免物体表面或底部的阴影造成图象辨识的不确定因素,以期图像辨识过程,能使结果更接近真实状况;
S2:肉制品图像的预处理,包括RGB到HSV空间的颜色空间转换、图像大小归一化调整;
S3:肉制品背景图像分割,采用二值化开闭运算获得ROI的二值掩码图;
S4:计算肉制品总面积,根据ROI的二值掩码图的闭合边缘线获得总面积;
S5:提取肉制品ROI红色区域,利用HSV环状色码编码方式获得红色区域二值图;
S6:计算肉制品ROI红色区域面积,根据红色区域一个或多个闭合边缘线累加获得红色区域面积;
S7: 计算ROI红色区域面积占比,获得红色区域面积占肉制品总面积的百分比数值;
S8:生成GWO-SVM分类器模型,将以上获得数据导入GWO-SVM分类器模型进行数据集训练,训练完成后将测试集数据输入,得到模型的分类结果。
优选的,上述步骤S2中,先将图像色彩编码由RGB色码改为HSV编码方式,转换方法直接使用OpenCV所提供的功能函数cvtColor,通过二个参数定义后,即可快速地实现图像格式转换,且考虑图像来源或许由多个不同图像获取装置所拍摄的图像长宽数值或许未能相近,因此将图像的大小通过resize功能以等比的方式调整成同一尺寸大小,以期计算后的数值波动率不会过大,在统计数值或图表成型时,不会发生标准偏差过大的情形,其步骤具体包括:
S21:采用OpenCV的cvtColor函数,快速地将图像格式进行RGB-HSV转换;
S22:采用OpenCV的resize函数以等比的方式将图像大小调整成同一尺寸;
当图像预处理完成后,接着就是要把图像中的目标物提取出来,图像的ROI(region of interest)即意指目标图像中用户感兴趣的区域范围,通常是一个不规则外型的范围,步骤S3是对于图像中多个ROI进行分割处理,选取测试图像选择以白色系为背景主要颜色,首先针对背景主色系设定上下限阀值,进行第一次图像颜色分割,然后将图像以二分法格式转换为二值图,为了方便阈值的设定,所以是针对保留背景色的方式来设定,因为此方法的阈值易于设定为单一区间连续值,待取得分割后的图像后,再对分割图像进行反运算即可获得目标ROI。
此外,由于首次转换后的图像容易有较多的噪声,对后续计算会产生严重影响干扰,因此先进行第一次的降噪处理,此时所取得图像为保留背景范围的图像,还须对图像做反运算以取得想要保留的前景ROI区域的互补图,至此图像还是容易残留部分噪声,最后再进行一次闭运算,尽可能将图像噪声的影响因素降至最低。该步骤使用二次的闭运算配合反运算,而不使用大部份运作的开运算立即闭运算交互配合,是因为第一次分割是以保留颜色单纯的背景,而不是以保留前景的方式。经测试结果发现,二次闭算运配合反运算可以得到最佳结果,当然,图像的清晰度也会直接影响到ROI的截取范围。经过以上处理可获得一个最接近ROI区域的二值掩码图,具体分阶段处理结果参见附图2。步骤S3具体包括:
S31:针对背景主色系设定上下限阀值,采用二分法将格式转换为二值图像;
S32:对获得的二值图像进行第一次闭运算进行降噪;
S34:进行二值图像的反运算得到互补图像;
S35:对获得的二值图像进行第二次闭运算进行降噪得到ROI的二值掩码图。
在上述步骤获得ROI二值掩码图后,即可进一步计算出肉制品的总面积,首先,对于掩码图像采用Canny函数依边缘描绘出边框,可使框出主体的描边轮廓闭合线更精准,如果在上一步骤完成时,还残留无法顺利排除的噪声,该步骤会全部边缘均列出来,所以必须对搜寻结果对比对排除,再通过findContours功能把所有的闭合轮廓都提取出来,而所取得的轮廓数或许有一个以上,但经过降噪后会产生目标区的最大面积,因此仅仅需将所有区域边框比对,找出面积值最大即为目标区域。当图像颜色分割时,有些图像ROI的边缘色码偏差,造成在判断时无法很正确地裁切出边缘线,会有无法找出完整的轮廓闭合线,此时就会出现面积计算的离散值,此时会将图像离散数据舍弃。具体处理结果参见附图3,
上述步骤S4具体包括:
S41:采用OpenCV的Canny函数对于二值掩码图像依边缘描绘出边框;
S42:采用OpenCV的findContours函数找到所有的闭合区域;
S43:计算每个闭合区域的面积,找出面积值最大则为肉制品的总面积;
肉品的新鲜度通常是由肉制品上的红色区域决定的,因此在肉制品的总面积计算完成后,需要对肉制品上的红色区域进行分割,通过HSV颜色分量范围表可知,要将红色的区域分割出来时,因HSV的环状色码编码方式,会有零度的分界点,且红色系的色码刚好分布于该分水岭左右,所以红色的范围分布于二个区段,为此须分二段式截取,再将二个裁切图以联集(OR)的方式合并起来,才是一个完整的红色区域分布图,红色范围第一区为(0,43,46~10,255,150),而第二区为(156,43,46~180,255,150),当取得全部的ROI红色区域取并集后,进一步描绘出红色区域的边缘框线图,具体分阶段处理结果参见附图4。
上述步骤S5具体包括:
S51:HSV环状色码编码方式中,红色的范围分布于二个区段,红色范围第一区段为(0,43,46~10,255,150),第二区段为(156,43,46~180,255,150),首先设定第一区段上下限红色色码阀值;
S52:采用OpenCV的inRange函数获得第一区段的二值化图像;
S53:设定第二区段上下限红色色码阀值;
S54:采用OpenCV的inRange函数获得第二区段的二值化图像;
S55:将第一区段和第二区段的二值图像进行或运算得到完整的ROI红色区域;
红色区域的ROI边框轮廓图描绘出来后,即可利用findContours函数将所有的ROI区域信息取得,包括面积大小,因为红色的区域数量会是多数个,所以,需将所有的轮廓信息使用累加的方式,将所有的红色范围总合起来。当然,此时也是针对闭合的轮廓进行运算,最终即可计算出图像中红色区域ROI的总面积。
优选的,上述步骤S6具体包括:
S61:采用OpenCV的Canny函数对于多个ROI红色区域依边缘描绘出边框;
S62:采用OpenCV的findContours函数找到所有的闭合区域;
S63:计算每个闭合区域的面积,多个闭合区域的面积累加则为ROI红色区域面积。
当肉制品总面积与ROI红色区域面积均取得后,即可进一步计算出面积的占比数值,可得ROI红色区域面积占总面积的百分比数值,当肉制品暴露的常温空间中,由于表面持续地接触到空气中的氧气,在常温的催化下,表面很容易因氧化反应使得肉制品的外观颜色慢慢由黄色系变成红色系,借由此结果来初步分类出肉品的质量状态,是属于可安心使用的原物料,或是必须退还供应商的不良品。
辨识后的数据如下表所示,分别为图像名称、肉制品总面积、ROI红色区域面积、红色区域面积百分比,最后再通过专业工作人员依其工作经验,将据占比分成如下三类:
其中,标签按照如下分类:
(1)Safe:表示肉制品保存良好,标签为"0"。
(2)Focus:表示肉品的泛红色区域已有过大情形,须配合现场工作人员进一步实行人工检测,包括目测检验肉制品外观或气味辨识是否正常,如尚有疑虑,则须进行更精准的仪器检测,标签为"1"。
(3)Inferior:表示肉制品已有变质的可能性,建议视为不良品,宜与供货厂商协议退换货事宜,标签为"2"。
将转换成文字叙述式数据表,导入灰狼算法优化支持向量机GWO-SVM分类器模型进行数据集训练,训练完成后紧接着将测试集数据输入,从而得到模型做出的判断结果数据,依此得到模型的各项评价指标。
优选的,如附图5所示,步骤S8具体包括:
S81:将以上图像特征数值保存为CSV文档,得到SVM的测试集和训练集;
S82:设定灰狼数量W与最大迭代次数Max,将SVM的惩罚系数C与RBF高斯核函数的半径σ设定为灰狼个体的位置向量;
S83:计算适应度值,将SVM的分类准确率作为适应度值;
S84:计算灰狼ω的适应值,并更新α、β、δ的适应度值与其当前位置;
S85:使用随机值产生权重A1-A3、C1-C3,计算α、β、δ估计的猎物位置X1-X3,并更新的下一个位置;
S86:进入迭代,ω的适应值若优于α、β、δ其中之一,则将其适应值与位置取代;
S87:判断是否满足设定的终止条件,若未满足,则回到步骤S84继续进行迭代;
S88:获取SVM惩罚系数C与RBF高斯核函数的半径σ最优参数,采用最优参数训练分类模型并运用该模型进行分类。
其中,在GWO算法中,灰狼按照社会等级逐次分为α、β、δ、ω,下一层级的行为需要服从上一级的带领,并展开相应的群体狩猎行动;
X1=Xα-A1·Dα
X2=Xβ-A2·Dβ
X3=Xδ-A3·Dδ
Dα=C1·Xα-Xω
Dβ=C2·Xβ-Xω
Dδ=C3·Xδ-Xω
A1=a(2r1-1)
A2=a(2r2-1)
A3=a(2r3-1)
C1=2·r4
C2=2·r5
C3=2·r6
a=2-I·(2/Max)
Xω(t+1)=( X1+ X2+ X3)/3
Xα, Xβ, Xδ, Xω分别为α、β、δ、ω的当前位置;
X1,X2,X3:α、β、δ估测猎物的下一个位置;
Dα,Dβ,Dδ:α、β、δ与ω的距离;
A1~A3:[-a,a]之间的随机权重;
C1~C3:[0,2]之间的随机权重;
r1~r6:[0,1]之间的随机值;
a:在迭代过程中从2线性减少到0的权重;
I:当前迭代次数;
Max:最大迭代次数;
Xω(t+1):ω的下一个位置;
SVM的分类准确率:fitness=(TP+TN)/(TP+TN+FP+FN)×100%;
(TP+TN)为所有预测正确的样本数,(TP+TN+FP+FN)为总样本数;
TP(True positive):实际为True,且预测为True,预测正确;
FN(False negative):实际为True,但预测为False,预测错误;
FP(False positive):实际为False,但预测为True,预测错误;
TN(True negative):实际为False,且预测为False,预测正确。
本发明还公开了一种基于图像分割的肉制品检测装置, 包括以下模块:
环境搭建模块,用于搭建多光源照明的肉制品图像采集环境,采用摄像设备获取肉制品图像;
具体的,采用多光源照明方式,以避免物体表面或底部的阴影造成图像辨识的不确定因素,以期图像辨识过程,能使结果更接近真实状况;
图像预处理模块,包括RGB到HSV空间的颜色空间转换、图像大小归一化调整;
背景图像分割模块,用于采用二值化开闭运算获得ROI的二值掩码图;
总面积计算模块,用于根据ROI的二值掩码图的闭合边缘线获得总面积;
ROI红色区域提取模块,利用HSV环状色码编码方式获得红色区域二值图;
ROI红色区域面积计算模块,用于根据红色区域一个或多个闭合边缘线累加获得红色区域面积;
ROI红色区域面积占比计算模块,获得红色区域面积占肉制品总面积的百分比数值;
GWO-SVM分类器模型生成模块,用于将以上获得数据导入GWO-SVM分类器模型进行数据集训练,训练完成后将测试集数据输入,得到模型的分类结果。
优选的,上述图像预处理模块中,先将图像色彩编码由RGB色码改为HSV编码方式,转换方法直接使用OpenCV所提供的功能函数cvtColor,通过二个参数定义后,即可快速地实现图像格式转换,且考虑图像来源或许由多个不同图像获取装置所拍摄的图像长宽数值或许未能相近,因此将图像的大小通过resize功能以等比的方式调整成同一尺寸大小,以期计算后的数值波动率不会过大,在统计数值或图表成型时,不会发生标准偏差过大的情形,具体包括:
RGB-HSV转换模块,采用OpenCV的cvtColor函数,快速地将图像格式进行RGB-HSV转换;
图像归一化模块,采用OpenCV的resize函数以等比的方式将图像大小调整成同一尺寸;
当图像预处理模块完成后,接着就是要把图像中的目标物提取出来,图像的ROI(region of interest)即意指目标图像中用户感兴趣的区域范围,通常是一个不规则外型的范围,对于图像中多个ROI进行分割处理,选取测试图像选择以白色系为背景主要颜色,首先针对背景主色系设定上下限阀值,进行第一次图像颜色分割,然后将图像以二分法格式转换为二值图,为了方便阈值的设定,所以是针对保留背景色的方式来设定,因为此方法的阈值易于设定为单一区间连续值,待取得分割后的图像后,再对分割图像进行反运算即可获得目标ROI。此外,由于首次转换后的图像容易有较多的噪声,对后续计算会产生严重影响干扰,因此先进行第一次的降噪处理,此时所取得图像为保留背景范围的图像,还须对图像做反运算以取得想要保留的前景ROI区域的互补图,至此图像还是容易残留部分噪声,最后再进行一次闭运算,尽可能将图像噪声的影响因素降至最低。该步骤使用二次的闭运算配合反运算,而不使用大部分运作的开运算立即闭运算交互配合,是因为第一次分割是以保留颜色单纯的背景,而不是以保留前景的方式。经测试结果发现,二次闭算运配合反运算可以得到最佳结果,当然,图像的清晰度也会直接影响到ROI的截取范围。经过以上处理可获得一个最接近ROI区域的二值掩码图,上述背景图像分割模块具体包括:
图像二值化模块,针对背景主色系设定上下限阀值,采用二分法将格式转换为二值图像;
第一次降噪模块,对获得的二值图像进行第一次开闭运算进行降噪;
反运算模块,进行二值图像的反运算得到互补图像;
第二次降噪模块,对获得的二值图像进行第二次开闭运算进行降噪得到ROI的二值掩码图。
在上述背景图像分割模块获得ROI二值掩码图后,即可进一步计算出肉制品的总面积,首先,对于掩码图像采用Canny函数依边缘描绘出边框,可使框出主体的描边轮廓闭合线更精准,如果在上一步骤完成时,还残留无法顺利排除的噪声,该步骤会全部边缘均列出来,所以必须对搜寻结果对比对排除,再通过findContours功能把所有的闭合轮廓都提取出来,而所取得的轮廓数或许有一个以上,但经过降噪后会产生目标区的最大面积,因此仅仅需将所有区域边框比对,找出面积值最大即为目标区域。当图像颜色分割时,有些图像ROI的边缘色码偏差,造成在判断时无法很正确地裁切出边缘线,会有无法找出完整的轮廓闭合线,此时就会出现面积计算的离散值,此时会将图像离散数据舍弃。总面积计算模块具体包括:
边框生成模块,用于采用OpenCV的Canny函数对于二值掩码图像依边缘描绘出边框;
区域查找模块,采用OpenCV的findContours函数找到所有的闭合区域;
计算对比模块,计算每个闭合区域的面积,找出面积值最大则为肉制品的总面积;
肉品的新鲜度通常是由肉制品上的红色区域决定的,因此在肉制品的总面积计算完成后,需要对肉制品上的红色区域进行分割,通过HSV颜色分量范围表可知,要将红色的区域分割出来时,因HSV的环状色码编码方式,会有零度的分界点,且红色系的色码刚好分布于该分水岭左右,所以红色的范围分布于二个区段,为此须分二段式截取,再将二个裁切图以联集(OR)的方式合并起来,才是一个完整的红色区域分布图,红色范围第一区为(0,43,46~10,255,150),而第二区为(156,43,46~180,255,150),当取得全部的ROI红色区域取并集后,进一步描绘出红色区域的边缘框线图。优选的,上述ROI红色区域提取模块具体包括:
第一区段红色色码阈值设定模块,HSV环状色码编码方式中,红色的范围分布于二个区段,红色范围第一区段为(0,43,46~10,255,150),第二区段为(156,43,46~180,255,150),设定第一区段上下限红色色码阀值;
第一区段二值化模块,采用OpenCV的inRange函数获得第一区段的二值化图像;
第一区段红色色码阈值设定模块,用于设定第二区段上下限红色色码阀值;
第二区段二值化模块,采用OpenCV的inRange函数获得第二区段的二值化图像;
区域合并模块,将第一区段和第二区段的二值图像进行或运算得到完整的ROI红色区域;
红色区域的ROI边框轮廓图描绘出来后,即可利用findContours函数将所有的ROI区域信息取得,包括面积大小,因为红色的区域数量会是多数个,所以,需将所有的轮廓信息使用累加的方式,将所有的红色范围总合起来。当然,此时也是针对闭合的轮廓进行运算,最终即可计算出图像中红色区域ROI的总面积。
所述ROI红色区域面积计算模块具体包括:
边框生成模块,采用OpenCV的Canny函数对于多个ROI红色区域依边缘描绘出边框;
区域查找模块,采用OpenCV的findContours函数找到所有的闭合区域;
计算累加模块,用于计算每个闭合区域的面积,多个闭合区域的面积累加则为ROI红色区域面积。
当肉制品总面积与ROI红色区域面积均取得后,即可进一步计算出面积的占比数值,可得ROI红色区域面积占总面积的百分比数值,当肉制品暴露的常温空间中,由于表面持续地接触到空气中的氧气,在常温的催化下,表面很容易因氧化反应使得肉制品的外观颜色慢慢由黄色系变成红色系,借由此结果来初步分类出肉品的质量状态,是属于可安心使用的原物料,或是必须退还供应商的不良品。
辨识后的数据如下表所示,分别为图像名称、肉制品总面积、ROI红色区域面积、红色区域面积百分比,最后再通过专业工作人员依其工作经验,根据占比分成如下三类:
其中,标签按照如下分类:
(1)Safe:表示肉制品保存良好,标签为"0"。
(2)Focus:表示肉品的泛红色区域已有过大情形,须配合现场工作人员进一步实行人工检测,包括目测检验肉制品外观或气味辨识是否正常,如尚有疑虑,则须进行更精准的仪器检测,标签为"1"。
(3)Inferior:表示肉制品已有变质的可能性,建议视为不良品,宜与供货厂商协议退换货事宜,标签为"2"。
将转换成文字叙述式数据表,导入GWO-SVM分类器模型进行数据集训练,训练完成后紧接着将测试集数据输入,从而得到模型做出的判断结果数据,依此得到模型的各项评价指标。
优选的,上述GWO-SVM分类器模型生成模块具体包括:
SVM测试、训练集构建模块,用于将以上图像特征数值保存为CSV文档,得到SVM的测试集和训练集;
初始化模块,用于设定灰狼数量W与最大迭代次数Max,将SVM的惩罚系数C与RBF高斯核函数的半径σ设定为灰狼个体的位置向量;
适应度计算模块,计算适应度值,将SVM的分类准确率作为适应度值;
适应度更新模块,计算灰狼ω的适应度值,并更新α、β、δ的适应度值与其当前位置;
位置计算及更新模块,用于使用随机值产生权重A1-A3、C1-C3,计算α、β、δ估计的猎物位置X1-X3,并更新的下一个位置;
迭代更新模块,进入迭代,ω的适应值若优于α、β、δ其中之一,则将其适应值与位置取代;
循环判断模块,判断是否满足设定的终止条件,若未满足,则回到步骤S84继续进行迭代;
最优参数分类模块,获取SVM惩罚系数C与RBF高斯核函数的半径σ最优参数,采用最优参数训练分类模型并运用该模型进行分类。
其中,在GWO算法中,灰狼按照社会等级逐次分为α、β、δ、ω,下一层级的行为需要服从上一级的带领,并展开相应的群体狩猎行动;
X1=Xα-A1·Dα
X2=Xβ-A2·Dβ
X3=Xδ-A3·Dδ
Dα=C1·Xα-Xω
Dβ=C2·Xβ-Xω
Dδ=C3·Xδ-Xω
A1=a(2r1-1)
A2=a(2r2-1)
A3=a(2r3-1)
C1=2·r4
C2=2·r5
C3=2·r6
a=2-I·(2/Max)
Xω(t+1)=( X1+ X2+ X3)/3
Xα, Xβ, Xδ, Xω分别为α、β、δ、ω的当前位置;
X1,X2,X3:α、β、δ估测猎物的下一个位置;
Dα,Dβ,Dδ:α、β、δ与ω的距离;
A1~A3:[-a,a]之间的随机权重;
C1~C3:[0,2]之间的随机权重;
r1~r6:[0,1]之间的随机值;
a:在迭代过程中从2线性减少到0的权重;
I:当前迭代次数;
Max:最大迭代次数;
Xω(t+1):ω的下一个位置;
SVM的分类准确率:fitness=(TP+TN)/(TP+TN+FP+FN)×100%;
(TP+TN)为所有预测正确的样本数,(TP+TN+FP+FN)为总样本数;
TP(True positive):实际为True,且预测为True,预测正确;
FN(False negative):实际为True,但预测为False,预测错误;
FP(False positive):实际为False,但预测为True,预测错误;
TN(True negative):实际为False,且预测为False,预测正确。
本发明首先进行实验前对多日多次随机选择肉制品初步筛选作为样本,本次实验总共取得六十张的图像,由于实验过程主要是通过成像色彩界定,图像质量的优劣会直接反映到结果输出,所以将成像稍有模糊不够清晰,或是有些微的暗影干扰,诸如此类的图像先行排除,以利后续图像颜色分割,避免产生不确定因素。经过初步的筛选后,保留了总共四十七个样本图像,均以数字编号命名。
四十七个样本图像的完整数据如下表所示:
将所有样本数据以Single hold-out的方式,随机分割成比例为8:2的训练集与测试集进行训练与交叉验证,模型训练时只将训练集的数据带入,完成后再输入测试集数据对模型进行验证,依此得到模型的各项评价指标。本发明采用ROC曲线评估性能,ROC曲线(receiver operating characteristic curve)的主要概念是一种二元分类(BinaryClassification)的模型,其输出结果只会有两种类别,例如正确/不正确、符合/不符合、目标/非目标等,因此,ROC曲线较常运用在机器学习、目标侦测等需要评估模型的领域。一些常用评价指标,诸如准确率(Accuracy)、精确率(TPR)、召回率(Recall)、假阳性率(FPR)等指标数值均是依附在混淆矩阵而产生出来的,准确率是衡量模型性能最基本的指标,亦即在所有预测样本中,正确预测所有类别的个数百分比,精确率代表预测为真的样本中,正确预测的比例值,召回率则是在实际为真的测试样本里,正确预测的比例值,而各个分类模型的指标数值计算取得方式如下:
准确率(Accuracy)=(TP+TN)/(TP+TN+FP+FN)
精确率(TPR)= TP/(TP+FP)
召回率(Recall)= TP/(TP+FN)
假阳性率(FPR)= TN/(TN+FP)
其中:
TP(True positive):实际为True,且预测为True,预测正确;
FN(False negative):实际为True,但预测为False,预测错误;
FP(False positive):实际为False,但预测为True,预测错误;
TN(True negative):实际为False,且预测为False,预测正确。
本发明测试选择GWO算法的灰狼数量W=100,最大迭代次数Max=150,使用GWO-SVM模型进行分类,具体选用准确率(Accuracy)、精确率(TPR)、假阳性率(FPR)作为评价指标,具体结果如下:
由以上结果可知,本发明提供了一种基于图像分割的肉制品检测方法及装置,采用GWO-SVM分类器实现了肉制品快速和智能化检测,不仅提高了检测效率和判定精度,降低了成本,而且提高了检测系统的抗干扰性。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (4)
1.一种基于图像分割的肉制品检测方法,其特征在于,包括以下步骤:
S1:搭建多光源照明的肉制品图像采集环境,采用摄像设备获取肉制品图像;
S2:肉制品图像的预处理,包括RGB到HSV空间的颜色空间转换、图像大小归一化调整;
S3:肉制品背景图像分割,采用二值化开闭运算获得ROI的二值掩码图;
S4:计算肉制品总面积,根据ROI的二值掩码图的闭合边缘线获得总面积;
S5:提取肉制品ROI红色区域,利用HSV环状色码编码方式获得红色区域二值图;
S6:计算肉制品ROI红色区域面积,根据红色区域一个或多个闭合边缘线累加获得红色区域面积;
S7:计算ROI红色区域面积占比,获得红色区域面积占肉制品总面积的百分比数值;
S8:生成GWO-SVM分类器模型,将以上获得数据导入GWO-SVM分类器模型进行数据集训练,训练完成后将测试集数据输入,得到模型的分类结果;
所述步骤S4具体包括:
S41:采用OpenCV的Canny函数对于二值掩码图像依边缘描绘出边框;
S42:采用OpenCV的findContours函数找到所有的闭合区域;
S43:计算每个闭合区域的面积,找出面积值最大则为肉制品的总面积;
所述步骤S5具体包括:
S51:HSV环状色码编码方式中,红色的范围分布于二个区段,红色范围第一区段为(0,43,46~10,255,150),第二区段为(156,43,46~180,255,150),首先设定第一区段上下限红色色码阀值;
S52:采用OpenCV的inRange函数获得第一区段的二值化图像;
S53:设定第二区段上下限红色色码阀值;
S54:采用OpenCV的inRange函数获得第二区段的二值化图像;
S55:将第一区段和第二区段的二值图像进行或运算得到完整的ROI红色区域;所述步骤S6具体包括:
S61:采用OpenCV的Canny函数对于多个ROI红色区域依边缘描绘出边框;
S62:采用OpenCV的findContours函数找到所有的闭合区域;
S63:计算每个闭合区域的面积,多个闭合区域的面积累加则为ROI红色区域面积;
所述步骤S8具体包括:
S81:将以上图像特征数值保存为CSV文档,得到SVM的测试集和训练集;
S82:设定灰狼数量W与最大迭代次数Max,将SVM的惩罚系数C与RBF高斯核函数的半径σ设定为灰狼个体的位置向量;
S83:计算适应度值,将SVM的分类准确率作为适应度值;
S84:计算灰狼ω的适应值,并更新α、β、δ的适应度值与其当前位置;
S85:使用随机值产生权重A1-A3、C1-C3,计算α、β、δ估计的猎物位置X1-X3,并更新的下一个位置;
S86:进入迭代,ω的适应值若优于α、β、δ其中之一,则将其适应值与位置取代;
S87:判断是否满足设定的终止条件,若未满足,则回到步骤S84继续进行迭代;
S88:获取SVM惩罚系数C与RBF高斯核函数的半径σ最优参数,采用最优参数训练分类模型并运用该模型进行分类;
其中,在GWO算法中,灰狼按照社会等级逐次分为α、β、δ、ω,下一层级的行为需要服从上一级的带领,并展开相应的群体狩猎行动;
X1=Xα-A1·Dα
X2=Xβ-A2·Dβ
X3=Xδ-A3·Dδ
Dα=C1·Xα-Xω
Dβ=C2·Xβ-Xω
Dδ=C3·Xδ-Xω
A1=a(2r1-1)
A2=a(2r2-1)
A3=a(2r3-1)
C1=2·r4
C2=2·r5
C3=2·r6
a=2-I·(2/Max)
Xω(t+1)=(X1+X2+X3)/3
Xα,Xβ,Xδ,Xω分别为α、β、δ、ω的当前位置;
X1,X2,X3:α、β、δ估测猎物的下一个位置;
Dα,Dβ,Dδ:α、β、δ与ω的距离;
A1~A3:[-a,a]之间的随机权重;
C1~C3:[0,2]之间的随机权重;
r1~r6:[0,1]之间的随机值;
a:在迭代过程中从2线性减少到0的权重;
I:当前迭代次数;
Max:最大迭代次数;
Xω(t+1):ω的下一个位置;
SVM的分类准确率:fitness=(TP+TN)/(TP+TN+FP+FN)×100%;
(TP+TN)为所有预测正确的样本数,(TP+TN+FP+FN)为总样本数;
TP(True positive):实际为True,且预测为True,预测正确;
FN(False negative):实际为True,但预测为False,预测错误;
FP(False positive):实际为False,但预测为True,预测错误;
TN(True negative):实际为False,且预测为False,预测正确。
2.根据权利要求1所述的基于图像分割的肉制品检测方法,其特征在于,所述步骤S2具体包括:
S21:采用OpenCV的cvtColor函数将图像格式进行RGB-HSV转换;
S22:采用OpenCV的resize函数以等比的方式将图像大小调整成同一尺寸;
所述步骤S3具体包括:
S31:针对背景主色系设定上下限阀值,采用二分法将格式转换为二值图像;
S32:对获得的二值图像进行第一次闭运算进行降噪;
S34:进行二值图像的反运算得到互补图像;
S35:对获得的二值图像进行第二次闭运算进行降噪得到ROI的二值掩码图。
3.一种基于图像分割的肉制品检测装置,其特征在于,包括以下模块:
环境搭建模块,用于搭建多光源照明的肉制品图像采集环境,采用摄像设备获取肉制品图像;
图像预处理模块,包括RGB到HSV空间的颜色空间转换、图像大小归一化调整;
背景图像分割模块,用于采用二值化开闭运算获得ROI的二值掩码图;
总面积计算模块,用于根据ROI的二值掩码图的闭合边缘线获得总面积;
ROI红色区域提取模块,利用HSV环状色码编码方式获得红色区域二值图;
ROI红色区域面积计算模块,用于根据红色区域一个或多个闭合边缘线累加获得红色区域面积;
ROI红色区域面积占比计算模块,获得红色区域面积占肉制品总面积的百分比数值;
GWO-SVM分类器模型生成模块,用于将以上获得数据导入GWO-SVM分类器模型进行数据集训练,训练完成后将测试集数据输入,得到模型的分类结果;
所述总面积计算模块具体包括:
边框生成模块,用于采用OpenCV的Canny函数对于二值掩码图像依边缘描绘出边框;
区域查找模块,采用OpenCV的findContours函数找到所有的闭合区域;
计算对比模块,计算每个闭合区域的面积,找出面积值最大则为肉制品的总面积;
所述ROI红色区域提取模块具体包括:
第一区段红色色码阈值设定模块,HSV环状色码编码方式中,红色的范围分布于二个区段,红色范围第一区段为(0,43,46~10,255,150),第二区段为(156,43,46~180,255,150),设定第一区段上下限红色色码阀值;
第一区段二值化模块,采用OpenCV的inRange函数获得第一区段的二值化图像;
第一区段红色色码阈值设定模块,用于设定第二区段上下限红色色码阀值;
第二区段二值化模块,采用OpenCV的inRange函数获得第二区段的二值化图像;
区域合并模块,将第一区段和第二区段的二值图像进行或运算得到完整的ROI红色区域;
所述ROI红色区域面积计算模块具体包括:
边框生成模块,采用OpenCV的Canny函数对于多个ROI红色区域依边缘描绘出边框;
区域查找模块,采用OpenCV的findContours函数找到所有的闭合区域;
计算累加模块,用于计算每个闭合区域的面积,多个闭合区域的面积累加则为ROI红色区域面积;
所述GWO-SVM分类器模型生成模块具体包括:
SVM测试、训练集构建模块,用于将以上图像特征数值保存为CSV文档,得到SVM的测试集和训练集;
初始化模块,用于设定灰狼数量W与最大迭代次数Max,将SVM的惩罚系数C与RBF高斯核函数的半径σ设定为灰狼个体的位置向量;
适应度计算模块,计算适应度值,将SVM的分类准确率作为适应度值;
适应度更新模块,计算灰狼ω的适应度值,并更新α、β、δ的适应度值与其当前位置;
位置计算及更新模块,用于使用随机值产生权重A1-A3、C1-C3,计算α、β、δ估计的猎物位置X1-X3,并更新的下一个位置;
迭代更新模块,进入迭代,ω的适应值若优于α、β、δ其中之一,则将其适应值与位置取代;
循环判断模块,判断是否满足设定的终止条件,若未满足,则回到步骤S84继续进行迭代;
最优参数分类模块,获取SVM惩罚系数C与RBF高斯核函数的半径σ最优参数,采用最优参数训练分类模型并运用该模型进行分类;
其中,在GWO算法中,灰狼按照社会等级逐次分为α、β、δ、ω,下一层级的行为需要服从上一级的带领,并展开相应的群体狩猎行动;
X1=Xα-A1·Dα
X2=Xβ-A2·Dβ
X3=Xδ-A3·Dδ
Dα=C1·Xα-Xω
Dβ=C2·Xβ-Xω
Dδ=C3·Xδ-Xω
A1=a(2r1-1)
A2=a(2r2-1)
A3=a(2r3-1)
C1=2·r4
C2=2·r5
C3=2·r6
a=2-I·(2/Max)
Xω(t+1)=(X1+X2+X3)/3
Xα,Xβ,Xδ,Xω分别为α、β、δ、ω的当前位置;
X1,X2,X3:α、β、δ估测猎物的下一个位置;
Dα,Dβ,Dδ:α、β、δ与ω的距离;
A1~A3:[-a,a]之间的随机权重;
C1~C3:[0,2]之间的随机权重;
r1~r6:[0,1]之间的随机值;
a:在迭代过程中从2线性减少到0的权重;
I:当前迭代次数;
Max:最大迭代次数;
Xω(t+1):ω的下一个位置;
SVM的分类准确率:fitness=(TP+TN)/(TP+TN+FP+FN)×100%;
(TP+TN)为所有预测正确的样本数,(TP+TN+FP+FN)为总样本数;
TP(True positive):实际为True,且预测为True,预测正确;
FN(False negative):实际为True,但预测为False,预测错误;
FP(False positive):实际为False,但预测为True,预测错误;
TN(True negative):实际为False,且预测为False,预测正确。
4.根据权利要求3所述的图像分割的肉制品检测装置,其特征在于,所述图像预处理模块具体包括:
RGB-HSV转换模块,采用OpenCV的cvtColor函数将图像格式进行RGB-HSV转换;
图像归一化模块,采用OpenCV的resize函数以等比的方式将图像大小调整成同一尺寸;
所述背景图像分割模块具体包括:
图像二值化模块,针对背景主色系设定上下限阀值,采用二分法将格式转换为二值图像;
第一次降噪模块,对获得的二值图像进行第一次闭运算进行降噪;
反运算模块,进行二值图像的反运算得到互补图像;
第二次降噪模块,对获得的二值图像进行第二次闭运算进行降噪得到ROI的二值掩码图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310806226.XA CN116563311B (zh) | 2023-07-04 | 2023-07-04 | 一种基于图像分割的肉制品检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310806226.XA CN116563311B (zh) | 2023-07-04 | 2023-07-04 | 一种基于图像分割的肉制品检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116563311A CN116563311A (zh) | 2023-08-08 |
CN116563311B true CN116563311B (zh) | 2023-09-08 |
Family
ID=87486439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310806226.XA Active CN116563311B (zh) | 2023-07-04 | 2023-07-04 | 一种基于图像分割的肉制品检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116563311B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111768402A (zh) * | 2020-07-08 | 2020-10-13 | 中国农业大学 | 一种基于mu-svm的冰鲜鲳鱼新鲜度评估方法 |
CN112464731A (zh) * | 2020-11-03 | 2021-03-09 | 南京理工大学 | 一种基于图像处理的交通标志检测识别方法 |
WO2021128510A1 (zh) * | 2019-12-27 | 2021-07-01 | 江苏科技大学 | 基于sdae和改进gwo-svm的轴承缺陷识别方法 |
CN114241383A (zh) * | 2021-12-17 | 2022-03-25 | 武汉富思特创新信息技术有限公司 | 一种图像识别建筑火灾的方法及装置 |
CN115146499A (zh) * | 2022-06-21 | 2022-10-04 | 浙江众合科技股份有限公司 | 基于gwo-svm模型的机笼散热器优化设计方法 |
WO2022257243A1 (zh) * | 2021-06-07 | 2022-12-15 | 西安邮电大学 | 一种水质预警方法及系统 |
-
2023
- 2023-07-04 CN CN202310806226.XA patent/CN116563311B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021128510A1 (zh) * | 2019-12-27 | 2021-07-01 | 江苏科技大学 | 基于sdae和改进gwo-svm的轴承缺陷识别方法 |
CN111768402A (zh) * | 2020-07-08 | 2020-10-13 | 中国农业大学 | 一种基于mu-svm的冰鲜鲳鱼新鲜度评估方法 |
CN112464731A (zh) * | 2020-11-03 | 2021-03-09 | 南京理工大学 | 一种基于图像处理的交通标志检测识别方法 |
WO2022257243A1 (zh) * | 2021-06-07 | 2022-12-15 | 西安邮电大学 | 一种水质预警方法及系统 |
CN114241383A (zh) * | 2021-12-17 | 2022-03-25 | 武汉富思特创新信息技术有限公司 | 一种图像识别建筑火灾的方法及装置 |
CN115146499A (zh) * | 2022-06-21 | 2022-10-04 | 浙江众合科技股份有限公司 | 基于gwo-svm模型的机笼散热器优化设计方法 |
Non-Patent Citations (1)
Title |
---|
鱼粉产地溯源的近红外光谱判别方法研究;李庆波;毕智棋;石冬冬;;光谱学与光谱分析(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116563311A (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zavrtanik et al. | Draem-a discriminatively trained reconstruction embedding for surface anomaly detection | |
CN115082683B (zh) | 一种基于图像处理的注塑缺陷检测方法 | |
Aquino et al. | vitisBerry: An Android-smartphone application to early evaluate the number of grapevine berries by means of image analysis | |
Mizushima et al. | An image segmentation method for apple sorting and grading using support vector machine and Otsu’s method | |
Barnes et al. | Visual detection of blemishes in potatoes using minimalist boosted classifiers | |
Pacheco et al. | Tomato classification according to organoleptic maturity (coloration) using machine learning algorithms K-NN, MLP, and K-Means Clustering | |
CN110298297B (zh) | 火焰识别方法和装置 | |
CN111507426B (zh) | 基于视觉融合特征的无参考图像质量分级评价方法及装置 | |
CN113761259A (zh) | 一种图像处理方法、装置以及计算机设备 | |
CN115994907B (zh) | 用于食品检测机构综合信息的智能处理系统及方法 | |
CN111428631A (zh) | 无人机飞控信号可视化识别分选方法 | |
CN109241870B (zh) | 基于步态识别的煤矿井下人员身份识别方法 | |
Haque et al. | A hybrid object detection technique from dynamic background using Gaussian mixture models | |
CN117315380B (zh) | 一种基于深度学习的肺炎ct图像分类方法及系统 | |
Conci et al. | Comparing Color and Texture-Based Algorithms for Human Skin Detection. | |
CN116206208B (zh) | 一种基于人工智能的林业病虫害快速分析系统 | |
Lin et al. | Citrus segmentation for automatic harvester combined with adaboost classifier and Leung-Malik filter bank | |
CN116563311B (zh) | 一种基于图像分割的肉制品检测方法及装置 | |
CN113052234A (zh) | 一种基于图像特征和深度学习技术的玉石分类方法 | |
CN107886060A (zh) | 基于视频的行人自动检测与跟踪方法 | |
GB2604706A (en) | System and method for diagnosing small bowel cleanliness | |
CN108875572B (zh) | 基于背景抑制的行人重识别方法 | |
CN111199228A (zh) | 一种车牌定位的方法及装置 | |
CN114820707A (zh) | 一种用于摄像头目标自动追踪的计算方法 | |
Zhao et al. | A real‐time classification and detection method for mutton parts based on single shot multi‐box detector |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |