熊撃退プログラム

Contents

1

はじめに

このプログラムは、熊などの害獣を検知するとPush通知と共に音を出して害獣を追い払います。

プログラムの内容としては、標準搭載のAI検知プログラムと同じですが、検知した際にPush通知だけでなく、予め用意したWAVファイルを指定した時間繰り返し再生する、という処理が追加されています。

GitHub GitHubで公開中
2

音声出力対応Dockerイメージの登録

AIBOX OSには、標準でYOLO11をNCNNで実行できるDocker Imageが登録されています。

docker images
REPOSITORY TAG SIZE aicap/arm64/ultralytics 1.0.250923 3.43GB

このイメージは、Ultralyticsが公開しているYOLO11用のイメージをベースに、ncnn変換・実行に必要なモジュールのインストールや、aicapコマンドを実行するための環境構築処理が行われていますので、 AIBOX OS上で稼働させるYOLO11を使用した基本的な検知プログラムは、このイメージから起動したコンテナ上で動作させることが可能になっています。

今回実行する熊撃退プログラムは、YOLOによる物体検知の他に、音声を出力するための機能が追加で必要になりますので、この標準搭載のDocker イメージをベースに、音声出力に必要なモジュール等をインストールしたイメージを作成します。

GitHub 音声出力対応イメージ作成用のDockerfileはこちら

ただし、AIBOXでのDocker イメージの登録には少し手順が必要になります。下記を参考にして、音声対応のイメージを構築&登録してください。

このDockerイメージのビルド&登録の手順をまとめたスクリプトも用意しています。
下記の手順で、このスクリプトを使用して音声出力に対応したDockerイメージをAIBOXに登録することができます。

  1. ディスクを無効化する(AIBOXが再起動します)
    command
    $ sudo ramdisk disable
  2. Dockerfileとsetup.shをダウンロードする
    command
    $ wget https://raw.githubusercontent.com/daddyYukio/AICAPTURE/refs/heads/main/docker/audio/setup.sh $ wget https://raw.githubusercontent.com/daddyYukio/AICAPTURE/refs/heads/main/docker/audio/Dockerfile
  3. setup.shをsudoで実行する(5分程度かかります)
    command
    $ sudo ./setup.sh
  4. ディスクを有効化(AIBOXが再起動します)
    command
    $ sudo ramdisk enable
  5. イメージが登録されているか確認
    command
    $ docker images REPOSITORY TAG IMAGE ID aicap/arm64/ultralytics 1.0.250923-audio xxxxx aicap/arm64/ultralytics 1.0.250923 xxxxx

TAG=1.0.250923-audioが登録されていればOKです!

3

プログラムの差し替え方法

基本的なファイル構成は、標準搭載のAI検知プログラムと同じです。
(音声ファイルalert.wavが追加されています)
ただ、docker-compose.ymlの内容は、使用するDockerイメージが音声対応のイメージに変更したり、USB接続したサウンド出力デバイスへのアクセス許可をDockerコンテナに付与するパラメータが追加されています。
標準搭載AI検知プログラムから変更・追加があるファイルは以下になります。

ファイル名説明
extmod.py物体検出を行うPythonのプログラム
alert.wav検知時に鳴らすサウンドファイル
docker-compose.ymlDockerコンテナの構成・設定をまとめたファイル

これらのファイルを更新するスクリプトを用意してあります。
下記のGitHub上に公開されているupdate.zipをダウンロードし、解凍後に、update.shを実行すると、必要なファイルが一括で更新できます。

GitHub GitHubで公開中

更新できたら、USB接続のサウンド出力デバイスをAIBOXに接続して、再起動してください。

デフォルトでは検知物体は熊に設定されていますので、熊の写真などをカメラに撮して見てください。
検知されるとスマホへのPush通知と同時にアラート音が10秒間なります。

4

検知プログラムの解説

検知プログラムの解説は、Zennに記事として投稿していますので、そちらを参照してください。

Zenn 【AI CAPTURE】熊撃退プログラム
5

検知する物体の変更やアラート音の変更・鳴らす時間の修正

検知する物体の変更方法や検知精度の修正方法は、標準搭載AI検知プログラムと同じです。

検知した際に鳴らすアラート音は、プログラムファイルと同じ場所に保存されたalert.wavです。
リピート再生されるので、短めのWAVフォーマットのファイル担っています。
鳴らす音を帰る場合は、このalert.wavファイルを置き換えてください。
※フォーマットはWAVフォーマットです。

また、鳴らす時間は、下記の外部変数で定義されています。


# 再生継続時間(秒)
WAV_PLAY_TIME_SEC = 10