APP下载

基于YOLOv5的目标识别相机

2023-01-30静,张

计算机时代 2023年1期
关键词:树莓摄像头模块

黄 静,张 晋

(浙江理工大学信息学院,浙江 杭州10338)

0 引言

近几年由于需求增多,国内外猪的养殖产业规模日益庞大,养殖规模大带来的压力是猪的健康问题及监管问题所致,若可以提前发现猪群中存在隐患猪,就可以提前预防及干预,进而提前处理养殖过程中的风险与隐患,减少对整个养殖环境的不利影响,进而更好的保证养殖生产的可持续性与健康化。

目前猪养殖场中,一般都是以人工监控的方式进行监管,这种监管方式存在不稳定的主观因素,不仅对人力资源过于浪费,而且需要人工对每头猪进行长时间观察与识别,对于数量多且繁殖规模大的养殖场是不适合的监管模式,因此,后来推出了自动化的猪体监管系统,即通过传感器监测猪行为变化并提供反馈。包括用于个体识别的无线射频标签、用于检测运动行为的加速度计量器、用于检测跛脚行为的压力垫、用于检测饮水行为的水量传感器等[1]。而附着于猪身或猪耳的耳标传感器,存在普遍问题,即在猪的运动过程中发生碰撞剐蹭而脱落,另外耳标打入是对猪本身也有伤害影响,若对伤口处理不适当会引起伤口发炎等现象,引起猪的应激反应进而更容易使耳标脱落,因此非接触式的监管对于动物畜牧类来说更为合适与方便。

一般非接触式监管采用的方式是以固定在猪棚中的摄像头作为采集数据的源头,数据传入主控室或监管室,由监管室管理人员实时监控/监管,这种方法存在的问题是,在现场的养殖人员若发现猪场异常情况,无法第一时间记录异常猪的情况。本文针对这个问题设计了一种基于树莓派的便携式猪体识别相机,提供给养殖现场的工作人员使用,当工作人员发现有异常猪的情况时,可以利用此便携移动设备拍下目标猪的图像数据,再通过wifi 将图像信息传入到猪场监管处或主控室,可以提高发现异常猪的效率,同时可以较为准确地在猪群中找到异常猪。

1 系统总体设计

本设计利用树莓派4B作为总控制器,用以实现数据处理以及数据转发等功能;USB 摄像头模组用以获取猪体的图像信息,以完成为对猪的识别。辅以ESP32锂电池电源板为便携式设备提供电源。图像部分以YOLOv5 目标检测模型以实现对猪的识别与目标检测,同时使用pyqt 来设计出拍照时所用的界面,使该便携式设备可以实现使用者在现场对目标猪识别拍照,并将图像数据编号后存储本地,并同时上传至服务器或监管室设备处的功能。整个系统的结构图如图1所示。

图1 系统结构图

2 硬件部分设计与实现

2.1 主控模块树莓派

Raspberry Pi(中文名为“树莓派”,简写为RPi,是为学生计算机编程教育而设计,只有信用卡大小的微型电脑,其系统基于Linux。本设计采用的是Raspbian官方推荐的操作系统,它是Debian 在ARM 的编译版,加上针对树莓派深度定制的硬件驱动与软件程序。作为最新4B 版本的树莓派,相比之前几个版本,其优势在于,SOC 由Broadcom BCM2837 系列换成了Broadcom BCM2711 系列,CPU 由40nm 工艺升级为28nm 工艺级别,蓝牙由4.1 版本升级至5.0 版本,同时USB 接口也开始配备3.0 级别接口。诸多部件的升级使得本设计选择树莓派4B作为主控模块。

2.2 摄像头模块

摄像头模块采用的是200万像素双目夜视摄像头模组,型号为WSD-2882-V1.0,其感光尺寸可达1/2.7 inch cmos,双摄像头均可实现RGB+近红外镜头的功能,最大分辨率可达1920*1080,在摄像头中,焦距越小,成像范围越大。镜头毫米数越大,看的越远,在同样距离监控视角越小。该摄像头模块可以达到本设计对于目标识别的要求。

2.3 电源供电模块

该模块是便携式移动电源。支持3V/1A 和5V/2.2A 两个电压输出,5V 电压输出的额定电流为2.2A。最大支持3A 电流,电流的输出取决于18650 电池,MICRO USB 充电电流600mA-800mA,最多支持两节18650 电池。本模块用于给整个设备进行供电,以支撑可随身携带使用。同时该模块具有带保护功能,以避免出现过充电与过放电的隐患。

3 Yolov5目标检测算法

3.1 识别系统设计

猪体识别部分系统设计如图2所示。

图2 识别系统流程图

3.2 YOLOv5模型简介

YOLO 系列网络模型是最为经典的one-stage 算法,也是目前工业领域使用得最多的目标检测网络,目前已经有五个较为成熟的版本。YOLOv5网络模型是YOLO 系列的最新版本,在继承了原有YOLO 网络模型优点的基础上,具有更优的检测精度和更快的推理速度。YOLOv5 系列可分为四个模型,分别为YOLOv5s、YOLOv5m、YOLOv5l 和YOLOv5x,四个模型的网络结构基本一致,只是其中的模块数量与卷积核个数不一致。

YOLOv5目标检测模型相比于其他YOLO系列模型在网络结构上更加复杂,同时在数据增强与训练策略上也使用很多技巧来提升模型的检测精度与速度[2-4]。YOLOv5 网络模型可以分为四部分,第一部分为输入端(input),负责Mosaic 数据增强,自适应瞄框计算,自适应图片缩放。第二部分为主干网络(Backbone),负责目标的特征提取,由Focus 模块、BottlenCSP 模块、SPP模块组成[5-7]。第三部分为颈部(Neck)网络,主要是对主干网络所提取的特征进行增强,所采用的模块是PANet路径聚合结构。第四部分为预测部分(Prediction),采用的是GIOU_Loss损失函数预测框[8-10]。

3.3 模型训练

3.3.1 获得预训练权重

为了缩短网络的训练时间,并达到更好的精度,我们一般加载预训练权重进行网络的训练。而YOLOv5的5.0 版本给我们提供了几个预训练权重,我们可以去对应我们不同的需求,选择不同的版本的预训练权重。可以获得权重的名字和大小信息,可以预料的到,预训练权重越大,训练出来的精度就会相对来说越高,但是其检测的速度就会越慢。

3.3.2 修改数据与模型配置文件

训练目标检测模型需要修改两个yaml 文件中的参数。一个是data 目录下的相应的yaml 文件,一个是model目录文件下的相应的yaml文件。修改data目录下的相应的yaml文件。找到目录下的voc.yaml文件,将该文件复制一份,将复制的文件重命名,最好和项目相关,这样方便后面操作。由于该项目使用的是yolov5s.pt这个预训练权重,所以要使用models目录下的yolov5s.yaml文件中的相应参数。

3.4 训练过程

本次实验中通过使用猪检测训练集训练YOLOv5s网络模型,使用验证集来检验该检测模型的表现,再通过测试集对模型进行测试。训练的epoch 为300,在训练约150个epoch后,同样其验证集损失下降到一定程度后已经基本保持不变,该模型也已训练完成,所以选择训练150个epoch后的网络模型进行后续实验。

4 实现与验证

4.1 数据采集与处理

实验所需图像来源于网络猪照片和一些在金华某屠宰场部分实地拍摄视频所截取的图像照片,共2000张,图像保存格式为JPG。数据标注采用Labelimg 工具对图像数据进行标注,标注后会自动形成目标检测模型所用数据集,为了扩充数据集数量,对已采集的数据图像进行一系列数据增强技术扩充数据集,例如翻转、随机旋转、随机饱和度和明度调节、随机亮度调节、随机加噪等,完成后整合为训练集部分,用以模型训练,同时将剩下的实地拍摄视频做分帧截取,整合出500张图像数据作为测试集来进行验证使用。

4.2 数据采集拍摄界面设计

为了使用者更方便采集猪的图像数据信息,本设计利用pyQt 编写出一个可供使用者拍照并记录目标图像编号的界面,在该界面操作可以实现实时拍照并编号,再将编号后的图像数据信息存储在本地文件夹中,进而下一步可以选择本地操作或通过网络上传至服务器或监管室处设备,进行数据存储与分析。

4.3 猪目标识别验证

将从屠宰场实地拍摄片段视频用于验证识别效果,将识别出的猪在验证视频中用红色框标注出,效果如图3,图4所示。

图3 识别效果图1

图4 识别效果图2

4.4 设备展示

设备基本功能完整,采用ESP32 锂电池电源板为整个设备供电,同时搭配HDMI LCD5寸显示触摸屏,用以更好提高设备的可操作性,便携式设备可以完全脱离PC,操作者可以使用该便携式设备对目标猪进行拍照,编号,存储图像数据,在连接网络情况下可以上传数据,基本实现便携式猪识别照相机的功能,设备实物图如图5所示。

图5 设备实物图

5 结论

本设计采用树莓派作为主控核心,配以摄像头模块及触摸显示屏等其他硬件部分配件,同时采用YOLOv5 目标检测算法为猪识别提供检测方法,搭建出便携式猪识别相机,实现了猪场工作人员当发现有异常猪存在时,可随时使用该设备对相机图像中的猪进行识别,并手动拍照保存下目标猪的图像数据,再进行数据上传,为猪场在监测猪日常活动的过程提供了更及时有效的方法与工具。此设计经多次流程测试,已达到基本功能。

猜你喜欢

树莓摄像头模块
浙江首试公路非现场执法新型摄像头
28通道收发处理模块设计
“选修3—3”模块的复习备考
摄像头连接器可提供360°视角图像
基于树莓派的骑行智能头盔设计
基于太赫兹技术的新一代摄像头及其在安防领域的应用探讨
基于树莓派的远程家居控制系统的设计
响应面法优化红树莓酒发酵工艺
奔驰360°摄像头系统介绍
欧盟:速冻树莓比鲜食树莓市场更好