ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • VideoPose3D 설치 방법
    Intern/KIST 2021. 9. 8. 22:46
    728x90

    [들어가기 전에]

     

    1) 아래의 내용은 https://github.com/facebookresearch/VideoPose3D 에서 확인하실 있습니다.

     

    2) Videopose3D Human3.6M 데이터셋과 HumanEva 데이터셋을 기반으로 설계되었습니다.

       해당 데이터셋들을 다운받기 위해서는 데이터셋의 공식 웹페이지에 계정을 생성해야 하나,  이때  

       Human3.6M 경우 회원가입 데이터 관리자 측에서 승인을 주기까지 기다리셔야 합니다.

       (본인의 경우 3주가 넘게 기다렸는데도 연락이 없었습니다.)

     

    3) Human3.6M, HumanEva 같은 데이터셋을 설치하지 않아도 inference 작업은 가능합니다.

       이에 관하여는 아래 서술을 참고하시거나, 다음 링크의 안내를 읽어보시면 되겠습니다.

       https://github.com/facebookresearch/VideoPose3D/blob/master/INFERENCE.md

      

     

     

     

     

    [VideoPose3D 설치]

     

    1. 코드 다운로드

    - git clone https://github.com/facebookresearch/VideoPose3D.git

     

     

     

    2. 미리 학습된 모델 다운로드

    mkdir checkpoint

    cd checkpoint

    wget https://dl.fbaipublicfiles.com/video-pose-3d/pretrained_h36m_cpn.bin

    wget https://dl.fbaipublicfiles.com/video-pose-3d/pretrained_humaneva15_detectron.bin

    cd ..

     

     

     

    3. common 폴더에서 __init__.py 생성

    cd common

    touch __init__.py

     

     

     

    [데이터셋 다운로드]]

     

    -  Human3.6M 데이터셋 다운로드

     

    1) Human3.6M 데이터셋 공식 홈페이지(http://vision.imar.ro/human3.6m/description.php) 회원가입

      - 저는 이곳에서 막혔습니다.

     

    -  HumanEva 데이터셋 다운로드

     

    1) HumanEva 데이터셋 공식 홈페이지(http://humaneva.is.tue.mpg.de/) 회원가입

     

    2) Downloads – HumanEva_I 에서 CD-size tar archive(Linux) 데이터 다운로드

    - 이때, Part15 다운이 안될텐데

       http://humaneva.is.tue.mpg.de/main/download?file=HumanEvaI_Data_CD15.tar

       접속하면 다운받아집니다.

     

     

    3) 다운받은 데이터셋 압축해제

    tar -x -M –file=HumanEvaI_Data_CD1.tar

    Prepare volume #2 for HumanEvaI_Data_CD1 and hit return: n HumanEvaI_Data_CD2.tar

    Prepare volume #2 for HumanEvaI_Data_CD2.tar and hit return:

    Prepare volume #3 for HumanEvaI_Data_CD2.tar and hit return: n HumanEvaI_Data_CD3.tar

    Prepare volume #3 for HumanEvaI_Data_CD3.tar and hit return:

    ...

    Prepare volume #19 for HumanEvaI_Data_CD18.tar and hit return: n HumanEvaI_Data_CD19.tar

    Prepare volume #19 for HumanEvaI_Data_CD19.tar and hit return:

     

    4) Source code v. 1.1 다운로드 후 데이터셋 폴더에서 압축 해제

     

    5) Release_Code_v1_1_beta/HumanEva_I 의 내용물들을 Release_Code_v1_1_beta/ 로 복사

     

    6) Critical HumanEva Dataset Update 를 다운 후 압축 해제

     

    7) Critical_Update_OFS_file 내의 S1, S2, S3, S4 디렉토리의 Sync_Data 내용물들을

       원 데이터의 S1/Sync_Data, S2/Sync_Data, S3/Sync_Data, S4/Sync_Data에 각각 복사

     

    8) (64비트 컴퓨터인 경우),

       Release_Code_v1_1_beta/@sync_stream/sync_stream.m의

        202번째 줄 ImageStream(I) = image_stream(image_path{I}, start_image_offset{I));

         ImageStream(I) = 0; 으로 수정

     

    9) data/ConvertHumanEva.m을 Release_Code_v1_1_beta/로 복사 후 실행

    [inference]

     

     

    1. pretrained model 다운 https://dl.fbaipublicfiles.com/video-pose-3d/pretrained_h36m_detectron_coco.bin

     

    - 이후 pretrained_h36m_detectron_coco.bin을 checkpoint 디렉토리에 넣어줍니다.

     

     

    2. 실행시킬 영상 준비

     

    - 유튜브 등지에서 원하는 영상을 다운받습니다.(여러 개도 가능!)

     

    - 이때 사람 한 명만 나오는 영상을 받으시는 것이 좋습니다.

       (VideoPose3D는 한 번에 여러 명을 다루지 못하기 때문입니다.)

     

    - 영상의 fps를 50으로 변환시키는 것을 추천합니다.

       이는 필수적인 작업은 아니며, 단지 Human3.6M이 50fps의 비디오로 학습되었기 때문에

       이를 맞춰주기 위함입니다.

     ( ffmpeg -i input.mp4 -filter "minterpolate='fps=50'" -crf 0 output.mp4 통해 변환 가능합니다!)

     

     

     

    3. 2D keypoint 추출

     

    cd inference

    python infer_video_d2.py \

        --cfg COCO-Keypoints/keypoint_rcnn_R_101_FPN_3x.yaml \

        --output-dir output_directory \

        --image-ext mp4 \

        input_directory

    # input directory, output_directory 별도로 만드셔야 합니다.

     

     

     

    4. custom dataset 생성

     

    - 먼저, 생성할 데이터셋의 이름을 정해줍니다. (여기서는 dance 하겠습니다.)

     

    - data 디렉토리에서 다음 명령어를 실행합니다.

     

    python3 prepare_data_2d_custom.py -i /path/to/detections/output_directory -o dance

     

    -i 적절히 수정하여 줍니다.

     

     

    5. VideoPose3D 실행

     

    python3 run.py -d custom -k dance -arc 3,3,3,3,3 -c checkpoint --evaluate pretrained_h36m_detectron_coco.bin --render --viz-subject input_video.mp4 --viz-action custom --viz-camera 0 --viz-video /path/to/input_video.mp4 --viz-output output.mp4 --viz-size 6

     

     

    위에서 --viz-subject, --viz-video, --viz-output 을 적절히 수정하여 줍니다.

    728x90

    'Intern > KIST' 카테고리의 다른 글

    가상환경  (0) 2021.09.10
    MeTRAbs Absolute 3D Human Pose Estimator 설치  (0) 2021.09.08
Designed by Tistory.