面向交通流目标检测+跟踪 想做成落地服务,有什么好的建议吗?

2020-02-20 13:12:53 +08:00
 clemente0620

https://www.bilibili.com/video/av89683287

web 或 上位机 gui 还是原生视频叠层?

功能上不知道还需要做哪些

现在有的功能 1.警戒区闯入报警+跟踪码记录 2.按种类截面交通流计数 3.运行轨迹->短期预测->提前报警或者其他扩展 4.速度预测 这个需要标定还没做(感觉意义不大) 5.日报表生成

2879 次点击
所在节点    分享创造
18 条回复
mathzhaoliang
2020-02-20 16:58:19 +08:00
应用场景是江面上船的交通流吗?
clemente0620
2020-02-20 17:57:57 +08:00
@mathzhaoliang 车 船 行人 甚至 畜牧场 草原的动物 都可以
clemente0620
2020-02-20 17:58:52 +08:00
@mathzhaoliang 还有密集物体的快速数量统计和交通密度估计以评估 jam 值
Moker
2020-02-20 18:06:54 +08:00
个人做这个没有优势啊 有需求的基本自己做了 或者找知名的一些公司接入
opengps
2020-02-20 18:09:12 +08:00
这个跟我的车载定位器相似
mathzhaoliang
2020-02-20 20:32:03 +08:00
@clemente0620 你能说一下,你是怎么解决车辆轨迹和速度预测的吗?我觉得车辆和船的场景差别很大。
clemente0620
2020-02-20 21:24:14 +08:00
@mathzhaoliang 因为摄像头是固定距离的 透视仿射处理后 像素移动的真实速度估值 , 车辆轨迹预测是很简单的网络拟合估计
mathzhaoliang
2020-02-20 21:33:59 +08:00
@clemente0620 几个问题你思考一下应该怎么解决:

1. 选取哪个像素来进行透视变换?
2. 透视变换投影的结果是相机焦点与像素的连线与地面交线,一般会落在车辆的后面。
3. 神经网络检测车辆的时候给出的 bounding box 会有抖动,你怎么消除这个抖动?
4. 交通场景里面经常有车辆的加速减速,车辆的错车会车,你怎么解决追踪 id 丢失和切换的问题?
pascalsun
2020-02-21 09:29:00 +08:00
目前你这些功能,国外的游艇会应该比较感兴趣。可以监测进出的游艇船只数量。如果测速准的话,水警可以开罚单。
clemente0620
2020-02-21 10:49:51 +08:00
@pascalsun 国产激光雷达可以完成这个需求,而且预算低
clemente0620
2020-02-21 10:58:36 +08:00
@mathzhaoliang

1. 最好转换成俯视图来做,透视转换矩阵也只能随机去尝试,很难找到最优
2. 通过变换,将视频画面转换成“俯视视角”(站在道路上方俯视道路)。经过这种变换之后,路面所有的运动目标都可以看作是 2D 平面运动,变换之后的每像素所代表的实际物理距离固定不变(米 /像素)。这样一来,计算实际物理速度就非常简单了,先计算像素速度,然后再乘以一个固定值即可得到实际物理速度。当然这是有误差的 10% ++
3. 整体滑动平均 或者 从主干网络选型上着手
4. 这条可以选择 仿照 交通监控灯的布置 (行驶道平行视角的 45 度角斜射摄像头摆放)这样能最大程度获取有效特征,避免遮挡沾粘
clemente0620
2020-02-21 11:02:20 +08:00
@mathzhaoliang 实际上,船要比车难做,因为满载的船特征区别度不大,可能在某些视角上看 就是一条细长的长条矩形,比如我视频后段,那条船是集装箱+矿砂两用内河船,前半段特征是内河船,后半段集装箱明显,所以造成了来回切换。
clemente0620
2020-02-21 11:07:01 +08:00
@mathzhaoliang 我基础不扎实,哈哈可能说的有些不对,边查边做的
mathzhaoliang
2020-02-21 11:44:30 +08:00
@clemente0620

俯视图会把物体变形,所以在俯视图里面是没法做神经网络检测的。而且俯视图是有范围限制的,你说的看作是 2D 平面运动,其实只能看相机下方一小块地方,超出范围物体就被拍扁了完全无法辨认。

"整体滑动平均" 不知何意。至少你应该有一个扩展 Kalman 滤波来稳定轨迹。

最后一条不知道你做不做追踪,船的动力学很简单,只能近似匀速地前进后退,慢慢拐弯。车辆要复杂很多,人就更随意了。轨迹变化导致的跟丢是很常见的事情。
ianshow15
2020-02-24 09:26:19 +08:00
@mathzhaoliang

大佬您好,想咨询一下您提问的第 4 点的想法。您说的这种问题,在您看来有办法解决或者避免吗?
mathzhaoliang
2020-02-24 10:04:29 +08:00
@ianshow15 我不清楚有没有一劳永逸一下解决的高明办法,我觉得需要多种手段一起使用.一个是轨迹暂时跟丢的话可以给它一个虚拟生命周期,后面匹配的话可以接上.一个是对不同的对象进行动力学建模,使用扩展或者无迹 Kalman 滤波进行追踪.一个应该是进行特征点的计算,对 mask/bbox 里面的对象作 iou 之外的二次检测. 最后还有需要稳定神经网络输出的 box 的抖动.
ianshow15
2020-02-24 12:34:19 +08:00
@mathzhaoliang
所以现在这种场景下应该是还没有实际可用的完美的解决方案的吧?很多时候看到的都是 demo 视频,实际真的运用上了可能会暴露很多问题的吧?
mathzhaoliang
2020-02-24 13:44:50 +08:00
@ianshow15 完美方案肯定没有。追踪的关键是神经网络的检测输出稳定,神经网络做不到,整体就做不到。

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

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

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

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

© 2021 V2EX