物体認識モデルYOLOを実装!AIカメラの製作
ラズパイでエッジAIプログラミング
|
|---|
|
物体検出は画像内のオブジェクトを識別し,その位置を特定する技術であり,複数のオブジェクトをバウンディング・ボックスで囲み,クラスと確信度を表示する 画像クリックで動画を見る.または記事を読む [著]井上 祐寛 詳細:[VOD/KIT]ラズベリー・パイで学ぶエッジAIプログラミング入門 |
物体検出の基礎とYOLOモデルの特徴
物体検出は画像の中に存在する複数のオブジェクトを識別し,その位置を特定する技術です.具体的には,犬や猫などの物体を認識し,それらを矩形の枠で囲むバウンディング・ボックスを生成します.バウンディング・ボックスには検出した物体のクラス名と確信度が表示されます.これにより画像内の複数の物体を同時に検出可能です.物体検出と似た用語に物体認識がありますが,物体認識は画像に何が写っているかを推定するだけで,物体の位置までは判定しません.
YOLO(You Only Look Once)は物体検出に用いられる代表的なモデルです.YOLOは画像を一度に処理し,物体の種類と位置を高速に推定します.これによりリアルタイムの物体検出に適しています.ラズパイのようなエッジ・デバイス上でも動作させやすいモデルとして活用されています.
ラズパイでの物体検出プログラム実装例
ラズパイでの物体検出はPythonプログラムで実装可能です.演習1では画像ファイルを入力し,物体検出を行います.Visual Studio Code(VS Code)を用いてrecognition1.pyを開き,実行します.実行後には元画像と検出結果の画像が表示され,バウンディング・ボックスに検出物体の名前と確信度が示されます.画像ファイル名を変更すれば別の画像で検出を試せます.
演習2ではカメラ映像をリアルタイムで取得し,物体検出を行います.recognition2.pyをVS Codeで実行するとカメラキャプチャが開始され,自身の姿や動画を映して検出性能を確認可能です.プログラム終了はCTRL+Cで行います.カメラ映像を使うことで動的なシーンでの物体検出を試せます.
手書き数字認識を応用したAIカメラの構築
物体検出の応用例として手書き数字認識のAIカメラがあります.MNISTデータ・セットを用いてCNNモデルを学習し,学習済みモデルをラズパイ上で読み込みます.カメラ映像の特定範囲を読み取り対象とし,その範囲に映る手書き数字を認識します.認識結果は画面上に表示され,正確に数字が判別されることを確認できます.
このようにYOLOによる物体検出だけでなく,CNNによる画像分類も組み合わせることで多様なAIカメラの実装が可能です.ラズパイのような小型デバイスでリアルタイムに画像認識を行う技術は,今後のエッジAIの発展に重要な役割を果たします.
〈ZEPマガジン〉参考文献
- [VOD/Pi3A KIT]ラズパイ・キットで学ぶLinux I/Oボードの作り方・探し方・動かし方,ZEPエンジニアリング株式会社.
- [VOD/Pi KIT]ラズベリー・パイで学ぶLinux&Pythonプログラミング超入門,ZEPエンジニアリング株式会社.
- [VOD/PiZero KIT]Python×ラズパイで初めての量子コンピュータ,ZEPエンジニアリング株式会社.
- [VOD/Pi400 KIT]SLAMロボット&ラズパイ付き!ROSプログラミング超入門,ZEPエンジニアリング株式会社.
- [VOD/Pi KIT]ラズパイ×Pythonで動かして学ぶモータ制御入門,ZEPエンジニアリング株式会社.


















































