ボードコンピュータ（NVIDIA Jetson）上で動く
学習不要なAIプログラム（姿勢推定）
利用ガイド

公益財団法人埼玉県産業振興公社

目次
1. このAIプログラムでできること・・・・・・・・・・・・・・p.03
2. 対象者・・・・・・・・・・・・・・・・・・・・・・・・・p.04

3. 利用に必要な機器・・・・・・・・・・・・・・・・・・・・p.05
4. 推奨する利用環境・・・・・・・・・・・・・・・・・・・・p.06
5. 利用にあたっての注意事項・・・・・・・・・・・・・・・・・p.07

6. AIプログラムのダウンロードと実行準備・・・・・・・・・・p.08
7. 姿勢推定の実行・・・・・・・・・・・・・・・・・・・・・p.20
8. 参考：ソースコードを利用する場合の実行方法・・・・・・ p.27

2

１ このAIプログラムでできること
 WEBカメラと連動してリアルタイムで人の骨格・姿勢（うずくまり・転倒）を検出できます。
 工場内等における作業者の転倒・うずくまり検知による労災防止などに御利用いただけます。
 通常、AIを利用する際には学習が必要ですが、オープンソースの学習済みモデルを使用しているため、学習なしで利用できます。
うずくまり（Huddle）

転倒（Turn over）

検出結果イメージ!

注意点 検出に伴い警告音の発出やアラームの通知を行う場合は、別途、警報器など他の装置と組み合わせ、連携のためのプログラムを組むことが必要になります。
3

２ 対象者

 AIの学習が必要ないため、AIやプログラミングの知識がない方でも御利用いただ
けます。
 精度の向上や、推定する姿勢の種類を増やす等のカスタマイズを行う場合は、新たにAI学習を実施する必要があるため、AI学習を行う機能を開発するためのAIやプログラミングに関する知識が必要になります。

4

３ 利用に必要な機器利用にあたっては以下の機器が必要になりますので、御準備ください。
 Jetson Nano 2GB Developer Kit

 キーボード microSDカード（128GB）

 マウス

 電源アダプター パソコン（イメージファイルをmicroSDカードに書き込む際に使用）

 ディスプレイ（HDMI接続可能なもの）
 HDMIケーブル!

 Webカメラ

Jetson Nano 2GBに関する注意点

 microSDカードなしで起動した際にディスプレイにNVIDIAのロゴが出ないマシンでは、microSDカードありで起動できなくなる場合があるようです。
参考：Jetson Nano 2GB failing to bootup or show anythinghttps://forums.developer.nvidia.com/t/jetson-nano-2gb-failing-to-bootup-or-show-anything/167053

 AIプログラム掲載ページでは、ご利用者の状況や使用したいOSに合わせて利用できるよう、イメージファイルに加えて、ソースコードと必要なライブラリ情報も掲載しています。

!

パソコンに関する注意点

 パソコンは、解凍後のイメージファイルのサイズ（約62GB）以上の空き容量を確保してください。
 イメージファイルを解凍するソフトとmicroSDカードへの書き込みを行うソフトはWindowsのみ対応となります。
 対応OSのバージョンは、「6.AIプログラムのダウンロードと実行準備」で紹介する各ソフトの提供元ページを確認ください。
5

４ 推奨する利用環境＊実行に際して、必ずしも以下の環境が必要ではありません。あくまで推奨環境になります。

 Jetsonの推奨スペック（開発に使用したJetson nano 2GBのスペック）GPU

128-core MaxwellCPU

Quad-core ARM A57 @ 1.43 GHz

Memory2 GB 64-bit LPDDR4 25.6 GB/s

StoragemicroSD※64GB以上が必須になります。128GBを推奨します。

 参考：ソースコードを利用する場合
提供するAIプログラムは、イメージファイルをJetsonで実行することを想定しています
が、ソースコードをパソコンで実行することも可能です（実行方法はp.27参照）。
実行するためには、python実行環境を構築する必要があります。
パソコンの推奨スペックは以下の通りです（これ以上のスペックでも利用可能です）。
OSWindows , Mac , LinuxGPU

必須ではありませんが、GPUを使用することで実行／学習速度向上が見込めるため、推奨します。

CPU

Core(TM) i5-7300U CPU @ 2.60GHz 2.70 GHz

Memory実装RAM 8.00 GB
6

５ 利用にあたっての注意事項！

以下の注意事項をよくお読みいただき、同意の上、御利用ください。

１ AIプログラムの実行にあたっては利用者御自身で環境設定ファイル及び利用ガイドを参考に準備いただく必要があります。
２ 本プラットフォームで配布しているAIプログラムは、自社/自団体内のみで利用できるものとし、第3者への配布や商用利用は禁止します。
３ 本プラットフォームで配布しているAIプログラムは、利用者御自身の責任において御利用ください。利用により生じる損害について、運営事務局では責任を負いません。
４ 本プラットフォームで配布しているAIプログラムは自由に改変することは可能ですが、利用者御自身の責任において改変ください。

7６ AIプログラムのダウンロードと実行準備 以下の手順でAIプログラムをダウンロードし、microSDカードに書き込んで実行できるようにします。全体で3時間程度かかりますので、ご注意ください。

（１）AIプログラムのダウンロードと解凍(詳細はp.9-13)（２）microSDカードフォーマット用ソフトのインストール(詳細はp.14)（３）イメージファイル書き込み用ソフトのインストール(詳細はp.15)（４）microSDカードのフォーマット(詳細はp.16)（５）microSDカードへの書き込み(詳細はp.17-18)（６）Jetsonと周辺機器の接続(詳細はp.19)

8

６ AIプログラムのダウンロードと実行準備（１）AIプログラムのダウンロードと解凍 AIプログラムが入った圧縮ファイルをダウンロードし、解凍します。

① パソコンで、AI・IoTプラットフォームの掲載ページから、AIプログラムのファイル（姿勢推定AIプログラム）をダウンロードします。ファイルサイズが約9GBと大きいため、回線状況によりますが、1時間程度かかります。
拡大② ダウンロードした圧縮ファイルを解凍します。解凍すると、約62GBとなるため、パソコンのディスクの空き容量を確保してください。
9６ AIプログラムのダウンロードと実行準備（１）AIプログラムのダウンロードと解凍③ 解凍用ソフトExplzh for Windowsを以下のページからダウンロードします。
https://www.ponsoftware.com/archiver/download.htm※Windowsのみ対応となります。
※32ビット版と64ビット版がありますので、御使用のパソコンにあった方を選んでください。

④ ダウンロードしたExplzhのexeファイルをダブルクリックして開き、インストーラーにしたがってインストールします。
10

６ AIプログラムのダウンロードと実行準備（１）AIプログラムのダウンロードと解凍⑤ 手順①でダウンロードしたAIプログラムのZIPファイルをダブルクリックすると、ウィンドウが立ち上がりますので、メニューの「編集（E）」から「解凍（E）」をクリックします。

11

６ AIプログラムのダウンロードと実行準備（１）AIプログラムのダウンロードと解凍⑥ 解凍先を指定するウィンドウが立ち上がりますので、「展開先」でファイルを解凍したい場所を選び、「OK」を押します。

12

６ AIプログラムのダウンロードと実行準備（１）AIプログラムのダウンロードと解凍⑦ 確認のためのポップアップが出てくるので、「ブロック解除」を押すと、解凍が始まります。PCの使用状況によりますが、解凍に1時間程度かかります。

⑧ 指定した展開先にimgファイルができたら、完了です。

13

６ AIプログラムのダウンロードと実行準備（２）microSDカードフォーマット用ソフトのインストール
 microSDカードにAIプログラムのイメージファイルを書き込める状態にすることをフォーマットと言い、そのためのソフトをインストールします。
① SD Formatterのダウンロードページから、ページの下方にある「SDメモリカードフォーマッター」をダウンロードします。
https://www.sdcard.org/ja/downloads-2/formatter-2/② ダウンロードしたZIPファイルを解凍し、中のsetup.exeをダブルクリックして開いて、しインストーラーに従ってインストールします。
14

６ AIプログラムのダウンロードと実行準備（３）イメージファイル書き込み用ソフトのインストール
 AIプログラムのイメージファイルをmicroSDカードに書き込み、AIプログラムを実行できる状態にするためのソフトをインストールします。
① Win32 Disk Imagerのダウンロードページから、下方の「Archive」にある「win32diskimager-1.0.0-install.exe」をダウンロードします。
https://ja.osdn.net/projects/sfnet_win32diskimager/releases/※Windowsのみ対応となります。

② exeファイルをダブルクリックして開き、インストーラーにしたがってインストールします。
15

６ AIプログラムのダウンロードと実行準備（４）microSDカードのフォーマット
 microSDカードにAIプログラムのイメージファイルを書き込める状態にします。
① microSDカードをパソコンに差し込みます。
② （２）①でインストールして作成されたSD Card Formatterのショートカットをダブルクリックして起動します。

③ microSDカードのドライブ名を確認して、「カードの選択」で同じドライブを選び、「フォーマット」を押します。いくつか確認のポップアップが出ますので、全て「はい」を選択してください。

16

６ AIプログラムのダウンロードと実行準備（５）microSDカードへの書き込み AIプログラムのイメージファイルをmicroSDカードに書き込み、AIプログラムを実行できる状態にします。
① Win32 Disk Imagerのショートカットをダブルクリックして起動します。
② 「Image File」のフォルダマークのボタンを押して、（１）⑧で解凍したimgファイルを選択し、その右側の「Device」でmicroSDカードのドライブを選びます。

17

６ AIプログラムのダウンロードと実行準備（５）microSDカードへの書き込み③ imgファイルと書き込み先ドライブに間違いが無ければ「Write」を押します。

④ 書き込んで良いかを確認するポップアップが出てくるので「Yes」を押すと、書き込みが始まります。PCの使用状況によりますが、書き込みに40分程度かかります。
⑤ imgファイルの書き込みが終わったらポップアップが出てきますので、「OK」を押して、Win32 Disk Imagerを終了します。

⑥ imgファイルを書き込んだmicroSDカードをパソコンから取り出し、完了です。
18

６ AIプログラムのダウンロードと実行準備（６）Jetsonと周辺機器の接続
 Jetsonと周辺機器を接続します。
microSDカード
電源アダプター

USB C
For Power

テレビ／ディスプレイHDMI／ USBポート LANポート
DisplayPort

マウス

WEBカメラキーボード

19

７ 姿勢推定の実行
ファイル構成Desktop上に「openpose_src_Fin」ファイルを格納しています。
Desktopopenpose_src_Finフォルダ内※

姿勢推定では学習済みモデルつまりOSS(オープンソース)を使用しているため、参考にした元ファイル等は残しております。
そのためファイル数は多くなっておりますが、ユーザーが参照する主要ファイルは赤枠で囲った４ファイルになります。

主要ファイル

ファイル内容00_README

姿勢推定プログラムの実行方法／注意点を記載したメモファイル。こちらを参考に実行してください

main_webcam.py

WEBカメラと連動しリアルタイムで姿勢推定を実行するメインソースコード

main.py

指定した画像ディレクトリ内の画像に対する姿勢推定を実行する際に必要なpythonライブラリを記載したメモファイル

models

今回使用する学習済みモデル（open pose）

OpenPose_requirements.txt

姿勢推定を実行する際に必要なpythonライブラリを記載したメモファイル
20

７ 姿勢推定の実行
実行方法サマリー（１）Jetson起動 (詳細はp.22)
microSDカードを挿入、電源を付け、パスワードを入力するとJetsonが起動※）起動まで10秒程かかります（２）コマンド入力 (詳細はp.23)①デスクトップのターミナルを開く②mainファイル（実行ファイル）が置いてあるディレクトリに移動
コマンド：cd /home/rdl2/Desktop/openpose_src_Fin③GPU(CUDA)指定
コマンド：export CUDA_VISIBLE_DEVICES="1"④mainファイルの実行 ※）Jetsonの負荷状況によりますが、実行されるまで30-60秒程かかります
コマンド：python3 main_webcam.py※）上記実行方法につきましては、「00_README」ファイル内に記載しております（３）姿勢推定の実行 (詳細はp.24)「main.py」ファイルを実行し、カメラ起動～姿勢推定までを実行（４）推論結果の表示 (詳細はp.25)
カメラで撮影された映像に写る人物の骨格と姿勢「正常（Normal）」「うずくまり（huddle）」「転倒（turn over）」推定結果をデスクトップにリアルタイムで表示※今回「main.py」ファイルと「main_webcam.py」の２つを用意しています。
main.pyは指定した画像ディレクトリ内の画像に対する姿勢推定、main_webcam.pyはリアルタイム画像から姿勢推定を行うものです。御説明する内容は「main_webcam.py」ファイルになります。

21

７ 姿勢推定の実行（１）Jetsonの起動①imgファイルを書き込んだmicroSDカードをJetsonに差し込む②電源を入れる①②③電源を入れるとJetsonが起動し、パスワードを入力するとデスクトップが表示される
Jetson起動

パスワード入力

ユーザー名：JetsonAI
パスワード：password01

デスクトップ画面表示

22

７ 姿勢推定の実行（２）コマンド入力①デスクトップのターミナルを開く（デスクトップ画面で「LXTerminal」をダブルクリックし、ターミナルを起動）
デスクトップ画面ーーーーー↓ターミナル上で入力ーーーーーーーーー②mainファイル（実行ファイル）が置いてあるディレクトリに移動
コマンド： cd /home/rdl2/Desktop/openpose_src_Fin③GPU(CUDA)指定
コマンド：export CUDA_VISIBLE_DEVICES="1"④mainファイルの実行 ※）Jetsonの負荷状況によりますが、画面が起動されるまで30-60秒程かかります
コマンド： python3 main_webcam.py

23

７ 姿勢推定の実行（３）姿勢推定の実行「main_webcam.py」ファイルを実行すると、以下のフローで姿勢推定が実行されます。

モデルや検出ラベルの読み込み

骨格検出

OpenCV によりカメラ起動「正常」,「うずくまり」,「転倒」の推定

データの前処理

推論結果をデスクトップ表示24

７ 姿勢推定の実行（４）推論結果の表示
映像に写る人物の骨格と、姿勢の正常（Normal）/うずくまり（huddle）/転倒（turn over）の推定結果をデスクトップにリアルタイムで表示します。
うずくまり（Huddle）

正常（Normal）

転倒（Turn over）!

注意点 処理が重いこともあり、タイムラグが大きい（5秒以上出る）ケースもあります。
 しかし、1-2秒のタイムラグで推定出来るケースがほとんどです。
 Jetsonの負荷軽減のために、冷却ファンの使用を推奨します。
25

７ 姿勢推定の実行
参考：今回使用したアルゴリズムOpenPoseについて
今回のAIプログラムには、既にAI学習が終わっているオープンソース（OSS）の姿勢推定モデルであるOpenPoseを使用しています。
OpenPoseアルゴリズムとは：
 動画像から、顔、首、肩、肘、手首、腰、膝、足首等の18カ所の関節点を検出、それらのつながりを推定することで、姿勢を点と線で可視化できます。
 動画像内に複数の人がいても、ほぼリアルタイムで検出できることが特徴です。

 スポーツにおけるフォーム分析や熟練者の動作の可視化検知による技能継承、高齢者の転倒検知による見守り等に活用されています。

出所：https://www.youtube.com/watch?v=pW6nZXeWlGM

OpenPoseソースコード：
今回使用したOpenPoseアルゴリズムのような学習済みモデルは一般的に広く公開されており、ソースコードも公開されています。
https://github.com/CMU-Perceptual-Computing-Lab/openpose
26

８ 参考：ソースコードを利用する場合の実行方法
ソースコードを利用する場合は、パソコンでの実行を推奨いたします。
※提供するAIプログラムはJetsonでの利用を前提にしています。
ソースコードはパソコンで利用出来ますが、実行するためのpython／実行環境は各自で構築する必要があります。

＜実行方法＞①microSDにIMGファイルを書き込み後、Jetsonを起動※IMGファイル書き込み方法は本ガイド6章を、Jetson起動方法は7章（１）を参考にしてください。

②起動したJetsonから、デスクトップ上のソースコードを含むファイル「 openpose_src_Fin」をPCにコピー③python環境を構築④今回ソースコードを使用するために必要なライブラリをインストール※必要なライブラリは「 openpose_src_Fin」ファイル内の環境ファイル「 OpenPose_requirements.txt 」にまとめております。
※各ライブラリのversion／種類は各自の環境によって異なります。その際は、各自で修正&対応を行ってください。
また、「 OpenPose_requirements.txt 」はJetson用のライブラリになっておりますのでご注意ください。
特に、tensorflowのversionはPCで使用できるversion（tensorflow 1.15.5）をインストールしてください。
Python／実行環境
使用言語

Python 3.6.9

フレームワーク

tensorflow1.15.5+nv21.5

主要OSS(algorithm)

open pose(姿勢推定アルゴリズム)

ライブラリ群「 openpose_src_Fin」ファイル内の環境ファイル「OpenPose_requirements.txt」を参考にしてください⑤ファイル「openpose_src_Fin」内の「main.py」をpythonで実行してください
実行コマンド：python3 main.py
27

28
この資料は、2021年8月25日に埼玉県産業労働部次世代産業拠点整備担当が作成したものです