Giter Site home page Giter Site logo

andreteixeira1998 / yolov8-object-detection-tracking-image-segmentation-pose-estimation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from omegamax10/yolov8-object-detection-tracking-image-segmentation-pose-estimation

0.0 0.0 0.0 1.3 MB

YOLOv8 object detection, tracking, image segmentation and pose estimation app using Ultralytics API (for detection, segmentation and pose estimation), as well as DeepSORT (for tracking) in Python. This app uses an UI made with streamlit and it can be deployed with Docker.

License: Apache License 2.0

Python 96.00% Dockerfile 4.00%

yolov8-object-detection-tracking-image-segmentation-pose-estimation's Introduction

YOLOv8 Object Detection, Tracking, Image Segmentation and Pose Estimation

YOLOv8 object detection, tracking, image segmentation and pose estimation using Ultralytics API (for detection, pose estimation and segmentation), as well as DeepSORT (for tracking) in Python. The results of the detection are extracted in JSON format and prepared for further processing. For an enhanced user experience, the app interface is built using "streamlit" module from Python. The app can also be deployed in a Docker container. This app is also available as a public container on Docker Hub.

1. App Deployment

The app can be deployed using Docker Compose using the following command:

docker-compose -f yolov8-docker.yml up -d

If you want to deploy the app using the official container from Docker Hub, use the following commands:

docker pull bmarghescu/yolov8-docker
docker run -d --gpus all --name yolov8-docker -p 80:8501 bmarghescu/yolov8-docker:latest

2. App Usage

The web app consists of four tabs in which the user can do image, video or live stream processing using the model YOLOv8 developed by Ultralytics, as well as upload a custom YOLOv8 model. The application is composed of four tabs as follows:

a. Image Processing Tab

image In this tab, the user can upload an image to be processed using the model mentioned above. The resulting image, with the bounding boxes and segmentation masks, is then beautifully displayed in this tab after the processing is finished.

b. Video Processing Tab

image In this tab, the user can upload a MP4 video to be processed. The resulting video, with the bounding boxes, segmentation masks and tracks of the identified objects, is then beautifully displayed in this tab after the processing is finished. The video can also be viewed in full screen mode for better visualization of the result. In addition, the video and the JSON file with the objects detected is saved locally in a folder with the name of the initial video within the local folder "output_videos/" for further analysis.

c. Live Stream Tab

image In this tab, the user can add the URL for a live video stream, which can be either a integer (0, 1, 2 etc.) for a physically connected camera, like USB or built-in webcams, or a RTSP stream from a remotely connected camera. After starting the processing of the stream, the resulting frames, with the bounding boxes, segmentation masks and tracks of the identified objects, are displayed in real time. The processing of the stream can be started and stopped at any time using the two buttons "Start Live Stream Processing" and "Stop Live Stream Processing".

d. Custom YOLOv8 Model Upload Tab

image In this tab, the user can upload a custom YOLOv8 model, trained on a custom dataset. The model is stored in a folder named "models/" and added to "model_list.txt" for future use. After it was added, the model can then be selected in the dropdown menu at the beginning of the page, and it is usually found at the end of the list of the predefined models. The only eligible type of model is the Pytorch (".pt") one.

yolov8-object-detection-tracking-image-segmentation-pose-estimation's People

Contributors

omegamax10 avatar

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.