顔面追跡カメラをラズベリーパイで組む!
この記事はこんな人にオススメです
  • ラズベリーパイで何かやりたいと思っている人
  • python,機械学習で何かやりたいと思っている人
  • とりあえず顔面追跡カメラ作りたい人

どうも,最近ラズベリーパイにハマっているけんゆー(@kenyu0501_)です.

今日は,インターネットにコロコロと転がっている(オープンにされている)記事たちを参考に,おいらも顔面追跡システムを構築してみました.
モーツァルト先輩にもご協力願いました.

Youtubeはこちらです.
(20秒ほどの動画ですのでご覧ください.)

いやー,インターネットは素晴らしいです.

こんな面白いシステムが半日で組めます.
オープンなインターネット時代に感激です!
そして車輪の再発明は避けたいので,誰かが公開している技は盗みまくります!
(あ,ちなみに,おいらのブログで公開しているものも全て使ってもらって構いませんよ!笑)

と言うことで,今日はこの顔追跡カメラの開発を出し惜しみなく書いていきます!
pythonコードの公開,このシステムの大枠の仕組み,参考にしたサイトの明記,使用した材料をそれぞれ説明していきます.

Pythonプログラムについて

Pythonコードで動いています.
いろいろインターネットをあちらこちらしましたが,このサイトを主に参考にしました.
参考:Raspberry Pi3 とカメラモジュールで顔追跡カメラを作る
ありがとうございます.

参考にして改良したコードです.

コードが気になる方もいるかなと思い,先に記述しました.
次にコードと合わせて「システムの大枠の仕組み」を紹介していきます.

システムの大枠の仕組み

全体的なスライドを作りました.

プログラムは3つのパートに分かれています.
上からそれぞれ,

  1. ライブラリインポート
  2. パラメータや各種文字の定義と,初期化等
  3. 処理部分(whileから)

この上の3つです.

大事なところが少ししかないので,取り上げていきます.

2軸さーぼモータの取り付け!

今回は,サーボモータ(SG90)を二つ使いますが,GPIOに必要な部品はこれくらいです.

上の画像のように一つのサーボモータにつき,3本のコードが伸びていると思います.
それぞれ

  • 黄色:GPIOの4番(X)と17番(Y)ピン
  • 赤:5Vの電源が確保できるピンの位置
  • 茶色:GNDが確保できるピンの位置

です.黄色のピンの位置はプログラム上で指定がありますが,電源とアースはどこでも構いません.
下のようにつないでくれたら大丈夫です.

 

プログラム上で,X軸とY軸の可動範囲を決める

この可動範囲は,実際にサーボモータを動かしながら経験的に定めてください!
そのほうが安全です,

なので,最終調整の段階で,X_MAX等は触ってもらって結構です.

あとは,プログラムをぺぺって貼り付けて,実物を用意したら動くと思います.

いちよう商品リンク貼っておきますが,こちらのカメラキットは寸法がちょっと粗めでした.

しかも極め付けは,土台ステージとサーボモータをリンクさせるコネクタ部品が入っていないこと!!笑

値段も安いので,そこは割り切って,コネクト部を加工して作りました

いちよう,カメラも貼っておきますが,Webカメラをお持ちの方は,それで良いかもしれません.

こちらです.

最後にちょっと注意点

注意点は,カメラの接続確認とGPIOピンが使用できる環境にしておいてください.

それぞれターミナルで,

  • vcgencmd get_camera
  • sudo pigpiod

と入力するだけです!

この記事の英語版を書きました

ラズベリーパイで無限の可能性を!

ラズベリーパイがあればなんでもできます!
顔面追跡カメラもかなり簡単に作ることができました.
みなさんも是非どうですか!

他にもラズベリーパイを使った記事をあげておきます!

などなど!では