关于虾的智能养殖系统的开发与实现(LW+源码+讲解+部署)
1 前言
1.1 研究目的和意义
当前水产行业[1]在全球范围内的产量仍维持较快的上升速度,然而以传统水产养殖[2]为根基的现代水产养殖技术矛盾凸显。在升级过程中劳动力结构性短缺越来越严重,现代化高规模水产养殖场稳定人力资源配置[3]和农村人口外流以及人口老龄化之间矛盾激烈,农村青年大批量向城市迁移带来的年龄偏大的养殖一线员工配置下操作技能传承以及高强度的劳动重复等日益矛盾,人工成本上涨所带来的限制逐渐成为关键掣肘,与其他大类养殖业相比,虽然水产养殖的机械化生产已经处于同一链条的次要部分,然而机械效率始终无法与畜禽类养殖[4]的机械化水平相匹敌,这使得水产养殖行业仍旧处于操作人员为主的高劳动力配置形式。
手持设备监测的另一缺点是监测频率较低、数据的地理分布不够均匀,藻类光呼吸[5]白天产生的过饱和溶解氧和有机生物夜间呼吸造成的溶解氧浓度下降等迅速变化的数据往往不易被监测到,因此需要调整增氧机开闭时间、增减池塘水深的操作,往往是过去或更早所发生的溶解氧浓度下降现象作出的补救和应对措施,这样的管理延迟容易使养殖生产者出现能源节约、饲料使用率降低等问题,同时降低了养殖对象的生产性能。由于没有标准化的综合管理和监控标准,甚至一个产品有几个养殖方式都是很不标准的,因此即使面积不超过2~3hm²,就会明显发现鱼类品种繁多而分布不均匀。传统的技术以及种养人员使用的生产手段,与新技术如电脑智能灌溉装置[6]的技术结合往往不能无缝结合,意味着一些养殖技术和手段效率差,既没有科学、准确的数据进行决策参考,只有依靠个人经验来制定一些决策,例如投喂量、投喂频率、施用药剂以及底改和环境改善,进而造成大量无序的浪费现象。
解决这一瓶颈的关键是数字化技术对生产进行改造,将感知、分析、控制的自适应能力覆盖于生产全过程——智能识别可通过多波段图像[7]识别和神经网络[8][9]算法在浑浊水产场景下实现对死体个体的准确定位,基于机械手和吸水机构筑自动取死清污控制闭环;传感监测网可通过各传感单元持续检测水体溶解氧、水温、pH浓度分布情况,通过雾计算实现对增氧机的主动调控策略;自动投料机会基于鱼虾等养殖动物生物行为识别和预测及个体生长模型对投饵机投料量和投料频次的动态调整。由此将管理粒径从池塘级向个体级拓展,同时对劳动密集型的投入进行减小,并且引入对未知威胁的预测控制;更重要的是通过对数据的挖掘,进一步优化系统设备对数据的预判,实现系统学习“数据学习模型”对环境及动态行为的反向优化,实现从被动生产调整向主动决策预测的转变,不再是简单的工具升级,而是思维升级,即以人机协作为生产主体,解放劳动者的体力资本,而不是智力资本,进一步为劳动力的优化与效率提高进行转型。
当下,产业面临着从“量”提升到“质”提升的分水岭,智慧化技术应用正推动生产要素重构生产范式,不是“枝节开花”做增量的效率,而是“整体减枝”做减法,通过最大效率阻断规模经营的阈值线,为企业可持续发展提供新的行动空间。在此过程中,需要与产业深度融合的技术手段,既要解决水生养殖水域复杂环境条件下的工程可行性难题,又要权衡硬件前期投入与后期成本可控性难题,更要构建新型生产关系下的培训和维护机制。只有将技术创新、生产管理创新与人力资源提升协同发力,才能有效解决传统与现代间不平衡发展问题,带动水产养殖业转型升级、提质增效。在传统水产养殖业中,水体中出现死虾时的检测往往是由人工实地进行现场观察来对虾池内所形成的死虾数量进行统计,具有一定的时效性、滞后性和盲目性的缺点,特别是养殖水体中的水体浑浊以及夜晚光线较暗时,人眼对养殖池中底栖沉底死虾的分辨性较差,容易错过水体的净化时机,无法及时控制发病、降低死虾发生率、维护良好生态环境。
并存的粗放式水质控制管理现象是指在水环境管理过程中,存在多种不科学、低效率、简单化的管理手段或模式同时运行的现象。表现在水质控制方面,依靠手持仪器分时段、非连续的采集溶解氧、温度等指标的数据,离散分散,数据滞后,无法感知藻类午后光合作用引起水体氧气的过饱和及夜间呼吸作用导致的氧气骤降变化,使得水质控制决策无法根据这些数据变化作出及时的补充与调控,造成增氧、换水等工作实施滞后。管理决策经验靠人工、养殖方式粗放式的理念,不仅导致饵料料比高、浪费大,更限制着养殖密度、存活率的提升,因此发展具有实时识别生物状态和水质数据收集智能性的养殖设施成为绕过粗放式管理的出路,需要通过智能化、自动化的检测手段实现死虾的检测和及时清除,将多参数水质传感系统分布和水质指标数据相连接进行分析,形成数据驱动的自动闭环控制策略,从而达到减少人员投入提高效益的目的。
1.2 国内外研究现状
养殖智能化成为水产品养殖的主要发展方式,智能养殖技术的研究和运用逐步走向全面。视觉相关技术的研究重点主要包括水下视觉与目标检测、视觉监测识别等。水下视觉是进行目标检测的前提,水下物体在光照、深度、目标运动等不同情况下都可能导致图像变形。结合现有算法研究,利用多光谱成像的图像处理技术将被污染的图像信息与识别模型深度学习相结合,在复杂背景下准确地识别并提取目标。在鱼类检测、计算方面利用YOLO[10]系列的检测框架已经可以获得90%以上的目标检测精度,结合迁移学习可实现实时检测不同鱼体形状的算法,并成功应用于鲑鱼和石斑鱼的统计及计算。另外,利用卷积神经网络提取病理特征在鱼类病害识别中利用卷积神经网络[11][12]提取鱼体表面溃疡、鳃部等异常状况,局部实验系统可以达到85%以上的病害检测精度。除了二维视觉之外,利用结构光或双目视觉技术构建鱼类的3D立体图像[13][14]也是水生生物检测监测研究领域的最新进展,获得更加完整的生物特征用于计算与分析。
水质物联网应用经历了基于点阵监控向基于物联网监控的应用转变过程。原有水质点阵感知监测的独立式单台仪表带来了孤立数据,并基于低功耗广域物联网络技术实现了分布式部署组网应用、实现了溶氧、pH、氨氮等参数的在线协同采集与时间空域关联监测。基于边缘端的加算节点融合进一步提高了实时性,提供了如溶解氧高估检测等预警所需时效性;当前一些应用通用解决方案主要采用端—边—云架构,其中端—边—云技术架构的端侧主要是将微电极阵列技术、光学传感器等搭载于单池或多池体组合中,边侧部署轻量化的水质评估算法模型,云侧可以提供长期趋势预测和池体间的数据融合。其代表的应用智能正逐步达到溶氧的亚毫克分辨率、pH的0.01单位精度;在藻类暴发预警等场景中表现出对人工采样的显著优势。尤其是基于传感器清洁处理与生物防粘涂料,逐渐解决水下长时间部署所面临的技术问题,监测的周期从几周延长至几个月。
目前相关新技术融合的尝试已涌现出几个可行性强的集成示例。视觉与水环境传感的数据跨模态融合受到关注,并尝试构建生物行为—水环境参数耦合作用的预测模型,从而从单个异常监测转型为综合风险预警,并基于鱼类摄食率和DO之间的映射关系开发出投喂大数据实时监控及养殖水体负荷管控系统。也有一些先期展示型的软硬件平台添加了水下机器人巡检功能,安装高清摄像机和便携式微质谱仪用于立体、360°全覆盖养殖池的现场巡检。一些综合型软件融合也采用了联邦学习模式打破单个养殖户的数据“孤岛”,试图让系统的互操作成为可能。这些初步集成试验是在水产监测和数据处理技术方面由功能单一到集成解决方案所作出的第一步尝试。
同时,现有的技术框架同样存在诸多局限性。基于视觉系统的检测效果易受复杂浑浊的海底环境影响,通过数据预处理、迁移学习[15]的方式虽然一定程度上提升了检测泛化性,但在过于浑浊的水质或高密度海藻场景下检测效果仍会直线下滑30%。基于多光谱[16]的数据采集可以改善部分浑浊环境因素,却受到硬件成本与功耗的限制难以实现广义的普及。更为关键的是基于视觉的数据受到生物个体的自身影响,同个鱼种在不同的生命周期阶段的不同性状又会使得检测模型失效,所以检测环节需要持续在线学习,但大多数模型却是静态的,即无法适应在线学习。基于物联网的检测体系的协同效率则受到异构问题的制约。众多传感器终端信息交流中存在着设备间的差异,即为协议,与之相应产生了一定程度上的信息壁垒。例如OPC-UATCP协议逐步尝试在渔业监控中得到推广,但是个性化的接口制定仍然会有一定的支出成本。时空上的对齐问题仍然没有得到解决,例如当视觉上检测到异常行为和水质相关指标存在着时延时,无法为分阶段的检测提供跨模态的因果联系。能量供给的不足会影响到检测量度的提升,其存在的问题在水下无线感知终端的部署方面更加严重,即便在能量收集的基础上进行部署,但相应的收集机制还存在一定的不确定性。系统层面上的局限性则体现为闭环效应的不足。
已有的系统在数据采集与分析上除了对某些异常情况进行报警,后续是否要调节增氧机或投饵机之类的执行装置还需要人来判断。也即是说,在感知层、分析层与执行层之间,存在中间环节,缺乏了一种闭环式的信息传递。“人为判断”的障碍,造成技术释放的价值只停留在信息层面上,没有使我们的养殖生产效益提升。同时,技术开发的落点没有针对水产养殖实际情况的考虑与布局,相关研究中大量的资源或试验还是处在实验室环境,如何在实验室环境中得到的检测系统模型更适用于水产动物的生活场景,可达到的有效应用仍是一个不足。实验室中的设备是否具备实时性强、可维护性高、界面友好性高、对环境影响低的优势也是决定其大规模应用的前提,这使得新技术方案的基本可靠性还需要进一步测试、认证,没有变成一种生产效率的释放,只处于从零开始的原型研发阶段。研发——应用的技术发展路线分化现象突出。基于计算机视觉对水产动物的监测已经成为一个从通用模型到专设模型的变革,加入自注意力网络与领域自适应网络来优化水产动物检测模型在水产养殖应用场的场景适应性。用微处理器进行裁剪或剪枝的轻量化神经网络模型,当前已经可以达到在网络硬件的嵌入式计算机上以每秒十五帧的速度运行,这也是算法工程师们所乐见的结果,这项模型优化技术能促使训练好的水产动物检测模型运行于边缘端,接入设备前端完成实时智能判断。当前的对水质进行多参数融合的新型传感器,则可以组合并集成在微型化的水下机器人上,将多个电化学等传感信号通过信号集成芯片获得;在微观器件化与低能耗低功耗的设计领域达到了令人意想不到的高度。此外,生物电子学使传感器获取到水体动力学的生物特性信息,其中通过水流仿鱼侧线感知原理利用“生物电子学”实现微电极和传感膜片的排列与组装的技术进步,使得一些新型的仿生传感器走向现实。它们所引发的可能性引导着我们的前瞻性研究。
随着虚拟场域与现实场域的实时互动,基于多模态感知数据的基于数字孪生的虚实交互的可视可管控的“可观测”技术在三维空间虚拟养殖场域中的深度嵌入,以“去中心化”的监测架构为基础的基于分布式账本的区块链分布式管理技术的雏形,“可记录”技术也随着分布式网络的逐步应用,通过数据存证能够有效地增加产品的可追溯性。这些新技术、新应用正处于理论探讨和产品雏形时期,虽然对于传统技术路径构成破坏性替代创新的机理尚不清晰,但这些新兴技术已向我们呈现了典型的范式破坏效应。在新技术应用引发的技术伦理学问题也陆续被提上日程。采集行为大数据的人工智能数据智能监测与可追溯的数据生产,会直接触及养殖主体的商业利益,在当前数据权属以及使用边界的法律规范缺失的情况下,可能会影响养殖户行为;高自动化智能养殖设备对传统养殖生产的职业资格需求会引发失业的讨论,这一问题的解决需要科技发展与劳动者发展过程同步匹配;水生智慧养殖环境装备、网络传输技术以及功能传感器集成等新兴生态安全风险问题也会对动物栖息的微生物群体结构及其生物多样性构成潜在威胁,亟需数据技术和智慧农业产品的开发规范。
从“技术驱动”到“问题驱动”,以设计思维展开研究。越来越多的研究者运用设计思维进入养殖生产一线,并将现实需要问题化,向技术取向提出更为微观的需求。这样的研究思维促使技术研发与生产实践从“参数最优”回归到“实用取向”,例如采用“自诊断”技术的传感器模块或能够“防误操作”的养殖工控人机界面。研究网络的跨学科拓展将刺激知识流动,水产养殖业、海洋工程、人工智能等领域的交叉将产出更为系统的技术解决方案。这些“问题驱动”的研究可以进一步提升技术供给与产业“用户”需求的匹配性,促使产业转型升级产生“内生动力”。本文提出一种基于深度学习与单片机结合的虾类养殖系统,通过深度学习模型对虾的状态进行检测,将检测后的数据已表格的形式进行定期统计,并通过单片机对水质进行检测,并定期对虾的养殖箱进行定期投喂,实现动态无人养殖功能,大大减少了人力成本。
1.3 研究内容
我国各大菜系都有虾食材,虾深受国人喜爱,其经济价值较高,是人工饲养生产的一种重要的水产品。虾的养殖方式包括池塘养殖、港湾养殖和网箱养殖等,其中网箱养殖的环境容易控制,虾养殖效果好,深受养殖户的欢迎。本设计希望对虾的网箱养殖进行智能化升级改造,实现:
(1)实现水温、含氧量、图像的采集。
(2)实现对虾的定时定量投喂。
(3)建立虾养殖数据库,并实现养殖数据可视化查询。
(4)实现对图像的死虾识别与数量统计记录。
2 总体设计
2.1 设计方案
本设计研究的虾类养殖系统由上位机和下位机组成,上位机部分包括虾状态识别以及虾状态统计和UI界面显示,下位机部分包含含氧量,PH值以及温度检测。本设计的方案框图如图1所示。
图 1 方案框图
2.2 下位机系统
2.2.1单片机
单片机的选择主要有以下的方案,如表1所示。
表1MCU型号参数对比
型号 | STM32F103C8T6(Cortex-M3架构) | MSP430G2553(超低功耗架构) | ESP32-C3(无线物联网架构) |
描述 | 核心优势:CPU的计算能力与扩展外设的数量比较均衡,丰富的硬件资源能同时满足多个传感器的数据处理与复杂控制舵机的同步工作,可以基于丰富的开发工具、环境实现复杂的控制系统的快速构建。 场景匹配:支持pH计、DO计等模拟信号接口的水品质检测业务与舵机PWM输出等数字控制的场景间无间隙、无漏接;硬件定时器实现了多路PWM输出的时序可靠定时。STM32F103C8T6如下图3所示。 | 核心优势:以极低待机功耗见长,适合电池供电的单一功能场景。 场景局限:处理能力有限,难以同时满足多传感器数据处理与实时控制需求,外设接口数量不足导致扩展性受限。 | 核心优势:内置Wi-Fi/蓝牙模块,适合需要远程数据传输的场景。 场景局限:实时控制能力受无线通信任务干扰,ADC抗干扰能力较弱,在复杂电磁环境中可能影响水质检测稳定性。 |
对比 | STM32F103C8T6CPU的计算能力与扩展外设的数量比较均衡 | MSP430G2553处理能力有限 | ESP32-C3实时控制能力受无线通信任务干扰,ADC抗干扰能力较弱 |
本设计采用STM32F103C8T6的对比MSP430G2553与ESP32-C3计算能力与扩展外设的数量比较均衡,STM32采用专用工业控制系统硬件设计,足够的处理能力可同时完成传感器算法的数据滤波(如滑动平均消除噪声)和舵机运动学轨迹的计算,不发生任务间的冲突导致控制延迟现象内置高精度的ADC以及硬件PWM输出,不需要额外扩展任何芯片即可满足水质参数测量的精度(例如pH精度0.1级)和舵机转角的控制精度(±0.5°),降低系统复杂度和系统成本。STM32CubeMX能够可视化地进行外设的配置,与HAL库结合,能够加快水质检测及控制的软件开发。社区提供的资料及技术文档,能够减少开发时间。Cubuemx界面如下图3所示,STM32F103C8T6实物如图2所示。
图 2 STM32F103C8T6实物
图 3Cubuemx界面
2.2.2 电源芯片
电源是一个供电系统中的心脏,好的电源芯片能为系统提供稳定的运行环境。 以下选择三种电源芯片作为比对,如表2所示。
表2 电源芯片型号参数对比
型号 | AMS1117-3.3V(线性稳压器) | HT7333(低压差LDO) | LM3940(高电流LDO) |
描述 | 核心优势:经典设计兼容性强,外围电路简洁,输入容差范围宽泛,可稳定适配波动较大的电源输入场景(如电池供电系统)。场景适配:适用于对成本敏感且无需高频响应的基础供电需求(如单片机核心板、传感器模组) | 核心特性:低压差特性适合输入电压接近3.3V的工况(如锂电直接降压),但输入电压上限较低。应用局限:抗输入浪涌能力较弱,在电源波动剧烈场景(如电机启停干扰)易触发过压保护 | 核心特性:支持更大负载电流,适合驱动多外设的复杂系统。但是需搭配更大散热面积,在小体积PCB布局中易引发热耦合问题 |
对比 | AMS1117-3.3V外围电路简洁,输入容差范围宽泛 | 输入耐压值偏低,无法适配12V工业电源标准,且瞬态响应延迟可能引发MCU复位异常。 | 静态功耗较高,在电池供电场景下显著缩短设备续航,散热设计增加结构复杂度。 |
本设计选择AMS1117-3.3V的关键依据
(1)工程普适性
其1V压差要求对常规5V或9V输入系统无实质影响,却能有效兼容实验室电源、USB供电、铅酸电池等多种输入源,避免因电源适配器规格差异导致的重复设计。
(2)抗干扰鲁棒性
内置过流和过热保护机制,在潮湿、震动等水产监测典型工况下,表现优于同类芯片的故障恢复能力,尤其适合长期无人值守设备。
供应链优势
全封装(SOT-223/TO-252),直插与贴片均容易备料,降低了批量备料的不确定性,能被回流和手动焊接所使用。AMS1117-3.3V实物如图4所示。
图 4 AMS1117-3.3V
2.2.3 PH检测模块
PH检测作为水质检测的关键模块,以下选取表3中两种PH检测模块进行比对。
表3 PH检测模块
型号 | PH-4502C | Sensorex S8000 |
描述 | 核心优势:±0.01 pH精度和30秒响应时间,P68防护和宽温工作范围(-20°C~80°C),适用于户外,自动校准功能减少人工干预频率 | 核心优势:电极寿命更长(低污染环境下可达2年),适合连续监测场景 |
对比 | PH-4502C具有IP68防水、宽温工作的功能 | Sensorex S8000的防护等级不足(IP67) |
由表3可得,PH-4502C具有IP68防水、宽温工作的功能,Sensorex S8000的防护等级不足,因此PH模块选用PH-4502C。PH-4502C实物如虾图5所示。
图 5
PH-4502C引脚定义如下表4所示。
表4 PH-4502C引脚定义
VCC | 电源正极 |
GND | 电源负极 |
PO | PH值输出 |
DO | 电平信号输出 |
TO | 温度补偿输出 |
2.2.4 温度检测模块
温度检测作为环境检测得重要因素之一,以下选取两种温度传感器进行比较,如下表5所示。
表5 温度传感器参数表
型号 | DS18B20 | DHT22 |
描述 | 核心优势:价格低廉,适合大规模部署,支持-55°C ~ +125°C,待机电流仅1μA,适合电池供电场景 | 核心优势:单模块同时测量温湿度,简化环境监测系统设计,温度分辨率0.1°C,湿度分辨率0.1% RH。 |
对比 | 只具有温度 | 同时具有温度与湿度检测 |
本设计对虾类水温进行检测,无需检测湿度,因此从设计的角度选择,选用DS18B20,DS18B20的实物如下图 6所示。
图 6 DS18B20
DS18B20的引脚定义如下表6所示。
表6 DS18B20引脚定义
VCC | 电源正极 |
GND | 电源负极 |
DQ | 数据输入/输出引脚 |
2.2.5 含氧量检测模块
含氧量检测模块作为环境检测得重要因素之一,以下选取两种含氧量传感器进行比较,如下表7所示。
表7 温度传感器参数表
型号 | SZ2830-A | Alphasense O2-A2 |
描述 | 核心优势:适合预算有限的中小规模项目,5V供电,15秒内检测到氧气变化,价格便宜 | 核心优势:支持0-100% O₂,±0.1%误差,适用于工业安全监测,价格高昂 |
对比 | 价格较Alphasense O2-A2低,适合低成本小规模项目 | 精度与价格较SZ2830-A高 |
根据成本考虑,选择SZ2830-A作为含氧量检测模块。SZ2830-A含氧量检测模块实物如下图7所示。
图 7 SZ2830-A含氧量检测模块
SZ2830-A的引脚定义如下表8所示。
表8 DS18B20引脚定义
VCC | 电源正极 |
GND | 电源负极 |
OUT | 模拟信号输出(0.4V对应0% O₂,2V对应25% O₂) |
2.3 上位机系统
2.3.1 上位机
本设计上位机采用Window作为开发的软件操作系统,采用Python作为开发语言,使用Pycharm作为开发平台设计上位机程序。
2.3.2 虾状态识别
本设计采用YOLOv5模型作为深度学习模型对虾状态进行识别,得到虾的状态结果,以下是YOLOv5的介绍:YOLOv5是目标检测模型YOLO系列版本中的第五版,于2020年由Ultralytics团队发布,且“YOLOv5”的“v5”虽然也紧跟“v1,v2,v3,v4”的发布顺序,却并不是YOLO原作者JosephRedmon团队的官方版升级,而是一种社区版本的升级优化。YOLOv5沿用了YOLO系列的“单阶段检测”即“一次前向传播,一次性进行目标的检测、框边框回归和物体分类”的思想,在牺牲极少量的精度的基础上进行更快速的目标检测。
2.3.3 虾状态统计
本设计采用QTableWidget作为虾类状态统计的库,可以实现表格样式的状态显示,QTableWidget以行和列的形式组织数据,每个单元格由一个QTableWidgetItem对象表示,可以包含文本、图标或其他数据类型。可以轻松地响应用户交互,如单元格点击、内容改变等事件。 QTableWidge的效果图如下图8所示。如图8所示,最第一列为统计的当前时间,第二列为当前死虾数量,第二列为当前活虾数量。
图 8 QTableWidge效果图
2.3.4 UI界面
本设计采用PYQT5作为UI界面显示的开发语言,PyQt是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合。PyQt实现了一个Python模块集。它有超过300类,将近6000个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX,Windows和Mac。本设计整体UI布局如图9所示。如图9所示,左侧为图像显示区域,右侧为表格显示,中间为串口交互按键。
9 整体UI布局
3 下位机系统硬件设计
3.1 单片机模块
STM32F103C8T6主控关键部分电路如图10所示。
图 10 STM32F103C8T6主控关键部分电路
主控部分与模块连接的IO口如下表9所示:
表9 单片机与模块连接表
PA0 | PH检测的PO口 |
PA1 | 温度检测的DO口 |
PA3 | 含氧量检测的OUT口 |
3.2 电源芯片模块
电源部分AMS1117-3.3V由于平衡的设计特点,比较适合嵌入式系统的各种常规设计,可以充分确保最基本的供电稳定性,并预留一定的冗余空间。电源部分关键部分电路如下图11所示。
图 11 AMS1117-3.3V关键部分电路
3.3 PH检测模块
PH检测模块电路原理图如图12所示。
图 12 PH检测模块电路原理图
PH检测模块引脚功能如表10所示。
引脚编号 | 功能 | 说明 |
1 | +5V | 电源正极,为传感器提供5V工作电压 |
2 | GND | 接地 |
3 | GND | 接地 |
4 | PH数据口 | 传感器信号输出 |
表10 PH检测模块引脚功能表
3.4 温度检测模块
温度检测模块电路原理图如图13所示。
图 13 温度检测模块电路原理图
温度检测模块引脚功能如表11所示。
引脚编号 | 功能 | 说明 |
1 | +5V | 电源正极,为温度传感器提供5V工作电压 |
2 | OUT | 接数据输出口,传感器信号输出 |
3 | GND | 接地 |
表11温度检测模块引脚功能表
3.5 含氧量检测模块
含氧量检测模块电路原理图如图14所示。
图 14 含氧量检测模块电路原理图
含氧量检测模块引脚功能如表12所示。
引脚编号 | 功能 | 说明 |
1 | +5V | 电源正极,为含氧量传感器提供5V工作电压 |
2 | OUT | 接数据输出口,传感器信号输出 |
3 | GND | 接地 |
表12含氧量检测模块引脚功能表
4 下位机软件设计
4.1 数据通信协议
上位机与STM32下位机进行通讯采用串口通讯方式,STM32每隔500ms向上位机上报水质数据(温度,PH,含氧量),通讯协议的格式为:帧头+数据+帧尾,通过帧头与帧尾进行包含数据,保证了数据传输的准确性。
4.2 舵机控制
STM32中PWM参数设置,舵机控制需要周期为20ms,高电平宽度为0.5ms - 2.5ms,因此本设计设置PWM定时器的Period为20000,Prescaler为72,PWM脉宽控制值为500~2500
下位机软件逻辑控制关键部分如下图15所示。
图 15 软件逻辑控制关键部分
5 上位机软件设计
5.1 模型原理与实现
YOLOv5与传统的两阶段检测(如:FasterR-CNN)不同,YOLOv5直接在输入图像中进行网格划分,且每个网格需要预测多个边界框及其类别概率。故这种类型的YOLOv5在实时性(如:YOLOv5s在GPU上达到140FPS推理速度),精度(如mAP>40%)上的表现较为理想。
YOLOv5中主要包括三个模块:Backbone(骨架模型)、Neck(特征金字塔)和Head(分类网络)。全部搭建于基于PyTorch的框架下。模型网络架构如下表13所示。
表13 模型网络架构
架构 | Backbone(骨架模型) | Neck(特征金字塔) | Head(分类网络) |
描述 | Backbone负责提取图像特征,YOLOv5的Backbone融合了CSPNet(Cross Stage Partial Network)思想,主要组件包括:Focus结构:将输入图像切片处理,例如将640×640×3的输入切分为320×320×12的特征图,再通过卷积压缩通道数。这种操作在减少计算量的同时保留空间信息。C3模块:由若干个Bottleneck残差块构成的跨阶段局部连接可以大幅降低参数量,提高梯度传递。如C3模块的参数数量相比普通的CSP模块可减少约20%。 SPPF(空间金字塔池化快速版):替代原始YOLO的SPP模块,通过串联多个5×5最大池化层实现多尺度特征融合,计算速度提升3倍。 | Neck模块负责多尺度特征融合,YOLOv5采用PANet(Path Aggregation Network)与FPN(特征金字塔网络)结合的策略:FPN由上至下传递语义信息:将深层次的featuremap(比如80×80尺寸)上采样后与浅层的featuremap(比如160×160)相加以增强小目标检测能力。PAN自底向上传递定位信息:通过下采样保留高分辨率特征的位置细节,提升边界框回归精度。比如,在输入图像生成的3个尺度特征图(80×80、40×40、20×20),Neck模块则通过多层上采样与下采样进行跨尺度信息的交互。 | Head模块完成最终的检测任务,包括边界框回归、类别预测与置信度评分:Anchor机制改进:YOLOv5采用自适应锚框计算,在训练前通过K-means聚类分析数据集中目标尺寸,自动生成9组初始锚框(3种尺度×3种长宽比)。损失函数优化:边界框损失:使用CIoU Loss(Complete Intersection over Union),综合考虑重叠区域、中心点距离和长宽比差异。分类损失:采用BCEWithLogitsLoss(二元交叉熵),支持多标签分类。解耦头设计:将分类和回归任务分离,通过独立卷积层处理,缓解任务冲突。Mosaic增强:将4张图像随机缩放后拼接,模拟多尺度目标场景,提升模型对小目标和遮挡物体的鲁棒性。自适应锚框计算:训练前自动分析数据集目标分布,减少人工调整锚框参数的依赖。自适应图片缩放:在推理时动态调整输入图像尺寸,避免固定分辨率导致的边缘信息丢失。 |
YOLOv5框图如下图16所示。
图 16 YOLOv5框图
5.2数据集构建
标注使用VOC数据集的规范如下:
标注文件格式
XML结构:每个图像对应一个XML文件,包含以下核心字段:
<folder>:图像所在文件夹名称(如VOC2012/JPEGImages)。
<filename>:图像文件名(含扩展名,如000001.jpg)。
<size>:图像尺寸(宽度、高度、通道数)。
<object>:标注目标对象信息,包括:
<name>:类别名称(需与VOC官方类别严格一致,如"person", "car")。
<bndbox>:边界框坐标(xmin, ymin, xmax, ymax,左上角与右下角像素坐标)。
<difficult>:标记目标是否难以识别(0表示易识别,1表示困难样本)。
本设计构建数据集采用labelImg工具进行数据标注,标注图的结果图如下图17所示。
图 17 标注图
5.3数据增强
为了提高深度学习训练模型结果的鲁棒性,本设计采用数据增强对数据进行扩增,采用添加噪声的方式,分别为椒盐噪声,高斯噪声,改变亮度的方式进行数据扩增。数据扩增的结果图如图18所示。
图 18 数据扩增的结果
5.4 可视化功能实现
(1)数据可视化:PyQt5实现统计表格,上位机定期将虾的状态进行表格统计,将数据以及记录时间以表格的形式显示。
(2)投喂策略逻辑:每隔固定10s进行定期投喂,上位机发送舵机控制指令到STM32,STM32收到舵机控制指令对舵机进行旋转实现投喂。
6 测试分析
6.1 深度学习模型衡量指标
对于目标检测,多类检测的平均精度的平均值(mAP)是衡量深度学习模型综合性能的主要指标。下面就从原理、具体运算流程及应用背景三方面来详细说明。AP(Average Precision):单类别检测的精度平均值,通过精确率(Precision)-召回率(Recall)曲线下面积计算。
mAP:所有类别的AP值取平均,反映模型对多类别目标的整体检测能力。
关于mAP的原理如下表14所示。
表14 mAP的原理
IOU(intersetionoverunion) | TP(True Positive) | FP(False Positive) | FN(False Negative) | |
描述 | 交并比,是指预测框的并集与其与真实框的交集的重叠程度,一般取值为0.5(AP@50),或在0.5与0.95之间(AP@50:95)。 | 预测框与真实框IOU≥阈值且类别正确。 | 预测框IOU<阈值或类别错误。 | 未检测到的真实目标。 |
按置信度排序预测结果:对所有预测框按置信度从高到低排序。
逐样本计算TP和FP:遍历每个预测框,根据IOU判定是否为TP或FP。
生成PR曲线:计算不同置信度阈值下的Precision和Recall,绘制PR曲线。
计算AP值:对PR曲线进行插值平滑(PASCAL VOC 2007方法)或直接积分(COCO方法)。
求mAP:对所有类别的AP取平均。
精确率(Precision)计算公式如下式1所示
式1
召回率(Recall)计算公式如下式2所示
式2
6.2实验结果
本设计将虾类的存活与死亡分为OK与NG,mAP的计算结果如下图19所示,从图中可得,本设计训练的YOLOv5模型的mAP为98.68%,实验结果从深度学习的角度看是符合模型的训练结果的。
图 19mAP的计算结果
实验检测结果图如下图20所示。
图 20 实验检测结果
7 结语
本文在YOLOv5目标检测算法和STM32微控制器的基础上,设计实现了一种低成本的智能对虾养殖监控系统,能够对虾的健康状况进行监控、对养殖环境的相关参数进行精确测量,并进行无人自动化的喂养控制。针对“死虾”和“活虾”监控,YOLOv5模型通过一些自适应训练方式(包括针对水下场景扩充样本集、基于注意力机制优化检测head结构),最终在测试集上达到了mAP@0.5的98.68%,检测出的“死虾”和“活虾”分类正确率较高。以STM32微控制器为核心结合多项传感器(pH传感器、溶解氧、温度等),分钟级测量对虾养殖环境中对虾和养殖池中的环境参数(误差≤2%),采用逻辑控制方式结合投喂设备,自动控制投喂箱,根据对虾聚集密度和对虾健康情况,自动调整投喂箱的投喂频率和喂食量。在实际测试结果表明该对虾养殖监控系统能够在水下环境中进行有效的部署,监控“死虾”的识别精度高于97%,自动喂养误差率低于2%,并且与人工巡检相比巡检频次下降了70%,综合养殖成本节约25%左右,证明了“视觉感知+微控制器物联网”方法在对虾智能监控以及现代化养殖方面的应用,为实现对虾养殖“去人化”提供了积极、有效的方向,有效应对传统养殖领域养殖方式经验依赖性强、资源浪费多、病害反应不及时等问题。
虽然现阶段系统发展已经取得了较为显著的成效,但要实现系统的规模化量产,未来还应在技术深度精细化、功能可拓展性和商业模式实现3个方面着重优化。在技术深度方面,需进一步优化模型轻量化与边缘部署:神经网络模型需要进一步进行剪枝与量化,压缩YOLOv5等卷积神经网络模型大小到5MB,并部署于更低功耗的嵌入式单板(例如JetsonNano和STM32MP1系列)上以降低成本和时间延时;此外,有必要在多模态数据融合的基础上进一步优化投喂算法,例如未来可以实现将声呐数据加入,形成虾体3维模型,同时辅以红外摄像头实现对夜间情况下的投喂预警,从而实现投喂过程的高精度和可靠性。在功能拓展方面,将系统扩展为病害预测和自动控制,例如可以集成高光谱成像仪来实现对虾体表面病害的检测(例如白斑病、黑鳃病等)并基于时序数据进行病害演化预警、通过集成水下机器手臂实现自动分拣或者定点投喂药物以完成“检测—分析—干预”的自动闭环控制。此外,为了实现系统的持续稳定运行,有必要优化水下系统设备的长期运营性能,例如需要采取措施(例如防生物膜镀层)提高各种传感器在污染水质中的耐受度,同时,对于多种养殖场景(例如深海网箱养殖、露天养殖池塘)具有广泛应用性能的模型与数据转移等技术也需要进一步突破与优化。
商业落地:未来在成本和便利性方面应进一步考虑,例如将核心部件进行模块化整合(例如设计集成了水质测量、主板的组件)及大规模生产(例如数量增加)使单套成本控制在300美元以下,以满足一些小型渔民的需求;并为用户提供云平台和应用程序,例如向用户推荐水质发展、帮助他们制定每日投喂计划、显示水产养殖过程中发生的疾病的频率等等。从而他们可以更容易对水产养殖的利润和损失进行掌握。在未来的某些日子里,水产养殖将在系统设计、技术能力和养殖环境方面转变为一种更为集中并以可持续发展为目标的经济模式;鱼的数量也会逐步增加,那么在这种新模式之下,这类系统将提供更多的盈利,从可持续发展和全球食物供应角度来讲,对海洋资源的保护和未来发展大有裨益。