本章节主要讲解如何获取 人脸识别 固件源码并进行代码的编译。
人脸识别的示例包含在 语音视觉多功能开发板 SDK 的 apps
目录下,工程目录名称为 fd
。
程序默认会在屏幕上显示实时的摄像头画面并在画面中使用方框实时标注出人脸,并通过方框的颜色 (绿色:识别通过 / 红色:识别未通过)
指示不同的识别状态。
注册的人脸信息仅保存在 PSRAM 中,未写入 Flash 存储中,掉线不做保存,您可以根据实际业务需要将人脸录入信息修改为掉电存储。
请参照《获取开发环境与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
接口,选中以下其中一种方式对固件进行烧录:
cskburn desktop
是一款聆思推出的桌面烧录工具,在下载并安装 cskburn desktop 烧录工具后,双击图标运行软件:
1.点击串口下拉框,选择连接开发套件后识别到的串口编号;
2.将编译输出的.bin
文件拖拽进烧录区域;
3.点击开始烧录,等待烧录完成。
若您已按照 《环境搭建》 教程完成开发环境的安装,可在编译完成后执行 lisa zep exec cskburn
指令完成烧录。
lisa zep exec cskburn -s \\.\COMxx -C 6 -b 1500000 0x000000 --verify-all .\build\zephyr\zephyr.bin
请将命令行中的的 COMx 替换为开发套件在 PC 上对应的串口号(可通过设备管理器查看)。例如:
COM3
。
lisa zep exec cskburn -s PORT -C 6 0x000000 --verify-all ./build/zephyr/zephyr.bin -b 1500000
请将命令行中的 PORT 替换为开发套件连接在 PC 上对应的串口号。例如:
/dev/ttyUSB0
。
烧录完成后,程序将自动运行默认会在屏幕上显示实时的摄像头画面并在画面中使用方框实时标注出人脸,并通过方框的颜色指示不同的识别状态。
您可以按照以下流程进行人脸识别功能的体验:
K1
按键注册当前人脸特征 (屏幕 registered
参数增加1 / 开发板LED闪烁蓝色)K2
对当前人脸进行识别比对
本示例中的其中一些功能默认未启用,你可以根据需要修改 prj.conf
启用它们,或者在编译时使用 -D 参数传入。如:
lisa zep build -b csk6_duomotai_devkit apps/fd -p -- -CONFIG_FD_ANTI_SPOOFING=y
下面列出了一些可以定制的选项:
编译选项 | 功能 | 默认值 |
---|---|---|
CONFIG_DISPLAY_DEBUG |
是否启用屏幕预览。启用后会将摄像头画面和相关调试信息显示在套件 LCD 屏幕上。 | y |
CONFIG_FD_ANTI_SPOOFING |
是否启用活体检测。该功能需要配合带红外补光灯和滤光片的摄像头使用,活体功能的使用详见《活体检测功能》 | n |
AP 串口日志TX:PA_3 波特率:115200
CP 串口日志TX:PA-4 波特率:921600
功能 | 接口 |
---|---|
初始化人脸检测模块 | comp_fd_init |
初始化人脸识别服务 | fd_service_gcs_init |
获取当前参数、修改并设置 | fd_service_gcs_params_get fd_service_gcs_params_set |
使能灰度模式 | fd_service_gcs_gray_mode_set |
注册人脸信息回调 | fd_service_gcs_callback |
加载人脸特征库 | fd_service_gcs_features_load |
启动服务人脸检测服务 | fd_service_gcs_start |
配置LED | gpio_pin_configure_dt |
按键输入回调函数,根据按键值执行不同的任务 | input_work_cb |
执行不同按键任务,人脸捕获,人脸对比 | comp_fd_capture comp_fd_compare |
本开发套件支持使用 普通摄像头 与 红外摄像头 两种摄像头,其中 红外摄像头 支持人脸识别算法的活体检测功能。您可以根据需要使用对应的摄像头。
固件默认关闭活体检测功能,若您购买了 红外摄像头 且需要启用活体检测
功能,可参照《活体检测功能》进行修改并体验。
项目 | 链接 |
---|---|
本应用的配置与使用 | 可参照《功能体验》了解本应用的配置与使用方法。 |
烧录工具的使用 | 可参照《cskburn桌面烧录工具》了解烧录工具更多的使用方法。 |
活体检测 | 可参照《活体检测功能》使用红外摄像头开启活体检测功能。 |