CN112507890A - 一种基于svm分类器的竹子叶片分类识别方法 - Google Patents
一种基于svm分类器的竹子叶片分类识别方法 Download PDFInfo
- Publication number
- CN112507890A CN112507890A CN202011463412.0A CN202011463412A CN112507890A CN 112507890 A CN112507890 A CN 112507890A CN 202011463412 A CN202011463412 A CN 202011463412A CN 112507890 A CN112507890 A CN 112507890A
- Authority
- CN
- China
- Prior art keywords
- bamboo
- classification
- leaf
- image
- svm classifier
- 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.)
- Pending
Links
- 241001330002 Bambuseae Species 0.000 title claims abstract description 99
- 235000017166 Bambusa arundinacea Nutrition 0.000 title claims abstract description 93
- 235000017491 Bambusa tulda Nutrition 0.000 title claims abstract description 92
- 235000015334 Phyllostachys viridis Nutrition 0.000 title claims abstract description 92
- 239000011425 bamboo Substances 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000013145 classification model Methods 0.000 claims abstract description 11
- 238000003708 edge detection Methods 0.000 claims abstract description 11
- 238000005260 corrosion Methods 0.000 claims abstract description 10
- 230000007797 corrosion Effects 0.000 claims abstract description 10
- 238000012549 training Methods 0.000 claims description 36
- 238000012360 testing method Methods 0.000 claims description 23
- 238000000605 extraction Methods 0.000 claims description 4
- 238000012512 characterization method Methods 0.000 claims description 2
- 230000003628 erosive effect Effects 0.000 claims 1
- 238000012706 support-vector machine Methods 0.000 description 35
- 238000005516 engineering process Methods 0.000 description 8
- 241000209128 Bambusa Species 0.000 description 7
- 230000002792 vascular Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000011160 research Methods 0.000 description 6
- 241000196324 Embryophyta Species 0.000 description 4
- 241000745988 Phyllostachys Species 0.000 description 4
- 240000001082 Bambusa multiplex Species 0.000 description 3
- 241000498786 Shibataea Species 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000002224 dissection Methods 0.000 description 3
- 230000000877 morphologic effect Effects 0.000 description 3
- 240000008120 Dendrocalamus strictus Species 0.000 description 2
- 235000016936 Dendrocalamus strictus Nutrition 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 235000015097 nutrients Nutrition 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 244000018217 Artocarpus elasticus Species 0.000 description 1
- 244000271437 Bambusa arundinacea Species 0.000 description 1
- 241001317485 Bambusa tuldoides Species 0.000 description 1
- 241001672694 Citrus reticulata Species 0.000 description 1
- 240000003421 Dianthus chinensis Species 0.000 description 1
- 241000760358 Enodes Species 0.000 description 1
- 208000025174 PANDAS Diseases 0.000 description 1
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 1
- 240000000220 Panda oleosa Species 0.000 description 1
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 235000010792 Phyllostachys aurea Nutrition 0.000 description 1
- 241000544428 Phyllostachys glauca Species 0.000 description 1
- 240000005827 Phyllostachys nigra Species 0.000 description 1
- 235000010717 Phyllostachys nigra Nutrition 0.000 description 1
- 244000054337 Shibataea kumasasa Species 0.000 description 1
- 241000607479 Yersinia pestis Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- VOCBWIIFXDYGNZ-IXKNJLPQSA-N testosterone enanthate Chemical group C1CC2=CC(=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H](OC(=O)CCCCCC)[C@@]1(C)CC2 VOCBWIIFXDYGNZ-IXKNJLPQSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/188—Vegetation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/56—Extraction of image or video features relating to colour
-
- 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/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30181—Earth observation
- G06T2207/30188—Vegetation; Agriculture
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于SVM分类器的竹子叶片分类识别方法,属于竹子分类技术领域。该方法包括(1)获取待分类识别的叶片图像,然后给图片加上转化实际长度与图像分辨率的标板,并对图像依次进行等比例缩放、灰度化、边缘检测、膨胀和腐蚀处理;(2)提取叶片形状特征参数和颜色特征参数,将提取到的叶片参数数据输入到训练好的分类模型中进行识别;(3)输出识别得到的竹子所属种类。本发明采用训练好的算法模型,通过对颜色特征进行标准化和模型参数的优化,进一步提升了竹种识别的精度。
Description
技术领域
本发明属于竹子分类技术领域,具体涉及一种基于SVM分类器的竹子叶片分类识别方法。
背景技术
当前,在竹子种类识别领域应用的主要方法包括传统形态学分类,解剖学分类,分子生物技术分类和计算机辅助分类。
竹亚科传统形态学分类方法在国内主要是建立在耿氏系统上,以花序和地下茎性状为主要分类特征,再结合营养体特点划分属及属以下类群。然而由于竹子开花结果不常见,以花果为分类依据应用困难,实际识别种多是基于营养体展开。竹类营养体多变,在同一种群中往往存在多种表型且季节性变化明显。传统分类学家由此引入模式种概念,但模式种往往仅代表种群中某一个体在某一时期的性状,当遇到同一性状有多种表现型时,基于模式种进行分类就很容易导致分类工作陷入混乱(赖广辉.试论竹子分类和种系鉴定中的若干方法问题,竹子研究汇刊,2013,32(03):9-13+27)。解剖学分类方法是使用切片技术,基于竹类维管束的不同进行分类。李正理等建立了详细的以竹材维管束类型为依据的竹子解剖分类系统,但对维管束的定义类型过于详细,竹子维管束存在变异,较难在实际应用中应用(李正理,靳紫宸.几种国产竹材的比较解剖观察,Journal of IntegrativePlant Biology,1960(01):76-97)。温太辉等以竹秆维管束为依据编制了28个属100个种5变种的分属检索表,为一些有争议的属、种的归属提供了参考(温太辉,周文伟.中国竹类维管束解剖形态的研究初报(之一),竹子研究汇刊,1984,3(1):1-21;温太辉,周文伟.中国竹类维管束解剖形态的研究初报(之二),竹子研究汇刊,1985,4(1):28-43)。然而基于解剖对竹子进行分类识别要求操作人员有较高的制片水平,而且样品的有效切片区域较少,且切片区域有限,导致从中所获得的信息也较少,导致需要反复切片,增加了工作量和误差。
随着现代分子生物学技术的发展,国内很多的学者开始利用DNA分子标记对竹子进行分类和遗传多样性的研究,发展出了基于分子生物技术的竹子分类方法。如杨光耀等利用 RAPD技术在分子水平上探究了中日苦竹属竹类的系统发育关系,也利用该技术对倭竹族的竹类进行了研究,为倭竹族形态分类中存在的问题提供了新的解决途径(杨光耀,赵奇僧.苦竹类植物RAPD分析及其系统学意义.江西农业大学学报,2000,22(4):54-58)。但是分子生物技术类的试验对样本的采集、保存及提取有着较为严格的要求,并且现今的样本大多还是要送到专门的公司进行分析,费用昂贵,因此较难大面积推广和普及。
随着现代人工智能科技的发展、计算机技术的普及,使用计算机对植物的参数进行计算,然后基于计算结果对植物进行自动分类识别已成趋势。李欣等使用SVM基于已有的竹子种质数据库,选取了56个性状对竹子进行分类,在属的层面得到了较好的分类效果(李欣,许高建,李绍稳.一种优化的SVM竹类属种识别方法.重庆科技学院学报(自然科学版),2017, 19(05):98-101+107.)。传统种质资源数据库中质量性状占多数,尽管质量性状在输入模型前会经等级化编码处理,但如此处理后,性状的区分度低,造成性状在模型中的贡献率低,训练模型时需要大量的性状输入,才可能得到较好的分类效果。
发明内容
针对现有技术中存在的问题,本发明要解决的技术问题在于提供一种基于SVM分类器的竹子叶片分类识别方法,采用训练好的算法模型,通过对颜色特征进行标准化和模型参数的优化,进一步提升了竹种识别的精度。
为了解决上述问题,本发明所采用的技术方案如下:
一种基于SVM分类器的竹子叶片分类识别方法,包括以下步骤:
(1)获取待分类识别的叶片图像,然后给图片加上转化实际长度与图像分辨率的标板,并对图像依次进行等比例缩放、灰度化、边缘检测、膨胀和腐蚀处理;
(2)提取叶片形状特征参数和颜色特征参数,将提取到的叶片参数数据输入到训练好的分类模型中进行识别;
(3)输出识别得到的竹子所属种类。
所述基于SVM分类器的竹子叶片分类识别方法,所述训练好的模型的获得,包括以下步骤:
(1)获取若干个已知竹种的叶片图像;然后给图片加上转化实际长度与图像分辨率的标板,并对图像依次进行等比例缩放、灰度化、边缘检测、膨胀和腐蚀处理;
(2)提取叶片形状特征参数和颜色特征参数,以提取到的叶片特征参数为基础建立竹种数据库;
(3)将竹种数据库内的特征参数数据分为训练集和测试集;基于SVM分类器,使用所述训练集输入SVM模型中进行训练,获得所述训练模型;使用所述测试集数据对所述训练模型进行准确度测试,当模型平均竹种识别率达到90%以上时导出训练好的分类模型。
所述基于SVM分类器的竹子叶片分类识别方法,在对图像进行等比例压缩时,以图像长、宽中较大者缩小到1300像素以下。
所述基于SVM分类器的竹子叶片分类识别方法,边缘检测时使用canny算子,大小阈值分别为100、50。
所述基于SVM分类器的竹子叶片分类识别方法,先进行膨胀后进行腐蚀处理时,函数中iterations参数为1,即迭代次数为1。
所述基于SVM分类器的竹子叶片分类识别方法,划分训练集和测试集时按照特征参数数量划分比例为7:3。
所述基于SVM分类器的竹子叶片分类识别方法,提取叶片颜色特征参数并进行标准化处理:先找到边缘图中的物体所对应的轮廓线,再对轮廓线进行排列;接着创建掩模,计算区域面积的rgb值;根据公式对B、G、R值进行标准化,获得标准化后的颜色特征参数。
所述基于SVM分类器的竹子叶片分类识别方法,形状特征参数的提取:先计算出像素值与实际长度的比值,再算出物体的实际长度和宽度;接着计算叶片的外形参数。
所述基于SVM分类器的竹子叶片分类识别方法,所述外形参数为叶片的长度,叶片的宽度,最小矩形面积,叶片的面积,叶片的周长,最小外接矩形的长宽比,轮廓面积和边界矩形面积的比值。
所述基于SVM分类器的竹子叶片分类识别方法,所述训练模型时采用辅助手段,所述辅助手段包括两种:(1)使用程序添加指定长宽纯黑标板,提高标板的准确度;(2)使用局部遍历法,选择合适的SVM参数。
有益效果:与现有的技术相比,本发明的优点包括:
(1)本发明采用基于SVM分类器的分类模型以及图片等比例压缩的方法,使程序计算量大幅下降,提高了程序的运行效率。
(2)本发明对图片进行了先膨胀再腐蚀的操作,在保证了叶片轮廓的完整性和叶片的面积不发生改变的前提下,尽可能消除了图片上的噪音,减少了试验的误差,提高了识别的准确度。
(3)本发明在提取叶片颜色参数时,对颜色参数进行标准化,从理论上避免了光照强度对识别准确度的影响,加大了模型的适用环境。
(4)本发明采用训练好的算法模型,通过图片预处理和模型参数的优化,进一步提升了竹种识别的精度,使叶片分类准确率均达到90%以上,甚至可以达到100%。
(5)本发明使用竹子叶片作为分类依据,使用计算机图像处理的相关技术对其进行数据化操作。与传统分类法和基于已有的竹种数据库的SVM分类法相比,本发明提取的叶片特征可以建立竹种数据库,其中的特征均为数量性状,且数据库中每类竹种的特征数据均是从种群水平获得,减少了种群中的特殊个体的数据对该竹种的影响。通过该法获取的数据是基于该竹种本身特性,并会在一定范围内进行波动,更能代表竹种的一般情况。
附图说明
图1是本发明基于SVM的竹子叶片分类识别方法流程图;
图2是本发明SVM模型训练过程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合具体实施例对本发明的具体实施方式做详细的说明。
实施例1
基于SVM分类器的竹子叶片分类识别方法(流程图如图1所示),包括以下步骤:
一、训练模型的获得
为了获得准确的竹种识别结果,选择合适的分类模型十分重要。本发明实施例使用的是支持向量机(Support Vector Machine,SVM)分类模型。首先采集竹种叶片,并作好竹类记录,再使用扫描仪或相机等图像采集设备,采集竹叶的高清图像,然后对竹叶图像进行预处理后,自编程对叶片进行特征提取,形成训练样本集和测试样本集,使用训练样本集对SVM分类器进行训练,并用测试样本集对训练得到的模型进行识别率评估。流程图如图2所示,具体操作过程如下:
(1)训练样本的准备201:使用扫描仪或相机等图像采集设备获取6属13种竹子的叶片图像;然后给图片加上转化实际长度与图像分辨率的标板,并对图像依次进行等比例缩放、灰度化、边缘检测、膨胀和腐蚀操作;
6属13种竹子分别为:1、苦竹属,菲白竹、大明竹;2、大节竹属,倭形竹;3、簕竹属,小琴丝竹;4、寒竹属,平竹、寒竹;5、酸竹属,宜兴酸竹;6、刚竹属,实心竹、中国台湾桂竹、芽竹、黄槽刚竹、黄秆京竹、安吉金竹。
获取竹叶图像时,以竹子叶片为对象,实地采集叶片;叶片采集时应注意,选取结构完整,无病虫害侵染的样品,并做好竹种的记录;在扫描之前注意对叶片进行保湿,防止叶片干燥后卷曲,影响图像的采集。对符合要求的样品进行高清扫描,从而获取竹叶图片。扫描时注意叶片要完全舒展,是叶尖和叶基部清晰可见。
给图片加上转化实际长度与图像分辨率的标板时,为了实现图片像素和实际距离间的转化,本发明通过python编程实现自动给图片加标板,标板为1英寸×1英寸的正方形,标板边长所占像素点数由图片的每英寸的像素(Dots Per Inch,dpi)计算得到,具体的加标板的算法如下:
(a)选定竹叶图片img_path(如E://data//mz//1.jpg);
(b)获取图片的dpi,img_dpi=get_dpi(img_path);
(c)根据dpi通过如下程序给图片加标板,length表示标板的长度,1个img_dpi是1英寸;
length=int(1*img_dpi)
img=add_board(img_path,length=length)。
对图片等比例缩放时,通过对图片进行等比例压缩,在保证叶形的同时,大幅降低了程序运行的复杂度,提高了效率;通过python编程,实现图像的等比例缩放;具体的等比例缩放算法如下:从图片的shape属性获取图像的高度,使图像的高度与1300像素进行比较,直至高度小于1300像素为止停止程序,当高度大于1300像素时,使用OpenCV库的resize函数对图像的高度和宽度进行0.8倍的缩放,最后将图片进行保存:
while img.shape[0]>1300
img=cv.resize(img,None,fx=0.8,fy=0.8)
cv.imwrite(“E://output//mz//1.jpg”,img)。
对图像进行灰度化和边缘检测、膨胀和腐蚀操作时,通过python编程实现对图像的灰度化处理和边缘检测。对图片进行灰度化处理,使用OpenCV库的cvtColor函数,参数设置为 cv2.COLOR_BGR2GRAY,将彩色图像转化为灰度图;使用GaussianBlur函数,高斯核使用 7×7,X方向上的高斯核标准偏差设置为0,进行高斯模糊;使用Canny函数,大小阈值分别设置为100与50,执行canny算子寻找图像的边缘,确定叶片的轮廓;使用dilate和erode函数,kernel参数设置为None,iterations参数设为1,对叶片的轮廓先后进行膨胀和腐蚀操作,使轮廓能够闭合,具体算法如下:
gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
gray=cv2.GaussianBlur(gray,ksize=(7,7),sigmaX=0)
edged=cv2.Canny(gray,50,100)
edged=cv2.dilate(edged,kernel=None,iterations=1)
edged=cv2.erode(edged,kernel=None,iterations=1)。
(2)训练集的生成202:提取叶片进行形状特征和颜色特征参数,以提取到的叶片特征参数为基础建立竹种数据库;
提取叶片的颜色特征时,使用python编程,实现对叶片图像的颜色提取。具体算法如下:
(a)使用findContours函数,在边缘图的副本(edged.copy())上进行操作,只检测最外围轮廓(CV_RETR_EXTERNAL),轮廓的近似方式选择(CV_CHAIN_APPROX_SIMPLE),先找到边缘图中的物体所对应的轮廓线,再使用imutils库的grab_contours函数从findContours的返回值中提取Contours,最后使用contours下的sort_contours方法进行countours的排列;
cnts=cv2.findContours(edged.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_ SIMPLE)
cnts=imutils.grab_contours(cnts)
(cnts,_)=contours.sort_contours(cnts)。
(b)使用python的for循环,从cnts中遍历获得图像的轮廓,再使用moment函数从图像的轮廓获得图像的矩,根据矩的“m00”属性进行取舍判定,阈值选择2000,即舍去面积小于2000像素的图像;
for c in cnts:
M=cv2.moments(c)
if M["m00"]<2000:
continue
(c)使用numpy库下的zeros函数,创建一个和灰度图等大的全黑图(mask),再使用drawContours函数在mask上根据物体的轮廓数据([c])绘制第一层的轮廓(contourldx=0),线条颜色参数color设置为255,设置thicknes=-1进行填充,最后使用mean函数计算物体面积所对应的颜色参数B、G、R;
mask=np.zeros(gray.shape,np.uint8)
cv2.drawContours(mask,[c],contourldx=0,color=255,-1)
pixelpoints=np.transpose(np.nonzero(mask))
(B,G,R,X)=cv2.mean(image,mask=mask)
(d)使用python根据下列公式对计算所得的B、G、R值进行标准化,标准化后的颜色参数可减少光照的影响,提高模型的适用范围,式中B为颜色三分量中蓝色(blue)通道的对应的数值,范围为0-255;式中G为颜色三分量中绿色(green)通道的对应的数值,范围为0-255;式中R为颜色三分量中红色(red)通道的对应的数值,范围为0-255;b、g、r分别为B、G、R经过公式计算后得到的标准化值;
b=B/(B+G+R)
g=G/(B+G+R)
r=R/(B+G+R)。
提取叶片形状特征时,具体算法如下:
(a)先对像素值与实际长度的比值(pixelsPerMetric)进行判断,为空值时,使用物体的宽(dw)所对应的像素值和标板真实的宽度(real_width)进行计算得出pixelsPerMetric,再通过物体的宽(dl)所对应的像素值和dw所对应的像素值与和pixelsPerMetric计算出物体的实际长度(rl)和宽度(rw)。
if pixelsPerMetric is None:
pixelsPerMetric=dw/eval(real_width)
rl=dl/pixelsPerMetric
rw=dw/pixelsPerMetric
(b)使用python计算叶片的外形参数,如最小矩形面积(minrect_area);叶片的面积 (ob_area),使用arcLength函数计算,参数curve=c,closed=True计算叶片的周长(ob_length);最小外接矩形的长宽比(minrect_ration);轮廓面积和边界矩形面积的比值(cnt_minrect_ration),算法如下:
minrect_area=rl*rw
ob_area=M["m00"]/(pixelsPerMetric*pixelsPerMetric)
ob_length=cv2.arcLength(c,True)/pixelsPerMetric
minrect_ration=dw/dl
cnt_minrect_ration=ob_area/(rl*rw)
通过上述提取的叶片形状特征和颜色特征参数进行保存,以提取到的叶片特征参数为基础建立竹种数据库。特征数据库中第一行为标题行,解释每列数据的意义;第一列为标签列,即竹种的代号;第二列及之后的列为特征列,即叶片长、宽等参数。
(3)将竹种数据库内的特征参数数据分为训练集和测试集;基于SVM分类器,使用所述训练集输入SVM模型中进行训练,获得所述训练模型;使用所述测试集数据对所述训练模型进行准确度测试,,当模型平均竹种识别率达到90%以上时导出训练好的分类模型。
划分为训练集和测试集时,具体算法如下:使用pandas库中的read_csv函数读取保存的训练样本数据集,返回一个DataFrame对象,数据集存储在其中;使用DataFrame中的iloc 方法选取数据集的特征列保存在zzfl_X中;使用scale函数对特征列的数据进行归一化;使用DataFrame中的iloc方法选取数据集的标签列保存在zzfl_y中;使用split函数,通过调整参数(test_size=0.3),将测试集和训练集的比例设置为3:7;
zzfl=pd.read_csv('data.csv')
zzfl_X=zzfl.iloc[:,1:]
zzfl_X=preprocessing.scale(zzfl_X)
zzfl_y=zzfl.iloc[:,:1]
X_train,X_test,y_train,y_test=train_test_split(zzfl_X,zzfl_y,test_size=0.3)。
获取训练模型时,将训练集输入到SVM模型中,对SVM模型进行训练203。为了提高SVM模型的泛化能力和识别准确度,需要对SVM模型其中的参数进行调整,对于惩罚系数 C和核函数系数gamma,目前没有很好的通用的取值方法,大多使用网格法在一定的范围内进行穷举。本发明通过python程序在一定范围内进行参数C和gamma的遍历,根据模型平均识别率的高低,确定出最好的参数组合。在SVM模型训练的过程中,使用的核心参数及其含义如表1所示。
表1核心参数及其含义
在核函数的选择中有以下的指导规则:
(1)如果特征的数量很大,甚至和样本数量差不多时,往往线性可分,这时可选择线性核Linear;
(2)如果特征的数量很小,样本数量正常,不算多也不算少,这时选用RBF核;
(3)如果特征的数量很小,而样本的数量很大,这时需手动添加一些特征,使得样本线性可分,然后选用线性核Linear;
(4)应用最广的是RBF核,无论是小样本还是大样本,高维还是低维等情况,RBF核函数均适用。
本发明中样本量正常,样本特征数少于样本量,因此选择RBF核函数。并通过对C在(1, 100)每隔一个单位进行取样,对gamma在(0.0001,0.2)中等距取10个点最终将参数确定为C= 10,γ=0.1。
模型结果评估时,在模型结果评估204中采用的是交叉检验的方法,具体算法如下:
使用交叉检验函数(cross_val_score)获取分类得分,其中参数svm为设置的SVM分类器,zzfl_X为输入的待检测样本的特征列,zzfl_y为输入的待检测样本的真实标签,cv为交叉检验次数,scoring为评分模式,如accuracy为输出模型的准确度,最后输出得分的均值、标准差。
scores=cross_val_score(svm,zzfl_X,zzfl_y,cv=3,scoring="accuracy")
print(np.mean(scores))
print(np.std(scores))。
二、竹子叶片分类识别
(1)获取待分类识别的叶片图像,然后给图片加上转化实际长度与图像分辨率的标板,并对图像依次进行等比例缩放、灰度化、边缘检测、膨胀和腐蚀操作;对待分类图片的获取和预处理过程的操作过程同(一)训练样本的获取步骤中的相关处理;
(2)提取叶片进行形状特征和颜色特征参数,形状特征和颜色特征参数的提取和处理过程同(一)训练样本的获取步骤中的相关处理;将提取到的叶片参数数据输入到(一)训练样本的获取步骤中的训练好的分类模型中进行识别;
(3)输出识别得到的竹子种类,菲白竹(100%)、倭形竹(95.65%)、小琴丝竹(92.5%)、平竹(97.14%)、大明竹(98.18%)、宜兴酸竹(100%)、寒竹(100%)、实心竹(97.01%)、中国台湾桂竹(91.49%)、芽竹(95.24%)、黄槽刚竹(98.36%)、黄秆京竹(100%)和安吉金竹 (100%)。即13种竹叶在本实施例建立的分类模型下,叶片分类准确率均达到90%以上,其中,5种达到100%,6种达到95%以上。
最后应指出的是,以上实施例仅用以说明本发明的技术方案,而非对其进行限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应知晓:其依然可对前述的各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而该修改或替换,并不使相应的技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于SVM分类器的竹子叶片分类识别方法,其特征在于,包括以下步骤:
(1)获取待分类识别的叶片图像,然后给图片加上转化实际长度与图像分辨率的标板,并对图像依次进行等比例缩放、灰度化、边缘检测、膨胀和腐蚀处理;
(2)提取叶片形状特征参数和颜色特征参数,将提取到的叶片参数数据输入到训练好的分类模型中进行识别;
(3)输出识别得到的竹子所属种类。
2.根据权利要求1所述基于SVM分类器的竹子叶片分类识别方法,其特征在于,所述训练好的模型的获得,包括以下步骤:
(1)获取若干个已知竹种的叶片图像;然后给图片加上转化实际长度与图像分辨率的标板,并对图像依次进行等比例缩放、灰度化、边缘检测、膨胀和腐蚀处理;
(2)提取叶片形状特征参数和颜色特征参数,以提取到的叶片特征参数为基础建立竹种数据库;
(3)将竹种数据库内的特征参数数据划分为训练集和测试集;基于SVM分类器,使用所述训练集输入SVM模型中进行训练,获得所述训练模型;使用所述测试集数据对所述训练模型进行准确度测试,当模型平均竹种识别率达到90%以上时导出训练好的分类模型。
3.根据权利要求1或2所述基于SVM分类器的竹子叶片分类识别方法,其特征在于,在对图像进行等比例压缩时,以图像长、宽中较大者缩小到1300像素以下。
4.根据权利要求1或2所述基于SVM分类器的竹子叶片分类识别方法,其特征在于,边缘检测时使用canny算子,大小阈值分别为100、50。
5.根据权利要求1或2所述基于SVM分类器的竹子叶片分类识别方法,其特征在于,先进行膨胀后进行腐蚀处理时,函数中iterations参数为1,即迭代次数为1。
6.根据权利要求2所述基于SVM分类器的竹子叶片分类识别方法,其特征在于,划分训练集和测试集时按照特征参数数量划分比例为7:3。
7.根据权利要求1或2所述基于SVM分类器的竹子叶片分类识别方法,其特征在于,提取叶片颜色特征参数并进行标准化处理:先找到边缘图中的物体所对应的轮廓线,再对轮廓线进行排列;接着创建掩模,计算区域面积的rgb值;根据公式对B、G、R值进行标准化,获得标准化后的颜色特征参数。
8.根据权利要求1或2所述基于SVM分类器的竹子叶片分类识别方法,其特征在于,形状特征参数的提取:先计算出像素值与实际长度的比值,再算出物体的实际长度和宽度;接着计算叶片的外形参数。
9.根据权利要求8所述基于SVM分类器的竹子叶片分类识别方法,其特征在于,所述外形参数为叶片的长度,叶片的宽度,最小矩形面积,叶片的面积,叶片的周长,最小外接矩形的长宽比,轮廓面积和边界矩形面积的比值。
10.根据权利要求1或2所述基于SVM分类器的竹子叶片分类识别方法,其特征在于,所述训练模型时采用辅助手段,所述辅助手段包括两种:(1)使用程序添加指定长宽纯黑标板,提高标板的准确度;(2)使用局部遍历法,选择合适的SVM参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011463412.0A CN112507890A (zh) | 2020-12-14 | 2020-12-14 | 一种基于svm分类器的竹子叶片分类识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011463412.0A CN112507890A (zh) | 2020-12-14 | 2020-12-14 | 一种基于svm分类器的竹子叶片分类识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112507890A true CN112507890A (zh) | 2021-03-16 |
Family
ID=74972579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011463412.0A Pending CN112507890A (zh) | 2020-12-14 | 2020-12-14 | 一种基于svm分类器的竹子叶片分类识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112507890A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115115609A (zh) * | 2022-07-18 | 2022-09-27 | 中国农业科学院蔬菜花卉研究所 | 一种植物叶片正面表型性状的图像分析方法及系统 |
CN116087036A (zh) * | 2023-02-14 | 2023-05-09 | 中国海洋大学 | 一种深海采矿沉积物羽流图像识别的装置及图像分析方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080069433A1 (en) * | 2006-08-09 | 2008-03-20 | Peter Corcoran | Detection of airborne flash artifacts using preflash image |
KR20130133411A (ko) * | 2012-05-29 | 2013-12-09 | 성균관대학교산학협력단 | 이파리 영상 자동인식을 이용한 식물 분류 방법 및 시스템 |
CN103870816A (zh) * | 2014-03-26 | 2014-06-18 | 中国科学院寒区旱区环境与工程研究所 | 一种识别率高的植物识别方法及装置 |
CN107645657A (zh) * | 2016-07-21 | 2018-01-30 | 宁波舜宇光电信息有限公司 | Sfr测试设备及其测试方法 |
CN108664927A (zh) * | 2018-05-10 | 2018-10-16 | 林丽惠 | 基于全自动支持向量机的武夷岩茶叶片图像分类方法 |
CN109782007A (zh) * | 2019-03-06 | 2019-05-21 | 安徽农业大学 | 一种基于集成算法的茶叶鲜叶等级评定方法 |
CN109858521A (zh) * | 2018-12-29 | 2019-06-07 | 国际竹藤中心 | 一种基于人工智能深度学习的竹子种类识别方法 |
CN110751656A (zh) * | 2019-09-24 | 2020-02-04 | 浙江大华技术股份有限公司 | 一种裂缝参数自动提取方法、装置及存储装置 |
US20200051217A1 (en) * | 2018-08-07 | 2020-02-13 | BlinkAI Technologies, Inc. | Artificial intelligence techniques for image enhancement |
CN111476280A (zh) * | 2020-03-27 | 2020-07-31 | 海南医学院 | 植物叶片识别方法及系统 |
-
2020
- 2020-12-14 CN CN202011463412.0A patent/CN112507890A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080069433A1 (en) * | 2006-08-09 | 2008-03-20 | Peter Corcoran | Detection of airborne flash artifacts using preflash image |
KR20130133411A (ko) * | 2012-05-29 | 2013-12-09 | 성균관대학교산학협력단 | 이파리 영상 자동인식을 이용한 식물 분류 방법 및 시스템 |
CN103870816A (zh) * | 2014-03-26 | 2014-06-18 | 中国科学院寒区旱区环境与工程研究所 | 一种识别率高的植物识别方法及装置 |
CN107645657A (zh) * | 2016-07-21 | 2018-01-30 | 宁波舜宇光电信息有限公司 | Sfr测试设备及其测试方法 |
CN108664927A (zh) * | 2018-05-10 | 2018-10-16 | 林丽惠 | 基于全自动支持向量机的武夷岩茶叶片图像分类方法 |
US20200051217A1 (en) * | 2018-08-07 | 2020-02-13 | BlinkAI Technologies, Inc. | Artificial intelligence techniques for image enhancement |
CN109858521A (zh) * | 2018-12-29 | 2019-06-07 | 国际竹藤中心 | 一种基于人工智能深度学习的竹子种类识别方法 |
CN109782007A (zh) * | 2019-03-06 | 2019-05-21 | 安徽农业大学 | 一种基于集成算法的茶叶鲜叶等级评定方法 |
CN110751656A (zh) * | 2019-09-24 | 2020-02-04 | 浙江大华技术股份有限公司 | 一种裂缝参数自动提取方法、装置及存储装置 |
CN111476280A (zh) * | 2020-03-27 | 2020-07-31 | 海南医学院 | 植物叶片识别方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115115609A (zh) * | 2022-07-18 | 2022-09-27 | 中国农业科学院蔬菜花卉研究所 | 一种植物叶片正面表型性状的图像分析方法及系统 |
CN116087036A (zh) * | 2023-02-14 | 2023-05-09 | 中国海洋大学 | 一种深海采矿沉积物羽流图像识别的装置及图像分析方法 |
CN116087036B (zh) * | 2023-02-14 | 2023-09-22 | 中国海洋大学 | 一种深海采矿沉积物羽流图像识别的装置及图像分析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hwang et al. | Computer vision-based wood identification and its expansion and contribution potentials in wood science: A review | |
Es-saady et al. | Automatic recognition of plant leaves diseases based on serial combination of two SVM classifiers | |
CN111598001B (zh) | 一种基于图像处理的苹果树病虫害的识别方法 | |
Yang et al. | Rapid detection of rice disease using microscopy image identification based on the synergistic judgment of texture and shape features and decision tree–confusion matrix method | |
CN106845497B (zh) | 基于多特征融合的玉米前期图像旱情识别方法 | |
Ferrari et al. | Bacterial colony counting by convolutional neural networks | |
CN111539330B (zh) | 一种基于双svm多分类器的变电站数显仪表识别方法 | |
Mia et al. | Computer vision based local fruit recognition | |
CN105184265A (zh) | 一种基于自学习的手写表格数字字符串快速识别的方法 | |
CN112507890A (zh) | 一种基于svm分类器的竹子叶片分类识别方法 | |
CN111540006A (zh) | 基于深度迁移学习的植物气孔智能检测与识别方法及系统 | |
Xiao et al. | DeepACEv2: Automated chromosome enumeration in metaphase cell images using deep convolutional neural networks | |
CN113111796B (zh) | 一种芽生孢子的自动细化标注类别的检测识别方法 | |
CN111178177A (zh) | 一种基于卷积神经网络的黄瓜病害识别方法 | |
Dharmasiri et al. | Passion fruit disease detection using image processing | |
CN113989536A (zh) | 一种基于布谷鸟搜索算法的番茄病害识别方法 | |
CN112270681A (zh) | 一种黄板害虫深度检测与计数方法与系统 | |
Li et al. | HEp-2 specimen classification via deep CNNs and pattern histogram | |
Patel et al. | A survey on plant leaf disease detection | |
CN107909073A (zh) | 多维局部二值模式和机器学习手写乐谱谱线删除方法 | |
Bandara et al. | Detection and classification of rice plant diseases using image processing techniques | |
CN110853052A (zh) | 一种基于深度学习的土家织锦图案图元的分割方法 | |
CN116524344A (zh) | 一种基于rgb-d信息融合的番茄串采摘点检测方法 | |
Abraham | Plasmodium detection using simple CNN and clustered GLCM features | |
Li et al. | A novel denoising autoencoder assisted segmentation algorithm for cotton field |
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 |