Raspberry Pi 3とカメラモジュールで顔追跡カメラを作る

スポンサーリンク

はじめに

以前まで組み立てていたSG90サーボカメラマウントとラズパイカメラモジュールを使って
顔追跡=オートトラッキングが出来るカメラを作ります。

参考サイト

今回参考にしたサイトは数知れません。。たくさんのサイトを参考にさせていただきました。

そもそもopencvの知識0から開始してるので当たり前ですね。

特に参考にさせていただいたのはこちらのサイト様です。

OpenCVのチュートリアルです。驚くほどわかりやすいです。先にこちらを見ておくと理解が早まると思います。

そもそものコードなどはPonDad様のこちらのサイトのものを使わせていただきました。

さらに9680lhqv様の詳しい解説のおかげで理解が深まりました。

回路図、構成図

前回のサーボと同じです。前回の投稿を参照してください。

準備

この後に出てくるコードですが、ラズパイのカメラモジュールの場合はbcm2835-v4l2というモジュールを呼び出す必要があるようです。

こちらのサイト様を参考にさせていただきました。

このモジュールなしで実行させると以下のようなエラーが出ました。
モジュールを入れたあとは出てきません。

流れとしては
・lsmod | grep bcm2835_v4l2

bcm2835_v4l2がないことを確認。ハイフンではなくアンダーバーでした。

・sudo apt-get update

・sudo apt-get upgrade

・sudo apt-get install libv4l-dev

私の環境では既にlibv4l-devがありました。

・sudo modprobe bcm2835-v4l2

読み込むのはハイフンのほう。

・lsmod | grep bcm2835_v4l2

bcm2835_v4l2があることを確認。

以上でカメラモジュールでも動作できます。永続的に読み込むならsudo vim /etc/modulesで

bcm2835-v4l2

と書き足せばOKです。こっちはハイフンです。

書いた後に再起動すればlsmodでbcm2835_v4l2が表示されるはずです。

pythonコード

OpenCVはこちらでインストールしたものを使ってます。

pythonのバージョンは3.5.3、OpenCVのバージョンは3.1.0で動作させました。

コード内のコメントは自分の確認用に書いてます。間違ってたらすいません。。

カメラの画面サイズとfpsがデフォルトだと640*480の30fpsとなります。
私が動作させたときはこれだと「もっさり」というか重いので、
320*320の15fpsにしています。

それでも参考サイト様と比べると重いような・・・
カメラモジュールのせいかしら?

Xlib: extension "RANDR" missing on display ":1.0".について

tightvncserverのVNC経由で起動させてます。

SSH経由だと画像が出力できずエラーとなります。

ただtightvncserverでも上記エラーメッセージが発生します。

調べてみるとtightvncserverではなくX11vncだと発生しないとのことで。。

こちらのサイト様に従ってX11vncを試してみました。

またraspi-configで3 Boot Options⇒B1 Desktop / CLI→B4 Desktop Autologinを実行しGUIでログインするように変更しました。

その結果、エラーメッセージはでなくなりました。

が、エラーメッセージ出ても問題なく動いており、tightvncserverを愛用しているので、

今はエラーメッセージを無視してtightvncserverを使ってます。

動作について

動作について大雑把に説明すると

顔を検出する

その方向に少しずつカメラを移動させる。

これだけです。

顔追跡ですが自分の顔を晒すのは恥ずかしいので、家にある試供用のパンパース使ってカメラに顔を追跡させます。ちなみにうちはパンパース派です。

実際に動作している映像がこちらです。

動作はゆっくりですが少しずつカメラがパンパースを追いかけているのがわかります。

最後に

とうとう顔追跡=オートトラッキングまでこれました!

偉人の力を借りてるだけですが、すごいことが出来る世の中になりましたね。。

この投稿書いてるときに矩形(くけい)という言葉を生まれて初めて知ったわー。たんけいだと思ってたわー。

次回は少しおまけの内容です。

おまけではなくなりました。。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. […] いろいろインターネットをあちらこちらしましたが,このサイトを主に参考にしました. (参考:Raspberry Pi3 […]