YOLO26の紹介: 次世代のビジョンAI。
Ultralytics
ガイド

野生動物を検出するようにUltralytics YOLOモデルをトレーニングする方法

African Wildlife Datasetを使用して野生動物を検出するようにYOLOモデルをトレーニングし、そのモデルを使用して未知の画像で推論を実行する方法を学びます。

ABAbirami Vina
5 min read
野生動物を検出するようにUltralytics YOLOモデルをトレーニングする

地球上の野生生物は、ブンブンと飛び回るハチから巨大なゾウまで非常に多様であり、この生物多様性を守ることは生態系のバランスを維持するために不可欠です。しかし、生息地の喪失、密猟、気候変動により、保全活動はより困難になっています。これらの要因はすべて、野生生物の個体数に悪影響を及ぼしています。

カメラトラップ画像の分析やフィールド調査の手動実施といった従来型の動物モニタリング手法は、時間がかかり、多くのリソースを必要とします。こうした取り組みでは、広大な地域や大規模な個体群を効果的にカバーできないことがよくあります。

こうした限界を克服するために、人工知能(AI)を野生生物保護における強力なツールとして活用できます。具体的には、Ultralytics YOLO11のようなコンピュータビジョンモデルが、画像や動画などの視覚データを分析し、動物のリアルタイムでの識別と追跡を自動化します。

YOLO11がサポートする物体検出やインスタンスセグメンテーションといったコンピュータビジョンのタスクは、この分野で非常に有用です。これらのタスクは視覚データを分析することで、重要なデータの収集や生態学的なパターンの特定、そして環境への脅威に対するより効果的な対応を支援します。

この記事では、YOLO11をトレーニングして動物を検出するプロセスを順を追って説明します。それでは始めましょう!

Link to this sectionUltralytics YOLO11を始める#

チュートリアルに入る前に、YOLO11のトレーニングと使用に必要なさまざまなセットアップオプションとツールを確認しましょう。

必要な主要ツールはUltralytics Pythonパッケージであり、これにより、トレーニング、物体検出、推論の実行といったタスクのためにYOLOモデルを簡単に扱うことができます。Ultralyticsパッケージを使用するにはコードを実行する環境をセットアップする必要があり、選択可能なオプションはいくつかあります。

以下は、開発環境をセットアップするための最も一般的なオプションです。

  • コマンドラインインターフェース(CLI): ターミナルとも呼ばれるCLIは、コマンドを入力してコンピュータと対話するためのテキストベースのツールです。ボタンをクリックしてマウスを使うグラフィカルインターフェース(GUI)とは異なり、CLIではプログラムを実行したりタスクを処理したりするためにテキスト命令を入力する必要があります。
  • Jupyter Notebooks: これらのノートブックでは、セルと呼ばれる小さな単位でコードを記述・実行できます。対話型であるため、コードの出力をすぐに確認でき、テストやデバッグが容易になります。
  • Google Colab: Google Colabは、Jupyter Notebooksのように動作しますが、強力なGPUへの無料アクセスを提供するクラウドベースのプラットフォームです。セットアップは簡単で、コンピュータに何もインストールする必要はありません。

環境をセットアップするための他のオプションは公式Ultralyticsドキュメントで確認できますが、上記3つのオプションはセットアップがほとんど不要で使いやすく、素早く始めるのに最適です。

このチュートリアルでは、Google Colab、Jupyter Notebooks、またはシンプルなPythonファイルを使用してYOLO11をセットアップし、トレーニングする方法を紹介します。どの環境でも手順は非常によく似ているためです。

Link to this sectionAfrican Wildlife Datasetについて#

開発環境を選択した後、野生動物を特異的に検出できるようYOLO11をトレーニングするには、ラベル付けされた高品質なデータセットが必要です。モデルが教師あり学習を通じて動物を認識できるように、画像には動物の位置と種類が明確に示されている必要があります。

このチュートリアルでは、African Wildlife Datasetを使用します。これはUltralytics Pythonパッケージによってサポートされており、アフリカの生態系によく見られる動物を検出するために特別に設計されています。バッファロー、ゾウ、サイ、シマウマの4つの主要種の注釈付き画像が含まれています。

African Wildlife Datasetの様子

Fig 1. African Wildlife Datasetの概要。

African Wildlife Datasetの主な特徴は以下の通りです。

  • スケール: データセットは1504枚の画像で構成され、トレーニング用に1052枚、検証用に225枚、テスト用に227枚の3つのサブセットに分かれています。この分割により、モデルが効果的に学習し、徹底的に評価されることが保証されます。
  • シームレスな統合: Ultralyticsは、データセットパス、クラス、その他の詳細を定義したYAML設定ファイルを提供しており、YOLOモデルのトレーニング時に簡単に使用できます。
  • オープンライセンス: このデータセットはAGPL-3.0ライセンスの下で配布されており、透明性とコラボレーションを促進しています。

Link to this section動物検出のためのUltralytics YOLO11のトレーニング#

African Wildlife Datasetを確認したところで、画像内の動物を検出するYOLO11モデルのトレーニングを開始しましょう。プロセスには、開発環境のセットアップ、YOLO11モデルのトレーニング、モデルのパフォーマンス評価が含まれます。

Link to this sectionステップ 1: 環境のセットアップ#

まず始めに、モデルのトレーニングとテストのための環境を準備します。お好みに応じて、Google Colab、Jupyter Notebooks、またはシンプルなPythonファイルを使用できます。それに応じて新しいGoogle Colabノートブック、Jupyter Notebook、またはPythonファイルを作成してください。

Google Colabを使用する場合、環境はデフォルトでCPU上で実行されるため、トレーニングが遅くなる可能性があります。特に大規模なモデルの場合、処理を高速化するために、ランタイムをGPU使用に切り替えることができます。Google Colabでは、メニューの「ランタイム」タブに移動し、「ランタイムのタイプを変更」を選択して、ハードウェアアクセラレータをGPU(できればT4 GPU)に設定できます。これはトレーニング時間を短縮するために重要です。

次に、どの環境を使用していても、Ultralytics Pythonパッケージをインストールする必要があります。ノートブックベースの環境(Google ColabまたはJupyter)を使用している場合は、先頭に感嘆符(!)を付けて以下のコマンドを実行してください。

pip install ultralytics

Link to this sectionステップ 2: YOLO11の読み込みとデータセットの準備#

Ultralyticsパッケージがインストールされたら、次のステップはYOLO11モデルを読み込み、トレーニング用にデータセットを準備することです。まず、一般的な物体検出タスクで事前トレーニング済みのYOLO11モデルを読み込みます。この事前トレーニング済みモデルは、すでに様々な物体の検出方法を学習しているため、優れた出発点となります。

次に、画像とラベルに関する情報を含むYAMLファイルを使用してデータセットを指定します。このファイルは、データセットの場所と認識すべき物体をモデルに伝えます。

African Wildlife DatasetはUltralyticsパッケージによってサポートされているため、トレーニングを開始すると自動的にダウンロードされます。手動でセットアップする手間が省けます。

データセットの準備ができたら、モデルのトレーニングが始まります。モデルはデータセットを複数回通過します。これは複数エポックにわたるトレーニングと呼ばれ、画像内の動物を認識する能力を向上させます。このプロセス中、画像は処理のために一貫したサイズにリサイズされ、モデルは一度に設定された数の画像(バッチ)を処理します。これにより、モデルはより効率的に学習できます。

要するに、モデルが読み込まれ、データセットが自動的にダウンロードされ、以下のコードスニペットを実行すると、African Wildlife Datasetに基づいて動物を検出するためのトレーニングが開始されます。

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
results = model.train(data="african-wildlife.yaml", epochs=30, batch=8)

Link to this sectionステップ 3: YOLO11トレーニングの進め方#

上記のコードスニペットが実行されると、指定した設定に基づいてモデルのトレーニングが開始されます。コードを通じてモデルにトレーニング画像を30回通過するように指示しました。つまり、モデルはデータセット内の全画像を30回確認し、そのたびに少しずつ学習していきます。

あなたが動物の描き方を学ぼうとしていると想像してください。最初の描画はうまくいかないかもしれませんが、何度も練習を繰り返すうちに上達し始めます。挑戦するたびに、失敗から学び、修正していきます。これと同じことが、エポックごとのモデルにも当てはまります。モデルは画像を確認し、間違いを犯し、そこから学び、回を重ねるごとに動物を認識する能力が向上していきます。

トレーニングコードが正常に実行されている場合、トレーニングの進行に伴い、以下の出力が表示されます。

  • トレーニング設定: 最初の部分には、使用されているUltralytics、PyTorch、ハードウェアのバージョン(この場合はCPU)が表示され、モデル(yolo11n.pt)、バッチサイズ、エポック数、画像サイズを含むトレーニング設定が示されます。
  • モデルサマリー: レイヤー数やパラメーター数など、モデルの複雑さに関する情報を提供し、モデルの規模を示します。
  • オプティマイザーと学習率: トレーニング中にモデルがパラメーターを調整する方法を制御するオプティマイザー(AdamWなど)と学習率について言及されています。
  • データセットスキャン: モデルはデータセットをスキャンし、有効でトレーニング可能な画像がいくつあるかを示します。これにより、データセットに問題がないことが確認されます。
  • トレーニングの進捗: 出力は各エポック(トレーニングサイクル)後に更新され、トレーニングの進捗と、モデルの学習状況を示す重要な損失値(box_loss, cls_loss, dfl_loss)が表示されます。
  • パフォーマンス指標: 各エポックの後、精度(precision)、再現率(recall)、mAP(平均適合率)などのパフォーマンス指標が表示されます。これらの値は、モデルが物体を検出および分類する際の正確さを示しています。
  • GPUメモリ使用量: GPUを使用している場合、出力にはハードウェアの利用状況を追跡するためのメモリ使用量が表示されます。

モデルのトレーニング実行時に表示される出力

Fig 2. モデルトレーニング実行時に表示される出力。

Link to this sectionステップ 4: カスタムトレーニング済みモデルのパフォーマンス評価#

トレーニングプロセスが完了したら、モデルのパフォーマンス指標を確認し、検証を行うことができます。Google Colabでは、「runs」フォルダーに移動し、「detect」フォルダー、次に「train」フォルダーと進むことで、主要なパフォーマンス指標を表示するログを見つけることができます。

Python環境のユーザーの場合、トレーニング結果はデフォルトで現在の作業ディレクトリ内の「runs/train/」ディレクトリに保存されます。各トレーニング実行は新しいサブディレクトリ(runs/train/exp、runs/train/exp2など)を作成し、そこでトレーニングに関連するログやその他の出力を確認できます。

CLIを使用している場合は、「yolo settings」コマンドを使用することで、これらの結果や設定に簡単にアクセスできます。これにより、トレーニングログや実験の詳細に関連するパスやその他の設定を表示または変更できます。

ログの中には、モデルのトレーニングプロセスがどれほど順調に進んだかを確認できるグラフもいくつかあります。トレーニング完了後に作成されるこれらのグラフは、間違いが減り精度が向上したことで、モデルが時間とともに改善されたかどうかを示します。

それらはモデルの進捗を追跡し、トレーニング中に損失(モデルの予測と実際の値との差)がどのように減少し、精度がどのように向上したかを表示します。これは、モデルがどれだけ動物を認識するように学習したか、またトレーニング終了までにどれだけ向上したかを理解するのに役立ちます。

モデルの評価に利用できるグラフの例

Fig 3. モデルを評価するために分析できるグラフの例。

Link to this section主要なパフォーマンス評価指標#

また、モデルのパフォーマンスを評価するために使用できる指標を詳しく見てみましょう。

  • 平均適合率(mAP): この指標は、異なる再現率レベルでの精度スコアを平均化することにより、すべてのクラスにわたって動物を検出するモデルの全体的な精度を測定します。
  • 精度(Precision): これは正しい検出の割合を表し、真陽性の検出数を、行われた検出の総数で割ることによって計算されます。
  • 再現率(Recall): 画像内の実際の動物のうち、モデルによって正しく特定された割合を示し、関連するすべてのインスタンスを捕捉する能力を反映しています。

これらの評価指標は、実際のアプリケーションで使用する前に、精度を向上させるためのモデルの微調整に役立ちます。

Link to this sectionカスタムトレーニングしたYOLO11モデルを使用した推論の実行#

YOLO11のトレーニングと評価が完了したので、これを使用して画像を分析し、推論を実行する時が来ました。データセットのテスト画像、またはさまざまなソースからの新しい画像を使用できます。

次のコードスニペットを使用して、テストデータセット内の画像に対してモデルを実行します。これにより、Ultralyticsライブラリから必要なモジュールがインポートされます。次に、結果ディレクトリに保存されている最適なモデルウェイトファイル(「best.pt」)へのパスを定義します。カスタムトレーニングされたYOLO11モデルは、これらのウェイトを使用して読み込まれます。

その後、African Wildlifeテストデータセット内の画像へのパスが設定されます。モデルがこの画像に適用されて物体検出が行われ、結果が生成され、出力(検出された物体や注釈など)が保存されます。

from ultralytics import YOLO, settings

best_model_path = results.save_dir / "weights/best.pt"
model = YOLO(best_model_path)
image_path = f"{settings['datasets_dir']}/african-wildlife/test/images/1 (168).jpg"
img_results = model(image_path, save=True)

以下に示す出力画像は、runs/detectディレクトリ内の「predict」フォルダーに保存されます。後続のテストでは、「predict2」、「predict3」などの新しいフォルダーが作成され、画像が保存されます。

テスト画像でファインチューニング済みのYOLO11モデルを使用して推論を実行

Fig 4. テスト画像で微調整したYOLO11モデルを使用した推論の実行。

異なるソースの画像をテストするには、以下のコードを使用できます。ここではPexelsの画像を使用しました。同じ画像や他の関連画像を使用できます。

from ultralytics import YOLO

best_model_path = results.save_dir / "weights/best.pt"
model = YOLO(best_model_path)
img2_results = model("https://images.pexels.com/photos/18341011/pexels-photo-18341011/free-photo-of-elephant-and-zebras-in-savannah.png", save=True)

以下に示す出力画像は、適切なフォルダーに保存されます。

未知の画像に対してファインチューニング済みのYOLO11モデルを使用して野生動物を検出

Fig 5. 未確認の画像で微調整したYOLO11モデルを使用した野生生物の検出。

Link to this section野生生物保護のためのAI:実社会への応用#

YOLO11のようなモデルは、自動的に動物を検出し追跡することができ、さまざまな実用的なアプリケーションを実現します。ビジョンAIが野生生物保護活動を支援するために使用できる主要な領域をいくつか紹介します。

  • 種モニタリング: ビジョンAIは、画像や動画などの視覚データを処理し、種を正確に識別し、個体数をカウントし、時間の経過に伴う移動を追跡するために使用できます。
  • スマートカメラアラート: 遠隔地では、コンピュータビジョンを使用して動物を継続的に分類し、リアルタイムのアラートを送信することで、野生生物当局が異常な動物の行動や人間と野生動物の衝突といった脅威に迅速に対応できるようにします。
  • 行動分析: ビジョンAIシステムは、移動、採餌習慣、社会的相互作用を監視することで、種間ダイナミクスに関する包括的な洞察を提供します。
  • 密猟防止: ビジョンAIを活用して、人間の無許可の立ち入りや密猟の兆候を検出し、機械学習や過去のデータを活用してリスクの高い場所を特定することができます。

Link to this section重要なポイント#

YOLO11のようなコンピュータビジョンモデルは、動物の検出と追跡を自動化することで、野生生物保護において重要な役割を果たすことができます。ビジョンAIを使用すれば、様々なソースからの大量の画像や動画を処理し、正確な野生生物評価を行うことが可能になります。

特にUltralytics YOLO11はリアルタイム物体検出に最適な選択肢であり、密猟防止監視、行動分析、生態系モニタリングなどのタスクに最適です。AI駆動型のモデルを保全活動に取り入れることで、種をよりよく保護し、生物多様性の追跡を改善し、絶滅の危機に瀕した野生生物を守るためのより情報に基づいた意思決定を行うことができます。

私たちのコミュニティに参加し、GitHubリポジトリを探索して、コンピュータビジョンについてさらに学びましょう。私たちのソリューションページで、ヘルスケアにおけるAI製造におけるコンピュータビジョンに関するその他のアプリケーションを発見してください。Ultralyticsライセンスオプションを確認して、ビジョンAIを始めましょう。

Explore solutions

Real-time AI that works with your team

ロボティクスにおけるAI

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律航行、認識、物体追跡、リアルタイム制御を推進します。
詳細はこちら
Real-time AI that works with your team

物流におけるAI

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物の検査、仕分け、車両追跡、リアルタイムの倉庫安全モニタリングが可能になります。
詳細はこちら
Real-time AI that works with your team

小売業界におけるAI

Ultralytics YOLOモデルで小売を再定義しましょう。ビジョンAIは、在庫追跡、棚のモニタリング、キュー管理、そしてより賢明な顧客インサイトを促進します。
詳細はこちら
Real-time AI that works with your team

ヘルスケアにおけるAI

Ultralytics YOLOモデルを使用してヘルスケアソリューションを構築しましょう。ヘルスケア分野におけるビジョンAIは、より高速な医療画像診断、よりスマートな診断、患者モニタリングを推進します。
詳細はこちら
Real-time AI that works with your team

製造におけるAI

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPEコンプライアンス、組立ラインの自動化を促進します。
詳細はこちら
Real-time AI that works with your operation

自動車におけるAI

Ultralytics YOLOモデルを使用して、自動車分野にコンピュータビジョンを適用しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳細はこちら
Real-time AI tailored to your operation

農業におけるAI

Ultralytics YOLOモデルを使用して、スマート農業にビジョンAIを導入しましょう。作物モニタリング、家畜のトラッキング、精密農業を強化し、より高くスマートな収穫を実現します。
詳細はこちら
Real-time AI that works with your team

ロボティクスにおけるAI

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律航行、認識、物体追跡、リアルタイム制御を推進します。
詳細はこちら
Real-time AI that works with your team

物流におけるAI

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物の検査、仕分け、車両追跡、リアルタイムの倉庫安全モニタリングが可能になります。
詳細はこちら
Real-time AI that works with your team

小売業界におけるAI

Ultralytics YOLOモデルで小売を再定義しましょう。ビジョンAIは、在庫追跡、棚のモニタリング、キュー管理、そしてより賢明な顧客インサイトを促進します。
詳細はこちら
Real-time AI that works with your team

ヘルスケアにおけるAI

Ultralytics YOLOモデルを使用してヘルスケアソリューションを構築しましょう。ヘルスケア分野におけるビジョンAIは、より高速な医療画像診断、よりスマートな診断、患者モニタリングを推進します。
詳細はこちら
Real-time AI that works with your team

製造におけるAI

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPEコンプライアンス、組立ラインの自動化を促進します。
詳細はこちら
Real-time AI that works with your operation

自動車におけるAI

Ultralytics YOLOモデルを使用して、自動車分野にコンピュータビジョンを適用しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳細はこちら
Real-time AI tailored to your operation

農業におけるAI

Ultralytics YOLOモデルを使用して、スマート農業にビジョンAIを導入しましょう。作物モニタリング、家畜のトラッキング、精密農業を強化し、より高くスマートな収穫を実現します。
詳細はこちら
Real-time AI that works with your team

ロボティクスにおけるAI

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律航行、認識、物体追跡、リアルタイム制御を推進します。
詳細はこちら
Real-time AI that works with your team

物流におけるAI

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物の検査、仕分け、車両追跡、リアルタイムの倉庫安全モニタリングが可能になります。
詳細はこちら
Real-time AI that works with your team

小売業界におけるAI

Ultralytics YOLOモデルで小売を再定義しましょう。ビジョンAIは、在庫追跡、棚のモニタリング、キュー管理、そしてより賢明な顧客インサイトを促進します。
詳細はこちら
Real-time AI that works with your team

ヘルスケアにおけるAI

Ultralytics YOLOモデルを使用してヘルスケアソリューションを構築しましょう。ヘルスケア分野におけるビジョンAIは、より高速な医療画像診断、よりスマートな診断、患者モニタリングを推進します。
詳細はこちら
Real-time AI that works with your team

製造におけるAI

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPEコンプライアンス、組立ラインの自動化を促進します。
詳細はこちら
Real-time AI that works with your operation

自動車におけるAI

Ultralytics YOLOモデルを使用して、自動車分野にコンピュータビジョンを適用しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳細はこちら
Real-time AI tailored to your operation

農業におけるAI

Ultralytics YOLOモデルを使用して、スマート農業にビジョンAIを導入しましょう。作物モニタリング、家畜のトラッキング、精密農業を強化し、より高くスマートな収穫を実現します。
詳細はこちら

AIの未来を共に築き上げましょう!

機械学習の未来とともに旅を始めましょう