一种基于目标识别与KNN算法的超市仓库货物识别分类方法技术

技术编号:19746300 阅读:25 留言:0更新日期:2018-12-12 04:55
一种基于目标识别与KNN算法的超市仓库货物识别分类方法,包括以下步骤:1)获取货物图像样本数据;2)对样本数据进行预处理,设立类标签,分类别按数字升序命名;3)将jpg格式的样本读入程序用于存储像素数据的矩阵中,并完成对应的类标签矩阵的赋值;4)对每一幅图像进行处理,提取出目标轮廓;5)选取出目标的最小外接矩形,对矩形进行矫正获得感兴趣区域;6)算出整个区域的平均RGB值与直方图分布;7)通过KNN算法进行待测样本与训练样本之间的匹配,按照特征值的匹配程度对训练样本进行排序,只观察前三个样本的类标签,占多数的训练样本的类标签就是待测样本所属的类别。本发明专利技术简单高效、误差低、分类较为精准。

【技术实现步骤摘要】
一种基于目标识别与KNN算法的超市仓库货物识别分类方法
本专利技术涉及图像处理、机器学习领域。具体是指一种基于目标识别与KNN算法的超市仓库货物识别分类方法。
技术介绍
在全球产能过剩和电子商务高速发展的背景下,柔性化的智慧物流系统可以有效应对订单碎片化所带来的成本增加和效率降低的挑战。仓储物流作为物品流通的载体、电子商务的核心,成了亟需解决的问题。现有的传统的、智能化程度地下,缺少科学管理和规划的老式仓库无法应对每天数十万次的货物入库出库操作。而智慧仓促和物流技术的引入,可以帮助传统制造企业更加精准、高效地管理仓储,其中机器人分拣货物时,对货物的识别与分类环节显得尤为重要,在准确性和时效性上都有非常高的要求。针对超市仓库中机器人智能分拣时的货物识别分类问题,随机选取任意的十二种货物,其中包括雪碧、雪花、爽歪歪等常见货物。先采集样本数据集,对采集得到的样本图像进行目标识别,包括滤波、灰度变换、锐化、腐蚀膨胀等;之后计算每张图像目标区域的RGB平均值与直方图分布作为KNN算法的特征向量。通过KNN算法进行待识别货物与样本之间的匹配。观察匹配结果,根据匹配程度最高的样本对待识别物体进行分类。主要运用:Python、目标识别、感兴趣区域提取、冒泡排序法、KNN算法
技术实现思路
为了克服现有仓储物流中机器人识别货物并分类问题的不足,本专利技术提供一种简单高效、误差低、可以较为精准的超市仓库货物识别分类方法。为了解决上述技术问题,本专利技术的技术方案如下:一种基于目标识别与KNN算法的超市仓库货物识别分类方法,包括以下步骤:步骤1:获取货物图像样本数据;步骤2:对样本数据进行预处理,将角度偏移超于阈值的样本剔除,对样本数据设立类标签,分类别按数字升序命名;步骤3:将jpg格式的样本读入程序用于存储像素数据的矩阵中,并完成对应的类标签矩阵的赋值;步骤4:对每一幅图像进行处理,包括高斯滤波、灰度二值化、sobel算子锐化等提取出目标轮廓;步骤5:对轮廓以及内部进行腐蚀、膨胀,选取出目标的最小外接矩形,对矩形进行矫正,获得感兴趣区域;步骤6:遍历感兴趣区域每个点的RGB值,算出整个区域的平均RGB值与直方图分布,作为KNN算法的特征;步骤7:通过KNN算法进行待测样本与训练样本之间的匹配,按照特征值的匹配程度对训练样本进行排序,最后只观察前三个样本的类标签,占多数的训练样本的类标签就是待测样本所属的类别。进一步,所述步骤4)中,依据步骤3)中得到的矩阵,相当于有了训练样本图像的索引值,遍历图像,对每一幅图像都进行如下的操作;首先运用Opencv库中的Cvtcolor函数将图片转成二值化图像,再通过GaussianBlur函数对图片进行高斯滤波;之后使用sobel算子,依据邻近像素之间的差分关系对图片进行锐化,得到更明显的轮廓。所述步骤5)中,再一次进行高斯滤波,接着通过threshold函数对灰度进行线性变换,使噪声等模糊的白点置黑;通过getStructuringElement函数建立腐蚀膨胀所需的内核,通过erode与dilate函数进行腐蚀与膨胀。通过findContours函数找出边缘,依据找出的边缘使用minAreaRect函数得到最小外接矩形,对矩形进行适度的补偿。所述步骤6)中,依据步骤5)找出的最小外接矩形的四个顶点为界,遍历矩形内所以像素点的RGB值,并求和取平均算出R、G、B三个值的平均值以及直方图分布作为这张图片的特征向量。所述步骤7)中,以步骤6)得到的特征向量作为KNN算法的已知样本,通过计算待测样本的RGB值、直方图分布与已知样本的特征值之间的差,通常是各项差的平方和的开方值。比较开方值并以此排序,选择值最小的前三个已知样本,观察其中占多数的类标签。该类标签就表明了待测物体的类归属,即是哪一件货品。所述步骤1)中,选取背景较单一的场景,对准超市货物进行拍摄,过程中可以左右高速晃动,这样可以增强程序的鲁棒性,也可以提供运动模糊下的像素数据。KNN算法一般只需要200左右的样品数据。所述步骤2)中,“类标签”的意思就是我们已知的训练样本所属的类别。比如说这个易拉罐代表雪碧,这个塑料瓶代表爽歪歪等。所述步骤3)中,通过Pythonos库的listdir函数得到文件名,再通过split函数获取命名中的顺序信息与类标签信息,存入相应矩阵中。本专利技术的有益效果为:简单高效、误差低、分类较为精准。具体实施方式下面对本专利技术做进一步说明。一种基于目标识别与KNN算法的超市仓库货物识别分类方法,包括以下步骤:步骤1:获取货物图像样本数据;步骤2:对样本数据进行预处理,将角度偏移超于阈值的样本剔除,对样本数据设立类标签,分类别按数字升序命名;步骤3:将jpg格式的样本读入程序用于存储像素数据的矩阵中,并完成对应的类标签矩阵的赋值;步骤4:对每一幅图像进行处理,包括高斯滤波、灰度二值化、sobel算子锐化等提取出目标轮廓;步骤5:对轮廓以及内部进行腐蚀、膨胀,选取出目标的最小外接矩形,对矩形进行矫正,获得感兴趣区域;步骤6:遍历感兴趣区域每个点的RGB值,算出整个区域的平均RGB值与直方图分布,作为KNN算法的特征;步骤7:通过KNN算法进行待测样本与训练样本之间的匹配,按照特征值的匹配程度对训练样本进行排序,最后只观察前三个样本的类标签,占多数的训练样本的类标签就是待测样本所属的类别。进一步,所述步骤4)中,依据步骤3)中得到的矩阵,相当于有了训练样本图像的索引值,遍历图像,对每一幅图像都进行如下的操作;首先运用Opencv库中的Cvtcolor函数将图片转成二值化图像,再通过GaussianBlur函数对图片进行高斯滤波;之后使用sobel算子,依据邻近像素之间的差分关系对图片进行锐化,得到更明显的轮廓。所述步骤5)中,再一次进行高斯滤波,接着通过threshold函数对灰度进行线性变换,使噪声等模糊的白点置黑;通过getStructuringElement函数建立腐蚀膨胀所需的内核,通过erode与dilate函数进行腐蚀与膨胀。通过findContours函数找出边缘,依据找出的边缘使用minAreaRect函数得到最小外接矩形,对矩形进行适度的补偿。所述步骤6)中,依据步骤5)找出的最小外接矩形的四个顶点为界,遍历矩形内所以像素点的RGB值,并求和取平均算出R、G、B三个值的平均值以及直方图分布作为这张图片的特征向量。所述步骤7)中,以步骤6)得到的特征向量作为KNN算法的已知样本,通过计算待测样本的RGB值、直方图分布与已知样本的特征值之间的差,通常是各项差的平方和的开方值。比较开方值并以此排序,选择值最小的前三个已知样本,观察其中占多数的类标签。该类标签就表明了待测物体的类归属,即是哪一件货品。所述步骤1)中,选取背景较单一的场景,对准超市货物进行拍摄,过程中可以左右高速晃动,这样可以增强程序的鲁棒性,也可以提供运动模糊下的像素数据。KNN算法一般只需要200左右的样品数据。所述步骤2)中,“类标签”的意思就是我们已知的训练样本所属的类别。比如说这个易拉罐代表雪碧,这个塑料瓶代表爽歪歪等。所述步骤3)中,通过Pythonos库的listdir函数得到文件名,再通过split函数获取命名中的顺序信息与类本文档来自技高网...

【技术保护点】
1.一种基于目标识别与KNN算法的超市仓库货物识别分类方法,其特征在于,所述货物识别方法包括以下步骤:1)获取货物图像样本数据;2)对样本数据进行预处理,将角度偏移超于设定阈值的样本剔除;对样本数据设立类标签,分类别按数字升序命名;3)将jpg格式的样本读入程序用于存储像素数据的矩阵中,并完成对应的类标签矩阵的赋值;4)对每一幅图像进行处理,包括高斯滤波、灰度二值化、sobel算子锐化处理后,提取出目标轮廓;5)对轮廓以及内部进行腐蚀、膨胀,选取出目标的最小外接矩形,对矩形进行矫正,获得感兴趣区域;。6)遍历感兴趣区域每个点的RGB值,算出整个区域的平均RGB值与直方图分布,作为KNN算法的特征;7)通过KNN算法进行待测样本与训练样本之间的匹配,按照特征值的匹配程度对训练样本进行排序。最后只观察前三个样本的类标签,占多数的训练样本的类标签就是待测样本所属的类别。

【技术特征摘要】
1.一种基于目标识别与KNN算法的超市仓库货物识别分类方法,其特征在于,所述货物识别方法包括以下步骤:1)获取货物图像样本数据;2)对样本数据进行预处理,将角度偏移超于设定阈值的样本剔除;对样本数据设立类标签,分类别按数字升序命名;3)将jpg格式的样本读入程序用于存储像素数据的矩阵中,并完成对应的类标签矩阵的赋值;4)对每一幅图像进行处理,包括高斯滤波、灰度二值化、sobel算子锐化处理后,提取出目标轮廓;5)对轮廓以及内部进行腐蚀、膨胀,选取出目标的最小外接矩形,对矩形进行矫正,获得感兴趣区域;。6)遍历感兴趣区域每个点的RGB值,算出整个区域的平均RGB值与直方图分布,作为KNN算法的特征;7)通过KNN算法进行待测样本与训练样本之间的匹配,按照特征值的匹配程度对训练样本进行排序。最后只观察前三个样本的类标签,占多数的训练样本的类标签就是待测样本所属的类别。2.如权利要求1所述的一种基于目标识别与KNN算法的超市仓库货物识别分类方法,其特征在于,所述步骤4)中,依据步骤3)中得到的矩阵,相当于有了训练样本图像的索引值,遍历图像,对每一幅图像都进行如下的操作:首先,运用Opencv库中的Cvtcolor函数将图片转成二值化图像;再通过GaussianBlur函数对图片进行高斯滤波;之后使用sobel算子,依据邻近像素之间的差分关系对图片进行锐化,得到更明显的轮廓。3.如权利要求1或2所述的一种基于目标识别与KNN算法的超市仓库货物识别分类方法,其特征在于,所述步骤5)中,再一次进行高斯滤波,接着通过threshold函数对灰度进行线性变换,使噪声等模糊的白点置黑。通过getStructur...

【专利技术属性】
技术研发人员:黄强豪卢允子何德峰
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1