zoukankan      html  css  js  c++  java
  • K210识别水果模型

            勘智K210这款芯片由著名的矿机公司嘉楠科技基于RISC-V架构进行研发设计,可根据业务场景需求扩展基础指令,具备较强的可编程能力。同时,勘智K210具备机器听觉与机器视觉两种能力,可以灵活适配人脸识别、目标检测、语音唤醒及识别等场景,是国内ASIC领域为数不多保持一定通用性的芯片。

    一、下载最新固件

    kflash下载地址:https://dl.sipeed.com/shareURL/MAIX/tools/kflash_gui/kflash_gui_v1.6.5

    固件下载地址:https://dl.sipeed.com/shareURL/MAIX/MaixPy/release/master

     二、将训练好的模型下载进TF卡根目录中

    注意:TF卡首次使用时请先格式化TF卡,之后再将模型下载至TF卡中

    模型下载地址:http://study.arduino-esp32.cn/study/K210/yolov2.kmodel

    三、下载MaixPy IDE

    https://dl.sipeed.com/shareURL/MAIX/MaixPy/ide

    将下方代码复制进IDE

     1 import time
     2 import sensor
     3 import lcd
     4 import image
     5 import KPU as kpu
     6 
     7 sensor.reset()                          #摄像头初始化
     8 sensor.set_pixformat(sensor.RGB565)     #彩色图
     9 sensor.set_framesize(sensor.QVGA)       #帧大小
    10 sensor.run(1)
    11 sensor.skip_frames(10)                  #跳帧数
    12 sensor.set_windowing((224,224))         #设置显示屏窗口显示大小
    13 sensor.set_vflip(1)                     #摄像头垂直镜像
    14 sensor.set_hmirror(1)                   #摄像头水平镜像
    15 
    16 lcd.init(freq=15000000,color=0x0000)    #显示屏初始化
    17 
    18 anchor= (1.2989, 1.5765, 2.3041, 2.7863, 3.0796, 4.4259, 4.3645, 4.3797, 5.4372, 5.8903) #锚点参数
    19 KPU = kpu.load("/sd/yolov2.kmodel")     #模型加载
    20 kpu.init_yolo2(KPU,0.6,0.3,5,anchor)    #yolo2初始化  并设置概率阈值以及锚点参数
    21 
    22 labels= ['apple', 'banana', 'orange'] #定义模型分类
    23 
    25 while True:
    26     img = sensor.snapshot()                                 #获取图像
    27     code = kpu.run_yolo2(KPU,img)                           #运行神经网络模型
    28     if code:
    29         for i in code:
    30             a=img.draw_rectangle(i.rect(),(0,255,0),2)      #将获取到模型用矩形框画出
    31             xx = int((i.x()+i.w())/2)                       #获取物品模型的X轴中心位置
    32             yy = int((i.y()+i.h())/2)                       #获取物品模型的Y轴中心位置
    33             a=img.draw_cross([xx,yy],0xFFFF,30,1)
    34             a = lcd.display(img)
    35             for i in code:
    36                 lcd.draw_string(i.x()+45, i.y()-5, labels[i.classid()]+" "+'%.2f'%i.value(), lcd.WHITE,lcd.GREEN)   #显示模型ID
    37     else:
    38         lcd.display(img)                        #否则仅显示图像

    选择自己对应的K210板卡

    点击连接至K210板卡,并选择对应的串口

     

     连接成功后点击运行即可

    四、 识别模型演示

     

  • 相关阅读:
    团队协议
    C++ 多继承和虚继承的内存布局(转)
    轻量级的.Net ORM框架介绍
    EF下CodeFirst、DBFirst与ModelFirst分析
    JDK方式
    JSON
    事务的ACID特性
    数据库查询
    Assets
    内部文件存储
  • 原文地址:https://www.cnblogs.com/GeGeBoom/p/14502692.html
Copyright © 2011-2022 走看看