CelebA 數據集在 MTCNN 中的使用
1 數據集結構
CelebA_副本/
├── Anno/
│ ├── list_bbox_celeba.txt # 邊界框
│ ├── list_landmarks_celeba.txt # 5 關鍵點
│ ├── list_attr_celeba.txt # 40 屬性
│ └── identity_CelebA.txt # 身份
├── Img/
│ ├── img_celeba_original/ # 202 599 張 JPG(已解壓)
│ └── img_align_celeba/ # 202 599 張 JPG(對齊后)
└── Eval/└── list_eval_partition.txt # 訓練 / 驗證 / 測試劃分
2 標注格式
2.1 邊界框
格式:image_id x_1 y_1 width height
示例:000001.jpg 95 71 226 313
2.2 關鍵點
格式:image_id lefteye_x lefteye_y righteye_x righteye_y nose_x nose_y leftmouth_x leftmouth_y rightmouth_x rightmouth_y
示例:000001.jpg 165 184 244 176 196 249 194 271 266 260
2.3 屬性
40 個二進制標簽(1 / -1)。
首圖示例:無胡茬、拱形眉、有吸引力、無眼袋、不禿頭、無劉海……
3 在 MTCNN 中的使用
3.1 樣本劃分
- 正樣本:IOU > 0.7,輕微偏移 ±20 %
- 部分樣本:0.3 < IOU ≤ 0.7,中等偏移 ±100 %
- 負樣本:IOU < 0.1,大幅偏移 ±200 %
3.2 網絡輸入尺寸
- P-Net:12×12
- R-Net:24×24
- O-Net:48×48
3.3 訓練數據格式
每行:image_path cls offset_x1 offset_y1 offset_x2 offset_y2
3.4 損失函數
- 分類:BCE
- 回歸:MSE
- 總損失:α × cls_loss + (1-α) × offset_loss
4 對齊 vs 原始圖像
特征 | 原始野生圖像 | 對齊裁剪圖像 |
---|---|---|
多樣性 | 角度、光照、遮擋豐富 | 統一居中、大小一致 |
訓練適用性 | 適合 MTCNN 訓練 | 易過擬合 |
用途 | 訓練 | 標準化測試 |
5 代碼驗證
- 屬性:未使用(
list_attr_celeba.txt
未被讀取)。 - 關鍵點:代碼中全部注釋掉,輸出設為 0。
- 路徑:原始設計指向
img_celeba.7z\img_celeba
,現改為
CelebA_副本/Img/img_celeba_original/img_celeba/
(已解壓)。
6 最終配置
- 訓練數據:使用原始野生圖像并通過數據增強制造樣本。
- 路徑修改:將
img_path
指向解壓后的原始圖像目錄。