メインコンテンツまでスキップ

YOLOv8 による物体検出(Hailo-8L 搭載 reComputer R シリーズ)

はじめに

YOLOv8(You Only Look Once バージョン 8)は、リアルタイム物体検出モデルである YOLO シリーズの中で最も一般的なモデルです。従来バージョンの長所を受け継ぎつつ、速度、精度、柔軟性の面でいくつかの改良が加えられています。Raspberry-pi-AI-kit は、Hailo-8L チップを中心に構成された 13 TOPS のニューラルネットワーク推論アクセラレータを搭載しており、推論速度を高速化するために使用されます。

この Wiki では、R シリーズ上で Raspberry-pi-AI-kit によるアクセラレーションあり/なしの両方で YOLOv8 を用いた物体検出を実演します。Raspberry Pi AI Kit は Raspberry Pi の性能を引き上げ、スマートリテールやスマートトラフィックなどの人工知能・機械学習アプリケーションにおける潜在能力を引き出します。Raspberry AI Kit は本来 Raspberry Pi 5 向けに設計されていますが、ここでは CM4 搭載のエッジゲートウェイでの動作を検証しました。エッジデバイスをインテリジェントな IoT ゲートウェイへと変身させることにワクワクしています!

ハードウェアの準備

reComputer r1000Raspberry Pi AI Kit
reComputer AI Industrial R2100reComputer Industrial R20xxreComputer Industrial R21xxreComputer AI R2100

このプロジェクトを実行する

ステップ 1: AI キットをインストールする

AI アクセラレーションを内蔵した R2000 シリーズデバイスを使用している場合、このステップはスキップできます。

pir

ステップ 2: システムを更新し、PCIe を Gen3 に設定する

システムを更新する

reComputer R1000 上でターミナルを開き、以下のコマンドを入力してシステムを更新します。

sudo apt update
sudo apt full-upgrade

PCIe を Gen3 に設定する

reComputer R1000 上でターミナルを開き、以下のコマンドを入力して reComputer R1000 を設定します。

sudo raspi-config

オプション "6 Advanced Options" を選択します

pir

次にオプション "A8 PCIe Speed" を選択します

pir

"Yes" を選択して PCIe Gen 3 モードを有効にします

pir

"Finish" をクリックして終了します

pir

ステップ 3: Hailo ソフトウェアをインストールし、インストールを検証する

Hailo ソフトウェアをインストールする

reComputer R1000 上でターミナルを開き、以下のコマンドを入力して Hailo ソフトウェアをインストールします。

sudo apt install hailo-all
sudo reboot

ソフトウェアとハードウェアを確認する

reComputer R1000 上でターミナルを開き、以下のコマンドを入力して hailo-all がインストールされているか確認します。

hailortcli fw-control identify

正しい結果は次のように表示されます:

pir

reComputer R1000 上でターミナルを開き、以下のコマンドを入力して hailo-8L が接続されているか確認します。

lspci | grep Hailo

正しい結果は次のように表示されます:

pir

YOLOv8 を実行する

reComputer R1000 上でターミナルを開き、以下のコマンドを入力して YOLOv8 を実行します。

注意:実行中は HDMI ケーブル経由で外部ディスプレイを接続しておく必要があります。接続されていない場合、可視化インターフェースは読み込まれません。

git clone https://github.com/Seeed-Projects/Benchmarking-YOLOv8-on-Raspberry-PI-reComputer-r1000-and-AIkit-Hailo-8L.git
cd Benchmarking-YOLOv8-on-Raspberry-PI-reComputer-r1000-and-AIkit-Hailo-8L
bash ./run.sh object-detection-hailo

結果

pir

注意

SSH などでリモート接続しており外部ディスプレイが利用できない場合は、コード内の画像レンダリング方法を変更することで、外部ディスプレイに依存せずに可視化インターフェースを描画できるようにできます。

推論コードファイル object-detection-hailo.py を開き、165 行目を修正して、行全体を次のコードに置き換えます。

        pipeline_string += f"fpsdisplaysink video-sink=ximagesink name=hailo_display sync={self.sync} text-overlay={self.options_menu.show_fps} signal-fps-measurements=true "

結果

AI キットによるアクセラレーションの前後で、入力解像度 640×640 の YOLOv8 物体検出における推論速度を比較しました。その結果、アクセラレーション前の推論速度は 0.75 FPS に過ぎませんでしたが、アクセラレーション後は 29.5 FPS に達しました。

プロジェクトの展望

このプロジェクトでは、物体検出における YOLOv8 の実行速度を、AI キットあり/なしでベンチマークします。その結果、AI キットがエッジデバイスの性能を大幅に向上させることが示されています。今後は、セマンティックセグメンテーションやポーズ推定など、さまざまなシナリオにおける YOLOv8 の実行速度を、AI キットによる高速化後にベンチマークしていきます。

技術サポートと製品ディスカッション

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

Loading Comments...