Git Product home page Git Product logo

Comments (10)

OpenVINO-dev-contest avatar OpenVINO-dev-contest commented on July 21, 2024

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.

bbartling avatar bbartling commented on July 21, 2024

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.

OpenVINO-dev-contest avatar OpenVINO-dev-contest commented on July 21, 2024

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

image

from yolov7_openvino_cpp-python.

bbartling avatar bbartling commented on July 21, 2024

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.

OpenVINO-dev-contest avatar OpenVINO-dev-contest commented on July 21, 2024

Hi @bbartling I create a new notebook for person tracking based on DeepSORT algorithm.

from yolov7_openvino_cpp-python.

bbartling avatar bbartling commented on July 21, 2024

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.

OpenVINO-dev-contest avatar OpenVINO-dev-contest commented on July 21, 2024

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.

bbartling avatar bbartling commented on July 21, 2024

@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:
image

from yolov7_openvino_cpp-python.

OpenVINO-dev-contest avatar OpenVINO-dev-contest commented on July 21, 2024

@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: image

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.

bbartling avatar bbartling commented on July 21, 2024

wow cool stuff...this would be a really neat project

from yolov7_openvino_cpp-python.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.