カスタムデータセットでYOLOをトレーニングする方法:ステップバイステップガイド
オブジェクト検出は、セキュリティ、自動化、ロボティクスなどの業界で不可欠な技術となっています。YOLO(You Only Look Once)は、そのスピードと精度の高さから最も人気のあるリアルタイムオブジェクト検出モデルの1つです。本記事では、カスタムデータセットを使用してYOLOをトレーニングし、実際のアプリケーションで使用できるようにする方法を説明します。
ステップ1:依存関係のインストール
まず、必要な依存関係をインストールします。最新のYOLOv5またはYOLOv8を使用すると、より簡単にトレーニングできます。
# YOLOv5リポジトリをクローン
git clone https://github.com/ultralytics/yolov5.git
cd yolov5
# 必要なパッケージをインストール
pip install -r requirements.txt
YOLOv8の場合は、Ultralyticsパッケージを直接インストールできます:
pip install ultralytics
ステップ2:データセットの準備
YOLOは特定のフォーマットでデータを必要とし、各画像には対応するアノテーションファイル(YOLOフォーマット)が必要です:
<class_id> <x_center> <y_center> <width> <height>
すべての値は0〜1の範囲で正規化する必要があります。データセットのフォルダ構成は以下のようになります:
/dataset
├── images
│ ├── train
│ │ ├── img1.jpg
│ │ ├── img2.jpg
│ ├── val
│ ├── img3.jpg
│ ├── img4.jpg
├── labels
│ ├── train
│ │ ├── img1.txt
│ │ ├── img2.txt
│ ├── val
│ ├── img3.txt
│ ├── img4.txt
├── data.yaml
data.yaml
ファイルの作成
このファイルは、データセットの構成とクラス名を定義します:
train: /path/to/dataset/images/train
val: /path/to/dataset/images/val
nc: 2 # クラス数
names: ['person', 'car'] # クラス名
ステップ3:モデルのトレーニング
YOLOv5をトレーニングするには、以下のコマンドを実行します:
python train.py --img 640 --batch 16 --epochs 50 --data dataset/data.yaml --weights yolov5s.pt --cache
YOLOv8の場合は以下を使用します:
yolo train model=yolov8n.pt data=dataset/data.yaml epochs=50 imgsz=640
ステップ4:トレーニングの進行状況を監視
YOLOはトレーニング中にさまざまなパフォーマンス指標を記録します。YOLOv5を使用している場合、結果は runs/train/exp/
に保存されます。トレーニングのパフォーマンスを可視化するには、TensorBoardを使用できます:
tensorboard --logdir=runs/train
ステップ5:モデルの評価とテスト
トレーニングが完了したら、新しい画像でモデルをテストします:
python detect.py --weights runs/train/exp/weights/best.pt --img 640 --source test_images/
YOLOv8の場合:
yolo detect model=runs/train/exp/weights/best.pt source=test_images/
ステップ6:デプロイ用のエクスポート
YOLOモデルは、複数のフォーマットでエクスポートできます:
python export.py --weights runs/train/exp/weights/best.pt --include onnx torchscript
YOLOv8の場合:
yolo export model=runs/train/exp/weights/best.pt format=onnx
まとめ
カスタムデータセットを使用してYOLOをトレーニングすることで、セキュリティ、交通監視、自動化などのリアルワールドアプリケーションに対応したオブジェクト検出を実現できます。このステップバイステップガイドに従えば、データの準備、トレーニング、デプロイまでを効率的に進めることができます。
データセットの準備やトレーニング設定の最適化についてサポートが必要ですか?コメントでお知らせください!
Related Posts
- 量子コンピューティングはAIのボトルネックを解決できるのか?
- ควอนตัมคอมพิวติ้งสามารถแก้ไขปัญหาคอขวดของ AI ได้หรือไม่?
- Can Quantum Computing Solve AI’s Biggest Bottlenecks
- วิธีฝึก YOLO ด้วยชุดข้อมูลที่กำหนดเอง: คำแนะนำทีละขั้นตอน
- Training YOLO with a Custom Dataset: A Step-by-Step Guide
- WazuhとAIの統合による高度な脅威検出
- การผสานรวม AI กับ Wazuh เพื่อการตรวจจับภัยคุกคามขั้นสูง
- Integrating AI with Wazuh for Advanced Threat Detection
- AIはどのようにして偽造された高級品を検出するのか?
- AI ช่วยตรวจจับสินค้าหรูปลอมได้อย่างไร?
Articles
- 🧠 LangChain はどのように動作するのか?
- LangChain ทำงานอย่างไร? เจาะลึกเบื้องหลังสมองของ AI แชทบอทอัจฉริยะ
- 🧠 How LangChain Works: A Deep Dive into the AI Framework Behind Smart Chatbots
- 🤖 為什麼中國中小企業現在就該使用 AI 聊天機器人?
- Why It's Time for Small Businesses to Start Using Chatbots – Globally
- 🤖 ถึงเวลาแล้ว! ทำไมธุรกิจ SME ไทยควรเริ่มใช้ "แชทบอท" วันนี้
- 🤖 日本の中小企業へ——今こそ「チャットボット」を導入すべき理由
- なぜ今、企業は LangChain チャットボットを導入しているのか?
- ทำไมธุรกิจยุคใหม่ถึงเลือกใช้แชทบอท LangChain? และคุณก็ควรเช่นกัน
- 为什么越来越多的企业选择 LangChain 聊天机器人?
- Why Smart Businesses Are Choosing LangChain Chatbots – And Why You Should Too
- 🚀 LangChainを活用したエージェントAIチャットボットの開発
- วิธีสร้างแชทบอท AI อัจฉริยะด้วย LangChain
- 🚀 How to Build an Agentic AI Chatbot with LangChain
- Wazuhの理解: アーキテクチャ、ユースケース、実践的な応用
- ทำความเข้าใจ Wazuh: สถาปัตยกรรม, กรณีการใช้งาน และการนำไปใช้จริง
- Understanding Wazuh: Architecture, Use Cases, and Applications
- Djangoでの耐障害性ソフトウェア設計
- การออกแบบซอฟต์แวร์ที่ทนต่อความล้มเหลวด้วย Django
- Designing Fault-Tolerant Software with Django
Our Products
Related Posts
- 量子コンピューティングはAIのボトルネックを解決できるのか?
- ควอนตัมคอมพิวติ้งสามารถแก้ไขปัญหาคอขวดของ AI ได้หรือไม่?
- Can Quantum Computing Solve AI’s Biggest Bottlenecks
- วิธีฝึก YOLO ด้วยชุดข้อมูลที่กำหนดเอง: คำแนะนำทีละขั้นตอน
- Training YOLO with a Custom Dataset: A Step-by-Step Guide
- WazuhとAIの統合による高度な脅威検出
- การผสานรวม AI กับ Wazuh เพื่อการตรวจจับภัยคุกคามขั้นสูง
- Integrating AI with Wazuh for Advanced Threat Detection
- AIはどのようにして偽造された高級品を検出するのか?
- AI ช่วยตรวจจับสินค้าหรูปลอมได้อย่างไร?
Articles
- 🧠 LangChain はどのように動作するのか?
- LangChain ทำงานอย่างไร? เจาะลึกเบื้องหลังสมองของ AI แชทบอทอัจฉริยะ
- 🧠 How LangChain Works: A Deep Dive into the AI Framework Behind Smart Chatbots
- 🤖 為什麼中國中小企業現在就該使用 AI 聊天機器人?
- Why It's Time for Small Businesses to Start Using Chatbots – Globally
- 🤖 ถึงเวลาแล้ว! ทำไมธุรกิจ SME ไทยควรเริ่มใช้ "แชทบอท" วันนี้
- 🤖 日本の中小企業へ——今こそ「チャットボット」を導入すべき理由
- なぜ今、企業は LangChain チャットボットを導入しているのか?
- ทำไมธุรกิจยุคใหม่ถึงเลือกใช้แชทบอท LangChain? และคุณก็ควรเช่นกัน
- 为什么越来越多的企业选择 LangChain 聊天机器人?
- Why Smart Businesses Are Choosing LangChain Chatbots – And Why You Should Too
- 🚀 LangChainを活用したエージェントAIチャットボットの開発
- วิธีสร้างแชทบอท AI อัจฉริยะด้วย LangChain
- 🚀 How to Build an Agentic AI Chatbot with LangChain
- Wazuhの理解: アーキテクチャ、ユースケース、実践的な応用
- ทำความเข้าใจ Wazuh: สถาปัตยกรรม, กรณีการใช้งาน และการนำไปใช้จริง
- Understanding Wazuh: Architecture, Use Cases, and Applications
- Djangoでの耐障害性ソフトウェア設計
- การออกแบบซอฟต์แวร์ที่ทนต่อความล้มเหลวด้วย Django
- Designing Fault-Tolerant Software with Django