NVIDIA DLI Workshop, Intelligent Video Analytics, 2019-07-01
아래 내용 요약은 NVIDIA DLI Workshop 실습 자료를 참고하였습니다. 그림 캡쳐는 피했으나 내용 발췌도 문제될 시에는 알려주시면 내용은 내리도록 하겠습니다. 감사합니다.
IVA : Intelligent Video Analytics 의 약자로 딥러닝을 통해 효율적이고 정확한 비디오 분석 결과를 만들어 내는 것이 목적
Applications :
1) Access Control : 비행기 및 열차 탑승 시간 단축 및 수송차 탑승 결정
2) Traffic Flow Control : 도로 설계를 개선하고 교통 체증을 줄이기 위해 교차로 상 교통 흐름 이해
3) Parking Lot Control : 주차 가능 공간을 찾는 시간을 최소화하고 빈자리를 보다 정확하게 파악
4) 물류 및 화물 기업용 : 항공기 화뮬 적재 시간 및 영역식별 시간 관리
5) 소매 및 상품 최적화 : 고객 행동 파악하여 풍부한 경험 제공 및 매장 배치 최적화
IVA Pipeline :
Cameras → Decode (Binary) → Detectors /Classifiers /Trackers → 1) & 2)
→ 1) Encode Metadata Composite → Insight from Metadatas
→ 2) Composite ( Video Stream + Metadata ) → Encode
<Session1>
Data Annotation :
Video needs annotation (label)
=> Vatic ; frame 마다의 annotation 을 반 자동화 해 줌.
Parking Lot Data :
annotation information : 차량 고유ID, 경계상자 정보, 프레임 번호, 차량 속성, occluded / outside 여부 등
TensorFlow Object Detection APIs :
실습에서는 다음 모델을 사용
– Single Shot Detection (SSD)
– Faster R-CNN ResNet 101
– Faster R-CNN NasNet
Detection Metric :
– IoU
To improve the detection capability
=> Fine Tuning & Re-Training
=> Annotation Fix : Label 이 원시적이며 Noisy, 가로/세로 비율 개념 없음, 프레임 중복, TFRecords 로 변경
실습 내용:
1. Annotation Data 를 Pandas 로 읽어서 변형하기
2. 비디오 파일을 프레임 이미지로 바꾸기 (경계박스 추가)
3. 각 프레임 이미지별로 Detection 수행
4. 모든 프레임에 대한 IoU 계산 및 모델별 비교
5. 영상을 적당한 크기로 Clipping 하기
6. TFRecord 파일 생성하기
<Session2>
Transfer Learning :
- 기존 RNN Model 이 주차장 데이터와 잘 작동하도록 전이학습
- TensorFlow 는 명시된 구성 (config) 파일을 사용
- 사전 훈련된 체크포인트를 학습 과정의 ‘초기 가중치’ 으로 지정하고 학습
- Transfer Learning Toolkit 은 개발자가 처음부터 DNN 을 랜덤 가중치로 학습할 때 드는 시간을 줄여줌.
TensorBoard 를 사용한 학습 모니터링 :
추적 (Tracking) :
– Kalman Filtering 기법 (SORT 추적기)과 딥러닝 기반 Re3 모델 ( 소개 영상 )
– 정확도 정량화 CLEAR MOT Metric
( Evaluating Multiple Object Tracking Performance:The CLEAR MOT Metrics)
– Re3 네트워크 : 두 개의 Convolution 네트워크에서 벡터 출력을 연결하고 벡터를 계층화된 LSTM 네트워크를 통해 공급한 다음 시간 t에서 경계 상자 좌표를 찾기 위해 회귀 t-1과 t 사이의 경계 상자 위치를 예측, 객체 검출 또는 분류는 할 수 없으나, 네트워크는 수 많은 프레임 간에 유사한 특징들을 추적
<Session 3>
NVIDIA DeepStream SDK 를 사용하여 전체 End-to-End Pipeline 을 생성하는 방법을 학습
DeepStream SDK 는 OpenSource “GStreamer Multimedia Framework” 기반
IVA Pipeline 구성요소 :
Input Video Stream → Decode Stream → Mux Stream → Convert to Proper Inference Format → Inference Models → Combine Inference Data with Frames → Demux Streams → Dispatch/Visualize Results