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

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

前言

【MaixPy系列教程:】

  • 【MaixPy教程】用maixHub训练模型进行开源硬件识别
  • 【MaixPy 教程】用mixly玩转K210——口罩识别
  • 【MaixPy教程】用mixly玩转K210——调用AI_OneNET API实现车牌识别
  • 【MaixPy 教程】用mixly玩转K210——人脸追踪

【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']
在这里插入图片描述
3、通过模型解析i的标识号、和置信度(也就是获取字典中的“classID”与value值):
【MaixPy 教程】用mixly玩转K210——20类对象检测_第5张图片
4、通过机器视觉指令中的绘制矩形和绘制文本来标记识别对象的位置,对象的名字与置信度:
【MaixPy 教程】用mixly玩转K210——20类对象检测_第6张图片

程序演示

用mixly玩转K210——20类对象识别

你可能感兴趣的:(MaxiP学习)