AIによるトレイルカメラの野生動物識別【第5回】識別能力の検証
投稿日:2024年5月10日
運営会社:株式会社 地域環境計画
投稿日 : 2024年05月09日
更新日 : 2024年05月10日
こんにちは、(株)地域環境計画の印部です。
トレイルカメラが本格的に鳥獣被害対策に使われるようになったのは、カメラがデジタル化され、ネット通販での購入が容易になった2010年前後からでしょうか。
時期を同じくして、AIの画像識別の技術が飛躍的に進展し、現在ではプログラミングの知識が少しあれば、自由に画像識別のモデルが作成できるようになりました。
現在、専門機関では自社のAIモデルを作成し、画像や動画の処理を行うのは一般的になってきたと思いますが、まだ、大量の画像ファイルを前にして、処理に困っている方のために、物体検知でお馴染みのYOLOシリーズを使った野生動物の識別について、具体の作成例を紹介したいと思います。
YOLOの最新版は2024年2月に発表された「YOLOv9」ですが、この記事の執筆時点(2024年4月)では、まだ改良の余地があるようなので、今回は、一つ前のバージョンの「YOLOv8」を使って説明していきたいと思います。
とりあえず、プログラムを作成するだけなら、Google Colaboratoryを使うのが便利です。専門的なプログラミング環境の設定知識が不要で、制限はありますがGPUが無料で使えます。
もう一つのやり方は、GPUを搭載した高スペックのPCを購入し、その中にプログラミング環境を整える方法です。現時点では情報量の多いNVIDIAのGPUパソコンが良いでしょう。NVIDIAのGPUを使う場合は、専用のドライバ、開発環境であるCUDA、ニューラルネットワークのライブラリであるcuDNNをインストールする必要があります。
トレイルカメラについては、使用目的がYOLOの画像分類(Classification)と物体検出(Detection)に特化する場合は、アルゴリズムの都合上、画像サイズの幅と高さが32の倍数のカメラを使うとトラブルが起きにくいです。
具体的にはVGA(640×480)もしくはWVGA(800×480)で記録可能な機種を選ぶのが良いでしょう。
YOLOv8の開発もとのUltralytics社によれば学習用の画像は、1クラスあたり1500枚以上を推奨しているようです。ただ本質的に必要なのは画像に写ったインスタンス(ツキノワグマなどの物体)の多様性で、この多様性を確保するために多くの画像があった方が良いということです。
ただし、この条件は、どのようなフィールド条件にも適用できる汎用的なモデルを作成する場合に求められるものであって、カメラの設置地点を動かさず長期間モニタリングする場合や、自身の研究フィールドでのみ使用する場合には、撮影地点、カメラの種類、撮影モードの設定等を変更せず、ある意味偏りのある画像を多く準備するのも一つの手でしょう。
例えば、アライグマの分布拡大状況をモニタリングするための「物体検知モデル(Detection)」を作る場合を考えたいと思います。理想をいえば、異なるカメラを異なる環境に、一年間を通じて、明るさや、撮影角度が異なるようにして、大量カメラを設置して画像を集めたいところです。
トレイルカメラでの撮影の場合、普通、1枚の画像に野生動物は単独で写る場合が多いので、インスタンスの多様性を確保するには、3000~5000枚の単独個体の画像を集める必要がありそうです。ただ、これほどの数は、個人では準備に何年かかるかわかりません。
そこで、インスタンスの多様性とは逆行しますが、モデルの汎用性の追求は一旦置いておき、アライグマを動画モードで撮影して、それを画像に分解して、適度に画像を間引くことで、いろいろな角度で写ったアライグマ画像を効率よく集めてみたいと思います。
動画ファイルを画像に分解するソフトやプログラムはネットで検索すると複数あるようですが、今回は、フリーウェアの動画編集ソフトであるAviUtlを使って実際に野生動物の動画を画像に分解することで、学習用画像を準備してみたいと思います。
次回から、いよいよ物体検知モデル(Detection)の実装に取り掛かっていきたいと思います。
この記事を書いた人
AIによるトレイルカメラの野生動物識別【第5回】識別能力の検証
投稿日:2024年5月10日
入門:自動撮影カメラ(トレイルカメラ)って、どんなカメラ?~フラッシュ・電源・画像保存・防水機能について~
投稿日:2017年7月28日
キツネによる農作物被害と対策~電気柵やトレイルカメラの活用について
投稿日:2017年6月15日
先頭へ