
Arduino® UNO™ Q LinuxとマイコンをあわせもつArduino
Arduino® UNO™ Qは、Linuxによる高度な処理と、
Arduinoのリアルタイムなマイコン制御を1枚で扱える開発ボードです。
テックウインド技術開発部では、その活用方法を検証するため、IPカメラの映像をAIで解析し、動物の検知結果をWeb画面とEメールで確認できるシステムを構築しました。本記事では、Arduino® UNO™ Qの特徴と、今回構築したシステムの仕組みをご紹介します。
※本記事で紹介するシステムは、Arduino® UNO™ Qの活用方法を検証するためにテックウインド技術開発部が構築した試作システムです。製品として販売しているソリューションではありません。
Arduino® UNO™ Qとは?
Linuxによる高度な処理と、Arduinoのリアルタイム制御を1枚で扱える開発ボードです。
Arduinoは、電子工作や機器の試作で世界的に使われているオープンソースのハードウェアプラットフォームです。Arduino® UNO™ Qは、これまでのArduinoと同じようにセンサーやモーターを制御できるうえ、Linuxが動作する高性能プロセッサもあわせて搭載しています。
つまり1枚のボードの中に、じっくり考える頭脳(Linux側)と、素早く正確に動く手足(マイコン側)の両方が入っているイメージです。従来はパソコンやサーバーと組み合わせる必要があった処理も、ボード単体で完結させやすくなります。
Linuxによる高度な処理
Linux環境とPythonなどを利用し、画像処理、AI推論、ネットワーク通信などの高度な処理を実行できます。Web画面の表示やメール送信も、このLinux側が担当します。
Arduinoのマイコン制御
センサー、LED、ブザー、モーターなど、現実世界の機器をリアルタイムに制御できます。タイミングが重要なハードウェア制御を得意とします。
AIと外部機器を組み合わせる
AIによる判定結果を通知や外部機器の動作につなげ、IoT・エッジAIシステムを試作できます。これまで複数の機器が必要だった仕組みを1枚で組み立てられます。
基板上には、処理を担うプロセッサ、無線モジュール、Arduino互換のピンヘッダーなどが配置されています。
- 本記事では製品の詳細な仕様には触れていません。仕様や取り扱いについてはお問い合わせください。
Arduino® UNO™ QでAI動物検知システムを構築
テックウインド技術開発部では、Arduino® UNO™ Qの活用方法を確かめるためのテーマとして「AIによる動物検知」を選び、次のような仕組みを構築しました。
映像を撮影する
IPカメラで屋外の映像を撮影します。
AIで解析する
Arduino® UNO™ Qが映像を解析し、動物かどうかを判定します。
Web画面に表示する
検知した内容を履歴としてWeb画面に表示します。
Eメールで通知する
検知したタイミングでEメールを送信します。
映像の取得からAI解析、通知までを一連の流れとして動かしており、現在はテックウインドのR&Dセンター(Tekwind R&D Center)に設置して検証を継続しています。
システム構成
今回の試作システムは、Arduino® UNO™ QとIPカメラを同一ネットワーク上に配置するというシンプルな構成です。特別な専用機器は使用していません。
Arduino® UNO™ Q
システムの中心となるボードです。映像の取得、AIによる判定、Web画面の提供、Eメール送信までを担当します。ネットワークへは無線で接続しています。
IPカメラ
監視対象を撮影するネットワークカメラです。PoE対応のため、LANケーブル1本で電源供給と通信をまとめています。今回はHI SHARP HS-T077TN-Gを使用しました。
PoEスイッチ
IPカメラへの給電とネットワーク接続を担当します。カメラ側の配線をシンプルにできます。今回はNETGEAR GS108PPを使用しました。
ネットワーク・電源
Arduino® UNO™ QとIPカメラは同一ネットワーク上に配置しています。電源はArduino® UNO™ Q本体とPoEスイッチに供給しています。
動物を検知するまでの流れ
STEP 1. IPカメラで映像を撮影
監視したい場所にIPカメラを設置し、映像を撮影し続けます。映像はネットワーク経由でArduino® UNO™ Qへ送られます。
STEP 2. カメラ映像内に動物が映る
撮影範囲に動物が入ると、その姿が映像に記録されます。人が常時映像を見張っている必要はありません。
STEP 3. Arduino® UNO™ Qで解析・判定
Arduino® UNO™ QのLinux側で映像を解析し、映っているものが検知対象の動物かどうかをAIが判定します。判定結果には、どの程度確からしいかを示す信頼度(Confidence)が付きます。
STEP 4. Web画面へ表示し、Eメールで通知
検知した内容は、Web画面の履歴に追加されるとともに、Eメールで通知されます。通知メールには検知画像が添付されるため、その場で状況を確認できます。
Web画面で検知結果を確認
検知結果はWeb画面上に履歴(Detection history)として保存され、検知画像や日時、判定結果、信頼度、通知状況などを確認できます。あとから「いつ・何が映ったのか」をまとめて振り返ることができます。
※Web画面の一部を抜粋しています。実際には検知するたびに履歴が追加されていきます。
検知履歴(Detection history)
検知したできごとを新しい順に一覧表示します。
検知画像
判定した対象を枠で囲んだ画像を表示します。実際に何が映っていたのかを目で確認できます。
検知日時(Time)
検知した日付と時刻を秒単位で記録します。
検知対象(Object)
判定された対象の種類を表示します。
信頼度(Confidence)
AIの判定がどの程度確からしいかを示す値です。値が低い場合は判定があいまいであることを意味します。
通知状況(Notification)
通知を送信したかどうかを表示します。通知漏れがないかを確認できます。
実環境での検証
このシステムは、テックウインドのR&Dセンター(Tekwind R&D Center)に設置し、実際の屋外環境で動作させています。
現時点で検知しているのは主に鳥です。前掲のWeb画面や通知メールに記録されているのも、屋外を移動する鳥を検知したものです。時間帯や天候、対象との距離によって判定の信頼度(Confidence)は変動するため、どのような条件でどのように判定されるのかを引き続き確認しています。
※現在も検証を継続している段階であり、検知精度や運用条件については確認を進めています。
Eメールで検知結果を通知
現在のシステムでは、Eメール通知を実装しています。動物を検知するとその都度メールが送信され、受信したメールから次の内容を確認できます。
メールで確認できる内容
- 検知対象(Objects)
- 検知時刻(Time)
- 信頼度(Confidence)
- 検知画像(添付ファイル)
Web画面を開かなくても、メールを見るだけで状況を把握できます。
- 画面はメールソフトでの表示例です。検証用に使用している差出人のメールアドレスは伏せています。
検知対象をカスタマイズ
検知したい対象は、用途に合わせて設定を変更できます。今回のシステムでは、以下の6種類を検知対象としています。
- 上記は検知対象として設定している種類です。実環境での検証では、現時点で主に鳥を検知しています。
対象を絞り込む
特定の1種類だけを検知対象にすることもできます。必要のない通知を減らしたい場合に有効です。
人を対象に加える
動物だけでなく、人を検知対象に含めることも可能です。用途に応じて検知したいものを選べます。
追加で学習させる
イノシシと鹿は、元のサンプル学習データに含まれていなかったため、あらためて学習させて検知できるようにしました。
このように「何を検知するか」を後から調整できる点は、Arduino® UNO™ QでAI処理を動かすことの利点のひとつです。用途が変わっても、ハードウェアを入れ替えずに対応できる可能性があります。
イノシシを検知した場合の表示イメージ
イノシシを検知対象に設定した場合に、カメラ映像とWeb画面がどのように表示されるかを示したものです。
カメラ映像上では、検知した対象が枠で囲まれ、判定結果と信頼度が重ねて表示されます。
Web画面には、検知画像とあわせて日時・検知対象・信頼度・通知状況が表示されます。
※上記はイノシシを検知した際の表示イメージです。実際の検知実績を示すものではありません。実環境での検証では、現時点で主に鳥を検知しています。
通知方法・外部機器への拡張
現時点で実装している通知方法はEメールです。Arduino® UNO™ QはLinux側でネットワーク通信を扱えるうえ、マイコン側で外部機器を制御できるため、システムを拡張することで次のような通知・連携も可能です。
ネットワーク経由の通知
LINE、Slack、Discord、SMSなどへの通知を追加することが考えられます。普段使っているツールで受け取れるようにすることで、気付きやすくなります。
外部機器との連携
ブザーやLEDなどをマイコン側から制御し、その場で音や光で知らせるといった使い方も考えられます。Arduinoならではの拡張方法です。
- Eメール以外の通知方法・外部機器連携は、実装可能な機能例です。現時点のシステムには実装していません。
Arduino® UNO™ Qの活用可能性
今回の検証で分かったのは、Arduino® UNO™ Qが「AIなどの高度な処理」と「ハードウェアの制御」を1枚のボードで組み合わせられるという点です。この特徴から、動物検知以外にも次のような活用が考えられます。
AI画像解析
カメラ映像から特定の対象を判定する仕組みへの応用が考えられます。
エッジAI
現場側の機器で解析を行う構成への応用が考えられます。
IoT・センサー連携
各種センサーの情報を取得し、ネットワークへ送る仕組みが想定できます。
外部機器制御
判定結果をきっかけに機器を動かす制御への応用が考えられます。
試作・PoC
構想段階のアイデアを、小さく早く形にする用途が想定できます。
監視・通知システム
状況を検知して知らせる仕組み全般への応用が想定できます。
- 上記のうち、今回テックウインド技術開発部が実際に検証したのは、AI画像解析による動物検知と、Web画面表示・Eメール通知の部分です。その他は活用が考えられる例です。
まとめ
今回テックウインド技術開発部が構築したシステムでは、次の処理を組み合わせています。
Arduino® UNO™ Qは、AIなどの高度な処理と、Arduinoとしてのハードウェア制御を組み合わせられるボードです。IoTやエッジAIを取り入れたシステムの試作・検証を、手元で小さく始めたい場面に活用できます。
テックウインドでは、こうした検証で得た知見を活かし、お客様の課題に合わせた機器選定や構成のご提案を行っています。
よくある質問
ビジネスに必要なIT機器の導入をサポートいたします