儿童人脸数据集制作

人脸数据集的特征提取分为人工和深度学习技术两种提取方式,有关儿童脸部视频和照片,应该使用哪种方式来提取,如何裁剪,如何将其制作成为合格的含有训练集、验证集、测试集的情绪识别数据集。

该制作的合规注意事项有哪些?

1. 人工特征 vs 深度学习特征:你应该用哪种?

结论:你应该用深度学习方式提取特征。

原因:

  • 儿童人脸与成人差异大(五官比例、皮肤纹理、表情幅度),人工特征(HOG、LBP、SIFT)表现很差
  • 深度学习(如 ResNet、MobileNet、VGG、Transformer)能自动学习儿童面部特征
  • 情绪识别(FER)目前 SOTA 方法全部基于深度学习
  • 若你已有视频和照片,深度学习需要大量数据,正好匹配你的资源

如果你需要输出特征向量(比如用于聚类、分类、检索),可以:

  • 先用深度学习模型(如 ResNet18)训练 FER 任务
  • 然后去掉最后一层全连接层,用前面的特征作为 "深度特征"

2. 如何从视频 / 照片中裁剪儿童人脸

自动化代码运行分类出每个儿童的照片视频,人工手动为每个类别进行命名。

建议流程:

  1. 人脸检测推荐模型:

    • MTCNN(对儿童脸效果好)
    • RetinaFace(速度快、精度高)
    • YOLOv8-face(最新、适合视频)
  2. **关键点检测(可选但推荐)**用于对齐儿童人脸,提高情绪识别效果模型:

    • MTCNN 自带 5 点关键点
    • MediaPipe Face Mesh(468 点,更精细)
  3. 人脸对齐与裁剪对齐方式:

    • 基于双眼关键点进行相似变换(旋转、缩放、平移)
    • 将人脸裁剪为 224×224 或 112×112(根据模型要求)
  4. 视频处理

    • 按每秒 1~5 帧采样(避免数据冗余)
    • 对每一帧做人脸检测 + 裁剪
    • 保留检测置信度高的帧(如 >0.9)

3. 如何构建训练集 / 验证集 / 测试集

目前以照片为主

建议比例:

  • 训练集:70%
  • 验证集:15%
  • 测试集:15%

构建方式:

  1. 按 "人" 划分,而不是按 "图片" 划分避免同一个孩子的照片同时出现在训练集和测试集,否则会导致模型 "作弊"。

  2. 步骤:

    a. 给每个儿童分配唯一 IDb. 将所有儿童随机分为 train /val/test 三组c. 按儿童 ID 将其所有照片 / 视频帧放入对应集合

  3. 数据增强(训练集使用)儿童人脸适合的增强:

    • 随机亮度、对比度
    • 随机水平翻转
    • 轻微旋转(±10°)
    • 随机裁剪
    • 颜色抖动注意:不要做垂直翻转(不自然)

4. 情绪识别数据集的标注规范

建议情绪类别(与 FER2013 一致):

  • 愤怒
  • 厌恶
  • 恐惧
  • 快乐
  • 悲伤
  • 惊讶
  • 中性

标注方式:

  1. 单标签标注(大多数 FER 任务使用)每张图只标一种情绪

  2. 多标签标注(如果需要更精细)例如:又哭又怕 → 悲伤 + 恐惧

  3. 视频标注

    • 可以按帧标注
    • 或按 "片段" 标注(例如 1~30 帧为 "哭泣")
  4. 标注工具推荐

    • LabelStudio
    • VGG Image Annotator (VIA)
    • CVAT(适合视频)

5. 如何制作一个 "合格" 的情绪识别数据集

最终数据集结构示例:

plaintext

复制代码
dataset/
  train/
    angry/
    disgust/
    fear/
    happy/
    sad/
    surprise/
    neutral/
  val/
    ...(同上)
  test/
    ...(同上)

每个类别下存放:

  • 裁剪好的人脸图片(224×224 或 112×112)
  • 命名建议:childID_xxx.jpg

6. 合规注意事项(非常重要,尤其是儿童数据)

若你处理的是儿童面部数据,必须遵守:

  • 中国《个人信息保护法》
  • 《未成年人保护法》
  • 《网络安全法》
  • 若用于科研,还需遵守伦理审查要求

以下是必须做到的:

  1. 必须获得监护人书面同意

    • 明确告知数据用途
    • 明确告知数据保存方式
    • 明确告知可以随时撤回同意
  2. 数据必须匿名化

    • 删除姓名、身份证号、学校、家庭住址等信息
    • 儿童 ID 用随机字符串代替
    • 不要在图片中包含可识别背景(学校、家庭环境)
  3. 数据存储安全

    • 加密存储
    • 禁止公开上传到 GitHub、百度网盘等
    • 仅限项目成员访问
  4. 禁止向第三方泄露

    • 不能把数据给同学、公司或上传到公共数据集
  5. 若用于论文 / 毕设,必须经过学校伦理审查

    • 提交伦理审查表
    • 提交监护人同意书模板
    • 提交数据处理方案
  6. 数据保存期限

    • 研究结束后必须删除或匿名化归档

基础知识概念衍生:

人工特征VS深度学习特征

人工特征是"教计算机怎么看",深度学习特征是"让计算机自己学怎么看"。

一、 核心概念

1. 人工特征提取 (Handcrafted Feature Extraction)
  • 概念:由人类专家(算法工程师)根据图像的物理特性(如边缘、颜色、纹理),设计出特定的数学公式或规则,将图像像素转化为一组固定长度的数值(特征向量)。
  • 核心逻辑:人类先总结规律,再让计算机去计算。
  • 代表算法 :
    • HOG (Histogram of Oriented Gradients):提取边缘方向分布(常用于行人检测)。
    • SIFT (Scale-Invariant Feature Transform):提取关键点(用于图像匹配)。
    • LBP (Local Binary Pattern):提取纹理特征(常用于人脸识别、表情识别)。
    • Haar-like Features:提取明暗变化(用于人脸检测)。
2. 深度学习特征提取 (Deep Learning Feature Extraction)
  • 概念:利用深度神经网络(如 CNN、Transformer),通过大量数据的训练,自动学习图像中的底层(线条)、中层(五官部件)到高层(抽象概念)的特征。
  • 核心逻辑:人类提供数据和目标,让计算机通过反向传播算法自己总结规律。
  • 代表模型 :
    • CNN 系列:AlexNet, VGG, ResNet, MobileNet。
    • Vision Transformer (ViT):利用注意力机制提取全局特征。

二、 详细对比区分

维度 人工特征 (Handcrafted) 深度学习特征 (Deep Learning)
设计方式 人为设计:需要深厚的领域知识,设计周期长。 自动学习:模型自动优化,无需手动设计特征。
特征层次 浅层 / 中层:主要捕捉边缘、纹理等低级信息。 多层次:从边缘到抽象概念(如 "这是一张笑脸")。
泛化能力 弱:针对特定场景设计,换个场景(如光照变化、角度变化)效果暴跌。 强:模型具有很强的鲁棒性,能适应不同光照、姿态。
数据依赖 低:少量数据即可训练分类器(如 SVM)。 高:需要海量标注数据才能训练出好的特征。
计算复杂度 低:数学运算简单,CPU 即可实时处理。 高:矩阵运算量大,通常需要 GPU 加速。
可解释性 高:知道特征代表什么(如 LBP 代表纹理)。 低:像 "黑盒子",很难解释某个神经元具体代表什么。

三、 针对你的 "儿童情绪识别" 项目的深度分析

既然你做的是儿童人脸表情识别 (FER),这两者的选择差距非常大:

1. 为什么人工特征(如 LBP+SVM)不适合你?
  • 儿童脸部特征不稳定:儿童的五官比例随年龄变化大,且皮肤光滑(纹理少),LBP 等依赖纹理的算法效果很差。
  • 表情幅度差异:儿童表情往往比成人夸张或扭曲,人工设计的几何特征(如眼睛长宽比)很难准确描述。
  • 遮挡与姿态:儿童照片中常有低头、转头、遮挡(手、玩具),人工特征对这些变化非常敏感。
2. 为什么深度学习特征(如 ResNet)是唯一解?
  • 端到端学习:输入一张图,直接输出情绪类别,中间过程自动优化。
  • 强大的拟合能力:能够学习到儿童特有的细微表情模式。
  • 迁移学习 (Transfer Learning):这是关键点!你可以先用成人数据集(如 FER2013)预训练一个 ResNet,然后用你的儿童数据进行 "微调"。这样即使你的儿童数据量不是特别巨大,也能取得很好的效果。

OS:使用技术栈:PyTorch框架+ResNet18作为骨干网络(Backbone)

采用深度卷积神经网络ResNet18进行端到端的特征提取与分类...的方法。

在 2025 年的今天,做图像分类和情绪识别,深度学习特征是绝对的主流和标准,人工特征仅用于极其简单的嵌入式设备或学术对比。

相关推荐
数聚天成DeepSData1 天前
两份名录里的同名机构,主键该怎么合并
人工智能·深度学习·机器学习·数据集·deepsdata
Felaim4 天前
【SLAM】SLAM数据集相机规格说明
数据集·vslam·slam·相机标定
数聚天成DeepSData5 天前
第三方地图工具导出的 Landsat 影像,使用条件和 USGS 官方下载的一样吗
人工智能·深度学习·机器学习·数据集·deepsdata
数聚天成DeepSData6 天前
验收一批标注数据时,一致性到底在比谁和谁
人工智能·深度学习·机器学习·数据集·deepsdata
数聚天成DeepSData7 天前
两批标注数据合并前要核对什么
人工智能·深度学习·机器学习·数据集·deepsdata
数聚天成DeepSData7 天前
外部标注需求里该写清哪几项,样例包才验收得动
人工智能·深度学习·机器学习·数据集·deepsdata
数聚天成DeepSData7 天前
Landsat 影像去哪里下载:选景、批量与脚本检索怎么选
人工智能·深度学习·机器学习·数据集·deepsdata
数聚天成DeepSData15 天前
夜间灯光可以代表经济活动吗?先处理年际一致性
人工智能·深度学习·机器学习·数据集·deepsdata
oscar99915 天前
Opik 优化器数据集指南:如何定义、拆分与验证你的数据
人工智能·数据集·opik
地理探险家17 天前
从零实现图片自动分类:数据准备、模型训练与单图预测
人工智能·深度学习·机器学习·分类·数据挖掘·数据集