Karthik2509-git/qyro-data-engineering-pipeline

GitHub: Karthik2509-git/qyro-data-engineering-pipeline

一个端到端的自动化数据工程流水线,用于对多源皮肤科图像进行摄取、去重、质量审计和标准化导出,为医疗 AI 目标检测模型提供经验证的高保真训练数据。

Stars: 0 | Forks: 0

![QYRO Pipeline Banner](https://static.pigsec.cn/wp-content/uploads/repos/cas/18/18247891f28688ea1a3c7e4ec7a3b59d1f5a08fe8c684114729c6bd77cd5ea29.png) # QYRO 数据集工程 Pipeline 一个自动化、可复现的数据集筛选工厂,旨在处理来自多源的原始外部痤疮数据集,并为医疗 AI 目标检测模型编译一个经过验证的高质量训练池(**QYRO Dataset v2.0**)。 该系统充当质量把关者、摄取编排器和元数据索引器——将低质量和异常样本排除在训练池之外,防止数据污染。 ## 📈 平台与筛选总结 ### **摄取 Pipeline 产出** | 指标 | 数量 | 百分比 / 平均值 | | :--- | :--- | :--- | | **总摄取图像数** | **16,653** | 100.0% | | **接受的候选样本(精选池)** | **835** | **5.0% 产出率** | | **识别并处理的重复项** | **1,577** | 9.5% | | **严格拒绝(损坏/无效)** | **256** | 1.5% | | **等待人工分类(审查)** | **13,985** | 84.0% | | **精选边界框(痤疮病灶)** | **5,561** | 平均 **6.7 个病灶 / 图像** | | **平均边界框面积** | — | 占图像帧的 **0.23%** | ### **数据集贡献明细** | 数据集 ID | 来源名称 | 摄取数 | 接受数 | 审查队列 | 严格拒绝 | 重复项 | 总边界框数 | 产出率 % | | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | | **DS001** | Roboflow Acne Detection Dataset v1 | 8,481 | **274** | 7,235 | 29 | 943 | 1,824 | 3.23% | | **DS002** | Roboflow Pimples Detection Dataset v13 | 4,409 | **149** | 3,995 | 4 | 261 | 867 | 3.38% | | **DS003** | Roboflow Acne Detection E97Ja Dataset v5 | 1,130 | **1** | 853 | 223 | 53 | 1 | 0.09% | | **DS004** | Roboflow Acne Detection CHP6J Dataset v1 | 1,389 | **226** | 1,084 | 0 | 79 | 1,741 | 16.27% | | **DS005** | Roboflow Acne Vulgaris Dataset v1 | 1,244 | **185** | 818 | 0 | 241 | 1,128 | 14.87% | | **总计** | **合并来源** | **16,653** | **835** | **13,985** | **256** | **1,577** | **5,561** | **5.01%** | ## 📦 数据集划分 (v2.0 冻结版本) 数据集使用随机种子 (`42`) 进行打乱和拆分,并通过严格的验证测试来保证跨边界**零数据泄露**: * **训练集 (70%)**: `584` 张图像 | `3,862` 个标注 * **验证集 (15%)**: `125` 张图像 | `839` 个标注 * **测试集 (15%)**: `126` 张图像 | `860` 个标注 * **图像分辨率**: `640 x 640` (使用灰色填充 `(114, 114, 114)` 进行 Letterbox 缩放) ## 🧬 数据集多样性指数(仅限精选池) ### **痤疮严重程度分布** * **轻度 (< 5 个病灶)**: `693` 张图像 (83.0%) * **中度 (5 到 20 个病灶)**: `128` 张图像 (15.3%) * **重度 (> 20 个病灶)**: `14` 张图像 (1.7%) ### **光照与肤色类别** * **最佳曝光**: `833` 张图像 * **类 Fitzpatrick 肤色代理指标**: * **L2 (中等 / 棕褐色)**: `169` 张图像 * **L3 (深色 / 黝黑)**: `664` 张图像 ## 🚀 核心特性 * **12 阶段自动化 Pipeline**: 通过 `run_pipeline.py` 统一编排,涵盖数据完整性检查、格式标准化、视觉与几何审计、去重以及最终的 letterbox 导出。 * **多源类别统一**: 根据配置中的规则,自动将各种痤疮标注方案(脓疱、丘疹、黑头等)映射到统一的目标类别 (`acne`)。 * **双重过滤质量评分**: * *视觉指标*: 测量模糊度(Laplacian 方差)和光照曝光(亮度直方图分布)。 * *标签审计*: 捕捉越界的边界框、负数形状以及过度重叠的坐标。 * **全局去重与泄露预防**: 利用差异哈希 (dHash) 和 MD5 哈希在全局范围内解决近似重复项,确保没有相同或相似的主题图像污染 Train/Val/Test 划分。 * **模型在环共识审计**: 集成基于 YOLOv8 的共识审计引擎,以标记人工标注与模型预测之间的差异。 * **关系型元数据索引**: 在结构化的 SQLite 数据库中维护数据集、图像参数、质量评分和标注的完全可追溯记录。 ## 🛠️ 技术栈 * **核心语言**: Python * **图像处理**: OpenCV (`cv2`), Pillow (`PIL`) * **AI 模型验证**: Ultralytics YOLOv8 * **数据库引擎**: SQLite * **配置与策略管理**: YAML (PyYAML) ## 📁 仓库结构 ``` workspace/ ├── configs/ │ └── default_dataset_policy.yaml # Configures quality thresholds & folder paths │ ├── database/ │ └── (sqlite databases - gitignored) │ ├── datasets/ │ └── (raw/external/curated image sets - gitignored) │ ├── docs/ │ ├── dataset_acceptance_policy.md # The Dataset v2 Quality Constitution │ ├── repository_structure.md # Detailed database schema maps │ └── workflow.md # Explanation of the 12 pipeline stages │ ├── reports/ │ └── (markdown diagnostics and yield tracking report cards) │ └── scripts/ ├── import/ # Raw ingestion and lineage tracking ├── conversion/ # Annotation format harmonizers ├── audit/ # Coordinate geometric validators ├── scoring/ # Metric calculation engine ├── dedup/ # Image hashing (dHash/MD5) comparisons ├── review/ # Interface for human review queue ├── export/ # Dataset splitting, letterboxing, and packaging └── utils/ # DB wrappers, loggers, orchestrators ```
标签:医学图像, 恶意代码分类, 数据工程, 数据清洗, 数据管道, 数据质量管理, 目标检测, 计算机视觉, 软件工程, 逆向工具