주뇽's 저장소

Code [Focal Inverse Distance Transform Map] 본문

ComputerVision/Crowd Localization

Code [Focal Inverse Distance Transform Map]

뎁쭌 2023. 8. 11. 18:09
728x90
반응형

2023.08.11 - [DeepLearning/Paper Riview] - Focal Inverse Distance Transform Map (논문 정리)

 

Focal Inverse Distance Transform Map (논문 정리)

Focal Inverse Distance Transform Map Focal Inverse Distance Transform Maps for Crowd Localization Focal Inverse Distance Transform Map IEEE 2102.07925.pdf FIDTM 군중 분석의 중요한 측면인 군중 위치 파악에 초점을 맞춥니다. 이들은

jypark1111.tistory.com

FIDTM

GitHub - dk-liang/FIDTM: Focal Inverse Distance Transform Maps for Crowd Localization [IEEE TMM]

FIDTM을 이용하여 비디오에서 혼잡도를 계산하는 실습 진행

  • 해당 코드는 Colab에서 진행되었음

STEP.0 코드 실행에 필요한 미리 학습된 모델과 동영상 다운로드

  1. 직접 구글 드라이브에서 다운로드

 

 

  1. 아래 코드를 이용하여 다운로드(gdown 라이브러리 필요) => 코랩은 기본적으로 gdown 라이브러리 존재
#-- 베스트 모델 파일 구글 드라이브 파일 다운로드
!gdown https://drive.google.com/uc?id=1TBZXWB00mqkZnKzRvWDzR35kgKuW7nP_
!unzip /content/bestmodel.zip
#-- 예제 동영상 파일 구글 드라이브 파일 다운로드
!gdown https://drive.google.com/uc?id=1UJY2-u04RwsW7uiTIsbSkRCfIIhvPUn6
!gdown https://drive.google.com/uc?id=1GNb_vqQYDG03AovCBEgPsntj-_Vxw5pc

Step.1 깃 클론 이후 필요 라이브러리 install

Environment

python >=3.6   
pytorch >=1.4  
opencv-python >=4.0  
scipy >=1.4.0  
h5py >=2.10   
pillow >=7.0.0   
imageio >=1.18  
nni >=2.0 (python3 -m pip install --upgrade nni)
  • nni를 제외하고 나머지는 이미 있음
  • 추가적으로 코드 실행을 위해 yacs 라이브러리 필요
!git clone https://github.com/dk-liang/FIDTM.git
!pip install nni
!pip install yacs

Step2. 샘플 데이터를 통해 예제 확인

  • --pre 다운받은 베스트 모델 중 하나 선택
  • --video_path 다운받은 영상 또는 자신의 영상 경로
%cd /content/FIDTM
!python video_demo.py --pre /content/bestmodel/nwpu/model_best_nwpu.pth  --video_path /content/subway_test.mp4

Step3. 결과 동영상 확인

  • 코드에 맞게 실행 시 저장된 동영상 파일은 /content/FIDTM/demo.avi에 저장되어 있으며 해당 파일을 다운로드 하여 확인할 수 있음
  • 아래 코드를 통해 코랩에서 바로 확인 가능
from IPython.display import HTML
from base64 import b64encode
import os

# Input video path
save_path = '/content/FIDTM/demo.avi'

# Compressed video path
compressed_path = "/content/result_compressed.mp4"

os.system(f"ffmpeg -i {save_path} -vcodec libx264 {compressed_path}")

# Show video
mp4 = open(compressed_path,'rb').read()
data_url = "data:video/mp4;base64," + b64encode(mp4).decode()
HTML("""
<video width=400 controls>
      <source src="%s" type="video/mp4">
</video>
""" % data_url)

 

샘플 동영상 출처 : https://pixabay.com/ko/videos/지하철-계단-사람들-군중-6398/

FIDTMipynb.ipynb
4.96MB

Colab 파일 다운로드 후 순서에 맞게 실행하면 잘 나와용~