최근 딥러닝 기반 객체추적 기술이 발전함에 따라 스포츠 경기 분석, 영상 보안, 증강현실 등 다양한 응용 분야에서 객체추적 기술이 사용되고 있다. 사용자들은 높은 객체추적 정확도뿐만 아니라 빠른 객체추적 속도에 따른 높은 QoS를 요구한다. 본 연구에서는 현재 객체추적 솔루션 중 최고로 꼽히는 트랜스포머기반 CSWinTT 모델의 객체추적 속도를 향상시킨다. 이 모델의 인코더 레이어 내 Multi-Head Attention(MHA)의 head연산들은 전체 트랜스포머 추론 과정에서 가장 많은 실행시간을 차지하고, 각 head들은 각각 다른 입력 값을 가지지만 직렬로 실행된다. 이를 개선하기 위하여 본 연구에서는 각각의 head연산들을 병렬적으로 실행시킨다. 병렬 실행을 위하여 하나의 모듈로 이루어진 MHA연산을 head 개수만큼 서브 모듈로 분리하고, 분리된 각각의 모듈을 멀티쓰레드 환경에서 실행한다. 이때 순수 Python 환경에서는 불가능한 멀티쓰레드 환경을 C++ 실행 환경으로 개선하여 가능하게 한다. 또한 각 쓰레드들이 비동기적으로 전달하는 커널들을 GPU 내부에서 최대한 동시에 실행될 수 있도록 한다. 다양한 실험을 통해 MHA 병렬실행의 효과를 확인한 결과, 추론정확도는 거의 동일하게 유지하면서 기존 실행환경에 비하여 인코더의 평균 실행시간은 56.8% 감소하였고, 평균 FPS는 63.3% 증가하였다.
Jiahai DaiHuimin LiShan JiangHongwei Yang
Ponduri VasanthiLaavanya Mohan
Minh Chuong DangDuc Dung Nguyen