Skip to main content

reTerminal と Pi カメラを使用した物体検出

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

はじめに

エッジコンピュータ上での物体検出は、コンピュータビジョンの重要な分野となり、デバイスが自律的に周囲を認識し反応することを可能にしています。この分野で注目されるのが、最先端の物体検出モデルである EfficientDet です。このモデルは、リソース効率が高く、精度と計算負荷のバランスを取るよう設計されており、処理能力が限られたエッジデバイスでの展開に特に適しています。EfficientDet によるエッジコンピュータ上での物体検出は、スマート監視カメラや自動運転車、IoT デバイスなど、さまざまなシナリオで応用されています。複数の物体をリアルタイムで識別し位置を特定する能力は、エッジコンピューティングシステムの自律性と知能を向上させる重要な要素となっています。

始める前に

このプロジェクトを始める前に、以下に記載されているようにハードウェアとソフトウェアを事前に準備する必要があります。

ハードウェアの準備

ソフトウェアの準備

公式ウェブサイトから Raspberry Pi 64 ビット OS の Bullseye または Bookworm バージョンをインストールすることをお勧めします。新しい Raspbian OS をインストールしたい場合は、この ガイド に記載されている手順に従ってください。

note

OpenCV の使い方 に関する以前のチュートリアルをぜひご覧ください。このチュートリアルはシリーズの続編として設計されています。このガイドは特に Bullseye OSBookworm OS 用です。インストール依存関係に注意してください。ここでは 2 つの異なる方法が記載されています。

TinyML

TinyMLは、軽量なモデルを最小限のリソースでエッジデバイス上で実行できるようにすることで、機械学習に革命をもたらします。物体検出の文脈では、TinyMLの主要なフレームワークであるTensorFlow Liteがモデルを効率化し、マイクロコントローラーや組み込みシステムのようなデバイスに展開できるようにします。この統合により、物体認識などのタスクにおいてリアルタイムのオンデバイス処理が可能となり、スマートセンサー、ウェアラブル、IoTデバイスなどのアプリケーションにおいて、常時クラウド接続を必要としないTinyMLとTensorFlow Liteの組み合わせが理想的です。

EfficientDet

EfficientDetは、エッジデバイス上での性能で際立つ非常に効率的かつ正確な物体検出モデルです。Googleによって開発されたEfficientDetは、モデルの精度と計算効率のバランスを最適化し、エッジデバイスやモバイルプラットフォームのようなリソース制約のある環境での展開に適しています。このモデルは、複合スケーリング手法を活用してモデルパラメータを効率的に拡張し、速度を犠牲にすることなく精度を向上させます。EfficientDetのアーキテクチャには、画像特徴を効果的に捉える特徴ネットワークと、モデルの精度と計算効率をバランスさせる複合スケーリング手法が含まれています。その成功は、軽量構造を維持しながら、さまざまな物体検出ベンチマークで印象的な性能を達成することにあります。これにより、エッジデバイス上でリアルタイムの物体検出を必要とするアプリケーションにおいて、EfficientDetは最適な選択肢となっています。

Bullseye OSでコードを実行してみましょう。

正しいフォルダにいることを確認してください。そうでない場合は以下を実行してください。

cd Seeed_Python_ReTerminal/samples/Opencv_and_piCam/ObjectDetection

依存関係とEfficientDetモデルをインストールしてください。これをすでに最初のチュートリアルで完了している場合は、心配する必要はありません。

sh setup.sh

コードを実行します。

python3 detect_mod.py

BookWorm OSでコードを実行してみましょう。

  • ステップ1 まず、仮想環境を作成する必要があります。
note

以前のOSバージョンでは、Pythonライブラリをpip(Pythonパッケージインストーラー)を使用してシステム全体に直接インストールすることができました。しかし、Bookworm以降のリリースでは変更がありました。インストール中の潜在的な問題を軽減するために、現在ではvenvを使用してPython仮想環境内にパッケージをインストールする必要があります。

以下のコマンドを順番に実行すると、仮想環境が作成されます。

mkdir my_project
cd my_project
python -m venv --system-site-packages env
source env/bin/activate
  • ステップ2 次に、このGitリポジトリをRaspberry Piの仮想環境にクローンします。
git clone https://github.com/Seeed-Studio/Seeed_Python_ReTerminal
  • ステップ3 次に、スクリプトを使用して必要なPythonパッケージを簡単にインストールし、EfficientDet-Liteモデルをダウンロードします。このフォルダに移動してください。
cd Seeed_Python_ReTerminal/samples/Opencv_and_piCam/ObjectDetection_bookworm
  • ステップ4 スクリプトは必要な依存関係をインストールし、このチュートリアルシリーズ用にTFLiteモデルをダウンロードします。
sh setup.sh

コードを実行します。

python3 detect_picam.py

技術サポート

弊社製品をお選びいただき、ありがとうございます!お客様が弊社製品をスムーズにご利用いただけるよう、さまざまなサポートをご提供しております。お客様のご希望やニーズに応じた複数のコミュニケーションチャネルをご用意しています。

Loading Comments...