姚润璐,桂詠雯,黄秋桂
(南京农业大学 信息科学与技术学院,江苏 南京 210095)
基于机器视觉的淡水鱼品种识别*
姚润璐,桂詠雯,黄秋桂
(南京农业大学 信息科学与技术学院,江苏 南京210095)
在我国的淡水鱼加工产业里,淡水鱼的识别加工主要依靠人工,这必然将耗费大量的人力和物力。针对这类现象,研究设计了以白鱼、鲫鱼、桂鱼和鳊鱼为研究对象,采用数字图像处理技术和BP网络神经实现的淡水鱼自动识别系统。首先对采集得到的图像进行预处理,得到抠除背景的彩色鱼图像;接着分割鱼体,得到鱼背、鱼肚图像,进行纹理特征提取和形态特征提取;最后使用BP神经网络进行识别。实现了专门识别淡水鱼的软件,采用了25条学习样本和28条识别样本,最终识别率达到75%。
图像处理;淡水鱼品种识别;BP神经网络
我国是世界淡水鱼养殖、生产大国,淡水鱼作为主要动物蛋白质来源之一,在我国人民的日常饮食中占有极大的比例,不论是在江南鱼米之乡还是在中西部地区,鱼因为它的极高营养价值获得了广大人民的喜爱。但目前我国淡水鱼的加工处理工业机械化程度较低、技术含量不高,浪费了大量的人力物力,在很大程度上阻碍了我国淡水渔业的发展。加工处理前识别处理是保证淡水鱼加工质量及其商品价值的重要环节,故为了提高淡水鱼的附加价值、扩大淡水鱼的销售市场,基于机器视觉的淡水鱼品种识别必成为淡水鱼前处理环节中的重要一步。目前基于机器视觉对于农产品的品种识别也是一个研究热点。国内外也做出了一些相关研究内容,并取得了很好的效果[1-6]。
本识别系统中选取了四类淡水鱼品种进行识别,分别是白鱼、鳊鱼、桂鱼以及鲫鱼[7],如图1~4所示。所用平台是VS,用C#语言编写。
图1 白鱼图片
图2 鳊鱼图片
图3 桂鱼图片
图4 鲫鱼图片
对获得的原始鱼图片做一些简单的预处理操作,使其特征更为明显,便于以后的操作。预处理步骤如图5所示。
图5 图像预处理技术路线图
为了将图像与背景进行分离,本次实验中采用了最佳阈值法先对原始图像进行处理,得到基于S分量的阈值分割之后的二值图像。其中S分量代表的是图像的饱和度。因为经研究发现在S分量上进行分割是效果最好的[8]。
处理函数如下:
其中f(x,y)是图像的像素点的值,g(x,y)是经过处理后的像素点的值。当系统中选取T值为0.428时,有较好的分割效果,如图6所示。
在得到了二值图像的基础上,采用了Canny边缘检测,效果较为明显。具体效果如图7所示。
图6 阈值分割之后
图7 边缘检测之后
在得到边缘检测过的目标图像后,为了得到目标物体的轮廓图,需要将其内部的点全部掏空,仅保留边界点。所以其主要工作就是对边缘检测后的图像进行一系列的数学形态操作,将内部的点都置为白色,背景为黑色。具体操作流程为:Canny边缘检测后的图像→腐蚀处理→填充→开运算→得到鱼体。图像开运算一般用来消除小物体及纤细点处分离物体,平滑较大物体边界。区域填充操作实现了填充二值图像中的空洞区域,删除了没有连接到边界的局部极小值。执行数学形态操作后的效果图像如图8~10所示[8]。
图8 腐蚀运算后
图9 填充之后
图10 开运算之后
经上述处理后,已经得到目标图像填充操作后的图像,则只需将填充操作后的图像与剪裁好的彩色图像进行逻辑运算,使黑色的背景仍为黑色,白色的目标变为彩色目标图像,得到还原鱼体后的图像。去除背景后得到的图像效果如图11所示。
图11 得到鱼体
大部分淡水鱼的鱼肚和鱼背皮肤纹理差异很大,本识别系统自动剪切鱼肚和鱼背皮肤各1块 。具体方法如下。首先,通过扫描抠除背景后的鱼图像,计算鱼的宽度并保存至数组,通过比较定位鱼体最宽位置处直线,以该直线中点为矩形块中心点,剪切出像素为300×150的鱼肚皮肤图片;然后以该直线底端20%处为中心点,剪切出像素为300×150的鱼背皮肤图片,如图12所示。
图12 分割鱼体
图13 鱼的特征部位
在模式识别的很多案例中,形态特征往往是很简单直观的重要特征。它用于描述事物的集中特征性,而与灰度等无关。本项目就鱼的二值图像进行了形态特征的提取,选取了以下几个形态特征进行研究:鱼尾的似圆度、鱼尾的占空比、鱼的复杂度(形状参数)、鱼的最小外接矩形的长宽比及Hu Jing定义的7个不变矩特征值。接着对图13中各部分进行处理。
3.2.1HSV颜色特征
对分割得到的鱼背和鱼肚的纹理图进行HSV分量的提取,并且得到HSV的一阶矩阵。获得二次统计量,在此基础上提取H,S,V分量特征。
3.2.2灰度共生矩阵
灰度共生矩阵是一种通过研究灰度的空间相关特性来描述纹理的常用方法,在模式识别有很好的效果。提取四种特征值:能量、对比度、相关、熵,它们是仅有的不相关的特征,不仅便于计算而且还具有较高的分类精度。同时,为了减少计算量,提高程序运行效率,要将普通的灰度图像减少为8阶的灰度级数,再计算灰度共生矩阵[8-10]。
BP神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP神经网络模型拓扑结构如图14所示。
图14 BP神经网络拓扑结构
识别结果如图15所示。
图15 识别结果
目前已大致实现预期的功能,但有如下几个问题:
(1)鱼的纹理特征提取特征数少。没有LBP纹理特征,因为当时在提取这一数值时,最终得到的不是数据而是一张处理过后的图片,知识点储备不足,无法提取出特征信息,所以也缺少了这一类特征数据。
(2)用于机器学习和机器识别的图像效果不佳且图像量太少。图像拍摄不一,光线、背景、清晰度等都造成数据的不准确性,有些图像被淘汰,导致最后用于机器识别的图像太少。
(3)识别正确率不高。由于特征数据不足,本系统的识别准确率仍然不够高,但目前基本能够识别淡水鱼的种类,在扩充特征数据和样本量后本系统的准确率将进一步提高。
通过分析反思认为,可以有如下改进:
(1)提高图像拍摄统一度。
(2)增大图像库。
(3)增加特征提取种类。
与MATLAB平台仿真不同的是,目前已经运用C#语言编写,实现了功能较为完备的专门识别淡水鱼品种的软件。本系统基本实现了鱼的背景抠除、鱼体分割、特征提取和种类识别,且识别效果较好。但仍存在一些问题,如方法不够创新。如要得到更高的识别率,可以在纹理特征提取部分再加上LBP纹理特征提取,在BP神经网络之前进行粒子群特征寻优。在神经网络部分也可以进行优化,日后有待改进。
[1] 陈述平,朱文慧.全球能源和粮食价格高涨中国淡水鱼常规养殖品种面临的挑战[J].饲料广角,2008(15) :40-41.
[2] 张志强,牛智有,赵思明.基于机器视觉技术的淡水鱼品种识别[J].农业工程学报,2011(11):388-392.
[3] ZION B,SHKLYAR A,KARPLUS I. Sorting fish by computer vision[J].Computers and Electronics in Agriculture,1999(23):175-187.
[4] STORBECK F,DAAN B. Fish species recognition using computer vision and a neural network[J]. Fisheries Research,2001(51):11-15.
[5] WHITE D J,SVELLINGEN C,STRACHAN N J C. Automated measurement of species and length of fish by computer vision[J].Fisheries Research,2006(80):203-210.
[6] Hu Jing.Fish species classification by color,texture and multi-class support vector machine using computer vision[J].Computers and Electronics in Agriculture,2012(88):133-140.
[7] 谢忠红,郭小清,程碧云,等.基于多特征的淡水鱼种类识别研究[J].扬州大学学报(农业与生命科学版),2016,37(3):71-77.
[8] 俞朝晖,于涛,庞也驰.数字图像处理与工程应用实践.第一版[M].北京:中国铁道出版社,2012.
[9] 万鹏,潘海兵,宗力,等.基于机器视觉技术淡水鱼品种在线识别装置设计[J].食品与机械,2012(6):164-167.
[10] 张铮,任淑霞.数字图像处理与机器视觉.第二版[M].北京:人民邮电出版社,2014.
[11] 蔡楚华,兰诚栋,陈康杰.深度学习最佳深度的确定[J].微型机与应用,2017,36(9):57-59,66.
[12] 陈国良.遗传算法及其应用[M].北京:人民邮电出版社,1996.
[13] 梁军,程灿.改进的粒子群算法[J].计算机工程与设计,2008,29(11):2893-2896.
Recognition of freshwater fish species based on machine vision
Yao Runlu,Gui Yongwen,Huang Qiugui
(School of Information Science and Technology,Nanjing Agricultural University,Nanjing 210095,China)
In the freshwater fish processing industry of our courtry,the identification and processing of freshwater fish mainly rely on human resources,which will inevitably consume a lot of labour power and material resources. For this phenomenon,we researched and designed a scheme using digital image processing technology and BP neural network to realize the recognition,using white fish,crucian carp,bream and mandarin fish as the research objects. Firstly,the collected images are pre processed to get the color fish image without background. Then we split the fish images to obtain fish maw and fish back,in order to extract texture features and extract morphological features. Finally the BP neural network is used to recognize the image.In this project,we implement a software specifically for identifying freshwater fish. We adopt 25 learning samples and 28 identification samples. The final recognition rate is 75%.
image processing; freshwater fish; BP neural network
江苏省大学生创新创业项目(201610307012Y)
TP391
A
10.19358/j.issn.1674-7720.2017.24.011
姚润璐,桂詠雯,黄秋桂.基于机器视觉的淡水鱼品种识别J.微型机与应用,2017,36(24):37-39.
2017-06-22)
姚润璐(1996-),女,本科,主要研究方向:计算科学与技术。
桂詠雯(1996-),女,本科,主要研究方向:计算科学与技术。
黄秋桂(1995-),女,本科,主要研究方向:网络工程。