yuturuishi/ytlabel

YOLO标注工具,AI自动标注,大模型提示词自动标注,自动采集视频,自动收集数据集

ytlabel – AI 지원 라벨링을 갖춘 오픈소스 이미지/비디오 주석 도구

개요

  • 이미지(사각형, 다각형 등)와 비디오를 수동으로 라벨링하고 결과를 YOLO 호환 형식으로 내보내기 위한 경량 웹 기반 애플리케이션입니다.
  • 또한 사용자가 제공한 대규모 모델 API(예: LMStudio、vLLM、Ollama、Alibaba Cloud)를 호출하여 AI 自動ラベル を生成できます。
  • このツールはデータアノテーションとデータセットのエクスポートに焦点を当てています。モデルトレーニングは別のプロジェクト(ytstudio)で処理されます。

主な機能

  • 手動ラベリング – 矩形、ポリゴン、マルチクラスタグ;LabelMe データセットからのインポート。
  • AI 自動ラベリング – 設定した任意のローカルホスト LLM/VLM API 用のプラグイン;外部データは送信されません。
  • データセットエクスポート – YOLO 形式、トレーニング/検証/テスト分割を設定可能。
  • ファイルマネージャー – 画像とアノテーションファイルの閲覧、アップロード、ダウンロード、削除。
  • オフラインファースト – すべての静的アセットがバンドルされており、サーバーは隔離されたイントラネットで実行できます。
  • キーボードショートカット – Ctrl+S で保存、Ctrl+Shift+D でラベルをクリア。

始め方

# リポジトリをクローンし、仮想環境を作成
python -m venv venv
source venv/bin/activate   # または Windows では venv\Scripts\activate

# 依存関係をインストール(清华 PyPI ソースからミラーリング)
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# Flask サーバーを実行
python app.py --host 0.0.0.0 --port 9924

最新のブラウザで http://127.0.0.1:9924 を開くと、ラベリング UI が表示されます。

プロジェクト構成(概要)

  • app.py – エントリポイント。Flask + SocketIO サーバーを起動します。
  • AiUtils.py – 設定された大規模モデル API に画像を転送し、返されたアノテーションを解析するヘルパークラス。
  • templates/ – HTML ページ(index.html、ai_config.html、file_manager.html)。
  • static/ – CSS、JavaScript、アイコン、およびオフライン用にバンドルされた Socket.IO クライアントライブラリ。
  • uploads/ – アップロードされたメディア、生成されたアノテーションファイル、ユーザー固有の設定のためのランタイムストレージ。

技術スタック

  • バックエンド: Python 3.9+、Flask、Flask-SocketIO。
  • フロントエンド: HTML / CSS / JavaScript、Socket.IO によるリアルタイム更新。
  • 画像処理: OpenCV と Pillow (PIL)。
  • パッケージング: PyInstaller 仕様(ytlabel.spec)によるオプションのスタンドアロンバイナリ。

ライセンス

  • ytlabel 用に書かれたコードは MIT ライセンスでリリースされています。
  • サードパーティのライブラリは元のライセンスを保持します。
  • AI 自動ラベリング機能は、ユーザーが制御するモデル API にリクエストを転送するだけです。ytlabel 自体はモデルウェイトを同梱していません。

誰が使うか

  • カスタムコンピュータビジョンデータセットを構築する研究者やエンジニアで、シンプルで自己ホスト型のラベリング UI を必要とする方。
  • データをオンプレミスに保持し、画像をクラウドサービスに送信せずに大規模モデルの支援を受けたいチーム。
  • Flask ベースで、クロスプラットフォーム、オフライン展開用にパッケージ化できるラベリングツールを探している方。

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트