KIHARA BLOG:社内ラズコンでめざせ優勝!

Raspberry Pi(ラズパイ)で機械学習とか音声認識とか姿勢推定とかしながら組み込みシステムを構築して、社内ラズコンで優勝をめざすブログです。勉強中:Raspberry Pi、Linux、Python、Coral EdgeTPU、PoseNet、Julius

ラズパイ(Raspberry Pi)はじめました

ある日、社内掲示板で目を惹いた「ラズベリーパイコンテスト参加者募集」の文字。
ラズベリーパイ???
調べてみると、教育目的で作られたワンボードマイコンのことらしい。
1万円以下、Linuxベース、JavaもCもPythonもOK、接続モジュール多数、CAN通信もできる…
なにこれおもしろそう!
というわけで、ラズコン優勝をめざしてラズパイはじめました。

さて、何をつくろうか?

遊ぶだけじゃつまらないので、きちんとシステムとして作成したい。
そういえば、文化祭で「Kinectで骨格検出して映像効果を付ける」ってアトラクションを作りたかったことを思い出す。
例えば「特定のポーズをとったら光が出る」みたいなもの。
f:id:KIHARA0223:20200112101511p:plain
あれをビジネス用途にアレンジできないかなと数日考えて、こんなシステムを思いつきました。
その名もプレゼン特訓システム(仮)。

  1. プレゼンの様子をカメラで撮影する
  2. 撮影した動画から骨格検出する
    1. 特定の動き(忙しなく腕を動かすなど)が多ければ、改善点として指摘する
    2. 特定のポーズを検出すると、映像効果や音響効果を付ける
  3. 撮影した動画から音声認識する
    1. 特定の単語(「え~」など)が多ければ、改善点として指摘する
    2. 特定の単語を認識すると、映像効果や音響効果を付ける

どうやってつくる?実現性を調査する

ぼんやりシステムが決まったので、必要な部品やソフトについてネットで調べてみます。
まずは「RaspberryPi Kinect 骨格検出」で調べてみると、なんと2017年10月でKinectが生産終了していました…
www.itmedia.co.jp じゃあ他の方法を、とあちこち漁っていたら、ありました!なんと「普通のカメラで骨格検出」ができるとのこと。
karaage.hatenadiary.jp 深度センサー(3次元センサー)付きのカメラでないと骨格検出できないと思っていたのですが、ディープラーニングや画像処理を使うことで、普通の単眼カメラから骨格検出する技術が確立されていました。
しかも2017年には論文発表されていて、オープンソースがいくつかネットに転がっているという。技術の進歩すごい。

というわけで、骨格検出はクリアできそうです。
続いて音声認識。こちらは同じような取り組みしている方がたくさんいました。 rohani.hatenablog.com こちらもオープンソースで、普通のUSBマイクから音声辞書とマッチングさせて単語認識ができます。
音声認識も問題なくできそう。

どのラズパイにする?

骨格検出、音声認識の実現性が確認できたので、ラズパイと周辺モジュールを購入します。
最新のラズパイはRaspberry Pi 4 Model B なのですが、

  • 日本語の技術解説がRaspberry Pi 3 Model B+ と比べて少ない(ヘタレ)
  • 電源装置の発熱問題がある(ファームウェアで改良とのことだが対策は必要ぽい)

ということで、石橋を叩いて渡る精神により、Raspberry Pi 3 Model B+ を採用しました。

ちなみに、ラズパイ4Bとラズパイ3B+の比較はこんな感じです。

  Raspberry Pi 4 model B Raspberry Pi 3 Model B+
SOC Broadcom BCM2711 Broadcom BCM2837B0
ARMコア Cortex-A72 64bit Quad-Core Cortex-A53 64bit Quad-Core
CPUクロック 1.5GHz 1.4GHz
RAM(メモリ) LPDDR4 1GB ,2GB,4GB(選択可能) LPDDR2 1GB
USB USB3.0 x 2 + USB2.0 x 2 USB2.0 x 4
Ethernet Gbit Ethernet(1Gbps) Gbit Ethernet over USB 2.0(Max 300Mbps)
Bluetooth 5 4.2
HDMI micro HDMI x 2 HDMI x 1
電源 USB TypeC(5V_3A) USB MicroB(5V_2.5A)

f:id:KIHARA0223:20191230110540j:plain 私は初心者用セットで購入したので、一式揃えるのに4万円弱かかっています。個別に購入するのが面倒くさくて…
必要最低限に絞れば、2万円くらいで揃うかなという感じでした。

超基本セットとして購入したもの

  • Raspberry Pi 3 Model B+
  • 専用ケース(ヒートシンク、ファン付き)
  • HDMIケーブル
  • 電源コード
  • SDカード
  • モニター
  • キーボード(自宅にあるものを流用)
  • マウス(自宅にあるものを流用)

骨格検出用に購入したもの

音声認識用に購入したもの

  • USBマイク

次回はラズパイの起動、周辺モジュールの接続に挑戦します。