【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類對象識別