Add synthetic validation docs and test assets

This commit is contained in:
tian 2026-04-13 15:12:06 +08:00
parent b2014d8a9b
commit 798f7d82f5
32 changed files with 777 additions and 0 deletions

View File

@ -0,0 +1,11 @@
filename,type,scene,expected,distance_level,occlusion
shoe_black_single_001.mp4,shoe,black_single,no_alarm,mid,none
shoe_dark_single_001.mp4,shoe,dark_single,no_alarm,mid,none
shoe_white_single_001.mp4,shoe,white_single,alarm,mid,none
shoe_slipper_single_001.mp4,shoe,slipper_single,alarm,mid,none
shoe_mix_two_people_001.mp4,shoe,mix_two_people,alarm_only_noncompliant,mid,light
shoe_occlusion_far_001.mp4,shoe,occlusion_far,mixed_by_shoe_type,far,partial
face_registered_front_001.mp4,face,registered_front,known,mid,none
face_registered_pose_001.mp4,face,registered_pose,known,mid,light
face_unknown_front_001.mp4,face,unknown_front,unknown,mid,none
face_multi_occlusion_001.mp4,face,multi_occlusion,mixed_known_unknown,mid,light
1 filename type scene expected distance_level occlusion
2 shoe_black_single_001.mp4 shoe black_single no_alarm mid none
3 shoe_dark_single_001.mp4 shoe dark_single no_alarm mid none
4 shoe_white_single_001.mp4 shoe white_single alarm mid none
5 shoe_slipper_single_001.mp4 shoe slipper_single alarm mid none
6 shoe_mix_two_people_001.mp4 shoe mix_two_people alarm_only_noncompliant mid light
7 shoe_occlusion_far_001.mp4 shoe occlusion_far mixed_by_shoe_type far partial
8 face_registered_front_001.mp4 face registered_front known mid none
9 face_registered_pose_001.mp4 face registered_pose known mid light
10 face_unknown_front_001.mp4 face unknown_front unknown mid none
11 face_multi_occlusion_001.mp4 face multi_occlusion mixed_known_unknown mid light

View File

@ -0,0 +1,130 @@
# AI 合成验证数据命名与标签规范
本文档只针对两类数据:
1. 人脸库图片
2. 车间验证视频
---
## 1. 人脸库图片命名
### 已登记
```text
reg_{id}_front_01.jpg
reg_{id}_left_01.jpg
reg_{id}_right_01.jpg
```
示例:
```text
reg_001_front_01.jpg
reg_001_left_01.jpg
reg_001_right_01.jpg
```
### 未登记
```text
unk_{id}_front_01.jpg
```
示例:
```text
unk_001_front_01.jpg
```
---
## 2. 车间验证视频命名
### 劳保鞋识别视频
```text
shoe_{scene}_{index}.mp4
```
场景名:
- `black_single`
- `dark_single`
- `white_single`
- `slipper_single`
- `mix_two_people`
- `occlusion_far`
### 人脸识别视频
```text
face_{scene}_{index}.mp4
```
场景名:
- `registered_front`
- `registered_pose`
- `unknown_front`
- `multi_occlusion`
---
## 3. 标签字段
### 人脸库图片
建议字段:
- `filename`
- `type`
- `identity_id`
- `identity_type`
- `pose`
### 车间验证视频
建议字段:
- `filename`
- `type`
- `scene`
- `expected`
- `distance_level`
- `occlusion`
如有条件再补:
- `shoe_type`
- `lighting`
- `registered_subject_count`
- `unknown_subject_count`
---
## 4. 目录建议
```text
data/
synthetic/
face_gallery/
videos/
labels.csv
```
其中:
- `face_gallery/` 放人脸库图片
- `videos/` 放车间验证视频
---
## 5. 当前阶段建议
现在不要再把车间验证数据拆成图片和视频两套。
统一按这个原则:
- 人脸库用图片
- 场景验证用视频

View File

@ -0,0 +1,139 @@
# AI 合成验证数据任务清单
本文档只围绕两类数据组织任务:
1. 人脸库图片
2. 车间验证视频
其中:
- 人脸库图片用于建已登记 / 未登记人脸库
- 车间验证视频用于做人脸识别和劳保鞋识别验证
---
## 1. 数据范围
本轮只生产这两类数据:
### A. 人脸库图片
用途:
- 已登记人员建库
- 未登记人员拒识测试
### B. 车间验证视频
用途:
- 验证人脸识别在车间视频中的效果
- 验证劳保鞋识别在车间视频中的效果
说明:
- 不再单独生产“车间场景图片”
- 车间场景以视频为主
---
## 2. 推荐执行顺序
### 第一步:先生成人脸库图片
看这个文件:
- `synthetic_face_gallery_spec.md`
建议规模:
- 已登记:`30 人`
- 未登记:`60 人`
- 已登记每人:`3 张`
- `front`
- `left`
- `right`
- 未登记每人:`1 张 front`
产出:
- 一套可建库的人脸图片
---
### 第二步:用已登记人脸生成车间视频人物
看这个文件:
- `synthetic_face_gallery_spec.md`
执行方式:
1. 先从已登记人脸库中选人物参考图
2. 用参考图生成该人物在车间中的单帧图
3. 再由单帧图扩展成车间短视频
建议:
- 至少选 `15~20` 个已登记身份进入车间视频
产出:
- 一批带已登记人物的人脸识别验证视频
---
### 第三步:生成车间验证视频
看这个文件:
- `synthetic_prompt_templates.md`
视频分两类:
1. 劳保鞋识别视频
2. 人脸识别视频
建议规模:
- 劳保鞋:`6` 类场景,每类 `10` 段视频
- 人脸:`4` 类场景,每类 `10` 段视频
产出:
- 劳保鞋验证视频
- 人脸识别验证视频
---
### 第四步:命名和打标签
看这些文件:
- `synthetic_data_naming_and_labels.md`
- `labels_template.csv`
执行内容:
- 按命名规则保存人脸库图片和车间视频
- 给每个视频和图片补标签
产出:
- 可直接用于验证的目录和标签表
---
## 3. 当前阶段建议
本轮不要再把任务拆成很多类型。
只要记住两件事:
1. 先做人脸库图片
2. 再做车间验证视频
其中车间验证视频同时覆盖:
- 人脸识别
- 劳保鞋识别

View File

@ -0,0 +1,317 @@
# AI 合成人脸图库规范
本文档用于生成可用于“真实场景验证”的人脸图库和人脸场景参考图。
适用目的:
- 已登记建库测试
- 已登记识别准确率测试
- 未登记拒识测试
- 已登记人物进入车间监控视频的角色参考
不适用目的:
- 替代真实员工正式验收
---
## 1. 建议规模
### 已登记
- `30 人`
- 每人 `3 张`
- `front` 1 张
- `left` 1 张
- `right` 1 张
### 未登记
- `60 人`
- 每人 `1 张 front`
合计建议:
- 已登记 `90 张`
- 未登记 `60 张`
这个规模更适合验证:
- 已登记识别通过率
- 未登记拒识率
- 相似人员误认风险
---
## 2. 已登记照片要求
每个已登记身份建议包含:
1. 标准正脸 1 张
2. 轻微左侧脸 1 张
3. 轻微右侧脸 1 张
统一要求:
- 面部清晰
- 五官完整可见
- 不戴口罩
- 不做夸张表情
- 不要证件照抠图感
- 不要广告海报感
- 背景尽量简单
---
## 3. 未登记照片要求
每个未登记身份建议包含:
- 正脸 1 张
统一要求:
- 与已登记照片风格一致
- 面部清晰
- 年龄、性别、脸型尽量有差异
- 混入少量相似长相样本,便于测试误认
---
## 4. 提示词模板
### 已登记人员
```text
真实人像照片风格,成年工厂员工,正脸或轻微侧脸,面部清晰,自然表情,普通工作服,背景简单,自然光或普通室内光,写实风格,不是证件照,不是海报,不夸张修图
```
### 未登记人员
```text
真实人像照片风格,成年陌生人员,正脸,面部清晰,自然表情,普通服装,背景简单,自然光或普通室内光,写实风格,不是证件照,不是海报,不夸张修图
```
负面约束建议:
```text
不要卡通,不要过度磨皮,不要夸张美颜,不要证件照底色,不要明星写真,不要多人同框,不要遮挡半张脸
```
---
## 5. 命名规则
### 已登记
文件命名建议:
- `reg_001_front_01.jpg`
- `reg_001_left_01.jpg`
- `reg_001_right_01.jpg`
按此模式扩展到 `reg_030`
### 未登记
文件命名建议:
- `unk_001_front_01.jpg`
按此模式扩展到 `unk_060`
---
## 6. 建议身份范围
### 已登记
- `reg_001``reg_030`
### 未登记
- `unk_001``unk_060`
---
## 7. 如何把人脸库中的人脸放到车间图片或视频中
推荐流程:
```text
人脸库正脸图 -> 角色参考图 -> 车间单帧图 -> 车间短视频
```
具体做法:
1. 先生成已登记人物的 `front`
2. 把该图作为角色参考图
3. 先生成该人物在车间中的单张全身图
4. 再由单张全身图扩展成 8~10 秒短视频
建议:
- 至少选 `15~20` 个已登记身份做车间视频
- 每个身份至少做 `1` 段视频
不建议:
- 直接先生成普通视频再后期贴脸
原因:
- 容易不自然
- 监控视角下容易穿帮
---
## 8. 当前阶段建议
如果目标是验证接近真实场景的效果,不建议只做几张正脸图。
建议直接把人脸图库做到:
- 已登记 `30 人 x 3 张`
- 未登记 `60 人 x 1 张`
这样后面的验证结果才有统计意义。
---
## 9. 第一批正脸提示词示例
下面提供第一批可直接使用的正脸提示词,共 `20` 条:
- 男性 `10`
- 女性 `10`
用途:
- 先逐条生成不同身份的人脸正脸图
- 重点拉开脸型、肤色、发型、五官差异
统一负面约束建议:
```text
不要多人同框,不要卡通,不要海报风,不要过度磨皮,不要夸张美颜,不要证件照底色,不要明星脸,不要遮挡面部,不要夸张表情
```
### 男性 1
```text
真实人像照片风格31岁中国男性圆脸肤色很白短平头浓黑粗眉单眼皮小鼻头薄嘴唇脸部偏饱满没有胡须面部清晰自然表情正脸看向镜头普通灰色工作服上衣背景简单写实风格
```
### 男性 2
```text
真实人像照片风格44岁中国男性长脸肤色偏深短碎发额头宽双眼皮但眼睛偏小鼻梁高直下巴长脸部偏瘦轻微抬头正脸看向镜头普通深蓝色上衣背景简单写实风格
```
### 男性 3
```text
真实人像照片风格27岁中国男性方脸小麦肤色黑色板寸眉毛浓密眼距稍宽鼻翼较宽嘴角平直脸部轮廓硬朗面部清晰自然表情正脸看向镜头普通工作服背景简单写实风格
```
### 男性 4
```text
真实人像照片风格36岁中国男性瘦长脸肤色偏黄三七分短发双眼皮颧骨略高鼻梁挺直尖下巴脸颊偏瘦面部清晰自然表情正脸看向镜头普通黑色上衣背景简单写实风格
```
### 男性 5
```text
真实人像照片风格49岁中国男性国字脸肤色偏深短发夹少量灰发眉骨明显眼睛较小鼻翼宽嘴唇较厚轻微法令纹脸部成熟稳重正脸看向镜头普通工装背景简单写实风格
```
### 男性 6
```text
真实人像照片风格29岁中国男性椭圆脸肤色偏白黑色自然短发双眼皮大眼睛鼻梁中等嘴唇偏厚脸型柔和戴细边黑框眼镜面部清晰正脸看向镜头普通工作服背景简单写实风格
```
### 男性 7
```text
真实人像照片风格38岁中国男性宽脸小麦肤色短卷发浓眉单眼皮鼻梁偏低薄嘴唇脸部轮廓厚实左脸有一颗浅痣面部清晰自然表情正脸看向镜头普通棕色上衣背景简单写实风格
```
### 男性 8
```text
真实人像照片风格54岁中国男性长方脸肤色偏黄发际线略高短发带灰白两颊稍瘦眼尾细纹明显单眼皮高鼻梁嘴角略下垂面部清晰正脸看向镜头普通工装背景简单写实风格
```
### 男性 9
```text
真实人像照片风格34岁中国男性倒三角脸肤色偏白利落短发眉毛整齐双眼皮鼻尖较窄下巴明显脸部干净利落右眉尾有小疤痕感面部清晰自然表情正脸看向镜头普通上衣背景简单写实风格
```
### 男性 10
```text
真实人像照片风格46岁中国男性圆方脸肤色偏深板寸粗眉中等大小眼睛鼻翼偏宽厚嘴唇留非常淡的胡茬脸部成熟面部清晰正脸看向镜头普通深灰工作服背景简单写实风格
```
### 女性 1
```text
真实人像照片风格27岁中国女性鹅蛋脸肤色很白黑色齐肩直发双眼皮大眼睛鼻梁细直嘴唇自然偏薄脸部线条柔和面部清晰自然表情正脸看向镜头普通工作服上衣背景简单写实风格
```
### 女性 2
```text
真实人像照片风格35岁中国女性圆脸肤色偏黄耳下短发单眼皮眉毛自然平缓鼻头圆润薄嘴唇脸颊饱满面部清晰自然表情正脸看向镜头普通浅色上衣背景简单写实风格
```
### 女性 3
```text
真实人像照片风格43岁中国女性长脸小麦肤色低马尾双眼皮颧骨略高高鼻梁尖下巴脸部偏瘦面部清晰正脸看向镜头普通工装背景简单写实风格
```
### 女性 4
```text
真实人像照片风格31岁中国女性方脸肤色偏白黑色利落短发眉毛平直眼睛中等大小鼻梁中等嘴角平稳脸部轮廓分明面部清晰正脸看向镜头普通工作服背景简单写实风格
```
### 女性 5
```text
真实人像照片风格50岁中国女性椭圆脸肤色偏黄盘发双眼皮眼尾细纹轻微鼻翼稍宽嘴唇自然脸部成熟温和戴细边眼镜正脸看向镜头普通深色上衣背景简单写实风格
```
### 女性 6
```text
真实人像照片风格29岁中国女性心形脸肤色偏白长直发双眼皮眼距稍宽鼻梁细嘴唇偏厚下巴尖脸型轻盈面部清晰自然表情正脸看向镜头普通工作服背景简单写实风格
```
### 女性 7
```text
真实人像照片风格39岁中国女性圆方脸小麦肤色齐耳短发单眼皮眉骨略明显鼻头较圆法令纹轻微脸部偏厚实面部清晰正脸看向镜头普通工装背景简单写实风格
```
### 女性 8
```text
真实人像照片风格33岁中国女性瘦长脸肤色偏黄低扎发双眼皮颧骨明显鼻梁较挺下巴较尖左眼下有浅痣面部清晰自然表情正脸看向镜头普通上衣背景简单写实风格
```
### 女性 9
```text
真实人像照片风格46岁中国女性鹅蛋脸肤色偏深黑色中短发眼睛较小双眼皮鼻梁中等嘴唇较薄脸部成熟稳重面部清晰正脸看向镜头普通工作服背景简单写实风格
```
### 女性 10
```text
真实人像照片风格30岁中国女性宽脸肤色偏白黑色微卷短发眉毛较浓眼睛中等偏大鼻翼略宽嘴唇自然戴小金属耳钉面部清晰正脸看向镜头普通工装上衣背景简单写实风格
```

View File

@ -0,0 +1,136 @@
# AI 合成验证视频提示词模板
本文档只用于生成车间验证视频。
不用于生成人脸库图片。
人脸库图片请看:
- `synthetic_face_gallery_spec.md`
---
## 1. 用途
本文件生成两类视频:
1. 劳保鞋识别验证视频
2. 人脸识别验证视频
统一要求:
- `1920x1080`
- 固定监控机位
- 高机位或斜俯视
- 真实工业车间环境
- 纪实风格
- 视频长度建议 `8~12 秒`
统一负面约束:
```text
不要电影镜头,不要浅景深,不要广告感,不要卡通,不要夸张透视,不要人物肢体畸形,不要把脚裁出画面
```
---
## 2. 劳保鞋识别视频
### 1. 黑色劳保鞋合规单人
```text
车间固定监控视角高机位轻微俯拍真实工业车间环境单名工人正常行走全身入镜脚部清晰可见穿黑色劳保鞋普通工装裤真实纪实风格1920x1080固定镜头短视频
```
期望结果:`不报警`
### 2. 深色劳保鞋合规单人
```text
车间固定监控视角高机位轻微俯拍真实工业车间环境单名工人正常行走全身入镜脚部清晰可见穿深灰色或深蓝色劳保鞋普通工装裤真实纪实风格1920x1080固定镜头短视频
```
期望结果:`不报警`
### 3. 白色运动鞋违规单人
```text
车间固定监控视角高机位轻微俯拍真实工业车间环境单名工人正常行走全身入镜脚部清晰可见穿白色运动鞋普通工装裤真实纪实风格1920x1080固定镜头短视频
```
期望结果:`报警`
### 4. 拖鞋或凉鞋违规单人
```text
车间固定监控视角高机位轻微俯拍真实工业车间环境单名工人正常行走全身入镜脚部清晰可见穿拖鞋或凉鞋普通工装裤真实纪实风格1920x1080固定镜头短视频
```
期望结果:`报警`
### 5. 两人同框一合规一违规
```text
车间固定监控视角高机位轻微俯拍真实工业车间环境两名工人同时出现在画面中并正常移动一人穿黑色或深色劳保鞋另一人穿白色运动鞋或拖鞋全身可见脚部不能被裁掉存在轻微遮挡真实纪实风格1920x1080固定镜头短视频
```
期望结果:`只对违规人员报警`
### 6. 远距离或裤脚遮挡
```text
车间固定监控视角高机位俯拍真实工业车间环境单名工人位于中远距离人物较小裤脚部分遮挡鞋面脚部仍可见一部分穿黑色劳保鞋、深色劳保鞋、白色运动鞋各生成一部分真实监控风格1920x1080固定镜头短视频
```
期望结果:`根据鞋型判断,重点观察误报和漏报`
建议数量:
- `6` 类场景
- 每类 `10` 段视频
---
## 3. 人脸识别视频
说明:
- 这里的视频人物应尽量来自已登记 / 未登记人脸库参考图
- 已登记人物进入视频的方法见 `synthetic_face_gallery_spec.md`
### 1. 已登记人员正脸
```text
车间固定监控视角斜俯视真实工业车间环境单名已登记工人处于3到5米距离正脸朝向摄像头面部清晰可见正常表情真实纪实风格1920x1080固定镜头短视频
```
期望结果:`识别本人`
### 2. 已登记人员侧脸或低头
```text
车间固定监控视角斜俯视真实工业车间环境单名已登记工人处于3到5米距离轻微侧脸或轻微低头面部仍然可见真实纪实风格1920x1080固定镜头短视频
```
期望结果:`尽量识别本人`
### 3. 未登记人员正脸
```text
车间固定监控视角斜俯视真实工业车间环境单名未登记陌生人员处于3到5米距离正脸可见面部清晰真实纪实风格1920x1080固定镜头短视频
```
期望结果:`识别 unknown`
### 4. 多人同框轻微遮挡
```text
车间固定监控视角斜俯视真实工业车间环境两到三名人员同时出现在画面中前后有轻微遮挡包含已登记人员和未登记人员至少一人正脸可见真实监控风格1920x1080固定镜头短视频
```
期望结果:`已登记识别本人,未登记识别 unknown`
建议数量:
- `4` 类场景
- 每类 `10` 段视频

44
test_assets/README.md Normal file
View File

@ -0,0 +1,44 @@
# Test Assets
本目录用于存放测试资源,当前分为两类:
1. 人脸库图片
2. 车间验证视频
## 目录结构
```text
test_assets/
face_gallery/
registered/
unknown/
videos/
combined/
face_recognition/
shoe_detection/
```
## 当前约定
- `face_gallery/registered/`
放已登记人员图片,文件名前缀使用 `reg_`
- `face_gallery/unknown/`
放未登记人员图片,文件名前缀使用 `unk_`
- `videos/combined/`
放当前同时可用于人脸识别和劳保鞋识别验证的视频
- `videos/face_recognition/`
预留给后续仅做人脸识别验证的视频
- `videos/shoe_detection/`
预留给后续仅做劳保鞋识别验证的视频
## 当前状态
- 已将 `C:\Users\Tellme\Pictures\人脸库` 中的 `reg_*.png` 复制到 `face_gallery/registered/`
- 已将 `C:\Users\Tellme\Pictures\人脸库` 中的 `unk_*.png` 复制到 `face_gallery/unknown/`
- 已将当前 `.mp4` 视频复制到 `videos/combined/`
## 后续建议
- 新增人脸库图片时,继续按 `reg_` / `unk_` 前缀放入对应目录
- 新增视频时,如果同一视频同时覆盖人脸识别和劳保鞋识别,优先放到 `videos/combined/`
- 如果后续视频任务明确只验证单一能力,再分别放到 `videos/face_recognition/``videos/shoe_detection/`

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB