开发者手机 ai -凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 22894
  • 博文数量: 15
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 165
  • 用 户 组: 普通用户
  • 注册时间: 2023-08-21 10:33
文章分类
文章存档

2024年(9)

2023年(6)

我的朋友
最近访客
相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: 其他平台

2024-04-11 16:07:51

功能简介
该应用是在openharmony 4.0系统上开发的一个目标识别的ai应用,旨在从上到下打通openharmony ai子系统,展示openharmony系统的ai能力,并为开发者提供ai应用的demo。应用程序通过相机进行预览,对预览画面中的物体进行目标识别,目前该应用程序支持识别100种物体。
系统架构
下图为demo应用以及openharmony ai子系统的架构图。

目标识别

  • js实现ui界面的功能;

  • native接口及实现主要为js提供接口进行ai推理。通过native方式完成推理的前处理、推理以及后处理,这里通过调用opencv、mindspore lite的api接口实现主要功能;

  • mindspore lite为openharmony ai推理框架,为上层应用提供统一的ai推理接口,可以完成在手机等端侧设备中的模型推理过程;

  • neural network runtime 神经网络运行时,作为中间桥梁连通上层ai推理框架和底层加速芯片,实现ai模型的跨芯片推理计算。提供统一ai芯片驱动接口,使ai芯片驱动能够接入openharmony系统。

  • nnrt host 实现了nnrt hdi接口功能,通过对接底层ai芯片接口为上层应用提供npu硬件推理的能力。



  • js从相机数据流获取一张图片,调用native的接口进行目标识别的处理。native接口完成目标识别后将结果返回给js,在预览中标识识别的物体。

  • native提供了4个接口:


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接口实现推理。后处理主要对推理结果进行处理,使结果可以呈现到界面上。

代码路径



阅读(518) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图