忘れそうな内容をメモしています

忘れっぽいのでメモ帳がわりに色々書いてます

kendryte-standalone-demoのマスク検出をmaix bitで動かしてみた

前回、nncaseのiris分類のコードをmaix bitで動かしてみましたが、 k210のサンプルコードとしてkendryte-standalone-demoも見つけたので試しに動かしてみました。 shintarof.hatenablog.com github.com

face_mask_detectというマスク検出のサンプルを見つけたのでそれを試してみましたが、ビルドするとiomem.hが無いとのエラーが出ました。

$sudo cmake .. -DPROJ=face_mask_detect -DTOOLCHAIN=/opt/kendryte-toolchain/bin
$sudo make

〜省略〜
[ 80%] Building C object CMakeFiles/face_mask_detect.dir/src/face_mask_detect/image_process.c.obj
/home/shintaro/maixpy/kendryte-standalone-sdk-0.5.6/src/face_mask_detect/image_process.c:18:10: fatal error: iomem.h: No such file or directory
 #include "iomem.h"

調べたところ、iomem.hやiomem.cはフォークされたこのリポジトリの中にあるようなので、それを使いました。 github.com

但し、この状態だとカメラが映らなかったので設定を以下に変えました。

$vim ../src/face_mask_detect/board_config.h 
#define  OV5640             1
#define  OV2640             0
↓
#define  OV5640             0
#define  OV2640             1

また、表示が上下が逆だったので以下を変えました。

$vim ../src/face_mask_detect/main.c 
#if BOARD_LICHEEDAN
    lcd_set_direction(DIR_YX_RLDU);
↓
#if BOARD_LICHEEDAN
    lcd_set_direction(DIR_YX_LRUD);

これでビルドしてmaix bitに転送するとマスク検出できるようになりました。

$sudo cmake .. -DPROJ=face_mask_detect -DTOOLCHAIN=/opt/kendryte-toolchain/bin
$sudo make -j8
$kflash face_mask_detect.bin -p /dev/ttyUSB0

左右反転してますね、ちなみにlcd_set_direction(DIR_YX_LRDU);にすると左右反転も解消されましたが、ラベルの文字が反転してしまいます。

少し調べてみます。