ボードコンピュータ（NVIDIA Jetson）上で動く
学習可能なAIプログラム（画像認識）
利用ガイド

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

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

3. 利用に必要な機器・・・・・・・・・・・・・・・・・・・・p.05
4. 推奨する利用環境・・・・・・・・・・・・・・・・・・・・p.06
5. 利用にあたっての注意事項・・・・・・・・・・・・・・・・・p.08
6. AIプログラムのダウンロードと実行準備・・・・・・・・・・p.09

7. AIプログラムの機能とファイル構成・・・・・・・・・・・・・p.21
8. Jetsonの起動方法・・・・・・・・・・・・・・・・・・・・・p.24
9. 画像認識における３機能のパラメータファイル・・・・・・・・p.25
10.画像データ収集・・・・・・・・・・・・・・・・・・・・・p.26
11.画像認識（学習）・・・・・・・・・・・・・・・・・・・・p.31
12.画像認識（推論）・・・・・・・・・・・・・・・・・・・・p.38
13.参考：ソースコードを利用する場合の実行方法・・・・・・ p.43
2

１ このAIプログラムでできること
 認識させたい画像で学習させることで、任意の画像を認識することができます。
 例えば、自社の製品等の画像を学習させることで、製品の良品/不良品の判別や設備不良検知などに活用できます。
 WEBカメラと連動して、画像データの収集、学習、推論という画像認識の一連の流れをJetson上で行えます。

利用シーン例!

注意点

 画像認識を行うためには、認識させたい画像データを収集し、AIに学習させる必要があります。
3

２ 対象者

 ソースコードを変更しなくても学習回数や学習率などのパラメータを変更できるようにしているため、プログラミングの知識がない方でも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.43参照）。
 実行するためには、python実行環境を構築する必要があります。
パソコンの推奨スペックは以下の通りです（これ以上のスペックでも利用可能です）。
OS

Windows , Mac , LinuxGPU

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

CPU

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

Memory実装RAM 8.00 GB
6

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

（２）学習データ
 学習データの条件は以下の通りです。
データ

画像データのみを対象とします。

ファイル形式

ファイル形式は、JPG、PNGを推奨します。

サイズ

学習の際、指定したサイズに自動リサイズするためサイズ規定はありません。
※画像サイズが大きくなると負荷が高くなり、処理速度が遅くなるためご注意ください。

7

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

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

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

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

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

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

① パソコンで、AI・IoTプラットフォームの掲載ページから、AIプログラムのファイル（画像認識AIプログラム）をダウンロードします。ファイルサイズが約9GBと大きいため、回線状況によりますが、1時間程度かかります。
拡大② ダウンロードした圧縮ファイルを解凍します。解凍すると、約62GBとなるため、パソコンのディスクの空き容量を確保してください。
10

６ AIプログラムのダウンロードと実行準備（１）AIプログラムのダウンロードと解凍③ 解凍用ソフトExplzh for Windowsを以下のページからダウンロードします。
https://www.ponsoftware.com/archiver/download.htm※Windowsのみ対応となります。
※32ビット版と64ビット版がありますので、御使用のパソコンにあった方を選んでください。

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

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

12

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

13

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

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

14

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

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

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

６ AIプログラムのダウンロードと実行準備（４）microSDカードのフォーマット
 microSDカードにAIプログラムのイメージファイルを書き込める状態にします。
① microSDカードをパソコンに差し込みます。
② （２）①でインストールして作成されたSD Card Formatterのショートカットをダブルクリックして起動します。
③ microSDカードのドライブ名を確認して、「カードの選択」で同じドライブを選び、「フォーマット」を押します。いくつか確認のポップアップが出ますので、全て「はい」を選択してください。

17

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

18

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

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

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

USB C
For Power

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

マウス

WEBカメラキーボード

20

７ AIプログラムの機能とファイル構成
ファイルに実装されているAIモデルとその機能
モデル

画像認識

機能

機能詳細

画像データ収集• カメラと連動したウィンドウ上で、指定されたキーボードのキーを押すことによりキャプチャ画像を保存学習• 上記で収集した画像データによる画像認識AI
モデルの学習を行う• 上記の学習により作成したモデル（.hd5f）を保存する

推論• 上記で構築したAIモデルによる画像認識を実行する• WEBカメラと連動した認識が可能※フォルダ内の以下の２つの画像認識モデルは、学習を実施しなくても使用できます。
 じゃんけんの分類モデル
 ねじの故障判定モデル
21

７ AIプログラムの機能とファイル構成
ファイル構成 概要
Desktop上に「Kensyu_AI_IC」ファイルを格納しています。
Kensyu_AI_ICファイル

Desktop

ファイル

ファイル内容00_README

画像認識プログラムの各機能の実行方法を記載したメモファイル

Data

データ収集／画像認識モデル学習を実行するデータフォルダ

Function

データ収集／画像認識モデル学習／画像分類（推論）を実行するプログラムが格納されているファイル

Image_Classificataion_Par
am_File.ini

各機能のパラメータ設定ファイル。こちらのメモファイル内容を変更することでパラメータ調整可能

IC_requirement.txt

画像認識を実行する際に必要なpythonライブラリを記載したメモファイル
22

７ AIプログラムの機能とファイル構成
Kensyu_AI_ICファイルのディレクトリ詳細
Desktop上に格納してある「Kensyu_AI_IC」ファイルのディレクトリ構成は以下になります。
Desk Top
Kensyu_AI_IC
00_README
Image_Classification_Param_File.ini

Function
Data Acquisition

main.py

Model Training

main.py

Model Predict

main.py

３機能のソースコード（PG）

Data

Model
Training Data

学習したモデルと学習プロセスを保存するフォルダ

Train_data_dir
Validation_data_dir

モデル学習時に必要なデータを格納するディレクトリ

23

８ Jetsonの起動方法①imgファイルを書き込んだmicroSDカードをJetsonに差し込む②電源を入れる①②③電源を入れるとJetsonが起動し、パスワードを入力するとデスクトップが表示される
Jetson起動

パスワード入力

デスクトップ画面表示

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

９ 画像認識における３機能のパラメータファイル
画像認識３機能を実行するためのパラメータ（設定）ファイル
ファイル名：Image_Classification_Param_File.ini（textファイル）の中の各パラメータを修正することで、ソースコードを変更することなくパラメータを変更できます

Kensyu_AI_ICファイル

Image_Classification_Param_File.iniファイル#training data directory param[IC_Data]
収集したデータの保存／
Train_data_dir = /home/jetsonai/Desktop/Kensyu_AI_IC/Data/TrainingData/sample/Train_data_dir
学習データの場所（ディValidation_data_dir = /home/jetsonai/Desktop/Kensyu_AI_IC/Data/TrainingData/sample/Validation_data_dir
Test_data_dir =/home/jetsonai/Desktop/Kensyu_AI_IC/Data/TrainingData/sample/Test_data_dir
レクトリ)を表す#Image Classification model directory and name
[IC_Model]
学習したモデルを保存するディレクトリ
Model_dir = /home/jetsonai/Desktop/Kensyu_AI_IC/Data/Model
学習したモデルの名前を表すパラメータ※)モデル名は必ず.hdf5形式
Model_name = model.hdf5
Predict_Model_dir = /home/jetsonai/Desktop/Kensyu_AI_IC/Data/Model/sample_model/neji_model
Predict_Model_name = neji_model.hdf5
推論で使用する画像認識モデルの保存場所（ディレクトリ）と#Training Param
使用するモデルの名前を表すパラメータ[IC_Param]#image size
データ収集／モデル学習の際に行う「前処理：画像サイズ変更」の際の幅と高さを表すパラメータ
Img_w = 224※）整数値で100-1000までの値推奨
Img_h = 224#Number of epoch
学習回数を表すパラメータ ※）学習回数を増やすと学習時間が長くなる／整数値入力
Epoch = 2
#Learning rate
学習率を表すパラメータ ※）通常 1e-8/ 1e-7/1e-6/ 1e-5/ 1e-3/ 1e-2（指数オーダー）を使用
Lr = 1e-6!

注意点 青字がユーザーで変更できる箇所です。青字以外の部分を変更すると、エラーが発生し、各機能が実行できなくなりますので、変更しないでください。

25

10 画像データ収集
画像データ収集 実行方法サマリー（１）パラメータファイル準備 (詳細はp.27)
データ収集機能により実行する「画像の前処理」と「画像の保存場所」を設定するパラメータを調整する（２）コマンド入力 (詳細はp.28)①デスクトップのターミナルを開く②mainファイル（実行ファイル）が置いてあるディレクトリに移動
コマンド：cd /home/jetsonai/Desktop/Kensyu_AI_IC/Function/DataAcquision③mainファイルの実行
コマンド：python3 main.py④ラベル名の入力（撮影した画像をどのディレクトリに保存するか指定）※ Jetsonの負荷状況によりますが、実行されるまで30-60秒程度かかります。
※ ラベル名は半角ローマ字入力のみになります。 例：choki※ 上記実行方法につきましては、「00_README」ファイル内に記載しています。

（３）画像データ収集の実行 (詳細はp.29)「main.py」ファイルを実行し、カメラ起動～撮影／保存までを実行（４）画像データ収集結果(詳細はp.30)
カメラから入手した映像から写真を撮影し、指定したディレクトリに保存する
26

10 画像データ収集（１）パラメータファイル準備①デスクトップ上の「Kensyu_AI_IC」フォルダの中から、「Image_Classification_Param_File.ini」ファイルを選択して開きます。
②「Image_Classification_Param_File.ini」ファイル内の、データ収集機能により実行する「画像の前処理」と「画像の保存場所」を設定するパラメータを確認／変更します。
Image_Classification_Param_File.iniファイル#training data directory param[IC_Data]
Train_data_dir = /home/jetsonai/Desktop/Kensyu_AI_IC/Data/TrainingData/sample/Train_data_dir
Validation_data_dir = /home/jetsonai/Desktop/Kensyu_AI_IC/Data/TrainingData/sample/Validation_data_dir
Test_data_dir =/home/jetsonai/Desktop/Kensyu_AI_IC/Data/TrainingData/sample/Test_data_dir#Image Classification model directory and name
撮影した画像の[IC_Model]
保存場所（ディレクトリ）を入力
Model_dir = /home/jetsonai/Desktop/Kensyu_AI_IC/Data/Model
Model_name = model.hdf5
Predict_Model_dir = /home/jetsonai/Desktop/Kensyu_AI_IC/Data/Model/sample_model/neji_model
Predict_Model_name = neji_model.hdf5#Training Param[IC_Param]
画像を保存する際に行う前処理（画像サイズ#image sizeの調整）の画像幅／広さを入力
Img_w = 224
Img_h = 224※整数値入力,大きすぎるとモデル学習の際に時間がかかる#Number of epoch
Epoch = 2
#Learning rate
Lr = 1e-627

10 画像データ収集（２）コマンド入力①デスクトップのターミナルを開く（デスクトップ画面で「LXTerminal」をダブルクリックし、ターミナルを起動）
デスクトップ画面ーーーーー↓ターミナル上で入力ーーーーーーーーー②mainファイル（実行ファイル）が置いてあるディレクトリに移動
コマンド： cd /home/jetsonai/Desktop/Kensyu_AI_IC/Function/DataAcquision③mainファイルの実行
コマンド：python3 main.py③ラベル名の入力（撮影した画像をどのディレクトリに保存するか指定）※ Jetsonの負荷状況によりますが、実行されるまで30-60秒程かかります※ ラベル名は半角ローマ字入力のみになります 例：choki⇒入力したラベルのフォルダがない場合は新しくフォルダを作成し、該当フォルダに保存入力したラベルがある場合は、該当の既存フォルダに保存

28

10 画像データ収集（３）画像データ収集の実行「main.py」ファイルを実行すると、以下のフローで画像データ収集が実行されます。
ターミナル上で入力したラベル入力されたラベルと同じ名前のフォルダ検索
入力したラベル名と同じ名前のフォルダ有無
なし

あり

ボタン
アクションでカメラ撮影“s”ボタンで撮影“Esc”ボタンで撮影終了

学習可能な状態に前処理入力されたラベルと同じ名前のフォルダ作成
リサイズ（前処理）された状態でデスクトップ上に表示

OpenCV によりカメラ起動

撮影した画像をsave“y”ボタンで保存“n”ボタンで保存しない 29

10 画像データ収集（４）画像データ収集結果
カメラから入手した映像から写真を撮影し、指定したディレクトリに保存します。
カメラ映像のデスクトップ表示“Esc”ボタンで撮影終了

データ収集終了“s”ボタンで撮影“y”ボタンで保存“n”ボタンで保存しない

撮影画像を保存しない! 注意点 タブを多く開いた状態や他のアプリケーション実行時では処理速度が遅くなるため、複数の処理（WEB検索、長時間の使用等）を避けることを推奨します。
 Jetsonの負荷を軽減するために、冷却ファンの使用を推奨します。

30

11 画像認識（学習）画像認識（学習）実行方法サマリー（１）学習データ準備 (詳細はp.32)
画像認識モデルで学習するデータの準備を行う（２）パラメータファイル準備 (詳細はp.33)
画像認識モデルで学習するための、学習回数等のパラメータを確認／変更（３）コマンド入力 (詳細はp.34)①デスクトップのターミナルを開く②mainファイル（実行ファイル）が置いてあるディレクトリに移動
コマンド： cd /home/jetsonai/Desktop/Kensyu_AI_IC/Function/DataAcquision③学習リソース確保
コマンド：export LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1④GPU(CUDA)指定
コマンド：export CUDA_VISIBLE_DEVICES="1"⑤mainファイルの実行 ※）学習条件によって学習時間は異なるが、学習開始までは30-60秒程で起動
コマンド：python3 main.py（４）画像認識（学習）の実行 (詳細はp.35)「main.py」ファイルを実行し、モデル学習～モデル保存までを実行（５）画像認識（学習）結果 (詳細はp.36)
収集した画像を使用して、画像認識モデルを学習し、モデルを保存

31

11 画像認識（学習）（１）学習データ準備
AIモデルを作成する際には、通常「training data」と「validation data」を準備する必要があります。
ここでは、最初に画像認識モデルで学習するため、この２つのデータセット準備を行います。
train data（訓練データ）

AIモデルのパラメータを更新するための学習用データ。

validation data（検証データ）

AI学習が上手く出来ているかを確認するための検証用データ。
このデータは検証のために使用するので、学習は行わない。
参考URL)https://algorithm.joho.info/programming/python/keras-train-validation-test-dataset/

AI学習で使用するデータから、「AI学習に使用したいデータ（training data）」と「学習時のモデル評価に使用したいデータ（validation data）」にディレクトリを分けてください。
認識したいラベルディレクトリ

用意した画像データ

training data

validation data!

注意点 通常、training dataとvalidation dataの割合は、training dataのデータ量を多く学習に使用します(7:3 or 8:2の割合が良く使われる)。各ラベルフォルダが0枚にならないようデータを準備してください。
 学習の際、training dataとvalidation dataのラベルが一致しているか確認してください。
 training dataとvalidation dataでどちらにも同じ画像データを使用しないでください（両方のフォル32
ダに同じ画像データが存在しないようにしてください）。

11 画像認識（学習）（２）パラメータファイル準備①デスクトップ上の「Kensyu_AI_IC」フォルダの中から、「Image_Classification_Param_File.ini」ファイルを選択して開きます。
②「Image_Classification_Param_File.ini」ファイル内の、画像認識モデル学習で設定するパラメー
タを確認／変更します。
Image_Classification_Param_File.iniファイル

学習に使用するtraining dataとvalidation dataのディレクトリを指定#training data directory param[IC_Data]
Train_data_dir = /home/jetsonai/Desktop/Kensyu_AI_IC/Data/TrainingData/sample/Train_data_dir
Validation_data_dir = /home/jetsonai/Desktop/Kensyu_AI_IC/Data/TrainingData/sample/Validation_data_dir
Test_data_dir =/home/jetsonai/Desktop/Kensyu_AI_IC/Data/TrainingData/sample/Test_data_dir#Image Classification model directory and name
学習したモデル／学習プロセスを保[IC_Model]
存する場所、モデル名を設定する
Model_dir = /home/jetsonai/Desktop/Kensyu_AI_IC/Data/Model※ モデル名は必ず.hdf5形式
Model_name = model.hdf5
Predict_Model_dir = /home/jetsonai/Desktop/Kensyu_AI_IC/Data/Model/sample_model/neji_model
Predict_Model_name = neji_model.hdf5#Training Param
モデルを学習する際に行う前処理（画像サイズの調整）の画像幅／広さを入力[IC_Param]※ 整数値入力,大きすぎるとモデル学習の際に時間がかかる#image size
Img_w = 224
学習回数を設定する
Img_h = 224※ 学習回数を増やすと学習時間が長くなる／整数値入力#Number of epoch
Epoch = 2
学習率（重みを更新する幅）を設定する#Learning rate
※ 通常 1e-8/ 1e-7/1e-6/ 1e-5/ 1e-3/ 1e-2等の指数オーダーの値を使用
33
Lr = 1e-6

11 画像認識（学習）（３）コマンド入力①デスクトップのターミナルを開く（デスクトップ画面で「LXTerminal」をダブルクリックし、ターミナルを起動）
デスクトップ画面ーーーーー↓ターミナル上で入力ーーーーーーーーー②mainファイル（実行ファイル）が置いてあるディレクトリに移動
コマンド： cd /home/jetsonai/Desktop/Kensyu_AI_IC/Function/DataAcquision③学習リソース確保
コマンド：export LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1④GPU(CUDA)指定
コマンド：export CUDA_VISIBLE_DEVICES="1"⑤mainファイルの実行 ※）学習条件によって学習時間は異なるが、学習開始までは30-60秒程で起動
コマンド：python3 main.py

34

11 画像認識（学習）（４）画像認識（学習）の実行「main.py」ファイルを実行すると、以下のフローで学習が実行されます。
画像ディレクトリや学習条件等のパラメータファイル読み込み

学習時に最も精度が高かったモデルを保存 学習が途中で止まっても、それまでで最も精度が高いモデルを保存

トレーニング画像の前処理

トレーニングプロセス（loss,accuracy)
を保存

トレーニング画像の学習(モデルの重み更新)

トレーニングプロセス（loss,accuracy)
をデスクトップ表示

今回使用するアルゴリズムは「ResNet50」

35

11 画像認識（学習）（５）画像認識（学習）結果
学習時

学習終了後

epoch（エポック）毎のlossとaccuracy(正解率)のグラフを保存／デスクトップ表示
学習中では、ターミナル上にエポック数毎のトレーニングプロセス（lossとaccuracy）を表示
参考）学習時間について
学習条件：画像サイズ224×224 ,Train data:150枚 Validation data:

学習率：1e-6

設定したモデル保存ディレクトリに以下を保存• 学習した画像認識モデル(.hdf5)• 画像認識で分類するラベルファイル(.pkl)• epoch毎のlossとaccuracy(正解率)のグラフ図! 注意点
 学習時間は、学習データ数／質（画素値等）、エポック数等によって異なります Jetsonの負荷状況によっても学習時間は異なります

タブを多く開いた状態や他のアプリケーション実行時では処理速度が遅くなるため、複数の処理（WEB検索、長時間の使用等）を避けることを推奨します。
Jetsonの負荷を軽減するために、冷却ファンの使用を推奨します。

36

11 画像認識（学習）（参考）学習パラメータ毎の学習時間について
学習パラメータ「学習データ枚数」,「学習率」,「画像サイズ」の設定によって学習時間は異なるため、下記を参考に学習パラメータとエポック数（学習回数）を設定して学習時間をコントロールしてください。
学習データ枚数

学習率

画像サイズ

1エポックあたりの学習時間

Train data: 150枚
Validation data: 45枚

1e-6

224×224

5分／1エポック

Train data: 60枚
Validation data: 15枚

1e-6

224×224

2分／1エポック

Train data: 60枚
Validation data: 15枚

1e-3

224×224

1.5分／1エポック

Train data: 60枚
Validation data: 15枚

1e-3

100×100

0.75分／1エポック※あくまで目安の時間になります。
Jetsonの負荷状況によっても学習時間は異なりますのでご注意ください• タブを多く開いた状態や他のアプリケーション実行時では処理速度が遅くなるため、複数の処理（WEB検索、長時間の使用等）を避けることを推奨します。
• Jetsonの負荷を軽減するために、冷却ファンの使用を推奨します。

37

12 画像認識（推論）
画像認識（推論）実行方法サマリー（１）パラメータファイル準備 (詳細はp.39)
画像認識モデルで推論するための、使用するモデルの保存場所等のパラメータを確認／変更（２）コマンド入力 (詳細はp.40)①デスクトップのターミナルを開く②mainファイル（実行ファイル）が置いてあるディレクトリに移動
コマンド： cd /home/jetsonai/Desktop/Kensyu_AI_IC/Function/ModelPredict③学習リソース確保
コマンド：export LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1④GPU(CUDA)指定
コマンド：export CUDA_VISIBLE_DEVICES="1"⑤mainファイルの実行 ※）推論起動までは30-60秒程で起動
コマンド：python3 main.py（３）画像認識（推論）の実行 (詳細はp.41)「main.py」ファイルを実行し、カメラ起動～推論結果表示までを実行（４）画像認識（推論）結果 (詳細はp.42)
構築したAIモデルによる画像認識を実行する。WEBカメラと連動した認識が可能。
38

12 画像認識（推論）（１）パラメータファイル準備①デスクトップ上の「Kensyu_AI_IC」フォルダの中から、「Image_Classification_Param_File.ini」ファイルを選択して開きます。
②「Image_Classification_Param_File.ini」ファイル内の、画像認識（推論）で設定するパラメータを確認／変更します。
Image_Classification_Param_File.iniファイル#training data directory param
推論で使用するモデル／分類ラベルが保存され[IC_Data]ているディレクトリ、モデル名を設定
Train_data_dir = /home/jetsonai/Desktop/Kensyu_AI_IC/Data/TrainingData/sample/Train_data_dir
Validation_data_dir = /home/jetsonai/Desktop/Kensyu_AI_IC/Data/TrainingData/sample/Validation_data_dir※）検証で作成した下記２画像認識モデル
Test_data_dir =/home/jetsonai/Desktop/Kensyu_AI_IC/Data/TrainingData/sample/Test_data_dir
 じゃんけんの分類モデル#Image Classification model directory and name ねじの故障判定モデル[IC_Model]を格納しておりますので、学習を実施しなくても上記２モデル
Model_dir = /home/jetsonai/Desktop/Kensyu_AI_IC/Data/Modelは使用できます。
Model_name = model.hdf5
Predict_Model_dir = /home/jetsonai/Desktop/Kensyu_AI_IC/Data/Model/sample_model/neji_model
Predict_Model_name = neji_model.hdf5#Training Param[IC_Param]#image size
Img_w = 224
Img_h = 224
推論する際に行う前処理（画像サイズの調整）の画像幅／広さを入力#Number of epoch※学習時に設定したサイズと同じにする
Epoch = 2
※整数値入力,大きすぎるとモデル学習の際に時間がかかる#Learning rate39
Lr = 1e-6

12 画像認識（推論）（２）コマンド入力①デスクトップのターミナルを開く（デスクトップ画面で「LXTerminal」をダブルクリックし、ターミナルを起動）
デスクトップ画面ーーーーー↓ターミナル上で入力ーーーーーーーーー②mainファイル（実行ファイル）が置いてあるディレクトリに移動
コマンド： cd /home/jetsonai/Desktop/Kensyu_AI_IC/Function/ModelPredict③学習リソース確保
コマンド：export LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1④GPU(CUDA)指定
コマンド：export CUDA_VISIBLE_DEVICES="1"⑤mainファイルの実行 ※）推論までは30-60秒程度で起動
コマンド：python3 main.py

40

12 画像認識（推論）（３）画像認識（推論）の実行「main.py」ファイルを実行すると、以下のフローで推論が実行されます。
予測に使用する画像モデル等ののパラメータファイル読み込み

画像認識モデルにより画像分類（推論）OpenCV によりカメラ起動

カメラに写った元画像に推論結果（分類ラベルと予測確率）を上書きカメラに写った画像の前処理

リアルタイムに推論結果を上書きした画像をデスクトップ表示“ESC key”を押すと推論終了
41

12 画像認識（推論）（４）画像認識（推論）結果
カメラでに写っている映像から画像分類（推論）を行い、左上に「分類ラベル」,「予測確率（最大値1最小値0）」を記載した画像をデスクトップにリアルタイムで表示します。

! 注意点
 約1秒程のタイムラグが生じる場合もありますが、ほとんどリアルタイムに近い形で予測可能。
 タブを多く開いた状態や他のアプリケーション実行時では処理速度が遅くなるため、複数の処理（WEB検索、長時間の使用等）を避けることを推奨します。
 Jetsonの負荷を軽減するために、冷却ファンの使用を推奨します。

42

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

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

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

Python／実行環境
使用言語

Python 3.6.9

フレームワーク

tensorflow2.4.0+nv21.5 , Keras 2.4.0

主要OSS(algorithm)

ResNet50 (画像認識アルゴリズム)

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

43

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