サイトアイコン KOKENSHAの技術ブログ

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モジュール”]

https://www.sipeed.com/

 

 

目次

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)そこに、下記のコードを貼り付けてください。

https://github.com/sipeed/MaixPy_scripts/blob/898a941ffb7a9d90856dcb69d5b4f012babd0951/machine_vision/demo_find_face.py

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に書き込んで、実行します。

これで、できるはずです!

 

まとめ

今回は、私がMacOSの環境で実施しました。

ネット上では、WindowsやLinuxの環境で実行する手順の説明が多かった気がします。

これからMacOSで実施する人の参考になれば嬉しいです。

何かフィードバック等がありましたら、Twitterでもご連絡ください。

[amazonjs asin=”B07T1B8T6S” locale=”JP” title=”Sipeed Maixduinoキット RISC-V AI + IoT用 RISC-V 64 開発ボード ESP32モジュール MAIX Edge AIモジュール”]

モバイルバージョンを終了