0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

M5UnitV2のUnitV2FrameworkでObject Recognitionを動かすには

Last updated at Posted at 2023-12-03

概要

M5UnitV2のUnitV2Frameworkでプログラムをビルドした上で実行すると、
UnitV2Frameworkに含まれているサンプルプログラムの「object_recognition」が動作しない不具合が発生した。
これを修正して、Object Recognitionを動かす。

不具合の内容

ncnnの学習モデルを読み込んだところで、Segmentation fault が発生する。

$ ./object_recognition

function: Object Recognition start.
{"msg":"Running Object Recognition, Copyright 2021 M5Stack Technology Co., Ltd. All rights reserved.","running":"Object Recognition"}
Model Type: YOLO v3
Load ./model/unitv2/yolo_20class/ Successfull, Class: 21
Segmentation fault (コアダンプ)

原因と修正場所

UnitV2Frameworkのsrc/framework.cppの内、loadModel()関数の中の処理で、関数がint型なのに、値を返していなかった。
「return 0;」を追加してビルドをやり直したところ、問題なく動作するようになりました。

src/framework.cpp
int loadModel(const std::string pathparam, const std::string pathbin, ncnn::Net &net){
    net.load_param(pathparam.c_str());
    net.load_model(pathbin.c_str());
    net.opt.openmp_blocktime = 0;
    net.opt.lightmode = true;
    net.opt.num_threads = ncnn::get_cpu_count();
    
+   return 0;
}

その後

このプルリクは以下になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?