PHALPで、人物の3Dモデルをトラッキングする

1.はじめに

 今回ご紹介するのは、動画に映っている人物の3Dモデルをトラッキングする、PHALPという技術です。

*この論文は、2021.12に提出されました。

2.PHALPとは?

 下記がPHALP(Predicting Human Appearance, Location and Pose for Tracking )の概要です。

 各フレームのすべてのバウンディングボックスについて、人物の外観(Appearance)、ポーズ(Pose)、位置(Location)の3つをトラックレット(Tracklet)という形でまとめ、累積した情報を統合(Aggregation)します。

 そして、この統合結果を元に予測した次のフレームのトラックレット(Prediction)と、次のフレームで検出したトラックレット(Detections)との関連付け(Association)によってトラッキングを行います。

3.コード

 コードはGoogle Colabで動かす形にしてGithubに上げてありますので、それに沿って説明して行きます。自分で動かしてみたい方は、この「リンクをクリックし表示されたノートブックの先頭にある「Colab on Web」ボタンをクリックすると動かせます。

 まず、セットアップを行います。なお、この colab はオリジナル github の公式版(youtubeからダウンロードするデモ)を改造したものです。

 

  movie フォルダの中にある動画(mp4)の中から1つ選んで movie: に記入して実行します。自分の用意した動画を使う場合は、事前に movie フォルダにアップロードしておいて下さい。ここでは、movie:dance.mp4 と設定して実行します。

 踊っている3人が色分けされ、フォーメーションが変わっても、ちゃんとトラッキングされていることが分かります。なお、この動画はoutput.mp4に保存されていますので、必要に応じて手動でダウンロードして下さい。

 では、また。

(オリジナルgithub)https://github.com/brjathu/PHALP

1 個のコメント

  • Colabでテストしてみたのですが、ライブラリの読み込みが極端に遅く、インストールがなかなか完了しません。
    例えば、”! pip install scikit-learn==0.22″の行で6分かかりました。
    Colabの仕様変更(Python3.9)による一時的な影響でしょうか。

    また、次のセルでもエラーを吐き、完了しません。
    ファイルがダウンロードできないことが主な要因かと存じますが、本家がv1.1を公開していることにも起因しますか。
    参考▶https://github.com/brjathu/PHALP/tree/v1.1
    以下がclear outputをコメントアウトして表示されたエラーメッセージです。

    Downloading file: hmar_v2_weights.pth
    Cached Downloading: _DATA/hmar_v2_weights.pth
    Access denied with the following error:

    Cannot retrieve the public link of the file. You may need to change
    the permission to ‘Anyone with the link’, or have had many accesses.

    You may still be able to access the file from the browser:

    https://drive.google.com/uc?id=1_wZcPv8MxPoZyEGA9rI5ayXiB7Fhhj4b

    Traceback (most recent call last):
    File “/usr/lib/python3.9/shutil.py”, line 825, in move
    os.rename(src, real_dst)
    FileNotFoundError: [Errno 2] No such file or directory: ‘/root/.cache/gdown/tmpy7fwlnhj/dl’ -> ‘_DATA/hmar_v2_weights.pth’

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File “/content/PHALP/demo_online.py”, line 195, in
    phalp_tracker = PHALP_tracker(opt)
    File “/content/PHALP/PHALP.py”, line 29, in __init__
    self.cached_download_from_drive()
    File “/content/PHALP/PHALP.py”, line 342, in cached_download_from_drive
    output = gdown.cached_download(url, “_DATA/” + file_name, fuzzy=True)
    File “/usr/local/lib/python3.9/dist-packages/gdown/cached_download.py”, line 117, in cached_download
    shutil.move(temp_path, path)
    File “/usr/lib/python3.9/shutil.py”, line 845, in move
    copy_function(src, real_dst)
    File “/usr/lib/python3.9/shutil.py”, line 444, in copy2
    copyfile(src, dst, follow_symlinks=follow_symlinks)
    File “/usr/lib/python3.9/shutil.py”, line 264, in copyfile
    with open(src, ‘rb’) as fsrc:
    FileNotFoundError: [Errno 2] No such file or directory: ‘/root/.cache/gdown/tmpy7fwlnhj/dl’
    preparation for sound…
    out/Videos_v1/PHALP_youtube_data_mask.mp4: No such file or directory
    —————————————————————————
    FileNotFoundError Traceback (most recent call last)
    in
    20 # 動画の再生
    21 #clear_output()
    —> 22 display_mp4(‘output.mp4′)

    /content/PHALP/function.py in display_mp4(path)
    51 def display_mp4(path):
    52 from base64 import b64encode
    —> 53 mp4 = open(path,’rb’).read()
    54 data_url = “data:video/mp4;base64,” + b64encode(mp4).decode()
    55 display(HTML(“””

    FileNotFoundError: [Errno 2] No such file or directory: ‘output.mp4’

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

    ABOUTこの記事をかいた人

    アバター

    ディープラーニング・エンジニアを趣味でやってます。E資格ホルダー。 好きなものは、膨大な凡ショットから生まれる奇跡の1枚、右肩上がりのワクワク感、暑い国の新たな価値観、何もしない南の島、コード通りに動くチップ、完璧なハーモニー、仲間とのバンド演奏、数えきれない流れ星。