K210学习笔记(九):KPU之人脸识别

这篇具有很好参考价值的文章主要介绍了K210学习笔记(九):KPU之人脸识别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

K210进入到这里总算是要进入这块板子的精髓部分了,超低功耗配备的超强算力,所谓的KPU可以理解成显卡,可以给模型的运算提提速。我们来简单介绍一下KPU部分(来源MicorPython从0到1):

KPU 是 K210 内部一个神经网络处理器, 它可以在低功耗的情况下实现卷积神经网络计算,实时获取被检测目标的大小、 坐标和种类,对人脸或者物体进行检测和分类。 KPU 具备以下几个特点: ➢ 支持主流训练框架按照特定限制规则训练出来的定点化模型 ➢ 对网络层数无直接限制,支持每层卷积神经网络参数单独配置,包括输 入输出通道数目、输入输出行宽列高 ➢ 支持两种卷积内核 1x1 和 3x3 ➢ 支持任意形式的激活函数 ➢ 实时工作时最大支持神经网络参数大小为 5.5MiB 到 5.9MiB ➢ 非实时工作时最大支持网络参数大小为(Flash 容量-软件体积) 目前我们主要在KPU上跑YOLO的框架目标算法。通过封装我们可以不考虑底层的问题,直接运用。下面我们来看一下相关的函数。

k210 kpu,K210学习笔记,学习,嵌入式硬件,计算机视觉,Powered by 金山文档
k210 kpu,K210学习笔记,学习,嵌入式硬件,计算机视觉,Powered by 金山文档

如果我们将模型下载进了sd卡中(利用读卡器将模型直接copy进来即可),如果没有sd卡,我们可以把模型烧录到flash中(不得不提着flash真大),但是在这里还是建议大家将模型下载进sd卡中(又不贵不是)。其余KPU相关函数在这里KPU相关函数

下面我们就可以利用KPU加速以及现有的YOLO模型进行人脸检测咯(YOLO的具体的训练生成模型在这里不是我们所考虑的,可以去自学一下相关的部分),下面我们就来实现一下关于人脸检测的相关功能吧,代码如下:

import sensor, image, time,lcd, gc
from maix import KPU
#lcd初始化

lcd.init()
#摄像头初始化
sensor.reset()
sensor.set_pixformat(sensor.RGB565)#设置摄像头显示格式为RGB565
sensor.set_framesize(sensor.QVGA)#设置摄像头分辨率大小为320*240
sensor.set_vflip(1)#设置摄像头后置
sensor.skip_frames(20)#跳过二十帧等摄像头稳定
clock=time.clock()#启动一个定时器计算帧率
od_img=image.Image(size=(320,256))
#构建KPU对象

anchor = (0.893, 1.463, 0.245, 0.389, 1.55, 2.58, 0.375, 0.594, 3.099, 5.038, 0.057, 0.090, 0.567, 0.904, 0.101, 0.160, 0.159, 0.255)
kpu=KPU()
#加载KPU模型(提前将kpu模型置于sd卡根目录下)
kpu.load_kmodel("/sd/yolo_face_detect.kmodel")
kpu.init_yolo2(anchor, anchor_num=9, img_w=320, img_h=240, net_w=320 , net_h=256 ,layer_w=10 ,layer_h=8, threshold=0.7, nms_value=0.3, classes=1)
while True:
      clock.tick()#启动计算帧率
      img=sensor.snapshot()#拍摄照片
      a=od_img.draw_image(img,0,0)
      od_img.pix_to_ai()#将图片改变成AI运算需要的形式即RGB888格式
      #将摄像头采集的图片输送到kpu和yolo模型运算
      kpu.run_with_output(od_img)
      dect=kpu.regionlayer_yolo2()
      fps=clock.fps()
      if len(dect)>0: #识别人脸
          print("dect",dect)
          for l in dect:#画矩形
              a=img.draw_rectangle(l[0],l[1],l[2],l[3],color=(0,255,0))
      a=img.draw_string(0,0,"%2.1ffps" %(fps),color=(0,60,128),scale=2.0)#显示屏显示FPS
      lcd.display(img)
      gc.collect()#内存回收
kpu.deinit()

在这里其实我是遇到了一些问题的,比如关于函数image.draw_image这个函数,我的理解实际上就是将一个照片copy到新的照片路径中,而image.pix_to_ai()这个函数我确实费了点功夫,最终在spieed关于K210的API文件中找到了关于这个函数的介绍,就是把前面摄像头捕捉到的RGB565格式的彩色图片转成了RGB888格式。这里还有一个要注意的是auchor这个参数,是由训练模型得到的,这个参数里的值是不能进行修改的。(当然不同的模型这个参数是不同的,只是一个模型有一个固定的auchor值)

今天关于K210的KPU的第一次实战内容就进行到这里,后续会更新一些关于这个YOLO模型训练的问题,目前可知的是spieed公司有线上训练平台,但是到比赛的时候肯定是用不上的,本地如何训练的问题等我学会了会分享给大家。今天的分享就到这里吧文章来源地址https://www.toymoban.com/news/detail-518009.html

到了这里,关于K210学习笔记(九):KPU之人脸识别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【K210开发板】人脸识别+ SD卡断电存储 --实时按键录取人脸信息并识别

    人脸识别就是在人脸检测的基础上,除了检测人脸的位置外,还可以检测出这个人是谁(需要先对准人按按钮学习)。 先到 maixhub 按照说明下载模型, 获得模型smodel, 就是 加密版本的kmodel。下载后缀为.smodel模型需要用到机器码。机器码是 一机一码 的一种加密方式,用于模型

    2024年02月02日
    浏览(108)
  • 【K210】K210学习笔记五——串口通信

    本人大四学生,电赛生涯已经走到尽头,一路上踩过不少坑,但运气也不错拿了两年省一,思来想去,决定开始写博客,将电赛经验分享一二,能力有限,高手轻喷。 往期的博客讲述了 K210 的感光元件模块 sensor 的配置,机器视觉模块 image 中部分函数的使用(目前是用 find

    2024年04月28日
    浏览(47)
  • 【K210】K210学习笔记二——image

    本人大四学生,电赛生涯已经走到尽头,一路上踩过不少坑,但运气也不错拿了两年省一,思来想去,决定开始写博客,将电赛经验分享一二,能力有限,高手轻喷。 本篇主要是介绍 K210 上的 image 机器视觉模块。如果你要使用 K210 来进行一些颜色追踪( 比如识别黑色,传回

    2024年02月16日
    浏览(48)
  • 【K210】K210学习笔记四——定时器的使用

    本人大四学生,电赛生涯已经走到尽头,一路上踩过不少坑,但运气也不错拿了两年省一,思来想去,决定开始写博客,将电赛经验分享一二,能力有限,高手轻喷。 往期的博客讲述了 K210 的感光元件模块 sensor 的配置,机器视觉模块 image 中部分函数的使用(目前是用 find

    2024年02月03日
    浏览(89)
  • K210学习笔记(七)——MAIX BIT(K210)拍照

    MAIX BIT使用的是OV5642,像素为500w,但实际使用只有30w,但对于物体检测,人脸识别是够用的,用maix bit进行拍照,所得照片可以直接用于后面的数据集训练,减少了图片格式转换这一步骤。 参数说明: freq : 设置摄像头时钟频率,频率越高帧率越高,但是画质可能更差。默认

    2024年02月15日
    浏览(37)
  • K210学习笔记(二) K210与STM32进行串口通信,K210收,STM32发

    想用STM32通过串口给K210发数据,并在屏幕上显示,看了好几篇博客,终于搞通了,大家感兴趣也可以看看。 K210学习笔记(一) K210与STM32串口通信相关 接线,STM32的串口引脚比较固定,而K210就牛比了,任意映射,懒人福音。这里我找了两个没有被复用的IO,IO9和IO10 STM32 K210 GND

    2023年04月08日
    浏览(40)
  • 【K210】K210学习笔记三——按键、LCD、LED的使用

    本人大四学生,电赛生涯已经走到尽头,一路上踩过不少坑,但运气也不错拿了两年省一,思来想去,决定开始写博客,将电赛经验分享一二,能力有限,高手轻喷。 往期的博客讲述了 K210 的感光元件模块 sensor 的配置,机器视觉模块 image 中部分函数的使用(目前是用 find

    2024年02月11日
    浏览(48)
  • K210人脸追踪

    老样子了先看视频 K210人脸追踪 你需要准备一个人脸识别模型 然后一个云台就行了 代码附上了,模型直接去01科技官网或者sipeed的官网上下载就行。

    2024年02月14日
    浏览(36)
  • K210学习笔记——MaixHub在线训练模型(新版)

      最近sipeed推出了新版的maixhub在线训练平台,因为前端时间比较忙没有时间来体验新版的功能,最近闲下来后赶忙来体验一下。新版maixhub对浏览器有要求的,比如不支持qq浏览器,推荐使用Chrome、Microsoft Edge、Firefox、Safari等浏览器。点击这里跳转新版maixhub。   新版mai

    2023年04月08日
    浏览(38)
  • K210学习笔记(六):摄像头的应用

    在学习了利用lcd显示固定文件的照片之后。我们知道的是手上的这块K210开发板还集成了一枚摄像头模块,因此我们就可以利用摄像头模块捕捉照片并且实时的显示在板载lcd显示屏和IDE上,我们知道视频实际上由一帧一帧的照片组成,所以我们只需要让摄像头不断地拍照片,然

    2024年02月12日
    浏览(84)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包