【MaixPy 教程】用mixly玩转K210——20类对象检测

2020-04-297546
精华项目
AI 快速预览详细 收起
本教程介绍了如何使用MaixPy和Mixly在K210上实现20类对象检测。首先从maixhub AIoT模型平台下载yolo-tinyv2 20类对象检测模型,并刷入K210。然后通过Mixly编写程序,初始化摄像头和液晶屏,加载模型并解析字典数据,最终通过绘制矩形和文本来标记识别结果。此项目适合STEM教育和编程启蒙,帮助孩子掌握机器视觉基础。

【MaixPy 教程】用mixly玩转K210——20类对象检测

【MaixPy系列教程:】

前言

【MaixPy 教程】用mixly玩转K210——20类对象检测图1

maixhub AIoT模型平台中有一个模型是20类对象检测。可以支持检测:{“飞机”,“自行车”,“鸟”,“船”,“瓶”,“公共汽车”,“汽车”,“猫”,“椅子”,“牛”,“餐桌”,“狗”,“马” ','摩托车','人','盆栽植物','绵羊','沙发','火车','电视监视器'}
【MaixPy 教程】用mixly玩转K210——20类对象检测图2
那今天我们结合前面所学的知识,来做一个20类对象检测的案例!好了废话不多说,开干!!!

准备阶段

从maixhub AIOT模型平台,下载好yolo-tinyv2 20类对象检测,然后用kflash_gui刷入模型(如果不知道如何刷入模型的,和软件不知道到哪里下载的,可以看我之前的那篇文章【MaixPy教程】用maixHub训练模型进行开源硬件识别
【MaixPy 教程】用mixly玩转K210——20类对象检测图3
注:刷入flash地址:0x300000,或者是把模型文件存放到TF卡中

程序设计

1、首先对摄像头,液晶屏,和yolov2初始化后,来获取摄像头检测到数据信息。具体操作如下图所示:
【MaixPy 教程】用mixly玩转K210——20类对象检测图4

因为我们之前把模型刷入的地址是0x300000,所以在KPU加载模型的地址要和刷入模型地址一致!
在对摄像头获取到的图像进行yolov2 运行网络运算时,
返回的是一个字典{"x":68, "y":0, "w":149, "h":307, "value":0.705325, "classid":14, "index":0, "objnum":1}
这里我们需要用到“value”和"classid"键所对应的值。前者是置信度后者是对象ID。

2、定义一个列表classid = ['aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse', 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor']
【MaixPy 教程】用mixly玩转K210——20类对象检测图6
3、通过模型解析i的标识号、和置信度(也就是获取字典中的“classID”与value值):
【MaixPy 教程】用mixly玩转K210——20类对象检测图5
4、通过机器视觉指令中的绘制矩形和绘制文本来标记识别对象的位置,对象的名字与置信度:
【MaixPy 教程】用mixly玩转K210——20类对象检测图7

程序演示



创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -