DeepFaceLab/facelib/FaceType.py

37 lines
1.1 KiB
Python
Raw Normal View History

2018-06-04 21:12:43 +08:00
from enum import IntEnum
class FaceType(IntEnum):
2019-08-26 02:32:21 +08:00
#enumerating in order "next contains prev"
HALF = 0
MID_FULL = 1
FULL = 2
FULL_NO_ALIGN = 3
WHOLE_FACE = 4
HEAD = 10
HEAD_NO_ALIGN = 20
MARK_ONLY = 100, #no align at all, just embedded faceinfo
2018-06-04 21:12:43 +08:00
@staticmethod
def fromString (s):
r = from_string_dict.get (s.lower())
if r is None:
raise Exception ('FaceType.fromString value error')
2019-03-20 03:53:27 +08:00
return r
@staticmethod
2018-06-04 21:12:43 +08:00
def toString (face_type):
return to_string_dict[face_type]
2019-03-20 03:53:27 +08:00
to_string_dict = { FaceType.HALF : 'half_face',
FaceType.MID_FULL : 'midfull_face',
FaceType.FULL : 'full_face',
FaceType.FULL_NO_ALIGN : 'full_face_no_align',
FaceType.WHOLE_FACE : 'whole_face',
FaceType.HEAD : 'head',
FaceType.HEAD_NO_ALIGN : 'head_no_align',
FaceType.MARK_ONLY :'mark_only',
}
from_string_dict = { to_string_dict[x] : x for x in to_string_dict.keys() }