HyperAI초신경

YOLO v5+DeepSORT를 사용하여 실시간 다중 대상 추적 모델을 생성합니다.

4년 전
대중 과학
Yang Bai
特色图像

객체 추적은 머신 비전 분야에서 중요한 주제입니다.이는 단일 객체 추적(SOT라고 함)과 다중 객체 추적(MOT라고 함)으로 나눌 수 있습니다.

다중 타겟 추적은 추적 ID의 수가 많고 오클루전이 잦아 타겟이 손실될 가능성이 높습니다. 추적기 DeepSORT와 탐지기 YOLO v5의 도움으로 고성능 실시간 다중 대상 추적 모델을 만들 수 있습니다.

이 글에서는 단일 타겟 추적과 다중 타겟 추적을 각각 소개합니다. 본 기사의 마지막 부분에서는 YOLO v5+DeepSORT의 구현 과정과 구체적인 코드를 자세히 설명하겠습니다.

단일 대상 추적에 대한 자세한 설명

정의 

단일 타겟 추적(SOT)이란 비디오의 첫 번째 프레임에 타겟을 표시하고, 컨텍스트 정보를 기반으로 후속 프레임에서 타겟을 찾은 후, 타겟의 동작 상태를 예측하는 추적 모델을 구축하는 것을 의미합니다.

응용 프로그램 시나리오 

SOT는 지능형 비디오 감시, 자율 주행, 로봇 내비게이션, 인간-컴퓨터 상호 작용 및 기타 분야에 널리 사용됩니다.

SOT를 이용한 축구 경기의 궤적 예측

연구의 어려움 

세 가지 주요 어려움은 다음과 같습니다. 대상 배경의 변화, 대상 자체의 변화, 그리고 광도의 변화입니다.

주류 알고리즘(딥러닝 기반) 

SOT 문제를 해결하는 데는 두 가지 주요 접근 방식이 있습니다.차별적 추적 및 생성적 추적이미지 분류 및 타겟 감지와 같은 머신 비전 관련 작업에 딥 러닝을 성공적으로 적용함으로써,딥러닝은 타겟 추적 알고리즘에도 널리 사용되기 시작했습니다.

본 논문에서는 주로 딥러닝 기반의 SOT 알고리즘을 소개합니다.

각 시간 노드에서의 대표적인 타겟 추적 알고리즘,2012년 이후 AlexNet으로 대표되는 딥러닝 방법,타겟 추적 분야에 도입

핵심 알고리즘: SiamFC

SiamFC는 기존 객체 추적에 사용되는 온라인 학습 방법과 달리 오프라인 단계에서 강력한 임베딩을 학습하는 데 중점을 둡니다.

이 알고리즘은 ILSVRC15 데이터 세트에서 종단 간 학습된 새로운 완전 합성곱 시암 네트워크와 기본 추적 알고리즘을 결합합니다.비디오에서 객체를 감지하는 데 사용됩니다.

완전 합성곱 트윈 네트워크 아키텍처의 개략도

실험 결과, 트윈 완전 합성곱 딥 네트워크는 모델 테스트 및 학습 중에 기존 데이터를 더 효율적으로 사용하는 것으로 나타났습니다.

SiamFC는 목표 추적 분야에서 트윈 네트워크 구조를 처음 적용했습니다.딥러닝 방법 추적기의 추적 속도가 크게 향상되었으며, 구조가 간단하고 성능이 우수합니다.

관련 논문 접근

관련 파생 알고리즘 

1. 스트럭트시암

타겟의 지역적 패턴과 구조적 관계를 모두 고려하는 지역적 구조 학습 방법이 제안되었습니다.이를 위해 저자는 대상 객체의 구별되는 영역을 자동으로 식별하는 로컬 패턴 감지 모듈을 설계했습니다.

모델은 종단간 방식으로 학습될 수 있습니다.

관련 논문 접근

2. 시암FC-트리

저자는 새로운 삼중 손실을 제안했습니다.추적된 객체의 표현력이 풍부한 심층적 특징을 추출하는 데 사용됩니다. 이 방법은 입력을 늘리지 않고도 더 많은 요소를 학습에 활용할 수 있으며, 원래 샘플을 결합하여 더욱 강력한 기능을 얻을 수 있습니다.

관련 논문

3. 디시암

저자는 동적 트윈 네트워크를 제안했습니다.빠른 전이 학습 모델을 통해 타겟의 모양 변화와 이전 프레임의 배경 억제를 온라인에서 효과적으로 학습할 수 있습니다. 동시에 저자는 네트워크 출력을 적응적으로 통합하기 위해 다층 딥 피처를 사용하여 요소의 다층 융합을 제안했습니다.

DSiam은 SiamFC 및 VGG와 같이 실행 가능한 일반 기능이나 특별히 훈련된 기능을 사용할 수 있으며, 동적 트윈 네트워크를 통합하여 레이블이 지정된 비디오 시퀀스에 직접 훈련할 수 있으므로 이동 객체의 풍부한 시공간 정보를 최대한 활용할 수 있습니다.

관련 논문

다중 타겟 추적에 대한 자세한 설명

정의 

다중 객체 추적(MOT)은 비디오의 각 프레임에 있는 각 객체에 ID를 할당하고 각 ID의 동작 궤적을 그리는 것을 말합니다.

스트리트 뷰 비디오에서 다중 객체 추적

응용 프로그램 시나리오 

MOT는 스마트 보안, 자율 주행, 의료 시나리오 및 기타 분야에서 널리 사용됩니다.

연구의 어려움 

현재 MOT가 직면한 가장 큰 과제는 폐색입니다. 폐색이란 타겟 간의 폐색 또는 환경에 의한 타겟의 폐색을 말합니다.

주류 알고리즘 

1. 정렬

SORT(Simple Online and Realtime Tracking)는 간단하고 효율적인 알고리즘에 초점을 맞춘 다중 대상 추적 방법입니다.매우 실용적이며 온라인 및 실시간 애플리케이션의 타겟을 효과적으로 연관시킬 수 있습니다.

SORT와 다른 방법의 성능 비교,수평축은 정확도를 나타내고, 수직축은 속도를 나타냅니다.,모델이 더 높고 오른쪽에 있을수록 전반적인 성능이 더 좋습니다.

추적 방법이 간단하기 때문에 추적기는 260Hz의 속도로 업데이트할 수 있는데, 이는 당시 가장 진보된 추적기보다 20배 빠릅니다.

관련 논문

2. 딥소트

DeepSORT는 SORT의 업그레이드 버전으로, 모양 정보를 통합하여 SORT의 성능을 개선했습니다.이를 통해 장시간 폐쇄가 발생하더라도 정상적으로 대상을 추적할 수 있으며, ID 전환 횟수를 효과적으로 줄일 수 있습니다.

MOT 챌린지 데이터 세트에 대한 DeepSORT 성능,실제 거리 장면에서는 폐색 현상이 매우 흔합니다.

저자들은 대부분의 계산적 복잡성을 오프라인 사전 학습 단계에 투입했는데, 여기서 그들은 대규모 개인 재식별 데이터 세트를 사용하여 심층적 연관 지표를 학습합니다.

온라인 응용 단계에서는 시각적 모양 공간의 이웃 쿼리를 사용하여 측정-추적 연관성을 설정합니다.

실험 결과, DeepSORT는 ID 변환 횟수를 45%만큼 줄이고 높은 프레임 속도에서 전반적으로 뛰어난 성능을 보였습니다.

또한 DeepSORT는 모든 감지기에 연결될 수 있는 매우 일반적인 추적기입니다.

관련 논문

3. 실시간 MOT를 향해

저자들은 MOT 시스템을 제안했습니다.이를 통해 공유 모델에서 객체 감지 및 모양 임베딩을 학습할 수 있습니다.즉, 외관 임베딩 모델이 싱글샷 검출기에 통합되어 모델이 검출과 해당 임베딩을 동시에 출력할 수 있습니다.

저자들은 또한 조인트 모델과 함께 실행할 수 있는 간단하고 빠른 연관 방법을 제안합니다.

실시간 MOT 및 SDE 모델을 향해,2단계 모델과 JDE 모델 비교

두 구성 요소의 계산 비용은 이전 MOT 시스템에 비해 크게 줄어들어 실시간 MOT 알고리즘 설계에 대한 후속 작업을 위한 깔끔하고 빠른 기준을 제공합니다.

이는 업계 최초의 실시간에 가까운 MOT 시스템입니다.실행 속도가 빠르고, 정확도가 높으며, 코드가 오픈 소스라 참고하기에 매우 유용합니다.

관련 논문

YOLOv5 및 DeepSORT를 사용한 다중 객체 추적

이 튜토리얼은 다음과 같습니다. 오픈베이즈닷컴 달리다. OpenBayes는 PyTorch, TensorFlow와 같은 주류 프레임워크와 vGPU, T4, V100과 같은 다양한 유형의 컴퓨팅 솔루션을 제공하는 독창적인 머신 러닝 컴퓨팅 클라우드 플랫폼입니다. 가격 책정 모델은 유연하고 간단하며, 요금은 사용 시간에 따라 부과됩니다.

이 튜토리얼에서는 PyTorch 1.8.1 환경에서 vGPU를 사용하여 실행합니다.

전체 튜토리얼에 접속하세요

이 프로젝트는 두 부분으로 구성되어 있습니다. 첫째, YOLO v5 감지기는 일련의 객체를 감지하는 데 사용됩니다. 그러면 DeepSORT를 사용해 추적합니다.

첫 번째 단계는 코드 환경을 준비하는 것입니다.

%cd Yolov5_DeepSort_Pytorch
%pip install -qr requirements.txt  # 安装依赖

import torch
from IPython.display import Image, clear_output  # 显示结果

clear_output()
print(f"Setup complete. Using torch {torch.__version__} ({torch.cuda.get_device_properties(0).name if torch.cuda.is_available() else 'CPU'})")

2단계 테스트할 비디오 사전 처리

!y | ffmpeg -ss 00:00:00 -i test.avi -t 00:00:03 -c copy out.avi -y

3단계: 모델 추론

!python track.py --yolo_weights /openbayes/input/input1/crowdhuman_yolov5m.pt --source out.avi --save-vid

4단계: 형식 변환

!ffmpeg -i /openbayes/home/Yolov5_DeepSort_Pytorch/inference/output/out.avi output.mp4 -y

5단계: 결과 표시

from IPython.display import HTML
from base64 import b64encode
mp4 = open('output.mp4','rb').read()
data_url = "data:video/mp4;base64," + b64encode(mp4).decode()
HTML("""
<video controls>
      <source src="%s" type="video/mp4">
</video>
""" % data_url)
다중 타겟 추적 결과 출력

전체 노트북에 액세스하세요


OpenBayes 소개 


오픈베이즈 중국을 대표하는 기계 지능 연구 기관입니다.컴퓨팅 파워 컨테이너, 자동 모델링, 자동 매개변수 조정 등 AI 개발과 관련된 다양한 기본 서비스를 제공합니다.


동시에 OpenBayes는 데이터 세트, 튜토리얼, 모델 등 많은 대중적인 공공 리소스도 출시했습니다.개발자가 빠르게 학습하고 이상적인 머신 러닝 모델을 만들 수 있도록 해줍니다.


지금 방문하세요 오픈베이즈닷컴 그리고 등록하다
지금 즐기세요 
주당 600분 vGPU
그리고 주당 300분의 무료 CPU 컴퓨팅 시간

비디오를 입력하면 해당 감지 및 추적 결과를 얻을 수도 있습니다.


전체 튜토리얼 포털