sipeed wiki logo

wiki

  • 产品
  • 开源软件
    • MaixPy
    • MaixPy_v1
    • Lichee
    • AI 指南
  • MaixHub
  • 动态
  • FAQ 汇总
  • Translate
  • 搜索
    输入关键词,多关键词空格隔开 正在加载,请稍候。。。 下载文件失败,请刷新重试或检查网络 来自其它文档的结果 当前文档搜索结果
  • MaixPy3 是什么?能做什么?
    • 如何获取、安装、使用?
    • 安装或配置 IDE 开发工具
      • 基于 USB 开发 MaixII-Dock
      • 基于 WIFI 开发 MaixSense
    • M2DOCK (V831)上手视觉指南
    • 遇到问题怎么办?
      • 如何正确反馈问题!
      • 常见问题与解决方法
    • 相关的基础知识
      • MaixPy 和 MaixPy3 的区别
      • 收录一些国内 Python 基础教程
      • 大佬鼠の嵌入式 Python 入门教程 [1]
      • 大佬鼠の嵌入式 Python 入门教程 [2]
      • 使用必应搜索 V831 M2DOCK 的内容
      • 咸鱼菌の MaixII-Dock 上手系列教程
      • 喏呐の【攻城狮成长记】
    • 开发者更新日志
      • 【项目开发基础】项目架构介绍
      • 【底层开发基础】编译安装测试
      • 【移植适配实例】开发新的平台
      • 【图像处理开发】传统视觉算法
  • 基础功能模块
    • 图像处理
      • 背景知识
      • 基础用法
      • 传统视觉
    • 硬件外设
      • GPIO (点灯)
      • I2C (pylibi2c)
      • PWM (脉冲宽度调制)
      • UART (pyserial)
      • SPI (spidev)
      • EVENT (evdev)
      • ADC* (模/数转换器)
      • WATCHDOG* (看门狗定时器)
    • 网络功能
    • 媒体功能
      • 视频播放 (pyav)
      • 录音与播放 (pyaudio)
  • 获取 AI 算法
    • 边缘检测 (sobel)
    • 物品分类 (resnet)
    • 物体检测 (yolov2)
    • 数字识别
    • 人脸识别
    • 自学习分类
    • 车牌识别
    • 在线训练 AI 模型
    • 本地训练 AI 模型
      • 深度神经网络基础知识 (必看)
      • 本地训练环境搭建
      • 边缘检测模型搭建过程
      • 如何制作数据集
      • 训练物体分类模型
      • 训练物体检测模型
  • 核心 API 手册
    • image
    • display
    • camera
    • nn

2023-04-20
编辑本页

1000种物品分类

更新时间 负责人 内容 备注
2021年12月2日 Rui 初次编写文档 ----
2022年12月15日 Rui 修改文档的编写方式 使用 Jupyter notebook 进行编写文档
2022年1月18日 Rui 修改文档,增加效果图 通过测试的平台有 MaixII-Dock,使用的是 MaixPy3 0.4.0
2022年3月15日 Rui 修改了部分 API 的使用方式
添加了 MaixSense 的使用方式
一定要将 MaixPy3 升级到 0.4.3 以上

运行效果

准备

  • 确认 MaixPy3 版本为 0.4.3 以上
  • 使用支持 MaixPy3 的硬件平台
  • 确认硬件可以正常启动
  • 确认烧录最新版本系统镜像

开始进行分类识别

不同的平台使用的模型量化工具不一样,部署的方式是一样的,只是部署的参数有所不同

在 MaixII-Dock 上部署

  • 20220113 以后的系统镜像都内置了模型文件 /home/model/ resnet18_1000_awnn.*(可以自行手动转换)
In [1]:

class Resnet:
    m = {
        "param": "/home/model/resnet18_1000_awnn.param",
        "bin": "/home/model/resnet18_1000_awnn.bin"
    }
    options = {
        "model_type":  "awnn",
        "inputs": {
            "input0": (224, 224, 3)
        },
        "outputs": {
            "output0": (1, 1, 1000)
        },
        "first_layer_conv_no_pad": False,
        "mean": [127.5, 127.5, 127.5],
        "norm": [0.00784313725490196, 0.00784313725490196, 0.00784313725490196],
    }
    def __init__(self):
        from maix import nn
        self.model = nn.load(self.m, opt=self.options)
    def __del__(self):
        del self.model
print(Resnet)
[ rpyc-kernel ]( running at Wed Jan 19 16:18:45 2022 )
<class 'rpyc.core.protocol.Resnet'>

在 MaixSense 上部署模型

  • 最新的 R329 Armbian 系统镜像中内置了模型文件 /home/model/aipu_resnet50.bin
In [ ]:

class Resnet:
    m = {
        "bin": "/home/model/aipu_resnet50.bin"
    }
    options = {
        "model_type":  "aipu",
        "inputs": {
            "input0": (224, 224, 3)
        },
        "outputs": {
            "output0": (1, 1, 1000)
        },
        "mean": [127.5, 127.5, 127.5],
        "norm": [0.0176, 0.0176, 0.0176],
        "scale":[7.539542],
    }
    def __init__(self):
        from maix import nn
        self.model = nn.load(self.m, opt=self.options)
    def __del__(self):
        del self.model
print(Resnet)

运行神经网络,进行分类识别

In [1]:
import sys 
sys.path.append("/home/res/") 
from classes_label import labels 
from maix import camera, nn, display
resnet = Resnet()
print(resnet.model)
while True:
    img = camera.capture().resize(224, 224)
    out = resnet.model.forward(img, quantize=True)
    msg = "{:.2f}: {}".format(out.max(), labels[out.argmax()])
    img.draw_string(0, 0, str(msg), 1, (255, 0, 0), 1)
    display.show(img)
No description has been provided for this image
Out[1]:
Traceback (most recent call last):
  File "<string>", line unknown, in <module>
Remote.KeyboardInterrupt

脱机运行

对于 M2Dock,前面说过开机启动代码顺序是 /root/app/main.py > /root/main.py ,所以在保存的时候自己注意下保存位置

边缘检测 (sobel)
物体检测 (yolov2)
  • 相关链接
    • Sipeed 官网
    • MaixHub
    • Sipeed 淘宝
    • 网站地图
    • 网站使用 teedoc 生成
  • 源码
    • Wiki 源码
    • 开源项目
  • 关注我们
    • twitter
    • 淘宝
    • github
    • 微信公众号
  • 联系我们
    • 电话: +86 0755-27808509
    • 商业支持: support@sipeed.com
    • 地址: 深圳市宝安区新湖路4008号蘅芳科技办公大厦A座-2101C
    • 加入我们
  • ©2018-2023 深圳矽速科技有限公司
  • 粤ICP备19015433号