当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

Multi-Camera-Live-Object-Tracking

授权协议 GPL-3.0 License
开发语言 Python
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 不详
投 递 者 越源
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Multi-Camera Live Object Tracking

This repository contains my object detection and tracking projects. All of these can be hosted on a cloud server.

You can also use your own IP cameras with asynchronous processing thanks to ImageZMQ. I've written a blog post on how to stream using your own smartphones with ImageZMQ here.

Deep SORT and YOLO v4

Check out my Deep SORT repository to see the tracking algorithm that I used which includes the options for Tensorflow 2.0, asynchronous video processing, and low confidence track filtering.


Traffic Counting (Link)

This project is an extension of the object counting app.

(Full video)

Features

  • Trained using a total of 244,617 images generated from the DETRAC dataset. You can find the conversion code that I created here.
    • I used this paper as a guideline for data preparation and training.
  • Only counts each tracking ID once.
  • Counts objects by looking at the intersection of the path of the tracked object and the counting line.
    • Hence, those that lose tracking but are retracked with the same ID still get counted.
  • Tracked using low confidence track filtering from the same paper.
    • Offers much lower false positive rate.
    • Tracked objects show average detection confidence.
    • Tracked classes determined by most common detection class.
  • Showing detections is optional (but hides average detection confidence).
  • Multiple IP cameras possible.
  • Video streaming possible via emulated IP camera.
  • Directional counts can be configured based on angle.
  • Records counts for every set interval of the hour.
    • Total count.
    • Class-based counts.
  • Records intersection details for each counted object.
    • Time of intersection.
    • Coordinate of intersection.
    • Angle of intersection.
  • Can be hosted on a cloud server.

Note that since DETRAC doesn't contain any motorcycles, they are the only vehicles that are ignored. Additionally, the DETRAC dataset only contains images of traffic in China, so it struggles to correctly detect certain vehicles in other countries due to lack of training data. For example, it can frequently misclassify hatchbacks as SUVs, or not being able to detect taxis due to different colour schemes.


Object Counting (Link)

This project was originally intended to be an app for counting the current number of people in multiple rooms using my own smartphones, where the server would be remotely hosted. Below shows detection, tracking, and counting of people and cars.

Features

  • Counts the current number of objects in view.
  • Tracking is optional.
  • Multiple IP cameras possible.
  • Records current counts for every set interval of the hour.
    • Current total count.
    • Current class-based counts.
  • Can be hosted on a cloud server.

Using my own smartphones as IP cameras


Training your own vehicle tracking model (Link)

I trained a YOLO v4 and Deep SORT model using the DETRAC training dataset with v3 annotations. I've provided the scripts for converting the DETRAC training images and v3 annotations into the correct format for training both the YOLO v4 model as well as the Deep SORT tracking model.

Deep SORT conversion parameters

DETRAC images are converted into the Market 1501 training format.

  • Occlusion threshold - ignore vehicle sequences with too high occlusion ratio.
  • Truncation threshold - ignore vehicle sequences with too high truncation ratio.
  • Number of occurrences - vehicle sequences that are too short (i.e. not enough images) are discarded after considering occlusion and truncation ratios.

YOLO conversion parameters

DETRAC images are converted into the Darknet YOLO training format.

  • Occlusion threshold - ignore vehicle sequences with too high occlusion ratio.
  • Truncation threshold - ignore vehicle sequences with too high truncation ratio.

Both models were trained and evaluated on the DETRAC training set, but no evaluation has been done yet on the test set due to lack of v3 annotations and I don't have MATLAB for the Deep SORT evaluation software. It's been good enough though for my use case so far.


Hardware used

  • Nvidia GTX 1070 GPU
  • i7-8700K CPU

To give some idea of what do expect, I could run two traffic counting streams at around 10fps each (as you can see in the traffic counting gif). Of course, this heavily depends on stream resolution and how many frames are being processed for detection and tracking.


YOLO v3 vs. YOLO v4

I used YOLO v3 when I first started the object counting project which gave me about ~10FPS with tracking, making it difficult to run more than one stream at a time. Using YOLO v4 made it much easier to run two streams with a higher resolution, as well as giving a better detection accuracy.


Dependencies

  • Tensorflow-GPU 1.14
  • Keras 2.3.1
  • opencv-python 4.2.0
  • ImageZMQ
  • numpy 1.18.2
  • Flask 1.1.1
  • pillow

This project was built and tested on Python 3.6.You can use the conda environment file to set up all dependencies.


Credits

  • 原文链接:RGB-D       This is an incomplete list of datasets which were captured using a Kinect or similar devices. I initially began it to keep track of semantically labelled datasets, but I have now also

  • Motion Tracking 目录 Motion Tracking 示例和源代码 实现 验证 在 Android 9 中,摄像头设备可以支持运动跟踪功能。支持此功能的摄像头本身不会生成运动跟踪数据,而是供 ARCore 或图像稳定算法以及其他传感器用于进行场景分析。要支持此功能,设备必须支持 CONTROL_CAPTURE_INTENT_MOTION_TRACKING。如果该 intent 是捕

  •                 今天上网找资料时,偶尔发现了几几个IP的 HTTP Banner是“vb100“,便好奇的用IE打开看看. 发现是一个叫“ Network Camera Server VB101 “的页面,看图片好像是一个摄像头的站点, 不是在线视频转播把??~~点击“Using Java Viewer“进去,浏览器在加载Applet控件.大概4-5秒把, 就载入了. ~~ 呵呵,

  • 项目:『足球事件检索』。 事件是一个 high-level 概念,需要基于一些 low-level 信息来做。后者主要就是一些图像处理的东西了。两个 level 之间,会有一些中间层的信息,比如足球的走向。根据师兄的建议,可以考虑对足球场上的运动员进行多目标跟踪,在跟踪轨迹的基础上抽取一些有用的信息。一来这个项目可能用到 MOT 作为中间的一个处理环节,另一方面有发论文的压力,MOT 或许是一个不

 相关资料
  • 问题内容: I’d like to achieve drawing a diagram just like the image attached but I’m having trouble drawing the red vertical rectangle on the right along with putting other objects on top. The biggest con

  • Replaces param: function() {} in jQuery so multi-dimensional objects/arrays can be sent for $.post and other ajax queries. Useful for php coders.

  • Live Reload指定文件系统中的更改。 BrowserSync用于监视CSS目录中的所有HTML和CSS文件,并在文件更改时对所有浏览器中的页面执行实时重新加载。 BrowserSync通过跨多个设备同步URL,交互和代码更改,使工作流程更快。 安装BrowserSync插件 BrowserSync插件提供跨浏览器的CSS注入,可以使用以下命令进行安装。 npm install browse

  • Camera The camera object provides access to the device's default camera application. Important privacy note: Collection and use of images from a device's camera raises important privacy issues. Your a

  • new LSGlobe.Camera(scene) 相机类,它由位置、方向和视锥体定义。 视锥体(viewing frustum)由6个(上、下、左、右、近、远)平面限定,每个平面可由Cartesian4对象表示,其中x,y和z分量定义垂直于平面的单位向量,w分量是平面距原点/相机位置的距离。 Name Type Description scene Scene 场景对象 Example: // 创

  • Camera模块管理设备的摄像头,可用于拍照、摄像操作,通过plus.camera获取摄像头管理对象。 方法: getCamera: 获取摄像头管理对象 对象: Camera: 摄像头对象 CameraOptions: JSON对象,调用摄像头的参数 CameraCropStyles: 裁剪图片设置项 PopPosition: JSON对象,弹出拍照或摄像界面指示位置 回调方法: CameraSu