RaspberryPi 3B+とIntel Movidius Compute Stickで、サンプルコードを動かす

RaspberryPi 3B+とIntel Movidiusで、サンプルコードを動かす!

前の記事こんなのを書きました。macOSでMovidiusの動作を試したい人はこの記事をお読みください、きっとお役に立ちます!

macOS Mojave VirtualBox Ubuntu 16.04 で Intel Movidiusを動かす方法!

目次

Raspberry Piでの試行錯誤

その後ちょっとRaspbery Piと繋いて、実験してみました。うまくいきませんでした。

そのために、新しい Raspberry Pi 3B+も調達したりしていました。

こんな感じで繋いて

新しいRaspberryPiでコンパイルしても


Raspberry Piで色々エラーに遭遇してできなくて、macOS Mojave + VitrualBox + Ubuntu 16.04でMovidiusのサンプルコードを動かすことができるようになったのです。

その後、もう一度、フレッシュな(Raspbian Stretch)SDカードを用意して、最初からやり直しましたら、全部うまく行きました!

この記事では、RaspberryPi 3B+でIntel Movidiusを動かす必要なものをインストール手順などを説明していきます。

まず、もちろんRaspbianです

microSDのOSの用意はこちらの記事をご参照ください。

Raspberry Pi OSインストール

次は、キーボード、マウス、ディスプレー、電源、一式繋げて、Raspberry Piを起動して、必要な設定を終わらせましょう。

 

View this post on Instagram

 

#raspberrypi #raspberrypi3 #movidius #iot #ai #deeplearning a better USB cable solution

賢 川島さん(@kawashimaken)がシェアした投稿 –

必要があれば、

sudo apt-get update
sudo apt-get upgrade

も実行して、システムを最新の状態にしておいてください。

今回必要なのはRaspbian の Stretchです。

SDカードの容量は最低16GB私が32GBを使っています。32GBをお勧めします。

swapfile sizeの増大

NCSDK と OpenCVのインストールをするに下記のコマンドを実行して

sudo nano /etc/dphys-swapfile

このように

CONF_SWAPSIZE=2048

設定しましよう!

sudo /etc/init.d/dphys-swapfile restart

それから

free -m

実行して、swapsizeを確認しましょう。2047になっているはずです。

私は、1回目、ここをswapsizeを設定せずに、100のままでmake installをした時に、やはり、何回もフリーズしたりして、結果としても意味不明なエラーになり、うまくサンプルコードを実行できませんでした。

このステップを忘れずに、必ず実施してください。

ncsdkインストール

ncsdkはv2.xもでていますが、今Raspberry Piでは2.xは正常に動作しない可能性がありますので、1.xのバージョンにしてください。

インストールと作業用のフォルダを一応作りましょう

私はworkspaceにしています。

mkdir workspace

次は workspaceに入って後続の作業をします。これから、tensorflowとOpenCVのインストール作業もこのフォルダで実施しましょう。

git clone http://github.com/Movidius/ncsdk

それから

cd ncsdk
make install

で、インストールをしてください。Raspberry Pi 3Bだと、2,3時間がかかる気がします。3B+の方では、一時間程度で完了できます。(正確に計測しているわけではなく、あくまでも感覚値です、ご参考になればと思います。)

make install完了後、そのままのTerminalでは、サンプルコードの実行ができません。

別のTerminalのウィンドウを開いてコマンドを実行してください。(意外とハマります。笑)

今回は、インストールはtensorflowがインストールされないようなので、あとで、手動でtensorflowをインストールします。

Tensorflowのインストール

コンパイル済みのものをインストールしましょう!

https://github.com/lhelontra/tensorflow-on-arm/releases

数分間で完了します。(Raspberry Pi 3B+で)

wget https://github.com/lhelontra/tensorflow-on-arm/releases/download/v1.12.0/tensorflow-1.3.1-cp35-none-linux_armv7l.whl
sudo pip3 install tensorflow-1.12.0-cp35-none-linux_armv7l.whl

OpenCVのインストール

こちらもコンパイル済みのものをインストールをしましょう!

wget https://github.com/mt08xx/files/raw/master/opencv-rpi/libopencv3_3.4.0-20180115.1_armhf.deb
sudo apt install -y ./libopencv3_3.4.0-20180115.1_armhf.deb
sudo ldconfig

ldconfigは共有ライブラリの依存関係情報を更新します。

数分間で完了します(Raspberry Pi 3B+で)

これで準備万端です!

サンプルコードのダウンロード・実行

movidiusを使ったサンプルコードはこちらにまとめてあります。

https://github.com/movidius/ncappzoo

こちらも、同じように、バージョンV2.x系ではなく、v1.x系を使ってください。(workspaceフォルダにcloneしましょう。)

git clone https://github.com/movidius/ncappzoo.git

cloneが完了しましたら、workspace/ncappzoo/apps/にたくさんのサンプルコードが入っています。

その中のsecurity-camフォルダに入って

make run

を実行してみてください!

または、直接に

python3 security-cam

PiCameraを使っている場合は

python3 security-picam.py

私はこちらで、実行しました!

 

最後ですが、全てのインストールやコンパイル作業が終わりましたら、上のswapfile sizeを最初の100に戻した方が良いです。

そうでないと、SDカードの寿命が縮むらしいです。

まとめ

前の数日間、Raspberry Piにインストールはできたようですが、なかなかうまくサンプルコードを実行できなくて、諦めかけていましたが、macOSで動作確認ができて、もう一回やって、よかったでう。

上のサンプルコード以外も他も全部実行できるはずです!

これから、サンプルコードを噛み砕いて、理解して、消化したら、色々手を加えて実験したいと思います。

顔認識や、物体検出など、最近機械学習やディープラーニングの技術の成熟によって大分簡単にできるようになりましたが、やはり、自分で動かしてみて、ソースコードをいじるのが一番の勉強ですし、一番楽しいですよね!

また、新しい知見がありましtがら、共有します!

ではまた!

Google AIY Vision Kit Raspberry Pi Zero WH簡単人工知能体験!(Python)

[amazonjs asin=”B074PRCJKH” locale=”JP” title=”Movidius Neural Compute Stick – NCS ニューラル ディープラーニング USB スティック”]

[amazonjs asin=”B0711PVX6Z” locale=”JP” title=”Amazonベーシック USB2.0 A(オス) – マイクロBケーブル 0.9m ブラック”]

[amazonjs asin=”4822292274″ locale=”JP” title=”独学プログラマー Python言語の基本から仕事のやり方まで”]

[amazonjs asin=”4873117585″ locale=”JP” title=”ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装”]

[amazonjs asin=”B07FQ9678G” locale=”JP” title=”ABOX Raspberry Pi 3 Model b+ ラズベリーパイ 3 b+【2018新型】 MicroSDHCカード32G/カードリーダ /5V/2.5A スイッチ付電源/高品質HDMIケーブルライン/ヒートシンク /簡単に取り付けケース /日本語取扱説明書”]

 

2 Comments

Add a Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close