# 人脸识别

Source: [https://docs.qualcomm.com/doc/80-70018-50SC/topic/gst-ai-face-recognition.html](https://docs.qualcomm.com/doc/80-70018-50SC/topic/gst-ai-face-recognition.html)

**gst-ai-face-recognition** 应用程序从摄像头或 RTSP 流采集实时视频输入，并对这些输入执行人脸检测、人脸特征点定位和人脸识别。它使用 face\_det\_quantized 模型进行人脸检测，使用 `facemap_3dmm_quantized` 模型进行人脸特征点定位，使用 `face_attrib_net_quantized` 模型进行人脸识别标签标注。

运行的结果是在 HDMI 显示器上预览叠加的 AI 模型。

该图显示了一个 pipeline，该 pipeline 接收输入，执行预处理，在 AI 硬件上运行推理，并在屏幕上显示结果。

Figure : gst-ai-face-recognition pipeline
            
            ![](data:image/png;base64,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)

有关 pipeline 流中使用的插件的信息，请参见 [Pipeline 流](https://docs.qualcomm.com/doc/80-70018-50SC/topic/gst-ai-face-recognition.html#gst-ai-face-recognition__section_mrl_x4m_qdc)。

## 示例模型和标签文件

Table : gst-ai-face-detection 的示例模型和标签文件

| Runtime | 模型文件 | 标签文件 |
| :--- | :--- | :--- |
| Qualcomm AI Engine direct 和 LiteRT | <ul class="ul" id="gst-ai-face-recognition__ul_bdk_hwm_qdc"><br>                                    <li class="li"><var class="keyword varname">face_det_lite_quantized.tflite</var></li><br><br>                                    <li class="li"><var class="keyword varname">facemap_3dmm_quantized.tflite</var></li><br><br>                                    <li class="li"><var class="keyword varname">face_attrib_net_quantized.tflite</var></li><br><br>                                    <li class="li"><var class="keyword varname">face_det_lite_quantized.bin</var></li><br><br>                                    <li class="li"><var class="keyword varname">facemap_3dmm_quantized.bin</var></li><br><br>                                    <li class="li"><var class="keyword varname">face_attrib_net_quantized.bin</var></li><br><br>                                </ul> | <ul class="ul" id="gst-ai-face-recognition__ul_q4l_kwm_qdc"><br>                                    <li class="li"><var class="keyword varname">face_detection.labels</var></li><br><br>                                    <li class="li"><var class="keyword varname">face_recognition.labels</var></li><br><br>                                    <li class="li"><var class="keyword varname">face_landmark.labels</var></li><br><br>                                </ul> |

## 前提条件

- 如果还没有安装 eSDK，请[下载并安装 eSDK](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-51/install-sdk.html#download-and-install-esdk-)。
- [下载模型和标签文件](https://docs.qualcomm.com/doc/80-70018-50SC/topic/download-model-and-label-files.html)。
- 要访问主机，请启用 SSH。有关说明，请参阅[使用 SSH 登录](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-254/how_to.html#use-ssh)。
Note: 如果 SSH 已启用，则可以跳过此步骤。
- 从 Linux 主机推送模型文件。

        scp <model_filename> root@<IP address of target device>:/etc/modelsCopy to clipboard
- 请注意，[下载的脚本](https://docs.qualcomm.com/doc/80-70018-50SC/topic/download-model-and-label-files.html)会将示例 video.mp4 视频下载到 /etc/media 目录。如果您使用的是自定义视频，请确保将视频推送到 /etc/media，并在应用程序的 config.JSON 文件中更新文件路径。
- 使用 HDMI 端口将显示器连接到设备。有关说明，请参见[设置 HDMI 显示器](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-18/samples.html)。
- 启用显示器：

        export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1Copy to clipboard

如果启用摄像头或显示器时遇到问题，请参阅[摄像头故障排除](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-17/troubleshooting.html)和[显示器故障排除](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-18/debug.html)。

- 下载以下 Qualcomm AI Engine Direct 模型：
    - [face_det_quantized](https://aihub.qualcomm.com/iot/models/face_det_lite_quantized?searchTerm=face)
    - [face_attrib_net_quantized](https://aihub.qualcomm.com/iot/models/face_attrib_net_quantized?searchTerm=face)
- 将这些模型推送到目标设备上的 /etc/models 目录。

        scp face_det_lite_quantized.bin root@<IP address of target device>:/etc/modelsCopy to clipboard

        scp face_attrib_net_quantized.bin root@<IP address of target device>:/etc/modelsCopy to clipboard

## 注册人脸进行面部识别

在运行 gst-ai-face-recognition 应用程序之前，您可以注册一张人脸，用于进行安全验证和身份验证。

1. 要注册人脸，请在目标设备的 shell 使用以下 gst-pipeline：

        gst-pipeline-app -e \
        qtimlvconverter name=stage_01_preproc mode=image-batch-non-cumulative \
        qtimlqnn name=stage_01_inference model=/etc/models/face_det_lite_quantized.bin backend=/usr/lib/libQnnHtp.so \
        qtimlvdetection name=stage_01_postproc stabilization=false threshold=40.0 results=4 module=qfd labels=/etc/labels/face_detection.labels \
        qtimlvconverter name=stage_03_preproc mode=roi-batch-cumulative \
        qtimlqnn name=stage_03_inference model=/etc/models/face_attrib_net_quantized.bin backend=/usr/lib/libQnnHtp.so \
        qtiqmmfsrc video_0::type=video name=camsrc ! video/x-raw,format=NV12,width=1920,height=1080 ! queue ! waylandsink fullscreen=true sync=false \
        camsrc.image_1 ! video/x-raw,width=1920,height=1080 ! qtivtransform ! video/x-raw,format=NV12 ! tee name=t_split_1 \
        t_split_1. ! queue ! metamux_1. \
        t_split_1. ! queue ! stage_01_preproc. stage_01_preproc. ! queue ! stage_01_inference. stage_01_inference. ! queue ! stage_01_postproc. stage_01_postproc. ! text/x-raw ! queue ! metamux_1. \
        qtimetamux name=metamux_1 ! queue ! tee name=t_split_3 \
        t_split_3. ! queue ! stage_03_preproc. stage_03_preproc. ! queue ! stage_03_inference. stage_03_inference. ! queue ! multifilesink location=/etc/data/tensor_%d.bin sync=true async=false enable-last-sample=falseCopy to clipboard

    随即显示一个选项列表。
2. 要准备采集人脸图像，请执行以下操作：
    1. 从列表中选择以下选项：
        1. `(3)PLAYING`：将 pipeline 切换至 Playing 状态。
        2. `(p)Plugin Mode` ➔ `(26)camsrc`➔ `(37)capture-image`：使用摄像头源采集图像。
    2. 使用显示器上的实时预览功能，面向摄像头，确保摄像头指向正前方，并且画面中只有一个人。
    3. 在终端中，为以下值输入 1：
        1. 为 `arg0` 输入 `GstImageCaptureMode`。
        2. 为 `arg1` 输入 `guint`。
3. 要采集脸部所有侧面，请选择 `capture-image`，并对每侧执行以下操作：
    1. 左侧和右侧：将头部左转 40°，同时保持特征点清晰可见，然后重复步骤 3 和 4。将头部右转 (40°)，然后重复上述步骤。
    2. 向上和向下：抬头 30°，同时保持特征点清晰可见，然后重复步骤 3 和 4。低头 (30°)，然后重复上述步骤。
4. 要停止 pipeline，请使用 `(b)Back` 和 `(q)Quit`。
    运行 pipeline 后，会创建五个单独的张量 bin（tensor\_0.bin 至 tensor\_4.bin），用于记录每一侧的面部属性。
5. 在目标设备上，转到 /etc/data/，找到这些张量 bin。要将张量 bin 从目标设备拉取到 Linux 主机，请运行以下命令：

        scp root@<IP-Address>:/etc/data/tensor_0.bin .Copy to clipboard

        scp root@<IP-Address>:/etc/data/tensor_1.bin .Copy to clipboard

        scp root@<IP-Address>:/etc/data/tensor_2.bin .Copy to clipboard

        scp root@<IP-Address>:/etc/data/tensor_3.bin .Copy to clipboard

        scp root@<IP-Address>:/etc/data/tensor_4.bin .Copy to clipboard
6. 要将包含所有面部属性的张量 bin 合并为一张连贯的图像，请在 Linux 主机上的张量 bin 目录中下载并运行 facedb.py脚本。
    1. 下载 facedb.py 脚本：

            curl -L -O https://raw.githubusercontent.com/quic/sample-apps-for-qualcomm-linux/refs/heads/main/scripts/facedb.pyCopy to clipboard
    2. 运行该脚本。请注意，<var class="keyword varname">&lt;Name of the person&gt;</var> 区分大小写和样式。请确保始终使用相同的名称。

            python3 ./facedb.py "<Name of the person>" 512 32 tensor_0.bin tensor_1.bin tensor_2.bin tensor_3.bin tensor_4.binCopy to clipboard

    已创建 face.bin 二进制文件。
7. 将 face.bin 二进制文件推送到 /etc/data 目录，并将其重命名为 face0.bin。

        scp face.bin root@<IP address of target device>:/etc/data/face0.binCopy to clipboard
8. 要生成 face\_recognition.labels 文件并将新人注册到数据库中，请使用以下双人人脸注册的参考标签文件：

        (structure)"<Name of the person>,id=(guint)0x0,database=(string)/etc/data/face0.bin,color=(guint)0x00FF00FF;"Copy to clipboard

        (structure)"<Name of the person>,id=(guint)0x01,database=(string)/etc/data/face1.bin,color=(guint)0x00FF00FF;"Copy to clipboard

Note: 根据列表中的编号更新 ID 字段。如果要注册更多人脸，请在 face\_recognition.labels 文件中另起新行添加对应结构。
9. 要保存标签，请将更新后的 face\_recognition.labels 文件推送到目标设备上的 /etc/labels 目录。

        scp face_recognition.labels root@<IP address of target device>:/etc/labelsCopy to clipboard

## 运行应用程序

Note: 以下命令提供默认模型和标签路径。如果您的文件夹结构不同，请替换命令行参数中的默认路径。参见[示例模型和标签文件](https://docs.qualcomm.com/doc/80-70018-50SC/topic/gst-ai-face-recognition.html#gst-ai-face-recognition__section_bxr_x4m_qdc)。

示例应用程序使用 `/etc/configs/config-face-recognition.json` 文件读取输入参数。

要创建自己的配置 JSON 文件，请使用 [config-face-recognition.json](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-face-recognition?ref_type=heads)作为参考。
1. 使用以下格式的 `/etc/configs/config-face-recognition.json`
                            文件：

        {
        "ml-framework": "<qnn or tflite>",
        "face-detection-model": "<path for face detection model file>", 
        "face-landmark-model":"<path for face landmark model file>",
        “face-recognition-model”:”<path for face recognition model file>”,
        "face-detection-labels":”<path for face detection labels file>”,
        "face-landmark-labels":”<path for face landmark labels file>”,
        "face-recognition-labels":”<path for face recognition labels file>”,
        "face-detection-constants":”<Model-constants-for-face-detection-litert models>”,
        "face-landmark-constants":”<Model-constants-for-face-landmark-litert-model>”,
        "face-recognition-constants":”<Model-constants for-face-recognition-litert-model>”
        }Copy to clipboard

Note: 根据模型、输入流和其他属性更新 config JSON
                            文件。关于更多详细信息，请参阅 [Config JSON 字段说明](https://docs.qualcomm.com/doc/80-70018-50SC/topic/gst-ai-face-recognition.html#gst-ai-face-recognition__section_qjx_hqq_32c)。

    例如，使用
                        LiteRT、自定义模型、自定义标签文件运行应用：

        {
          "ml-framework":"tflite",
          "face-detection-model":"/etc/models/face_det_lite_quantized.tflite",
          "face-landmark-model":"/etc/models/facemap_3dmm_quantized.tflite",
          "face-recognition-model":"/etc/models/face_attrib_net_quantized.tflite",
          "face-detection-labels": "/etc/labels/face_detection.labels",
          "face-landmark-labels": "/etc/labels/face_landmark.labels",
          "face-recognition-labels": "/etc/labels/face_recognition.labels",
          "face-detection-constants": "DET,q-offsets=<178.0, 0.0, 102.0>,q-scales=<0.034
          "face-landmark-constants":"DMM,q-offsets=<211.0>,q-scales=<0.06002333015203476
          "face-recognition-constants":"qfr,q-offsets=<124.0, 153.0, 125.0, 133.0, 126.0
        }Copy to clipboard
2. 运行 gst-ai-face-recognition 应用程序：

        gst-ai-face-recognition --config-file=/etc/configs/config-face-recognition.jsonCopy to clipboard

请在 SSH shell 中运行以下命令，以显示可用的帮助选项：

    gst-ai-face-recognition -hCopy to clipboard

要停止用例，请按 CTRL + C。

## 预期输出
![](data:image/jpeg;base64,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)

## Pipeline 流

下表列出了人脸识别 pipeline 中使用的插件：| 插件 | 说明 |
| --- | --- |
| 摄像头源：[qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70018-50SC/topic/qtiqmmfsrc.html) | <ul class="ul" id="gst-ai-face-recognition__ul_zyl_gj1_mcc"><br>                                    <li class="li">从摄像头采集实时流。</li><br><br>                                    <li class="li">使用 tee 拆分流进行推理。</li><br><br>                                </ul> |
| 文件源：filesrc | <ul class="ul" id="gst-ai-face-recognition__ul_z1z_x4f_w1c"><br>                                    <li class="li">使用 filesrc 采集视频流，然后使用 qtdemux 对视频流进行解复用。</li><br><br>                                    <li class="li">使用 tee 拆分流进行推理。</li><br><br>                                </ul> |
| RTSP 源：rtspsrc | <ul class="ul" id="gst-ai-face-recognition__ul_vsj_2r4_tbc"><br>                                    <li class="li">使用 rtspsrc 采集 RTSP 流，然后使用 rtph264depay 进行视频提取。</li><br><br>                                    <li class="li">使用 tee 拆分流进行推理。</li><br><br>                                </ul> |
| h264parse | 渲染 H.264 视频。 |
| [v4l2h264dec](https://docs.qualcomm.com/doc/80-70018-50SC/topic/v4l2h264dec.html) | 解码视频 |
| [qtimlvconverter](https://docs.qualcomm.com/doc/80-70018-50SC/topic/qtimlvconverter.html) | <ol class="ol" id="gst-ai-face-recognition__ol_j34_ddg_q1c"><br>                                    <li class="li">在其接收端口上接收视频流。</li><br><br>                                    <li class="li">对流数据执行以下预处理。当模型需要浮点值作为输入时，会执行此预处理。<ol class="ol" type="a" id="gst-ai-face-recognition__ol_m5z_cpr_lbc"><br>                                            <li class="li">颜色转换</li><br><br>                                            <li class="li">缩放（放大或缩小）</li><br><br>                                            <li class="li">归一化</li><br><br>                                        </ol><br></li><br><br>                                    <li class="li">将预处理的视频流转换为其发送端口上的张量数据流。 </li><br><br>                                </ol><br><br>                                <br>张量数据流用于 pipeline 后期的推理。 |
| [qtimlqnn](https://docs.qualcomm.com/doc/80-70018-50SC/topic/qtimlqnn.html) | 充当 Qualcomm Neural Network 模型的推理插件。<ol class="ol" id="gst-ai-face-recognition__ol_mbk_pl3_4dc"><br>                                    <li class="li">推理 runtime 在其接收端口上接收到张量数据后，会运行推理。</li><br><br>                                    <li class="li">生成一个张量数据流，并在其发送端口上显示推理结果。</li><br><br>                                </ol> |
| [qtimlvdetection](https://docs.qualcomm.com/doc/80-70018-50SC/topic/qtimlvdetection.html) | <ul class="ul" id="gst-ai-face-recognition__ul_lwr_xl3_4dc"><br>                                    <li class="li">处理来自任何人脸检测模型的推理结果。</li><br><br>                                    <li class="li">将阈值应用于所选结果数。</li><br><br>                                </ul> |
| [qtimetamux](https://docs.qualcomm.com/doc/80-70018-50SC/topic/qtimetamux.html) | <ul class="ul" id="gst-ai-face-recognition__ul_cvw_j3n_qdc"><br>                                    <li class="li">从 qtimlvdetection 接收人脸检测模型的输出并将其进行复用。</li><br><br>                                    <li class="li">从 qtimlvpose 接收面部姿态的输出并将其进行复用。</li><br><br>                                </ul> |
| tee | 分割流以进行推理。 |
| [qtimlvpose](https://docs.qualcomm.com/doc/80-70018-50SC/topic/qtimlvpose.html) | 执行面部姿态识别。 |
| [qtimlvclassification](https://docs.qualcomm.com/doc/80-70018-50SC/topic/qtimlvclassification.html) | 接收来自 qtimetamux 的流并对人脸进行分类。 |
| [qtivoverlay](https://docs.qualcomm.com/doc/80-70018-50SC/topic/qtioverlay.html) | <ol class="ol" id="gst-ai-face-recognition__ol_wst_y5l_vbc"><br>                                    <li class="li">接收复用流。</li><br><br>                                    <li class="li">将边界框叠加在流上。</li><br><br>                                </ol> |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70018-50SC/topic/waylandsink.html) | <ol class="ol" id="gst-ai-face-recognition__ol_kjr_fvr_lbc"><br>                                    <li class="li">Waylandsink 将其接收端口上接收的视频流提交给 Weston。</li><br><br>                                    <li class="li">Weston 在本地显示器上渲染视频流。</li><br><br>                                </ol> |

## Config JSON 字段说明

Table : 字段说明 – config-face-recognition.json 文件

| 字段 | 值/描述 |
| :--- | :--- |
| **ml-framework** | 请使用以下模型之一：<ul class="ul" id="gst-ai-face-recognition__ul_prm_gck_32c"><br>                                    <li class="li"><code class="ph codeph">tflite</code>–LiteRT</li><br><br>                                    <li class="li"><code class="ph codeph">qnn</code>–Qualcomm AI Engine direct</li><br><br>                                </ul> |
| **Models and labels** | 参见[示例模型和标签文件](https://docs.qualcomm.com/doc/80-70018-50SC/topic/gst-ai-face-recognition.html#gst-ai-face-recognition__section_bxr_x4m_qdc)。<ul class="ul" id="gst-ai-face-recognition__ul_c31_nfr_32c"><br>                                    <li class="li"><strong class="ph b">face-detection-model</strong>：人脸检测模型的路径。</li><br><br>                                    <li class="li"><strong class="ph b">face-landmark-model</strong>：人脸特征点模型的路径。</li><br><br>                                    <li class="li"><strong class="ph b">face-recognition-model</strong>：人脸识别模型的路径。</li><br><br>                                    <li class="li"><strong class="ph b">face-detection-labels</strong>：人脸检测标签的路径。</li><br><br>                                    <li class="li"><strong class="ph b">face-landmark-labels</strong>：人脸特征点标签的路径。</li><br><br>                                    <li class="li"><strong class="ph b">face-recognition-labels</strong>：人脸识别标签的路径。</li><br><br>                                </ul> |
| **Constants** | <ul class="ul" id="gst-ai-face-recognition__ul_pbc_nrs_52c"><br>                                    <li class="li"><strong class="ph b">face-detection-constants</strong>：人脸检测模型常量。</li><br><br>                                    <li class="li"><strong class="ph b">face-landmark-constants</strong>：人脸特征点模型常量。</li><br><br>                                    <li class="li"><strong class="ph b">face-recognition-constants</strong>：人脸识别模型常量。</li><br><br>                                </ul> |

## 已知问题

使用 LiteRT 模型时未观察到 3D 人脸特征点。

**Parent Topic:** [运行 AI/ML 示例应用程序](https://docs.qualcomm.com/doc/80-70018-50SC/topic/ai-ml-sample-applications.html)

**Related Resources**  

- [目标检测](https://docs.qualcomm.com/doc/80-70018-50SC/topic/gst-ai-object-detection.html)
- [姿态检测](https://docs.qualcomm.com/doc/80-70018-50SC/topic/gst-ai-pose-detection.html)

Last Published: Nov 12, 2025

[Previous Topic
人脸检测](https://docs.qualcomm.com/bundle/publicresource/80-70018-50SC/topics/gst-ai-face-detection.md) [Next Topic
音频分类](https://docs.qualcomm.com/bundle/publicresource/80-70018-50SC/topics/audio-classification.md)