张文蓉,王朋,钟鸣,黄博,曹景军,柴秀娟
(1.中国农业科学院农业信息研究所,北京市,100081;2.农业农村部农业大数据重点实验室,北京市,100081;3.哈尔滨工业大学(威海),山东威海,264209)
茭白是一种较为常见的水生蔬菜,肉质鲜嫩,营养丰富,受到大量消费者的喜爱。茭白收割期较短,若过期不采或是采收后搁置太久,均会导致茭白品相变差,降低商品价值。茭白按照大小、形状、颜色、病虫害情况和老化程度等外观特征分级后销售可增加附加值,提高其市场竞争力。目前,国内茭白的采收、品质分级、包装等作业均由人工完成,导致在茭白成熟的季节需要大量劳动力。这种人工分级包装方式劳动力消耗大,且成本较高、效率较低。另一方面,人工对品质的判断有主观差异性会导致分类不一致,且人工易疲劳,易出现失误,会导致分类的错误。从长远看,人工分级包装的方式越来越不能满足茭白市场日益扩大的需求。因此,亟需开发一种茭白自动分级分拣包装设备,统一品质分级标准,提高茭白分拣包装时效,降低对人力资源的依赖和需求,保证采收后的新鲜茭白及时输入市场。
20世纪80年代,国外开始利用计算机视觉技术对果蔬品质进行自动检测和品质分级[1-3]。随着视觉处理技术和传感器技术的快速发展,国内开始着手相关研究,起步相对较晚。综合国内外现有研究成果,主要集中在苹果[4-5]、柑橘[6-7]、脐橙[8-10]、哈密瓜[11]、大枣[12]、番茄[13]、马铃薯[14-15]等外观呈圆形的果蔬上[16-18],且多数停留在算法研究和实验室模拟研发阶段,能应用于实际场景的智能分级装备并不多见。在外观呈长条形的果蔬方面研究较少,如黄瓜[19-20]、胡萝卜、莲藕[21]等。目前,暂无对茭白品质分级的研究和分级分拣装备的研发,故该方向的研究具有较大的挑战性。且茭白因形状各异、直径变化大、圆度不好等因素,在分料的过程中不易被约束,给分级分拣设备的设计带来较大困难。
鉴于此,本文开发了一款基于机器视觉的茭白自动分级包装设备,农户仅需将采摘后的新鲜茭白放入料箱中,设备即可利用计算机视觉技术对每根茭白进行分级并自动完成分拣包装工作。以期降低农户的劳动强度,减少对人力资源的高密度需求,保证分级标准的长期稳定性,为茭白产业的智能化发展提供技术支撑。
根据人工分拣包装茭白的过程,完成茭白的分级包装任务,需要对单根茭白进行品质分级,判定单根茭白属于哪类品质。再根据品质类别,将单根茭白放入不同类别的包装箱内。故茭白自动分级装备需要完成分离出单根茭白、单根茭白品质分级、单根茭白的分拣装箱三个步骤。据此,设计了一款茭白自动分级分拣包装设备,总体结构示意图如图1所示,主要由上料模块、品质分级模块、分拣包装模块三部分组成。上料模块将采收茭白通过分料移送机构实现逐根分离,并以一定间距依次输入规整机构。传送带将规整完毕后的茭白送入品质分级模块。品质分级模块通过机器视觉技术,自动对茭白进行精准品质分级。分拣包装模块将分级完成后的茭白根据不同的品级在机械臂的帮助下分拣到对应的包装箱。
图1 整机结构示意图Fig.1 Mechanism diagram of equipment
上料模块主要由上料箱、分料移送机构和规整机构组成,如图2所示。设置分料移送机构主要是为了分离单根茭白,以免多根茭白交错叠加影响品质分级的结果。待分级分拣的茭白长度决定了上料箱、分料移送机构、规整机构、传输带及包装箱的基本尺寸。本文研究的茭白长度为32~35 cm,上料箱的宽度略宽于茭白长度,设计为38 cm。茭白整体上一端较粗(头部),另一端是较细(尾部)。将采收后的茭白放入上料箱,且头尾顺序一致,通过上料箱底振动电机的震动作用将上料箱中的茭白有序移至出料口。分料移送机构紧挨出料口,该机构由分料移送带、激光传感器和步进电机组成。步进电机驱动分料移送带运动,将出料口位置的茭白逐步分离成单根模式,茭白传输轨迹如图2中红色虚线所示。分料移送带倾斜的角度可以根据实际情况进行调整。规整机构修正茭白从分料移送带上自由下落至传送带上出现的位置偏差,将单根茭白居中对齐,并以合理的间隔送至传送带上。
图2 上料模块结构示意图Fig.2 Feeding module mechanism diagram
传送带将规整居中的茭白依次送至品质分级模块中,如图3所示。图中红色虚线为茭白运输轨迹。图中工业摄像头对视场内的单根茭白进行图像采集获取茭白表型特征。根据机器学习获得的分级模型,判断茭白的品级,并将品级的结果传递给分拣包装模块中的机械臂。完成分级后的茭白由传送带输送至末端规整槽中,两端规整机构将茭白夹正居中,等待机械臂分拣。规整槽的设置主要是为了分拣包装过程中茭白排列整齐有序。为节省茭白分拣整个过程的时长,传输带的长度不宜过长,且需与前后机构进行速度和时间上的匹配。
图3 品质分级模块Fig.3 Quality grading module
如图4所示,设备分拣包装模块设有分拣机械臂,机械臂由四个步进电机驱动,分别控制机械爪开合(H)、升降(Y)、进退(X),旋转(R)4个自由度。图中设有两个包装箱对应优质、劣质两类茭白品级。包装箱底各由一个步进电机驱动,控制左箱旋转(B1)、右箱旋转(B2),达到茭白自动、正反、毗邻堆叠的要求。在旋转支撑机构的作用下包装箱会根据茭白的粗细头方向,判断是否需要使箱体旋转180°,从而使包装箱中同一层茭白的粗细头朝向一致。根据茭白的长度及包装的要求确定包装箱尺寸。根据茭白的宽度,确定机械爪的开、合尺寸分别为70 mm和15 mm。6个步进电机协同运动,驱动机械臂根据分级结果将单根茭白放入对应的包装箱中,待包装箱装满后可直接打包运输。控制Y轴方向运动的电机需具备抱闸功能,防止断电后机构受重力影响产生运动,其他电机满足力矩和速度要求即可。
图4 茭白分拣包装模块Fig.4 Sorting and packing module for Zizania
根据机械臂的运动轨迹,升降动作与机械爪开合动作是分动的,进退动作与旋转动作是联动的,故茭白整个分拣包装时间
t(x,y)=tH+tY(y)+max(tR,tX(x))
(1)
式中:tH——机械爪开合时间;
tR——机械臂旋转时间;
tY——机械臂升降时间(Y轴运动时间),受y坐标的影响;
tX——机械臂进退时间(X轴运动时间),受x坐标的影响。
由式(1)知,为提高设备分拣包装的时效,需尽量减少机械臂各自由度的时间,且需注意tR,tX之间的时间协调。
鉴于茭白自动分级分拣包装设备的实际应用环境,选用研华科技ARK-3520P型号的工控机。该款工控机是i7处理器,WIN7 64位操作系统,具备灵活的扩展PCI,运行稳定可靠,适宜长时间工作。工控机负责设备整体运动控制和图像识别品质等级,实现三大模块的信号传递和闭环控制,完成设备启动、分料、传输、分级、分拣包装、停机及报警灯和显示屏的控制功能等。运动控制卡作为硬件交互核心[22],根据各激光传感器反馈信息,驱动步进电机协调运行,实现各环节动作有序进行。根据品级结果指导分拣包装流程,规整机构的激光传感器检测到茭白后进行茭白夹正居中,从品质信息队列得到品质信息,计算茭白放置的箱号和位置,机械臂收到信息后完成茭白的分拣和装箱动作。
上料机构的振动电机通过调速器间接控制,调速器预设定速度后,工控机控制其振动。规整机构由直流电机驱动,直流电机采用正负限位反馈,由直流电机驱动器预设定转速,工控机控制其正反向运动。控制流程图如图5所示。
图5 控制流程图Fig.5 Control flow graph
该设备集成了基于机器视觉的茭白品质分级算法,利用深度学习技术对茭白大小、形状、颜色、局部区域特征、病虫害情况和老化程度等表型特征进行品质分级。选用迈德威视MV-GE200GC-T型号的工业相机,分辨率为1 600×1 200,RJ45千兆以太网接口,适用WINXP、WIN7/8/10 32&64位系统、Linux和ARM Linux驱动等操作系统。如图3中,工业相机安装在传输带的正上方,调整合适的高度以获得最好的视觉效果。工业相机与工控机进行通讯,相机采集的图片传给工控机,输入到品质分级模型,分级模型提取待检测图像的深度特征,从而确定茭白所属等级,并将分级的结果传给传感器,指导机械臂的后续操作。
品质分级系统的软件部分主要分为数据集的创建、训练模型的搭建及算法部署与运行,如图6所示。在基本完成组装的茭白分拣装备上,启动视觉系统,模拟装备运行时的状态、手工放置茭白在图像采集区域,使用工业相机拍摄视野中的茭白图像,且保证采集图像过程中的分辨率。采集完成的数据集中,根据人工分级的标准,给对应的图像赋予优质、劣质的标签。将其中90%作为训练集,10%作为测试集。
图6 茭白品质分级示意图Fig.6 Schematic diagram of Zizania quality classification
应用Facebook开源的深度学习框架Pytorch实现深度卷积神经网络模型。将被广泛使用的特征提取网络ResNet作为模型的主干网络,考虑算法模型运行环境为边缘计算设备,实现一个轻量级18层的ResNet二分类模型,模型输入是茭白图像,输出为图像中茭白的等级。使用训练集训练模型预测输入图像中茭白的优劣,最终在测试集的预测准确度达到95.62%以上。保存此时模型的权重,以部署到边缘计算设备上。
在装备运行过程中,当传送带将茭白送至图像采集区域时,触发拍照信号,工业相机对其正下方的茭白采集一帧图像作为视觉算法的输入。在输入深度卷积神经网络之前,首先对其进行预处理,包括分辨率变换至512×512,直方图均衡化等。将变换后的图像输入基于ResNet18的轻量级二分类模型,输出预测结果1或0,即代表对应茭白品质的等级为优与劣,将此信息传送至机械臂,指导其将当前茭白放至指定位置。
机械臂运动为四轴联动方式,通过协调机械爪开合(H)、升降(Y)、进退(X)、旋转(R)4个自由度的配合运动,稳定高效完成茭白分拣包装动作。以机械臂升降运动的驱动电机为例进行分析,已知机械臂垂直运动部分的质量m=2.32 kg,齿轮分度圆半径r=22.5 mm,垂直运动需满足竖直方向最大加速度a=1 m/s2,最大速度v=1 m/s。电机最大转速
(2)
电机负载最大时为带动机械臂向上运动达到1 m/s2加速度的瞬间,此时电机需要承受外力
F=m×g+m×a=25.056 N
(3)
电机提供力矩
(4)
乘以安全系数S=2,电机在最大转速时需要提供2M=1.128 N·m力矩。参考图7中的步进电机矩频曲线可知选择CL57 57CME21X型号步进电机,在DC36V供电下,当转速为424 r/min时可提供1.4 N·m力矩,可以满足使用需求。
图7 步进电机矩频特性图Fig.7 Torque frequency characteristic diagram of stepping motor
机械臂4个自由度正方向如图4所示,H轴最大(最小)位置代表手臂完全张开(闭合),Y轴最大位置略高于规整槽上茭白的最高点,最低位置可达包装箱底部,X轴最大(最小)位置可达包装箱内前(后)边缘,R轴最大(最小)位置为机械臂相对图4位置向左(右)转动90°。图4为各轴起始位置,表1为各轴最大、最小和起始位置坐标值。
表1 各轴起始位置及极限位置坐标Tab.1 Initial and limit position coordinates
如图8、图9为将茭白从后规整槽分拣至右侧B2箱,X=150 mm,Y=250 mm位置时,各轴协同运动的位置、速度随时间变化的曲线。各轴均为匀加速运动,在速度拐点处,由运动控制卡自动调节加速度,避免在此点出现过大加速度现象。
图8 四轴机械臂位置曲线Fig.8 Position curve of four-axis manipulator
图9 四轴机械臂速度曲线Fig.9 Speed curve of four-axis manipulator
图8中,在0~0.6 s时间内,Y轴与H轴协作,机械臂夹爪抓起茭白。在0.6~1.4 s时间内,X轴与R轴协作,机械臂向右侧旋转,且X轴从中间位置(230 mm)向150 mm位置运动,1.4 s时机械臂已完全转至初始位置右侧。在1.4~2.1 s时间内,Y轴与H轴协作,将机械臂抓起的茭白放至X=150 mm,Y=250 mm位置。在2.1~2.7 s时间内,Y轴与X轴协作,使两轴同时回到起始位置。当时间为2.7 s时,Y轴已达最高点,高于箱壁高度。在2.7~3.5 s时间内,R轴回到起始位置。至此,完成一次分拣装箱动作。
桐乡市气候温暖湿润、生态良好,是我国茭白盛产地之一,桐乡市“董家茭白”已入选嘉兴首批名牌农产品。现阶段仍以人工进行茭白的分级、分拣和包装,工作现场如图10所示。为保证茭白鲜嫩可口,每年春秋两季茭白成熟后会亟需大量的劳动力来尽快完成茭白的分拣包装。图中均是年龄较大的工作人员,这正是目前农村劳动力的真实情况,劳动力数量不足,且老龄化严重,工作时长和工作效率都无法持续保证。
图10 茭白人工分拣现场Fig.10 Sorting scene of Zizania by labour
茭白采收后独立成根,外有茎叶包裹,为便于包装运输,农户将其切割成同等长度。根据农户对茭白的品质分级标准,一般分为优质和劣质两大类。优质茭白形状规则,肉质肥厚,局部区域特征明显,如图11所示。劣质茭白一般有老化、形状不规则、病虫害与尺寸过小等各种不同的情况,如图12所示。
图11 优质茭白样品Fig.11 Good Zizania
(a)老化
采用如图13所示的样机,对11月份桐乡市董家合作社双季茭白进行自动分级、分拣测试,现场测试如图14所示,主要是对茭白分拣包装的效率及品质分级的准确性进行试验。
图13 茭白自动分级包装样机Fig.13 Prototype of automatic sorting and packaging of Zizania
图14 样机现场测试图Fig.14 Prototype test graph
由于茭白置于包装箱中的位置不同,机械臂的Y轴和X轴运动距离会有较大差别,会导致每根茭白的分拣时间略有不同。最上层茭白的分拣时间相较最底层甚至会相差1.5 s左右。故为取得设备的平均分拣效率,需以整箱茭白为单位,记录一整箱茭白分级包装的时长,然后除以整箱茭白数量获得平均效率。为避免茭白被分拣到不同包装箱导致的位置不同引起的时间误差,试验选定相同品质的茭白进行试验。选定10箱优质茭白,每箱有茭白72根,试验时暂时关闭品质分级系统,指定所有茭白放入优质包装箱中。品质分级系统的暂停不会影响设备的运行时间,因为工业相机的拍照及品质模型处理时长都是毫秒级的,是随着传输带上茭白运输同时进行的,并不会延长整个硬件运行时长。根据设备包装箱的大小,分拣包装后的整箱茭白共8层,一层为9根且头尾一致,每层茭白头尾交替放置。待完成以上试验准备后,人工将每箱优质茭白头尾一致的放入上料箱,并对系统进行初始化设定,点击显示屏上的“开始”,设备开始工作,此时开始计时,记录整箱茭白分拣的时长。按此试验步骤,共进行10箱茭白分拣包装效率测试试验,结果记录如表2所示。
表2 茭白分拣包装试验结果Tab.2 Test result of Zizania packaging
根据现场10箱优质茭白的测试结果显示分级包装效率平均为3.04 s/根,每箱分拣的总时间误差在±20%以内。茭白自动分级分拣设备类似流水线工作模式,时间取决于最耗时环节的时长。最耗时环节是机械臂分拣包装的时长,茭白分拣至箱中不同位置的耗时可由图8、图9的协同运动关系推导出,对每个位置的分拣时间进行预测并取总平均值,可知分拣包装理论值为3 s/根。测试的平均效率基本和理论预测值相符。
再进行茭白品质分级的准确性进行试验,需随机选取10箱茭白,即有优质茭白也有劣质茭白,每箱有茭白72根。设备操作跟上述试验类似,但此时需开启品质分级系统,设备正常运行进行自动分级分拣。待每箱茭白分拣完成后,记录每箱茭白分级错误的茭白个数,再结合茭白总数进行准确率计算,结果如表3所示。
表3 茭白品质分级试验结果Tab.3 Test result of Zizania grading
表3中数据显示设备品质分级的准确率为97.2%~100%,可见此基于机器视觉的ResNet18轻量级二分类模型在实际落地应用中的效果良好。当然也可将分类错误的茭白图像增加到模型的训练集合,进一步优化分级效果。
根据桐乡市董家合作社实际工作现场数据显示,6名工人工作2.5 h,完成2 000 kg茭白的分级分拣装箱工作,其人工分拣平均效率约3.3 s/根。尽管人工分拣效率与设备分拣相差不大,但人工每日正常工作时长在8 h左右,设备正常可全天工作,1台设备的工作总量大于3人工作总量。另一方面,人工长时间工作易疲倦导致分拣效率明显降低,且易出现失误,导致分类错误。此外,人工对优质、劣质茭白判断的主观差异性会导致分类的不一致性。而自动分拣包装设备因其规范化、统一化,可有效避免这类差异性,并降低错误率。采用自动识别系统,利于建立统一的分级标准。可见,设备在长期运行中,识别的准确性,分拣的稳定性,均远优于人工,因此在实际应用中自动分级分拣设备具有明显优势。
1)针对人工进行茭白分拣中存在的劳动力不足、分拣效率不高,且分级标准不完全统一等问题,开发了一种基于机器视觉的茭白自动分级分拣包装设备。利用ResNet18轻量级二分类模型实现对优质茭白、劣质茭白的品质分级,识别准确率为95.62%。且设备分拣包装效率为3 s/根。满足自动分级分拣设备在实际应用中对茭白品质等级的识别准确率及分拣效率的要求。
2)试验中,品质分级系统识别准确率97.2%~100%,可增加训练集进一步提高准确率。试验是在单传输带、单机械臂情况下进行,可通过增加传送带和机械臂数量,并行处理提高分拣效率,或采用机械臂以外的分拣方式来提高装备的分拣包装效率。
3)设备通过机器视觉技术,自动对茭白品质进行精准分级,减少人工分类差异性和疲劳失误率,利于建立统一的分级标准,有助于形成标准化的茭白分级产品。可见,自动分级分拣设备替代人工分拣包装是必然的趋势,是我国未来茭白集约化、规模化、智能化生产的发展方向。