3 图像识别系统设计
3.1青枣病变识别算法
首先获取一组Pixy图像传感器处理后的数据,先判断镜头范围内是否有青枣存在,如有则再次判断这批青枣中是否存在灰褐色斑点,判断方法为:利用一个青枣的中心坐标和宽度高度确定了镜头内的一个区域,然后看是否有中心坐标落在这个区域内的灰褐色斑点,如有则该青枣为炭疽病青枣,否则为正常青枣。
3.2青枣等级辨别
该流水线水果分拣系统所识别的目标水果是青枣,对水果等级划分针对青枣的表面颜色斑点与大小这两个指标,而青枣的缺陷,整齐度等指标不在该系统的研究范围内。在青枣等级划分的定义中,将大而绿的青枣定义为一等品,小而有灰色斑点的炭疽病青枣定义为劣等品。
3.3图像识别系统硬件设计
本系统采用了一种开源的图像识别传感器Pixy。可实现7种颜色物体的标记并且每帧能够识别135个物体。Pixy被设计为可以与微控制器进行通讯,使用Pixy自带的数据线便可连接Pixy到Arduino。 Pixy支持多种方式输出被识别物体的数据,SPI、I2C、UART或模拟/数字I/O口(通过1OPin接口),Pixy还支持USB2. 0。可以通过配套软件PixyMon的对话框来配置 Pixy使用哪种方式,“Dataout port”参数决定了输出方式。
本系统通过Pixy标记青色和灰褐色这两种颜色标志,编号为1、2,并使用了SPI的通讯方式,将摄像头数据传至Arduino。
Pixy传感器有一个官方的库,在软件设计上包含这个库文件便能实现Arduino与Pixy的信息传送,被标一记物体有以下元素可被Arduino获取:
pixy. blocks [ i ] . signature:被识别物体的标记编号;
pixy. blocks[ i ] . x:被识别物体中心位置在x方向的坐标;
pixy. blocks [ i ] . y:被识别物体中心位置在Y方向的坐标;
pixy. blocks [ i ].width:被识别物体的宽度(1~320);
pixy. blocks [ i ].height:被识别物体的高度(1~200)。
4 机械手分拣动作过程分析
当开始青枣分拣过程之后,青枣开始在流水线上被传送带带动,依次移动,此时分拣机械手位于流水线的末端,且Pixy摄像头与流水线传送带位于同一水平面上。此时,Pixy摄像头开始对位于其正前方的青枣进行摄像,接下来将图像信息传输至电子控制系统中,Arduino控制系统会根据图像识别算法对传来的图像信息做出识别,判断青枣的色泽和体积大小,得出优劣信息,进而发出下一步的命令给各级舵机,使其做出下一步的动作。
假如Arduino控制器对图像进行分析后得出的结果是青枣等级为劣质,那么Arduino控制系统将会传输信号给各级舵机,一级机械臂两侧舵机同时向下转动一定角度,控制一级机械臂向下摆动一段距离;其次,Arduino控制系统会控制三级机械臂舵机向下转动指定角度,带动三级右侧机械臂向下摆动指定角度,此时机械爪刚好位于流水线上;最后,Arduino控制系统控制机械爪开合传动齿轮转动,传动齿轮和机械爪定位杆共同运动,驱动机械爪开合,夹取流水线上的锈病青枣,然后Arduino控制系统通过控制旋转舵机转动,带动旋转底座旋转一定角度,此时,机械爪松开,将夹取的水果放到指定位置,将劣质锈病青枣从流水线上分拣出来。从而实现劣质青枣的分拣任务。
假如Arduino控制器对图像进行分析后得出的结果是青枣等级为一等,则Arduin。控制系统将不会传输任何信号给各级舵机,机器人将不做任何动作。优质的水果会继续留在流水线上。
5 结束语
目前,基于图像识别的流水线锈病青枣分拣机械手系统填补了国内炭疽病青枣分拣领域的空白。该系统实现了逐个青枣的智能分拣,运用图像识别技术使等级分辨更加精确,可剃除流水线上长有灰褐斑的炭疽病青枣,对于提高海南的青枣产品质量,降低工人劳动强度具有重要意义。在实际实验中,该系统具有较高的稳定性,对炭疽病青枣的分拣成功率可达80%以上,为后续青枣分拣系统的研究提供了参考。