Giter VIP home page Giter VIP logo

yoloshow's Introduction

YOLOSHOW - YOLOv5 / YOLOv7 / YOLOv8 / YOLOv9 / YOLOv10 / RTDETR GUI based on Pyside6

Introduction

YOLOSHOW is a graphical user interface (GUI) application embed withYOLOv5 YOLOv7 YOLOv8 YOLOv9 YOLOv10 RT-DETR algorithm.

English   |   简体中文

YOLOSHOW-Screen

Demo Video

YOLOSHOW v1.x : YOLOSHOW-YOLOv9/YOLOv8/YOLOv7/YOLOv5/RTDETR GUI

YOLOSHOW v2.x : YOLOSHOWv2.0-YOLOv9/YOLOv8/YOLOv7/YOLOv5/RTDETR GUI

Todo List

  • Add YOLOv9 Algorithm
  • Adjust User Interface (Menu Bar)
  • Complete Rtsp Function
  • Support Instance Segmentation ( YOLOv5 & YOLOv8
  • Add RT-DETR Algorithm ( Ultralytics repo)
  • Add Model Comparison Mode(VS Mode)
  • Support Pose Estimation ( YOLOv8
  • Support Http Protocol in Rtsp Function ( Single Mode )
  • Support Oriented Bounding Boxes ( YOLOv8 )
  • Add YOLOv10 Algorithm
  • Support Dragging File Input
  • Tracking & Counting ( Industrialization )

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 / YOLOv7 / YOLOv8 / YOLOv9 / RTDETR / YOLOv5-seg / YOLOv8-seg / YOLOv10 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 / YOLOv7 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 / yolov7 / yolov8 / yolov9 / yolov10 / rtdetr . (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 YOLOSHOW v3.0,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 YOLOSHOW v3.0,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.9, then activate environment.

conda create -n yoloshow python=3.9
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
pip install "PySide6-Fluent-Widgets[full]" -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -U Pyside6 -i https://pypi.tuna.tsinghua.edu.cn/simple

4. 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. 😂

5. Run Program

python main.py

Frames

PythonPytorchStatic Badge

Reference

YOLO Algorithm

YOLOv5 YOLOv7 YOLOv8 YOLOv9 YOLOv10

YOLO Graphical User Interface

YOLOSIDE PyQt-Fluent-Widgets

yoloshow's People

Contributors

flik1337 avatar shushuang010313 avatar swimmingliu avatar wangzilu-lngy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

yoloshow's Issues

Error

(yolov8) G:\Item_doing\newest_attention\YOLOSHOW-master>python main.py

�[1;33m📢 Tips:�[0m QFluentWidgets Pro is now released. Click �[1;96mhttps://qfluentwidgets.com/pages/pro�[0m to learn more about it.

Traceback (most recent call last):
File "C:\Users\lllstandout.conda\envs\yolov8\lib\tokenize.py", line 330, in find_cookie
line_string = line.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "G:\Item_doing\newest_attention\YOLOSHOW-master\main.py", line 3, in
from YOLOSHOW import *
File "G:\Item_doing\newest_attention\YOLOSHOW-master\YOLOSHOW.py", line 24, in
from models import common, yolo
File "G:\Item_doing\newest_attention\YOLOSHOW-master\models\common.py", line 17, in
from yolocode.yolov7.utils.plots import color_list, plot_one_box
File "G:\Item_doing\newest_attention\YOLOSHOW-master\yolocode\yolov7\utils\plots.py", line 15, in
import seaborn as sns
File "C:\Users\lllstandout.conda\envs\yolov8\lib\site-packages\seaborn_init_.py", line 2, in
from .rcmod import * # noqa: F401,F403
File "C:\Users\lllstandout.conda\envs\yolov8\lib\site-packages\seaborn\rcmod.py", line 5, in
from . import palettes
File "C:\Users\lllstandout.conda\envs\yolov8\lib\site-packages\seaborn\palettes.py", line 9, in
from .utils import desaturate, get_color_cycle
File "C:\Users\lllstandout.conda\envs\yolov8\lib\site-packages\seaborn\utils.py", line 18, in
from .external.appdirs import user_cache_dir
File "C:\Users\lllstandout.conda\envs\yolov8\lib\site-packages\seaborn\external\appdirs.py", line 234, in
import win32com.shell
File "C:\Users\lllstandout.conda\envs\yolov8\lib\site-packages\win32com_init_.py", line 6, in
import pythoncom
File "C:\Users\lllstandout.conda\envs\yolov8\lib\site-packages\pythoncom.py", line 2, in
import pywintypes
File "shibokensupport/signature/loader.py", line 61, in feature_imported
File "shibokensupport/feature.py", line 137, in feature_imported
File "shibokensupport/feature.py", line 148, in _mod_uses_pyside
File "C:\Users\lllstandout.conda\envs\yolov8\lib\inspect.py", line 1024, in getsource
lines, lnum = getsourcelines(object)
File "C:\Users\lllstandout.conda\envs\yolov8\lib\inspect.py", line 1006, in getsourcelines
lines, lnum = findsource(object)
File "C:\Users\lllstandout.conda\envs\yolov8\lib\inspect.py", line 831, in findsource
lines = linecache.getlines(file, module.dict)
File "C:\Users\lllstandout.conda\envs\yolov8\lib\linecache.py", line 46, in getlines
return updatecache(filename, module_globals)
File "C:\Users\lllstandout.conda\envs\yolov8\lib\linecache.py", line 136, in updatecache
with tokenize.open(fullname) as fp:
File "C:\Users\lllstandout.conda\envs\yolov8\lib\tokenize.py", line 394, in open
encoding, lines = detect_encoding(buffer.readline)
File "C:\Users\lllstandout.conda\envs\yolov8\lib\tokenize.py", line 371, in detect_encoding
encoding = find_cookie(first)
File "C:\Users\lllstandout.conda\envs\yolov8\lib\tokenize.py", line 335, in find_cookie
raise SyntaxError(msg)
SyntaxError: invalid or missing encoding declaration for 'C:\Users\lllstandout\.conda\envs\yolov8\lib\site-packages\win32\pywintypes39.dll'

Pyinstaller

想要打包成exe文件,可以说一下怎么打包嘛?自己打包总是出错

Why loadUiType(r"YOLOSHOWUI.ui") get None?

Traceback (most recent call last):
File "C:\pythonproj\YOLOSHOW-master\YOLOSHOW-master\main.py", line 10, in
from YOLOSHOW import MyWindow as yoloshowWindow
File "C:\pythonproj\YOLOSHOW-master\YOLOSHOW-master\YOLOSHOW.py", line 46, in
formType, baseType = loadUiType(r"ui/YOLOSHOWUI.ui")
TypeError: cannot unpack non-iterable NoneType object

RT-DETR问题

你好 上面没有RTDTER的modle啊,怎么添加呢

主页面

用qtdesigner 打开 YOLOSHOWUI.ui 后,不显示settings 那一栏的控件,如下图,如何才能显示出来并编辑它,主要是能显示出来。

捕获3

期望您的回复和答疑,感谢。

无法摄像头检测

问题:点击摄像头图标,仅打开1s摄像头后自动关闭。UI无显示。
屏幕截图 2024-04-09 114816

when i run main.py report TypeError

Microsoft Windows [版本 10.0.22000.2538]
TypeError: arguments did not match any overloaded call:
QPushButton(parent: Optional[QWidget] = None): argument 'parent' has unexpected type 'PySide6.QtWidgets.QWidget'
QPushButton(text: Optional[str], parent: Optional[QWidget] = None): not enough arguments
QPushButton(icon: QIcon, text: Optional[str], parent: Optional[QWidget] = None): not enough arguments

报错,求解答

image
没有修改ui的文件,仅仅是添加了一个__init__.py文件,但是添加之前也会报错,添加并没有解决找不到文件(?)的问题,恳请作者解答

字体相关

在qt-designer 中 ,如图选择了 微软雅黑 确定后,还是Times New Roman,还是哪些位置需要改动才能生效。

捕获4

期待您的回复!

您好!方便帮我看下这种错误吗

TypeError: arguments did not match any overloaded call:
QPushButton(parent: typing.Optional[QWidget] = None): argument 'parent' has unexpected type 'PySide6.QtWidgets.QWidget'
QPushButton(text: str, parent: typing.Optional[QWidget] = None): not enough arguments
QPushButton(icon: QIcon, text: str, parent: typing.Optional[QWidget] = None): not enough arguments

图标

我在资源浏览器里新增了一个图标,如何更换 下图中红色区域内的图标。
捕获7

期待您的回复

log_string += f"{n} {self.names[int(c)]}{'s' * (n > 1)}, " KeyError: 15

Traceback (most recent call last):
File "D:\project\YOLOSHOW-master\yolocode\yolov8\YOLOv8Thread.py", line 105, in run
self.detect()
File "D:\project\YOLOSHOW-master\yolocode\yolov8\YOLOv8Thread.py", line 190, in detect
label_str = self.write_results(i, self.results, (p, im, im0)) # labels /// original :s +=
File "D:\project\YOLOSHOW-master\yolocode\yolov8\YOLOv8Thread.py", line 374, in write_results
log_string += result.verbose()
File "D:\project\YOLOSHOW-master\yolocode\yolov8\engine\results.py", line 327, in verbose
log_string += f"{n} {self.names[int(c)]}{'s' * (n > 1)}, "
KeyError: 15
我使用了官方的OBB检测权重进行旋转目标检测,报了这个错误。

when i run main.py report TypeError

Microsoft Windows [版本 10.0.22000.2538]
TypeError: arguments did not match any overloaded call:
QPushButton(parent: Optional[QWidget] = None): argument 'parent' has unexpected type 'PySide6.QtWidgets.QWidget'
QPushButton(text: Optional[str], parent: Optional[QWidget] = None): not enough arguments
QPushButton(icon: QIcon, text: Optional[str], parent: Optional[QWidget] = None): not enough arguments

TypeError: arguments did not match any overloaded call:

  1. git clone https://github.com/SwimmingLiu/YOLOSHOW.git
  2. 将字体安装到windows上
  3. pip install -r requirements.txt
  4. python main.py
    出现第一次报错,ModuleNotFoundError: No module named 'qfluentwidgets'
    image
    当我使用pip安装后,pip install qfluentwidgets -i https://pypi.tuna.tsinghua.edu.cn/simple
    仍然出现以下报错
    (yolov8) E:\YOLOSHOW>python main.py
    Traceback (most recent call last):
    File "E:\YOLOSHOW\main.py", line 51, in
    yoloshow = yoloshowWindow()
    File "E:\YOLOSHOW\YOLOSHOW.py", line 1398, in init
    super(MyWindow, self).init()
    File "E:\YOLOSHOW\YOLOSHOW.py", line 63, in init
    self.setupUi(self)
    File "", line 1281, in setupUi
    File "D:\Anaconda\envs\yolov8\lib\site-packages\qfluentwidgets\components\widgets\combo_box.py", line 366, in init
    super().init(parent=parent)
    File "D:\Anaconda\envs\yolov8\lib\site-packages\qfluentwidgets\components\widgets\combo_box.py", line 61, in init
    super().init(parent=parent)
    TypeError: arguments did not match any overloaded call:
    QPushButton(parent: typing.Optional[QWidget] = None): argument 'parent' has unexpected type 'PySide6.QtWidgets.QWidget'
    QPushButton(text: str, parent: typing.Optional[QWidget] = None): not enough arguments
    QPushButton(icon: QIcon, text: str, parent: typing.Optional[QWidget] = None): not enough arguments
    image
    请问如何解决啊?

显示相关

Win10 下 四周没有黑边,Ubuntu20.04 下,四周有黑边,如下图所示。
是否完全是由系统引起的,或者有没有工程下的某个部分可以解决这个问题。

捕获6
捕获5

期待您的回复!

导入照片检测时报错

导入照片检测时,self.detect报错,调试发现batch返回参数多于path, im0s, s = self.batch中需要的参数
202F5D5F68042A365925E76DB1AD9184

setting显示异常

question
通过您的教程,我顺利打开了显示界面,功能完善。
唯一的问题就是打开setting后右边显示异常,请问怎么修改?

运行main文件出现问题

Traceback (most recent call last):
File "E:\pythonProjects\YOLOSHOW-master\main.py", line 3, in
from YOLOSHOW import *
File "E:\pythonProjects\YOLOSHOW-master\YOLOSHOW.py", line 38, in
formType, baseType = loadUiType(r"./ui\YOLOSHOWUI.ui")
TypeError: cannot unpack non-iterable NoneType object

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.