https://arxiv.org/abs/2104.06401
Self-supervised object detection from audio-visual correspondence
We tackle the problem of learning object detectors without supervision. Differently from weakly-supervised object detection, we do not assume image-level class labels. Instead, we extract a supervisory signal from audio-visual data, using the audio compone
arxiv.org
1. Introduction
- 목표 : 아무 label이 없는 상태에서 동시에 detect & classify를 수행한다
- WSOD와의 차이점
- WSOD : 이미지 레벨의 라벨이 있어서 해당 이미지에 어떤 object가 있는지 안내 (external)
- 본 연구 : 비디오 데이터 내부에서 추출한 내부 supervisory signal 사용 (internal). 비디오 내부의 sound 데이터를 weak and noise cue로 활용하여 해당 데이터에 어떤 물체가 있는지 학습시키고자 함
문제점
기존 multi-modal approach
- Video Clustering
- 각각의 물체의 클래스를 제공할 수 있으나, 해당 이미지에 물체가 어디에 위치해있는지 알수 X
- Sound source localisation
- 이미지에서 sound source의 위치 탐지 문제를 해결했으나 이미지 분류와 sound source localization을 한정적으로 결합. Sound가 들릴 때에만 해당 위치를 찾을 수 있기 때문 ⭐️ → 해당 Object가 음소거 상태일때에도 찾는 object detector가 필요
- 기존 Sound source localization은 possible object location에 대해 heatmap만 제공 → all individual object instance에 대한 specific bounding box를 제공할 수 있어야 함
제안하는 접근 방법
- sound component = object detector를 위한 cue (but not necessary for detection)
- 1차 학습
- 1. sound source localization network를 비디오 내의 sounding object에 대한 possible location 학습에 사용
- 2. bounding boxes들을 만들고 이를 pseudo-annotation for object로 사용
- 2차 학습
- 3. pseudo-annotation들을 standard object detector 학습에 사용
Challenge
- sound source localization은 class-specific detectors를 학습시키기 위해 필요한 class information을 주지 않음 (높은 확률의 false positive로, generic object에 대한 proposed 영역을 제공하는 정도..)
- 대부분의 sound source localization은 self-supervised representation learning에서 SOTA인 noise-contrastive formulations에 기반함
여기에서 착안하여, (1)sound source에서 위치를 학습하고 (2) supervision없이 분류를 동시에 시행하는 Joint formulation을 고안함
이 결과로 기존 object detector (Fast-RCNN 등)이 supervision 없이 학습할 수 있음
2. Related Work
Audio-Visual Sound Source Localization
- 초기 연구들은 localization과 segmentation에 대한 확률 모델을 포함했음
- 최근 연구는 dual stream neural networks에 집중하고 있음
- Contrastive learning approach
- visual-audio components를 매칭시킴
- visual-audio feature를 클러스터로 만들고, contrastiv loss 평균으로 중심에 연결함(??)
-
더보기
- Relja Arandjelovic and Andrew Zisserman. Objects that sound. In Proc. ECCV, 2018
- David Harwath, Adria Recasens, D ́ıdac Sur ́ıs, Galen Chuang, Antonio Torralba, and James Glass. Jointly dis- covering visual objects and spoken words from raw sensory input. In Proc. ECCV, pages 649–665, 2018.
- Arda Senocak, Tae-Hyun Oh, Junsik Kim, Ming-Hsuan Yang, and In So Kweon. Learning to localize sound source in visual scenes. In Proc. CVPR, 2018
- Heatmap 학습
- 한 비디오에서 audio-visual synchronization을 활용하여 heatmap학습시킴 (기존 lip to mouth synchro, active-speaker detection 활용)
- Audio source와 pixel을 연관지어 학습시킴 by mix-and-separate objective 학습
- 클래스 라벨로부터 학습한 activation map과 contrastive object를 결합시킴
- ⭐️ source localisation을 contrastive object로 학습시키고 학습된 히트맵을 활용하여 그루핑되어있는 object representations를 추출함 (K means 활용). 클러스터는 classifier를 학습시키는데에 사용되어 비디오 오디오 인코더 맨 위에 위치.
-
더보기
- Di Hu, Rui Qian, Minyue Jiang, Xiao Tan, Shilei Wen, Errui Ding, Weiyao Lin, and Dejing Dou. Discriminative sounding objects localization via self-supervised audiovisual matching. arXiv.cs, abs/2010.05466, 2020. 2, 7
- Contrastive learning approach
Audio-Visual category discovery
- 기존에 deep clustering methods를 활용하여 이미지 클러스터링, 세그멘테이션을 연구한 것은 매우 많음
- Video domain으로 Deep cluster를 확장시킨 연구 by opposing modalities로부터 두 셋의 라벨을 만듬
- Audio-visual co-segmentation과 클러스터링을 결합시킨 연구는 audio-visual source separation 달성
- Self labeling method 개선 by 두개의 모달리티간의 shared set을 학습하여 multi-modal data로 확장함
WSOD
- WSOD는 이미지에 bounding box를 치지 않고 이미지 레벨 카테고리를 detection에 사용
- 기존의 많은 연구들은 multiple-instance learning에 기반하고 있으나, 최근 연구들은 self-training, spatial dropout, mixed annotation 등을 활용, 비디오 맥락에서는 motion cue, adversarial training, combination of segmentation and detection, CAM 등을 활용
- 또한 saliency method가 최근 적용될 수 있음을 연구들이 시사하고 있음
Self-supervised multi-modal learning
- Representation learning과 synchronization에 멀티 모달리티를 사용하는 방법과도 연관됨
Representation learning : Deep learning과 ML의 사이(?)단계로, 최종 task (classification인지, 값 예측인지 등등)의 유형에 따라 new feature를 출력하는데 이를 new representation으로 볼 수 있음.
https://89douner.tistory.com/339
- video representation을 학습시키기 위해 speech를 weak supervisory signal로 사용
- 하나의 modality에서 학습한 내용을 다른 modality에 적용
- optical flow(광학 흐름?)와 다른 Modality를 병합하여 representation을 학습
- muti modal self-supervision은 sound source seperation에서도 사용됨 (비록 pre-trained detector가 필요함)
3. Method
- 연구의 목표 : unlabeled 비디오만 사용하여 object detector를 학습시키고 동시에 object를 분류하고, 위치를 찾고, 클래스를 열거하는 것
- 본 연구의 3단계 접근
- 1. Clustering과 constrastive learning을 사용하여 representation을 학습
- 2. 학습된 localisation과 classification networks를 결합하여 Bounding box와 클래스 카테고리를 도출
- 3. 위에서 도출한 self-extracted 라벨과 박스를 타겟으로 하여 기존 object detector를 학습시킴
1. Representation Learning
Sound source spatial localization
- Contrastive learning formulation을 기반으로 SSLN(Sound source localisation network)를 학습
Relja Arandjelovic and Andrew Zisserman. Objects that sound. In Proc. ECCV, 2018
-
- (v,a), v:video frame(R**3xHxW), a: audio spectrogram in temporal window (R**TxF)
- First network f**v(v)(R**Cxhxw) : 하나의 spatial location마다 C차원의 feature vectors를 비디오 프레임에서 추출
- f**v_u(v)는 C 차원의 feature vector를 의미하며 이는 위치 u에 해당함 (u는 {1...h} x {1...w}에 포함됨)
- h x w : spatial feature의 해상도를 의미하며, 이는 비디오 프레임 해상도인 HxW의 일부
- f**v_u(v)는 C 차원의 feature vector를 의미하며 이는 위치 u에 해당함 (u는 {1...h} x {1...w}에 포함됨)
- Second network f**a(a)(R**C) : audio signal에서 추출한 feature vector
- Spatial - Audio features는 Contrastive learning을 할 수 있음 (C차원의 임베딩 공간을 공유함)
- 각 네트워크의 벡터 f**v_u(v) f**a(a)는 L2정규화(유클리드 거리)되어 대응되는 네트워크의 끝에 더해질 수 있음.
- 두 벡터의 코사인 유사도가 spatial location 히트맵을 계산하는데 사용되어, sound와 연관된 object에 가중치를 줄것임
- h_u(v,a) = <f**v_u(v), f**a(a)> / p(온도 파라미터)
- Multi modal contrastive learning formulation에 의해 히트맵은 overall score로 변환됨(맥스값을 취함)
- S(v,a) = max h_u(v,a)
- 그리고 두개의 배치에 비디오(v,a)를 할당함
- 배치1 : 비디오 프레임이 배치에서 사용 가능한 프레임 중에 특정 오디오와 얼마나 일치하는 지 Loss 계산
- 배치2 : 오디오가 특정 비디오 프레임과 얼마나 일치하는 지 Loss 계산
- L_nc(B) : noise-contrastive loss로 배치1,2의 loss를 평균냄
Category self-labeling
YukiM.Asano,MandelaPatrick,ChristianRupprecht,and Andrea Vedaldi. Labelling unlabelled videos from scratch with multi-modal self-supervision. In NeurIPS, 2020
- 위에서 진행한 Spatial localisation은 class에 대한 정보를 제공하지 않기 때문에, 데이터에 있는 다른 object의 클래스/이름을 도출
- class를 도출하기 위해 self-labelling approach를 적용함
- y(v,a)는 학습 pair(v,a)와 연관된 라벨 (y의 집합인 Y는 1...K까지 있음)
- 첫번째 classification networks : video v를 class socre인 g**v(v)(K차원)에 매핑시키고 최적화를 위해 standard cross-entropy loss를 최소화시킴
- L_v(B|y)로 표기
- classification loss는 cluster지수에 대한 contrastive loss와 같음 (normalization없이)
- 두번째 classification networks : g**a(a)로 오디오 시그널을 사용함. 로스 계산식은 v를 a로 대체
- 마지막 classification layer : 대응하는 cluster의 feature를 행렬곱(dot-products)
- L_cluster(B|y) : 두 loss의 Link는 라벨 y가 두개의 모달리티에서 공유됨 by 두 loss를 평균냄
- 라벨 y의 marginal distribution을 지정해야함 (e.g. 간단한 euipartitioning constraint 사용 등)
- y는 알 수 없으며, 같은 loss를 최소화하기 위해 classification network의 대안으로 사용됨
- y를 최적화하는 것은 SK 알고리즘을 통해 효율화 가능
Joint training
- 랜덤 배치 B의 loss를 확률적으로 최적화해야 함
- L(B|y) = lambda * L_nc(B) + (1-lambda) * L_cluster(B|y)
- Loss는 localisation networks와 classification networks에 대해 최적화된 것을 확인할 수 있음
- 이 네트워크들은 공통된 qv,qa를 갖고 있으므로 다음과 같이 정의할 수 있음
- fv =fˆv◦qv
- gv =gˆv◦qv
- fa =fˆa◦qa
- ga =gˆa◦qa
2. Extraction of Self-labels for Detection
- Represent Learning에서 localisation, classification network를 학습시켰으므로 이를 이용해서 detector 학습을 위한 self-annotation을 추출
Box extraction
BoleiZhou,AdityaKhosla,A`gataLapedriza,AudeOliva, and Antonio Torralba. Learning deep features for discriminative localization. In Proc. CVPR, 2016.
- object에 대한 self bounding box를 확보하기 위해 휴리스틱 접근법을 사용
- heatmap h(v,a)는 value ε(h)를 임계값(<ε(h)같이)으로 가지고, 가장 큰 connected component를 식별함 (히트맵을 둘러싼 최대값..?)
- value ε는 하이퍼파라미터 β에 제어되는 히트맵의 최대/평균 값의 convex combination으로 동적 정의됨
-
ε(h)=β * max_u∈ψ_hu +(1−β)(1/ |ψ|) ∑_u∈ψ_hu.
- 그리고 그 component를 tight하게 둘러싸고 있는 bounding box t*(v,a)를 도출. Ω**2의 집합에 속함 (box는 왼쪽 상단 및 오른쪽 하단 모서리 위치로 식별됨)
- heatmap h(v,a)는 value ε(h)를 임계값(<ε(h)같이)으로 가지고, 가장 큰 connected component를 식별함 (히트맵을 둘러싼 최대값..?)
Class labeling
- detector를 학습시키기 위해 각 프레임에서 single object를 추출함
- 이와 같이 각 프레임에서 single class label을 추출함
- 이는 visual-audio classification network에서 argmax를 취함으로 가능
-
y∗(v,a)=argmax[gyv(v)+gya(a)]
-
Filtering the annotations
- 가정 : 프레임에 주요 개체가 포함되어 있을 것
- 노이즈를 유발할 수는 있음
- 문제를 단순화하고 audio를 pure cluster를 얻는데 사용할 수 있음
- 이에 따라 detector가 전체적인 detection을 학습할 수 있도록 specific and noise self annotation을 처리하게 함
3. Training the Object Detector
- 위의 과정에 따라 훈련된 (v, t*,y*)를 확보함
- v : video frame (image)
- t* : extracted bounding box
- y* : class label
- 이 데이터를 사용해서 기존 detector를 학습시키고자 함. 이때 기존 detector는 Faster-R-CNN에 해당
R-CNN
- 이미지 분류를 수행하는 CNN과 이미지에 객체가 있을만한 영역을 제안하는 후보 영역 (region proposal)을 결합한 알고리즘
- (1) 이미지 입력 -> (2) 선택적 탐색 알고리즘*으로 여러개의 바운딩 박스를 추출한 후 이를 CNN 모델에 넣기 위한 같은 크기로 크롭 -> (3) 크기가 동일한 여러개의 바운딩 박스에 해당했던 이미지에 대해 각각 CNN모델을 적용 -> (4) 각각 분류를 진행
- * 선택적 알고리즘 : 분할방식을 이용하여 시드를 선정하고 그 시드에 대해 완전 탐색 적용 (이미지를 여러개로 분할해 후보영역을 만들고, 그리디 알고리즘을 사용하여 비슷한 영역들을 통합시킴. 그 이후 통합된 영역을 기반으로 바운딩 박스를 추출)
Fast R-CNN
RoI(Region of Interests) 풀링*을 도입하여 선택적 탐색에서 찾은 박스 정보가 유지되도록하고, 완전연결층을 통과할 수 있도록 크기를 조정해서 바운딩 박스마다 CNN을 돌리는 시간을 단축함
*RoI풀링 : 크기가 다른 특성 맵의 영역마다 stride를 다르게 MaxPooling을 적용해서 결과값 크기를 동일하게 맞추는 것. 그냥 R-CNN에서 이미지를 자르고 재조정하거나, 공간피라미드 풀링에서 특성맵을 동일한 크기로 조절하는 등의 과정 없이 최종 이미지를 n*n에 맞게 추출하기 위해 stride만 동적으로 조절해주는 것
Faster R-CNN
기존 Fast R-CNN에 후보 영역 추출 네트워크(RPN)를 추가해 후보 영역(박스)을 CNN 내부 네트워크에서 생성해서 속도를 빠르게 함.
(1)이미지 입력 -> (2) 합성곱층 -featrure map-> (3) RPN * -> (4) RoI풀링 -> (5)분류기
* RPN
(1) 작은 윈도우 영역 (N*N 슬라이딩 윈도우방식으로 전체 탐색)에 객체의 존재 유무 판단을 위해 이진 분류를 수행하는 작은 네트워크 생성
(2) 해당 네트워크에서 객체 유무를 스코어로 분류하고, 좌표점 추론을 위한 바운딩 박스 회귀도 추가함
(3) 앵커박스 : 이미지 내 Object들의 크기와 비율이 다양하기 때문에 여러 크기와 비율의 레퍼런스 박스 k개를 사전에 정의하고 각각 슬라이딩 윈도우 위치마다 박스 k개를 출력하도록 설계함
(4) 최종 출력값 : 모든 앵커 위치에 대해 객체와 배경을 판단하는 2k개의 분류 , x,y,w,h 위치 보정을 위한 4k개의 회귀 출력
🤔 추후 관련 논문 더 읽어보기 : https://herbwood.tistory.com/10
- Faster R-CNN detector는 이미지 v를 입력받고, box proposal(후보영역) m에 대한 class label y(m)과 refined full-resolution bounding box t(m)을 각각 추론하는 네트워크 y(m)과 t(m)을 훈련시킴
- m : set of bounding box proposal
- y(m): networks
- t(m) : full-resolution bounding box
- label space는 또한 백그라운드 클래스를 포함하도록 확장되는데 이 때 대부분의 후보 영역이 다른 object에 닿지 않음
- detector는 후보영역(proposal)과 annotation 사이 association을 찾도록 학습
- 이를 위해 만약 m* = argmax IoU(m,t*)가 pseudo ground-truth bounding box t*와 가장 잘 일치하면 다음 식을 최적화할 수 있음
- Ldet(v, t∗, y∗) = Lreg(t(m∗), t∗) + Lcls(y(m∗), y∗) + ∑ Lcls(y(m), bkg) (∑ : m∈M (v):IoU(m,t∗ )<τ)
- Lreg : 바운딩 박스 모서리 좌표에 대한 L1 loss(실제 값-예측값에 절댓값을 취해 그 오차 합을 최소화하는 방향 loss)
- Lcls : standard cross-entropy loss이며 이 Loss가 뜻하는 바는 다음과 같음
- proposal m*이 pseudo ground-truth class y*와 bounding box t*와 최대한 일치
- proposal m은 클래스 background와 bad match (τ ≤ 0.7)
- Ldet(v, t∗, y∗) = Lreg(t(m∗), t∗) + Lcls(y(m∗), y∗) + ∑ Lcls(y(m), bkg) (∑ : m∈M (v):IoU(m,t∗ )<τ)
- 이를 위해 만약 m* = argmax IoU(m,t*)가 pseudo ground-truth bounding box t*와 가장 잘 일치하면 다음 식을 최적화할 수 있음
IoU(Intersection of Union)
- 두 영역의 교집합 / 두 영역의 합집합
- 커질수록 두 영역의 교집합이 크고 두 영역의 합집합이 작다 즉 두 영역이 얼마나 겹치는지를 의미
4. Experiments
1. Dataset
AudioSet-Instrument
- Audioset : 유튜브의 10초 비디오 클립 데이터셋
- Audio set Instrument
- Training set : unbalanced split의 일부를 사용
- 110개의 sound source classes
- 13개의 악기 classes
- Training set : unbalanced split의 일부를 사용
VGGSound
- 오디오-비디오 간 상관 지표가 있는 309개 카테고리의 ojbect를 갖고 있는 유튜브 10초 클립 데이터
- Training set
- 54K videos, 50개의 악기 카테고리
- Test set
- subset1 : test set annotation과 대략 매핑되는 39개 카테고리
- pseudo-ground truth test-set annotation : supervision detector 갖고 있음
OpenImages
- 15개의 클래스를 갖고 있는 악기 이미지 일부 사용
2. BaseLines
- 기존 연관 연구가 없으므로, (1)Weakly supervised detectors(이미지 레벨 라벨)과 (2)Unsupervised localisation methods (detect 없이 히트맵만)를 비교함
- (1)Weakly supervised detectors : PCL 사용
- (2)Unsupervised localisation methods : 히트맵 위치를 위해 DSOL 방법 사용 (히트맵과 클래스 라벨 생성)
- (3)다른 baseline : selective search와 같은 large centered box 예측, region proposal method(클래스 상관X)을 사용하고 COCO dataset에서 지도 학습을 통해 획득한 RPN을 사용함
3. Implementation Details
Assessing class pseudolabels
- class pseudo label은 cluster 지표만 있을 뿐, 클래스에 대한 이름이 없으므로 human labelled classes를 부여하여 evaluation에 사용해야 함
- 이 때 라벨링은 평가를 위한 것이었으므로 detector 학습이 완료된 이후에 진행된 것이며, 학습된 cluster와 ground truth classes에 대해 Hungarian Matching을 진행함
Detector training
- 별도로 기재되지 않은 한, localizer와 detector는 VGGSound, Audioset을 학습했으며 OpenImage는 evaluation에만 사용됨
- VGGSound에 있는 악기 에 대한 정보 없이 사용했으며 object curation 없이 모든 비디오를 사용함
- Baseline중 하나인 DSOL과 공정한 평가를 위해 localizer 학습에 Audioset의 single 악기 subset을 사용함
Number of clusters
- VGGSound : 39개의 클러스터링 (training set의 39개 object type).dataset이 대략적으로 balanced되어있으므로 uniform marginals를 사용함.
- Audioset : 30개의 클러스터링과 Gaussian marginals를 사용함
- *marginal distribution : 주변 확률 분포, uniform marginal : 균등 확률 분포
4. Results
Self supervised object detection
- 평가지표 : 각기 다른 IoU thresholds에 대한 mAP*
- PCL vs Ours : IoU threshold가 relaxed된 경우(30)엔 PCL이 높지만 그렇지 않은 경우 본 연구 지표 성과가 잘 나옴. 이는 본 연구의 detection이 higher spatial accuracy를 가짐을 의미함
- Ours - weak sup vs Ours -full : noisy self labels의 영향을 확인하기 위해 ground truth video category를 사용한 bounding box label을 localisation network에서 detector를 학습/테스트 함. weak sup이 3% 가량 성과가 좋았음. 이는 our model이 weak supervision에 영향을 미칠 수 있는 포텐셜을 의미함
mAP(mean Average Precision)
- AP : Precision(정밀도, True Positive / TP + FP) 과 Recall(재현율, TP / TP+FN)을 다룬 종합 평가 지표로 0~1 사이의 Recall에 대응하는 평균 Precision
- mAP : 모든점보간법을 이용해 AP를 구한 값의 평균. 여러 클래스에 대한 AP를 모두 구하고 평균 산출
https://www.waytoliah.com/1491
Per-class performance breakdown
- Object class에 따라 지표 성능을 확인했을 때
- 크기가 크고 확실히 구별되는 악기의 경우엔 좋은 성능이 나왔으나 (Accordion, Harp) 오보에 처럼 작거나 드럼처럼 덩어리(?in numbers)로 나타나는 경우 성능이 좋지 않음
Comparison to audio-visual heatmaps
- 기존 SOTA Sound source localisation methods와 본 연구 detection 성능을 비교함
- 이 때 Fair comparision을 위해 설정된 threshold값을 초과하여 예측된 bounding boxes의 합집합을 binary map으로 변환하고, 변환한 것을 같은 평가 코드에 사용할 수 있는 pseudo-heatmap으로 변환함
- 본 연구의 결과가 single, multi 악기를 악기가 음소거 상태일때에도 모두 잘 detect하는 것을 확인함
Ablation : Number of clusters K.
- 클러스터의 개수를 다양하게 했을 때(test set은 15개로 유지) K의 수가 ground truth label의 수를 넘을 수록 성능이 좋아짐
Data-efficient detector alignment
- cluster를 groundtruth label과 매칭하는 실험을 진행함
- evaluation에서는 Hungarian algorithm(행렬..알고리즘..최소자원 활용하는거..원소에서 최소값빼고..와리가리하는 그거...!)을 사용하여 cluster를 groundtruth에 할당함
- Computational 효율성을 개선하기 위해 Manual grouping strategy, Argmax 등 다른 방법을 사용할 수 있음
Qualitative analysis
PCL보다 정확한 박스와 multiple objects를 탐지함 even 학습 과정 중에 object boundaries를 제공하지 않음
Toward general object detection
- 본 연구의 산출물이 general and robust한 지 확인하기 위해 larger scale data set에 적용해봄
- VGGSound dataset을 필터링 없이 전부 사용함 (x10)
- cluster K를 300개로 세팅해서 300개의 pseudo-classes를 비지도 학습할 수 있는 object detector 도출
- Open image dataset의 annotation과 매칭할 수 있는 VGGSound label을 헝가리안 알고리즘으로 매칭함
- 이 외에는 다른 파라미터는 모두 동일함
- AP30수준에서 악기 외의 다른 object도 높은 확률로 예측하는 것을 확인할 수 있었음
5. Discussion
Limitations & Societal impact
- Detection Failure
- multiple instance grouping, missing instances, part-of-object detection
- Detecting wrong objects
- appear together with the objects of interest due to biases in the data
- Wrong classification
- visual similar classes, incorrect semantic matching, confusion due to the object's orientation
'👩💻LEARN : ML&Data > Journals' 카테고리의 다른 글
[ECCV 2022] Object Discovery via Contrastive Learning for Weakly Supervised Object Detection(작성중) (0) | 2023.04.27 |
---|