老百姓的日常餐桌上总少不了鱼,大快朵颐背后,您是否想到过,这些海产品通常都经过水产养殖企业的科学养殖处理,且肉感鲜美,安全可靠。
然而,水产养殖企业的大多数工作仍旧大量依靠人力,工人需要在潮湿环境下进行高强度的渔业作业,造成了鲜有年轻人愿意从事这类繁重、恶劣的工作。因此实现水产养殖的自动化流程,对水产养殖企业来说是极大的需求。
水产养殖企业的一个主要卖品就是鱼,包含各种鱼类的鱼苗和成鱼。鱼苗通常会被进行饲养,直到养成成鱼后再卖出。成鱼则是会被放进池塘中进行观察饲养。由于鱼苗的个体小,在一个水盆里很难判断鱼苗的数量,因此需要通过视觉目标检测的方法来对鱼苗计数。在国内、国外都有成熟的鱼苗计数器来对鱼苗的数量进行计数,有较高的准确率,但是却很少有成熟的、针对成鱼的计数产品。
来自华南理工大学自动化科学与工程学院的研究生林锐描述说:“一方面,成鱼的活动性要比鱼苗强得多,使得成鱼在不同时刻可能有不同的姿态,给视觉检测造成困扰;另一方面,成鱼之间相互重叠遮挡的情况更为明显,较难从二维图像中判断鱼遮挡重叠时的数量情况。”
用实例分割模型对成鱼计数
作为校企合作项目,林锐和他的小伙伴们一起,与某水产养殖企业合作,目标是帮助企业在放鱼作业时能了解鱼的数量和大致重量。
本项目的应用场景是:水产养殖企业将采购的鱼装在车厢中,并载回到养殖场,将车厢和放鱼槽连接,放鱼槽另一端连接池塘,放鱼槽上安装了本项目的鱼计数和估重系统。打开车厢的闸门,将鱼放进放鱼槽并流向池塘,该系统则开始对鱼进行计数和估重,并将结果上传到后台服务器中。

图1 放鱼槽示意图
图 1 中的 ① 即为 NVIDIA Jetson Xavier NX 设备,② 为摄像头,① 和 ② 组成了本项目的硬件设备。③ 为该项目的实验对象。④ 为该项目所需要的放鱼槽设备。
林锐和他的队员们决定,使用深度学习实例分割算法作为鱼的目标检测模型。“实例分割是语义分割和目标检测的集成,它具有目标检测的功能,同时能对目标进行像素级的分割。”林锐介绍说。
利用图像中的一些语义信息,来帮助模型对相互遮挡重叠的鱼进行识别,从而使算法能更好地对成鱼进行计数。利用实例分割模型得到的目标掩膜,可以建立目标像素面积和重量的一个线性模型,通过这个模型得到鱼的估计重量,帮助企业能较好地了解这一批次鱼的数量和重量。
在算力和成本中达到最佳平衡
同学们利用现场收集的上千张鱼的图片作为训练数据集,部分图片如图 2 所示。

图 2 训练集图片
利用收集的鱼类数据集训练算法,使用了 PyTorch1.4 框架,CUDA10.0 以及 NVIDIA GPU 进行训练,并且算法的 Backbone 层修改为 ResNet18。在训练完算法之后,先将模型转化为 ONNX 格式,将模型权重导出为 wts 格 式,并通过 TensorRT 框架实现 YOLACT 算法的加速引擎。部署到 Jetson Xavier NX 上使用的是 C++ 语言,然后使用了 Qt 开源框架搭建了一个人机操作界面,并且移植到 Jetson Xavier NX 平台上。
“由于本项目用到实例分割算法,需要算力较高的设备。”林锐说,权衡了成本后,最终选择 NVIDIA Jetson Xavier NX。它拥有 384 个 CUDA 核心以及 48 个 Tensor 核 心,Volta 架构,在 INT8 数据格式下可以达到 21TOPS 的算力,在 FP16 数据格式下可以达到 10TOPS 的算力。
将整个 Qt 程序移植到 NVIDIA Jetson Xavier NX 设备上,最后的呈现效果如图 3 所 示。

图 3 Jetson Xavier NX 界面显示
“虽然本项目主要研究成鱼的计数和估重,只是水产养殖业中的一个简单环节, 但是本项目的技术可以推广到水产养殖业的其他工作任务,”林锐说,“国内的水产养殖企业大多是劳动密集型企业,大多数工作需要人力来完成。因此,通过引进一些智能科技,帮助水产养殖企业打造自动化流水线,能提高水产养殖企业的经济收益和工作效率。这将有利于原型机产品的推广和研发,并打开一个新的市场。”
给 Jetson 开发者们的建议
作为资深开发者,已经使用了好几代 NVIDIA Jetson 产品的林锐说:“Jetson 系列有多个不同型号的设备,适用于不同的应用场景和需求。因此,在选择 Jetson 设备时,需要根据自己的需求选择合适的设备。”
“作为 NVIDIA Jetson 用户,需要深入了解设备的功能和性能,学习优化代码以实现更好的性能。与此同时,Jetson 拥有一个活跃的社区,包括开发者、用户和爱好者。加入社区可以获得帮助、分享经验和学习新技能。Jetson 社区还有许多活动和比赛,可以帮助用户提高技能,认识到更多的应用场景。”
*本文中图片均由华南理工大学自动化科学与工程学院的林锐提供,如果您有任何疑问或需要使用本文中图片,请联系林锐同学。
好文章,需要你的鼓励
PDF协会在欧洲会议上宣布,将在PDF规范中添加对JPEG XL图像格式的支持。尽管Chromium团队此前将该格式标记为过时,但此次纳入可能为JXL带来主流应用机会。PDF协会CTO表示,选择JPEG XL作为支持HDR内容的首选解决方案。该格式具备广色域、超高分辨率和多通道支持等优势,但目前仍缺乏广泛的浏览器支持。
华东理工大学团队开发了3DEditFormer系统和3DEditVerse数据集,首次实现了无需手工3D遮罩的高质量3D模型编辑。该技术通过双重引导注意力和时间自适应门控机制,让3D编辑变得像2D修图一样简单直观,在游戏开发、影视制作、AR/VR等领域具有广阔应用前景,标志着3D编辑技术向普及化迈出重要一步。
Ironclad OS项目正在开发一个新的类Unix操作系统内核,面向小型嵌入式系统,计划支持实时功能。该项目的独特之处在于采用Ada编程语言及其可形式化验证的SPARK子集进行开发,而非常见的C、C++或Rust语言。项目还包含运行在Ironclad内核上的完整操作系统Gloire,使用GNU工具构建以提供传统Unix兼容性。
上海AI实验室联合多所高校突破多模态AI训练难题,提出NaViL原生训练方法。通过预训练语言模型起点、混合专家架构和视觉-语言能力最佳平衡三大创新,在有限资源下实现与拼装式模型相当性能。该研究证明原生训练的可行性,为AI真正理解图文结合提供新思路,有望在教育、医疗等领域带来更自然的人机交互体验。