K210的20种物体分类识别

K210物体20种分类检测


文章目录

  • K210物体20种分类检测
  • 前言
  • 一、找到模型原型以及固件
    • 获得K210对应的机器码
    • 获得官方模型
  • 二、识别20种不同物体的模型
    • 代码分析


前言

K210相对于openmv的实用性和上手性确实是略胜一筹,能合理的利用相关开源的模型做出视觉层次的应用出来在电子爱好制作者上是相当于有帮助的。


提示:以下是本篇文章正文内容,源文件是从官网上应用优秀作者的demo。

一、找到模型原型以及固件

获得K210对应的机器码

首先是通过官方渠道下载相应的固件
ken_gen_v1.2: 固件下载地址.
打开下载地址后,找到ken_gen_v1.2.bin文件后下载。
随后使用kflash烧录软件去对该固件烧录,注意烧录的到开发版上地址必须是0x00000上。
klfash: 烧录软件下载地址.
烧录进去后,按下复位键之后,打开串口助手并且将波特率调至115200,并且相关位为8-N-1
如下图所示,复制下机器码便可用于后面的模型下载
K210的20种物体分类识别_第1张图片
图片上的机器码为96c7031ecc54a525c583cb4cb1394c36,每块开发板属于自己的机器码都不相同.用自己开发板上的机器码去获得已经开源的模型的相关文件

获得官方模型

SipeedMaixHub官方模型: Sipeed MaixHub.
从上方的SipeedMaixHub库中找到自己需要下载的模型去下载并且应用
其中有一点比较重要的是需要找到自己K210的机器码,并且使用这个机器码去匹配所下的模型获得相关的demo以及smodel文件,并且按照相关的使用说明去进行相关操作

二、识别20种不同物体的模型

代码分析

代码如下(官方示例):

import sensor,image,lcd,time
import KPU as kpu

lcd.init(type=2)
lcd.rotation(2)#设置LCD的屏幕方向
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
#sensor.set_vflip(1) #flip camera; maix go use sensor.set_hmirror(0)
sensor.set_hmirror(1)#水平镜像
sensor.set_vflip(1)#垂直镜像
sensor.run(1)#开始捕捉图像
clock = time.clock()
classes = ['aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse', 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor']
task = kpu.load(0x800000)
anchor = (1.08, 1.19, 3.42, 4.41, 6.63, 11.38, 9.42, 5.11, 16.62, 10.52)#窗口的大小 采样的参照框
a = kpu.init_yolo2(task, 0.5, 0.3, 5, anchor)
while(True):
    clock.tick() #刷新率的效果,就是每秒多少帧的效果
    img = sensor.snapshot() #用img保存摄像头的照片
    code = kpu.run_yolo2(task, img)
    print(clock.fps())
    if code:
        for i in code:
            a=img.draw_rectangle(i.rect())
            a = lcd.display(img)
            for i in code:
                lcd.draw_string(i.x(), i.y(), classes[i.classid()], lcd.RED, lcd.WHITE)
                lcd.draw_string(i.x(), i.y()+12, '%f1.3'%i.value(), lcd.RED, lcd.WHITE)
    else:
        a = lcd.display(img)
a = kpu.deinit(task)

在相应的smodel要下载进去0x800000 flash的位置,并且要在0x0000位置上下载相应的最新的所需固件来支持相关的模块。下载完固件之后可以使用maixpy去运行该代码,同时20类物体也能通过该脚本的classes去进行修改自己所要识别的物体。并且可以参考1000类物体分类识别。
**许多的开源模型都能在maixHub中下载并且使用在K210上。

你可能感兴趣的:(K210,python,目标检测,opencv,视觉检测)