Skip to content

Commit 69b49cd

Browse files
author
jinwonkim93
committed
update prepare.md
1 parent 1ca1780 commit 69b49cd

File tree

3 files changed

+125
-26
lines changed

3 files changed

+125
-26
lines changed

configs/_base_/datasets/occlude_face.py

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -42,20 +42,28 @@
4242
dataset_train_A = dict(
4343
type=dataset_type,
4444
data_root=data_root,
45-
img_dir='CelebAMask-HQ-original/image',
46-
ann_dir='CelebAMask-HQ-original/mask_edited',
47-
split='CelebAMask-HQ-original/split/train.txt',
45+
img_dir='NatOcc_hand_sot/img',
46+
ann_dir='NatOcc_hand_sot/mask',
47+
split='train.txt',
4848
pipeline=train_pipeline)
4949

5050
dataset_train_B = dict(
5151
type=dataset_type,
5252
data_root=data_root,
53-
img_dir='NatOcc-SOT/image',
54-
ann_dir='NatOcc-SOT/mask',
55-
split='NatOcc-SOT/split/train.txt',
53+
img_dir='NatOcc_object/img',
54+
ann_dir='NatOcc_object/mask',
55+
split='train.txt',
5656
pipeline=train_pipeline)
5757

5858

59+
dataset_train_C = dict(
60+
type=dataset_type,
61+
data_root=data_root,
62+
img_dir='RandOcc/img',
63+
ann_dir='RandOcc/mask',
64+
split='train.txt',
65+
pipeline=train_pipeline)
66+
5967
dataset_valid = dict(
6068
type=dataset_type,
6169
data_root=data_root,
@@ -64,19 +72,10 @@
6472
split='RealOcc/split/val.txt',
6573
pipeline=test_pipeline)
6674

67-
dataset_test = dict(
68-
type=dataset_type,
69-
data_root=data_root,
70-
img_dir='RealOcc/image',
71-
ann_dir='RealOcc/mask',
72-
split='RealOcc/test.txt',
73-
pipeline=test_pipeline)
74-
7575
data = dict(
7676
samples_per_gpu=2,
7777
workers_per_gpu=2,
7878
train=[
79-
dataset_train_A,dataset_train_B
79+
dataset_train_A, dataset_train_B, dataset_train_C
8080
],
81-
val= dataset_valid,
82-
test=dataset_test)
81+
val= dataset_valid)

configs/deeplabv3plus/deeplabv3plus_r101_512x512_C-CM+C-WO-NatOcc-SOT.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,4 @@
6161
evaluation = dict(
6262
interval=400, metric=['mIoU', 'mDice', 'mFscore'], pre_eval=True)
6363

64-
work_dir = './work_dirs/deeplabv3plus_r101_512x512_C-CM+C-WO-NatOcc-SOT'
65-
gpu_ids = range(0, 2)
6664
auto_resume = False

docs/en/dataset_prepare.md

Lines changed: 109 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -392,11 +392,58 @@ The extracted and upsampled COCO objects images and masks can be found in this [
392392

393393
Please extract CelebAMask-HQ and 11k Hands images based on the splits found in [drive](https://drive.google.com/drive/folders/15nZETWlGMdcKY6aHbchRsWkUI42KTNs5?usp=sharing).
394394

395+
download file to ./data_materials
396+
```none
397+
CelebAMask-HQ.zip
398+
CelebAMask-HQ-masks_corrected.7z
399+
RealOcc.7z
400+
RealOcc-Wild.7z
401+
11k-hands_mask.7z
402+
11k-hands_image.7z
403+
coco_object.7z
404+
dtd-r1.0.1.tar.gz
405+
```
406+
---
407+
408+
```bash
409+
apt-get install p7zip-full
410+
411+
cd data_materials
412+
413+
#extract celebAMask-HQ and split by train-set
414+
unzip CelebAMask-HQ.zip
415+
7za x CelebAMask-HQ-masks_corrected.7z -o./CelebAMask-HQ
416+
#suggest better code if you have
417+
rsync -a ./CelebAMask-HQ/CelebA-HQ-img/ --files-from=./CelebAMask-HQ-WO-train.txt ./CelebAMask-HQ-WO-Train_img
418+
basename -s .jpg ./CelebAMask-HQ-train/* > train.txt
419+
xargs -n 1 -i echo {}.png < train.txt > mask_train.txt
420+
rsync -a ./CelebAMask-HQ/CelebAMask-HQ-masks_corrected/ --files-from=./mask_train.txt ./CelebAMask-HQ-WO-Train_mask
421+
mv train.txt ../data/occlusion-aware-face-dataset
422+
423+
#extact DTD
424+
tar -zxvf dtd-r1.0.1.tar.gz
425+
mv dtd DTD
426+
427+
#extract hands dataset and split by 200 samples
428+
7za x 11k-hands_masks.7z -o.
429+
unzip Hands.zip
430+
rsync -a ./Hands/ --files-from=./11k_hands_sample.txt ./11k-hands_img
431+
432+
#extract upscaled coco object
433+
7za x coco_object.7z -o.
434+
mv coco_object/* .
435+
436+
#extract validation set
437+
7za x RealOcc.7z -o../data/occlusion-aware-face-dataset
438+
439+
```
440+
441+
395442
**Dataset Organization:**
396443

397444
```none
398445
399-
├── dataset
446+
├── data_materials
400447
│ ├── CelebAMask-HQ-WO-Train_img
401448
│ │ ├── {image}.jpg
402449
│ ├── CelebAMask-HQ-WO-Train_mask
@@ -413,20 +460,75 @@ Please extract CelebAMask-HQ and 11k Hands images based on the splits found in [
413460
│ │ ├── {mask}.png
414461
│ ├── object_image_sr
415462
│ │ ├── {image}.jpg
416-
│ ├── object_image_x4
463+
│ ├── object_mask_x4
417464
│ │ ├── {mask}.png
418465
466+
├── data
467+
│ ├── occlusion-aware-face-dataset
468+
│ │ ├── train.txt
469+
│ │ ├── NatOcc_hand_sot
470+
│ │ │ ├── img
471+
│ │ │ │ ├── {image}.jpg
472+
│ │ │ ├── mask
473+
│ │ │ │ ├── {mask}.png
474+
│ │ ├── NatOcc_object
475+
│ │ │ ├── img
476+
│ │ │ │ ├── {image}.jpg
477+
│ │ │ ├── mask
478+
│ │ │ │ ├── {mask}.png
479+
│ │ ├── RandOcc
480+
│ │ │ ├── img
481+
│ │ │ │ ├── {image}.jpg
482+
│ │ │ ├── mask
483+
│ │ │ │ ├── {mask}.png
484+
│ │ ├── RandOcc
485+
│ │ │ ├── img
486+
│ │ │ │ ├── {image}.jpg
487+
│ │ │ ├── mask
488+
│ │ │ │ ├── {mask}.png
489+
│ │ │ ├── split
490+
│ │ │ │ ├── val.txt
419491
```
420492

421493
## Data Generation
422494

423-
Example script to generate NatOcc dataset
424-
425-
bash NatOcc.sh
426-
495+
```bash
496+
git clone https://github.com/jinwonkim93/face-occlusion-generation.git
497+
cd face_occlusion-generation
498+
```
499+
Example script to generate NatOcc hand dataset
500+
501+
```bash
502+
CUDA_VISIBLE_DEVICES=0 NUM_WORKERS=4 python main.py \
503+
--config ./configs/natocc_hand.yaml \
504+
--opts OUTPUT_PATH "path/to/mmsegmentation/data/occlusion-aware-face-dataset/NatOcc_hand_sot"\
505+
AUGMENTATION.SOT True \
506+
SOURCE_DATASET.IMG_DIR "path/to/data_materials/CelebAMask-HQ-WO-Train_img" \
507+
SOURCE_DATASET.MASK_DIR "path/to/mmsegmentation/data_materials/CelebAMask-HQ-WO-Train_mask" \
508+
OCCLUDER_DATASET.IMG_DIR "path/to/mmsegmentation/data_materials/11k-hands_img" \
509+
OCCLUDER_DATASET.MASK_DIR "path/to/mmsegmentation/data_materials/11k-hands_masks"
510+
```
511+
Example script to generate NatOcc object dataset
512+
513+
```bash
514+
CUDA_VISIBLE_DEVICES=0 NUM_WORKERS=4 python main.py \
515+
--config ./configs/natocc_objects.yaml \
516+
--opts OUTPUT_PATH "path/to/mmsegmentation/data/occlusion-aware-face-dataset/NatOcc_object" \
517+
SOURCE_DATASET.IMG_DIR "path/to/mmsegmentation/data_materials/CelebAMask-HQ-WO-Train_img" \
518+
SOURCE_DATASET.MASK_DIR "path/to/mmsegmentation/data_materials/CelebAMask-HQ-WO-Train_mask" \
519+
OCCLUDER_DATASET.IMG_DIR "path/to/mmsegmentation/data_materials/object_image_sr" \
520+
OCCLUDER_DATASET.MASK_DIR "path/to/mmsegmentation/data_materials/object_mask_x4"
521+
```
427522
Example script to generate RandOcc dataset
428523

429-
bash RandOcc.sh
524+
```bash
525+
CUDA_VISIBLE_DEVICES=0 NUM_WORKERS=4 python main.py \
526+
--config ./configs/randocc.yaml \
527+
--opts OUTPUT_PATH "path/to/mmsegmentation/data/occlusion-aware-face-dataset/RandOcc" \
528+
SOURCE_DATASET.IMG_DIR "path/to/mmsegmentation/data_materials/CelebAMask-HQ-WO-Train_img/" \
529+
SOURCE_DATASET.MASK_DIR "path/to/mmsegmentation/data_materials/CelebAMask-HQ-WO-Train_mask" \
530+
OCCLUDER_DATASET.IMG_DIR "path/to/jw93/mmsegmentation/data_materials/DTD/images"
531+
```
430532
<!-- #endregion -->
431533

432534
```python

0 commit comments

Comments
 (0)