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

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

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

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

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

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

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

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

10656 次点击
所在节点    Python
83 条回复
KisekiRemi
2020-01-08 09:04:32 +08:00
虽然回答不了你的问题,但有些羡慕你的领导。。。
SorryChen
2020-01-08 09:06:31 +08:00
完全可行,这其实是两个算法。一个 detection,用于检测出船只。一个 tracking,意思就是跟踪标号,找出当前帧中检测出的船只与之前帧中哪个船只是同一个,同一个的话就标同样的 ID,给你个示例算法,你去搜搜看:deepsort。
luckyrayyy
2020-01-08 09:08:19 +08:00
两个船不可能完全重叠吧,从旁边经过角度和距离肯定有差距。不过我有疑问的是“姑且当其识别的比较准的前提下”,真的能有这么高的准确度吗?大疆的无人机跟人就经常有跟丢了的情况。
b821025551b
2020-01-08 09:08:20 +08:00
然而两只船有可能长得完全一样
xiaolinjia
2020-01-08 09:08:45 +08:00
@SorryChen 这船只是移动的也可行吗?就是上一帧框选的船,在之后的帧里,什么方位啊,角度都不一样了,这也是可行的吗?
aogu555
2020-01-08 09:08:53 +08:00
目标跟踪。如果画面里只有一艘船的时候,这一帧找到了,可以记录下船只在图片的位置,下一帧从这个位置附近扩大一点的区域开始找,并且那块区域优先级更高。只是提供一下想法,我没接触过这种领域。
sadfQED2
2020-01-08 09:09:03 +08:00
理论上可行,但是门槛有点高。计算相似度那个可以复用你找船只的模型。你把最后全连接层的数据输出,然后求余弦相似度。
psychoo
2020-01-08 09:09:24 +08:00
为什么不是前小图和后小图做相似度?
xiaolinjia
2020-01-08 09:09:59 +08:00
@luckyrayyy 现在只能说姑且还算是比较准吧,如果不够准,只是再继续训练了,。
CallMeReznov
2020-01-08 09:11:16 +08:00
哈哈哈
之前这边有人还提出过用摄像头跟踪记录进入区域的船只的吃水线,如果入区和出区吃水线不一就报警

为了防止那种流动非法采砂的。
SorryChen
2020-01-08 09:11:25 +08:00
@xiaolinjia 可以的,deepsort 之类的跟踪算法用的是深度特征进行的追踪,相对更加鲁棒。但是精度自然会随着你的场景复杂度增加而变差。
xenme
2020-01-08 09:13:03 +08:00
跟踪啊,两艘船不可能突然跳到另外一个很远的位置
SorryChen
2020-01-08 09:14:01 +08:00
还有就是实际上船只这种移动不是很快的物体,你既然知道了相机的移动参数,很容易就能算出一个预测出的大概的下一帧的目标区域,结合这些跟踪算法,精度一般不会太差了。
Cola90
2020-01-08 09:14:39 +08:00
oahebky
2020-01-08 09:17:10 +08:00
wingyiu
2020-01-08 09:23:08 +08:00
可行的,我搞过特定水印识别
turi
2020-01-08 09:25:44 +08:00
感觉走 opencv 在走弯路
opencv 是先弄一个模板出来,然后在图片里面搜索模板。移动摄像头后,换了角度,船的成像都发生变化,还匹配个锤子。

TensorFlow 没玩过,训练船只估计调参数也得调试一阵子吧。
hardyfish
2020-01-08 09:37:48 +08:00
kalman 滤波 做跟踪预测用的
wangxiaoaer
2020-01-08 09:38:34 +08:00
对图像识别不太了解,借这个楼问几个问题:

1 基于 TF 的识别,是不是要很多样本数据:大量不同船只的不同角度照片?最终达到的效果是什么?给定一张图片,他可以判断这个是不是一艘船?那么给定两张照片,他能分别判断出是不是船只,但是能判断出这两张照片的区别吗?

2 从照片找特征点,这个特征点需要人工参与吗?还是自动计算的?如果是自动计算,移动目标感觉很难,前一秒选出来的特征点在后一秒可能就因为角度问题看不到了。
hyy1995
2020-01-08 09:43:22 +08:00
都这么先进了吗,害怕。。。

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

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

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

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

© 2021 V2EX