社区导航

 

搜索
查看: 761|回复: 39

[原创] MicroPython动手做(09)——零基础学MaixPy之人脸识别

  [复制链接]

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2020-4-6 18:21 | 显示全部楼层 |阅读模式

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

 

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

 

00.jpg

 

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



此内容由EEWORLD论坛网友eagler8原创,如需转载或用于商业用途需征得作者同意并注明出处



回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-6 18:26 | 显示全部楼层

0.jpg

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)



回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-6 18:53 | 显示全部楼层
本帖最后由 eagler8 于 2020-4-6 18:55 编辑

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

 

下载地址:https://en.bbs.sipeed.com/uploads/default/original/1X/bca0832bed92a1ada63bd05327688784e2ef14d1.zip

 

解压到 key_gen_v1.2.bin

 

02 (1).jpg

 



回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-6 19:28 | 显示全部楼层

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

 

03.jpg



回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-6 19:28 | 显示全部楼层

04.jpg



回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-6 19:28 | 显示全部楼层

05.jpg



回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-6 19:35 | 显示全部楼层

05-.jpg



回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-6 19:49 | 显示全部楼层

Generate key end 生成密钥结束

 

06 (1).jpg

 

 



回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-6 19:58 | 显示全部楼层

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

 

demo_face_recognition.py
 

07.jpg



回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-6 20:14 | 显示全部楼层
本帖最后由 eagler8 于 2020-4-6 20:52 编辑

第四步:访问Maixhub 模型平台首页, 注册并登录

https://www.maixhub.com/index.php/index/user/index.html

 

09-.jpg



回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-6 20:18 | 显示全部楼层
本帖最后由 eagler8 于 2020-4-6 20:59 编辑

第五步:选择[MaixPy 人脸识别模型],点击下载按钮

https://www.maixhub.com/index.php/index/index/detail/id/235

 

10.jpg



回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-6 21:05 | 显示全部楼层

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

 

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

 

10-.jpg



回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-6 21:12 | 显示全部楼层

11 (1).jpg



回复

使用道具 举报

91

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2020-4-7 01:08 | 显示全部楼层

厉害,干劲十足,学习楷模。

点评

谢谢老师鼓励,是个挺好玩的项目.......  详情 回复 发表于 2020-4-7 09:01


回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-7 08:58 | 显示全部楼层

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

 

 

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

 

16.jpg

 

 



回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-7 09:01 | 显示全部楼层
9zhmke 发表于 2020-4-7 01:08 厉害,干劲十足,学习楷模。

谢谢老师鼓励,是个挺好玩的项目.......



回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-7 09:09 | 显示全部楼层

😂😂😂开机一个晚上,下载了许多Maixpy固件,好像有十来个

 

15.jpg



回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-7 10:02 | 显示全部楼层

打包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。当然,具体的文件个数看自己的需求了。



回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-7 10:13 | 显示全部楼层

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

 

17.jpg



回复

使用道具 举报

1210

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2020-4-7 10:24 | 显示全部楼层

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

 

18 (1).jpg

 

 



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/6 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-7-3 03:01 , Processed in 0.539715 second(s), 41 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表