Skip to content

Latest commit

 

History

History
413 lines (327 loc) · 41.1 KB

README_zh.md

File metadata and controls

413 lines (327 loc) · 41.1 KB

vision-process-webui

GitHub watchers GitHub stars GitHub forks GitHub followers Build Status imgGitHub repo size GitHub language count GitHub last commit GitHubimg

language: [en | 中文]


🎤介绍

由于计算机视觉理论和模型的复杂性不断增加,为了方便直观理解和复现,降低使用与复现门槛,并快速验证图像的算法处理效果, 受stable-diffusion-webui项目在扩散模型应用推广方面的启发,一些基于目标检测、图像分割和图像分类等任务的模型被部署并展示在Gradio上进行推理。

本项目也欢迎更多人贡献、使用以及推广!

📂 特性与功能

  • 支持基于本项目app文件进行本地部署,以及移动到其他平台进行部署;
  • 支持视觉库多个模型的简单配置与选择,无需复杂地选择config以及checkpoint文件,直接在下拉框或复选框中选择即可;
  • 支持多种模型与多任务的在线推理,包括OpenMMLab系列detectron2detrextimmtorchvisionmodelscope&AdaDet等等;
  • 支持开源社区进行部署接入,包括OpenXLabModelScopehuggingface
  • 支持多app整合到一个界面中,方便用户进行对比与选择;building
  • 支持自定义上传权重文件,并输出推理结果及模型指标;building

🛜在线推理演示

OpenMMLab

detectron2

detrex

modelscope&AdaDet

detection

classification

segmentation

🤖模型支持列表

🧙performance&demo

🔨OpenMMLab

MMPreTrain MMYOLO MMDetection MMPose
MMSegmentation MMRotate MMOCR MMAction2

🔨detectron2

🔨classification


🔨detection

YOLOv8-det YOLOv8-seg YOLOv8-seg YOLOv8-seg
YOLOv3 YOLOv5 YOLOX
YOLO-NAS PP-YOLOE RT-Detr

🔨segmentation

mobile-sam[point] mobile-sam[bbox]

🆕News

  • (2023-09-29): update README.md
  • (2023-09-20): detrex、damo-yolo、easy-face
  • (2023-09-18): detectron2
  • (2023-09-16): mmagic
  • (2023-09-14): mmtracking
  • (2023-09-12): mmaction2
  • (2023-09-10): mmocr、mmroate、mmsegmentation
  • (2023-09-08): mmyolo、mmpretrain、mmdetection、mmpose
  • (2023-09-07): yolov3、yolov5、yolov8、yolo_nas、yolox、torchvision-detection、mobile-sam、timm-classification
  • (2023-09-02): repo init.

🗓support list

Model Nums list
yolov3 3 model_list
yolov5 4 model_list
yolox 5 model_list
yolonas 3 model_list
yolov8 4 model_list
timm 20 model_list
torchvision_cls 14 model_list
torchvision_det 6 model_list
detectron2 36 model_list
detrex 61 model_list
mmpretrain 545 model_list
mmyolo 74 model_list
mmdetection 559 model_list
mmsegmentation 622 model_list
mmocr 17 model_list
mmaction2 180 model_list
mmrorate 50 model_list
mmpose 10 model_list
mmagic 14 model_list
damo_face 4 model_list
damo_yolo 8 model_list

🔨classification

🔨detection


🔨segmentation

📢实际意义与作用

这是一个包含主要视觉任务与开源视觉库的Gradio推理仓库,它的总体意义和作用如下:

  • 方便性:为开发者和研究者提供了一个方便的平台,他们可以在其中测试和比较不同的模型和算法。同时,用户可以通过上传图像来测试不同的视觉任务,而无需自己编写代码。

  • 教育性:可以帮助用户更好地理解和使用视觉库,并且可以作为学习深度学习和计算机视觉的教育资源。

  • 社区性:可以促进开源社区的发展和知识共享,因为它集成了多个开源视觉库,用户可以轻松地比较和测试不同的库和模型。

  • 实用性:包含了常见的视觉任务,如图像分类、目标检测、语义分割、人脸识别等,这些任务都是在实际应用中非常有用的。

  • 开放性:是开源的,任何人都可以访问和使用它,这意味着它可以被不同的人和组织使用和扩展,从而进一步推动计算机视觉和深度学习的发展。

  • 速度和效率:使用 Gradio 进行推理,这意味着用户可以快速地上传图像并查看模型的预测结果,而无需等待长时间的训练和推理过程。

  • 可重复性:提供了一个可重复的测试平台,用户可以使用相同的数据和模型来测试不同的库和算法,从而比较它们的性能和准确性。

  • 可扩展性:可以轻松地扩展到其他视觉任务和库,因为它是基于 Gradio 和开源视觉库构建的。

  • 可视化:可以帮助用户更好地理解模型的预测结果,因为它可以将预测结果可视化为图像或其他形式的输出,从而使用户更容易理解和解释模型的行为。

📖Usage

1. install

git clone https://github.com/isLinXu/vision-process-webui.git
cd vision-process-webui
pip install -r requirements.txt

2. download weights

cd weights
cd [model_name]
sh download_weights.sh

model_name=xxxx

3. run

python webui/model_app.py

model_app=classification|detection|segmentation or

cd webui/app
python [model_app].py

model_app=yolov3|yolov5|yolov8|yolonas|ppyoloe|torchvision-detection|torchvision-classification|torchvision-segmentation|mobile-sam|fast-sam

🧾TODO

support more models and libraries

OpenMMLab

detectron2 series

EasyCV

AdaDet

gluon-cv

  • building...

PaddleDetection

  • building...

docker image build

  • building...

merge all ui.py in one

  • building...

📢实际意义与作用

这是一个包含主要视觉任务与开源视觉库的Gradio推理仓库,它的总体意义和作用如下:

  • 方便性:为开发者和研究者提供了一个方便的平台,他们可以在其中测试和比较不同的模型和算法。同时,用户可以通过上传图像来测试不同的视觉任务,而无需自己编写代码。

  • 教育性:可以帮助用户更好地理解和使用视觉库,并且可以作为学习深度学习和计算机视觉的教育资源。

  • 社区性:可以促进开源社区的发展和知识共享,因为它集成了多个开源视觉库,用户可以轻松地比较和测试不同的库和模型。

  • 实用性:包含了常见的视觉任务,如图像分类、目标检测、语义分割、人脸识别等,这些任务都是在实际应用中非常有用的。

  • 开放性:是开源的,任何人都可以访问和使用它,这意味着它可以被不同的人和组织使用和扩展,从而进一步推动计算机视觉和深度学习的发展。

  • 速度和效率:使用 Gradio 进行推理,这意味着用户可以快速地上传图像并查看模型的预测结果,而无需等待长时间的训练和推理过程。

  • 可重复性:提供了一个可重复的测试平台,用户可以使用相同的数据和模型来测试不同的库和算法,从而比较它们的性能和准确性。

  • 可扩展性:可以轻松地扩展到其他视觉任务和库,因为它是基于 Gradio 和开源视觉库构建的。

  • 可视化:可以帮助用户更好地理解模型的预测结果,因为它可以将预测结果可视化为图像或其他形式的输出,从而使用户更容易理解和解释模型的行为。

🌸Reference

  • stable-diffusion-webui: Stable Diffusion web UI
  • torchvision: Datasets, Transforms and Models specific to Computer Vision
  • timm: PyTorch image models, scripts, pretrained weights -- ResNet, ResNeXT, EfficientNet, NFNet, Vision Transformer (ViT), MobileNet-V3/V2, RegNet, DPN, CSPNet, Swin Transformer, MaxViT, CoAtNet, ConvNeXt, and more
  • yolov3: YOLOv3 in PyTorch > ONNX > CoreML > TFLite
  • yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
  • ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLite
  • super-gradients: Easily train or fine-tune SOTA computer vision models with one open source training library. The home of Yolo-NAS.
  • MMEngine: OpenMMLab foundational library for training deep learning models.
  • MMCV: OpenMMLab foundational library for computer vision.
  • MMPreTrain: OpenMMLab pre-training toolbox and benchmark.
  • MMagic: OpenMMLab Advanced, Generative and Intelligent Creation toolbox.
  • MMDetection: OpenMMLab detection toolbox and benchmark.
  • MMDetection3D: OpenMMLab's next-generation platform for general 3D object detection.
  • MMRotate: OpenMMLab rotated object detection toolbox and benchmark.
  • MMYOLO: OpenMMLab YOLO series toolbox and benchmark.
  • MMSegmentation: OpenMMLab semantic segmentation toolbox and benchmark.
  • MMOCR: OpenMMLab text detection, recognition, and understanding toolbox.
  • MMPose: OpenMMLab pose estimation toolbox and benchmark.
  • MMHuman3D: OpenMMLab 3D human parametric model toolbox and benchmark.
  • MMSelfSup: OpenMMLab self-supervised learning toolbox and benchmark.
  • MMRazor: OpenMMLab model compression toolbox and benchmark.
  • MMFewShot: OpenMMLab fewshot learning toolbox and benchmark.
  • MMAction2: OpenMMLab's next-generation action understanding toolbox and benchmark.
  • MMTracking: OpenMMLab video perception toolbox and benchmark.
  • MMFlow: OpenMMLab optical flow toolbox and benchmark.
  • MMEditing: OpenMMLab image and video editing toolbox.
  • MMGeneration: OpenMMLab image and video generative models toolbox.
  • MMDeploy: OpenMMLab model deployment framework.
  • MIM: MIM installs OpenMMLab packages.
  • MMEval: OpenMMLab machine learning evaluation library.
  • Playground: A central hub for gathering and showcasing amazing projects built upon OpenMMLab.
  • detectron2: Detectron2 is a platform for object detection, segmentation and other visual recognition tasks.
  • detrex: detrex is a research platform for DETR-based object detection, segmentation, pose estimation and other visual recognition tasks.
  • gluon-cv:Gluon CV Toolkit
  • autogluon: AutoGluon: AutoML for Image, Text, Time Series, and Tabular Data
  • EasyCV: An all-in-one toolkit for computer vision
  • AdaDet:AdaDet: A Development Toolkit for Object Detection based on ModelScope
  • mediapipe:MediaPipe Solutions provides a suite of libraries and tools for you to quickly apply artificial intelligence (AI) and machine learning (ML) techniques in your applications.
  • dlib:A toolkit for making real world machine learning and data analysis applications in C++