> 资讯
本发明属于图像识别与分类技术领域,具体涉及一种基于knn的鳙鱼分类方法。
背景技术:
水库净水和渔业具有良好的生态环境效益、社会公共效益和产业经济效益。 与池塘养殖的鱼相比,水库鱼比水库自由饲养的鱼品质更好,营养更丰富,味道更好,因此价格也比池塘养殖的鱼高很多。 然而,在鱼市场上,却存在水库鱼和养殖鱼混用的现象。 消费者往往愿意支付高价购买的是池塘养殖的鱼。 为了维护消费者权益,解决消费者对水库鱼类和水产品质量的疑虑,需要建立水库鱼类大数据追溯系统。 消费者在购买水库鱼时,可以利用溯源系统对购买的水库鱼进行验证。 可以进行溯源,彻底解除消费者对水库鱼产品质量的担忧。
溯源系统需要对水库鱼、池塘鱼进行识别和分类; 目前相关技术在水产品机器学习领域的应用包括专利申请号cn2的“基于深度神经网络的死鱼识别方法及预警系统”; “基于深度卷积神经网络的鱼类图像分类方法”专利申请号cn2.1; 专利申请号cn2.2“一种基于彩色图像和卷积神经网络技术的鱿鱼自动分类方法”; 专利申请号cn2.6为“一种基于图像识别的鱼类自动分选系统”。 上述现有技术中,尚无研究人员利用图像识别和分类技术对同种鱼类因生长环境不同而产生的形态特征差异进行识别和分类,并将其应用到鱼产品中。 在追溯系统中。
技术实现要素:
本发明的目的是提供一种基于KNN的鳙鱼分类方法,能够提取两种生长环境下鳙鱼的不同形态特征,然后根据提取的形态特征的差异进行识别和分类。
为实现上述技术目的,本发明采用的技术方案如下:
一种基于knn的鳙鱼分类方法,包括以下步骤,
a1. 采集几条鳙鱼的图像数据并存入后台数据库;
a2。 将后台数据库中的鳙鱼图像数据分类为水库生长的鳙鱼和池塘养殖的鳙鱼,并分为训练集和测试集;
a3. 将后台数据库中的若干图像数据转换为向量,并对图像数据进行标准化;
a4. 使用训练集图像作为卷积神经网络的输入提取特征;
a5. 构建 knn 分类器对鳙鱼进行分类。
进一步地,所述knn分类器对鳙鱼进行分类的方法包括以下步骤:
b1. 计算测试数据特征与每个训练数据特征之间的距离;
b2. 按照步骤b1计算出的距离递增顺序排序,然后选择距离最小的k个特征;
b3. 将k个近邻训练数据中出现次数最多的类别作为输入的新鳙鱼图片实例的类别;
b4. 通过分析比较待分类鳙鱼图像与分类后鳙鱼图像特征距离的大小,对鳙鱼进行分类。
进一步地,在步骤a4中进行特征提取时,进行了3次特征提取。 第一个卷积提取低级特征,第二个卷积提取中级特征,第三个卷积提取高级特征。 特征。 通过对鳙鱼图像特征的不断提取和集中,最终可以获得比较高层次的特征,最终得到可靠、简洁的特征; 此时,在映射特征空间中,有两个特征,一是水库中生长的鱼类的图像特征,二是池塘养殖的鱼类的图像特征。
进一步地,步骤b1中计算距离的公式为欧式距离测量方法,具体为:
给定鳙鱼训练集: = (x(1), x(2), x(3),..., x(m)),
鳙鱼测试集:xtest=(x′(1), x′(2), x′(3),…, x′(n)),
那么欧氏距离定义为:
进一步地,在步骤b2中选择最小的k个特征后,首先选择较小的k值,然后进行交叉验证以选择最优的k值。 当k值较小时,整体模型会变得复杂,对附近的训练数据点更加敏感,容易出现过拟合; k值较大时,模型会趋于简单,距离较远的训练数据点也会起到预测作用,容易出现欠拟合。
进一步地,步骤b3的具体方法是在步骤b2中确定k个特征类别的出现频率。 对于离散分类,返回步骤b2中k个点出现最频繁的类别进行预测分类。 对于回归分类,返回步骤b2中k个特征的加权值作为预测值。
进一步的,步骤b4中的具体分类方法包括以下步骤:
c1. 消费者用相机拍摄鳙鱼的照片;
c2. 将照片上传至后端数据库作为鳙鱼图像进行识别和分类;
c3. 后台数据库取出照片,对照片进行特征提取,然后将提取的特征送入knn分类器进行分类处理,得到分类结果;
c4. 将分类结果返回给消费者,告诉消费者购买的鳙鱼是否是水库养殖的鱼。
本发明的有益效果如下:
1、本发明的鳙鱼分类方法应用于溯源系统。 使用时,消费者只需通过手机将购买的鳙鱼拍照上传到系统中,系统中就会通过本发明的算法进行分析识别。 可以区分消费者购买的鳙鱼是水库生态鳙鱼还是池塘精养鳙鱼,彻底消除消费者对产品质量的担忧。
2、本发明整个鳙鱼识别分类方法简单方便,支持增量学习,对鳙鱼表面噪声和环境的抗干扰能力强,分类精度高。 有效维护了消费者权益,解决了他们对水库鱼类和水产品质量的疑虑。
附图说明
图1为本发明基于knn的鳙鱼分类方法采集鳙鱼图像数据的示意图;
图2是基于knn的鳙鱼分类方法的鳙鱼分类总体流程图。
详细方式
为了使本领域的技术人员更好地理解本发明,下面结合实施例对本发明的技术方案进行进一步说明。
一种基于knn的鳙鱼分类方法,如图1-2所示,
包括以下步骤:
a1. 数据预处理
1、导入数据库:首先进行大量鳙鱼图像数据采集工作,存入后台数据库,后台数据库有鳙鱼图片10892张。 然后将这些图片从数据库中导出,构建训练数据集;
2、导出数据集:数据集包含10892张图片,分为水库生长的鳙鱼和池塘养殖的鳙鱼两类。 训练集包含9664张图片,测试集包含928张图片;
3. 将数据集转换为向量并对其进行归一化。
a2。 特征提取
使用训练集图像作为卷积神经网络的输入,不断提取特征。 第一个卷积可以提取边缘和曲线等低级特征,第二个卷积可以提取中级特征。 :由曲线和直线组合形成的多边形特征。 第三个卷积可以提取高级特征:头部、尾柄、胸鳍和背鳍的特征。 通过对鳙鱼图像特征的不断提取和集中,最终可以获得较高层次的特征,最终得到可靠、简洁的特征。 此时鳙鱼图片,映射特征空间中存在两类特征,一类是水库中生长的鱼的图像特征,另一类是池塘中生长的鱼的图像特征。
a3. 构建knn分类器
1.定义距离计算方法:选择欧式距离来衡量距离,计算测试数据特征与每个训练数据特征之间的距离。
给定鳙鱼训练集:
=(x(1),x(2),x(3),…,x(m)),
鳙鱼测试集:
xtest=(x′(1),x′(2),x′(3),…,x′(n)),
这里的鳙鱼训练集或测试集是鳙鱼图片输出到卷积神经网络后得到的图像特征集。 x(m)为第m张鳙鱼训练集图片的特征; x'(n)为第n张鳙鱼测试集图像的特征; x1(m)为m条鳙鱼训练集图像的第一个特征; x'1(n)是第n张鳙鱼训练集图像的第一个特征。
那么欧氏距离定义为:
这个距离可以衡量第n张测试集图像和第m张训练集图像之间的相似度。
2. k值的选择:计算出测试数据特征与每个训练数据特征之间的距离后,首先按距离升序排序,然后选择距离最小的k个特征。 一般先选择较小的k值,然后进行交叉验证,选择最优的k值。 当k值较小时,整体模型会变得复杂,对附近的训练数据点更加敏感,并且容易出现过拟合。 当k值较大时,模型会趋于简单。 这时,远处的训练数据点也会起到预测作用,很容易出现欠拟合的情况。
3、分类决策规则:该分类决策规则是将k个近邻训练数据中出现次数最多的类别作为输入的新鳙鱼图片实例的类别。 即首先确定前k个特征所属类别的出现频率。 对于离散分类,返回前k个点出现次数最多的类别进行预测分类; 对于回归分类,返回前k个特征的加权值作为预测值。
a4. 鳙鱼的分类
通过分析比较待分类鳙鱼图像与分类后鳙鱼图像之间特征距离的大小,进行鳙鱼分类。
将上述鳙鱼分类方法的计算机程序放入微信小程序中,
1、消费者收到购买的鳙鱼后,打开手机,进入微信小程序,点击识别按钮。 手机摄像头将被调用,消费者将镜头对准鳙鱼并拍照。
2、这张照片作为鳙鱼图片进行识别分类,微信小程序自动将该图片上传到后台数据库。
3、后台取出这张图像,提取其特征,然后将特征送入knn分类器进行处理,得到分类结果。
4、后端将分类结果返回给消费者,告诉消费者购买的鳙鱼是否是水库养殖的鱼。
该方法用于对鳙鱼部位进行分类。 该方法在整个溯源识别过程中,提取了两种生长环境下鳙鱼的不同形态特征,然后进行分类。 这时候就需要设计这样的分类器了。 当消费者对购买的鳙鱼进行拍照并识别后,照片就会进入后台系统。 该分类器用于识别算法的分类阶段。 分类器将输入图像分为两类:水库生长的鱼和池塘饲养的鱼。 打消消费者对该产品质量的疑虑。
以上是对本发明提供的一种基于knn的鳙鱼分类方法的详细介绍。 对具体实施例的描述仅仅用于帮助理解本发明的方法及其核心思想。 需要说明的是,本领域的技术人员在不脱离本发明原理的情况下,可以对本发明进行若干改进和变型,这些改进和变型也属于本发明权利要求的范围。
技术特点:
1、一种基于knn的鳙鱼分类方法,其特征在于:包括以下步骤,
a1. 采集几条鳙鱼的图像数据并存入后台数据库;
a2。 将后台数据库中的鳙鱼图像数据分类为水库生长的鳙鱼和池塘养殖的鳙鱼,并分为训练集和测试集;
a3. 将后台数据库中的若干图像数据转换为向量,并对图像数据进行标准化;
a4. 使用训练集图像作为卷积神经网络的输入提取特征;
a5. 构建 knn 分类器对鳙鱼进行分类。
2.根据权利要求1所述的一种基于knn的鳙鱼分类方法,其特征在于:knn分类器对鳙鱼进行分类的方法包括以下步骤:
b1. 计算测试数据特征与每个训练数据特征之间的距离;
b2. 按照步骤b1计算出的距离递增顺序排序,然后选择距离最小的k个特征;
b3. 将k个近邻训练数据中出现次数最多的类别作为输入的新鳙鱼图片实例的类别;
b4. 通过分析比较待分类鳙鱼图像与分类后鳙鱼图像特征距离的大小,对鳙鱼进行分类。
3.根据权利要求2所述的一种基于knn的鳙鱼分类方法,其特征在于:步骤a4中进行特征提取时,进行三次特征提取,第一次卷积提取低级特征。 第二个卷积提取中层特征,第三个卷积提取高层特征。
4.根据权利要求3所述的一种基于knn的鳙鱼分类方法,其特征在于:步骤b1中计算距离的公式为欧氏距离测量法,具体来说,
给定鳙鱼训练集: = (x(1), x(2), x(3),..., x(m)),
鳙鱼测试集:xtest=(x′(1), x′(2), x′(3),…, x′(n)),
那么欧氏距离定义为:
x(m)为第m张鳙鱼训练集图像的特征; x'(n)为第n张鳙鱼测试集图像的特征; xl(m)为第m个鳙鱼训练集图像的第l个特征; x'l(n)是第n张鳙鱼训练集图片的第l个特征。
5.根据权利要求4所述的一种基于knn的鳙鱼分类方法,其特征在于:步骤b2中选择最小的k个特征后,首先选择较小的k值,然后进行交叉验证,选择最佳的k值价值。
6.根据权利要求5所述的一种基于knn的鳙鱼分类方法,其特征在于:步骤b3的具体方法是确定步骤b2中k个特征所在类别的出现频率,并进行离散分类, 在步骤b2中,使用出现次数最多的k个点的类别进行预测分类。 对于回归分类,返回步骤b2中k个特征的加权值作为预测值。
7.根据权利要求6所述的一种基于knn的鳙鱼分类方法,其特征在于:步骤b4中的具体分类方法包括以下步骤:
c1. 消费者用相机拍摄鳙鱼的照片;
c2. 将照片上传至后端数据库作为鳙鱼图像进行识别和分类;
c3. 后台数据库取出照片,对照片进行特征提取,然后将提取的特征送入knn分类器进行分类处理,得到分类结果;
c4. 将分类结果返回给消费者,告诉消费者购买的鳙鱼是否是水库养殖的鱼。
技术总结
本发明属于图像识别与分类技术领域,具体涉及一种基于KNN的鳙鱼分类方法,包括以下步骤:A1. 采集几条鳙鱼的图像数据并存储在后台数据库中; A2。 将鳙鱼保存在后台数据库中图像数据分为水库养殖鳙鱼和池塘养殖鳙鱼,分为训练集和测试集; A3。 将后台数据库中的若干图像数据转换为向量,并对图像数据进行标准化; A4。 将训练集图片作为卷积神经网络的输入,用于特征提取; A5。 构建 KNN 分类器对鳙鱼进行分类。 本发明可以提取鳙鱼在两种生长环境下的不同形态特征,然后根据提取的形态特征的差异进行识别和分类。
技术研发人员:朱汉春; 王凯; 田庆兵; 高敏; 熊庆宇; 杜思雨; 罗辉; 陈健; 肖传明
受保护技术使用者:朱汉春; 田庆兵; 王凯; 肖传明
技术研发日:2020.03.23
技术公告日期:2020年08月18日
猜你喜欢
- 2023-12-20 淡水鲨鱼 我们去丹江口见识一条鱼,去年搞得80多斤
- 2023-12-20 潢川县小龙虾种苗繁育基地EPC+O建设项目中标候选人
- 2023-12-20 鲤鱼中国十种常见的食用鱼世界上十大最具营养鱼类
- 2023-12-20 挪威三文鱼供应量大幅增长,欧洲市场呈现季节性衰退
- 2023-12-20 澳洲三文鱼多少钱一再跌落?三文鱼怎么消毒?
- 2023-12-20 一只小猫,一条鱼小小经验告诉你大家好!
- 2023-12-20 (何蔚蓝)悬坠开饵的物理状态如何把握
- 2023-12-20 红尾黑鲨 养观赏鱼,玩自然水景,懂生活的人都关注了
- 2023-12-20 红尾黑鲨 高消费低文化的三亚市区是个很无趣的地方