该应用是在Openharmony 4.0系统上开发的一个目标识别的AI应用,旨在从上到下打通Openharmony AI子系统,展示Openharmony系统的AI能力,并为开发者提供AI应用的demo。
应用程序通过相机进行预览,对预览画面中的物体进行目标识别,目前该应用程序支持识别100种物体。
下图为demo应用以及Openharmony AI子系统的架构图。
目标识别demo:
static napi_value Init(napi_env env, napi_value exports) {
napi_property_descriptor desc[] = {
{"setconf", nullptr, setconf, nullptr, nullptr, nullptr, napi_default, nullptr},
{"Init", nullptr, ObjectDectionInit, nullptr, nullptr, nullptr, napi_default, nullptr},
{"Process", nullptr, ObjectDectionProcess, nullptr, nullptr, nullptr, napi_default, nullptr},
{"DeInit", nullptr, ObjectDectionDeInit, nullptr, nullptr, nullptr, napi_default, nullptr}};
napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc);
return exports;
}
setconf 设置目标识别置信度的阈值,对于目标识别置信度低于阈值的结果不做显示,默认为45%。
Init、DeInit 为Native的初始化和去初始化实现,主要对模型进行创建、编译以及销毁。
Process为异步NAPI接口,主要完成目标识别的功能。实现包括前处理、推理和后处理3个部分。前处理主要完成图片预处理,使图片数据符合模型的输入格式。推理就是调用MindSpore接口实现推理。后处理主要对推理结果进行处理,使结果可以呈现到界面上。
更多回帖