x_labelanything-track

x_labelanything软件的追踪标注版本

https://github.com/gjhhust/x_labelanything-track

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (6.5%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

x_labelanything软件的追踪标注版本

Basic Info
  • Host: GitHub
  • Owner: gjhhust
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Size: 13.1 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Citation

README.md

个人增加标记追踪的功能: image

整体追踪标注流 - 0.点击右侧track进入追踪模式 - 1.可以使用【编辑】-》generate first frame trackin会一键生成帧号0帧的追踪号(需要将分类标记正确,自动生成编号) - 2.为了减少工作量,间隔n帧标记即可,形状不会突变的物体可以间隔10-20帧标一个即可,人等每一帧都会变化的物体间隔5-10帧标注推荐,不同帧之间的同一个物体使用label+group_id一起组成独特的标记 - 3.间隔单帧标记完后,【编辑】-》get all tracks homoMatrix,生成中间插帧的数据 - 4. 左侧栏点击AI,模型选择“quick-look-track”,点击左侧“run all”运行所有图片插值,输入插值参数,鼠标悬浮到参数栏目可以查看说明,点击确认插值所有 - 5.插值结束后会自动预览所有插值(同时保存每一帧的插值结果,请不要做出任何操作)

间隔追踪标记方法 - 0.点击右侧track进入追踪模式 - 1.可以使用【编辑】-》generate first frame trackin会一键生成帧号0帧的追踪号(需要将分类标记正确,自动生成编号) - 2.按住ctrl使用鼠标选择当前帧标记好的全部的追踪框,【ctrl+shift+c】复制追踪 - 3.跳到下一个关键帧,【ctrl+shift+V】粘贴追踪,移动鼠标可以整体移动所有框,【左键】固定后可以单独调整,使得每个pt追踪框和目标白框重合度大于60%即可,点击【右键】将所有追踪赋值给对应框,如果有一些没有配对成功则进度第二次单独调整,调整结束【右键】赋值 - 4.注意上述微调过程中不要使用delete按键,会删除所有pt框!!!除非你要这样做

[English](README.md) | [简体中文](README_zh-CN.md)

Grounding DINO
SOTA Zero-Shot Openset Object Detection Model


Recognize Anything Model
Strong Image Tagging Model


Segment Anything Model
Powerful Object Segmentation Anything Model
PULC PersonAttribute Model
Advanced Multi-Label Classification Model

📄 Table of Contents

🥳 What's New ⏏️

  • Dec. 2023:
    • 🔥🔥🔥 Support EdgeSAM to optimize for efficient execution on edge devices with minimal performance compromise.
  • Nov. 2023:
    • 🤗 Release the latest version 2.1.0 🤗
    • Supoort InternImage model (CVPR'23).
    • Release version 2.0.0.
    • Added support for Grounding-SAM, combining GroundingDINO with HQ-SAM to achieve sota zero-shot high-quality predictions!
    • Enhanced support for HQ-SAM model to achieve high-quality mask predictions.
    • Support the PersonAttribute and VehicleAttribute model for multi-label classification task.
    • Introducing a new multi-label attribute annotation functionality.
    • Release version 1.1.0.
    • Support pose estimation: YOLOv8-Pose.
    • Support object-level tag with yolov5_ram.
    • Add a new feature enabling batch labeling for arbitrary unknown categories based on Grounding-DINO.
  • Oct. 2023:
    • Release version 1.0.0.
    • Add a new feature for rotation box.
    • Support YOLOv5-OBB with DroneVehicle and DOTA-v1.0/v1.5/v2.0 model.
    • SOTA Zero-Shot Object Detection - GroundingDINO is released.
    • SOTA Image Tagging Model - Recognize Anything is released.
    • Support YOLOv5-SAM and YOLOv8-EfficientViT_SAM union task.
    • Support YOLOv5 and YOLOv8 segmentation task.
    • Release Gold-YOLO and DAMO-YOLO models.
    • Release MOT algorithms: OC_Sort (CVPR'23).
    • Add a new feature for small object detection using SAHI.
  • Sep. 2023:
    • Release version 0.2.4.
    • Release EfficientViT-SAM (ICCV'23),SAM-Med2D, MedSAM and YOLOv5-SAM.
    • Support ByteTrack (ECCV'22) for MOT task.
    • Support PP-OCRv4 model.
    • Add video annotation feature.
    • Add yolo/coco/voc/mot/dota export functionality.
    • Add the ability to process all images at once.
  • Aug. 2023:
    • Release version 0.2.0.
    • Release LVMSAM and it's variants BUID, ISIC, Kvasir.
    • Support lane detection algorithm: CLRNet (CVPR'22).
    • Support 2D human whole-body pose estimation: DWPose (ICCV'23 Workshop).
  • Jul. 2023:
  • Jun. 2023:
  • May. 2023:

👋 Brief Introduction ⏏️

X-AnyLabeling is an exceptional annotation tool that draws inspiration from renowned projects like LabelImg, roLabelImg, Labelme, and Anylabeling. It transcends the realm of ordinary annotation tools, representing a significant stride into the future of automated data annotation. This cutting-edge tool not only simplifies the annotation process but also seamlessly integrates state-of-the-art AI models to deliver superior results. With a strong focus on practical applications, X-AnyLabeling is purpose-built to provide developers with an industrial-grade, feature-rich solution for automating annotation and data processing across a wide range of complex tasks.

🔥 Highlight ⏏️

🗝️Key Features

  • Support for importing images and videos.
  • CPU and GPU inference support with on-demand selection.
  • Compatibility with multiple SOTA deep-learning algorithms.
  • Single-frame prediction and one-click processing for all images.
  • Export options for formats like COCO-JSON, VOC-XML, YOLOv5-TXT, DOTA-TXT and MOT-CSV.
  • Integration with popular frameworks such as PaddlePaddle, OpenMMLab, timm, and others.
  • Providing comprehensive help documentation along with active developer community support.
  • Accommodation of various visual tasks such as detection, segmentation, face recognition, and so on.
  • Modular design that empowers users to compile the system according to their specific needs and supports customization and further development.
  • Image annotation capabilities for polygons, rectangles, rotation, circles, lines, and points, as well as text detection, recognition, and KIE annotations.

⛏️Model Zoo

| **Object Detection** | **SOD with [SAHI](https://github.com/obss/sahi)** | **Facial Landmark Detection** | **2D Pose Estimation** | | :---: | :---: | :---: | :---: | | | | | | | **2D Lane Detection** | **OCR** | **MOT** | **Instance Segmentation** | | | | | | | **Image Tagging** | **Grounding DINO** | **Recognition** | **Rotation** | | | | | | | **[SAM](https://segment-anything.com/)** | **BC-SAM** | **Skin-SAM** | **Polyp-SAM** | | | | | | For more details, please refer to [models_list](./docs/models_list.md).

📖 Tutorials ⏏️

🔜Quick Start

Download and run the GUI version directly from Release or Baidu Disk.

Note: - For MacOS: - After installation, go to the Applications folder. - Right-click on the application and choose Open. - From the second time onwards, you can open the application normally using Launchpad.

  • Due to the lack of necessary hardware, the current tool is only available in executable versions for Windows and Linux. If you require executable programs for other operating systems, e.g., MacOS, please refer to the following steps for self-compilation.
  • To obtain more stable performance and feature support, it is strongly recommended to build from source code.

👨🏼‍💻Build from source

  • Install the required libraries:

bash pip install -r requirements.txt

If you need to use GPU inference, install the corresponding requirements-gpu.txt file and download the appropriate version of onnxruntime-gpu based on your local CUDA and CuDNN versions. For more details, refer to the FAQ.

  • Generate resources [Option]:

pyrcc5 -o anylabeling/resources/resources.py anylabeling/resources/resources.qrc

  • Run the application:

python anylabeling/app.py

📦Build executable

It's essential to note that these steps are not obligatory for regular users; they are intended for scenarios where customization or re-distribution of executable files is necessary.

```bash

Windows-CPU

bash scripts/build_executable.sh win-cpu

Windows-GPU

bash scripts/build_executable.sh win-gpu

Linux-CPU

bash scripts/build_executable.sh linux-cpu

Linux-GPU

bash scripts/build_executable.sh linux-gpu ```

Note: 1. Before compiling, please modify the `__preferred_device__` parameter in the "anylabeling/app_info.py" file according to the appropriate GPU/CPU version. 2. If you need to compile the GPU version, install the corresponding environment using "pip install -r requirements-gpu*.txt". Specifically, for compiling the GPU version, manually modify the "datas" list parameters in the "anylabeling-*-gpu.spec" file to include the relevant dynamic libraries (*.dll or *.so) of your local onnxruntime-gpu. Additionally, when downloading the onnxruntime-gpu package, ensure compatibility with your CUDA version. You can refer to the official [documentation](https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html) for the specific compatibility table. 3. For macOS versions, you can make modifications by referring to the "anylabeling-win-*.spec" script.

📋 Usage ⏏️

📌Basic usage

  1. Build and launch using the instructions above.
  2. Click Change Output Dir in the Menu/File to specify a output directory; otherwise, it will save by default in the current image path.
  3. Click Open/Open Dir/Open Video to select a specific file, folder, or video.
  4. Click the Start drawing xxx button on the left-hand toolbar or the Auto Lalbeling control to initiate.
  5. Click and release left mouse to select a region to annotate the rect box. Alternatively, you can press the "Run (i)" key for one-click processing.

Note: The annotation will be saved to the folder you specify and you can refer to the below hotkeys to speed up your workflow.

🚀Advanced usage

  • Select AutoLalbeing Button on the left side or press the shortcut key "Ctrl + A" to activate auto labeling.
  • Select one of the Segment Anything-liked Models from the dropdown menu Model, where the Quant indicates the quantization of the model.
  • Use Auto segmentation marking tools to mark the object.
    • +Point: Add a point that belongs to the object.
    • -Point: Remove a point that you want to exclude from the object.
    • +Rect: Draw a rectangle that contains the object. Segment Anything will automatically segment the object.
    • Clear: Clear all auto segmentation markings.
    • Finish Object (f): Finish the current marking. After finishing the object, you can enter the label name and save the object.

📜Docs

🧷Hotkeys

Click to Expand/Collapse | Shortcut | Function | |-------------------|-----------------------------------------| | d | Open next file | | a | Open previous file | | p | Create polygon | | o | Create rotation | | r | Create rectangle | | i | Run model | | r | Create rectangle | | + | `+point` of SAM mode | | - | `-point` of SAM mode | | g | Group selected shapes | | u | Ungroup selected shapes | | Ctrl + q | Quit | | Ctrl + i | Open image file | | Ctrl + o | Open video file | | Ctrl + u | Load all images from a directory | | Ctrl + e | Edit label | | Ctrl + j | Edit polygon | | Ctrl + d | Duplicate polygon | | Ctrl + p | Toggle keep previous mode | | Ctrl + y | Toggle auto use last label | | Ctrl + m | Run all images at once | | Ctrl + a | Enable auto annotation | | Ctrl + s | Save current information | | Ctrl + Shift + s | Change output directory | | Ctrl - | Zoom out | | Ctrl + 0 | Zoom to Original | | [Ctrl++, Ctrl+=] | Zoom in | | Ctrl + f | Fit window | | Ctrl + Shift + f | Fit width | | Ctrl + z | Undo the last operation | | Ctrl + Delete | Delete file | | Delete | Delete polygon | | Esc | Cancel the selected object | | Backspace | Remove selected point | | ↑→↓← | Keyboard arrows to move selected object | | zxcv | Keyboard to rotate selected rect box |

📧 Contact ⏏️

🤗 Enjoying this project? Please give it a star! 🤗

If you find this project helpful or interesting, consider starring it to show your support, and if you have any questions or encounter any issues while using this project, feel free to reach out for assistance using the following methods:

  • Create an issue
  • Email: cv_hub@163.com
  • WeChat: ww10874 (Please include X-Anylabeing+brief description of the issue in your message)

✅ License ⏏️

This project is released under the GPL-3.0 license.

🏷️ Citing ⏏️

BibTeX

If you use this software in your research, please cite it as below:

@misc{X-AnyLabeling, year = {2023}, author = {Wei Wang}, publisher = {Github}, organization = {CVHub}, journal = {Github repository}, title = {Advanced Auto Labeling Solution with Added Features}, howpublished = {\url{https://github.com/CVHub520/X-AnyLabeling}} }

Owner

  • Login: gjhhust
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors: "CVHub"
title: "Advanced Auto Labeling Solution with Added Features"
url: "https://github.com/CVHub520/X-AnyLabeling"
license: GPL-3

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: about 2 years ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

pyproject.toml pypi
requirements-dev.txt pypi
  • build * development
  • pyinstaller * development
  • twine * development
requirements-gpu-dev.txt pypi
  • build * development
  • pyinstaller * development
  • twine * development
requirements-gpu.txt pypi
  • PyQt5 ==5.15.7
  • PyYAML ==6.0
  • darkdetect ==0.8.0
  • filterpy *
  • imgviz ==1.5.0
  • lapx ==0.5.5
  • natsort ==8.1.0
  • onnx ==1.13.1
  • onnxruntime-gpu >=1.16.0
  • opencv-contrib-python-headless ==4.7.0.72
  • pyclipper *
  • qimage2ndarray ==1.10.0
  • scipy *
  • shapely *
  • termcolor ==1.1.0
  • tokenizers *
  • tqdm *
requirements-macos-dev.txt pypi
  • build * development
  • twine * development
requirements-macos.txt pypi
  • PyYAML ==6.0
  • darkdetect ==0.8.0
  • filterpy *
  • imgviz ==1.5.0
  • lapx ==0.5.5
  • natsort ==8.1.0
  • onnx ==1.13.1
  • onnxruntime >=1.16.0
  • opencv-contrib-python-headless ==4.7.0.72
  • pyclipper *
  • qimage2ndarray ==1.10.0
  • scipy *
  • shapely *
  • termcolor ==1.1.0
  • tokenizers *
  • tqdm *
requirements.txt pypi
  • PyQt5 ==5.15.7
  • PyYAML ==6.0
  • darkdetect ==0.8.0
  • filterpy *
  • fuzzywuzzy *
  • imgviz ==1.5.0
  • lapx ==0.5.5
  • metaseg *
  • natsort ==8.1.0
  • onnx ==1.13.1
  • onnxruntime >=1.16.0
  • opencv-contrib-python-headless ==4.7.0.72
  • pyclipper *
  • qimage2ndarray ==1.10.0
  • scikit-learn *
  • scipy *
  • shapely *
  • termcolor ==1.1.0
  • tokenizers *
  • tqdm *
setup.py pypi
  • Pillow >=2.8
  • PyQt5 >=5.15.7
  • PyYAML *
  • darkdetect ==0.8.0
  • filterpy *
  • imgviz >=0.11
  • lapx ==0.5.5
  • natsort >=7.1.0
  • numpy *
  • onnx ==1.13.1
  • opencv-python-headless *
  • pyclipper *
  • qimage2ndarray ==1.10.0
  • scipy *
  • shapely *
  • termcolor *
  • tokenizers *
  • tqdm *