基于颜色矩和SVM的魔方颜色识别算法研究
来源:用户上传
作者:蒋庶 王洪栋 施静怡 冯梓洲
摘要:针对魔方机器人颜色识别易受光照条件影响,导致识别准确率低的问题,提出一种基于颜色矩和SVM的魔方颜色识别算法,实验首先通过采集低、正常和高三种不同照度下的魔方图像,构建颜色识别数据集,然后提取HSV颜色空间下的颜色矩特征对颜色信息进行表征,最后采用支持向量机算法实现颜色识别,通过与朴素贝叶斯、KNN算法进行实验对比分析,结果表明该方法能够有效提高魔方颜色识别准确率,有效抑制光照对魔方颜色识别的不良影响。
关键词:颜色识别;SVM;颜色矩;魔方机器人
中图分类号:TP18 文献标识码:A
文章编号:1009-3044(2022)28-0014-03
近年来,随着机器学习技术的广泛引用,结合机器人高可玩性和高交互性特点,各型机器人正逐步走进人们的视野。在人工还原魔方的同时,机器人技术也被广泛应用于魔方复原,以展示工业机械手的操作精度及速度,同时魔方机器人也日益成为科普教育的重要载体。当前,越来越多的工程师和研究者正在将机器视觉、智能算法等技术应用于魔方机器人的研究中,以提高其魔方复原的速度和稳定性。魔方颜色识别算法是构建魔方机器人的最核心组成部分,也是后续魔方复原的基础和前提,因此其识别的准确率和鲁棒性显得尤为重要[1-2]。
现有魔方颜色识别方法主要是使用CCD摄像机获取魔方每个面的图像,通过RGB阈值法判断魔方色块颜色,或者使用颜色传感器如(TCS3200) 获取魔方色块颜色信息并判断魔方色块颜色。虽然使用RGB阈值法计算简单,但极易受到光照条件变化的影响,在低照度和高照度情况下,魔方颜色识别准确率较低。使用颜色传感器的识别方法简单,但识别效率低,即一次只能完成一个色块的识别,且光照强度也是影响其识别准确率的主要因素[3-5]。因而提取更高鲁棒性的颜色特征和颜色识别算法具有重要的研究意义和实践价值。
1 研究方法
针对当前魔方颜色识别准确率受光照条件影响大的问题,提出改进的基于颜色矩和支持向量机(SVM) 的魔方颜色识别算法。实验首先采集了三种不同光照条件下的魔方图像,构建颜色识别数据集,以避免模型过拟合的风险;其次,提取更加全面准确反映其颜色特点的颜色矩作为颜色特征,最后采用分类性能优良且对噪声鲁棒的SVM算法进行颜色识别,模型构建过程采用十折交叉验证方案,使模型在不同光照条件都有良好的泛化性能。
1.1 数据集
拍摄三种不同光照条件下的魔方照片共136张,图片大小为2000×2000像素,并将图片截取为固定大小为151×151像素的颜色块图片,作为数据集的基本单位,截取的每种颜色块的样本图像数量分布如1所示:
1.2 颜色矩特征
由于HSV颜色空间的色调、饱和度、明度更加符合人眼对颜色的主观认识,便于颜色对比,故采用HSV颜色空间对色块颜色进行表征。在颜色特征提取方面,为减小运算量和提高颜色识别准确率,采用颜色矩作为颜色识别特征,该特征采用一阶矩(均值,mean)、二阶矩(方差,viarance)和三阶矩(斜度,skewness)来表示图像的颜色分布,其中一阶矩反映色块的亮度信息,二阶矩反映颜色的分布范围,三阶矩反映颜色分布的对称性[6],颜色矩能全面反映其颜色分布特点,HSV三通道组成一个9维颜色特征,三个颜色矩数学定义如下:
其中[i=h,s,v],分别对应HSV通道,[Ei]是通道[i]上的一阶矩,[σi]表示通道[i]上的二阶矩,[si]表示通道[i]上的三阶矩,[pij]表示第[j]个像素在通道[i]上的颜色值,[N]为图像中像素的个数。
1.3 支持向量机识别算法
支持向量机(SVM) 是一种广受欢迎的分类算法,其基本思想是寻找一个最优分类超平面作为决策曲面,使两类之间的分类间距达到最大。划分超平面通常表示为:[WTx+b=0]。其中将[n]维度空间上的点标记为-1,+1的方式来判断点位于超平面的哪一侧。当训练样本为线性不可分时,采用核函数将样本映射到一个更高维的特征空间,使得样本可分。常用的核函数包括线性核函数、多项式核函数、 高斯核函数[7-8]。
实验选择将SVM并行设置6个分类器,实现对6种颜色的识别,将多分类问题转变成多个二分类问题,在对SVM的三个核函数进行对比后,采用3次多项式核函数进行模型构建。
为了证明所提方法的有效性,选择广泛用于分类任务的朴素贝叶斯与K近邻算法(KNN) 作为实验对比算法。朴素贝叶斯算法是基于概率论的分类算法,具有稳定的分类效率,能够处理多分类任务,适合增量式训练等优点。KNN是利用测量不同特征值之间的距离方法进行分类,具有精度高、对异常值不敏感等优点。为了在有限的数据中,获取更多的有效信息,提高模型的泛化能力,实验采用十折交叉验证。
2 实验结果与分析
模型评估方面分别采用预测准确率和混淆矩阵对三种模型进行评估,预测准确率是预测正确的样本占总样本的百分比,反映了模型对整体样本判断正确的能力,值越大,代表性能越好。混淆矩阵是评价分类模型好坏的形象化展示工具,能够直观地显示多个类别之间是否混淆,以及混淆的样本数量,可以克服仅用分类准确率进行评估的局限性。混淆矩阵的每一列代表预测的颜色值,每一行代表真实的颜色值,角线上的元素是预测正确的样本数量,非对角线的元素是预测错误的样本数量。三种算法的模型预测准确率如图1所示:
通过图1可以看出,三种算法均取得了较好的分类性能,其中SVM分类器的分类准确率最高,达到99.9%,KNN算法的分类准确率最低,为98.9%。
三种算法模型预测的混淆矩阵如图2所示。
通过混淆矩阵看出,SVM分类器分类错误的数量最少,总共有12个样本分类错误。SVM分类器对红色和绿色容易分类错误,其中绿色被识别为红色的数量为1,识别为黄色的个数为2;红色被识别为绿色和橙色的个数分别为1和8。KNN的分类错误的个数最多,朴素贝叶斯次之。总之,从对三种模型的评估结果可以看出,无论从分类准确率还是混淆矩阵,所提算法都获得了最佳的分类性能,也验证了所提算法的有效性。
3 结论
文章提出了一种基于HSV空间下的颜色矩特征和SVM的魔方颜色识别算法,该算法能够有效应对不同光照条件下的魔方颜色识别问题。实验首先通过采集不同光照下的魔方图像构建颜色分类数据集,然后通过提取HSV颜色空间下的颜色矩特征对颜色进行表征,最后通过SVM算法构建颜色分类模型,并与朴素贝叶斯和KNN算法进行对比分析,实验结果验证了所提算法的有效性。
参考文献:
[1] 刘树博,葛远香,魏佳宝,等.新型解魔方机器人系统设计与研究[J].现代电子技术,2021,44(4):177-181.
[2] 孔凡国,谭水生.两臂二指智能魔方机器人执行控制系统设计[J].机床与液压,2020,48(23):40-44.
[3] 邓小颖,魏国梁,李志强,等.基于STC8的双臂魔方机器人设计[J].无线电工程,2020,50(10):831-834.
[4] 马希青,苏磊,张立香.基于STM32和Android的解魔方机器人设计与实现[J].机械设计与研究,2019,35(5):15-17,27.
[5] 崔俊文,刘自红,邓明洋,等.基于DFS的二指双臂魔方机器人[J].电脑知识与技术,2019,15(24):194-198.
[6] 卢洪胜,叶民,曹学全,等.基于颜色矩的病理判读算法在甲状腺癌冷冻切片病理辅助诊断中的探索[J].中华病理学杂志,2021,50(4):349-352.
[7] 黄一鸣,赵国新,魏战红,等.基于特征增强和优化SVM的工控入侵检测[J].计算机工程与设计,2021,42(12):3373-3379.
[8] 张燕,田国英,杨英茹,等.基于SVM的设施番茄早疫病在线识别方法研究[J].农业机械学报,2021,52(S1):125-133,206.
【通联编辑:唐一东】
nlc202212021110
转载注明来源:https://www.xzbu.com/8/view-15442886.htm