Luxonis製RGB-D/AIカメラ"OAK-D S2"で画像処理初心者が画像加工をしてみる
先日,ガイドページ翻訳についてのお知らせをいたしました、Luxonis製RGB-D/AIカメラの"OAK-D S2"を用いて、自動で顔・人を検知してのブラー修正に挑戦してみます。
是非ガイドページをご覧いただきながらお試しください。
また、OAK-Dには用途に応じた多くの種類がございます。選定に迷われている方のためにセレクションガイドもご用意しておりますので、ぜひお役立てください。
"OAK-D"について
"OAK-D"はLuxonis製のRGB-D/AIカメラです。ステレオカメラ2基と4Kカメラが1基搭載されており、深度情報と色情報を取得することが出来ます。USB2.0 / 3.0でPCと接続して、OpenCVを用いた画像の処理が可能です。(デフォルトでは3.0です)また、Luxonis公式のPython APIを用いてコーディングを行うことができ、非常に簡単に様々な処理を実装することが出来ます。IMUが搭載されている製品も存在し、移動ロボット等への搭載にも適しています。
今回の記事では、様々な種類があるOAK-Dの中から、固定焦点版のSeries 2を選定しました。Luxonisからサンプルプログラムとして提供されているコードを用いて,簡単な画像加工に挑戦してみたいと思います。
ちなみに私は画像処理の経験が全くない、ドがつくほどの画像処理素人です。
使用したもの
・Luxonis OAK-D S2 (固定焦点版) -OpenCV DepthAIカメラ
・ノートPC
(CPU:i7-10510U、RAM:16GB、OS:Windows11)
使用したソフトウェア等
・VSCode
・Cursor
・Python 3.10
・DepthAI(Luxonis公式ソフトウェア)
環境構築
OAK-Dを使用するための環境構築を行います。DepthAIと各種SDKをダウンロード・インストールします。
はじめにDepthAIのインストーラをこちらからダウンロードし、DepthAIをインストールします。
インストールが終了したら、OAK-DをPCへ接続してDepthAIを起動すると、デモプログラムの実行が始まります。
無事にデモプログラムの動作が確認できました。
続いて、人の認識を行うサンプルプログラムをgithubからダウンロードします。
ダウンロードしたら、以下のコマンドをDepthAIのコマンドウィンドウに打ち込んで、プログラムの実行に必要なパッケージ等をインストールします。
python3 -m pip install -r requirements.txt
無事にインストールできたら、ダウンロードしたプログラムを実行してみます。
python3 demo.py
環境等によってはエラーが出る場合もあると思いますが、DepthAI公式チュートリアルページや、各プログラムのREADMEファイル等をご参照ください。
画像処理コードの準備
公式で提供されているプログラムをダウンロードします。利用したプログラムはこちらです。
デモプログラムと同様、必要なパッケージ等をインストールするため、以下のコマンドを実行します。
python3 -m pip install -r requirements.txt
実行が終わったら、準備完了です。
動かしてみよう
動かしてみます.
python3 main.py
私はこのときマスクを着用しておりましたが、問題なく顔にブラーがかかっていることがわかります。
あまりに簡単にブラーをかけられてしまったので、使用したコードを一部変更し、体全体にブラーをかける処理を実装してみようと思います。変更した部分は、main.pyの30行目と44行目のみです。
30行目:変更前
cam.setPreviewSize(300, 300)
変更後
cam.setPreviewSize(544, 320)
44行目:変更前
name="face-detection-retail-0004"
変更後
name="person-detection-retail-0013"
30行目の変更では、ニューラルネットへ与える画像サイズを使用するblobファイルに合わせて300x300から544x320へ変更しました。
44行目の変更ではblobファイルを変更しました。
ここまで変更が終わったら、OAK-DをPCへ繋いで動かしてみます。
python3 main.py
稀にブラーが外れますが、基本的には私の動きに追従したブラーが画像にかかっていることがわかります。
今回使用した学習モデルでは私の動きに完全に追従することはできませんでしたが、他の学習モデルを使用したり、光の当たり方が違う場所で検証を行うと、また違った結果が得られるかもしれません。
おわりに
今回の記事では、OAK-D S2とサンプルプログラムを用いて、簡単な画像加工を行いました。サンプルプログラムがあらかじめ用意されていたということもあり、画像処理素人の私でも10分もかからないほど短時間で、とても簡単に画像処理を実装することができました。
これまで画像処理の経験がないという方でも十分使いこなすことができる商品であると思いますので、是非この機会にご検討ください。
今回使用したOAK-D S2の販売ページはこちらになります。どうぞよろしくお願いいたします。