Github : https://github.com/jwyang/graph-rcnn.pytorch
<Introduction>
이 논문은 그래프 신경망(Graph Neural Network)을 이용하여 장면 그래프를 생성하는 Graph r-cnn모델에 대한 논문입니다. 기존 대부분의 논문에서는 Message Passing을 위해 주로 RNN계열의 신경망에 의존하고 했습니다. 본 논문에서는 Graph Convolutional Network(GCN)을 이용해 이미지에 등장하는 물체와 관계 사이에 맥락 정보를 교환하고 추론합니다.
추가로 Relational Proposal Network(RePN)이라는 네트워크도 제안합니다. 기존의 연구들은 물체 영역 n개가 주어지면 가능한 모든 물체 쌍들(약 n^2)에 대해 관계를 판별하였습니다. 때문에 제안되는 영역의 수가 많으면 학습이 오래 걸리게 되고 성능 저하의 원인이 될 수 있습니다. 본 논문에서는 이를 해결하기위해 수 많은 물체 쌍들 중에서 의미있는 물체 쌍들만 골라내주는 Relational Proposal Network를 제안합니다. 아래 그림은 제안하는 모델의 간단한 순서도입니다.
<Model>
1) Object Proposal
Faster R-CNN을 이용하여 등장하는 물체들의 영역 제안
2) Relational Proposal Network
약 n^2개의 물체 쌍들 중에서 의미있는 물체쌍들만 제안
=> 각 물체 영역의 추정 클래스 분포를 이용하여 물체 쌍들 간의 연관성을 추론("자전거-바퀴"의 연관성은 "바퀴-나무"의 연관성보다 클 것)
=> 주어 물체와 목적어 물체 영역의 클래스 분포를 서로 다른 MLP를 거친 후 score를 계산
=> score를 내림차순으로 정렬하여 상위 k 선택
그 후 남은 물체 쌍들끼리 NMS연산을 하여 겹침 정도가 큰 물체 쌍들은 같은 물체 쌍이라 보고 제거
=> 최종적으로 남은 물체 쌍들끼리 그래프 생성(물체 노드와 관계 노드 생성)
3) Attentional GCN
- Attentional GCN을 이용해 이웃 물체, 관계들과 맥락 정보 교환
=> edge에 attention을 적용해 이웃 노드들 간의 정보를 차등적으로 반영
=> 물체 노드는 주어 물체 노드 ↔ 목적어 물체 노드(skip-connection), 주어 물체 노드 ↔ 관계 노드, 목적어 물체 노드 ↔ 관계 노드사이에서 맥락 정보 교환
=> 관계 노드는 주어 물체 노드 ↔ 관계 노드, 목적어 물체 노드 ↔ 관계 노드사이에서 맥락 정보 교환
이러한 GCN을 이용한 추론 과정을 총 2번 거침
=> 첫번째는 visual feature만을 이용하여 추론(visual aGCN)
=> 두번째는 visual aGCN의 각 노드의 최종 특징 값을 분류기를 거친 후 얻은 클래스 분포값을 이용하여 추론한(semantic aGCN)
<Result>
- Visual Genome 데이터 집합 이용
- 이전 논문들과 동일한 평가 지표를 사용하나 SGGen+라는 새로운 평가지표 제안
(기존 SGGen : <object, relationship, subject>세가지 모두 맞아야 정답으로 인정
SGGen+ : 맞게 예측한 object + 맞게 예측한 predicate + 옳은 <triplet> )
다른 모델들과 비교하였을 때 가장 높은 성능을 보이는 것을 확인할 수 있습니다.
<결론>
- 그래프 신경망을 이용하는 Graph R-CNN이라는 새로운 장면 그래프 생성 모델 제안
- 과도하게 많은 물체 쌍들을 걸러내기 위해 MLP로 구성된 Relational Proposal Network(RePN) 제안
- 기존 평가 지표중 하나인 SGGen을 개선하여 좀 더 포괄적인 SGGen+라는 평가 지표 제안