基于双目视觉的葡萄识别定位及跟踪方法研究

2021-05-26 05:06李元强高何璇何玉英李红岭唐渲运高晓阳
林业机械与木工设备 2021年4期
关键词:双目果穗标定

李元强, 高何璇, 何玉英, 李红岭, 唐渲运, 杨 芳, 高晓阳*

(1.甘肃农业大学机电工程学院,甘肃 兰州 730000;2.甘肃省葡萄与葡萄酒工程学重点实验室,甘肃 兰州 730000;3.甘肃省干旱生境作物学重点实验室,甘肃 兰州 730000;4.兰州银行网络金融部,甘肃 兰州 730000;5.中国人民银行兰州支行,甘肃 兰州 730000)

水果作为重要的农业经济作物,已成为推动农村经济发展和农民增收的重要支撑。由于果蔬收获时效性强,而如今我国青壮年农业劳动力匮乏,水果的自动化与智能化采摘技术研究已成为当今研究热点。近年来,我国在果蔬的识别定位与跟踪相关研究中,曹昭睿[1]提出利用HSV颜色空间模型实现图像与背景分割,再结合 Mean shift算法完成目标物跟踪;蒋焕煜等[2]使用双目立体视觉技术,利用成熟果实与背景颜色特征差分割图像,并利用区域匹配方法计算深度信息来确定目标物位置。在国外,D Comaniciu等[3]提出均值漂移跟踪方法,利用颜色直方图特征跟踪目标;YZ Song等[4]选择SIFT和颜色直方图提取图像特征,通过图形匹配实现目标跟踪等。近年来还出现了采用深度学习技术的目标跟踪方法。这些研究促进了黄瓜[5]、苹果[6-7]、草莓[8]、柑橘[9]等各种果蔬采摘技术的进步。本研究提出一种在自然光照条件下基于双目立体视觉的葡萄识别与定位跟踪方法,为葡萄准确识别采摘技术研究提供参考。

1 双目相机标定与图像样本采集

1.1 试验平台搭建

试验软件环境为Windows10 1909版系统,安装配置有OpenCV和MATLAB软件。卷积神经网络训练采用PyTorch为深度学习开源框架,选用Python编程语言。硬件环境:计算机内存64 GB,搭载Inter(R)Core(TM)i5-8400 CPU@4.00GHz x64处理器,英伟达GPURTX2060 6G。

1.2 双目相机标定

双目摄像机的相机标定是立体定位识别的基础,其是根据图像上特征点的关系获得相机的内外参数。

本研究基于OpenCV与MATLAB的传统标定法对双目摄像头进行标定[10],自制9*6棋盘格作为标定板,利用左右摄像头各采集棋盘格在拍摄镜头画面不同位置、不同距离、不同角度的图片,各30张,保存在两个文件夹中;随后将拍摄的棋盘格照片读入MATLAB进行优化,得到棋盘检测点与棋盘圆点显示图。为使双目相机标定更加精准,去除标定模糊和标定误差过大照片后标定误差控制在0.13%以内,标定误差图及标定板平面位置示意图如图1~3所示。在基于OpenCV和MATLAB对双目相机标定试验后,获得双目相机内外参数如下。

图1 检测点及棋盘原点

图2 标定误差

图3 标定板平面位置

左相机内参矩阵为:

Cm1=658.344 6 0 330.661 40 661.454 2 261.129 50 0 1.000 0

左相机畸变参数:

Dl=-0.064 4,-0.112 7,0,0,0

右相机内参矩阵为:

Cm2=656.780 3 0 338.469 30 659.769 5 266.860 30 0 1.000 0

右相机畸变参数:

Dr=-0.0622,-0.1036,0,0,0

旋转矩阵:

R=1.000 0 0.000 6 0.001 5-0.000 6 1.000 0 0.000 9 0.001 5-0.000 9 1.000 0

平移向量T:

T=12.678 5,-0.051 8,0.623 5

1.3 立体校正

在实际测定试验操作中,由于两个摄像机不可能严格平行前向对准,为消除左右平面畸变和保障其准确共面且行对准,还需进行立体校正。通过OpenCV中Stereo Rectify立体校正函数,完成本系统的双目校正。当输入标定出的相应相机参数以及畸变图像后,试验得到其相应的非畸变图像,以及重投影矩阵Q:

(1)

标定板校正后左右图像效果图如图4所示。

图4 校正后图像

1.4 葡萄图像采集试验方法

于2020年8月下旬至2020年10 月上旬,在甘肃农业大学红地球葡萄种植基地,自然光照下利用USB2.0双目机器视觉摄像头,分早、中、晚三次定时采集5行葡萄树,不同背景、不同角度、不同距离样本图像,左右相机各2 115张,采集样本图片储存格式为.JPG。

1.5 葡萄图像预处理

为提高后续红地球葡萄分割识别的准确率,试验挑选出成像清晰且自然光影响较小的葡萄图片。在跟踪方面,先将双目左右相机采集的图片平移、缩放、旋转等处理,共计6 345张。考虑图片过大将导致训练缓慢,将采集图像统一标准化处理为(720*640)像素,接着选用Labelmg对葡萄图片进行标注,标注葡萄果穗25 380串。最后根据葡萄果穗是否被枝叶遮挡和果穗之间是否有重合分为单一性和复杂性两类数据集,其中单一性为2 031张,复杂性为4 314张。

2 葡萄图像的分割与识别

大多数果蔬作物在成熟季,其自身颜色与背景都有较为明显差别,有利于将成熟果蔬目标物图像从复杂环境中分离出来。本研究提出一种基于K-Means聚类算法与HSV颜色空间下阈值分割相结合的葡萄图像识别方法。

2.1 葡萄RGB颜色空间分量模型

RGB颜色空间是一种根据人眼色感细胞设计的颜色识别模型。为了更好地保留原始灰度图像的全部信息,提取成熟红地球葡萄的颜色特征信息,实现目标特征信息的增强,先利用MATLAB获取葡萄RGB颜色空间分量图,再对双目采集的成熟葡萄样本进行分割,以单串成熟红地球葡萄分割为例,RGB分量分别如图5(a)、图5(b)、图5(c)、图5(d)所示。

图5 葡萄RGB空间及分量

2.2 K-Means聚类算法

K-Means聚类算法是一种无监督分类算法,通过迭代搜索将单一数据集划分为指定簇来分类,聚类数k影响聚类准确性及运行效率。本研究应用K-Means算法对采集图像进行不同k值分割试验,当k=4时分割效果较好,分割结果如图6(d)所示。

图6 K-means聚类分割

2.3 H通道下阈值分割

采用K-means聚类算法分割处理,在k=4时葡萄果穗分割效果较好,但仍未将其从背景中完全分离。由于RGB颜色空间下样本对光线变化较敏感,为此将RGB分量图先转换成HSV分量图,再对目标物图像进行阈值分割。HSV颜色空间各分量下的葡萄图像分别如图7(a)、图7(b)、图7(c)、图7(d)所示。

由获取的葡萄HSV分量图,对葡萄图像做进一步分割试验,选用H通道分割的区分效果优于S通道与V通道。为此本试验对葡萄图像阈值分割时,先将H通道下的葡萄图像转化成灰度直方图如图8所示,再利用双峰法[11]选择合适的阈值进行分割,使葡萄果穗与背景彻底分割。

图8 灰度直方图

H通道下葡萄阈值分割结果如图9所示。

图9 H通道阈值分割

2.4 基于k-means算法与HSV的分割识别试验

成熟红地球葡萄分割试验中,选采集的成熟葡萄图像样本150张,其中单串葡萄样本图像50张,两串及存在遮挡的葡萄样本图像100张。由采集的成熟红地球葡萄H通道的灰度直方图峰谷变化,再利用双峰法选择最佳的分割阈值数。当分割阈值T在30左右时,葡萄灰度图有明显的双峰出现。分割试验数据见表1。

表1 分割试验数据

试验结果表明:通过对葡萄的K-Means算法与HSV的H通道分量阈值分割,单串葡萄分割率为98%,两串及以上且有遮挡的葡萄分割率为66%,达到葡萄果穗分割要求。

对红地球葡萄果穗分割图像做进一步优化处理,包括图像二值化与毛刺去除,将图像通过像素值二值化分离前景与背景,并利用开与闭运算实现填充空洞及去除毛刺,最终葡萄果穗分割结果如图10(b)所示。

3 基于双目视觉的葡萄定位实现

3.1 基于BM算法的立体匹配

在对葡萄果穗进行定位时,首先采用BM算法[12-13]对葡萄果穗进行立体匹配并获得深度矩阵,再由深度矩阵生成深度图。在立体匹配试验中,BM算法对参数变化极其敏感,经过多次数据参数调试,最终获得葡萄果穗深度图如图11所示。其中frame1、frame2分别为左右相机采集图,depth为立体匹配后的葡萄果穗深度图。

3.2 立体定位试验

利用BM匹配算法和OpenCV编程获得目标物-葡萄果穗深度图,实现对目标物空间位置定位以及相机到目标物的距离测量。将葡萄果穗采摘回实验室内进行测距定位试验,当葡萄果穗放置在离摄像头0.5 m、0.8 m、1 m、1.5 m、1.8 m、2 m及2.5 m处,重复采集定位3次取平均距离,双目测距定位试验数据见表2。

由表2可见,在目标物表面随机选取2个点位进行定位测量试验,在目标物距离双目相机1 m时,双目到目标物的测量误差约为1%,在目标物距离1.8 m时,误差小于1.5%,随着距离的增加,相机定位误差也逐渐增大,由此可见所搭建双目摄像头实现目标物定位的理想距离为0.8~1.5 m。

4 基于双目视觉的葡萄跟踪监测研究

近年来,双目视觉跟踪一直是计算机视觉和图像处理研究的热点。针对双目视觉葡萄跟踪的叶片遮挡、背景干扰以及光照变化的影响,本研究提出了一种运用卷积神经网络检测目标物的位置区域并结合模板匹配来实现室外葡萄的跟踪方法。

4.1 基于卷积神经网络葡萄目标检测

4.1.1 卷积神经网络检测模型训练

由于轻量级YoLo训练网络具有结构简单,训练时间短的优点,本研究选择YoLov4-Tiny网络训练,通过自建数据集进行训练来实现葡萄果穗的目标位置区域检测。采用监督学习方式训练网络模型,为了得到效果更好的模型,在单一性遮挡数据集中以8∶2的比例,将其中1 626张分为训练集,405张为测试集;同样根据复杂性,将采集图像的3 453张分为训练集,861张为测试集,作为模型测试对照样本。

4.1.2 检测结果与分析

经过20多天Labelmg工具标注6 345张数据集样本图片后,得到xml格式文件,再根据训练要求转变为txt格式,根据卷积训练数据集VOC格式将图片放置在不同的文件夹中,设置好参数,以迭代4 000次进行YoLov4网络训练。经过47 h的模型训练,训练所得模型对测试集样本的测试时间仅需0.007 s。训练模型的平均准确率和召回率如图12所示,测试集测试试验结果见表3。

图12 YoLo网络训练结果

表3 测试集试验结果

试验结果表明,目标区域检测平均准确率达到85.4%,召回率为87.6%。且复杂背景与单一背景目标区域检测准确率达到65.737%和97.778%,目标位置区域检测效果较好。

4.2 模板匹配算法

目前大多数跟踪研究都是对运动目标物的跟踪。本研究在基于室外环境跟踪葡萄果穗目标时,除了光照变化和背景颜色的影响外,室外的目标物位置区域相对双目采摘定位跟踪机器的运动变化较小,为此采用传统目标跟踪算法,利用K-Means聚类算法和H通道阈值分割结合实现葡萄分割,利用MATLAB提取目标物轮廓,通过轮廓匹配方式实现对葡萄果穗的跟踪,提取葡萄跟踪模板模型如图13所示。

图13 葡萄轮廓提取

4.3 跟踪试验结果及分析

由于存在不同程度枝叶遮挡及果穗重叠的影响,为提高大田成熟红地球葡萄跟踪试验效果,本研究在卷积神经网络目标位置区域检测和模板匹配外,针对被枝叶遮挡的葡萄果穗使用最优化自然回归数据处理算法-Kalman滤波[14-16]。首先在第一帧选择跟踪目标,建立RGB颜色直方图,初始化Kalman滤波器;在第二帧利用Kalman滤波器预测目标物当前位置,再利用颜色直方图匹配相似度高的区域,并标出跟踪目标物进行图像跟踪,提高复杂背景目标位置区域的目标跟踪检测率。葡萄果穗跟踪试验和跟踪效果如表4和图14所示。

图14 葡萄果穗跟踪

葡萄跟踪试验结果表明,在葡萄果穗无遮挡情况下,早晨与晚上受自然光影响较小,跟踪准确率在86%左右,中午受自然光影响较大跟踪准确率在63%左右,在无枝叶遮挡的单一背景下增加Kalman滤波提高目标区域检测作用不明显;但在早晚复杂背景下,Kalman滤波使目标位置区域检测跟踪准确率提高了近3%,改善跟踪效果良好。

5 结束语

(1)通过搭建双目视觉系统,在室外自然环境下进行红地球葡萄的识别定位及跟踪方法研究。利用OpenCV3.4与MATLAB2019a标定双目相机,双目标定误差均值控制在0.13%以内;利用OpenCv的Stereo Rectify立体校正函数消除畸变;在田间采样试验基础上,提出了K-Means聚类算法和HSV颜色空间模型相结合的葡萄图像识别算法,对目标图像分割效果达到识别要求。

(2)选BM算法立体匹配,利用双目视觉视差获取图像深度信息实现葡萄定位。定位距离为0.8~1.5 m时,误差在1%左右;定位距离在3 m以内时,误差低于2%,实现了准确定位。

(3)提出了基于卷积神经网络与轮廓模板匹配相结合的葡萄跟踪算法,利用深度学习卷积神经网络实现目标物位置区域检测,提取目标物轮廓,在检测出的区域内实现模板匹配,另外考虑实际葡萄生长环境的影响,使用Kalman滤波检测跟踪被遮挡目标物。试验结果表明,跟踪效果较好。

本研究为葡萄采摘自动化提供了技术支撑和前期工作基础,为林果业信息化技术增添了新内容。

猜你喜欢
双目果穗标定
采用双目视觉和自适应Kalman滤波的作物行识别与跟踪
霜 降 苏美玲
基于双目视觉的机器人定位与导航算法
轻卡前视摄像头的售后标定
一种轻卡前视单目摄像头下线标定方法
基于骨架的玉米植株三维点云果穗分割与表型参数提取
玉米新品系合17-7016的组配及表现
使用朗仁H6 Pro标定北汽绅宝转向角传感器
机械手的双目视觉定位抓取研究
CT系统参数标定及成像—2