【MaixPy 教程】用mixly玩转K210——20类对象检测
前言
【MaixPy系列教程:】
- 【MaixPy教程】用maixHub训练模型进行开源硬件识别
- 【MaixPy 教程】用mixly玩转K210——口罩识别
- 【MaixPy教程】用mixly玩转K210——调用AI_OneNET API实现车牌识别
- 【MaixPy 教程】用mixly玩转K210——人脸追踪
在maixhub AIoT模型平台中有一个模型是20类对象检测。可以支持检测:{“飞机”,“自行车”,“鸟”,“船”,“瓶”,“公共汽车”,“汽车”,“猫”,“椅子”,“牛”,“餐桌”,“狗”,“马” ','摩托车','人','盆栽植物','绵羊','沙发','火车','电视监视器'}
那今天我们结合前面所学的知识,来做一个20类对象检测的案例!好了废话不多说,开干!!!
准备阶段
从maixhub AIOT模型平台,下载好yolo-tinyv2 20类对象检测,然后用kflash_gui刷入模型(如果不知道如何刷入模型的,和软件不知道到哪里下载的,可以看我之前的那篇文章【MaixPy教程】用maixHub训练模型进行开源硬件识别)
注:刷入flash地址:0x300000,或者是把模型文件存放到TF卡中
程序设计
1、首先对摄像头,液晶屏,和yolov2初始化后,来获取摄像头检测到数据信息。具体操作如下图所示:
因为我们之前把模型刷入的地址是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']
3、通过模型解析i
的标识号、和置信度(也就是获取字典中的“classID”与value值):
4、通过机器视觉指令中的绘制矩形和绘制文本来标记识别对象的位置,对象的名字与置信度:
程序演示
用mixly玩转K210——20类对象识别