Raspberry Pi + Hailo搭載で実現できるAI画像処理、カメラ3台を同時に処理可能!

産業用ラズベリーパイに3つのカメラを接続して、より多面的に画像解析が可能になります。例えば、生産ラインでの製品検査や異常検知に用いる場合、1カ所ではなく、3カ所の視点なら精度を上げられるでしょう。
物体や人体の検出、骨格ポーズ推定なども同様で、別角度から監視することで検知できる幅も広がる利点があります。

AI画像処理やエッジ処理と聞くと、大掛かりなシステムを想像しがちですが、実はRaspberry Pi でも十分に実用的なシステムで利用されています。

産業用ラズベリーパイを取り扱うPiLink株式会社では、Raspberry Pi ComputeModule 5(以下、CM5)を現場の環境に適した堅牢なエンクロージャーケースに収めて販売しています。

今回はテスト目的として、CM5ではなくRaspberry Pi 5(以下、Pi 5)にHalito-8Lを載せ、インストールしたAIフレームワークにサンプルAIモデルを使って、3台のUSBカメラをそれぞれ動作させてみました。

Raspberry Pi でもAI画像処理

Raspberry PiをAIで使用することを想像した時、安価な基板で非力な性能では無理ではないかと思われがちです。確かに一般的なPCやサーバーと比較すれば数値的に劣るのは事実です。しかし、AIアクセラルータを使うなら十分に実用的なのです。

性能だけでいえば、一般的な小型WindowsPCでいいのではないかというと、実はそうでもありません。工場などでは重要なメリットが他に多数あるからです。
以前のRaspberry Piでは性能不足で難しかったAI処理も、記事執筆時点で最新であるCM5の性能と豊富な接続インターフェイスで活用されています。

Raspberry Piが産業利用で評価されているのは ”ハードの弱点を筐体と設計で補い、運用コストの効率化とプログラムの柔軟性を最大化した” と言えそうです。

テストの様子

Hailoを接続したPi 5で、AIフレームワークをインストールし、サンプルのAIモデルを実行させました。

使用した環境:

  • Raspberry Pi 5 MEM8GB
  • Raspberry Pi OS(bookworm)
  • Hailo-8L
  • サンプルAIフレームワークとAIモデルを使用
  • 4K対応800万画素USBカメラ3台
  • microSDカード起動

AIフレームワークとAIモデルは主に次のような種類があります。
実行環境であるフレームワークを呼び出し、学習済みのモデルを読み込んでいます。

  • AIフレームワーク(TensorFlow、PyTorch、ONNX Runtimeなど)
  • AIモデル(YOLOv5(物体検出)、MobileNet(分類)、PoseNet(姿勢推定)など)

今回テストしたデスクトップキャプチャ画像をご覧ください。
OSはmicroSDカードで起動させているのに余裕の速度でした。フレームドロップはゼロです。

①〜③のウィンドウはそれぞれのUSBカメラの映像です。

ターミナルが左下に見えますが、タブを3つ開いてAIモデルを実行しています。
右下にはRaspberry Pi OSに入っているTaskManagerを表示させて使用率を見ています。ご覧のようにCPUは27%、使用メモリーは約1GBで済んでいますね。

Hailoのタスクが3つ、CPU使用率が6%、6%、5%とRaspberry Pi 本体側は僅かです。

AIモデルは、物体検出と姿勢推定がそれぞれ動いています。人型が②しかありませんので、①と③は実行させているRaspberry Pi を違う角度で撮影している映像になっています。
②が姿勢推定のポイントマーカーとラインが表示されていて上手く動作しているのが分かります。

ちなみに人として70%で認識されていますね。
あまり激しく動かなければ、姿勢推定もきちんと反応して描画されます。

表示しているモニターはPi 5からHDMI出力していてフルHD(1920×1080)です。
USBカメラはフレームレートを下げれば4Kまで対応しています。今回は30fpsで800×600のウインドウを小さくして3つ並べてみました。

ホビー用途のPi 5でも、Hailoを利用すれば十分な性能だと感じられます。

自由度が高く開発も低コスト

余計なものがないOSを採用できたり、オープンソースソフトウェア(OSS)で各ライブラリやアプリケーションをネイティブで利用できます。独自のプログラムと連携させることも、サーバーとしての機能を有することも、必要なカスタマイズは一般的なPCより向いています。

HDMI端子もありますから、モニターに表示するといった一般的なPCのように扱うこともでき、自由度が高いデバイスです。

プログラム開発も既にあるAIフレームワークやAIモデルを利用すれば、開発コストや速度の低減が可能になります。

小型・省電力で低コスト

Raspberry Piは小型軽量で消費電力も少なくて済み、長時間の稼働によるランニングコストが小さいメリットがあります。
業務用として本体も安価のため、イニシャルコストも抑えられ、試験的に導入して見極めてみるのも良いでしょう。

堅牢なハードウェア

Raspberry Pi 本体は基板剥き出しです。実際に使うには各ケース類に収めて運用することになります。

産業用ラズベリーパイ「PL-R5」は、設置場所が高温であったり、振動・衝撃がある環境でも大丈夫な筐体と強度があるコネクタ類を搭載しているため、むしろ過酷な各現場用に作られています。USBカメラも防水のハウジングされたモデルが安価に導入できます。

Hailo + LTE

AI画像処理向けモデルの中には、Hailo搭載と同時にLTEも実装しているモデルが用意されています。堅牢なケースにRaspberry Pi と一緒に収納できるため同じ1台で済みます。
LTEならばLANケーブルやWi-Fi電波は意識せず、取得したデータをクラウドへ送り蓄積させたり、リモートでの制御に利用することができて便利です。

AI関連の専門用語

AIに限ったことではありませんが、コンピューターでは様々な専門用語が乱立します。英語圏からの言葉がほとんどのため、日本人は苦手とする部分です。英語をそのままカタカナ日本語、または訳された日本語で表現されます。

用語によっては似ている表現も多いため、最初に何を表すか知っておくと理解しやすいです。

例としていくつかの用語を並べてみます。

Hailo(ヘイロ)モジュール(AIアクセラレータ)

Raspberry Pi のCM5やPi 5には、HailoというAI専用チップが搭載されたモジュールと連携ができます。

Hailoはイスラエルの企業が開発したチップです。搭載されている半導体は、小さなデバイスでも画像認識などのAI処理を高速に実行できるように作られています。

Raspberry Pi 同様に小さくて低消費電力のため、組み込み向けのAI専用チップとして採用されています。これにより、一般的なCPUより非力でArmアーキテクチャーのRaspberry Pi でもAIモデルを扱るようになります。

使用したのは「Hailo-8L」で、M.2フォームファクタのAI推論アクセラレータです。M.2フォームファクターですから、同じ規格のSSDドライブ同様にCM5/Pi 5にも簡単に取り付けることができます。

Hailoはへイロ・テクノロジーズ株式会社の企業名であり製品名でもあります。

エッジ推論

ここでいうエッジ(Edge)は、英語の「端」(はし)という意味です。
コンピューター業界では、生産現場などの”現場”を指す意味で用いられます。

何から端っこなのかというと、クラウド上にあるサーバーからみて端にある現場のデバイス(端末)を指します。「エッジデバイス」という表現がそのままですね。

AIモデルを使った推論(≒判断)を、現場に設置してあるデバイスで行う場合に「エッジ推論」と表現されます。インターネットにあるサーバー(クラウド)からの応答を待つのではなく、現場のコンピューターで判断処理する仕組みのことです。

エッジ推論の利点はクラウド側で処理するのと違い、ネットワークによる遅延が少ないこと、セキュリティやプライバシーの観点から現場以外へのデータ流出が低減されることが挙げられます。

ニューラルネットワーク

ニューラルネットワークは、脳神経細胞「ニューロン」を体現した技術モデル(ニューラルネットワーク)のことです。

既に馴染み深い言葉に「ディープラーニング(Deep Learning)」があります。日本語だと「深層学習」になり、大量のデータから特徴を学ぶ仕組みのことです。

AI(人工知能)は、ニューラルネットワークを用いて、機械学習や深層学習を実行します。

「機械学習」は、コンピューターがデータから学習して自動的に判断する技術のことを指し、それを多層的に行い精度を高めるのが「深層学習」です。

Hailo-8Lは、主に深層学習を高速に実行できるチップです。

AI画像処理

「AI処理」というと、非常に広い意味の言葉です。
「人工知能が行う一連の計算や判断処理」のことを指しますが、今回のテストのように、カメラを使い写された画像を処理する場合は「AI画像処理」と表現できます。

AI画像処理は深層学習アルゴリズムを実行しています。大量のデータから多層的な機械学習をして結果を推論しています。
画像や映像を分析して、人や物の違い、特定の動きなどを見分けて処理・判断しています。

具体的には、人の顔を認識したり、猫と犬といった種類を区別したり、製品ならば正常と異常を検知させる等に使われます。

これを一般的な言葉として「AIが考え、学習し、判断する」に言い換えられて表現しているのを見かけます。

AI画像処理システムはRaspberry Pi も候補になる

今や様々な産業用途で画像認識システムが導入される時代です。仮に低コストで構築可能なシステムがあるなら、ぜひ導入したいという企業はたくさんあると思います。

AI画像処理の導入を検討中なら、Hailoを搭載したRaspberry Piは最適だと感じました。

低コストのメリット以外にも、そもそもRaspberry Piは小型のデバイスです。堅牢なケースに収めたとしても、業務用としてはとても小さい部類に入ります。
現場の実態は様々ですが、設置場所に困らないのはきっと助かるでしょう。

Raspberry Pi とAI画像処理を使ったシステムは、何も大掛かりなシステムではないので、製品の検査や安全監視に導入してみてください。

エッジデバイスですから、現場でリアルタイム処理が行えます。
データを蓄積して学習させれば、自社独自のAI処理で効率化が図れます。
今回のテストのようにRaspberry Pi 5が1台でも、カメラを複数台同時に処理してしまう性能は十分にあります。

熟練の職人さんを確保するのが難しい今、人の目以外で活用できる仕組みの導入は急務かもしれません。


記事寄稿:ラズパイダ

非エンジニアでも楽しく扱えるRaspberry Pi 情報サイト raspida.com を運営。ラズベリーパイに長年触れた経験をもとに、ラズベリーパイを知る人にも、これから始めたいと興味を持つ人にも参考になる情報・トピックを数多く発信。PiLinkのサイトへは産業用ラズベリーパイについて技術ブログ記事を寄稿。