请教下领导提出图像识别的这种思路是否可行?

2020-01-08 08:58:26 +08:00
 xiaolinjia

需求是领导想做一个船只的目标跟踪,即不断截取摄像头的图片,然后用 TensorFlow 等,框选出当前船只在图片中的像素坐标,再调用摄像头的移动命令去使其移动以保持船只在摄像头中间。

姑且当其识别的比较准的前提下,测试发现有一个问题。

如果有其他船只从旁边经过(即和目标船只出现在同一个摄像头中)的时候,因为图像识别到两艘船,且坐标不同,这时,我就不知道要跟哪艘了。

针对这个问题,领导跟我说,让我看看 opencv 的相似度计算。他思路是,把之前框选的船只图,保存下来(不是保留摄像头整个图片,而是仅框选的船只图片),然后再把这个船,和之后的摄像头的图片做相似度计算,再判断出是要跟着哪艘船?

注:是用框选出的小图,和整张摄像头的大图进行相似度计算。

我也不是很懂机器学习这块,只是懂 python 就让我上了。。所以我想请问下这种思路到底可行不,如果是比较困难的话,或者有大佬提出其他可行的想法?

10679 次点击
所在节点    Python
83 条回复
lscho
2020-01-08 09:44:58 +08:00
感觉不需要用相似度识别

1.船只移动速度很慢的。摄像头的移动频率不太低的话,几乎可以保证跟踪的船只处于中间位置。别的船只进入画面肯定是从边缘进入,这样只跟随最中间的那个就行了。

2.因为船只航向几乎是固定的,不会有大幅度变化,只要有两三帧图片就可以预测一下下次位置。多艘船不可能航向都一致。。。如果一致的话,也不用处理了。都在画面内。
gzchen
2020-01-08 09:45:34 +08:00
reid
gzchen
2020-01-08 09:46:03 +08:00
object detection,tracking,reid
lingxi27
2020-01-08 09:46:10 +08:00
正解就是目标跟踪
Muniesa
2020-01-08 09:51:36 +08:00
@wangxiaoaer
1 需要很多样本训练,大量不同船只不同角度照片可以让训练效果更好,最终效果就是判断图片里的是不是船,判断两张照片区别单靠 tensorflow 应该做不到(也可能有方法但是我不知道)
2 我知道的 SIFT 算法找特征点不需要人工参与,一定范围内的角度变化不会影响结果
iseejun
2020-01-08 09:59:56 +08:00
我们的摄像头的移动侦测,人形侦测大约就是这样的
i4oolish
2020-01-08 10:01:43 +08:00
nb plus
robot777
2020-01-08 10:03:24 +08:00
思路是对的,但是我觉得未必可以同 tf 实时检测控制摄像机跟踪,用传统的 opencv 方法就可以达到嵌入式实时,难点在交叉船不跟错
dick20cm
2020-01-08 10:04:04 +08:00
目标检测+追踪+卡尔曼滤波
imn1
2020-01-08 10:09:36 +08:00
此题我第一反应不是商用,而是军用

不要啥都图像识别,要结合实际,知识组合才是解决问题的方案
1.运动方向,船只是基本没有后退的
2.运动速度,实际也是你的机器移动 /转动的速度
3.距离

不过有个疑问,目标是摩托艇么?不会是中国海军的鱼雷快艇吧?
phli
2020-01-08 10:12:04 +08:00
opencv 的相似度应该可以。前后两张照片相似度大的,为要跟着的那艘船。
imn1
2020-01-08 10:18:21 +08:00
@turi
@wangxiaoaer
opencv 不是只有模板匹配,还有特征匹配
模板匹配需要样本较少,也可以一个样本直接匹配;但特征匹配需要样本较多,然后预训练出特征

如果是现场采样,就是人工发现目标、锁定,机器跟踪这种,就恐怕来不及训练
coderluan
2020-01-08 10:23:14 +08:00
我们做过类似的,球场上跟踪球员,然后两个球员一交叉就有类似的问题,然后首先 opencv 相似度这个完全不行啊,或者说准确度会很低,然后解决这个问题最好别指望用两站图能解决,而且需要参考之前没交叉之前的大量正确图像,比如通过光流法判断运行状态这种。
haosamax
2020-01-08 10:34:02 +08:00
领导是导师的意思吗(忽略我低学历的渣渣)
xiaoxingzhi
2020-01-08 10:35:35 +08:00
完全可行,这个很入门,很初级,直接做吧
iuhiyuh
2020-01-08 10:39:27 +08:00
完全可行,追踪的方面建议试试单目标追踪的方法。ps:自动驾驶就这么弄的
iyaozhen
2020-01-08 10:41:48 +08:00
肯定可行,实际也有了,比如江上面识别挖沙船
wangxiaoaer
2020-01-08 10:59:26 +08:00
@Muniesa #25 多谢。
tuzexiansheng
2020-01-08 11:02:12 +08:00
1.绝大多数船首或尾都有船号,可以作为判定依据。
2.对监控区域部署多机位多角度同步采样。
yuruizhe
2020-01-08 11:02:20 +08:00
@SorryChen deepsort 是卡曼跟踪吧,完全 tracking by detection,为了指标我还是建议走 SiamNet 系列。。。。
而且 deepsort 啥时候是深度特征了??? Siam 系列才是深度特征吧。。。。

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

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

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

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

© 2021 V2EX