3669|4

102

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

基于STM32H745的图像识别系统[标准格式版] [复制链接]

 

 

     

一、作品简介
本系统主要基于STM32Cube.AI和RT-AK软件包,依托CIFAR-10数据集通过STM32H745平台实现常规的图像识别。

二、系统框图
系统软硬件框图如下图:

(一)CUBE AI

X-CUBE-AI是STM32Cube.AI生态系统的STM32Cube扩展包部分,能够自动转换预训练人工智能算法(包括神经网络和经典机器学习模型),并将生成的优化库集成到用用户项目中,以此来扩展STM32CubeMX功能。下载好解压到相关目录后面用得到。

(二)RT-AK

RT-Thread AI Toolkit,简称RT-AK (RT-Thread AI 套件)RT-AK 是 RT-Thread 团队为 RT-Thread 实时操作系统所开发的 AI 套件,能够一键将 AI 模型部署到 RT-Thread 项目中,让用户可以 在统一的 API 之上进行业务代码开发,又能在目标平台上获极致优化的性能,从而更简单方便地开发端侧 AI 应用程序。在 RT-AK 支持下,仅需要一行命令,即可将 AI 模型部署到 RT-Thread 系统中。

(三)CIFAR-10数据集

CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每个类有6000个图像。有50000个训练图像和10000个测试图像。数据集分为五个训练批次和一个测试批次,每个批次有10000个图像。测试批次包含来自每个类别的恰好1000个随机选择的图像。训练批次以随机顺序包含剩余图像,但一些训练批次可能包含来自一个类别的图像比另一个更多。总体来说,五个训练集之和包含来自每个类的正好5000张图像。

三、各部分功能说明

(一)AI模型生成

利用RT-AK工具,生成集成AI模型的项目工程。

#python aitools.py --project=D:\Project-master\stm32-cifar --model_name ./Models/cifar10.tflite --platform stm32 --ext_tools D:\Program Files (x86)\stm32ai-windows-7.3.0\windows --clear

具体转换信息如下:

model_name         : cifar10

input              : input_1 [3072 items, 3.00 KiB, ai_u8, scale=0.003921568859368563, zero_point=0, (32, 32, 3)]

inputs (total)     : 3.00 KiB

output             : nl_21_fmt [10 items, 12 B, ai_u8, scale=0.00390625, zero_point=0, (1, 1, 10)]

outputs (total)    : 10 B

params #           : 85,834 items (88.45 KiB)

weights (ro)       : 90,568 B (88.45 KiB)

activations (rw)   : 67,456 B (65.88 KiB)

ram (total)        : 70,538 B (68.88 KiB) = 67,456 + 3,072 + 10

增加了三个文件夹:

以及二个文件,rt_ai_cifar10_model.c和rt_ai_cifar10_model.h。

(二)业务实现

图像识别的具体业务流程包括初始化、输入图像、模型运行、结果输出几个阶段,具体流程如下:

其核心业务代码如下:

rt_ai_buffer_t *work_buffer = rt_malloc(RT_AI_CIFAR10_WORK_BUFFER_BYTES+RT_AI_CIFAR10_IN_TOTAL_SIZE_BYTES+RT_AI_CIFAR10_OUT_TOTAL_SIZE_BYTES);

 

    model = rt_ai_find(RT_AI_CIFAR10_MODEL_NAME);

    if(model == RT_AI_NULL){

        return -1;

    }

    result = rt_ai_init(model, work_buffer);

    if(result != 0){

        return -1;

    }

 

    rt_memcpy(model->input[0], input_data0, RT_AI_CIFAR10_IN_1_SIZE_BYTES);

    result = rt_ai_run(model, ai_run_complete, &ai_run_complete_flag);

 

    if(ai_run_complete_flag){

        uint8_t *out = (uint8_t *)rt_ai_output(model, 0);

        int max_index = 0;

        for(int i = 1 ; i < 10 ; i++){

             if(out > out[max_index]){

                 max_index = i;

             }

        }

 

        rt_kprintf("cifar10 prediction: %s\n", cifar10_label[max_index]);

    }

    rt_free(work_buffer);

四、作品源码

见附件。

五、作品功能演示视频

应用编译后得到可执行程序。

系统启动后,LED已经闪烁起来:

用来识别的图片如下:

识别结果如下:

相关视频如下

 

CIFAR

 

六、项目总结

(一)项目文字总结

感谢Digi-Key & EEWORLD提供的机会,对整个项目来说,STM32H745I-DISCO的平台和各类软件包的配置耗费了较多时间,软硬件之间的GAP还是存在,尤其对于平台较为陌生的本人来说耗费了较多时间。作为嵌入式从业人员,一直觉得AI离我们太遥远,事实上整个产业已经深度AI化,其中端侧是非常重要的一环,可以看到各大厂家和不计其数的工程师在不断投入付出,最终让AI在MCU这种低资源平台落地变得不再遥远。

(二)帖子分享链接

【2022得捷电子创新设计大赛】物料开箱STM32H745I-DISCO

 基于STM32H745的图像识别系统

 

application.c

1.01 MB, 下载次数: 0

rt_ai_cifar10_model.c

3.27 KB, 下载次数: 0

rt_ai.c

7.35 KB, 下载次数: 0

rt_ai_runtime.c

3.31 KB, 下载次数: 0

rt_ai_common.c

1.09 KB, 下载次数: 0

rt_ai_core.c

4.33 KB, 下载次数: 0

最新回复

“嵌入式视觉” 是指在嵌入式系统中使用计算机视觉技术。换句话说,“嵌入式视觉”是指从视觉输入中提取出其背后含义的嵌入式系统。嵌入式系统可以是任何基于微处理器的系统,它们完成特定的工作,且随处可见;计算机视觉则使用数字处理和智能算法去理解图像或者视频,它是一个已经被研究很久,但仍然方兴未艾的领域。与过去10年中无线通信技术的流行相类似,嵌入式视觉 有望在今后10年得到广泛应用。   详情 回复 发表于 2022-11-7 15:07
点赞 关注(1)
 
 

回复
举报

6802

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

在图像识别的具体业务流程包括初始化、输入图像、模型运行、结果输出几个阶段具体流程说的很详细了

 
 
 

回复

301

帖子

2

TA的资源

一粒金砂(中级)

板凳
 

真不错,一直以来图像识别多是在电脑端实现的

 
 
 

回复

34

帖子

0

TA的资源

一粒金砂(中级)

4
 

基于STM32H745的图像识别系统[标准格式版],比较详细,不错

 
 
 

回复

35

帖子

2

TA的资源

一粒金砂(中级)

5
 

“嵌入式视觉” 是指在嵌入式系统中使用计算机视觉技术。换句话说,“嵌入式视觉”是指从视觉输入中提取出其背后含义的嵌入式系统。嵌入式系统可以是任何基于微处理器的系统,它们完成特定的工作,且随处可见;计算机视觉则使用数字处理和智能算法去理解图像或者视频,它是一个已经被研究很久,但仍然方兴未艾的领域。与过去10年中无线通信技术的流行相类似,嵌入式视觉 有望在今后10年得到广泛应用。

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表