使用机器学习数鱼苗的可行性?

2022-04-07 16:42:14 +08:00
 thinkershare

前一段时间, 一个养鱼的朋友咨询了我一个问题, 就是用手机拍几分钟长的鱼苗视频, 然后用电脑计算数目, 准确性要求 99%左右, 这个在技术上是否可行? 我主要是疑惑视频处理, 因为鱼有相互遮挡, 而且在游动, 识别并标记后该如何去重, 是否可以做到高准确率. 另外她对最终软件的价格也比较敏感, 最好不要超过 1W, 这个成本下, 使用机器学习是否在成本上可接受(包括研发)

2999 次点击
所在节点    机器学习
31 条回复
noe132
2022-04-07 16:48:50 +08:00
不了解机器学习,但我觉得问题很简单,如果你用手机拍下来的视频,人通过慢放重复播放能数出来,那么相对来说用计算机也能比较容易实现。如果人都没法数,那计算机怎么知道要怎么数
zuiluo
2022-04-07 16:53:23 +08:00
清晰度足够的话,技术是可行的。对比视频数鱼,可能用图片数鱼简单的多,

因为视频可能存在的技术难点,数到 X 条鱼,视频镜头转向别处,过了一会儿,又把镜头转回来。鱼的姿态已经发生了改变+镜头角度视角可能改变,这个时候怎么标记这条鱼已经被数过了
Puteulanus
2022-04-07 16:54:01 +08:00
去重可以参考下这个连续帧计算车辆数的
https://stackoverflow.com/questions/36254452/counting-cars-opencv-python-issue

连续帧追踪移动目标好像是有不少成熟技术的
https://python.iitter.com/other/273189.html
kop1989smurf
2022-04-07 16:54:32 +08:00
机器学习数鱼苗,可以。

准确性要求 99%,不能拍鱼塘全景,视频内容不清晰,不行。
westoy
2022-04-07 17:04:49 +08:00
摄像头方案明显不可行啊

鱼又不是 2D 穿梭的, 而且小鱼那速度, 你不想拍出一堆动态模糊还得用工业高帧率相机, 还得多机位, 还得改造水下布光

我记得大致评估鱼群数量不都基于声纳的么....

感觉加几个 0 都不一定能做出来 80%~90%可用的方案
sadfQED2
2022-04-07 17:04:52 +08:00
理论上,如果水足够透明,每条鱼都能清晰看到,或许可行

我想到的思路,

1.使用 yolo 网络给每条鱼进行定位
2.计算每条鱼的特征值,用来去重(思路类似人脸识别)

但是 1 万块钱的预算是绝对不够的,1 万块钱别说开发了,你请人做数据标注都不够。另外,99%这个精度也挺难的,真要做到这个级别的精度估计得 500 万起步吧
GeruzoniAnsasu
2022-04-07 17:05:43 +08:00


高中没听说过标记重捕法?


投放 100 只假鱼,让其均匀分散,然后重新捕捞采样计数假鱼和真鱼的数量,假设捞回来 2 假 30 真,那么鱼池中约有 30 *(100/2) 条鱼



这种问题为啥要机器学习
thinkershare
2022-04-07 17:07:13 +08:00
@kop1989smurf 你可能没有养过鱼. 养鱼的每年都需要购买鱼苗, 鱼苗用杯子人一尾一尾的数, 然后放到一个更大的鱼盆里面, 在然后放进鱼塘. 这个过程中, 清晰度, 全景都不是特别大的问题. 核心在准确率, 如果准确度太低 90%一下, 就完全失去了实用价值.
thinkershare
2022-04-07 17:08:42 +08:00
@GeruzoniAnsasu 实际养鱼的反正没人这么用, 具体原因我也不大清楚!
GeruzoniAnsasu
2022-04-07 17:09:58 +08:00
为啥我直接跳过了「能不能机器学习」这个过程

—— 因为不知道大家见没见过鱼苗,都只有拇指那么大点,一池子就是一坨黑糊糊的玩意,然后还有水流光照环境影响,根本就不是拍张照片能数清的,视频游动的就更不显示了,除非你说的是那种一缸子只有三五只的红色锦鲤,对比度大数量少。那还有希望用视觉算法「玩一下」


鱼苗?

……
thinkershare
2022-04-07 17:10:27 +08:00
@GeruzoniAnsasu 买鱼苗不是这个流程
sadfQED2
2022-04-07 17:14:03 +08:00
@thinkershare 你说的清晰和我们说的清晰不是一个概念,如果要基于鱼的图片做去重,至少要保证鱼的纹理能足够清晰,单纯拿手机摄影我觉得肯定清晰度不够。而且你手机拍摄过程中还可能晃动等各种问题,总的来说,我觉得无论多少钱这个思路都绝对不可行
GeruzoniAnsasu
2022-04-07 17:15:15 +08:00
@thinkershare 哦那我想象的场景有偏差,我以为是育苗的过程大范围估算种群的数量。

你想找的是投放时精确计量一小部分,总量可数的方案

那应该还是比较可行的,分散度和背景都还比较可控
thinkershare
2022-04-07 17:16:44 +08:00
@GeruzoniAnsasu 不是的, 我看过她拍的那个视频, 那个鱼苗其实用机器识别肯定是可以识别的(2 厘米左右长), 一个 1.5m 直径的盆里面大概 1,200 尾, 因为我搞过自动驾驶的点云识别,主要是去重和成本是否可行! 他们这个行业很多都是用人数的, 因此成本可以在后期复用摊薄研发成本.
popok
2022-04-07 17:37:04 +08:00
@kop1989smurf #4 他是数鱼苗,不需要鱼塘。
这种方案有现成得提供方得,我抖音上刷到过很多次了。

类似的有建材行业数钢管得
popok
2022-04-07 17:40:47 +08:00

网上直接就有相关得方案,可行性肯定没问题。
至于相互遮挡覆盖,多次测试,校正不就完了。
Laurenfrost
2022-04-07 17:41:51 +08:00
让大家光凭想象讨论可行性,得到的也未必会是你想要的结果,不如你先放个图片或者视频作为例子,这样更直观一些。
gamexg
2022-04-07 17:48:50 +08:00
你的鱼苗如果是这种密度,感觉没指望。

https://www.xuxiaomu.com//ueditor/php/upload/image/yumiao3.jpg
thinkershare
2022-04-07 17:48:53 +08:00
@bellfahle 就和 @popok 提供的图片差不多, @popok 有现成的话, 我就去找下链接, 然后扔给她, 让她自己去咨询, 我自己也没时间帮她折腾. 我感觉原理上应该是没问题的, 我也在网络上搜索了一下, 没找到合适的成品解决方案.
stimw
2022-04-07 17:52:00 +08:00
@westoy 避免动态模糊不需要高帧率,提高快门速度就可以了。。动态模糊=快门 /帧率

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/845512

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX