Comments (10)
No, I think YOLOv7's backbone is natively not for object tracking. You should combine it with an extra reidentification model to achieve this task.
from yolov7_openvino_cpp-python.
Hopefully this doesn't sound silly but this old pyimagesearch blog post (and code) talks about using a object detection classifier something like once every 30 frames and then object tracking algorithm on all other frames to increase FPS performance. I think the basics is the object detection running only every 30 frames just grabs bounding box coordinates and then passes it off to the tracking algorithm that runs majority of all other frames.
The code in the pyimagesearch repo:
# check to see if we should run a more computationally expensive
# object detection method to aid our tracker
if totalFrames % args["skip_frames"] == 0:
# set the status and initialize our new set of object trackers
status = "Detecting"
trackers = []
# convert the frame to a blob and pass the blob through the
# network and obtain the detections
blob = cv2.dnn.blobFromImage(frame, 0.007843, (W, H), 127.5)
net.setInput(blob)
detections = net.forward()
Sort of curious on your thoughts if the Yolo v7 tiny (same thing I have been experimenting around with here) could be the more computationally expensive
part that only runs once every 30 frames or so....and then use some sort of tracking algorithm that runs on other frames....? Ultimate goal would be for counting people going in and out crossing a line like the pyimagesearch tutorial....and hopefully enough FPS to accommodate walking people through the frame of a building entry way.
Im sort of curious to replicate the pyimagesearch code that uses dlib for the object tracking and then maybe the Intel tiny yolo v7 as the object detection part.....this whole journey started with the pyimagesearch code where if the model they used on the object detection side was good, like it worked for detecting people from different angles I would have never have had the need to find this repo : )
Just curious on your thoughts from hi level perpective....? Like if dlib is worth using for some concept idea....
from yolov7_openvino_cpp-python.
Hi @bbartling dlib is a great library tool. I think your idea should work, but you need to be careful on the lost object or new object tracking between two frames.
So far, PP-tracking could be another choice for you, and OpenVINO now can directly load a PaddlePaddle static model:
https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/configs/mot/README_en.md
from yolov7_openvino_cpp-python.
Cool I may tinker around with this running object classification on a yolo v7 every 30 frames and some sort of object tracking on the other frames....either dlib or PaddlePaddle like you linked above.
from yolov7_openvino_cpp-python.
Hi @bbartling I create a new notebook for person tracking based on DeepSORT algorithm.
from yolov7_openvino_cpp-python.
AWESOME, ill have to check it out! You run in Windows, MAC, or Linux? Thanks for sharing!!
Does it work like the pyimagesearch blog from a few years back where every 30 frames or so object detection runs (Yolo v7?) and then the vast majority all other frames object detection runs ? At least they state in the blog it improves FPS and processing performance greatly vs running object detection on every video frame...
from yolov7_openvino_cpp-python.
No, it run detection on each frame, however I use a lighter detection model in this example, and its accuracy and performance are good for a middle range object (over 60FPS with 11th gen CPU). If you wish to get a more accurate result on small object, you can switch the model and code to YOLOv7's.
from yolov7_openvino_cpp-python.
@OpenVINO-dev-contest could this ever be developed into processing multiple video streams at once to count people going in and out if the computer vision app can be tapped into the network handling security camera feeds???
For example this DVR managing the IP cameras on all building entrances/exits, 4 in total:
from yolov7_openvino_cpp-python.
@OpenVINO-dev-contest could this ever be developed into processing multiple video streams at once to count people going in and out if the computer vision app can be tapped into the network handling security camera feeds???
For example this DVR managing the IP cameras on all building entrances/exits, 4 in total:
Of course yes, you can put your RTSP address of IP camera directly into OpenCV function to decode a video stream, for example: cap = cv2.VideoCapture('rtsp://192.168.0.1/video.264')
, and create multiple workload for your NVR device. The format of RTSP address depends on which IP camera vendor you use.
from yolov7_openvino_cpp-python.
wow cool stuff...this would be a really neat project
from yolov7_openvino_cpp-python.
Related Issues (20)
- Yolov7 Tiny setting confidence Thres HOT 4
- Link not working HOT 1
- any support for --grid parameter while exporting .onnx model? HOT 24
- [Bug] The line `img.transpose(2, 0, 1)` should be `img = img.transpose(2, 0, 1)`. NumPy's transpose operation does not support in-place assignment. HOT 1
- output processing is slow HOT 24
- adding tracker deepsort/sort (int 8 or openvo ir ) to object detection .onnx file or .int8 format file HOT 31
- fps code is not working HOT 2
- float data1[img_h*img_w*3] compile error HOT 1
- Inference with 1280 images HOT 4
- fps im getting is varing too much
- Yolov7-seg support HOT 2
- Downloading Yolo7 modex HOT 4
- hardware to run HOT 4
- Process multiple video feeds ansyc HOT 5
- Python Run Issue
- c++ has encountered an error HOT 1
- getting setup HOT 11
- webcam.py HOT 13
- 4 anchor boxes instead of 3 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yolov7_openvino_cpp-python.