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 ベースで、クロスプラットフォーム、オフライン展開用にパッケージ化できるラベリングツールを探している方。
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트