カテゴリー
BCP お知らせ 医工連携

[寄付]フェイスシールドホルダーを病院へ2回目の寄贈 | NES株式会社

フェイスシールドホルダーを病院へ2回目の寄贈

 COVID-19対応として弊社が設計・造形しておりますフェイスシールドホルダーについて、これまで100個以上の寄付をして参りました。

 このたび、ベルピアノ病院様よりご要望を頂きましたので、造形の終わった分の第2弾を出荷いたしました。
 今後もストップがかかるまで送り続ける予定です。

 私たちにできること、私たちがすべきことを考え、これからも医療従事者の皆様のお手伝いをして参ります。

フェイスシールドホルダーについて

カテゴリー
AI・IoT・Computer BLOG

クラウドを使うAIを学習する | NES株式会社

Azure Cloud Shell

Microsoft Azure

 今回はマイクロソフトのAzureを使ったクラウドでのAIについて学習することにしました。

Microsoft Azure




Azure GPU VM

 簡単な構文で実行できるらしいので、やってみました。

$ wget https://nvwestus2.blob.core.windows.net/pub/new-ngcvm.sh
$ chmod +x new-ngcvm.sh
$ ./new-ngcvm.sh

 上記を実行すると『このコマンドは廃止され、バージョン '3.0.0'で削除されます。代わりに「az vm image terms accept」を使用してください。』といったメッセージが出されます。
This command has been deprecated and will be removed in version '3.0.0'.Use 'az vm image terms accept' instead.

 赤文字で色々と失敗した内容が表示されるので、おそらくこれは失敗なのだと思います。

 ただし、エラーメッセージの下方に下記のメッセージも出るので、部分的には上手く行っているかもしれません。

FQDN: nv79b353f2.westus2.cloudapp.azure.com
USERNAME: nvidia
PASSWORD: jetsontx2!!!
DIGITS URL: http://nv79b353f2.westus2.cloudapp.azure.com:5000

NVIDIA: DLLAB Japan Tour 2019 AIとIoTが出会う日:IoT編@名古屋

Microsoft Azure: Azure CLI を使用して Azure Marketplace の Linux VM イメージを見つける

Microsoft Azure: az vmイメージの用語

カテゴリー
AI・IoT・Computer BLOG

Jetsonで画像推論 | NES株式会社

見ヨウ見マネ

 今回は日本語・英語のサイトを探して記事を拝見し、見よう見まねで『この画像は○○だろう』という推論のプログラムを使ってみました。



サンプルで画像表示

 ユーザーガイドを参照すると、8ページに"Sample Applications"という項がありJetpakに含まれるサンプルアプリが紹介されています。

 これらは画面左上のファイルアイコン(ファイルマネジャ)を開き、左側にあるメニューの"Othe Location"をクリックすると出てくる"Computer"というドライブアイコンをクリックすると表示できます。
 例えば"CUDA"であれば、先ほど開いた "Computer" ドライブの中の "usr"⇒ "local" と進むと下表の名を冠したフォルダが現れます。

JetPack componentSample locations on reference filesystem
TensorRT/usr/src/tensorrt/samples/
cuDNN/usr/src/cudnn_samples_/
CUDA/usr/local/cuda-/samples/
Multimedia API/usr/src/tegra_multimedia_api/
VisionWorks/usr/share/visionworks/sources/samples/

/usr/share/visionworks-tracking/sources/samples/

/usr/share/visionworks-sfm/sources/samples/
OpenCV/usr/share/OpenCV/samples/
VPI/opt/nvidia/vpi/vpi-0.0/samples

 その"CUDA"でサンプル画像を表示するソースを実行してみます。
 ファイルマネジャーから "Computer" ⇒ "usr" ⇒ "local"⇒ "cuda10.2" ⇒ "samples" ⇒ "5_simulations"⇒ "oceanFFT"と進みます。この状態でフォルダ内で右クリックし "Open in Terminal"を選択してterminalを開きます。
 開いたterminalでは下図のような表記になっていると思います。

/usr/local/cuda-10.2/samples/5_simulations/oceanFFT $

 ここで "sudo make"を実行します。コンピューターのパスワード入力が求められると思います。そのまま進みます。
 makeコマンドとは、アプリをコンパイルする、実行するといったものです。

$ sudo make

 次に入力を求められたら "ls"(エルエス)と入力します。lsコマンドは一覧表示する指示です。

$ ls

 おそらく "oceanFFT"という文字が緑色で表示されていると思います。これを実行してみます。

$ ./oceanFFT

 何か青っぽい画像が表示されると思います。これでサンプルは終了です。

 画像を試しに扱うことができたと思います。ネット上の先人たちのサンプルコードではVisionWorksやOpenCVもよく使われているので、参考にされると良いと思います。

NVIDIA: JETSON NANO DEVELOPER KIT User Guide

デジタルライト: 第2回ゼロから始めるJetson nano : とりあえずデモを動かす方法




画像推論の環境整備

環境の準備

 まず、Jetsonの最初の準備で"JetPack"はインストールしたので次へ。

 GitHubというサイトから、"Hello AI World"のソース一式を取得する必要があるという事で、以下のコードを実行。
 "sudo"なのでパスワードを求められました。

$ sudo apt-get install git cmake

 続けて、今のフォルダ内(カレントディレクトリ)の下の"jetson-inference"にソースを展開します。

$ git clone https://github.com/dusty-nv/jetson-inference
$ cd jetson-inference
$ git submodule update --init

 このとき、"jetson-inference"のフォルダが既に作られていると、一行目の"git clone"が実行できません(でした)。
 エラーが出ているときは、画面左上のアイコンからファイルアイコンを選び、そこから"jetson-inference"を右クリックしてゴミ箱へ送ります(送りましたら上手くいきました)。

 次はPython3(パイソン3)をインストールします。

$ sudo apt-get install libpython3-dev python3-numpy
$ mkdir build
$ cd build
$ cmake ../

 ここでインストールするネットワークの種類を選択する画面が出れば正常に進んでいます。

  1. Image Recognition - all models
  2. Alexnet
  3. GoogleNet
  4. GoogleNet - 12
  5. ResNet - 18
  6. ResNet - 50
  7. ResNet - 101
  8. ResNet - 152
  9. VGG - 16
  10. VGG - 19  デフォルトで3番のGoogleNetと5番のResNet-18が選択されています。そのままでも問題ないですし、全部選択しても問題無いです。  この選択をすると、次にPyTorchのインストールの確認画面が現れます。複数のバージョンが表示された場合、PyThonのバージョンに合わせて選択し、チェックが入った事を確認して次に進みます。
$ make
$ sudo make install

 ここでインストールするネットワークの種類を選択する画面が出れば正常に進んでいます。




Jetsonで画像推論【静止画】

imagenet-consoleで画像を推定

 画面左上のファイルアイコンを開き、"Home"にある"jetson-inference"を開きます。続けて、"build"⇒"aarch64"⇒"bin"と順番にフォルダを開いていきます。
 最後にフォルダの適当な位置で右クリックをして、ターミナル(端末)で開くを選択します。
 開いたTerminalで下記を実行します。

$ ./imagenet-console --network=googlenet ./images/banana_0.jpg output_0.jpg

 長いときもあれば、短いときもありますが、推定した結果が画像データ(output_0.jpg)としてフォルダに保存されます。
 提供した画像データの左上に何パーセントの確率で何だと推定したかが出てきます。

 バナナの画像を使うと90%以上の確率でbananaだと返してきました。
 ミカンを使った場合、1回目だけ低い確率でトーテムポールと返してきました。その後はorangeと返してきました。

 手元にあった救急車の画像を使ったときは、40数%の確率で救急車と返してきました。

$ ./imagenet-console --network=resnet18 ./images/banana_0.jpg output_1.jpg
$ ./imagenet-console --network=resnet50 ./images/banana_0.jpg output_2.jpg

 上記のように"network"の接続先を変更することで、返される推論も変わります。

 バナナの画像を送った結果ですが、googlenetが99.90%、resnet-18が99.32%、resnet-50が99.95%の確率でバナナだと回答しました。

 実験的にいくつかの画像を比較してみました。
 左側の写真がサンプルとして提供した画像、右側の最上段は画像の名称や意図、2段目がGoogleNetでの結果、3段目がResNet-18での結果、最下段がResNet-50での結果です。


花瓶に入った花(カサブランカ)
42.53% handkerchief, hankie, hanky, hankey
23.52% handkerchief, hankie, hanky, hankey
34.20% pot, flower pot

 まずは一般的な物として花瓶に入った花を検出・推論しました。
 柄が派手なためかハンカチと認識されてしまいました。ResNet-50だけは花瓶と推論しました。


ネコ(マンチカン)、アップ
24.73% tabby, tabby cat
10.74% Boston bull, Boston terrier
41.33% tabby, tabby cat

ネコ(スコティッシュフォールド)、引き
39.43% Persian cat
50.39% Pekinese, Pekingese, Peke
83.20% Persian cat

2匹のネコ、ソファなど雑然とした背景
22.12% Siberian husky
12.52% black-footed ferret, Mustela nigripes
79.54% Old English sheepdog, bobtail

 猫の画像を3種類与えてみました。

 1枚目は"tabby cat"は虎猫やブチネコなどと訳せると思いますので、だいたい当たっていると思います。ボストンテリアは犬なので、これは大ハズレです。

 2枚目は"cat"や"Scottish Fold"が正解です。ペルシャ猫は遠からずですが、ペキニーズはだいぶ雰囲気が違います。

 3枚目は犬やイタチと推論が出ていました。ResNet-50が示したオールド・イングリッシュ・シープドッグは約80%の確率で示されましたが、だいぶ離れているようにも思えます。



除細動器
23.06% cash machine, cash dispenser, automated teller machine, automaticteller machine, automated teller, automatic teller, ATM
3.96% stretcher
24.46% cash machine, cash dispenser, automated teller machine, automaticteller machine, automated teller, automatic teller, ATM

 除細動器は医療機器なので、教師データが少ないせいかATMなどの現金自動預け払い機と判断されました。ResNet-18ではストレッチャーと推論したので、医療現場という雰囲気が伝わったのかもしれません。



自動車、ミニバン
25.37% tow truck, tow car wreker
26.88% convertible
25.05% minivan

救急車(日本仕様)
68.90% ambulance
58.30% ambulance
76.07% ambulance

船、警察船(兵庫県警)
29.32% fireboat
12.01% dock, dockage, docking facility
34.72% speedboat

 乗り物を3点提供したところ、GoogleNetはレッカー車(tow truck)と推定、ResNet-18はオープンカー(convertible)と推定、ResNet-50ではミニバンと推定されました。

 2枚目はいずれも救急車と推定されましたが、確率にはバラツキがありました。救急車は国ごとに仕様が異なりますので日本式の救急車を推定できたのは良かったと思います。

 船の画像は"fireboat"や"speedboat"はだいたい適当な推定ですが、"dock"はおそらく背景を読み取ったのではないかと思います。



トイレ、便器(洋式)
74.37% toilet seat
73.83% toilet seat
98.14% toilet seat

トイレ、便器(和式)
13.32% crutch
5.75% seat belt, seatbelt
17.86% mousetrap

 次の画像は洋式便器と和式便器を画像認識してみました。

 洋式トイレは正答でしたが、確率にはだいぶ差が出ています。

 和式トイレは正答できませんでした。"crutch"は松葉杖です。恐らく右上の子供用シートのT型の部分を読み取ったのかなと思います。"seatbelt"も同じだと思います。"mousetrap"はネズミ捕りです。なるほどと思いました。




detectnet-consoleで静止画推論

 前述のimagenet-consoleと同じ "~/jetson-inference/build/aarch64/bin/"フォルダにて以下のソースを実行すると画像の推論結果が返されます。

$ ./detectnet-console ./images/dog_5.jpg output_dog5.jpg coco-dog

 構成は "detectnet-console"のあとに入力画像ファイル名(拡張子付き)、出力画像ファイル名(拡張子付き)、利用モデルの順に並んでいます。モデルには以下のような例があります。

coco-airplaneairplanes飛行機
coco-bottlebottlesボトル
coco-chairchairs椅子
coco-dogdogs
pednetpedestrians歩行者
multipedpedstrians, luggege歩行者、荷物
facenetfeces

 実際にプリインストールされていた歩道の犬の映像(静止画)を推論させると下図のような結果が返ります。
 手前の犬は99.8%、自転車は85.5%、奥の人々は80%台で認識されています。

detectnet-consoleでの推論結果



Jetsonで画像推論【リアルタイム動画】

カメラを搭載

 Jetson Nanoにラズパイカメラ、あるいはUSBカメラを搭載します。

 その後、カメラを使ったリアルタイム画像認識・推論を実行します。

 ここでも、前述の静止画と同様の記事を参照します。

 カメラが正しく動いているかどうかを確認するソースはいくつかありますので以下にリストしておきます。

 カメラが取付けられているかどうか、いつ取付けられたのかといったことがわかるソースです。

$ ls -al /dev/video0

 カメラの画像を画面表示させるためのソースです。止め方は、キーボードの"q"を押せばQuit指示になります。

$ nvgstcapture

 次のソースも似たようなものです。
 何が起きているかを可視化できるので、少し勉強が進むと理解が深まります。

$ git clone https://github.com/JetsonHacksNano/CSI-Camera.git
$ cd CSI-Camera/
$ ls
$ gst-launch-1.0 nvarguscamerasrc sensor_id=0 ! \
'video/x-raw(memory:NVMM),width=3280, height=2464, framerate=21/1, format=NV12' ! \
nvvidconv flip-method=0 ! 'video/x-raw,width=960, height=720' ! \
nvvidconv ! nvegltransform ! nveglglessink -e

 カメラ画像を消すには、Terminalにカーソルを合わせた上でキーボードのCtrlキーを押しながら"c"キーを押します。

 次に、"~/CSI-Camera"に留まったままで下記ソースを実行すると目と顔を四角で囲みます。カメラを使ったリアルタイムの画像認識です。

$ python face_detect.py

 顔の特徴点をとらえる上記"face_detect"を動作させた結果が下図になります。
 これを応用することで、COVID-19以降設置が広がったサーモカメラにも活用できそうです。



imagenet-cameraでリアルタイム推論

 画面左上のファイルアイコン(ファイルマネジャー)を開き、"Home"にある"jetson-inference"を開きます。続けて、"build"⇒"aarch64"⇒"bin"と順番にフォルダを開き、そのbinフォルダの適当な位置で右クリックをして、ターミナルで開く(Openin Terminal)を選択します。

 開いたTerminalで下記を実行します。

$ ./imagenet-camera --network=googlenet

 プログラムが走り出し、検出している物が何であるのかの推論を表示します。

imagenet-cameraによる推論


detectnet-cameraでリアルタイム推論

 "detectnet-camera"は、カメラ画像からリアルタイムに推論を行います。

 画像の中から対象物を選び出し、推論します。

 物体をしっかりと検出して四角で囲んでくれるのでわかりやすいです。

$ ./detectnet-camera

 プログラムが走り出し、検出している物が何であるのかの推論を表示します。

 プログラム動作中の画面キャプチャを以下に示します。

detectnet-cameraによる複数の物体のリアルタイム推論

 下記のように入力するとカメラとディスプレイの解像度を定義することができます。

$ ./detectnet-camera --width=480 --height=270


segnet-cameraでリアルタイム画像セグメンテーション

 "segnet-camera"は、カメラ画像からリアルタイムに画像セグメンテーションを行います。

$ ./segnet-camera

 保存されている画像を指定してセグメンテーションすることもできます。

$ ./segnet-console ./images/banana_0.jpg output_banan.jpg



参考・引用

MONOist: Jetson Nanoで組み込みAIを試す (3) 「Jetson Nano」のCUDAコアで“Hello AI World”を動作させてみる

MONOist: Jetson Nanoで組み込みAIを試す(4) 「Jetson Nano」にUSBカメラをつなげてにゃんこを認識させる

Tora & Mamma: Jetson Nano 買ったので darknet で Nightmare と YOLO を動かすまで

Qiita: Jetson Nano関係のTIPSまとめ, @karaage0703

teratail: カメラ画像をJetson nanoで表示させたい

JetsonHacks: Jetson Nano + Raspberry Pi Camera

MONOist: Jetson Nanoで組み込みAIを試す

猫屋敷工房: NVIDIA Jetson Nanoのサンプルアプリを動かしてみよう、Hello AI World、Two Days to aDemo




JetsonでAIを使ってみる(AIを学ぶ)

クラウドを使うAIを学習する

カテゴリー
AI・IoT・Computer BLOG

JetsonでAIを使ってみる(AIを学ぶ) | NES株式会社

基礎コース

 Jetsonの製造元であるNVIDIA社が8時間のコースを無償提供しているということで受講することにしました。

 コースで学ばなくても、世に出回っているコードを利用させてもらう事で、OJT的なトライ&エラーも経験できますので、そちらも並行しました。

NVIDIA: (5) Next Steps, Getting Started With Jetson Nano Developer KitDeveloperKit



ユーザーガイド

 公式のユーザーガイドには、基本的な事が色々と記載されています。

 既にインストールを終えてしまいましたが、JetPackなどについても記載があります。

NVIDIA: JETSON NANO DEVELOPER KIT User Guide



NVIDIAディープラーニング無料コース

 アカウント登録をするだけで、8時間のコースが無料で利用できます。

 まずは基礎学習をここで行い、あとで書籍を購入して知識を深めていきます。

  • Jetson Nanoとカメラをセットアップする
  • 分類モデルの画像データを収集する
  • 回帰モデルの画像データに注釈を付ける
  • データでニューラルネットワークを学習し、独自のモデルを作成する
  • 作成したモデルを使用してJetson Nanoで推論を実行する

NVIDIA: Getting Started with AI on Jetson Nano



プロジェクト参照

 NVIDIAが公開しているプロジェクトです。Jetsonに関係のあるところでまとめられている感じがあります。

NVIDIA: Jetson Community Projects

NVIDIA: Hello AI World

GitHub: NVIDIA-AI-IOT / jetbot

NVIDIA: (5) Next Steps, Getting Started With Jetson Nano Developer KitDeveloperKit




NVIDIAディープラーニング無料コース

機材の準備:ハードウェア

  • Jetson Nano 開発者キット(本体)
  • microSDカード(32GB以上)
  • ACアダプタ 5V 4A
  • USBkeケーブル (Micro-B to Type-A)
  • USB接続ウェブカメラ(参考:ロジクールC270)

【本体】Jetson Nano 開発者キット、Jetson Nano B01本体です。これが無ければ始まりません。

Jetson NanoはmicroUSBでの給電に対応しています。しかし、カメラなどを装着すると容量不足で停止していしまいますので、外付けのACアダプタで給電させます。外径5.5mm、内径2.1mm、センタープラスの物を指定されていますので、Amazonなどで適当な物を選ぶと良いでしょう。USBと同じ5V、4アンペア流せなければ意味がありません。3Aで失敗した事例がネット上にありますので、4Aを探してください。

 公式チュートリアルではロジクールのC270を指定しています。私はラズパイのカメラを搭載してしまいましたが、USBカメラでも良いと思います。



機材の準備:パソコン

インターネット接続ができ、microSDカードが読み書きできるパソコン



1st.Introduction And Download

 まずはイメージディスクのダウンロードを開始。
 ダウンロード中には各部の名称から学習。

 セットアップ前の準備としてマイクロSDカード、ACアダプタ、USBウェブカメラ、USBケーブルを用意するよう指示されます。

 最初にダウンロードしていたイメージファイルをmicroSDに書込む方法を教わります。
 そのmicroSDカードをJetson Nanoに挿入し、最初に起動をします。

 最後に、JupyterLabインターフェイスを使って、Hello Camera(nvdli-nano > hello_camera)を起動します。
 JupyterLabについて学習して1時間目は終了です。

NVIDIA: Introduction and Download, Getting Started with AI on Jetson Nano

NVIDIA: セットアップ動画

NVIDIA: ラズパイカメラセットアップ動画



2nd.AI And Deep Learning

 2限目はAI(人工知能)とディープラーニング(深層学習)について学びます。

 構築するプロジェクトは、簡単な視覚的な質問に答えるものです。

○私の手は親指を上、または下に向けていますか?
○私の顔は幸せそうですか、悲しそうですか?
○指を何本立てていますか?
○鼻はどこですか?

 画像認識には、ラベル付けされた画像(教師画像)を繰り返し提供し、学習させる必要があります。

 この講座ではCNNという言葉が良く出てきます。CNNとはConvolutional Neural Networks、回旋ニューラルネットワークとでも訳しましょうか、ニューラルネットワークが渦巻く感じです。
 ニューラルネットワークとはヒトの神経細胞"neuron"(ニューロン)に由来、情報の世界ではneural networkとは神経回路網。




画像認識

画像認識とは

 ここでいう画像認識とは、画像から物体や事象を認識することを指します。

 犬なのかタワシなのか、人間には一目瞭然でもコンピューターにそれを理解させることは難しかったのは一昔前、今はAIがやってのけます。

 それを自ら構築したプログラム上で実践したい、そのための予備知識として先行するプログラムを実行してみます。

 日本語のページもたくさんありますが、英語で検索すると無数のコードが見つかりますので、いずれはコードが読めるようになるのではないかと思います。



参考サイト

 以下は学習用に参考にさせて頂いたサイトです。当方とは何の縁もないので、一方的に利用させて頂いております。


Jetson Nanoをセットアップしてディープラーニングで画像認識を試してみた (2019/4/29)

 Jetsonが発売されて間もない頃の記事ですが、かなり詳しく書かれています。Jetson本体のバージョンが最新機種と異なりますが、だいたい同じですので、真似すれば同じ現象を目の前で体験することができると思います。


Jetson NanoにJetPack 4.4を入れてTensorFlow・物体検出・姿勢推定・ROS2(Realsense)・ROS1動かしてみた (2020/7/15)

 JetsonやAIプログラムなどに非常にお詳しい方のブログです。Jetsonで出来そうなことは、この方の記事を拝読するだけで網羅できるのではないかと思ってしまいます。


Jetson Nanoにカメラを接続してリアルタイム画像類推を行うには (2019/4/10)

 『Jetson-inference』のビルドの手順を説明しています。


Jetson NanoでYOLOv4を動かしてみました (2020/6/29)

 『YOLO』をJetson Nanoで活用するためのコードが紹介されています。


「Jetson Nano」にUSBカメラをつなげてにゃんこを認識させる (2019/9/12)

 よくあるWebカメラを使った画像認識の事例です。バッファローの"BSW32KM04"を使った例ですが、他のUSBカメラにも応用できそうです。


YOLO: Real-Time Object Detection

 1つの画像から複数の対象物を抽出できる技術です。
 CUDAやC言語で記述されたオープンソースのニューラルネットワークフレームワーク"Darknet"を利用しています。




Jetsonで画像推論AIを使ってみた

AI学習、はじめました。 ~Jetson Nanoのセットアップ~

カテゴリー
AI・IoT・Computer BLOG

AIの学習、はじめました。 | NES株式会社

非接触時代の人間代替論

 新型コロナウイルス感染症流行拡大後、3密回避など人との接触を8割減らすことが新たに常態化しつつあります。

 私たちは以前より、コンピュータープログラミング、特にデータベース関連を開発して参りましたが、これは業務効率化とデータ二次利用の2つの面を持っていましたが、効率化といっても手書きやExcel入力を代替する程度の物でした。

 このたび、AIの医療応用について検討すべく、自らAIでシステムを開発することに挑戦する事となりました。

 開発に成功しなくても、何か得る物はあるだろうと期待し、本来であれば東京五輪で盛り上がっていたであろう本日、AI学習をスタートしました。




Jetson (NVIDIA)

Jetson Nano 開発者キット

 今回、AI端末として調達したのはNVIDIA社の『Jetson Nano 開発者キット』(B01)です。

NVIDIA: JETSON NANO (日本語サイト)

NVIDIA: JETSON (English)

NVIDIA: JETSON Download Center (English)



調達品

 Jetson Nanoは、簡単に言えばデスクトップパソコンの本体部分です。
 動作させるにはいくつかの周辺機器が必要になります。
 今回、以下の物も一緒に調達しました。

【本体】Jetson Nano 開発者キット、Jetson Nano B01本体です。これが無ければ始まりません。
Jetson NanoはmicroUSBでの給電に対応しています。しかし、カメラなどを装着すると容量不足で停止していしまいますので、外付けのACアダプタで給電させます。外径5.5mm、内径2.1mm、センタープラスの物を指定されていますので、Amazonなどで適当な物を選ぶと良いでしょう。USBと同じ5V、4アンペア流せなければ意味がありません。3Aで失敗した事例がネット上にありますので、4Aを探してください。
Raspberry Pi用の高精細カメラを調達しました。ラズパイ公認、SONY製のセンサを搭載した8メガピクセルのカメラです。取付方法などはラズパイと同じで簡単。装着しただけで何もせずに認識されました。注意点は電源です。microUSB給電でカメラを起動したら落ちました。ACアダプタ給電に切替後は、何ら問題ありません。
Jetson Nanoには画面がありません。映像出力ポートとしてHDMIが備わっていますので、HDMIケーブルさえあればパソコン用ディスプレイでも、液晶テレビでもモニタとして使えます。HDIMIケーブルは汎用品で問題ないので、手元にあればそれを使います。私たちは、Amazon Basicsブランドの安価なケーブルを接続しました。 
普通の日本語キーボードです。マウスは予備を持っていても、キーボードは余分が無いので調達しました。Jetson Nanoが小型なので、キーボードも小型を選びました。有線のUSBキーボードです。実行画面では認識されないキーもありますが、操作に必要なキーは揃っていますので問題なく使えています。
 普通のUSBマウスです。ブラウザなどでスクロールボタン普通に使えました。使用しているのはバッファローの静音マウスで、Amazonでは1000円以下で買える物です。
 32GB UHS-I以上の物を指定されています。防犯カメラ(ネットワークカメラ)用にと買ってあったシリコンパワーの64GBを使いました。先を見据えると、もう少し大容量でも良かったかもしれません。
 他で使っていた物を共用しています。フルHD(1920×1080)の27型ディスプレイを使用していますが20型モニタでも十分に作業できました。
 本体の主幹部には放熱フィンが付いていますが、たくさんの仕事を与えると放熱フィンだけでは熱がこもってしまいます。そこで、ファンが必要になる訳ですが、ファンは付属していません。
 有線LANは既存のHUBから分けて使いました。CAT5の安価な物です。特に指定は無いようです。
 電源を供給するためのケーブルです。microUSB-B⇔USB-Aです。公式サイトではAmazon Basicsを紹介していました。
スマホ用に持っていた2Aの充電器とケーブルを使いました。
 公式チュートリアルではロジクールのC270を指定しています。私はラズパイのカメラを搭載してしまいましたが、USBカメラでも良いと思います。



最初の準備 (1) microSDカード

イメージファイルをダウンロード

 Jetson Nanoの基盤となるソフトウェアをダウンロードします。

 丸ごとSDカードに書き込んで、そのままJetson Nanoに搭載します。

 ファイルサイズが6GB(2020年7月現在)ありますので、ダウンロードに相当の時間を要します。
 使う順番は後ですが、先にダウンロードを開始しておきましょう。

 ダウンロード後、Zipファイルは解凍しておきます。

NVIDIA: Jetson Nano Developer Kit SD Card Image

NVIDIA: JetPack SDK

NVIDIA: (3) Write Image to the microSD Card, Getting Started With JetsonNano Developer Kit



microSDカードセットアップ

 Jetson Nanoはハードウェアです。動作にはソフトウェアが必要です。

 まずはOSの準備となります。

 用意するのはインターネットに接続できるパソコン、microSDカード、カードリーダーです。パソコンにリーダーが内蔵していればそれで用が足ります。

 パソコンにmicroSDを挿入し、専用ソフトを使ってフォーマットします。

NVIDIA: (2) Prepare for Setup, Getting Started With Jetson Nano DeveloperKit



SDカードフォーマッター (Windows)

 『SD Card Formatter』というソフトをダウンロードし、インストールし、使います。

 ファイルはSDアソシエーションのサイトからダウンロードします。NVIDIAの公式サイトからもリンクがありますので、安全なルートからダウンロードしましょう。

 アプリ(SD Card Formatter)を起動し『カードの選択』(Select card)でmicroSDのドライブを選択します。
 フォーマットオプションは『クイックフォーマット』(Quick format)が選択されているので、そのままにし、右下の『フォーマット』(Format)をクリックします。

 確認画面『フォーマットでこのカードのすべてのデータが消去されます。続行しますか?』と出るので『はい(Y)』をクリックします。
 完了すると『フォーマットが正常に終了しました。』という画面が出てきます。

SD Association: SD Memory Card Formatter for Windows Download

NVIDIA: (3) Write Image to the microSD Card, Getting Started With JetsonNano Developer Kit



Etcherでディスクイメージを書込

 『Etcher』というソフトをダウンロードし、インストールし、使います。

 ファイルはBalenaのサイトからダウンロードします。NVIDIAの公式サイトからもリンクがありますので、安全なルートからダウンロードしましょう。

 アプリ(Etcher)を起動し、中央左側の十字マークが付いた『Select Image』をクリックし、NVIDIAのサイトからダウンロードした『JetsonNano Developer Kit SD Card Image』を選択します。ファイルはZipファイルではなくディスクイメージファイル(.img)です。

 中央のドライブのアイコンでは、先ほどフォーマットしたmicroSDカードを選択します。

 準備が整うと中央右側の『Flash』のアイコンがアクティブに変わります。クリックすると書き込みがスタートします。

 書き込むファイルサイズは10GB以上ありますので、しばらく時間を要します。

Balena: Etcher

NVIDIA: (3) Write Image to the microSD Card, Getting Started With JetsonNano Developer Kit




最初の準備 (2) Jetson Nano 本体

開封

 まずは、届いたJetson Nano 開発者キット B01の外観チェック。
 箱に損傷が無いので封印テープを2か所カットし、開封しました。

 外箱は潰しません。

 箱から出てきたのは本体、説明書、折り畳まれた箱です。

 この箱、緩衝材でも折紙でもなく、台座でした。
 本体が入っていた箱に嵌るように組み立て、Jetson Nanoを置く台座として使います。

NVIDIA: (1) Introduction, Getting Started With Jetson Nano Developer Kit



本体にmicroSDカードを挿入

 Jetson Nano本体のUSBコネクタ類がある方と逆側、放熱フィンの下にmicroSDスロットがありますので、向きに気を付けてカードを挿入します。

NVIDIA: (4) Setup and First Boot, Getting Started With Jetson Nano DeveloperKit



ケーブル接続

 USBコネクタにはマウスとキーボードを、HDMIコネクタにはディスプレイを接続します。

 microUSBコネクタには電源を接続します。
 電源を投入すると自動的に起動しますので、マウスやディスプレイなどを先に接続しておきます。

NVIDIA: (4) Setup and First Boot, Getting Started With Jetson Nano



最初の設定

 microUSB電源を接続すると、横にある緑色のLEDが点灯します。

 最初にEULA(NVIDIA End User license Agreements: ユーザーライセンス条項)が表示されるので、同意します。

EULA同意

 ソフトウェアの使用許諾に関する同意です。

 "I accept the terms of these licenses"にチェックを入れ"Continue"をクリックします。

言語選択

 一覧から使用する言語を選択します。

 英語仕様なら"English"、日本語なら"日本語"を選択し"Continue"(続ける)をクリックします。

キーボードレイアウト選択

 使用するキーボードのレイアウトを選択します。

地域選択

 使用する地域を選択します。

ユーザー情報登録

 Jetson Nanoにログインするためのユーザー情報を登録します。パスワードは随時必要になります。

インストール

 インストールが進みます。


 インストールが完了すると上記画面が表示されます。
 今回は日本語でインストールしました。元々は英語で開発されていると思いますので、英語仕様の方が不具合の確率が少ないかもしれません。

NVIDIA: (4) Setup and First Boot, Getting Started With Jetson Nano DeveloperKitDeveloper Kit



TensorFlowのインストール

 テンソルフロー(TensorFlow)という機能を追加します。今回行う画像認識には不可欠という事ですので、インストールしました。

 詳細な手順はNVIDIAのサイトで確認しながら行いましょう。

NVIDIA: Deep Learning Frameworks Documentation

TensorFlow




最初の準備 (3) ACアダプタ対応

ACアダプタ

 microUSB給電でもJetson Nanoを動かす事は可能ですが、カメラデバイスなどを動かそうとすると動作が不安定になったり、停止してしまいます。

 そこで、ACアダプタを使った給電が必要になります。
 対応しているアダプタはDC5V(ボルト)、4A(アンペア)以上給電可能、コネクタは外径5.5mm、内径2.1mm、センタープラス(+)です。

 ACアダプタを使う場合には、基板上のピンの接続を変更する必要があります。旧製品(A02)では別途ジャンパーコネクタを調達する必要があったようですがB01では付属しています。ここではB01で説明します。

 初期状態ではHDMIやUSBコネクタ等を差し込む方向に対して垂直を向いているピンを、平行の向きに変更すれば完了です。
 この作業をするとき、必ず電源を切った状態で行いましょう。


Jetson NanoはmicroUSBでの給電に対応しています。しかし、カメラなどを装着すると容量不足で停止していしまいますので、外付けのACアダプタで給電させます。外径5.5mm、内径2.1mm、センタープラスの物を指定されていますので、Amazonなどで適当な物を選ぶと良いでしょう。USBと同じ5V、4アンペア流せなければ意味がありません。3Aで失敗した事例がネット上にありますので、4Aを探してください。



最初の準備 (4) カメラ搭載

Raspberry Pi カメラモジュール V2

 カメラはRaspberry Pi (通称:ラズパイ)のカメラモジュールV2以降がそのまま使えます。

 カメラ用のフラットケーブルを挿入できるポートが2つありますので、間違えないように挿入します。
 カメラ側のケーブルにも表裏がありますので、間違えないようにします。

 ポートは上端にあるツメを上に持ち上げるとロックが解除され、ケーブルを挿入できるようになります。
 ケーブル先端が平らに、全体が底付きしたことを感触で確認し、先ほど解除したロックを元に戻して固定します。


Raspberry Pi用の高精細カメラを調達しました。ラズパイ公認、SONY製のセンサを搭載した8メガピクセルのカメラです。取付方法などはラズパイと同じで簡単。装着しただけで何もせずに認識されました。注意点は電源です。microUSB給電でカメラを起動したら落ちました。ACアダプタ給電に切替後は、何ら問題ありません。


試運転

 カメラ搭載後はACアダプタを電源として使うように心がけます。今回はカメラの試運転なのでACアダプタは必須アイテムです。

 ディスプレイを用意しHDMIケーブルを接続、マウスやキーボードも接続した上で電源を投入します。
 Ubuntu(ウブントゥ)というLinuxを母体としたOSが起動します。

 左上にあるアイコンをクリックすると端末内検索ができます。
 そこで『Terminal』と入力し、"Terminal"というアプリを起動します。

 Terminalの画面で『ls -al /dev/video0』と入力すると、カメラが認識されていれば日時などが記された行が表示されます。

@-desktop:~$ ls -al /dev/video0

 続けて映像を確認します。NVGSTCAPTURE (NVIDIA GStreamer camera model Test)という機能(ソフト)を使います。
 『nvgstcapture』と入力すると、映像が表示されます。Ctrlとcを押すか、qを押すと終了します。

@-desktop:~$ nvgstcapture



Jetson NanoでAIを使ってみる。

カテゴリー
AI・IoT・Computer BLOG

AI・IoT | NES株式会社

ヘルスケアAI

省人化と非接触

 医療・ヘルスケアでは、団塊世代すべてが75歳以上になる2025年を前に、需給バランスを適正化するために省人化や効率化が求められています。

 特に医療はヒトの介在が多い業種であり、機械化やロボ化が容易ではない仕事も少なくありません。

 医療法や医師法の関係からも、ヒトが判断しなければならない事も多くありますが、ヒトが判断するための材料を機械が揃える事は有意義なことです。

 2020年、COVID-19によりヒトとヒトの接触を8割減らすことや、ドアノブやつり革などに触れないようにするなど、非接触への関心が高まりました。



AI習得、当社の取り組み

 当社ではJetson Nanoを利用したAIの活用について、学習をはじめました。
 機械学習の前に、人間が学習します。

[関連記事] AI学習、はじめました。

[関連記事] Jetson NanoでAIを使ってみる。

カテゴリー
BCP お知らせ 医工連携

[寄付]フェイスシールドホルダーを病院へ寄贈 | NES株式会社

フェイスシールドホルダーを病院へ寄贈

 COVID-19対応として弊社が設計・造形しておりますフェイスシールドホルダーについて、これまで100個以上の寄付をして参りました。

 このたび、ベルピアノ病院様よりご要望を頂きましたので、造形の終わった分から出荷いたしました。
 既に次回発送分も造形を開始しており、今後、看護師の皆さんに行き渡るまで寄贈を続ける予定です。

 私たちにできること、私たちがすべきことを考え、これからも医療従事者の皆様のお手伝いをして参ります。

フェイスシールドホルダーについて

カテゴリー
BCP お知らせ

[九州豪雨]避難所熱中症注意喚起 | NES株式会社

【九州豪雨】避難所熱中症注意喚起


避難所

 『熊本大雨』⇒『熊本豪雨』⇒『九州豪雨』⇒『令和2年7月豪雨』と呼び方は色々と変わりましたが、経時的に被害は拡大しました。

 報道では死傷者数を伝えたがるものが多く見られますが、実際には家屋が損壊したり、家財道具が水浸しになったりと、テレビでは悲惨さ伝わりづらいが、被害に遭った人にとっては深い傷となっていることが多々あります。

 今も避難所で生活している人が居り、この暑い中では体調不良も気になるところです。



熱中症注意

 『庭の草むしりをしていただけ』で熱中症で運ばれたという人、少なくありません。

 さほど長くない時間、高温にさらされることで熱中症は発症します。

 当社では昨年、避難所を模した環境で温度測定を行いました。
 気象台発表の気温が30℃でも、それは百葉箱の中の話です。
 普通に生活しそうな体育館のような場所の気温は35℃を超え、日なたに出れば45℃にも達します。

 暑さに慣れるとはいえ、30~35℃でなんとか耐えられても、体温を超える高温の中で、平熱を維持することは容易ではありません。
 我が家では無い避難所では、飲み物も冷蔵庫から取り出すという訳にはいかず、またトイレ事情が悪いため飲水を敬遠する避難者も少なくないため、熱中症や脱水症状を呈する人が後を絶ちません。


避難所の熱中症注意喚起について, NES株式会社プレスリリース (2019年8月10日)



在宅避難

在宅避難・自宅待避

 近年、避難所に行かずに自宅待機する『在宅避難』や『自宅避難』などと呼ばれる手段がにわかに広がっていました
 2020年の新型コロナウイルス感染症の流行拡大後は3密回避の面からも注目されています。

 在宅避難は今のところ『自助』です。継続するためには自前の備蓄等が必要になります。
 いずれは『公助』となり、少しは快適な避難生活が送れるようになるのではないかと考えます。

 しかし一方で、洪水や土砂崩れの恐れがある大雨の場合、自宅の立地に危険があるため、危険地域では在宅避難は推奨されません。
 筆者の育った家も毎年のように床下浸水になっていましたが、家が流されるほどではなかったため在宅避難を選ぶ人がほとんどでした。
 大きな河川が決壊しそうになったとき、既に道路は大人の腰の高さくらいまで冠水しており、家から出ることもままならず、救助を待つにも数百世帯に対してボートは何艘もありませんので、順番待ちをしている間に決壊してしまっても仕方ないと言わざるを得ない状況でした。

 いまは豪雨被害で避難を余儀なくされた方々が多いので、熱中症リスクが高い状況だと思われます。

m-BCP

カテゴリー
BCP Press Rerease

熊本豪雨被災の医療従事者疎開先提供 | NES株式会社


Press release

熊本豪雨で被災した医療従事者の疎開先としての社屋提供について

 熊本県では球磨川の増水などで被災された方が多数おられるとの事で心配しております。被災された方々には心よりお見舞い申し上げます。

 新型コロナウイルス感染症流行拡大後に発生した最初の大規模災害となりますが、ノウハウも蓄積されていない中で、どのような避難生活を送ることが良いのかもわからないのが現状です。
 家屋の損壊や道路の寸断などにより、現地での生活継続が困難になった医療従事者の方も居られるのではないかと考えております。

 そこで、当社では生活拠点を失った、職場が長期休診となったなど理由はそれぞれですが、関西へ疎開をお考えの医療従事者に対し、社屋の一部を9月末までの期間、無償提供致します。
 ご用意できるのは洋室1室、和室1室、キッチン、風呂、トイレ、洗面です。
 なお、設備については電気、ガス、水道などの住宅設備は整備されていますが、水道とガスは閉栓状態のため使用開始手続きが必要になります。また、洋室にはエアコンが設置されておりません。

 関西地方でのお仕事については当社でご用意することはできませんが、2016年の熊本地震の際には半年程度のアルバイトをご用意いただいた透析クリニック等がございました。

 コロナ下、被災地へ赴いてのお手伝いはできませんが、遠隔地避難のお手伝いができればと思います。




[Link] 弊社ご来社中の災害対応・帰宅困難者対応

2020年7月7日
NES株式会社