智慧渔业捕捞计数项目设计书

(一)项目背景

      

根据捕捞水域的不同,我国水产捕捞可划分为海洋捕捞、远洋捕捞以及淡水捕捞三大类型。其中,淡水渔业主要是指在淡水水域进行捕捞、养殖以获得淡水水产品并对这些水产品进行加工的社会生产领域。

      近年来,随着人们经济水平的提升和淡水渔业的快速发展,捕捞业也不断壮大。渔业发展至今,已经从单纯的捕捞形成了系统性地养殖及捕捞作业管理,但简单粗放的传统渔业捕捞往往存在着种种弊端,已经难以满足市场的需求,渔业已开始趋向精细化,智慧渔业应运而生。智慧渔业解决方案可以结合现代互联网、移动互联网、物联网等新兴技术,帮助渔民及企业有效控制捕捞成本,通过多方数据分析对比进而提高水产的品质和产量。

(二)设计目的

      

目前,我国池塘、水库、湖泊等养殖水域所使用的捕捞设备,大多采用拉网或拖网,这些传统设备和方式存在着许多缺点。一是养殖水域的水面越大,所需的网衣和网具耗材就越多,需要的捕捞工作人员或网船等其他设备越多,成本也就越高。如图2所示。二是传统拉网捕鱼可调控性差,均是一次撒网再直接拉起,捕获鱼的数量无法保持稳定,导致花费大量人力物力而捕不到鱼或捕鱼量很少的情况。三是传统拉网捕鱼设备不具有选择性,捕获的鱼种类不同、大小不一。不论鱼苗还是成鱼均捕捞进网,从而损伤鱼体,造成捕捞质量下降,影响养殖鱼种的成活率。

      下图为传统捕捞方式:

图片

      为了实现渔业按需捕捞,避免过量数目的鱼进入网箱降低鱼获质量,实现优质捕捞,我们研发了一套智慧渔业捕捞计数装置。该装置能显示鱼类通过鱼道进入捕捞网箱的实时画面;自动记录进入网箱内的鱼体种类、数量、长度和重量等信息,统计出网箱内鱼类的总数量和总重量;按需捕捞成鱼,将鱼种和鱼苗过滤出网。最终,实现择优按需捕捞并根据统计数据精确制定销售计划和销售方案,达到经济盈利与湖泊内部生态平衡的双重目的。

(三)市场调研现状

      传统捕捞的方法很多,一种是在湖面撒下渔网再收网,但有部分鱼从网口跑出或培育鱼苗被捕捞,导致捕捞效率不高。另一种是把附有袋子的金属网箱放在河床上拖行,小体型的鱼穿过网箱,大体型的鱼掉进袋中。传统捕捞方式规模偏小、设施操作依赖人工操作、管理难度大,捕捞过程中主要依靠人工检测,缺乏精准性和统一性,对水产质量或产量都有较大影响,且捕捞过度容易破坏水域生态环境。

      目前市场上,部分申请专利的自制捕鱼装置大都是在结构、硬件上做优化和改进,但存在着无法实时观测鱼体状况、捕鱼范围太小、渔网的入鱼口需要人为关闭或打开、捕捞的鱼易从入鱼口处逃脱等问题,影响捕鱼质量及捕鱼效率,很少有能将捕捞装置做到智慧化。

      也有部分智能化的渔业管理系统、监测系统和手机远程管理系统,但都是通过传感器来检测水质、水环境信息和查看设施环境数据和设备运行情况,对水环境进行管理,很少有满足对鱼类捕捞这类精准需求。

      综上所述,还未有相同的相似产品或服务。此捕捞计数装置突破了传统捕捞方式,改进了设备装置,使用水下摄像机实时观测鱼类进入网箱的画面,利用机器学习算法分析并获取网箱内鱼的种类、数量、长度和重量,计算鱼的总数量和总重量等信息。通过手机观看水下摄像机拍摄的实时画面,依据数据做出适当的任务安排,真正做到机械化和智能化统一。

(四)作品内容

1 主要内容

      本项目以实现渔业按需捕捞和高质量渔获为设计理念,研发出一套智慧渔业捕捞计数装置。首先,采用YOLOv5检测算法和DeepSort跟踪算法等技术,实现自动记录并获取得到进入捕捞网箱内的鱼体种类、数量、长度和重量等信息,这些数据将通过4G/5G网络传输至移动端。其次,利用配套设计的手机应用程序,实现远程实时观看网箱进鱼的画面,掌握捕捞网箱的进鱼情况。最后,根据鱼体进入网箱获取到的数据,采取适当措施以避免过量的鱼获进入网箱降低鱼获质量,为渔民、公司企业制定销售计划和销售方案提供可靠数据。

2 创新点

① 实时监测及网箱关闭

      渔业捕捞计数装置通过水下摄像头拍摄鱼类进入储鱼网箱的实时画面并传送至浮动平台上的边缘计算服务器进行分析处理。水下摄像机安装于进鱼通道出口斜上方20厘米处,确保进鱼通道入口圈在相机画面内。使用双层捕鱼网箱,体型小的鱼能通过网眼大的一层,体型大的鱼则留在网箱内。当鱼从入网口侧出现直到鱼尾游出过鱼通道出口圈,记为一次鱼进入储鱼网箱。我们还结合通信及北斗定位技术,设计了一个数据传输与移动端统计分析系统,开发专用手机移动程序。获取的实时数据再经边缘计算服务器上安装的4G/5G模块发送至互联网并转发至手机端。根据实时数据,当达到所需捕获的数目时关闭网箱入口。

图片

② 跟踪鱼体、种类识别及计数估算

      本项目首次将目标跟踪应用于渔业捕捞,使用YOLOv5检测算法和DeepSort跟踪算法跟踪水中游动的鱼类。边缘计算服务器运行研发的目标检测与跟踪网络模型推演出鱼类在画面中的游动轨迹。根据深度学习的网络模型估算出鱼的数量、长度和重量。其中,体长是根据鱼体游过出口圈时,摄像机观察到的较完整鱼体画面,以过鱼通道出口圈作为参照物,利用摄像机参数和投影原理反向投影来计算得出;重量是根据估算的体长,利用体长与体重的关系计算得出。

③ 适应不同场景

      为了保证视觉识别的高效性,通过强化学习控制水下摄像机旋转。通过红外光来照亮昏暗的水下环境,拍摄出较清晰的画面以提高鱼体识别度,更加精准地定位到鱼体目标。另外,分别在晴天、阴天和雨天等不同天气下进行安装和测试,通过对视频数据增强、调整水下摄像头参数和调整水下摄相机底座来解决识别问题。

3 技术路线

①技术方法

     

 本项目借助百度AI Studio平台,使用PaddlePaddle深度学习框架,算法和技术包括,以YOLOv5作为主干网对游动的鱼体进行目标检测,以Deepsort算法对鱼体进行实时跟踪。训练得到鱼类检测跟踪模型。在网箱内鱼体数据集上,通过飞桨平台目标检测开发套件进行训练和预测,完成检测和跟踪模型的组建、训练、优化及部署等全开发流程。

【YOLOv5目标检测算法】

      YOLOv5是一种单阶段目标检测算法,该算法在YOLOv4的基础上添加了一些新的改进思路,使其速度与精度都得到了极大的性能提升。对于一个目标检测算法而言,通常可以将其划分为4个通用的模块,具体包括:输入端、基准网络、Neck网络与Head输出端。YOLOv5算法具有4个版本,具体包括:YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x四种。输入端和YOLOv4一样,对输入的图像进行Mosaic数据增强。骨干网络部分主要采用的是:Focus结构、CSP结构。在网络的颈部,采用的是:FPN+PAN结构,进行丰富的特征融合,这一部分和YOLOv4的结构相同。对于网络的输出,遵循YOLO系列的一贯做法,采用的是耦合的Head。并且和YOLOv3、YOLOv4类似,采用了三个不同的输出Head,进行多尺度预测。

【DeepSort多目标跟踪算法】

      DeepSort是基于Sort目标跟踪进行的改进,引入深度学习模型,在实时目标跟踪过程中,提取目标的外观特征进行最近邻近匹配。匹配机制从原来的基于IOU成本矩阵的匹配变成了级联匹配和IOU匹配,改善了有遮挡情况下的目标追踪效果。同时,加入外观信息,借用了ReID领域模型来提取外观特征,减少了目标id跳变的问题。其核心思想是使用递归的卡尔曼滤波和逐帧的匈牙利数据关联。

② 数据的标记与获取

      我们在实验室内的水箱中和学校内的池塘里,利用水下摄像机获取到视频影像数据并进行了模型训练和测试。使用多目标检测标注软件Darklabel和自行开发的视频对象标记工具VideoAnnotator(地址:https://gitee.com/ctguhzy/VideoAnnotator)对获取到的鱼体数据用矩形框进行标记。输出符合YOLO对象检测标准的训练数据集后,以txt格式在飞桨平台上进行训练。如图,为数据标记后的部分图片结果。

图片

(五)模型训练

1 模型结构

图片

图片

2 模型训练与评估

模型结构,模型的训练、验证和预测等操作分别是在yolov5/classify目录下的train.py、val.py、detect.py文件中进行的,我们将训练好的权重文件保存在output/yolov5/文件夹下。

      运行train.py文件进行训练,训练命令如下:

图片

图片

图片

4 模型效果

① 实验室测试效果

      如视频所示,是在实验室测试时得到的鱼体检测与跟踪结果的画面,图中记录了跟踪时的种类标签和计数结果。

图片

② 捕捞基地实地测试效果

      如图所示,是在实验室测试时得到的鱼体检测与跟踪结果的画面,图中记录了跟踪时的种类标签和计数结果。

图片

(六)环境配置及部署

1 环境配置

 使用的操作系统是NVIDIA Jetson Xavier NX(Jetpack 4.4);Python版本为python3.7,使用的深度学习框架为PaddlePaddle。其中,NVIDIA Jetson Xavier NX通过外形小巧的模组系统(SOM)将超级计算机的性能带到了边缘端,高达21 TOPS的加速计算能力可并行运行现代神经网络并处理来自多个高分辨率传感器的数据。如图所示,为NVIDIA Jetson Xavier NX开发板。

图片

2 模型部署

      首先,将YOLOv5项目克隆并将训练好的模型传入到NVIDIA Jetson Xavier NX,水下摄像头和NVIDIA Jetson Xavier NX连接到同一局域网下。接着,在NVIDIA Jetson Xavier NX上运行detect.py文件来对水下摄像头的视频画面进行推理预测。最后,使用ffmpeg将NVIDIA Jetson Xavier NX的预测视频帧推流到直播平台。

      安装ffmpeg的命令如下:

!apt-get update && apt-get install -y ffmpeg

3 播放器安装

      安装的VLC媒体播放器版本为3.03.4(安卓版),安装成功的界面如下:

图片

# 安装ffmpeg!apt-get update && apt-get install -y ffmpeg

(七)系统组成

1 系统结构

      智慧渔业捕捞计数装置及系统结构设计及安装位置,如图所示。具体功能模块包括,水下摄像信号传输及监测子系统、鱼类智能识别子系统、网箱鱼信息统计子系统、移动端数据传输与分析系统。

      

图片

2 系统硬件组成

      如图所示,系统硬件组成包括水下摄像机、边缘计算服务器、浮动平台和供电组件、显示及控制装置、通信及北斗定位模块。

      

图片

      下图是整体设备展示,各个装置及硬件。

硬件组成

水下摄像机

图片

图片

图片

3 系统软件组成

      软件部分主要由视频推流模块、视频流获取模块、鱼体计数模块、体长体重估算模块和鱼体检测跟踪模块组成。

      

图片

(八)测试、问题解决及结论

1 测试内容

      为了更好地完善项目,我们对此进行了测试,测试工作目标包括:判断硬件系统、软件系统是否能正常稳定工作?

      ① 在硬件稳定性方面。边缘计算服务器是否能持续稳定工作?电池供电是否在预计时长之内?水下摄像头是否能拍摄清晰画面?水下摄像头是否能在夜间正常?通信模块是否能持续稳定工作?

      ② 在软件稳定性方面。视频流获取模块是否能正常获取视频数据?鱼体检测、分类、计数模块是否能正确运行?鱼体体长、体重估算模块是否能正确运行?视频推流模块是否能正确运行?

2 测试中发现的问题及解决方案

      ① 开发前期,我们在学校购买鱼苗和成鱼并经实验验证YOLOv5模型可行。在此过程中,针对深水环境下,摄像机是否可以清晰获取水下画面的问题,我们在深夜场景无光源的条件下,利用水下摄像机拍摄了如下图所示画面。该画面表明,在水下环境无光时,水下摄像头的红外光也可以照亮环境,拍摄出较为清晰的视频画面;另外,在水下较浑浊时,也可以拍摄出类似于右图中所示的较好画面。此画面也证明了根据本项目方案可达到渔业捕捞计数的项目目标。

水下夜视图

水下夜视图(浑浊)

图片

图片

      ② 开发中期,我们到实地进行测试,发现摄像头拍摄到的画面出现发绿的情况,这是由于湖水的深度浅,不足以吸收掉绿光。还有一种原因是由于湖水中含有大量藻类,这些藻类多呈绿色。针对此问题,我们采取调整相机参数和视频画面数据增强的解决方案,下图为调整前后的对比图。

水下拍摄画面(发绿)

调整之后

图片

图片

      ③ 开发后期,针对实地测试时摄像机画面不够清晰的问题,我们拟采取更换测试全红外光相机的方案,并进一步改进优化视频增加算法,设计简洁精确的水下相机安装方法。对于体长体重估算模块未完成的问题,我们将抓紧完成体长体重估算模块并使其保持持续稳定的状态。

4 测试结论

日期检测数漏检数误检数准确率
7月16日368323782.75%
7月17日118313214778.78%
7月18日625687279.80%

      从上表的测试统计数据来看,捕鱼计数系统基本可以较为准确计数通过进鱼通道的鱼数,准确率约为80%。从捕鱼计数系统测试结果来看,捕鱼计数系统基本成形,完成度在80%以上。

(九)市场应用前景

      ① 在用户需求贴合度方面,本项目贴近生活实际及消费市场,有着渔民、微小企业、渔业和水产业等明确的目标用户及使用场景,具有清晰的受众群体和市场定位。

      ② 在效率提升方面,本项目面向渔业捕捞过程,解决了按量按质捕捞的需求和实时观测的实际问题,提供了有效的进鱼数据用以分析。不仅能给渔民和企业带来便利,方便进行鱼类捕捞作业,而且能为水产业、渔业提升产业效率,节约捕捞成本。

      ③ 在市场价值及推广性方面,本项目的可普及性、可泛化程度较高。在设计本项目之前,我们去往重庆市长寿区的长寿湖进行考察,经过外部验证和调查,与重庆市长寿区浩湖渔业有限公司进行合作。合作目标是帮助渔民、渔业企业自动检测并跟踪进入网箱中的鱼,统计各种体长的鱼的数量,把握收网的时机,实现“数字化捕鱼”。通过与企业合作,以渔民作为初始的使用和受益群体,再由个体逐步延申到中小型渔业企业,最后到整个渔业和水产业的链式模式进行推广,因此具有完善的市场推广模式。

      下图为我们在重庆市长寿区长寿湖实地考察时,拍摄的渔民进行捕捞作业时的画面。

      

图片

(十)合作企业介绍

      本项目在重庆市长寿区长寿湖水域湖面安装装置设备进行捕捞,长寿湖全水域隶属于重庆市长寿区浩湖渔业有限公司(国有控股企业)管辖的天然养殖水域,养殖水域中所有的水产品均属国有资产,受法律保护。浩湖渔业有限公司旨在保证长寿湖鱼类自然繁殖,保障渔业资源生态平衡和休闲渔业健康可持续发展,维护长寿湖鱼类自然生态平衡。

      2022年7月初,重庆市长寿区浩湖渔业有限公司的捕捞队在长寿湖进行了新一轮的捕鱼作业。在捕捞装运过程中,使用机械化设备代替人工,提高了工作效率,减少了产品损耗。采用人工装箱,费时费力,经常对鱼造成脱鳞、出血等各种损伤,对销售产生不利影响。使用新型起吊机进行装箱之后,迅速提高了工作效率,同时减少了鱼的损伤,让鱼的出产质量得到保障,提升了销量。此外,为进一步保障产品质量,我们团队与浩湖渔业有限公司进行合作,发展智能化捕捞设备,以期产品的质量得到更好的保障与提升。

      通过我们研发的智能化捕捞设备,能够掌握鱼的个体数据以及数量,以便进行精细化管理,更好的控制捕捞、装箱、运输等环节,从而最大限度保持鱼的鲜活度。

 

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/191268.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vim相关命令讲解!

本文旨在讲解vim 以及其相关的操作! 希望读完本文,读者会有一定的收获!好的,干货马上就来! 初识vim 在讲解vim之前,我们首先要了解vim是什么,有什么作用?只有了解了vim才能更好的理…

【Amazon】云上探索实验室—了解 AI 编程助手 Amazon Codewhisperer

文章目录 一、前言📢二、关于云上探索实验室🕹️三、领学员需要做什么?✴️四、领学员能获得什么?🔣五、学课通道入口👇1️⃣CSDN平台2️⃣网易云课堂3️⃣Skill Builder 平台 六、活动详情链接 一、前言&a…

详解IP安全:IPSec协议簇 | AH协议 | ESP协议 | IKE协议

目录 IP安全概述 IPSec协议簇 IPSec的实现方式 AH(Authentication Header,认证头) ESP(Encapsulating Security Payload,封装安全载荷) IKE(Internet Key Exchange,因特网密钥…

Shell脚本 CPU,内存,磁盘占用率检测

CPU:运算资源占用 内存:RAM类介质 磁盘:ROM类介质 一、CPU #!/bin/bash# 设置阈值,当CPU占用超过该阈值时进行输出提示 threshold80while true do# 使用top命令获取CPU占用信息,并使用grep和awk筛选和解析输出结果…

开源会议通知H5页面邀请函制作源码系统+自动翻页 带完整的搭建教程

现如今,线上活动越来越频繁,而会议邀请函也成为了活动组织者不可或缺的工具。然而,传统的邮件、短信等方式发送邀请函已经无法满足现代人的需求。因此,开发一款现代化的、功能丰富的会议邀请函系统势在必行。下面源码小编将来给大…

Wireshark学习 与 TCP/IP协议分析

Wireshark简介和工具应用 如何开始抓包? 打开wireshark,显示如下网络连接。选择你正在使用的,(比如我正在使用无线网上网),双击 可以先看下自己的ip地址和网关ip地址(看抓包数据时候会用到&…

【React】Antd 组件基本使用

Antd 组件基本使用 第一步 安装并引入 antd 包 使用命令下载这个组件库 yarn add antd在我们需要使用的文件下引入&#xff0c;我这里是在 App.jsx 内引入 import { Button } from antd现在我们可以在 App 中使用 Button 组件 <div>App..<Button type"prima…

基于Mahony互补滤波的IMU数据优化_学习笔记整理

这周自己被安排进行优化软件 IMU 姿态解算项目&#xff0c;之前自己只简单了解四元数&#xff0c;对IMU数据处理从未接触&#xff0c;通过这一周的学习感觉收获颇丰&#xff0c;在今天光棍节之际&#xff0c;&#xff0c;&#xff0c;用大半天的时间对这一周的收获进行整理&…

程序员刚毕业找工作,选大厂和小厂有什么区别

前言 **关于应届生毕业之后应该去大厂好还是小厂好&#xff0c;一直都是被热议的话题之一。**对于刚毕业的应届生来说是一个特别难的问题&#xff0c;怕选择错会后悔。同时周围的亲戚朋友也各抒己见&#xff1a;‘’一定要去大公司&#xff01;大公司名气响&#xff0c;在那里…

Amazon Bedrock | 大语言模型CLAUDE 2体验

这场生成式AI与大语言模型的饥饿游戏&#xff0c;亚马逊云科技也参与了进来。2023年&#xff0c;亚马逊云科技正式发布了 Amazon Bedrock&#xff0c;是客户使用基础模型构建和扩展生成式AI应用程序的最简单方法&#xff0c;为所有开发者降低使用门槛。在 Bedrock 上&#xff0…

医学统计学必备知识点分享,常笑医学为医学生答疑解惑

医学统计学作为医学生必修的一门课程&#xff0c;贯穿了医学生的整个职业生涯&#xff0c;在论文撰写、科研课题设计、医学研究职业发展等方面有着不可替代的重要性。 但是医学统计的学习门槛很高&#xff0c;大学开设的课程往往只侧重于理论&#xff0c;而没有结合实际工作&a…

什么叫做云安全?云安全有哪些要求?

云安全(Cloud Security)是一种基于云计算的安全防护策略&#xff0c;旨在保护企业数据和应用程序的安全性和完整性。云安全利用云计算的分布式处理和存储能力&#xff0c;以更高效、更灵活的方式提供安全服务。 云安全的要求主要包括以下几个方面&#xff1a; 数据安全和隐私保…

reticulate | R-python调用 | 安装及配置 | conda文件配置

reticulate | R-python安装及配置 | conda文件配置 1. 基础知识2. 安装reticulate from CRAN3. 包含了用于Python和R之间协同操作的全套工具&#xff0c;在R和Rstudio中均可使用4. 配置python环境4.1 4种环境配置方式4.2 miniconda 环境install_miniconda()报错一install_minic…

(论文阅读30/100)Convolutional Pose Machines

30.文献阅读笔记CPMs 简介 题目 Convolutional Pose Machines 作者 Shih-En Wei, Varun Ramakrishna, Takeo Kanade, and Yaser Sheikh, CVPR, 2016. 原文链接 https://arxiv.org/pdf/1602.00134.pdf 关键词 Convolutional Pose Machines&#xff08;CPMs&#xff09;…

屏幕截图软件 Snagit mac中文版软件特点

Snagit mac是一款屏幕截图和视频录制软件&#xff0c;它可以帮助用户快速捕捉屏幕上的任何内容&#xff0c;并将其编辑、标注和共享。 Snagit mac软件特点 多种截图模式&#xff1a;支持全屏截图、窗口截图、区域截图、延时截图等多种截图模式&#xff0c;满足不同用户的需求。…

Spark数据倾斜优化

1 数据倾斜现象 1、现象 绝大多数task任务运行速度很快&#xff0c;但是就是有那么几个task任务运行极其缓慢&#xff0c;慢慢的可能就接着报内存溢出的问题。 2、原因 数据倾斜一般是发生在shuffle类的算子&#xff0c;比如distinct、groupByKey、reduceByKey、aggregateByKey…

opencv车牌识别<一>

目录 一、概述 二、ANPR简介 一、概述 本文将介绍创建自动车牌识别(Automatic Number Plate Recognition&#xff0c;ANPR)所需的步骤。对于不同的情形&#xff0c;实现自动车牌识别会用不同的方法和技术&#xff0c;例如&#xff0c;IR 摄像机、固定汽车位置、光照条件等…

模拟接口数据之使用Fetch方法实现

文章目录 前言一、package.json配置mock执行脚本二、封装接口&#xff0c;区分走ajax还是fetch三、创建mock目录&#xff0c;及相关接口文件四、定义接口五、使用mock数据使用模拟数据优化fetch返回数据 六、不使用模拟数据七、对比其他需要使用依赖相关配置如有启发&#xff0…

SpringBoot整合Dubbo和Nacos

1.概述 dubbo是一个高性能、轻量级的开源分布式服务框架&#xff0c;早期由阿里巴巴进行开源。它提供了服务注册、发现、调用和负载均衡等分布式服务治理功能&#xff0c;为分布式开发提供了极大便利。dubbo核心概念包括&#xff1a;Provider&#xff08;消费提供者&#xff0…

代驾预约小程序系统源码 :提起预约,避免排队 带完整搭建教程

大家好啊&#xff0c;又到罗峰来给大家分享好用的源码系统的时间了。今天要给大家分享的第一款代驾预约小程序源码系统。传统的代驾服务中&#xff0c;用户往往需要在酒后代驾、长途驾驶等场景下&#xff0c;面对排队等待代驾司机空闲时间的繁琐过程。这不仅浪费了用户的时间和…