Safemotion Lib
Loading...
Searching...
No Matches
smaction
utils
action_utils.py
Go to the documentation of this file.
1
import
copy
2
3
4
def
check_valid
(pose_list, k):
5
pose_num = len(pose_list)
6
if
pose_num < k*0.5:
7
return
False
8
9
#이 조건은 좀더 고민 필요
10
if
pose_list[-1][
'frame_id'
] - pose_list[0][
'frame_id'
] < k-1:
11
return
False
12
13
# k*0.5 프레임 이상 연속으로 미검출 됬을경우
14
for
i
in
range(1, pose_num):
15
interval = pose_list[i][
'frame_id'
] - pose_list[i-1][
'frame_id'
]
16
if
interval > k*0.5:
17
return
False
18
19
return
True
20
21
def
make_dummy_pose
(pose):
22
#복사 필수
23
tmp_pose = copy.deepcopy(pose)
24
#스코어 0으로 만들기
25
tmp_pose[
'keypoints'
][:, 2] = 0
26
return
tmp_pose
27
28
def
insert_dummy_pose
(pose_list):
29
pose_num = len(pose_list)
30
ret_pose = [pose_list[0]]
31
for
i
in
range(1, pose_num):
32
interval = pose_list[i][
'frame_id'
] - pose_list[i-1][
'frame_id'
]
33
34
#미검출 됬을경우 더미포즈 생성
35
if
interval > 1:
36
ret_pose.extend([
make_dummy_pose
(pose_list[i])] * (interval-1))
37
ret_pose.append(pose_list[i])
38
39
return
ret_pose
action_utils.insert_dummy_pose
insert_dummy_pose(pose_list)
Definition
action_utils.py:28
action_utils.check_valid
check_valid(pose_list, k)
Definition
action_utils.py:4
action_utils.make_dummy_pose
make_dummy_pose(pose)
Definition
action_utils.py:21
Generated by
1.10.0