开发者手机AI - 目标识别demo

功能简介

该应用是在Openharmony 4.0系统上开发的一个目标识别的AI应用,旨在从上到下打通Openharmony AI子系统,展示Openharmony系统的AI能力,并为开发者提供AI应用的demo。

应用程序通过相机进行预览,对预览画面中的物体进行目标识别,目前该应用程序支持识别100种物体。

系统架构

下图为demo应用以及Openharmony AI子系统的架构图。

目标识别demo:

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

代码路径

相关推荐
修己xj30 分钟前
复制即所得:PasteMD让Markdown粘贴Office不再有格式烦恼
开源
GitCode官方3 小时前
GLM-Image 上线 AtomGit,国产芯片训练的多模态开源模型开放使用
开源
文慧的科技江湖7 小时前
重卡的充电桩一般都是多少千瓦? - 慧知开源充电桩平台
java·开发语言·开源·充电桩开源平台·慧知重卡开源充电桩平台
OctShop大型商城源码8 小时前
免费开源大型多商家多用户商城系统_可商用_无需授权_OctShop
开源·商城系统·积分系统·多用户商城·多商家商城系统
OpenTiny社区8 小时前
TinyPro v1.4.0 正式发布:支持 Spring Boot、移动端适配、新增卡片列表和高级表单页面
java·前端·spring boot·后端·开源·opentiny
小希smallxi10 小时前
FFmpeg: 免费、开源、跨平台的多媒体处理工具集
ffmpeg·开源
2501_9061505611 小时前
开源问卷系统DWSurvey部署方式记录-原生包部署
开源
ai产品老杨11 小时前
集绿色智能方法与智能系统等前沿技术于一体的智慧能源完成开源
支持向量机·开源·能源·散列表·启发式算法·模拟退火算法
大犀牛牛12 小时前
开放签电子签章系统3.3.1版本更新内容
开源·数字签名·电子合同·电子签章
CoookeCola13 小时前
新一代 AI 模型与多模态 Agent 项目(2026/01/14近期)
人工智能·计算机视觉·ai作画·开源·音视频