咸鱼K210体验笔记—人脸检测

咸鱼K210体验笔记—人脸检测

写在前面:本人非专业人员,仅为此类爱好者。分享一下新手在体验K210的过程。入门踩坑(各种跳坑),希望大佬帮忙填上一二~。(所选设备都是K210。都想体验一下。欢迎大佬指点。)因为之前有些硬件使用基础所以K210只使用视觉相关功能。

人脸检测,简单来说就是告诉你将一幅图片中哪些是人脸。
构造函数

首先简单介绍一下 K210 的 KPU。KPU 是 K210 内部一个神经网络处理器,简单来说就是 KPU 能加载和运行各种现成的 AI 算法模型,实现各种机器视 觉等功能。 MaixPy 中人脸识别本质是目标检测,主要通过在 K210 的 KPU 上跑 YOLO(You Only Look Once)目标检测算法来实现。我们来看一下 KPU 在 MaixPy 下的 用法。

请按照以下步骤解锁人脸识别(滑稽)

1.下载模型模型地址

下载face_model_at_0x300000.kfpkg在这里插入图片描述
2.使用kflash浆把模型文件添加到开发板中,参数如下
在这里插入图片描述
3.下载成功就可以浪了
在这里插入图片描述
4.示例程序是github上的,我下面直接放的程序地址,需要可以自己下载。01科技文件里也有:路径:示例程序——机器视觉——人脸检测。

地址进去后选择机器视觉文件夹
在这里插入图片描述
5.导入代码人脸识别代码地址

#参考 http://blog.sipeed.com/p/675.html
import sensor,image,lcd
import KPU as kpu

lcd.init()
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
task = kpu.load(0x300000) #  你需要把模型(face.kfpkg)在闪存地址0x300000
# task = kpu.load("/sd/face.kmodel")#将模型放在 SD 卡中。
#模型描参数
anchor = (1.889, 2.5245, 2.9465, 3.94056, 3.99987, 5.3658, 5.155437, 6.92275, 6.718375, 9.01025)
#初始化 yolo2 网络
a = kpu.init_yolo2(task, 0.5, 0.3, 5, anchor)
while(True):
    img = sensor.snapshot()
    code = kpu.run_yolo2(task, img)#运行 yolo2 网络
    if code:
        for i in code:
            print(i)
            a = img.draw_rectangle(i.rect())
    a = lcd.display(img)
a = kpu.deinit(task)#反初始化

实现效果
在这里插入图片描述
构造函数

import KPU as kpu
#常用的 KPU 模块导入方法。

使用方法

扫描二维码关注公众号,回复: 11045786 查看本文章
函数 参数
kpu.load(offset or file_path) 加载模型。【offset】模型存放在 flash 的偏移量,如 0x300000;【file_path】模型在文件系统为文件名,如“xxx.kmodel”
kpu.init_yolo2(kpu_net,threshold,nms_value,anchor_num,anchor) 初始化 yolo2 网络;【kpu_net】kpu 网络对象【threshold】概率阈值;【nms_value】box_iou 门限;【anchor_num】描点数;【anchor】描点参数与模型参数一致。
kpu.run_yolo2(kpu_net,image) 运行 yolo2 网络;【kpu_net】从 kpu_load()中返回的网络对象;【image】从 sensor 中采集到的图像
kpu.deinit(kpu_net) 反初始化。【kpu_net】kpu 网络对象

参考地址:https://maixpy.sipeed.com/zh/libs/Maix/kpu.html
OK简单人脸识别就完成了。可以进行下一步了

发布了166 篇原创文章 · 获赞 22 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_45020839/article/details/104989872