2019/12/23 update
どうも、ディープなクラゲです。
「OpenVINO™ でゼロから学ぶディープラーニング推論」シリーズの2回目記事です。
このシリーズは、ディープラーニング概要、OpenVINO™ツールキット、Neural Compute Stick、RaspberryPiの使い方、Pythonプログラミングをゼロから徹底的に学び、成果としてディープラーニング推論アプリケーションが理解して作れるようになることを目指します。
第2回目は、全シリーズで必要となるハードウェアと周辺機器について、何をどこで購入すれば良いかも含め、徹底的にご紹介します
また、Neural Compute StickとRaspberryPiの説明も行います!
第1回目の内容をおさらいしますが、OpenVINO™ツールキットを使ってディープラーニング推論するための環境は3通りあります。
環境 | PC要求スペック | PC以外に必要なモノ | 本サイトのコード |
---|---|---|---|
1 | Linux ※要確認 Windows ※要確認 Mac ※要確認 |
なし | ちょっとだけ変更必要 |
2 | Linux / Windows / Mac ※要確認 |
✔ Neural Compute Stick | そのままでOK |
3 | 何でもOK | ✔ Neural Compute Stick ✔ RaspberryPi ✔ RaspberryPi周辺機器 |
そのままでOK |
本サイトでは環境3の PC + Raspberry Pi + Neural Compute Stick前提で説明します。PC要求スペックはありませんが、RaspberryPiに挿入するmicroSDカードへの書き込みは必要です。PCにSDカードスロットがない場合、USB経由でSDカードリーダーなどを使って書き込んでもOKです。
環境1, 環境2で進めたい方は表の内容をよく確認した上で、読み替えて下さい。OpenVINO™ツールキットは無償ですので、とりあえず環境1で進めてダメなら環境2、それでもダメなら環境3に進むという方法もあります。
では、各機器の詳細について見てゆきます。時間がない人は、最後のまとめを見て進めていただいてもOKです。
Neural Compute Stick(NCS)とは、USB端子を搭載したスティックで、ディープラーニング推論処理を高速化するアクセラレータです。アクセラレータとは処理能力を高めるために追加して利用するハードウェアのことです。
これ単体で使うものではなく、RaspberryPiやWindows10搭載PC、Linux搭載PCに挿入して使います。
また、クラウドを利用することなくエッジ側だけでリアルタイムに推論できます。エッジ側というのは、今回の場合、RaspberryPiやWindows10、Linux搭載PCを指します。ホストコンピューターとも呼びます。
Neural Compute Stickはインテルが開発した専用チップ"Myriad™"を搭載しています。"Myriad™"は高性能かつ低消費電力な画像処理ユニットで、ジャスチャー制御できるドローンやスマートセキュリティカメラなどへの搭載実績があります。
Neural Compute Stickは現在2種類あります。名称が長いのでNCSと略します。
略式名称 | 正式名称 |
---|---|
NCS1 | Intel® Movidius™ Neural Compute Stick |
NCS2 | Intel® Neural Compute Stick 2 |
NCS1に Movidius™
という名称が付いていますが、これは企業名です。Intelに買収されたためか、NCS2の正式名称から無くなっています。
以下に性能以外の主な特徴を表にまとめました。
略式名称 | 搭載チップ | NCSDK | OpenVINO™ | 実売価格 | 発売開始 |
---|---|---|---|---|---|
NCS1 | Myriad™ 2 | 〇 | 〇 | 11,000円 | 2017年10月頃 |
NCS2 | Myriad™ X | × | 〇 | 11,550円 | 2018年11月頃 |
※実売価格は2019年11月調査時の日本での値です
NCS2をよく見ると、NCSDK
の対応が ×
になっていますが、全く問題ありません。"NCSDK"というのはNCS1専用の古いツールです。現在ではOpenVINO™ツールキットを使うことで機能の全てを賄えます。
NCS1とNCS2の機能はほぼ同じですが、性能に大きな違いがあります。
画像引用元:https://software.intel.com/en-us/neural-compute-stick
黄色の棒グラフがNCS2で、緑色の棒グラフがNCS1です。
左半分は Image Classification
つまり画像分類のディープラーニング推論、右半分は Object Detection
つまり物体検出のディープラーニング推論をそれぞれ実行したときのパフォーマンスです。NCS1に比べて最大8倍性能が高いという結果を示しています。
これから新たにNCSを買う人はNCS2で決まりでしょう!
既にNCS1を持っている人は、まずはNCS1で進めてみて、必要に応じてNCS2を購入するのが良いと思います。
公式サイトにNCS2を購入できるショップのリンクが載っていますが、クラゲがお勧めするのは以下のショップです。
2019年11月27日現在では、加賀電子TAXANオンラインが最も安いです。一見BtoB向けのサイトに見えますが、実は個人でも問題なく購入できますし、会員登録しなくても購入できます。在庫状況が「取り寄せ中」であってもそれほど日数はかからないようです。
次にRaspberry Piについて見てゆきましょう!
Raspberry Pi(通称ラズパイ)とは、世界で最も有名でたくさん使われているシングルボードコンピュータです。
元々子供向けのプログラミング教育用として開発されていましたが、現在はホビー用途から業務用途まで幅広く使われています。
名刺サイズの安価で小さなコンピューターですが、「動画」「音楽」などのマルチメディア再生、センサー・ロボットなどの組込み制御、インターネット通信やWebサーバーなど色んなことができます。
コンピューターですので、OSを入れて動作させます。良く使われているOSはRaspbianというLinux派生OSです。ラズパイではmicroSDカードがHDD代わりになっていて、そこにOSも入れて使います。
ディスプレイに繋ぐためのHDMI出力、スピーカーに繋ぐためのミニジャック、マウスやキーボード、カメラに繋ぐためのUSBも持っています。
また、最近のRaspberryPiでは、WiFiとBT(Bluetooth)を搭載しています。
今回の「ディープラーニング推論」用途以外にもたくさんの使い道がありますし、たくさんの情報がWebや書籍に載っていますので、1台は持っていることをお勧めします。
ラズパイを調べると、たくさんの種類が出てきます
主なラズパイを表にして整理しました。古くて入手できないラズパイやあまり使われていないラズパイは除いています。
名称 | サイズ | BT/WiFi | CPU | メモリ | 実売価格 | 発売開始 |
---|---|---|---|---|---|---|
RaspberryPi Zero | 小 | × | 1GHz | 512MB | 660円 | 2015年11月 |
RaspberryPi ZeroW | 小 | 〇 | 1GHz | 512MB | 1,320円 | 2017年2月 |
RaspberryPi ZeroWH | 小 | 〇 | 1GHz | 512MB | 1,848円 | 2018年1月 |
RaspberryPi1 B+ | 標準 | × | 700MH | 512MB | 3,575円 | 2014年7月 |
RaspberryPi1 A+ | やや小 | × | 700MHz | 256MB | 3,025円 | 2014年11月 |
RaspberryPi2 B | 標準 | × | Quad 900MHz | 1GB | 4,840円 | 2015年2月 |
RaspberryPi3 B | 標準 | 〇 | Quad 1.2GHz | 1GB | 4,400円 | 2016年2月 |
RaspberryPi3 A+ | やや小 | 〇 | Quad 1.4GHz | 512MB | 3,300円 | 2019年12月 |
RaspberryPi3 B+ | 標準 | 〇 | Quad 1.4GHz | 1GB | 4,950円 | 2018年3月 |
RaspberryPi4 B | 標準 | 〇 | Quad 1.5GHz | 4GB | 6,600円 | 2019年11月 |
※実売価格は2019年12月調査時の日本での値です
色々種類がありますが、もし今買うなら RaspberryPi4 B
が良いと思います。
既に RaspberryPi3
系 を持っている方はそれでもOKです。他のラズパイでまともに動くかは保証できません。
ラズパイは専用ケースも1,000円程度で販売されています。無くても問題ありませんが、動作させるときに金属などに触れないように気を付けて使いましょう
国内で一番安いのはKSYです
KSYは、RaspberryPi個人向けの正規代理店(販売店)です。
他にも秋月電子通商やSwitch Scienceなどでも販売されていますが、少し高めなので、何か他のモノと合わせて買うときに利用すると良いと思います。
ラズパイで開発する際に必要となる周辺機器を説明します。
「Neural Compute Stick2」と「RaspberryPi 4B」に関してはほぼ選択肢はありませんでしたが、周辺機器に関してはたくさんのバリエーションがあります。
ここではクラゲの実績を重視してお勧め商品を提案したいと思います。もちろんなるべく安い価格のものを選んでいます。なお、家で既に使っている機器があれば、それを使うのが一番です。
いわゆるACアダプタです。RaspberryPi4の電源はUSB type C端子から供給します。
おそらく家にもスマートフォンの充電用などで、あるかと思いますが、ここで考慮すべきは流せる電流です。
家にある電源は 1A や 2A程度のものだったりしないでしょうか?また昔のスマホだと端子形状が"micro USB"で異なる場合がありますのでご注意ください。
RaspberryPi4では3A以上の電流を推奨としています。
特に今回はディープラーニングで画像認識を行うため、結構電流を消費します。
流せる電流が少ないと、途中でフリーズしてしまったり、再起動してしまう可能性が大です。
電源はケチらずにちゃんとしたものを購入しましょう
KSY などで購入可能です
RaspberryPiのOSやアプリ、データを保存するために必要です。RaspberryPiのストレージはPCのようにHDDやSSDではなく、microSDカードを使います。容量は32GBをお勧めします。
画像引用元:www.amazon.co.jp/dp/B01M4OHE66
クラゲは上記のmicroSDカードを使って動作確認していますが、他社のmicroSDカードでも良いとは思います。
RaspberryPi専用のカメラもありますが、やや高いのと位置を固定させるためのケースなども必要になるため、安価なUSBカメラをお勧めします。
クラゲの実績から以下のUSBカメラをお勧めしています
https://www.amazon.co.jp/dp/B003YUB660
もし、他のUSBカメラが家にある場合は、まずはそれで試してみるのも良いと思います。
RaspberryPiが出力する画面を表示するためにHDMI入力のディスプレイが必要ですが、家にHDMI入力のあるテレビやディスプレイで問題ありません。
実は、VNCという技術を使うと、無線でRaspberryPiの画面をPC画面に転送するという事が可能です。しかし、最初のOSインストール時はその機能が使えないため、最低でも最初の1回だけディスプレイが必要です。ですので、家のリビングルームにあるHDMI入力のあるテレビなどでもOKです。
画像引用元:https://www.amazon.co.jp/dp/B012QX4YQ4
もし、家にディスプレイが全くない場合は、HDMI入力のディスプレイの検討をお勧めします。20インチ程度であればamazon等で1万円程度で売っています。10インチ以下の小さなディスプレイも売っていますが、あまりお勧めしません。理由は、解像度が低く画面全体が映らないからです。解像度が高くできたとしても文字が小さくて見づらいです。もし、なるべく小さいディスプレイを選択したい場合は、10.1~13.3インチくらいで解像度がHD(1280×720)以上のものをお勧めします。
HDMIケーブルが1本あればOKですが、コネクタ形状にご注意ください。下の写真は両コネクタとも普通のHDMI形状です。
形状として "HDMI", "mini HDMI", "micro HDMI" がありますが、RaspberryPi4側は "micro HDMI" です。
もし家に無い場合は以下をお勧めします。
https://raspberry-pi.ksyic.com/main/index/pdp.id/502/pdp.open/502
こちらも基本的に家にある普通のUSBマウスでOKです
もし無い場合は以下などをお勧めします。
www.amazon.co.jp/dp/B0098E6NQO
こちらも基本的に家にある普通のUSBキーボードでOKです
もし無い場合は以下などをお勧めします
www.amazon.co.jp/dp/B016U0VM5A
※写真とは異なります
今までのまとめです。
繰り返しになりますが、家にあるものは購入不要です。
品目 | お勧め購入先 | 代替品について |
---|---|---|
Neural Compute Stick2 | 加賀電子TAXANオンライン | Neural Compute Stick1でも動作可 |
RaspberryPi4 B | KSY | RaspberryPi3 系でも動作可 |
RaspberryPi電源 | KSY | 流せる電流が 3A 以上であること |
HDMIケーブル | KSY | 片側は micro HDMI であること |
microSDカード32GB | Amazon | 家にあれば購入不要 |
USBカメラ | Amazon | 家にあれば購入不要 |
HDMIディスプレイ | Amazon | 家にあれば購入不要 |
USBマウス | Amazon | 家にあれば購入不要 |
USBキーボード | Amazon | 家にあれば購入不要 |
さあ、これだけ機器が揃えば準備万端です! 次回はインストールをゼロから実行しましょう!
以上、「開発に必要となる機器の全て」でした。