
https://arxiv.org/abs/2011.06294
위 논문을 읽은 후, 아래 깃허브의 모델을 이용하는 실습을 진행해보았다
https://github.com/hzwer/ECCV2022-RIFE
코랩에서 진행했다.
!git clone https://github.com/hzwer/arXiv2020-RIFE
!mkdir /content/arXiv2020-RIFE/train_log
%cd /content/arXiv2020-RIFE/train_log
!gdown --id 1APIzVeI-4ZZCEuIRE1m6WYfSCaOsi_7_
!7z e RIFE_trained_model_v3.6.zip
먼저 깃 클론을 진행
모델 체크포인트를 저장할 train_log 디렉터리를 생성
gdown 명령어를 통해 Google Drive에서 훈련된 RIFE v3.6 모델 파일을 다운로드
압축해제
%cd /content/arXiv2020-RIFE/
!gdown --id 1i3xlKb7ax7Y70khcTcuePi6E7crO_dFc
!pip3 install -r requirements.txt
requirements 에 작성된 패키지 설치
!python3 inference_video.py --exp=2 --video=/content/arXiv2020-RIFE/demo.mp4 --montage
RIFE 모델을 사용해 비디오 중간 프레임을 생성하는 스크립트를 실행
--exp=2: 프레임 간에 생성할 중간 프레임의 수 설정
exp=1로 지정하면 60fps변환, exp=2로지정하면 약 100fps
--video=demo.mp4: 입력 비디오 파일 이름.
예시로 demo.mp4 사용함
--montage: 출력 비디오에서 원본 프레임과 생성된 프레임을 나란히 비교하여 볼 수 있도록 출력합니다.
근데 inference_video.py 에서 model.pytorch_msssim 에서 ssim_matlab를 제대로 불러오지 못하는 문제가 있어서
- sys.path.append(os.path.abspath('./model/pytorch_msssim'))
- sys.path.insert(0, os.path.abspath('./model/pytorch_msssim'))
이런식으로 적절하게 경로를 직접 명시하는 식으로 코드를 추가해줬다.
import cv2
# 비디오 파일 열기
video_path = "/content/arXiv2020-RIFE/demo.mp4" # 분석할 비디오 파일 경로
cap = cv2.VideoCapture(video_path)
frame_count = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) # 총 프레임 수
fps = cap.get(cv2.CAP_PROP_FPS) # 초당 프레임 수
print(f"총 프레임 수: {frame_count}")
print(f"FPS: {fps}")
변환 전 총 Frame 갯수: 1342
변환 전 Fps는 25.0
변환 후 총 Frame 갯수: 5365
변환 후 Fps는 100.0
프레임 수가 늘어난 것을 확인할 수 있다.

--montage 설정으로 두 영상을 비교한 것을 볼 수 있다.
⬇️ 참고했습니다
https://discuss.pytorch.kr/t/interpany-clearer-vfi-video-frame-interpolation/2880