MacOSでSipeed Maixduinoを使って顔認識するまでのセットアップ手順
Sipeed Maixduinoが届きました!
ワクワクしながら、顔認識をまず実現しようとMacOSで作業してみたら、意外と戸惑いが多く、スムーズに行かず、時間を無駄にしがちでした。
この記事は、重要なステップをなるべく簡潔に記述して、同じようなことをする人にとって参考になれば幸いです。
[amazonjs asin=”B07T1B8T6S” locale=”JP” title=”Sipeed Maixduinoキット RISC-V AI + IoT用 RISC-V 64 開発ボード ESP32モジュール MAIX Edge AIモジュール”]
Sipeed Maixduino が来ました!
基板のクオリティが高い!
これはもうArduino(コントローラ)ではなく
コンピュータという認識でいいのでは?笑Arduinoのいろんな拡張「帽子」かぶるといろんなことができそうですね。色々じっくり実験していきたいと思います。 pic.twitter.com/voeWeouIDO
— 著書:今すぐ試したい!機械学習・深層学習(ディープラーニング)画像認識プログラミングレシピ (@kokensha_tech) July 25, 2019
普通のモバイルバッテリーがあれば動かせます! pic.twitter.com/FDolnANYNb
— 著書:今すぐ試したい!機械学習・深層学習(ディープラーニング)画像認識プログラミングレシピ (@kokensha_tech) July 25, 2019
目次
USB Type-Cドライバー
これがないと、Sipeed Maixduinoが接続しても、認識してくれないかもしれませんので、まずこれをインストールしておいてください。
下記のリンクからzipファイルをダウンロードしてください。
http://www.wch.cn/download/CH341SER_MAC_ZIP.html
zipファイルを解凍して、ドライバーをインストールしてください。
インストールしたファイルを有効にするために、プログラムが再起動を求めます。
他の作業途中のものがないように、気をつけてください。
Python3を用意する:
これからダウンロードするソフトや動かすプログラムはPython3が必要です。
Python3が入っていないMacはまずPython3が使えるようにしておきましょう
kflash.py をインストールする:
kflash GUIを動かすには、もちろんkflashが必要です。他にもいつくか必要なPythonパッケージがありますので、下記のリンクを参照して、インストールしておいてください。
“sudo pip3 install kflash” でインストールする。
https://github.com/sipeed/kflash.py
https://github.com/sipeed/kflash_gui/blob/master/requirements.txt
kflash_guiのダウンロード:
Firmwareを更新(書き込み用のアプリ)
https://github.com/sipeed/kflash_gui/releases
2019年7月25日現在は1.3.2が最新のMacOS dmgファイルを入手可能です。私もこれを使っていました。ダウンロードして、アプリケーションフォルダに入れるだけで、インストール完了です。
(2022年3月18日現在の最新版は:2021/1/12リリースした 1.6.7が最新)
kflashを使って、最新のMaixPyファームウェアをSipeed Maixduinoに書き込みします。(最新のFirmwareを入手する方法は次の手順で説明する)
拡張子がbinになっている場合、自動的に「0x00000」というアドレス欄が現れますので、基本はそのままです。
Firmwareを書き込み中のスクリーンショットです。
このステップは実施しておいてください。
Firmwareの最新版のダウンロード
http://dl.sipeed.com/MAIX/MaixPy/release/master/
最新版のFirmareを入手したら、上のステップで、Sipeed Maixduinoに書き込んでください。
(2022年3月18日最新は:0.6.2_72)
MaixPy IDEのダウンロード
Sipeed製品ファミリーの専用IDE(統合開発環境)
http://dl.sipeed.com/MAIX/MaixPy/ide/v0.2.3/
ダウンロードして、アプリケーションフォルダに入れるだけで、インストール完了です。
(2022年03月18日現在の最新は0.2.5:https://dl.sipeed.com/shareURL/MAIX/MaixPy/ide/v0.2.5)
顔認識プログラム
MaixPy IDEを開いて、新しいファイルを作成します。
左上の白い「ファイル」のアイコンをクリックします。
1)左下にある、緑のリンクをクリックしてxxxxxx_speed0を選んでください。
xxxxxx_speed1もありますが、それはESP32の方だそうです。OKをクリックしたら、Sipeed Maixduinoと接続を完了します。
2)顔認識してもらうために、学習済みのファイルをアップロードしなければいけません。
http://dl.sipeed.com/MAIX/MaixPy/release/maixpy_v0.3.2/
この学習済モデルファイルをダウンロードしておいてください。
次、使います。
次、kflash_guiを起動して、先のモデルファイルを見つけて、Flashに書き込みます!
3)そこに、下記のコードを貼り付けてください。
import sensor import image import lcd import KPU as kpu lcd.init() sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.run(1) task = kpu.load(0x300000) # you need put model(face.kfpkg) in flash at address 0x300000 # task = kpu.load("/sd/face.kmodel") anchor = (1.889, 2.5245, 2.9465, 3.94056, 3.99987, 5.3658, 5.155437, 6.92275, 6.718375, 9.01025) a = kpu.init_yolo2(task, 0.5, 0.3, 5, anchor) while(True): img = sensor.snapshot() code = kpu.run_yolo2(task, img) if code: for i in code: print(i) a = img.draw_rectangle(i.rect()) a = lcd.display(img) a = kpu.deinit(task)
4)次は、ファイルを転送する
MaixPy IDE画面の左下にある、「実行」ボタンを押すと、プログラムがコンパイルされ、Sipeed Maxiduinoに書き込んで、実行します。
これで、できるはずです!
できました!顔認識!
ちなみに、この顔もGANで生成した顔で、この地球上に実在していません!
色々Sipeed Maixduinoの独自のやり方が分かりました。普通のArduino IDEとはちょっと違う経験かもしれまあせん。(Arduino IDEでのやり方は私がまだ知らないだけかもしれません) pic.twitter.com/9L96RJlFMz
— 著書:今すぐ試したい!機械学習・深層学習(ディープラーニング)画像認識プログラミングレシピ (@kokensha_tech) July 25, 2019
まとめ
今回は、私がMacOSの環境で実施しました。
ネット上では、WindowsやLinuxの環境で実行する手順の説明が多かった気がします。
これからMacOSで実施する人の参考になれば嬉しいです。
何かフィードバック等がありましたら、Twitterでもご連絡ください。
[amazonjs asin=”B07T1B8T6S” locale=”JP” title=”Sipeed Maixduinoキット RISC-V AI + IoT用 RISC-V 64 開発ボード ESP32モジュール MAIX Edge AIモジュール”]