点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
作者:LeonLok
编译:ronghuaiyang
本文转自:AI公园
导读
本文来自github,很实用的一个应用。
git仓库地址:https://github.com/LeonLok/Multi-Camera-Live-Object-Tracking
这个存储库包含了我的目标检测和跟踪项目。所有这些都可以托管在云服务器上。
由于有ImageZMQ,你还可以使用自己的异步处理IP相机。
Deep SORT 和 YOLO v4
Check out我的Deep SORT repository:https://github.com/LeonLok/Deep-SORT-YOLOv4,查看我使用的跟踪算法,其中包括Tensorflow 2.0、异步视频处理和低置信度跟踪过滤。
交通流量计数
这个项目是目标计数应用的一个扩展。
功能
使用DETRAC数据集生成的244,617幅图像进行训练。可以在这里找到我创建的转换代码。
我把这篇论文:https://ieeexplore.ieee.org/document/8909903作为数据准备和训练的指南。
每个跟踪id只计数一次。
通过查看被跟踪目标的路径与计数线的交叉点对目标进行计数。
因此,那些跟丢了但用相同的ID重新跟踪的仍然会被计数。
使用低置信度滤波进行跟踪,来自上面同样的论文。
提供更低的假阳性率。
跟踪目标显示平均检测置信度。
跟踪的类别由最常见的检测类别确定。
显示检测结果是可选的(但是隐藏了平均检测置信度)。
可以使用多个IP摄像头。
方向计数可以配置为基于角度。
每一小时的间隔记录计数。
总的计数
基于类别的计数
记录每个计数目标的交叉详细信息。
交叉时间
交叉点坐标
交叉角度
可以托管在云服务器上。
注意,由于DETRAC不包含任何摩托车,它们是唯一被忽略的车辆。此外,DETRAC数据集只包含中国的交通图像,因此由于缺乏训练数据,它很难正确地检测出其他国家的某些车辆。例如,它经常会将掀背车误归为suv,或者由于不同的颜色方案而无法识别出租车。
目标计数
这个项目最初打算成为一个应用程序,用于使用我自己的智能手机计算当前在多个房间的人数,服务器被远程托管。下面展示了对人和汽车的检测、跟踪和计数。
功能
对当前视场中的物体进行计数
跟踪可选
支持多个IP相机
每间隔一个小时记录一次当前的计数
当前的总数
当前每个类别的计数
可以托管在云服务器上
使用我自己的智能手机作为IP相机
训练你自己的机动车跟踪模型
我使用DETRAC训练带有v3标注的数据集训练了YOLOv4和Deep SORT模型。我提供了将DETRAC训练图像和v3标注转换为正确格式的脚本,用于训练YOLOv4模型和Deep SORT跟踪模型。
Deep SORT 转换参数
DETRAC图像转换为Market 1501训练格式。
遮挡阈值 - 忽略遮挡比率过高的车辆序列。
截断阈值 - 忽略截断率过高的车辆序列。
出现的次数 - 车辆序列太短(即没有足够的图像)被丢弃后,考虑遮挡和截断比率。
YOLO 转换参数
DETRAC图像被转换成Darknet YOLO训练格式。
遮挡阈值 - 忽略遮挡比率过高的车辆序列。
截断阈值 - 忽略截断率过高的车辆序列。
两种模型都在DETRAC训练集上进行了训练和评估,但由于缺少v3标注,测试集还没有评估,我也没有MATLAB用于Deep SORT的评估软件。到目前为止,对于我的用例来说,它已经足够好了。
使用的硬件
Nvidia GTX 1070 GPU
i7-8700K CPU
为了让大家了解我们的期望,我可以运行两个流量计数流,每个流大约10fps(正如你在流量计数gif中看到的)。当然,这在很大程度上取决于流分辨率以及用于检测和跟踪的帧数。
YOLO v3 vs. YOLO v4
当我第一次开始目标计数项目时,我使用YOLOv3,跟踪帧率大约是10FPS,很难一次运行多个流。使用YOLOv4可以更容易地运行具有更高分辨率的两个流,并提供更好的检测精度。
依赖
Tensorflow-GPU 1.14
Keras 2.3.1
opencv-python 4.2.0
ImageZMQ
numpy 1.18.2
Flask 1.1.1
pillow
这个项目是在Python 3.6上构建和测试的。
感谢相关贡献者
https://github.com/miguelgrinberg/flask-video-streaming
https://github.com/Ma-Dan/keras-yolo4
https://github.com/nwojke/deep_sort
https://github.com/Qidian213/deep_sort_yolov3
https://github.com/yehengchen/Object-Detection-and-Tracking
—END—
英文原文:https://github.com/LeonLok/Multi-Camera-Live-Object-Tracking
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目31讲
在「小白学视觉」公众号后台回复:Python视觉实战项目31讲,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~