
Deep CNN(ResNet-2D/3D) 모델을 활용하여 영상의 물체 피처를 추출하여 h5 확장자로 제공합니다.

- 영상을 1 FPS로 이미지를 분리합니다.
- CNN 모델을 활용하여 피처를 추출하고 .npy 확장자로 저장합니다.
- 영상들의 npy 형식의 파일을 h5 형식의 파일로 변환합니다.
아래 코드를 통해 설치할 수 있습니다.
!pip install -r requirements.txt
변환하고 싶은 데이터의 파일 경로와 h5파일의 출력 파일 경로를 input.csv 파일로 저장합니다.
video_path,feature_path
absolute_path_video1.mp4,absolute_path_of_video1_features.npy
absolute_path_video2.webm,absolute_path_of_video2_features.npy
clone한 파일 내에 input.csv 파일의 예시를 볼 수 있습니다.
아래의 코드를 통해 영상의 피쳐를 .npy 확장자로 추출할 수 있습니다.
!python extract.py --csv=input.csv --type=2d --batch_size=64 --num_decoding_thread=4
실행 후에 input.csv 파일에 입력했던 출력 파일 경로에 추출 결과를 확인할 수 있습니다.
h5 파일의 형태로 저장하고 싶으면, 아래의 코드를 실행합니다.
!python convert.py --numpy_dir=/NumpyResult --output_dir=/h5Result --ouput_filename=SampleVideo
위의 예제 코드에서 h5Result 디렉터리에 h5 형태의 파일이 저장됨을 알 수 있습니다.
아래의 코드를 통해 데이터를 쉽게 확인할 수 있습니다.
import h5py
a = h5py.File('./h5Result/SampleVideo.h5', "r+")
with a:
# Check the keys
print(a.keys())
for next in a.keys():
print(next, a[next].shape)
/h5Result
/NumpyResult
/SampleVideo
/videocnn
extract.py
convert.py
model.py
preprocessing.py
video_loader.py
아래의 링크에서 원본을 확인할 수 있습니다.