a13ph ototadana commited on
Commit
e6e99d6
·
0 Parent(s):

Duplicate from ototadana/occlusion-aware-face-segmentation

Browse files

Co-authored-by: Otota DANA <ototadana@users.noreply.huggingface.co>

.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: cc0-1.0
3
+ pipeline_tag: image-segmentation
4
+ tags:
5
+ - mmsegmentation
6
+ - face
7
+ - occlusion
8
+ ---
9
+
10
+ # Occlusion-aware face segmentation
11
+ A model for occlusion-aware face segmentation.
12
+
13
+ This model was created following the procedures in [mmsegmentation](https://mmsegmentation.readthedocs.io/en/latest/)'s PR [[Feature] Support Delving into High-Quality Synthetic Face Occlusion Segmentation Datasets #2194](https://github.com/open-mmlab/mmsegmentation/pull/2194).
14
+
15
+ For more information, see:
16
+ - https://github.com/open-mmlab/mmsegmentation/pull/2194/files
17
+ - https://github.com/kennyvoo/face-occlusion-generation
18
+
19
+ ### How to use
20
+ Use with [mmsegmentation](https://mmsegmentation.readthedocs.io/en/latest/get_started.html).
21
+
22
+ Example:
23
+
24
+ ```python
25
+ from mmseg.apis import inference_model, init_model, show_result_pyplot
26
+ import mmcv
27
+
28
+ config_file = 'deeplabv3plus_r101_512x512_face-occlusion.py'
29
+ checkpoint_file = 'deeplabv3plus_r101_512x512_face-occlusion-93ec6695.pth'
30
+ model = init_model(config_file, checkpoint_file, device='cuda:0')
31
+
32
+ img = 'face-image.png'
33
+ result = inference_model(model, img)
34
+ show_result_pyplot(model, img, result, show=True, out_file='result.jpg', opacity=0.5)
35
+ ```
deeplabv3plus_r101_512x512_face-occlusion-93ec6695.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0ee938da54fe72f34916ec1456192c81efe40e846c03ad0a78cb460a3420f6a0
3
+ size 251071621
deeplabv3plus_r101_512x512_face-occlusion.py ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ norm_cfg = dict(type="SyncBN", requires_grad=True)
2
+
3
+ data_preprocessor = dict(
4
+ bgr_to_rgb=True,
5
+ mean=[123.675, 116.28, 103.53],
6
+ pad_val=0,
7
+ seg_pad_val=255,
8
+ size=(512, 512),
9
+ std=[58.395, 57.12, 57.375],
10
+ type="SegDataPreProcessor",
11
+ )
12
+
13
+ test_pipeline = [
14
+ dict(type="LoadImageFromNDArray"),
15
+ dict(type="Resize", scale=(512, 512), keep_ratio=True),
16
+ dict(type="LoadAnnotations", reduce_zero_label=True),
17
+ dict(type="PackSegInputs"),
18
+ ]
19
+
20
+ img_ratios = [0.5, 0.75, 1.0, 1.25, 1.5, 1.75]
21
+ tta_model = dict(type="SegTTAModel")
22
+ tta_pipeline = [
23
+ dict(type="LoadImageFromNDArray", backend_args=None),
24
+ dict(
25
+ type="TestTimeAug",
26
+ transforms=[
27
+ [dict(type="Resize", scale_factor=r, keep_ratio=True) for r in img_ratios],
28
+ [
29
+ dict(type="RandomFlip", prob=0.0, direction="horizontal"),
30
+ dict(type="RandomFlip", prob=1.0, direction="horizontal"),
31
+ ],
32
+ [dict(type="LoadAnnotations")],
33
+ [dict(type="PackSegInputs")],
34
+ ],
35
+ ),
36
+ ]
37
+
38
+ model = dict(
39
+ type="EncoderDecoder",
40
+ data_preprocessor=data_preprocessor,
41
+ pretrained="open-mmlab://resnet101_v1c",
42
+ backbone=dict(
43
+ type="ResNetV1c",
44
+ depth=101,
45
+ num_stages=4,
46
+ out_indices=(0, 1, 2, 3),
47
+ dilations=(1, 1, 2, 4),
48
+ strides=(1, 2, 1, 1),
49
+ norm_cfg=norm_cfg,
50
+ norm_eval=False,
51
+ style="pytorch",
52
+ contract_dilation=True,
53
+ ),
54
+ decode_head=dict(
55
+ type="DepthwiseSeparableASPPHead",
56
+ in_channels=2048,
57
+ in_index=3,
58
+ channels=512,
59
+ dilations=(1, 12, 24, 36),
60
+ c1_in_channels=256,
61
+ c1_channels=48,
62
+ dropout_ratio=0.1,
63
+ num_classes=2,
64
+ norm_cfg=norm_cfg,
65
+ align_corners=False,
66
+ loss_decode=dict(type="CrossEntropyLoss", use_sigmoid=False, loss_weight=1.0),
67
+ sampler=dict(type="OHEMPixelSampler", thresh=0.7, min_kept=10000),
68
+ ),
69
+ auxiliary_head=dict(
70
+ type="FCNHead",
71
+ in_channels=1024,
72
+ in_index=2,
73
+ channels=256,
74
+ num_convs=1,
75
+ concat_input=False,
76
+ dropout_ratio=0.1,
77
+ num_classes=2,
78
+ norm_cfg=norm_cfg,
79
+ align_corners=False,
80
+ loss_decode=dict(type="CrossEntropyLoss", use_sigmoid=False, loss_weight=0.4),
81
+ ),
82
+ train_cfg=dict(),
83
+ test_cfg=dict(mode="whole"),
84
+ )