DEFAULT_KEYPOINT_NAMES = [
    "Wrist", "TMCP", "IMCP", "MMCP", "RMCP", "PMCP", "TPIP", "TDIP", "TTIP",
    "IPIP", "IDIP", "ITIP", "MPIP", "MDIP", "MTIP", "RPIP", "RDIP", "RTIP",
    "PPIP", "PDIP", "PTIP"
]

COLUMN_NAMES = ["FRAME_ID"]
for kname in DEFAULT_KEYPOINT_NAMES:
    for c in ["X", "Y", "Z"]:
        cname = "_".join([c, kname])
        COLUMN_NAMES.append(cname)

assert len(DEFAULT_KEYPOINT_NAMES) == NUM_KEYPOINTS
NAME_CONVERTER = make_keypoint_converter(
    root="Wrist",
    fingers=["T", "I", "M", "R", "P"],
    parts=["MCP", "PIP", "DIP", "TIP"],
    sep="",
)

INDEX_CONVERTER = [
    DEFAULT_KEYPOINT_NAMES.index(NAME_CONVERTER[k])
    for k in STANDARD_KEYPOINT_NAMES
]
KEYPOINT_NAMES = STANDARD_KEYPOINT_NAMES


def create_camera_matrix():
    """
    All parameters are taken from https://github.com/guiggh/hand_pose_action
    """
    "middle_dip",
    "middle_pip",
    "middle_mcp",
    "ring_tip",
    "ring_dip",
    "ring_pip",
    "ring_mcp",
    "pinky_tip",
    "pinky_dip",
    "pinky_pip",
    "pinky_mcp",
]

NAME_CONVERTER = make_keypoint_converter(
    root="wrist",
    fingers=["thumb", "index", "middle", "ring", "pinky"],
    parts=["mcp", "pip", "dip", "tip"],
)

INDEX_CONVERTER = [
    DEFAULT_KEYPOINT_NAMES.index(NAME_CONVERTER[k])
    for k in STANDARD_KEYPOINT_NAMES
]
KEYPOINT_NAMES = STANDARD_KEYPOINT_NAMES

VAL_LIST = []


class FHBaseDataset(DatasetMixin):
    def __init__(self, dataset_dir, debug=False, mode="train"):
        self.mode = mode
Ejemplo n.º 3
0
    "middle_tip",
    "index_mcp",
    "index_pip",
    "index_dip",
    "index_tip",
    "thumb_mcp",
    "thumb_pip",
    "thumb_dip",
    "thumb_tip",
]

assert len(DEFAULT_KEYPOINT_NAMES) == NUM_KEYPOINTS

NAME_CONVERTER = make_keypoint_converter(
    root="palm",
    fingers=["thumb", "index", "middle", "ring", "little"],
    parts=["mcp", "pip", "dip", "tip"],
    sep="_",
)

INDEX_CONVERTER = [
    DEFAULT_KEYPOINT_NAMES.index(NAME_CONVERTER[k])
    for k in STANDARD_KEYPOINT_NAMES
]
KEYPOINT_NAMES = STANDARD_KEYPOINT_NAMES


def create_camera_mat():
    """
    Camera parameter of Intel Real Sense F200 active depth camera.
    These parameters are taken from readme.txt of STB dataset.
    1. Camera parameters
    "M3",
    "R0",
    "R1",
    "R2",
    "R3",
    "L0",
    "L1",
    "L2",
    "L3",
]

assert len(DEFAULT_KEYPOINT_NAMES) == NUM_KEYPOINTS

NAME_CONVERTER = make_keypoint_converter(
    root="W",
    fingers=["T", "I", "M", "R", "L"],
    parts=["0", "1", "2", "3"],
    sep="",
)

INDEX_CONVERTER = [
    DEFAULT_KEYPOINT_NAMES.index(NAME_CONVERTER[k])
    for k in STANDARD_KEYPOINT_NAMES
]
KEYPOINT_NAMES = STANDARD_KEYPOINT_NAMES


def create_camera_mat():
    # See README.txt
    camera_intr = np.array([
        [617.173, 0, 315.453],
        [0, 617.173, 242.259],
    'F2_KNU1_B',
    'F2_KNU2_A',
    'F2_KNU3_A',
    'TH_KNU1_A',
    'TH_KNU1_B',
    'TH_KNU2_A',
    'TH_KNU3_A',
    'PALM_POSITION',
    # 'PALM_NORMAL' # ignore
]

assert len(DEFAULT_KEYPOINT_NAMES) == NUM_KEYPOINTS

NAME_CONVERTER = make_keypoint_converter(
    root="PALM_POSITION",
    fingers=["TH", "F4", "F3", "F2", "F1"],
    parts=["KNU1_B", "KNU1_A", "KNU2_A", "KNU3_A"],
)

INDEX_CONVERTER = [
    DEFAULT_KEYPOINT_NAMES.index(NAME_CONVERTER[k])
    for k in STANDARD_KEYPOINT_NAMES
]
KEYPOINT_NAMES = STANDARD_KEYPOINT_NAMES


def create_camera_mat():
    fx = 614.878
    fy = 615.479
    u0 = 313.219
    v0 = 231.288