시작 전 Docker 및 Nvidia-Docker 설치 필수
FastMOT 파일 전체와 BEV를 한 폴더에 담음
requirements.txt 수정 필요 없음
BEV 종속 라이브러리들이 FastMOT 종속 라이브러리에 이미 다 포함되어 있기 때문
특히 OpenCV를 따로 작성해서 설치하면 에러남
→이게 파일을 찾을 수 없다고 하는 원인이었음
Dockerfile 변경
Start Docker Build
# Add --build-arg TRT_IMAGE_VERSION=21.05 for Ubuntu 20.04
# Add --build-arg CUPY_NVCC_GENERATE_CODE=... to speed up build for your GPU, e.g. "arch=compute_75,code=sm_75"
sudo docker build -t inc_bev_fastmot:latest .
--build-arg TRT_IMAGE_VERSION=21.05 - 사용 환경이 Ubuntu 20.04면 작성
→20.04 환경에서 작성했는데 오히려 오류 발생 (빼고 사용)
--build-arg CUPY_NVCC_GENERATE_CODE="arch=compute_75,code=sm_75"
빠른 Build를 위해서는 해당 Argument를 포함하는 것이 좋음
아래 Wikipedia에 있는 Compute Capability (Version)을 참고하여 75 부분을 사용중인 그래픽카드에 맞게 수정 (compute, sm 둘 다 바꿔야 함)
일반적으로는 20시리즈는 75 (7.5) / 30시리즈는 86 (8.6)
20 Series
sudo docker build -t inc_bev_fastmot:latest . --build-arg CUPY_NVCC_GENERATE_CODE="arch=compute_75,code=sm_75"
Docker Run
sudo xhost local:root && sudo docker run --network="host" --gpus all --rm -it -v $(pwd):/usr/src/app/INC_BEV_FastMOT -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY -e TZ=$(cat /etc/timezone) inc_bev_fastmot:latest
Model Download
./scripts/download_models.sh
YOLOv4 TensorRT Plugin Make (선택?)
cd fastmot/plugins && make
FastMOT Run
python3 app.py --input-uri [Input Video File] --output-uri [저장 경로 및 파일명 (mp4)] --frame-uri [프레임 저장 경로 폴더명] --txt [저장 경로 및 파일명 (txt)] --show --mot
Input 폴더에 담긴 Video들에 대해 FastMOT를 모두 돌려서 결과 산출 후 BEV가 자동으로 실행됨
기본 사용 방법:
python3 startall.py -i [원본 비디오들이 있는 경로] -o [결과 저장 경로] -m [BEV 맵 파일 이미지 경로]
옵션 설명 (필수 : -i, -o, -m)
장점