YOLO Vision 2025にご期待ください!
2025年9月25日
10:00 — 18:00(英国夏時間)
ハイブリッドイベント
Yolo Vision 2024

野生動物を検出するためのUltralytics YOLOモデルのトレーニング方法

Abirami Vina

5分で読めます

2025年4月15日

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

私たちの地球の野生生物は、ブンブンと音を立てるハチからそびえ立つゾウまで、信じられないほど多様であり、この生物多様性を維持することは、バランスの取れた生態系を維持するための鍵となります。しかし、生息地の喪失、密猟、気候変動により、保護活動はますます困難になっています。これらの要因はすべて、野生生物の個体数に悪影響を及ぼします。 

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

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

YOLO11によってサポートされているオブジェクト検出やインスタンスセグメンテーションのようなコンピュータビジョンタスクは、ここで非常に役立ちます。視覚データを分析することにより、これらのタスクは、重要なデータを収集し、生態学的パターンを特定し、環境の脅威により効果的に対応するのに役立ちます。

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

Ultralytics 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をセットアップおよびトレーニングする方法を紹介します。これらの環境全体で手順が非常に類似しているためです。

アフリカの野生生物データセットについて

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

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

図1. アフリカ野生動物データセットの概要

アフリカ野生動物データセットの主な特徴を以下に示します。

  • 規模: データセットは1504枚の画像で構成され、3つのサブセット(トレーニング用1052枚、検証用225枚、テスト用227枚)に分割されています。この分割により、モデルが効果的に学習し、徹底的に評価されることが保証されます。

  • シームレスな統合: Ultralyticsは、データセットのパス、クラス、その他の詳細を定義するYAML構成ファイルを提供しており、YOLOモデルのトレーニング時に簡単に使用できます。

  • オープンライセンス: このデータセットはAGPL-3.0ライセンスの下で配布されており、透明性とコラボレーションを促進します。

動物検出のためのUltralytics YOLO11のトレーニング

アフリカ野生動物データセットについて説明したところで、YOLO11モデルをトレーニングして、画像内の動物を検出してみましょう。このプロセスには、開発環境のセットアップ、YOLO11モデルのトレーニング、モデルのパフォーマンスの評価が含まれます。

ステップ1:環境のセットアップ

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

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

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

pip install ultralytics

ステップ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)

ステップ3:YOLO11トレーニングのウォークスルー

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

動物の描き方を学ぼうとしていると想像してください。最初に描いたときはうまくいかないかもしれませんが、何度も練習した後、上達し始めます。もう一度試すたびに、何がうまくいかなかったかを学び、修正します。それこそが、各エポックがモデルに対して行うことです。画像を見て、間違いを犯し、そこから学び、毎回動物を認識するのがうまくなります。

トレーニングコードが正常に実行されている場合、トレーニングの進行状況に応じて次の出力が表示されます。

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

ステップ4:カスタムトレーニングされたモデルのパフォーマンスの評価

学習プロセスが完了したら、モデルのパフォーマンス指標をレビューし、検証することができます。Google Colabでは、「runs」フォルダ、「detect」フォルダ、そして「train」フォルダへと進むと、主要なパフォーマンス指標を示すログを見つけることができます。

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

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

ログの中には、モデルのトレーニングプロセスがどれだけうまくいったかを確認できるグラフもあります。これらのグラフは、トレーニング完了後に作成され、モデルが時間の経過とともに間違いを減らし、より正確になることで改善されたかどうかを示します。 

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

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

主要なパフォーマンス評価指標

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

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

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

カスタムトレーニングされた YOLO11 モデルを使用した推論の実行

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

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

その後、アフリカの野生生物テストデータセットからの画像へのパスが設定されます。モデルは、オブジェクト検出のためにこの画像に適用され、結果が生成され、出力(検出されたオブジェクトやアノテーションなど)が保存されます。

from ultralytics import settings

best_model_path = results.save_dir / "weights/best.pt"

model = YOLO(best_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"などの新しいフォルダーが作成され、画像が保存されます。

図4. 微調整されたYOLO11モデルを使用してテスト画像で推論を実行する。

異なるソースからの画像をテストするには、以下のコードを使用できます。ここではPexelsの画像を使用していますが、同じ画像でも、他の適切な画像でも構いません。

best_model_path = results.save_dir / "weights/best.pt"

model = YOLO(best_path)

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

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

図5:未見の画像で微調整されたYOLO11モデルを使用して野生生物を検出する。

野生生物保護のためのAI:実際の応用例

YOLO11のようなモデルは、動物を自動的に検出および追跡できるため、さまざまな実用的なアプリケーションを可能にします。ここでは、野生生物保護の取り組みをサポートするためにVision AIを使用できる主要分野を紹介します。

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

主なポイント

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

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

当社のコミュニティに参加し、GitHubリポジトリを調べて、コンピュータビジョンについて詳しく学んでください。ソリューションページで、ヘルスケアにおけるAIおよび製造業におけるコンピュータビジョンに関連するその他のアプリケーションをご覧ください。Vision AIの使用を開始するには、Ultralyticsのライセンスオプションをご確認ください。

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

未来の機械学習で、新たな一歩を踏み出しましょう。

無料ではじめる
クリップボードにコピーしました