Toggle navigation
Toggle navigation
This project
Loading...
Sign in
2021-1-capstone-design1
/
BSH_project2
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
장규범
2021-04-05 02:31:44 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
1a5da038420416e733d84bc777203c3dc5c4b145
1a5da038
1 parent
66258fa8
feat: add pose estimation video
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
80 additions
and
0 deletions
etc/run_motion_video.py
etc/run_motion_video.py
0 → 100644
View file @
1a5da03
import
argparse
import
logging
import
time
import
cv2
import
numpy
as
np
from
tf_pose.estimator
import
TfPoseEstimator
from
tf_pose.networks
import
get_graph_path
,
model_wh
logger
=
logging
.
getLogger
(
'TfPoseEstimator-WebCam'
)
logger
.
setLevel
(
logging
.
DEBUG
)
ch
=
logging
.
StreamHandler
()
ch
.
setLevel
(
logging
.
DEBUG
)
formatter
=
logging
.
Formatter
(
'[
%(asctime)
s] [
%(name)
s] [
%(levelname)
s]
%(message)
s'
)
ch
.
setFormatter
(
formatter
)
logger
.
addHandler
(
ch
)
fps_time
=
0
def
str2bool
(
v
):
return
v
.
lower
()
in
(
"yes"
,
"true"
,
"t"
,
"1"
)
if
__name__
==
'__main__'
:
parser
=
argparse
.
ArgumentParser
(
description
=
'tf-pose-estimation motion Video'
)
parser
.
add_argument
(
'--video'
,
type
=
str
,
default
=
''
)
parser
.
add_argument
(
'--resize'
,
type
=
str
,
default
=
'0x0'
,
help
=
'if provided, resize images before they are processed. default=0x0, Recommends : 432x368 or 656x368 or 1312x736 '
)
parser
.
add_argument
(
'--resize-out-ratio'
,
type
=
float
,
default
=
4.0
,
help
=
'if provided, resize heatmaps before they are post-processed. default=1.0'
)
parser
.
add_argument
(
'--model'
,
type
=
str
,
default
=
'mobilenet_thin'
,
help
=
'cmu / mobilenet_thin / mobilenet_v2_large / mobilenet_v2_small'
)
parser
.
add_argument
(
'--show-process'
,
type
=
bool
,
default
=
False
,
help
=
'for debug purpose, if enabled, speed for inference is dropped.'
)
parser
.
add_argument
(
'--tensorrt'
,
type
=
str
,
default
=
"False"
,
help
=
'for tensorrt process.'
)
args
=
parser
.
parse_args
()
logger
.
debug
(
'initialization
%
s :
%
s'
%
(
args
.
model
,
get_graph_path
(
args
.
model
)))
w
,
h
=
model_wh
(
args
.
resize
)
if
w
>
0
and
h
>
0
:
e
=
TfPoseEstimator
(
get_graph_path
(
args
.
model
),
target_size
=
(
w
,
h
),
trt_bool
=
str2bool
(
args
.
tensorrt
))
else
:
e
=
TfPoseEstimator
(
get_graph_path
(
args
.
model
),
target_size
=
(
432
,
368
),
trt_bool
=
str2bool
(
args
.
tensorrt
))
logger
.
debug
(
'cam read+'
)
cam
=
cv2
.
VideoCapture
(
args
.
video
)
ret_val
,
image
=
cam
.
read
()
logger
.
info
(
'cam image=
%
dx
%
d'
%
(
image
.
shape
[
1
],
image
.
shape
[
0
]))
while
True
:
ret_val
,
image
=
cam
.
read
()
logger
.
debug
(
'image process+'
)
humans
=
e
.
inference
(
image
,
resize_to_default
=
(
w
>
0
and
h
>
0
),
upsample_size
=
args
.
resize_out_ratio
)
logger
.
debug
(
'postprocess+'
)
image
=
TfPoseEstimator
.
draw_humans
(
image
,
humans
,
imgcopy
=
False
)
logger
.
debug
(
'show+'
)
cv2
.
putText
(
image
,
"FPS:
%
f"
%
(
1.0
/
(
time
.
time
()
-
fps_time
)),
(
10
,
10
),
cv2
.
FONT_HERSHEY_SIMPLEX
,
0.5
,
(
0
,
255
,
0
),
2
)
cv2
.
imshow
(
'tf-pose-estimation result'
,
image
)
fps_time
=
time
.
time
()
if
cv2
.
waitKey
(
1
)
==
27
:
break
logger
.
debug
(
'finished+'
)
cv2
.
destroyAllWindows
()
Please
register
or
login
to post a comment