CSK6 大模型开发套件支持通过摄像头学习录入特定人脸,检测当前画面中的人脸是否在已录入的人脸库中并显示人脸编号。通过开发板上的按键可以完成人脸录入、人脸比对等操作。通过日志串口可以实时获取人脸在画面中的位置坐标、头部姿态等算法检测数据。
人脸识别 算法具备以下特性:
离线人脸识别适用于网络条件不稳定、无网、数据安全性要求高、人脸库较小(20人以下)单台设备的人脸识别场景。常见于人脸门禁、小型企业考勤机、自助终端设备等。
在1m距离内,测试特征底库10个,人脸识别效果分别为:
识别能力 | 识别率 | 虚警率 |
---|---|---|
人脸识别 | 95% | 0.1% |
该模型主要应用于小型的人脸识别场景,建议特征底库不超过20个,否则可能会造成虚警率会上升。
功能 | 详细说明 |
---|---|
人脸标定 | 平均误差(NME)约为0.04 |
头部姿态 | 模型预测平均偏差约为±3° |
全流程耗时 | 100ms以内 |
如果您希望在编译代码前先行体验人脸识别功能,可点击下方链接下载固件二进制文件进行烧录:
固件二进制文件下载链接:fd_zephyr.bin
烧录指令:
lisa zep exec cskburn -s \\.\COMx -C 6 -b 1500000 0x000000 fd_zephyr.bin
其中的 COMx 代表开发套件连接到 PC 上对应的串口号(可通过设备管理器查看)。例如:
COM3
。
若您需要体验带活体检测功能的人脸识别,请参照《活体检测功能》
lisa zep exec cskburn -s PORT -C 6 0x000000 fd_zephyr.bin -b 1500000
其中的 PORT 代表开发套件连接到 PC 上对应的串口号。例如:
/dev/ttyUSB0
。
若您需要体验带活体检测功能的人脸识别,请参照《活体检测功能》
程序运行后,默认会在屏幕上显示实时的摄像头画面并在画面中使用方框实时标注出人脸,并通过方框的颜色指示不同的识别状态。
您可以按照以下流程进行人脸识别功能的体验:
K1
按键注册当前人脸特征 (屏幕 registered
参数增加1 / 开发板LED闪烁蓝色)K2
对当前人脸进行识别比对
人脸识别的示例包含在 语音视觉多功能开发板 SDK 的 apps
目录下,工程目录名称为 fd
。
请参照《获取开发环境与SDK》进行大模型AI开发套件SDK的下载与初始化,若您之前已经操作过,可忽略本步骤。
建议您在开发前,参照《本地SDK更新》将SDK更新至最新版本。
在 duomotai_ap
目录下,执行以下指令进行代码编译(以 Windows CMD 终端为例):
lisa zep build -b csk6_duomotai_devkit apps\fd -p
编译完成后,编译产物二进制文件位于 build\zephyr\zephyr.bin
使用 Type-C 数据线连接开发套件的 DAP_USB
接口,执行以下命令进行烧录:
lisa zep exec cskburn -s \\.\COMxx -C 6 -b 1500000 0x000000 --verify-all .\build\zephyr\zephyr.bin
或
lisa zep flash -r pyocd --frequency 20000000
其中的 COMx 代表开发套件连接到 PC 上对应的串口号(可通过设备管理器查看)。例如:COM3
。
lisa zep exec cskburn -s PORT -C 6 0x000000 --verify-all ./build/zephyr/zephyr.bin -b 1500000
其中的 PORT 代表开发套件连接到 PC 上对应的串口号。例如:/dev/ttyUSB0
。
烧录完成后,程序将自动运行,你也可以通过按压开发板上的复位按键(RTS)进行复位运行。
本固件工程实现了对人脸识别能力的调用,可以通过开发板上的按键操作进行人脸注册、人脸识别,并通过图像预览工具查看摄像头的画面与输出结果。
本开发套件支持使用 普通摄像头 与 红外摄像头 两种摄像头,其中 红外摄像头 支持人脸识别算法的活体检测功能。您可以根据需要使用对应的摄像头。
固件默认关闭活体检测功能,若您购买了 红外摄像头 且需要启用活体检测
功能,可参照《活体检测功能》进行修改并体验。
程序运行后,默认会在屏幕上显示实时的摄像头画面并在画面中使用方框实时标注出人脸,并通过方框的颜色指示不同的识别状态。
您可以按照以下流程进行人脸识别功能的体验:
K1
按键注册当前人脸特征 (屏幕 registered
参数增加1 /开发板LED闪烁蓝色)K2
对当前人脸进行识别比对
当LED为黄色时(检测到人脸),按动K1
按键,此时将会录入当前检测到的人脸特征,录入成功后,可看到屏幕上显示的registered
数量增加1,说明本次录入已完成并加入人脸特征库:
本固件工程主要进行人脸识别功能的演示,因此默认程序将注册的人脸特征只保存于运行内存中,未写入flash存储,因此重启设备后需要重新注册人脸才可进行识别。
当LED为黄色时(检测到人脸),按动K2
按键,此时固件会将当前摄像头前检测到的人脸与已录入的人脸特征进行比对,若对比成功(命中已录入的人脸特征),屏幕中圈中人脸的框将变为绿色,同时开发板上的LED颜色将变为绿色,表示人脸特征比对通过,并在屏幕上显示匹配的人脸特征序号(id)
与评分(score)
。
若比对不通过,即当前人脸未在人脸特征库中录入过,屏幕中圈中人脸的框将变为红色,同时开发板上的LED颜色将变为红色,表示人脸特征比对通过。
本示例同样支持串口日志的打印,可通过连接开发板上的DAP_USB
并使用串口工具打开对应的串口设备进行日志查看,默认波特率 115200
,伴随着 人脸录入
、人脸比对
等操作,可看到日志串口有对应的结果输出。