본문 바로가기

tensorflow-machine learning

동영상 frame rate로 자르기 및 annotation

이번 글에서는 학습 data 구축을 위하여 직접 동영상을 확보하여 프레임 별로 나누어 어노테이션을 진행하였습니다

우선 영상을 프레임 별로 자르는 작업이 우선입니다

필자의 경우 ffmpeg 명령을 사용하여 작업을 진행하였으며

ffmpeg의 기본적인 문법은 

ffmpeg -ss [시작시간] -t [길이] -i [동영상이름] -r [프레임레이트] -s [출력해상도] -qscale:v 2 -f image2 [이미지이름]

이렇게 구성이 됩니다

어짜피 영상의 처음부터 끝까지 자를 예정이었으며 출력 해상도 역시 1920*1080이므로 별 다른 설정은 하지 않았고

프레임레이트만 초당 5회로 설정하여 영상을 처리하였습니다

ffmpeg -i car3.mp4 -r 5 ./convert_video2/image%04d.jpg

해당 문법을 참고하여 작성한 명령어이며 

해당 명령어의 경우 동영상 파일을 현재 디렉토리의 convert_video2에 image0? 형식으로 저장합니다

작업을 진행한 결과 해당 프레임 레이트로 영상이 처리되어 사진 파일로 나온 것을 확인 할 수 있었습니다

 

그 이후 작업은 이미지 어노테이션입니다

머신러닝의 경우 학습의 효율을 높이기 위해서는 

실제 사용될 환경과 최대한 비슷한 환경 설정을 진행하는 것이 가장 효율적이며

해당 각도,관점 등에 영향을 받기 때문에 사용 data의 수집 및 처리가 매우 중요합니다

우선 필자가 사용한 어노테이션 툴 에서는 

sudo apt install python-qtpy

pip install 
opencv-python==4.1.1
redis==2.10.6
cachetools==3.1.0
pyqt5
qtpy==1.9.0
pillow==7.0.0
scipy==1.2.1
six==1.12.0
scikit-image==0.14.2
requests==2.22.0

을 요구하였으며 다른 어노테이션 툴의 경우에도 크게 다르지 않을 것이라 생각합니다

 

install 이 끝난 이후에는

어노테이션 툴의 파일 속 

bin 파일과 weed 파일을 설정해 주어야 하는데

bin과 weed 파일의 txt파일에다가

해당 ip address와 master 과 volume port number을 넣어 주었습니다


bin 파일 속  config 파일 내부에도 분류 class 와 ip 주소 등을 작성하고 실행을 진행하면 됩니다