41 def get_edge(self, layout):
42 if layout == 'openpose':
43 self.num_node = 18
44 self_link = [(i, i) for i in range(self.num_node)]
45 neighbor_link = [(4, 3), (3, 2), (7, 6), (6, 5), (13, 12), (12,
46 11),
47 (10, 9), (9, 8), (11, 5), (8, 2), (5, 1), (2, 1),
48 (0, 1), (15, 0), (14, 0), (17, 15), (16, 14)]
49 self.edge = self_link + neighbor_link
50 self.center = 1
51 elif layout == 'ntu-rgb+d':
52 self.num_node = 25
53 self_link = [(i, i) for i in range(self.num_node)]
54 neighbor_1base = [(1, 2), (2, 21), (3, 21), (4, 3), (5, 21),
55 (6, 5), (7, 6), (8, 7), (9, 21), (10, 9),
56 (11, 10), (12, 11), (13, 1), (14, 13), (15, 14),
57 (16, 15), (17, 1), (18, 17), (19, 18), (20, 19),
58 (22, 23), (23, 8), (24, 25), (25, 12)]
59 neighbor_link = [(i - 1, j - 1) for (i, j) in neighbor_1base]
60 self.edge = self_link + neighbor_link
61 self.center = 21 - 1
62 elif layout == 'ntu_edge':
63 self.num_node = 24
64 self_link = [(i, i) for i in range(self.num_node)]
65 neighbor_1base = [(1, 2), (3, 2), (4, 3), (5, 2), (6, 5), (7, 6),
66 (8, 7), (9, 2), (10, 9), (11, 10), (12, 11),
67 (13, 1), (14, 13), (15, 14), (16, 15), (17, 1),
68 (18, 17), (19, 18), (20, 19), (21, 22), (22, 8),
69 (23, 24), (24, 12)]
70 neighbor_link = [(i - 1, j - 1) for (i, j) in neighbor_1base]
71 self.edge = self_link + neighbor_link
72 self.center = 2
73 elif layout=='coco':
74 self.num_node = 17
75 self_link = [(i, i) for i in range(self.num_node)]
76 neighbor_link = [(15, 13), (13, 11), (16, 14), (14, 12), (11, 5),
77 (12, 6), (9, 7), (7, 5), (10, 8), (8, 6), (5, 0),
78 (6, 0), (1, 0), (3, 1), (2, 0), (4, 2)]
79 self.edge = self_link + neighbor_link
80 self.center = 0
81 else:
82 raise ValueError("Do Not Exist This Layout.")
83