PJunhyuk / exercise-pose-analyzer

Exercise pose analyzer based on pose estimation
Apache License 2.0
39 stars 10 forks source link

Demo not working #3

Open void-robotics opened 5 years ago

void-robotics commented 5 years ago

In trying to run

root@a2cdbc97c488:/exercise-pose-analyzer# python exercise_analyzer.py -f 'shoulder_press_1.mp4' -e 'sp'

the following errors are thrown:

root@a2cdbc97c488:/exercise-pose-analyzer# python exercise_analyzer.py -f 'shoulder_press_1.mp4' -e 'sp'

WARNING:tensorflow:From /exercise-pose-analyzer/nnet/pose_net.py:54: calling resnet_arg_scope (from tensorflow.contrib.slim.python.slim.nets.resnet_utils) with is_training is deprecated and will be removed after 2017-08-01.
Instructions for updating:
Pass is_training directly to the network instead of the arg_scope.
WARNING:tensorflow:From /exercise-pose-analyzer/nnet/pose_net.py:54: calling resnet_arg_scope (from tensorflow.contrib.slim.python.slim.nets.resnet_utils) with is_training is deprecated and will be removed after 2017-08-01.
Instructions for updating:
Pass is_training directly to the network instead of the arg_scope.
2019-02-14 14:40:29.512724: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2019-02-14 14:40:29.512774: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2019-02-14 14:40:29.512810: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2019-02-14 14:40:29.512823: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/moviepy/video/io/ffmpeg_reader.py", line 283, in ffmpeg_parse_infos
    line = [l for l in lines if keyword in l][0]
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "exercise_analyzer.py", line 72, in <module>
    video = VideoFileClip(video_name_input)
  File "/usr/local/lib/python3.6/site-packages/moviepy/video/io/VideoFileClip.py", line 81, in __init__
    fps_source=fps_source)
  File "/usr/local/lib/python3.6/site-packages/moviepy/video/io/ffmpeg_reader.py", line 32, in __init__
    fps_source)
  File "/usr/local/lib/python3.6/site-packages/moviepy/video/io/ffmpeg_reader.py", line 289, in ffmpeg_parse_infos
    filename, infos))
OSError: MoviePy error: failed to read the duration of file testset/shoulder_press_1.mp4.
Here are the file infos returned by ffmpeg:

ffmpeg version 2.4.2-   http://johnvansickle.com/ffmpeg/    Copyright (c) 2000-2014 the FFmpeg developers
  built on Oct  9 2014 07:24:56 with gcc 4.8 (Debian 4.8.3-11)
  configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --disable-ffserver --enable-libass --enable-gnutls --cc=gcc-4.8
  libavutil      54.  7.100 / 54.  7.100
  libavcodec     56.  1.100 / 56.  1.100
  libavformat    56.  4.101 / 56.  4.101
  libavdevice    56.  0.100 / 56.  0.100
  libavfilter     5.  1.100 /  5.  1.100
  libswscale      3.  0.100 /  3.  0.100
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  0.100 / 53.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x3885700] Format mov,mp4,m4a,3gp,3g2,mj2 detected only with low score of 1, misdetection possible!
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x3885700] moov atom not found
testset/shoulder_press_1.mp4: Invalid data found when processing input

root@a2cdbc97c488:/exercise-pose-analyzer# 
root@a2cdbc97c488:/exercise-pose-analyzer# 
root@a2cdbc97c488:/exercise-pose-analyzer# 
root@a2cdbc97c488:/exercise-pose-analyzer# 
root@a2cdbc97c488:/exercise-pose-analyzer# 
root@a2cdbc97c488:/exercise-pose-analyzer# 
root@a2cdbc97c488:/exercise-pose-analyzer# ls testset/
download_testset_wget.sh  shoulder_press_1.mp4  shoulder_press_2.mp4  shoulder_press_3.mp4
root@a2cdbc97c488:/exercise-pose-analyzer# mkv
bash: mkv: command not found
root@a2cdbc97c488:/exercise-pose-analyzer# ffmpeg
bash: ffmpeg: command not found
root@a2cdbc97c488:/exercise-pose-analyzer# python exercise_analyzer.py -f 'shoulder_press_2.mp4' -e 'sp'
WARNING:tensorflow:From /exercise-pose-analyzer/nnet/pose_net.py:54: calling resnet_arg_scope (from tensorflow.contrib.slim.python.slim.nets.resnet_utils) with is_training is deprecated and will be removed after 2017-08-01.
Instructions for updating:
Pass is_training directly to the network instead of the arg_scope.
WARNING:tensorflow:From /exercise-pose-analyzer/nnet/pose_net.py:54: calling resnet_arg_scope (from tensorflow.contrib.slim.python.slim.nets.resnet_utils) with is_training is deprecated and will be removed after 2017-08-01.
Instructions for updating:
Pass is_training directly to the network instead of the arg_scope.
2019-02-14 14:46:46.780805: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2019-02-14 14:46:46.780853: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2019-02-14 14:46:46.780904: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2019-02-14 14:46:46.780930: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/moviepy/video/io/ffmpeg_reader.py", line 283, in ffmpeg_parse_infos
    line = [l for l in lines if keyword in l][0]
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "exercise_analyzer.py", line 72, in <module>
    video = VideoFileClip(video_name_input)
  File "/usr/local/lib/python3.6/site-packages/moviepy/video/io/VideoFileClip.py", line 81, in __init__
    fps_source=fps_source)
  File "/usr/local/lib/python3.6/site-packages/moviepy/video/io/ffmpeg_reader.py", line 32, in __init__
    fps_source)
  File "/usr/local/lib/python3.6/site-packages/moviepy/video/io/ffmpeg_reader.py", line 289, in ffmpeg_parse_infos
    filename, infos))
OSError: MoviePy error: failed to read the duration of file testset/shoulder_press_2.mp4.
Here are the file infos returned by ffmpeg:

ffmpeg version 2.4.2-   http://johnvansickle.com/ffmpeg/    Copyright (c) 2000-2014 the FFmpeg developers
  built on Oct  9 2014 07:24:56 with gcc 4.8 (Debian 4.8.3-11)
  configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --disable-ffserver --enable-libass --enable-gnutls --cc=gcc-4.8
  libavutil      54.  7.100 / 54.  7.100
  libavcodec     56.  1.100 / 56.  1.100
  libavformat    56.  4.101 / 56.  4.101
  libavdevice    56.  0.100 / 56.  0.100
  libavfilter     5.  1.100 /  5.  1.100
  libswscale      3.  0.100 /  3.  0.100
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  0.100 / 53.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x3f39700] Format mov,mp4,m4a,3gp,3g2,mj2 detected only with low score of 1, misdetection possible!
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x3f39700] moov atom not found
testset/shoulder_press_2.mp4: Invalid data found when processing input

Is this an error with the .mp4 or the installation?

leo2105 commented 5 years ago

use the docker image, its easier. I had many problems to install dependencies too.

siddharthgee commented 5 years ago

@nathangeorge1 I'm facing the same issue, were you able to progress? @leo2105 I'm getting nathan's mentioned issue while running the video_pose.py inside the docker. This is not an error during installing dependencies.

void-robotics commented 5 years ago

@siddharthgee I remember playing with dependencies such as moov and possibly adjusting the code, but my team deciding to not go with this; I wouldn't recommend it either, unless they can fix this issues

yuk7hi commented 3 years ago

If anyone's wondering, the issue is with the video files. As the hosted video files have being removed from the location. So running the testset/download_testset_wget.sh script simply downloads 3 empty files with .mp4 extension. That's why you get the following error, OSError: MoviePy error: failed to read the duration of file ...

Try using your own *.mp4 file, and it'll start processing :)