sakamune
@sakamune

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Google ColaboratorでOpenPoseを動かしたい

解決したいこと

プログラミング初心者です.

こちらをお借りして,YouTube動画(米津玄師「死神」のMV)を解析したいと思っています.
https://qiita.com/qwert-top/items/aa2f385b04de7b702c25

記事内の「4. 解析したいYouTubeの動画を指定する」まではうまくいったのですが,
「5. OpenPoseで指定した動画を解析する」でファイルの指定?でエラーが出ています.

どのようなコードを書き足すとよいのか,またはこの動画は解析がそもそも可能なのかなどお教えいただきたいです.

発生している問題・エラー

openpose.ipynbファイルの中の,Try on YouTube videoの3つ目(参照コード1)について,youtube.mp4: No such file or directory(参照コード2)と出ています.

参照コード1(入力コード)

!rm -rf youtube.mp4
# download the youtube with the given ID
!youtube-dl -f 'bestvideo[ext=mp4]' --output "youtube.%(ext)s" https://www.youtube.com/watch?v=$YOUTUBE_ID
# cut the video
!ffmpeg -y -loglevel info -i youtube.mp4 -ss 10 -t 7 video.mp4

参照コード2(出力結果とエラーメッセージ)

[youtube] 8nxaZ69ElEc: Downloading webpage
[dashsegments] Total fragments: 2
[download] Destination: youtube.mp4
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 1 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 2 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 3 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 4 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 5 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 6 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 7 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 8 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 9 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 10 of 10)...
ERROR: giving up after 10 fragment retries
ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)
  configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
youtube.mp4: No such file or directory

自分で試したこと

GoogleDrive内に自分で作ったyoutube.mp4を置いてみましたが,同様のエラーが出ます

0

2Answer

Google ColaboratorでOpenPoseを動かしたい

「Colaboratory」のことでしょうか?

[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 1 of 10)...

上記エラーが発生していますがダウンロードは出来ているのでしょうか?

1Like

Comments

  1. @sakamune

    Questioner

    コメントをいただきありがとうございます.

    Colaboratoryのことです.混乱させてしまい,失礼いたしました.

    URL上からのダウンロードはできていないみたいです.
    そのため,一度動画をダウンロードし,Driveにアップロードしたのちに,解析をする方法に変更しました.
    今のところ,その方法でうまくいきそうなので,それでやってみようと思います.

!youtube-dl -f 'bestvideo[ext=mp4]' --output "youtube.%(ext)s" https://www.youtube.com/watch?v=$YOUTUB

↑このコマンドでYoutubeから動画をダウンロードするところで失敗しています。
エラーの原因は分かりませんが、HTTP Error 403と出ているので、権利関係かも知れません。
(youtube-dlコマンドが古く、新しいメディアに対応していないだけかも?)


GoogleDrive内に自分で作ったyoutube.mp4を置いてみましたが,同様のエラーが出ます

もし、ご自分でダウンロードした動画を使うならば、

!rm -rf youtube.mp4
!youtube-dl -f 'bestvideo[ext=mp4]' --output "youtube.%(ext)s" https://www.youtube.com/watch?v=$YOUTUBE_ID

↑この2行を消して、代わりにその動画を/content/youtube.mp4に置くことで可能だとい思います。

なお、!ffmpeg -y -loglevel info -i youtube.mp4 -ss 10 -t 7 video.mp4のコマンドオプションの-ss 10 -t 7は、動画の「10秒後から7秒」を抽出する意味ですから、元々の手話動画以外を使う場合は、それらの場面に合わせて変更する必要があります。

1Like

Comments

  1. @sakamune

    Questioner

    いただいたアドバイスをもとに修正したところ,このセルはうまく実行されました!
    ただ,次のセルで”openpose.avi: No such file or directory”というエラーが出てしまいます.

    実施したこと

    まず,YouTubeからではなく,自分でダウンロードした動画を使うことにしました.

    そのため,アドバイスいただいた2行の削除と,動画を/content/youtube.mp4に置くことをしました.また,動画の抽出時間を,動画のすべての時間になるように,110秒と長く設定しました.

    # cut the video
    !ffmpeg -y -loglevel info -i youtube.mp4 -ss 1 -t 110 video.mp4
    

    そのようにしたら,実行が成功し,videp.mp4ができました.
    しかし,次の動きを検出するセル(参照1)で,エラー(参照2)が発生しました.

    参照1 次のセル

    # detect poses on the these 5 seconds
    !cd $OPENPOSE_PATH && rm ../openpose.avi
    !cd $OPENPOSE_PATH && chmod -R 755 './build/'
    !cd $OPENPOSE_PATH && ./build/examples/openpose/openpose.bin --video ../video.mp4 --write_json ./output/ --display 0  --write_video ../openpose.avi --face
    # convert the result into MP4
    !ffmpeg -y -loglevel info -i openpose.avi output.mp4
    

    参照2 次のセルの実行で出たエラー

    chmod: cannot access './build/': No such file or directory
    /bin/bash: line 1: ./build/examples/openpose/openpose.bin: No such file or directory
    ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
      built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)
      configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
      libavutil      56. 70.100 / 56. 70.100
      libavcodec     58.134.100 / 58.134.100
      libavformat    58. 76.100 / 58. 76.100
      libavdevice    58. 13.100 / 58. 13.100
      libavfilter     7.110.100 /  7.110.100
      libswscale      5.  9.100 /  5.  9.100
      libswresample   3.  9.100 /  3.  9.100
      libpostproc    55.  9.100 / 55.  9.100
    openpose.avi: No such file or directory
    

    これもmodels.zipのファイルの場所がおかしいのでしょうか?それともそもそもこのzipファイルになんらかの問題があるのでしょうか?
    解決策を教えていただけると幸いです.

  2. !cd $OPENPOSE_PATH && chmod -R 755 './build/'

    chmod: cannot access './build/': No such file or directory

    chmodコマンドで、./build が無いといわれてます。

    $OPENPOSE_PATH環境変数が怪しいです。

    !echo $OPENPOSE_PATH で設定内容を確認してください。
    (正しいパスかどうか、build./build/examples/openpose/openpose.binの存在を確認)

  3. 追伸;

    存在していますね。下記スクショ参照

    cob1.png
  4. @sakamune

    Questioner

    確認したところ,私のコードには./build/examples/openpose/openpose.binが無いようです.この場合はどうすればよいでしょうか?

    私の今の画面は下記のとおりです
    スクリーンショット 2024-11-03 230342.png

  5. contentの配下です。ここを開いて見ましたか?

    cob2.png
  6. @sakamune

    Questioner

    ここでしょうか?
    image.png

  7. 初期化されているようです。
    この場合は、先頭のステップ(セル)からやり直す必要があります。

Your answer might help someone💌