【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别

知识点:人脸识别
从古至今,人脸是进行身份辨识的重要方式。在古代,政府为了达到对特定人员的身份识别、防控围捕的目的,会发布“海捕文书”。海捕文书中包括了人员的画像、涉案信息等,通过悬赏及威慑测试调动人民群众积极性,实现对人员的发现、举报、抓捕;在现代,在身份证、驾驶证、护照等重要的个人证件上,均会印刷或粘贴人脸照片,但是这种身份识别本质上是“见物如见人,认物不认人”,它忽视了人们最本质的需要,而人脸识别技术的出现和日益成熟,在实际应用中显现出巨大的优势。

人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术。针对输入的人脸图像或者视频流,首先判断其是否存在人脸,如果存在人脸,则进一步的给出每个脸的位置、大小和各个主要面部器官的位置信息。然后依据这些信息,进一步提取每个人脸中所蕴涵的身份特征数据,并将其与已知的人脸进行对比,从而识别每个人脸的身份。人脸识别主要用于身份识别。由于视频监控正在快速普及,众多的视频监控应用迫切需要一种远距离、用户非配合状态下的快速身份识别技术,以求远距离快速确认人员身份,实现智能预警,而人脸识别技术无疑是最佳的选择。

人脸识别技术优势
• 非强制性:系统在用户在无意识的状态下就可获取人脸图像,不需要专门配合;
• 非接触性:用户不需要和设备直接接触,就能获取人脸图像,提取人脸特征进行检测;
• 并发性:在实际应用场景下可以进行同时多个人脸的分拣、判断及识别;
除此之外,还有操作简单、结果直观、隐蔽性好等特点。

【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第1张图片

Maixpy人脸识别模型(Maixpy Face-Recognition Model)

  1. 获取key gen机器码(Get key Gen machine code)
  2. 下载此模型 (Download this model)
  3. 使用kflash烧录模型 (Burning model with kflash)
  4. 获 取mpy脚本 (Get MPY script)
  5. 使用Maixpy ide 运行脚本 (Running scripts using maixpy IDE)
  6. 使用boot按键录入人脸 (Using the boot button to enter the face)
  7. 开始识别 (Start recognition)

【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第2张图片

第一步:获取key gen机器码(Get key Gen machine code)并下载

下载地址:https://en.bbs.sipeed.com/upload … 7688784e2ef14d1.zip

解压到 key_gen_v1.2.bin

【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第3张图片

第二步:使用kflash_gui 烧录key_gen_v1.2.bin

【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第4张图片
【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第5张图片
【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第6张图片
【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第7张图片

Generate key end 生成密钥结束

【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第8张图片

第三步:获取mpy脚本 (Get MPY script)

demo_face_recognition.py

【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第9张图片

第四步:把开发板的固件重新烧录一次
(这里使用maixpy_v0.5.0_31_gd3e71c0.bin)

【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第10张图片

打开串口,确认开发板固件版本

【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第11张图片

第六步:填写32位机器码,点击提交即可获得人脸识别模型

注意:此步点击提交后需耐心等待约30秒,未开始下载前请不要关闭页面。
Note: Please wait patiently for about 30 seconds after clicking Submit in this step Please do not close the page before downloading…

【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第12张图片
【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第13张图片

第七步:可以将获得的kfpkg后缀改为zip, 解压获得四个模型文件以及Maixpy精简版固件。kfpkg中打包的Maixpy固件可能会版本过时, 用户可以自行替换为最新的精简版固件(可选步骤)。

注意:目前不支持在完整版Maixpy固件中使用人脸识别模型
Note: Face recognition models are not currently supported in the full version of Maixpy firmware

【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第14张图片
【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第15张图片
打包Kfpkg固件
K210 的固件包主要有两种格式: .bin 和 .kfpkg,.kfpkg可以包含多个.bin文件或者模型文件。

1、烧录 .bin 或者 .kfpkg 文件
烧录.bin和.kfpkg文件只需要使用kflash进行烧录就可以了,两者使用起来没什么区别,烧录方法参考MaixPy 的文档。

2、创建自己的 .kfpkg 文件
.bin文件是固件内容,作为参数传给烧录软件,软件会默认烧录到flash开头,完成后重启即可运行。

但是有时候我们需要烧录其它二进制文件到flash,比如烧录 模型、文件系统 或者自己定义的其它数据,这时需要指定烧录的地址,光是 .bin(二进制) 文件烧录工具不知道我们想把数据烧录到flash的哪里,打包一个.kfpkg格式的文件则是为了实现这个目的。

3、最后,将这三个文件(XXX.bin, YYY.bin, flash-list.json)压缩成zip文件,然后改后缀名为.kfpkg 即可被烧录工具识别,并按照指定地址烧录到flash。当然,具体的文件个数看自己的需求了。

其他没有动,只把 Maixpy固件换成了maixpy_v0.5.0_34_ga1b47a3_minimum_with_ide_support,也不知对否,只能试试看了。

【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第16张图片

第八步:使用 kflash_gui 烧录上一步获取的kfpkg模型
Use kflash_gui to flash the kfpkg model obtained in the previous step.

【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第17张图片

试了三次,下载出错了

【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第18张图片

后来尝试下载烧录器的最新版本v1.5.5,安装好重新烧录
链接:https://github.com/sipeed/kflash_gui/releases/tag/v1.5.5

【雕爷学编程】MicroPython动手做(09)——零基础学MaixPy之人脸识别_第19张图片

你可能感兴趣的:(MicroPython动手做,计算机视觉,人工智能,单片机,嵌入式硬件,python)