团队博客 服务外包杯A31赛题开发文档

软件需求规格说明书 (SRS)

一、引言

1.1 编写目的

本说明书旨在明确“基于生成式AI增强的跨时间域生物特征识别系统”的功能与非功能需求,为后续的设计、开发与测试提供基准。

1.2 项目背景

传统生物特征识别模型在面对跨越多年的面部图像时,受非线性形变影响,精度断崖式下跌。本项目引入AIGC进行老化增强,解决跨龄核验痛点。


二、总体描述

2.1 目标用户

公安司法人员(跨龄寻亲、长效证件核验)、动物保护科研机构人员。

2.2 运行环境

服务器端需配备NVIDIA GPU(推荐CUDA 11.8+),操作系统支持Linux/Windows。客户端支持主流Web浏览器。

2.3 设计限制

为了保证老化特征生成的逼真度,系统需内嵌调用SDXL服务,因此对显存有较高要求(推荐>=8GB)。


三、系统功能需求

3.1 智能数据分拣模块

支持深度嵌套目录的解析,通过自研路径溯源算法精准提取ID,避免上传路径异常导致的数据污染。

3.2 AIGC老化增强模块

识别年轻态/基础态照片,调用SDXL引擎并结合Prompt生成对应的高保真衰老图像。

3.3 双轨制模型训练模块

支持人类(多任务学习)与动物(老化增强流水线)数据集的自动判别与增量微调训练。

3.4 跨时间域核验与展示模块

提供A/B照片1:1比对及1:N检索功能,输出固定阈值Accuracy、Rank-1等指标及判定结果。


四、非功能需求

4.1 性能需求

1:1验证特征提取与比对需在500ms内完成(不含生成耗时)。

4.2 稳定性需求

系统需具备完善的异常捕获机制,处理非图片文件上传时不得崩溃。


软件概要设计说明书 (PDD)

一、总体架构设计

系统采用前后端分离与模块解耦的微服务化设计理念,自上而下分为四层:

  • 表现层 (Web UI):基于Vue.js开发,提供可视化看板、数据上传分拣交互及核验结果大屏。
  • 调度层 (Java/SpringBoot):作为安全网关,负责鉴权、文件流接收处理及跨语言任务下发。
  • 引擎层 (Python/Flask + PyTorch):挂载SDXL图像生成网络与ResNet核心特征提取网络,执行密集型张量计算。
  • 数据层 (MySQL):负责任务队列状态、性能指标(Acc, Rank-1等)的持久化及特征矩阵的本地化落盘。

二、接口设计概览

2.1 内部API接口

调度层与引擎层之间通过RESTful API(如 /api/task/start)进行异步通信,传递taskId及超参数。

2.2 外部模型接口

通过HTTP本地/内网调用SDXL API(默认端口7860),实现img2img的高精度老化合成。


三、运行控制与时序

训练任务下发 -> 物理路径倒推清洗 -> 判断是否触发SDXL老化生成 -> 构建DataLoader -> 模型前向传播与Loss计算(ArcFace) -> 模型评估(输出三大指标) -> 持久化权重并更新任务状态至数据库。


软件详细设计说明书 (DDD)

一、核心算法模块设计 (CrossTimeBiometricModel)

本模块采用多任务学习(Multi-Task Learning)架构,包含三大子模块:

1.1 特征提取主干 (Backbone)

采用ResNet-50,去除原始全连接层,输出512维的深层语义特征。训练初期采取冻结微调策略(Learning Rate=1e-5)以保护预训练权重。

1.2 度量学习分类头 (Identity Head)

实现自定义的ArcFace层。引入加性角度间隔 (Margin m=0.45) 与特征缩放 (Scale s=32.0)。该层强制将同一ID的年轻态与老年态特征向超球面同一中心压缩,抵御形变。

1.3 年龄估算回归头 (Age Regression Head)

由多层感知机(MLP)构成,采用MSE损失进行生理年龄预测,使主干网络隐式学习时间流逝规律。


二、数据处理与增强详细设计

2.1 NestedImageFolder 数据加载类

重写 Dataset,使其支持深度嵌套并具备根据文件名(如 AgeDB中的_xx_特征)动态解析年龄的能力。

2.2 视觉干扰防范设计

在训练时引入 RandomResizedCrop(0.8-1.0) 与 ColorJitter;但在推理核验阶段,严格执行等比 Resize 加 CenterCrop,坚决杜绝因人脸被拉伸形变导致的识别率下降。


三、评估算法实现细节

3.1 指标去水设计

evaluate_biometric_metrics 中,直接映射余弦相似度。设定硬性阈值(0.5)切分正负样本以计算 Accuracy,拒绝测试集上的阈值搜索,确保模型泛化真实性。


数据库设计说明书 (DBD)

一、数据库环境与规范

采用 MySQL 8.0 作为核心关系型数据库。字符集统一使用 utf8mb4 以兼容多语种及特殊符号,存储引擎采用 InnoDB 支持事务与高并发访问。


二、逻辑结构设计 (E-R 分析)

系统核心实体包括:

  • 用户 (User):系统的操作者,拥有权限标识。
  • 任务 (Task):核心实体,记录一次训练或核验的完整生命周期,包含超参数、执行状态及跑分结果。

三、核心表结构定义 (t_task)

表名: t_task (大模型计算任务流水表)

字段名 类型 约束 说明
id VARCHAR(64) 主键 唯一任务标识
task_type VARCHAR(32) 任务类型 (training/generalization/human_verify等)
status VARCHAR(16) 状态 (PENDING, RUNNING, COMPLETED, FAILED)
result_metrics JSON 存储 Accuracy, Rank-1, TAR等指标的JSON快照
start_time DATETIME 任务启动时间
end_time DATETIME 任务结束时间

项目开发计划 (PDP)

一、团队组织架构与分工

  • AI 算法组:负责SDXL Prompt工程测试、ArcFace核心模型开发与参数调优。
  • 全栈工程组:负责Vue前端数据可视化看板开发、Flask与Java微服务网关的搭建及数据库联调。
  • 测试与产品组:负责边缘用例(如嵌套目录)设计、标准数据集跑分及项目文档撰写。

二、开发阶段划分

第一阶段(需求与技术验证)

确认硬件环境,跑通SDXL API调用链路,清洗基础人脸与动物数据集。

第二阶段(核心算法攻坚)

实现CrossTimeBiometricModel双头架构,跑通ArcFace训练流程,解决初期“灾难性遗忘”问题。

第三阶段(平台化与工程化)

完成前后端接口联调,实现物理分拣模块及任务状态流转机制。

第四阶段(优化与封装)

引入等比Crop防形变策略,多数据集交叉验证跑分,编写全套申报文档。


测试计划 (TP)

一、测试目的与范围

目的:验证跨时间域生物识别系统的功能完备性、高并发下的鲁棒性以及在极其大跨度时间图像下的识别准确率。

范围:涵盖前端交互测试、文件系统容灾测试、大模型调度性能测试及算法核心指标测试。


二、测试策略与环境

  • 测试环境:NVIDIA RTX 50系显卡环境,Linux 操作系统。
  • 测试策略:白盒测试结合黑盒测试。针对模型训练,采用按个体隔离(Subject-Exclusive)的严谨验证协议。

三、算法基准测试指标 (核心标准)

在CACD、AgeDB、FG-NET等标准验证集上,系统必须达到以下验收标准:

  1. 严格使用固定验证阈值(0.5)下,Accuracy 不低于基准要求。
  2. 在海量库检索的 Rank-1 首选命中率具备显著优势。
  3. 在 TAR@FAR=0.1(严格防伪标准)下表现出优异的跨龄通过率。

项目团队绩效评估报告

项目名称: 基于生成式AI增强的跨时间域生物特征识别系统


一、绩效评分明细表

评估维度 (权重) 具体考核项目 成员A:核心开发 (赵朝印) 成员B:辅助 (邓楷)
1. 核心算法与AI开发
(权重:35%)
1. SDXL 老化增强流水线开发
2. ArcFace 损失函数与防形变架构落地
3. 多任务学习模型(身份核验+年龄估算)
33 / 35
(主导项目核心技术壁垒)
2 / 35
(未参与核心算法逻辑)
2. 后端引擎与架构搭建
(权重:25%)
1. 智能物理分拣与脏数据清洗算法
2. Flask 异步任务调度网关搭建
3. MySQL 数据库设计与持久化
24 / 25
(完成全部架构体系搭建)
1 / 25
(未参与架构搭建)
3. 前端界面与系统集成
(权重:15%)
1. 跨龄核验交互界面开发
2. 前后端 API 接口对接与联调
3. 系统容错处理与边界极端测试
14 / 15
(完成系统全链路闭环)
2 / 15
(参与少量功能盲测)
4. 项目文档与技术规格
(权重:15%)
1. SRS/PDD/DDD等六大核心文档撰写
2. 源代码使用说明书与架构图
3. 答辩 PPT 与 NABCD 方案梳理
10 / 15
(提供底层技术细节支持)
12 / 15
(承担主要的文档编写与排版)
5. 项目管理与综合协作
(权重:10%)
1. 项目整体进度把控与里程碑设定
2. 痛点分析与技术路线前瞻性决策
3. 团队内部沟通与配合度
9 / 10
(担任决策者把控进度)
7 / 10
(配合项目整体推进)
最终总分 (100%) 项目综合落地达成情况 90 分
(绝对核心贡献)
24 分
(基础辅助贡献)

二、综合评价说明

  • 成员A (核心开发——赵朝印):
    在本项目中承担了绝大部分硬核技术工作。从核心的大模型融合(SDXL + ArcFace)、双轨制并行训练架构的开发,到后端智能物理分拣算法的实现,均由其独立主导完成。其产出的代码构成了项目的核心技术壁垒,保障了项目最终的三维性能指标(Accuracy / Rank-1 / TAR),是项目得以成功落地并具备强悍参赛竞争力的核心驱动力。

  • 成员B (辅助文档——邓楷):
    在本项目中主要承担了基础性的辅助工作,重点在于协助完成了项目前期及后期的部分文档整理与编写排版。在核心代码开发、系统架构设计及技术难点攻坚方面未有实质性参与。其在文档维度的配合为项目交付材料的完善提供了一定支持,符合其辅助角色的基本定位。

posted @ 2026-06-19 15:12  赵朝印  阅读(16)  评论(0)    收藏  举报