アフリカの野生動物データセットを使用して、野生の動物をdetect するYOLO モデルを訓練し、未見の画像に対して推論を実行するためにモデルを使用する方法を学びます。
アフリカの野生動物データセットを使用して、野生の動物をdetect するYOLO モデルを訓練し、未見の画像に対して推論を実行するためにモデルを使用する方法を学びます。
私たちの地球の野生生物は、ブンブンと音を立てるハチからそびえ立つゾウまで、信じられないほど多様であり、この生物多様性を維持することは、バランスの取れた生態系を維持するための鍵となります。しかし、生息地の喪失、密猟、気候変動により、保護活動はますます困難になっています。これらの要因はすべて、野生生物の個体数に悪影響を及ぼします。
カメラトラップ画像の分析やフィールド調査の実施など、従来の動物モニタリング手法は、時間がかかり、多くのリソースを必要とする場合があります。これらの取り組みは、広大な地域や大規模な個体群を効果的にカバーできないことがよくあります。
こうした制約を克服するために、人工知能(AI)を野生生物保護におけるインパクトのあるツールとして使用することができる。具体的には Ultralytics YOLO11のようなコンピュータ・ビジョン・モデルは、画像や動画などの視覚データを分析し、動物のリアルタイム識別と追跡を自動化することができる。
YOLO11サポートする物体検出やインスタンス分割のようなコンピュータ・ビジョン・タスクは、ここで非常に役に立つ。視覚データを分析することで、これらのタスクは重要なデータを収集し、生態学的パターンを特定し、環境脅威により効果的に対応するのに役立つ。
この記事では、YOLO11 動物をdetect せるためのトレーニング方法を説明します。さっそく始めよう!
チュートリアルに入る前に、YOLO11トレーニングや使用に必要なさまざまな設定オプションやツールについて見てみましょう。
必要な主なツールはUltralytics Python パッケージで、トレーニング、オブジェクトの検出、推論の実行などのタスクでYOLO モデルを簡単に扱うことができます。Ultralytics パッケージを使用するには、コードを実行するための環境をセットアップする必要があります。
開発環境をセットアップするための最も一般的なオプションを次に示します。
Ultralytics 公式ドキュメントで調べることができる環境設定のオプションは他にもありますが、上記の3つのオプションはほとんどセットアップが必要なく、使いやすいので、すぐに始めるのに理想的です。
このチュートリアルでは、Google Colab、Jupyter Notebooks、またはシンプルなPython ファイルを使ったYOLO11 セットアップとトレーニング方法を紹介する。
開発環境を選択した後、YOLO11 野生動物をdetect できるように訓練するためには、ラベル付けされた画像の高品質なデータセットが必要だ。それぞれの画像には、どこにどのような種類の動物がいるのかが明確に示されている必要があり、教師あり学習によってモデルが動物の認識を学習できるようにする。
このチュートリアルでは、African Wildlife Dataset を使用します。これはUltralytics Python パッケージによってサポートされており、アフリカの生態系で一般的に見られる動物を検出するために特別に設計されています。バッファロー、ゾウ、サイ、シマウマの4つの主要種の注釈付き画像が含まれています。

アフリカ野生動物データセットの主な特徴を以下に示します。
さて、アフリカ野生動物データセットを探索したところで、画像中の動物をdetect するYOLO11 モデルのトレーニングを始めましょう。このプロセスでは、開発環境のセットアップ、YOLO11 モデルのトレーニング、モデルの性能評価を行います。
始めに、モデルのトレーニングとテストのための環境を準備する。Google Colab、Jupyter Notebooks、またはシンプルなPython ファイルを、好みに応じて使用することができる。Google Colabノートブック、Jupyterノートブック、Python ファイルを適宜新規作成する。
Google Colabを使用している場合、デフォルトの環境はCPU (Central Processing Unit)で実行されるため、トレーニングが遅くなる可能性があります。プロセスをスピードアップするには、特に大きなモデルの場合、ランタイムをGPU切り替えることができます。Google Colabでは、メニューの "Runtime "タブに移動し、"Change runtime type "を選択し、ハードウェアアクセラレータをGPU (できればT4GPU)に設定することができます。これはトレーニング時間を短縮するために重要です。
次に、どの環境を使用しているかに関わらず、Ultralytics Python パッケージをインストールする必要がある。ノートブックベースの環境Google ColabやJupyter)を使っている場合は、感嘆符(!)を先頭につけて以下のコマンドを実行する。
pip install ultralyticsUltralytics パッケージがインストールされたら、次はYOLO11 モデルをロードし、トレーニング用のデータセットを準備する。まず、YOLO11 モデルをロードする。YOLO11 モデルは、一般的な物体検出タスクについて事前にトレーニング済みである。この事前にトレーニングされたモデルは、様々な物体をdetect する方法をすでに学習しているため、良い出発点となります。
次に、画像とラベルに関する情報を含むYAMLファイルを使用して、データセットを指定します。このファイルは、モデルにデータセットの場所と、認識するように学習する必要がある物体を指示します。
アフリカ野生動物データセットはUltralytics パッケージでサポートされているため、トレーニングを開始すると自動的にダウンロードされ、手動で設定する手間が省けます。
データセットの準備ができると、モデルのトレーニングが開始されます。モデルは、画像内の動物を認識する能力を向上させるために、複数回データセットを処理します。これは、複数エポックにわたるトレーニングと呼ばれるプロセスです。このプロセス中、画像は処理のために一定のサイズにリサイズされ、モデルは一度に一定数の画像(バッチと呼ばれる)を処理します。これにより、モデルはより効率的に学習できます。
つまり、モデルがロードされ、データセットが自動的にダウンロードされ、以下のコードスニペットが実行されると、アフリカの野生動物データセットに基づいて動物をdetect するためのトレーニングが開始される。
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model.train(data="african-wildlife.yaml", epochs=30, batch=8)上記のコードスニペットを実行すると、モデルは指定された設定に基づいてトレーニングを開始します。コードを通じて、モデルにトレーニング画像を30回処理するように指示しました。つまり、モデルはデータセット内のすべての画像を30回確認し、毎回少しずつ学習します。
動物の描き方を学ぼうとしていると想像してください。最初に描いたときはうまくいかないかもしれませんが、何度も練習した後、上達し始めます。もう一度試すたびに、何がうまくいかなかったかを学び、修正します。それこそが、各エポックがモデルに対して行うことです。画像を見て、間違いを犯し、そこから学び、毎回動物を認識するのがうまくなります。
トレーニングコードが正常に実行されている場合、トレーニングの進行状況に応じて次の出力が表示されます。

トレーニングプロセスが完了したら、モデルのパフォーマンス指標を確認し、検証することができます。Google Colabでは、"runs "フォルダ、detect"フォルダ、そして最後に "train "フォルダに移動し、主要なパフォーマンス指標を表示するログを見ることができます。
Python 環境のユーザーの場合、トレーニング結果はデフォルトで現在の作業ディレクトリ内の "runs/train/"ディレクトリに保存されます。トレーニングの実行ごとに新しいサブディレクトリが作成され(runs/train/exp、runs/train/exp2など)、そこにトレーニングに関連するログやその他の出力が保存されます。
CLI使用している場合、"yolo settings"コマンドを使用することで、これらの結果や設定に簡単にアクセスすることができます。"yolo settings"コマンドを使用することで、トレーニングログや実験の詳細に関連するパスやその他の設定を表示または変更することができます。
ログの中には、モデルのトレーニングプロセスがどれだけうまくいったかを確認できるグラフもあります。これらのグラフは、トレーニング完了後に作成され、モデルが時間の経過とともに間違いを減らし、より正確になることで改善されたかどうかを示します。
モデルの進歩をtrack し、トレーニング中に損失(モデルの予測値と実際の値の差)がどのように減少し、精度がどのように向上したかを示します。これにより、モデルがどの程度動物を認識することを学習し、トレーニング終了までにどの程度改善されたかを理解することができます。

また、モデルのパフォーマンスを評価するために使用できる指標を詳しく見てみましょう。
これらの評価指標は、実際のアプリケーションで使用する前に、精度を向上させるためにモデルを微調整するのに役立ちます。
YOLO11学習と評価が終わったので、いよいよYOLO11画像を解析し、推論を実行します。データセットのテスト画像や、別のソースからの新しい画像を使うことができます。
以下のコード・スニペットを使って、テスト・データセットの画像に対してモデルを実行します。Ultralytics ライブラリから必要なモジュールをインポートします。そして、resultsディレクトリに格納されている最適なモデルの重みファイル("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) 下図の出力画像は、detect /detect ディレクトリ内の「predict」フォルダに保存される。以降のテストでは、"predict2"、"predict3 "などの新しいフォルダが作成され、画像が保存される。

異なるソースからの画像をテストするには、以下のコードを使用できます。ここでは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)以下に示す出力画像は、適切なフォルダに保存されます。

YOLO11 ようなモデルは、動物を自動的にdetect track ことができるため、さまざまな実用的な応用が可能になる。ここでは、Vision AIが野生動物の保護活動を支援するために使用できる主な分野のいくつかを垣間見ることができる:
YOLO11 ようなコンピュータ・ビジョン・モデルは、動物の検出と追跡を自動化することで、野生動物の保護に重要な役割を果たすことができる。ビジョンAIを使えば、様々なソースからの大量の画像やビデオを処理することができ、正確な野生動物の評価を実行することが可能になる。
特にUltralytics YOLO1111は、リアルタイムの物体検出に最適で、密猟防止監視、行動分析、生態系モニタリングなどのタスクに最適です。AI主導のモデルを自然保護活動に取り入れることで、私たちは種をよりよく保護し、生物多様性の追跡を改善し、絶滅の危機に瀕した野生生物を保護するために、より多くの情報に基づいた決定を下すことができます。
私たちのコミュニティに参加し、GitHubリポジトリを探索して、コンピュータビジョンについてもっと学びましょう。ヘルスケアにおけるAIと 製造業におけるコンピュータビジョンに関連するアプリケーションをソリューションページでご覧ください。ビジョンAIを始めるには、Ultralytics ライセンスオプションをチェックしてください。