害獣偵察ドローンの偵察に向けた試用実験
はじめに
人家や畑への害獣被害を減らす助けになればと、害獣偵察ドローンの実験を開始しました。
昨今社会問題になっている熊の出没もあり、地域によっては教員が通学路を見回りするなどの対策が取られているようです。ただ教員の負担が増えますし、より安全性を上げるため人と熊との遭遇率を下げるのが理想です。
これを解決する方法として、先に述べたようにドローンで害獣の偵察を行います。
目標
定期的にドローンを飛ばし、指定領域に害獣がいないか監視します。
なお監視に関して限界まで人の介入を少なくすることを目標としており、具体的には下記3点を実現できればと考えています。
A)自動発着、自動充電
B)GPSを利用した指定航路の飛行
C)害獣判定を画像処理で行い、害獣発見時のみアラームを出す
取り組み
基本的には市販品を利用し、低労力で実現します。
A・Bについて
ドローンの大手、DJIにてそれぞれに対応した機器や機能の取り扱いがあります。


Cについて
ABについては購入して済むので、主な取り組みは「害獣判定を画像処理で行い、害獣発見時のみアラームを出す」という機能の実装になります。
これについては、まず
- ドローンからの映像をPCに取り込めるか
- ドローンの映像から害獣を判定できるか
- PCに取り込んだ映像を画像処理にまわせるか
を確認しました。
1. ドローンからの映像をPCに取り込めるか
画像処理するために、まずはドローンの映像をPCへ送ります。
DJIのドローンにはスマホと組み合わせて映像を確認する物があり、今回使用しているものはこれに該当するDJI Mini3です。
通信のやり取りは下記のようになっています。
ドローン ―(OcuSync)→ 専用コントローラー ―(USB)→ スマホ
複数の手段を試しましたが、最終的に スマホ⇔PC で画面を共有するリラーリングソフトで実現できました。

試した方法は下記です。


2.ドローンの映像から害獣を判定できるか
まず害獣の映った動画が手元になかったので、商用利用可能な動画素材サイト(https://video-ac.com/)よりダウンロード。
ダウンロードした動画に対して、YOLOv8を使用して動物が映っているか、何の動物が映っているかを処理してみました。
実行環境はGoogle Colabです。


一旦動物を検出できました。
ここでわかった事としては、
○何が映っているかよくわからない状態でも動物として識別できている
△映っている動物のサイズによって、動物の種類が誤判定されてしまう
△ドローンでは上空からの撮影になり、更に動物らしからぬシルエットで映ってしまう
このあたりは実際にドローンで動物を捉えてみないとわかりませんが、下記の理由から使用に耐える可能性があります。
・人の住居地に動物はほぼいない(いても犬猫)
・車や人を動物と誤認識さえしなければ、許容可能な頻度のアラームになると思われる
3.PCに取り込んだ映像を画像処理にまわせるか
Google ColabではPCローカルデータへのアクセスが出来なかったため、実行環境をAnacondaへ変更しました。
変更後、PC画面の一部をYOLO Detectionへキャプチャーして、そこへ画像処理の内容を表示しました。
かなり煩雑になってしまいましたが、下記のような経路でドローン映像を処理出来るようになりました。
- ドローン
- コントローラー
- スマホ
- PC(AirDroidでスマホのミラーリング映像取得)
- PC(AirDroidの映像をYOLO Detectionでキャプチャーして処理内容をオーバーレイ)

今後について
画像取得までの経路がかなり煩雑になっているので、省略できるとことは省略していきたいと思います。
また、以降は実際にドローンを飛ばし、建物や車、自転車などを誤判定しないか確認していきます。
また進展があれば、追加の記事を掲載させていただきます。
