Weitere ähnliche Inhalte
Ähnlich wie ITフォーラム2020 AITC(4) (20)
ITフォーラム2020 AITC(4)
- 1. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
協働プロジェクト
空気を読む家 6th シナリオ
『人を見守る安心安全な空気を読む家』
室内を画像処理で把握
2020年02月07日
先端IT活用推進コンソーシアム
クラウド・テクノロジー活用部会 リーダー 荒本道隆
- 2. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
その前に
クラウド部会のご紹介
- 3. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
前期の活動内容
• 月1回(13:30~17:30)のミーティング、参加人数は5~10人
• 参加者が講師となり、内部勉強会を開催(担当、敬称略)
FIDO認証モデルについて(宮地)
Google Colaboratory を触ってみる(荒本)
IETF報告会 (103rd バンコク) / IETF103 Update Meeting(宮地)
ROS2チュートリアル(佐伯)
Cloud9を触ってみよう(荒本)
様々なAI画像認識を動かしてみよう(荒本)
SONY Neural Network Console勉強会(荒本)
プログラマーのための量子コンピュータ入門(宮地) → 会員向けに開催済
第1回:関連数学基礎と量子ビット編
第2回:量子ゲート型のプログラミング
第3回:量子アニーリング型のプログラミング
• 参加者が講師となり、『ゼロから作るDeepLearning(2)』を輪読
• 気象庁XML取得APIを運用 http://api.aitc.jp/
– 運用期間は2020年8月まで
3
講師をした人が、
一番詳しくなる
- 4. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
今期の活動計画
■背景/活動目的
9年目は、クラウドによって個人でも利用可能になった新しい技術(量子コンピュー
タ, AI)を試用した。
10年目は、それら新しい技術を現場で使用するための方法論も含めて学んでいく。
・量子コンピュータにおけるアニーリングで必須となる課題の定式化を議論
・AIでは既存ライブラリをクラウド上で使うための手順やインターフェイスを試作
また、これまで通り、クラウド全般やIoTについても取り組んでいく。
・測定(センシングなど): Arduino,RaspberryPI を使ったセンシング
・収集(ネットワーク) : 無線LAN, Bluetooth, 電子署名, セキュリティ
・蓄積(KVS, クラウドサービスの利用): RDF, SPARQL, IaaS の利用
・分析(統計処理、オープンデータの利用、アルゴリズム): R, AI, 量子コンピュータ
・出力(ビジュアライゼーション、外部操作): R, D3.js, ロボット, ROS
これら広範囲の各要素技術に対し、部会参加者が「知っている」ではなく「使ったこ
とがある」「人に教えることができる」と言えるレベルを目指す。また、それらを使っ
たプロトシステムを開発し、運用を行う。
4
- 5. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
空気を読む家 6th シナリオ
室内を画像処理で把握
- 6. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
やりたいこと-1
• カメラ映像を解析して家の中の状況を把握
リアルタイム画像処理にはGPUパワーが必要
うるさいPCサーバを家の中には置きたくない
室内のカメラ映像をクラウドにあげたくない
• 「小型」「静か」「高性能」なエッジサーバを試してみたい
• 小型なデバイスでどこまでできるか?
「NVIDIA JETSON Xavier」(86,832円)
「NVIDIA JETSON Nano」(13,600円)
「Raspberry Pi 4」(7,700円)
6
- 7. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
やりたいこと-2
• カメラを使った、何か斬新なことをやりたい
顔認識以外で、何かできないか?
• 他の人がやっていない事をやる
可視光線以外を扱ってみたらどうだろう?
• サーモグラフィが安くなってきた
温度計よりも緻密に温度が取得できる
「安価」「そこそこの解像度」「PCに直接接続」が入手可能に
解像度:160x120のものが3万円
7
- 8. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
準備した機器-1
• NVIDIA Jetson Xavier(86,832-)
• GPU 512-core Volta GPU with Tensor Cores
• CPU 8-core ARM v8.2 64-bit CPU
• Memory 16 GB 256-Bit LPDDR4x | 137 GB/s
• NVIDIA Jetson Nano(12,540-)
• GPU 128-core Maxwell
• CPU Quad-core ARM A57 @ 1.43 GHz
• Memory 4 GB 64-bit LPDDR4 25.6 GB/s
• Raspberry Pi 4(7,700-)
• CPU 1.5GHz quad-core ARM Cortex-A72 CPU
• Memory 4 GB LPDDR4
8
- 9. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
準備した機器-2
• Lepton 3.5(サーモグラフィ)(29,392-)
• 解像度:160x120
• 測定温度:-10~140℃(-10~400℃)
• 温度の分解能:0.05℃
• 海外から個人輸入
• BIS-711(最終荷受人及び購入者による報告書)が必要
• 前バージョン(Lepton 2.5 解像度:80x60)は国内でも購入可能
• USB変換アダプタ(2万円)も購入
• USBカメラとして使用できるので、簡単
• 可視光線カメラ
• そのへんにあったUSBカメラ
9
- 10. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
実装の方針
• 姿勢検出:室内の人の姿勢を取得
• 人が居る or 居ない
• 立っている or 横になっている
• モデルは、公開されているものをそのまま使用
• 物体検出:そこにある物の名称を取得
• 物の名称と位置を取得
• モデルは、公開されているものをそのまま使用
• サーモグラフィ:詳細な温度情報を取得
• 快適な状況か?
• 居る人が熱を出していないか?
• 火事やヤケドにつながる高温なものは無いか?
10
- 11. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
姿勢検出:OpenPose とは
• 概要
• 画像からPoseの推定に深層学習を用いて、教師データを使用
• GPUがあれば、顔や手も解析できる
• ソースコードや学習済モデルが公開されている
https://github.com/CMU-Perceptual-Computing-Lab/openpose
• 非商用であれば無償、商用利用は25,000ドル
• 無償で使えるものも出てきている
11
OpenPoseのGithubより
- 12. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
物体検出:YOLO とは
• 概要
• Real-Time Object Detection
• You only look once(YOLO)
• それまでの手法は、検出窓を少しずつスライドさせて探索していたが、
YOLOは画像を1度だけCNNに通すだけでオブジェクトを検出できる
• 実装はDarknetを使用
https://pjreddie.com/darknet/yolo/
• 学習済みのモデルも公開されている
• Public Domainライセンス
12
0. Darknet is public domain.
1. Do whatever you want with it.
2. Stop emailing me about it!
darknetの「LICENSE」ファイルより抜粋
- 13. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
姿勢検出の精度と速度
13
高精度&低速 低精度&高速
- 14. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
横になっているかを判定
14
人を検出できなかった場合 人を検出できた場合
画像を90度回転させると
うまく検出 → 横向き
横向きだと検出しない
場合が多い
鼻と首の角度で判定
一定の角度以上 → 横向き
鼻と首の位置で判定
鼻の方が下 → 横向き
- 15. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
Darknet(YOLO)による物体検出精度
15
高精度&低速
yolov3.cfg
低精度&高速
yolov3-tiny.cfg
IMG_4098.jpg: Predicted in
30.556203 seconds.
scissors: 100%
scissors: 64%
knife: 54%
cell phone: 85%
chair: 71%
cup: 99%
cup: 97%
IMG_4098.jpg: Predicted in
1.330256 seconds.
cell phone: 80%
cell phone: 60%
cup: 83%
cup: 77%
cup: 68%
IMG_4094.jpg: Predicted in
1.329064 seconds.
cup: 67%
IMG_4094.jpg: Predicted in
30.542562 seconds.
scissors: 95%
cell phone: 96%
chair: 80%
knife: 78%
cup: 100%
cup: 98%
- 16. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
姿勢検出と物体検出の処理速度
• 姿勢検出:OpenPose/tf-pose-estimation
• 物体検出:darknet(YOLO)
備考:v3はbatch=16に修正
16
高精度&低速 低精度&高速 備考
Jetson Xavier 13FPS 22FPS どちらも遅延なし
Jetson Nano 2.5FPS 3.6FPS 遅延が3秒、2秒弱ぐらい
ラズパイ4 0.30FPS 0.39 FPS 遅延が20秒、17秒ぐらい
ラズパイ3 0.13FPS 0.17FPS 遅延が40秒、30秒ぐらい
ノートPC 0.8FPS 1.1FPS 遅延が8秒、6秒ぐらい
高精度&低速 低精度&高速 備考
Jetson Xavier 4.4FPS 12FPS 遅延が2秒、遅延ほぼなし
Jetson Nano 0.6FPS 7.4FPS 遅延が12秒、1秒ぐらい
ラズパイ4 応答無し 0.2FPS 応答しない、遅延が34秒ぐらい
ラズパイ3 応答無し 応答無し 応答しない
ノートPC 応答無し 1.0FPS 応答しない、遅延が7秒ぐらい
チューニング無し
- 17. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
姿勢検出+物体検出の実装
• Jetson Xavier と Jetson Nano で分散処理させる予定が…
• 試してみたら、Jetson Xavier 1台上で2つが同時に動いた
• 姿勢検出x1+物体検出x3まで起動成功
• さらにもう1つ物体検出を起動したら、Xavier 自体が固まった
• カメラを別スレッド、物体検出を別プロセスにし、遅延を最小に
17
Jetson Xavier
メイン処理
1.カメラ映像取得(別スレッド)
2.画像ファイル出力
(サブ処理に渡す用)
3.姿勢検出(OpenPose)
4.物体検出の結果を取得
5.空間OSに結果を送信
6.戻る
サブ処理
1.画像ファイルを取得
2.物体検出(darknet)
3.結果をファイルに出力
4.戻る
GPU
512-core
CPU
8-core
空間OS
人(位置)
ボール(位置)
- 18. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
姿勢検出+物体検出の実行結果
• 姿勢検出
• 骨格を描画
• 物体検出
• 枠で囲む
• 立っているか判定
• 立っている → 白
• 横になっている → 赤
• 空間OSにJSON送信
• 1人分の骨格(25点の座標)
• 1個の物体(名称と座標)
• bottle を優先
18
サンプル画像
- 19. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
サーモグラフィ
• Lepton 3.5の仕様
• 160x120ピクセルで0.05度きざみの温度を取得
• 日本国内の物と比べると値段が1/10だが、購入手続きが面倒
• USB変換アダプタによって
• 通常のカメラアプリで画像として取得できる
• libuvc(USB Video Class) でRAWデータも取得できる
19
RGB出力 RAW出力
- 20. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
サーモグラフィで姿勢検出+物体検出
• 姿勢検出
• RGB出力→モノクロ化しただけで、そこそこできる
• 可視光線のデモルをそのまま使っているので、精度はイマイチ
• 物体検出
• そもそも物が映らない?から、検出できない
• 温度の微妙な違いを強調すれば、何とかなる??
20
ドアを開ける人 ペットボトルを持つ人
- 21. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
危険が検出できる?-1
• 体調不良による発熱 → これではダメそう
• 距離で測定温度が変わる(30cm離れると約3%下がる)
• 距離が分かれば、補正できるかも
• 3分ごとに自動でキャリブレーションされ、測定温度が変わる
• 「他の人よりは高熱」は分かる
• 正確になるようにキャリブレーションできる?
21
至近距離で測定:36.05度 直後に30cm離れて測定:35.05度
- 22. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
危険が検出できる?-2
• ヤケドしそうなもの、火事 → 使えそう
• 距離の問題や誤差はあるけど、「とても高温」は分かる
22
買いたてのコーヒー:55.95度 コンロに火を点けた:400度
- 23. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
サーモグラフィの実行結果
• 空間OSに温度情報をJSONで送信
• 1秒間に何度か送信
• 平均温度
• 最高温度と、その位置
• 最低温度と、その位置
• 10秒間に1回送信
• 160x120 の温度データ
• 空間OS側のログが増え過ぎないように
• 今回は未実装だが
• 37度以上があれば、アラート ← 体調不良?
• 60度以上があれば、警戒する ← ヤケドする危険がある?
• 100度以上が広い範囲であれば、アラート ← 火事?
• -10度~400度まで測定できるモードもある
23
- 24. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
まとめ
24
• 姿勢検出:OpenPose
• 頭部だけでも、とてもよく検出できる
• 「横になった人」が検出できない場合がある
• 画像を回転させることで解決
• 布団を頭までかぶると、検出できない
• 物体検出:darknet(YOLO)
• モデルに入っている物は、見えていれば、かなり検出できる
• 椅子(chair)の検出が恐ろしく高精度
• サーモグラフィ
• 今回のものでは、だいたいの温度しか測定できない
• 「非常に高温のものがある」という情報を何かに使えないか?
• サーモグラフィで姿勢検出もすれば、人と高温の位置を正確に把握
• 160x120でもかなり見えてしまう
• 可視光線カメラと同等のセキュリティが必要
- 25. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
やってみた感想
25
• NVIDIA Jetson Xavier
• 姿勢検出が滑らかに動いた時は、感動した!
• とても静か&GPUパワーが簡単に利用できる
• 複数のGPUを必要とする処理が1台で実行できた
• Xavier専用にチューニングすれば、もっと高速化も可能
• ラズパイ4でも「5秒に1フレーム」の検出なら出来そう
• Lepton 3.5 は、扱いがとても難しかったけど
• 初期不良品だったため、挙動がおかしかった
• 「半年以上経ったので、交換はできない」と言われた…orz
• 不良品じゃないものだと、非常に簡単だった
• 距離にこれほど影響を受けるのは予想外だった
• 公開されたモデルデータの利用だけで色々とできた
• 準備されていないものは検出できない
→ 次こそ自前でモデルを作成しよう
- 26. Copyright © 2020 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
http://aitc.jp
https://www.facebook.com/aitc.jp
最新情報は
こちらをご参照ください
ハルミン
AITC非公式イメージキャラクター
AITC クラウド活用部会への参加、
お待ちしてます
今期のクラウド活用部会は
・アニーリング課題の定式化
・AIの活用
を主にやってます