N+小方舟——人脸识别考勤系统

2020-12-091.3万
AI 快速预览详细 收起
N+小方舟人脸识别考勤系统是一个基于掌控板、百灵鸽和小方舟的项目。通过人脸学习和检测,可以实现高效的人脸识别考勤。项目包括硬件连接、程序编写和语音播放功能。最终效果是能够自动识别并显示对应人名,并播放“签到成功”的音频。适用于STEM教育场景,帮助学生了解人脸识别技术的应用。
人脸识别的应用已经越来越广泛,例如:人脸签到,人脸考勤,人脸核验,人脸闸机等等,现在就制作一下人脸识别的考勤系统。


等了这么久,小方舟终于可以人脸识别了,开心到飞起。
使用人脸识别,一定要给小方舟更新固件!!!
使用人脸识别,一定要给小方舟更新固件!!!
使用人脸识别,一定要给小方舟更新固件!!!
重要的事说三遍

更新固件教程
提取码:ch2a


元器件:掌控板、百灵鸽、小方舟
软件:mpython






1.人脸学习

1)给小方舟接上数据线,打开开关,就可以进行人脸的学习与检测了。
N+小方舟——人脸识别考勤系统图1




2)出现的数字代表准确度。
N+小方舟——人脸识别考勤系统图2


3)按下右键,进行学习,学习成功后,出现ID号与准确度。ID 号与学习颜色的先后顺序是一致的,第一个学习的对象为ID0,第二个学习的对象为ID1,第三个学习的对象为ID2......以此类推。准确度达到85以上时,文字颜色会由红色变为绿色。
N+小方舟——人脸识别考勤系统图3

4)换个对象,按下右键,继续学习,学习成功后示ID号与准确度        。
N+小方舟——人脸识别考勤系统图4
5)如需清除已学习的模型,需要连接掌控板,通过程序进行删除        。


2.电路连接

配套杜邦线的一端是4P接口,接在小方舟上,另一端是两个3p口组成,接在百灵鸽P0P1,线的颜色与百灵鸽的颜色对应好,插上即可。

N+小方舟——人脸识别考勤系统图5N+小方舟——人脸识别考勤系统图6


3.人脸识别后,掌控显示对应人名。
1)小方舟一定要初始化,否则程序会报错,程序如下:
N+小方舟——人脸识别考勤系统图7

2)刷入程序后,前面学习的数据还在,可以直接进行识别。
N+小方舟——人脸识别考勤系统图8N+小方舟——人脸识别考勤系统图9

3.增加音频播放。
1)增加播放“签到成功”的音频。
导入准备好的音频(可以录音、网上文字转语音):
Step1:连接掌控板,点击“代码”,进入代码模式。
N+小方舟——人脸识别考勤系统图10

Step2:点击“掌控板”文件,随后出现“资源加载”画面。
N+小方舟——人脸识别考勤系统图11N+小方舟——人脸识别考勤系统图12

Step3:点击“导入”,随后找到存放音频的文件夹,按住“shift”键或“ctrl”键可以选择多个文件,最后点击“打开”。
N+小方舟——人脸识别考勤系统图13N+小方舟——人脸识别考勤系统图14

Step4:点击“同步”,后掌控板文件就出现了刚刚导入进去的音频。(所有音频加起来的大小最好不要超过100k,超出掌控板内存,将会报错。)
N+小方舟——人脸识别考勤系统图15N+小方舟——人脸识别考勤系统图16

2)增加播放音频后,程序如下:
N+小方舟——人脸识别考勤系统图17

3)如果需要:清除数据,可以按下A键,进行清除,程序如下:
N+小方舟——人脸识别考勤系统图18

4)学习更多的模型,并将程序进行完善即可。

PS:如果出现识别一下就重启的情况,需要给小方舟额外供电。
mpython中的图形化还不够完善,使用精准度模块会有问题,可以在代码模式下修改代码,或直接使用代码。

代码如下:

from nplus import *
from mpython import *
import audio
import time
ai = K210_AI()
import gc;gc.collect()
audio.player_init(i2c)
while True:
    oled.fill(0)
    oled.show()
    if ai.get_id_data(0):
        if ai.get_class_value() > 75:
            oled.fill(0)
            oled.DispChar('林峰', 0, 16, 1)
            oled.show()
            audio.play('sign.mp3')
            time.sleep(1)   
    if ai.get_id_data(1):
        if ai.get_class_value() > 75:
            oled.fill(0)
            oled.DispChar('黄宗泽', 0, 16, 1)
            oled.show()
            audio.play('sign.mp3')
            time.sleep(1)   
    if ai.get_id_data(2):
        if ai.get_class_value() > 75:
            oled.fill(0)
            oled.DispChar('韩雪', 0, 16, 1)
            oled.show()
            audio.play('sign.mp3')
            time.sleep(1)            
    if ai.get_id_data(3):
        if ai.get_class_value() > 75:
            oled.fill(0)
            oled.DispChar('张曼玉', 0, 16, 1)
            oled.show()
            audio.play('sign.mp3')
            time.sleep(1)            
    if ai.get_id_data(4):
        if ai.get_class_value() > 75:
            oled.fill(0)
            oled.DispChar('刘诗诗', 0, 16, 1)
            oled.show()
            audio.play('sign.mp3')
            time.sleep(1)

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(2)
真ikun
真ikun
太厉害了
Prefenence
Prefenence
请问出现K210_AI没有被定义该怎么办呢
- 没有更多了 -