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

这篇具有很好参考价值的文章主要介绍了【K210开发板】人脸识别+ SD卡断电存储 --实时按键录取人脸信息并识别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、人脸识别

1.获取机器码

人脸识别就是在人脸检测的基础上,除了检测人脸的位置外,还可以检测出这个人是谁(需要先对准人按按钮学习)。
先到 maixhub 按照说明下载模型, 获得模型smodel, 就是 加密版本的kmodel。下载后缀为.smodel模型需要用到机器码。机器码是一机一码的一种加密方式,用于模型文件的加密。如果使用别的机器码去加密或者下载以 smodel 为文件后缀的模型文件,开发板是无法使用该模型文件的。将 key_gen.bin 这个固件通过 Kflash 烧录到开发板上。烧录这个机器码固件之后,开发板是处于一个不能使用的状态(就是什么功能都不能使用,包括IDE也无法连接开发板),上电屏幕只会变成一个白屏。
【K210开发板】人脸识别+ SD卡断电存储 --实时按键录取人脸信息并识别

获取机器码的步骤:https://bbs.sipeed.com/thread/426

使用串口调试助手。波特率为115200,按键复位键,看到机器码,将其复制下来,保存后面会用到。
【K210开发板】人脸识别+ SD卡断电存储 --实时按键录取人脸信息并识别

2.下载并烧录.smodel文件和固件

  • 下载 固件.smodel 文件

进入网站,输入自己的机器码,下载三个.smodel模型文件,对应地址分别是 0x300000, 0x400000, 0x500000,文件以自己的机器码命名(注意一定要用自己开发板的机器码下载,否则开发板识别不了加密的.smodel文件)

注意:这里有个坑,我用搜狗浏览器下载每次只下一个文件,找了好久的问题,最后用谷歌浏览器下载成功,真坑人啊

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

到下载站下载并用 kflash 烧录V4模型的固件支持固件,将第一个烧录进开发板,地址为0x000000,如果要使用ide注意要下载支持ide的固件,不然是连接不上ide的,

maixpy_v0.6.2_32_gf1cc361a5_openmv_kmodel_v4_with_ide_support.bin

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

  • 烧录 固件.smodel 文件

将 三个.smodel 文件烧录到开发板,注意要一个一个烧录,地址不能错
【K210开发板】人脸识别+ SD卡断电存储 --实时按键录取人脸信息并识别

3.断电存储 SD卡

增加了讲按键录入的信息存储到sd卡,断电不丢失。
但是需要在代码中预先定义好名字信息,录入信息的时候,需要按照代码中定义的顺序录入。
开发板上电先判断SD卡是否存在txt文件,若存在文件则读取名称信息,并匹配识别到的人脸

#=================内存卡===================#
feature_file_exists = 0
for v in os.ilistdir('/sd'):#to check key directorys or files in sd card.sd card should be formated to fat32
    if v[0] == 'features.txt' and v[1] == 0x8000:#0x8000 is file
        feature_file_exists = 1

#================内存卡读写操作================#
record_ftr=[] #空列表 用于存储当前196维特征
record_ftrs=[] #空列表 用于存储按键记录下人脸特征, 可以将特征以txt等文件形式保存到sd卡后,读取到此列表,即可实现人脸断电存储。
names = ['zhang san', 'member.2', 'member.3', 'member.4', 'member.5', 'member.6', 'member.7', 'member.8', 'member.9' , 'member.10'] # 人名标签,与上面列表特征值一一对应。

record = []
def save_feature(feat):
    with open('/sd/features.txt','a') as f:
        record =ubinascii.b2a_base64(feat)
        f.write(record)
if(feature_file_exists):
    print("start")
    with open('/sd/features.txt','rb') as f:
        s = f.readlines()
        print(len(s))
        for line in s:
            record_ftrs.append(bytearray(ubinascii.a2b_base64(line)))

4、报错解决:

报错:only support kmodel V3/V4 now
MaixPy AI 硬件加速基本知识

基本图像变换 和 常用操作

【K210开发板】人脸识别+ SD卡断电存储 --实时按键录取人脸信息并识别
**原因:**模型未烧录或者烧录地址错误,重新烧录下模型文件

程序理解:
总共用了三个模型, 分别是:
人脸检测模型, 这和前面的人脸检测使用的是同一个模型, 即找到人脸
人脸关键点检测模型,从前面找到的人脸中找到人脸的 眼睛 鼻子 和 嘴巴 的位置
人脸特征提取模型, 从一张人脸图片中得出一个特征值
步骤如下:
1、检测到人脸
2、裁出人脸,找到人脸的眼睛鼻子嘴巴, 这里裁成了128x128的图
3、把人脸图中的脸旋转到标准位置
4、用特征提取模型提取出人脸的特征值

1、加载各种模型
2、运行人脸检测模型,在图片中找到人脸位置并框出人脸
3、将裁出的人脸图片转换成kpu接收的格式
4、运行人脸5点关键点模型,获取到左眼、右眼、鼻子、左嘴角、右嘴角的位置
5、对原始图片人脸图片进行仿射变换,变换为正脸图像,将正脸图像转为kpu格式
6、使用人脸196维特征值模型计算正脸图片的196维特征值,计算得到最终的人脸特征feature
再将得到的人脸特征与之前保存过的人脸特征进行对比得到一组分数,选择其中最大的一个分数,且该分数超过85分(可以自己设置)就认为识别出该人,并根据对应下标从names列表中得到该人的姓名。

参考:
https://www.maixhub.com/modelInfo?modelId=14
https://blog.csdn.net/HuangChen666/article/details/113995079
https://wiki.sipeed.com/soft/maixpy/zh/course/ai/image/face_recognization.html文章来源地址https://www.toymoban.com/news/detail-433012.html

到了这里,关于【K210开发板】人脸识别+ SD卡断电存储 --实时按键录取人脸信息并识别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • K210人脸追踪

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

    2024年02月14日
    浏览(34)
  • K210——声源定位、声音识别

    来了,K210的声源定位。 2022电赛] 声源定位跟踪系统(E题)k210 麦克风阵列效果实测! sipeed官方做的,效果还不错。 sipeed家的声源定位模块,K210常用的都可以用 将麦克风阵列模块与 pyAI-K210 使用 FPC 10P 排线进行连接,接口在开发板背部(排线金手指下接)。 麦克风阵列扩

    2024年02月16日
    浏览(69)
  • 2023 电赛 E 题 K210 方案--K210实现矩形识别

    reset():重置并初始化单目摄像头 set_pixformat():设置摄像头输出格式,可选的帧格式有 GRAYSCALE ,  RGB565 ,  YUV422,需要根据自己的摄像头进行修改 set_framesize(): 设置摄像头输出帧大小,最大支持VGA格式,推荐设置为QVGA格式 skip_frames():跳过指定帧数或者跳过指定时间内的图像

    2024年02月14日
    浏览(37)
  • K210学习笔记(七):画图与颜色识别

    在之前我们学会了关于K210的摄像头与lcd的一些应用,那么今天我们了解一些关于K210的一些画图的方法和利用K210进行颜色识别。 首先我们明确,什么是画图,为什么要画图。画图指在图片上画出圆,方框,箭头,十字交叉或者字符。我们为什么要画图,其实一个基础的应用就

    2024年02月15日
    浏览(39)
  • K210摄像头矩形图坐标识别

    我接触的第一个硬件项目是设计一个简陋的智能视觉小车,我在项目里的任务是识别一张纸上六个目标点坐标然后发送给小车。 图一  场地样式 就是将上图六个点的坐标识别然后传输给小车。 识别效果大概是这样:  图二 识别效果 因为是第一次做这样的项目,第一次使用

    2024年02月16日
    浏览(44)
  • k210部署自行训练的口罩识别模型

    因为培训需要,开坑K210,前后忙活了3天终于把自行训练的口罩模型部署成功了,实测还行,分享一下经(ni)验(keng): 本人学过一段时间python,见过别人玩开源硬件(没动过手),接触过一点人工智能项目的理论知识(观课议课),先自己体验一下半个项目的过程。 1.资

    2023年04月09日
    浏览(44)
  • K210学习笔记(八):颜色识别计数与二维码识别

    宿醉断更enmmm(喝多太难受了)。前面我们介绍了使用K210进行颜色识别,在实际工程中,我们可能不止需要单纯的识别出来颜色,可能还需要计数(比如前段时间看到的有串串店利用摄像头拍照识别签子数的),当然,识别签子数肯定不是简单的颜色识别计数能解决的,为了

    2024年02月13日
    浏览(39)
  • K210学习笔记(十):KPU之物体识别

    进行到KPU的又一个应用咯,其实跟前一个人脸识别的应用没有太多的不同。物体识别这里可是分类二十个物体,而人脸识别只是一个简单的二分类问题。(理论上机器学习也能做但是效果咋样就不知道了)。 大概的程序思路跟上一个实验也是一致的,将该用的函数库导入之后

    2024年02月13日
    浏览(43)
  • K210识别应用:基于yolov2模型的数字识别控制舵机

              注:此文章转载于本人的微信公众号:Young L童鞋                                                                           关注我,走进嵌入式江湖  电赛期间,在实验室学长的引领下入手了一块K210,在很多比赛中,K210的作用是用来做视觉部分,当然也可以用到

    2024年02月15日
    浏览(35)
  • 【01Studio MaixPy AI K210】13.颜色识别

    目录 导包: image库 LAB模型 例程: 测试图片  

    2024年02月14日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包