Skip to content

YoloView - YOLOv5 / YOLOv8 / YOLOv9 / YOLOv10 / YOLOv11 / YOLOv12 / RTDETR / SAM / MobileSAM / PP-OCR GUI based on Pyside6

License

Notifications You must be signed in to change notification settings

songminkyu/YoloView

Repository files navigation

YoloView - YOLOv5 / YOLOv8 / YOLOv9 / YOLOv10 / YOLOv11 / YOLOv12 / RTDETR / SAM / MobileSAM / PP-OCR GUI based on Pyside6

Introduction

YoloView is a user interface (GUI) application that supports Ultralytics-based YOLOv5 YOLOv8 YOLOv9 YOLOv10 YOLOv11 YOLOv12 RT-DETR SAM MobileSAM FastSAM PP-OCR models.

English   |   한국어

Todo List

  • Add YOLOv8 YOLOv9 YOLOv10 YOLO11 YOLO12 RT-DETR SAM MobileSAM FastSAM PP-OCR Model
  • Support Instance Segmentation ( YOLOv5 YOLOv8 YOLOv11 SAM MobileSAM FastSAM
  • Support Pose Estimation ( YOLOv8 ~ 12
  • Support Oriented Bounding Boxes ( YOLOv8 ~ 12 )
  • Support Http Protocol in RTSP Function ( Single Mode )
  • Add Model Comparison Mode(VS Mode)
  • Support Dragging File Input
  • YOLO11 ~ 12 has additional features (obb,pose,deteced,segment,track)
  • Tracking & Counting ( YOLOv8 ~ 12)
  • Added bbox and segment category filter functions (under model selection function)
  • Added bbox and segment label verification function(bbox-valid.pt & seg-valid.pt)
  • Added subfolder navigation feature (only when browsing folders)
  • Improved and enhanced statistics
  • Save Labal
  • Image Navigation Controls (<<,< ,>, >>)

Functions

1. Support Image / Video / Webcam / Folder (Batch) / IPCam Object Detection

Choose Image / Video / Webcam / Folder (Batch) / IPCam in the menu bar on the left to detect objects.

2. Change Models / Hyper Parameters dynamically

When the program is running to detect targets, you can change models / hyper Parameters

  1. Support changing model in YOLOv5 / YOLOv8 / YOLOv9 / YOLOv10 / YOLOv11 / RTDETR / YOLOv5-seg / YOLOv8-seg YOLOv11-seg / YOLOv8-pose / YOLOv11-pose / YOLOv8-obb / YOLOv11-obb / SAM / MobileSAM / FastSAM dynamically
  2. Support changing IOU / Confidence / Delay time / line thickness dynamically

3. Loading Model Automatically

Our program will automatically detect pt files including YOLOv5 Models / YOLOv8 Models / YOLOv9 Models / YOLOv10 Models that were previously added to the ptfiles folder.

If you need add the new pt file, please click Import Model button in Settings box to select your pt file. Then our program will put it into ptfiles folder.

Notice :

  1. All pt files are named including yolov5 / yolov8 / yolov9 / yolov10 / yolo11/ yolo12 / rtdetr / sam / samv2 / mobilesam / fastsam. (e.g. yolov8-test.pt)
  2. If it is a pt file of segmentation mode, please name it including yolov5n-seg / yolov8s-seg . (e.g. yolov8n-seg-test.pt)
  3. If it is a pt file of pose estimation mode, please name it including yolov8n-pose . (e.g. yolov8n-pose-test.pt)
  4. If it is a pt file of oriented bounding box mode, please name it including yolov8n-obb . (e.g. yolov8n-obb-test.pt)

4. Loading Configures

  1. After startup, the program will automatically loading the last configure parameters.
  2. After closedown, the program will save the changed configure parameters.

5. Save Results

If you need Save results, please click Save Mode before detection. Then you can save your detection results in selected path.

6. Support Object Detection, Instance Segmentation and Pose Estimation

From YoloView v3.5,our work supports both Object Detection , Instance Segmentation, Pose Estimation and Oriented Bounding Box. Meanwhile, it also supports task switching between different versions,such as switching from YOLOv5 Object Detection task to YOLOv8 Instance Segmentation task.

7. Support Model Comparison among Object Detection, Instance Segmentation, Pose Estimation and Oriented Bounding Box

From YoloView v3.5,our work supports compare model performance among Object Detection, Instance Segmentation, Pose Estimation and Oriented Bounding Box.

Preparation

Experimental environment

OS : Windows 11 
CPU : Intel(R) Core(TM) i7-10750H CPU @2.60GHz 2.59 GHz
GPU : NVIDIA GeForce GTX 1660Ti 6GB

1. Create virtual environment

create a virtual environment equipped with python version 3.11, then activate environment.

conda create -n yoloshow python>=3.11
conda activate yoloshow

2. Install Pytorch frame

Windows: pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
Linux: pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

Change other pytorch version in Pytorch

3. Install dependency package

Switch the path to the location of the program

cd {the location of the program}

Install dependency package of program

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

ultralytics root download

Run library_update.bat

4. Pyside6 Resource Build (Absolute Path)

If the resource has changed, you must run the command below.

pyside6-rcc {YOLOSHOW_New_Path}\ui\YOLOSHOWUI.qrc -o {YOLOSHOW_New_Path}\ui\YOLOSHOWUI_rc.py

5. Add Font

Windows User

Copy all font files *.ttf in fonts folder into C:\Windows\Fonts

Linux User

mkdir -p ~/.local/share/fonts
sudo cp fonts/Shojumaru-Regular.ttf ~/.local/share/fonts/
sudo fc-cache -fv

MacOS User

The MacBook is so expensive that I cannot afford it, please install .ttf by yourself. 😂

6. Run Program

python main.py

7. Pyinstaller

ultralytics/ultralytics#1158 ultralytics/ultralytics#8772

pyinstaller --onefile --windowed --icon="images/jellybomb.ico" ^
--collect-data=pyiqa ^
--add-data="ultralytics/cfg/default.yaml;ultralytics/cfg" ^
--add-data="ultralytics/cfg/solutions/default.yaml;ultralytics/cfg/solutions" ^
--add-data="ui/YOLOSHOWUI_rc.py;ui" ^
--add-data="fonts;fonts" ^
--add-data="images;images" ^
--add-data="images/newsize;images/newsize" ^
--add-data="models;models" ^
--add-data="ui;ui" ^
--add-data="utils;utils" ^
--add-data="yolocode;yolocode" ^
--add-data="yoloshow;yoloshow" ^
main.py

Next, once built, a main.exe will be created in the dist folder. Go to the top and copy the 'config', 'ptfiles' 'images' folders and paste them under the dist folder.

└─dist      (Parent Folder)
├─  config  (folder)
├─  ptfiles (folder)
├─  images (folder)
└─  main.exe

Enjoy YOLO!!

Frames

PythonPytorchStatic BadgePyQt-Fluent-Widgets

Reference

Dataset Download Site

Roboflow

YOLO Supported Version

YOLOv5 YOLOv8 YOLOv9 YOLOv10 YOLO11

YOLO Graphical User Interface

YOLOSIDE PyQt-Fluent-Widgets

About

YoloView - YOLOv5 / YOLOv8 / YOLOv9 / YOLOv10 / YOLOv11 / YOLOv12 / RTDETR / SAM / MobileSAM / PP-OCR GUI based on Pyside6

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published