ディープラーニングによるカエル類の種の識別方法
1 はじめに
本ページではカエル類を対象に鳴き声から自動で種を判別するモデルを作る方法を紹介しています。用いるのはBirdNETという野鳥を対象に作成されたモデルですが、訓練データさえ自分で用意すれば鳥以外の生物でも高性能なモデルを作成できます。
人間活動による環境変化が進行し、野生生物の分布域や個体数の変化をモニタリングする必要性が高まるなか、ディープラーニングによる野生生物調査の自動化が注目されています。カエルを含め鳴き声を発する生き物では、音声レコーダーを使うことで分布や繁殖個体の有無を効率的に調べることができます。野外にレコーダーを設置し、予約録音機能を使うことでデータ取得を自動化できますが、得られる膨大なデータの解析が課題でした。近年発達した機械学習の一種であるディープラーニングを用いることで、この膨大なデータの解析を機械に助けてもらうことができるのです。
野外で取得した音響データを解析にするにはしばしば自分でモデルを訓練する必要があります。そのための使いやすいソフトも開発されてきていますが、初学者向けに訓練データの用意から解析までの一連の手順をまとめている文献はなかなか見当たりません。そこでモデルの訓練方法の一例を紹介し、音響解析にディープラーニングを用いるをハードルを下げることが本ページの目的です。
なお、この内容 木村 (2024) のオンライン補遺として作成されたものです。
1.1 内容
立ち位置としては論文の補遺ですが、本ページ単体でも内容的に完結するよう心がけました(お気軽に別刷請求下さい)。論文本体から分離させることで、具体的なソフトの扱いやコードを載せられるようにというのと、手法の発展が早い分野であるため、よりよいソフトが出てきたらその内容を加えてアップデートしやすいようにという意図があります。
ディープラーニングを使って音響モニタリングデータを解析するには、訓練データの用意、モデルの訓練・評価を経て、データ解析を行います。これらの内容を後のページで扱います。
- Chapter 2 録音した野外データからアノテーションを行う
- Chapter 3 そのアノテーションファイルをBirdNETで扱いやすいよう3秒毎に分割
- Chapter 4 BirdNETを用いたモデルの訓練
- Chapter 5 新規データに対する推論
- Chapter 6 コマンドラインでの利用
- Chapter 7 モデルの性能評価
一般的に、ディープラーニングを扱う際は、PyTorchやTensorflowといった専用のPythonライブラリを用いることが多いです。しかしそれぞれのライブラリの扱いに習熟するのはやはり大変です。最近ではBirdNETという生物音響に特化したソフトを使うことでコードを書かずにモデルの訓練が可能ですので、ここではBirdNETを使った訓練方法を紹介します。
モデルの訓練でコードを書く必要が減ったとはいえ、データの中間処理や解析結果をまとめるにあたっては一定のコードを書く必要があります。ここでは生態学分野で広く使われているR言語を利用しています。
1.2 データセット
モデルの訓練に用いるサンプルデータセットおよびコードはこちらから入手できます。
1.3 引用方法
この内容がもし役立てば以下の文献を引用ください。
木村楓. 2024. ディープラーニングによるカエル類の音響モニタリング入門. 爬虫両棲類学会報 2024(2): 192-200.
内容について間違いや改善点を見つけたら、issueにてご教示いただけますと大変ありがたいです。