diff --git a/docs/workshop_ai/labels_template.csv b/docs/workshop_ai/labels_template.csv new file mode 100644 index 0000000..0ba2eed --- /dev/null +++ b/docs/workshop_ai/labels_template.csv @@ -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 diff --git a/docs/workshop_ai/synthetic_data_naming_and_labels.md b/docs/workshop_ai/synthetic_data_naming_and_labels.md new file mode 100644 index 0000000..011b2c3 --- /dev/null +++ b/docs/workshop_ai/synthetic_data_naming_and_labels.md @@ -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. 当前阶段建议 + +现在不要再把车间验证数据拆成图片和视频两套。 + +统一按这个原则: + +- 人脸库用图片 +- 场景验证用视频 diff --git a/docs/workshop_ai/synthetic_data_task_checklist.md b/docs/workshop_ai/synthetic_data_task_checklist.md new file mode 100644 index 0000000..badcf10 --- /dev/null +++ b/docs/workshop_ai/synthetic_data_task_checklist.md @@ -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. 再做车间验证视频 + +其中车间验证视频同时覆盖: + +- 人脸识别 +- 劳保鞋识别 diff --git a/docs/workshop_ai/synthetic_face_gallery_spec.md b/docs/workshop_ai/synthetic_face_gallery_spec.md new file mode 100644 index 0000000..ea50b45 --- /dev/null +++ b/docs/workshop_ai/synthetic_face_gallery_spec.md @@ -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岁中国女性,宽脸,肤色偏白,黑色微卷短发,眉毛较浓,眼睛中等偏大,鼻翼略宽,嘴唇自然,戴小金属耳钉,面部清晰,正脸看向镜头,普通工装上衣,背景简单,写实风格 +``` diff --git a/docs/workshop_ai/synthetic_prompt_templates.md b/docs/workshop_ai/synthetic_prompt_templates.md new file mode 100644 index 0000000..f4a528b --- /dev/null +++ b/docs/workshop_ai/synthetic_prompt_templates.md @@ -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` 段视频 diff --git a/test_assets/README.md b/test_assets/README.md new file mode 100644 index 0000000..9afee2b --- /dev/null +++ b/test_assets/README.md @@ -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/` diff --git a/test_assets/face_gallery/registered/reg_0012_front_01.png b/test_assets/face_gallery/registered/reg_0012_front_01.png new file mode 100644 index 0000000..93caa06 Binary files /dev/null and b/test_assets/face_gallery/registered/reg_0012_front_01.png differ diff --git a/test_assets/face_gallery/registered/reg_0015_front_01.png b/test_assets/face_gallery/registered/reg_0015_front_01.png new file mode 100644 index 0000000..0defb76 Binary files /dev/null and b/test_assets/face_gallery/registered/reg_0015_front_01.png differ diff --git a/test_assets/face_gallery/registered/reg_0018_front_01.png b/test_assets/face_gallery/registered/reg_0018_front_01.png new file mode 100644 index 0000000..2deb15d Binary files /dev/null and b/test_assets/face_gallery/registered/reg_0018_front_01.png differ diff --git a/test_assets/face_gallery/registered/reg_0019_front_01.png b/test_assets/face_gallery/registered/reg_0019_front_01.png new file mode 100644 index 0000000..53cce00 Binary files /dev/null and b/test_assets/face_gallery/registered/reg_0019_front_01.png differ diff --git a/test_assets/face_gallery/registered/reg_0019_left_01.png b/test_assets/face_gallery/registered/reg_0019_left_01.png new file mode 100644 index 0000000..f8de28f Binary files /dev/null and b/test_assets/face_gallery/registered/reg_0019_left_01.png differ diff --git a/test_assets/face_gallery/registered/reg_001_front_01.png b/test_assets/face_gallery/registered/reg_001_front_01.png new file mode 100644 index 0000000..1d41912 Binary files /dev/null and b/test_assets/face_gallery/registered/reg_001_front_01.png differ diff --git a/test_assets/face_gallery/registered/reg_001_left_01.png b/test_assets/face_gallery/registered/reg_001_left_01.png new file mode 100644 index 0000000..ab12134 Binary files /dev/null and b/test_assets/face_gallery/registered/reg_001_left_01.png differ diff --git a/test_assets/face_gallery/registered/reg_001_right_01.png b/test_assets/face_gallery/registered/reg_001_right_01.png new file mode 100644 index 0000000..7207740 Binary files /dev/null and b/test_assets/face_gallery/registered/reg_001_right_01.png differ diff --git a/test_assets/face_gallery/registered/reg_002_front_01.png b/test_assets/face_gallery/registered/reg_002_front_01.png new file mode 100644 index 0000000..9ef236b Binary files /dev/null and b/test_assets/face_gallery/registered/reg_002_front_01.png differ diff --git a/test_assets/face_gallery/registered/reg_005_front_01.png b/test_assets/face_gallery/registered/reg_005_front_01.png new file mode 100644 index 0000000..d97447d Binary files /dev/null and b/test_assets/face_gallery/registered/reg_005_front_01.png differ diff --git a/test_assets/face_gallery/registered/reg_007_front_01.png b/test_assets/face_gallery/registered/reg_007_front_01.png new file mode 100644 index 0000000..1d442ec Binary files /dev/null and b/test_assets/face_gallery/registered/reg_007_front_01.png differ diff --git a/test_assets/face_gallery/registered/reg_008_front_01.png b/test_assets/face_gallery/registered/reg_008_front_01.png new file mode 100644 index 0000000..5d45493 Binary files /dev/null and b/test_assets/face_gallery/registered/reg_008_front_01.png differ diff --git a/test_assets/face_gallery/registered/reg_008_right_01.png b/test_assets/face_gallery/registered/reg_008_right_01.png new file mode 100644 index 0000000..64c8c49 Binary files /dev/null and b/test_assets/face_gallery/registered/reg_008_right_01.png differ diff --git a/test_assets/face_gallery/registered/reg_011_front_01.png b/test_assets/face_gallery/registered/reg_011_front_01.png new file mode 100644 index 0000000..1443a75 Binary files /dev/null and b/test_assets/face_gallery/registered/reg_011_front_01.png differ diff --git a/test_assets/face_gallery/registered/reg_011_right_01.png b/test_assets/face_gallery/registered/reg_011_right_01.png new file mode 100644 index 0000000..c247dc3 Binary files /dev/null and b/test_assets/face_gallery/registered/reg_011_right_01.png differ diff --git a/test_assets/face_gallery/unknown/unk_0013_front_01.png b/test_assets/face_gallery/unknown/unk_0013_front_01.png new file mode 100644 index 0000000..5f0fb74 Binary files /dev/null and b/test_assets/face_gallery/unknown/unk_0013_front_01.png differ diff --git a/test_assets/face_gallery/unknown/unk_0014_front_01.png b/test_assets/face_gallery/unknown/unk_0014_front_01.png new file mode 100644 index 0000000..246afc4 Binary files /dev/null and b/test_assets/face_gallery/unknown/unk_0014_front_01.png differ diff --git a/test_assets/face_gallery/unknown/unk_0016_front_01.png b/test_assets/face_gallery/unknown/unk_0016_front_01.png new file mode 100644 index 0000000..3cac62c Binary files /dev/null and b/test_assets/face_gallery/unknown/unk_0016_front_01.png differ diff --git a/test_assets/face_gallery/unknown/unk_0017_front_01.png b/test_assets/face_gallery/unknown/unk_0017_front_01.png new file mode 100644 index 0000000..81e093d Binary files /dev/null and b/test_assets/face_gallery/unknown/unk_0017_front_01.png differ diff --git a/test_assets/face_gallery/unknown/unk_003_front_01.png b/test_assets/face_gallery/unknown/unk_003_front_01.png new file mode 100644 index 0000000..a51f7db Binary files /dev/null and b/test_assets/face_gallery/unknown/unk_003_front_01.png differ diff --git a/test_assets/face_gallery/unknown/unk_004_front_01.png b/test_assets/face_gallery/unknown/unk_004_front_01.png new file mode 100644 index 0000000..6403dac Binary files /dev/null and b/test_assets/face_gallery/unknown/unk_004_front_01.png differ diff --git a/test_assets/face_gallery/unknown/unk_006_front_01.png b/test_assets/face_gallery/unknown/unk_006_front_01.png new file mode 100644 index 0000000..b3871bb Binary files /dev/null and b/test_assets/face_gallery/unknown/unk_006_front_01.png differ diff --git a/test_assets/videos/combined/reg_001_单人_侧面_白色鞋_1.mp4 b/test_assets/videos/combined/reg_001_单人_侧面_白色鞋_1.mp4 new file mode 100644 index 0000000..ff5a99c Binary files /dev/null and b/test_assets/videos/combined/reg_001_单人_侧面_白色鞋_1.mp4 differ diff --git a/test_assets/videos/combined/reg_001_单人_侧面_黑色鞋_1.mp4 b/test_assets/videos/combined/reg_001_单人_侧面_黑色鞋_1.mp4 new file mode 100644 index 0000000..26709ac Binary files /dev/null and b/test_assets/videos/combined/reg_001_单人_侧面_黑色鞋_1.mp4 differ diff --git a/test_assets/videos/combined/reg_001_单人_正面_黑色鞋_1.mp4 b/test_assets/videos/combined/reg_001_单人_正面_黑色鞋_1.mp4 new file mode 100644 index 0000000..3c14a80 Binary files /dev/null and b/test_assets/videos/combined/reg_001_单人_正面_黑色鞋_1.mp4 differ diff --git a/test_assets/videos/combined/reg_008_unk_011_多人_正面_黑色鞋_白色鞋_1.mp4 b/test_assets/videos/combined/reg_008_unk_011_多人_正面_黑色鞋_白色鞋_1.mp4 new file mode 100644 index 0000000..f1b4c26 Binary files /dev/null and b/test_assets/videos/combined/reg_008_unk_011_多人_正面_黑色鞋_白色鞋_1.mp4 differ