Source-linked AI summary
Part-Stacked CNN for Fine-Grained Visual Categorization
Shaoli Huang, Zhe Xu, Dacheng Tao, Ya Zhang
TL;DR
Fine-grained recognition은 범주 간 차이가 미묘해 어렵고, 기존 방법은 사람이 이해할 수 있는 설명을 간과하는 경우가 많다. Part-Stacked CNN은 part localization과 object-level 및 part-level classification을 결합해, CUB-200-2011에서 해석 가능한 시각적 안내와 함께 효과적이고 효율적인 인식을 달성한다.
문제
Fine-grained recognition은 pose, viewpoint, occlusion이 존재하는 상황에서 매우 유사한 범주를 구별해야 하며, 사람이 이해할 수 있는 시각적 매뉴얼은 여전히 간과되고 있다.
방법
Part-Stacked CNN은 part를 localize하는 fully convolutional network와 object-level 및 part-level cue를 공동으로 모델링하는 two-stream classifier를 사용한다.
결과
20 frames/sec의 inference 속도와 CUB-200-2011에서의 86.6% APK는 해당 architecture의 효율성과 part-localization 성능을 입증한다.
시사점 및 한계
PS-CNN은 시각적 현장 안내서로 활용할 수 있는 사람이 이해할 수 있는 해석을 제공하면서 fine-grained recognition을 수행한다.
시사점 및 한계
입증된 application은 strong supervision을 사용하는 fine-grained categorization에 초점을 맞추며, 더 폭넓은 application은 향후 과제로 남겨둔다.
Abstract
from arXiv · showhide
In the context of fine-grained visual categorization, the ability to interpret models as human-understandable visual manuals is sometimes as important as achieving high classification accuracy. In this paper, we propose a novel Part-Stacked CNN architecture that explicitly explains the fine-grained recognition process by modeling subtle differences from object parts. Based on manually-labeled strong part annotations, the proposed architecture consists of a fully convolutional network to locate multiple object parts and a two-stream classification network that en- codes object-level and part-level cues simultaneously. By adopting a set of sharing strategies between the computation of multiple object parts, the proposed architecture is very efficient running at 20 frames/sec during inference. Experimental results on the CUB-200-2011 dataset reveal the effectiveness of the proposed architecture, from both the perspective of classification accuracy and model interpretability.
1 서론
Fine-grained categorization은 하위 범주 간 차이가 작고 범주 내 변이가 큰 데다, 기존 연구가 인간이 이해할 수 있는 설명을 대체로 간과해 어려운 과제다. 제안하는 PS-CNN은 공유 localization과 two-stream classification 경로를 통해 object part를 모델링함으로써 이를 해결한다.
- 동기: Fine-grained categorization은 조류 종, 반려동물, 꽃, 자동차와 같은 하위 범주를 구분하지만, 범주 간 차이가 작고 범주 내 변이가 큰 상황에서는 여전히 어렵다.방해 요인으로는 자세, 시점, 가림이 있으며, 최근의 발전으로 이 과제는 실용적 응용 단계로 나아가고 있다.
- 동기: 이 논문은 fine-grained recognition이 classification accuracy 향상에만 그치지 않고, 유사한 범주를 구분하기 위한 인간이 이해할 수 있는 매뉴얼을 제공해야 한다고 주장한다.제안 방법은 특정 object part의 미묘한 차이에 기반한 명시적 지침을 제공하는 것을 목표로 한다.
- 동기: 범주 간 차이는 주로 object-part properties에 존재하므로, 이 방법은 주석이 달린 part landmark와 attribute에서 classification 기준을 발견한다.이러한 part 기반 전략은 fine-grained 판단을 설명해야 하는 요구를 충족하면서 interpretability를 높인다.
- 제안 architecture: PS-CNN은 object part를 위한 fully convolutional localization module과, 하나의 framework에서 object-level 및 part-level cue를 모델링하는 classification module을 결합한다.이 architecture는 part를 검출하는 “where pathway”와 하위 범주를 분류하는 “what pathway”를 사용한다.
- 제안 architecture: 공유 feature-extraction 경로는 여러 part를 처리한 뒤, 새로운 part crop layer가 이를 분리하고 표현을 연결하여 더 얕은 classifier에 입력한다.이러한 share-and-divide 전략은 통합된 part 기반 architecture를 효율적으로 구현하도록 설계되었다.
2 관련 연구
Fine-grained visual categorization의 관련 연구는 판별적 deep feature, 명시적 pose alignment, part-based modeling을 강조해 왔다 [36] [34] [6] [48] [47] [15]. PS-CNN은 part-based recognition을 기반으로 하면서, 선행 연구에서 지적된 data-driven classification 성능과 model interpretability 사이의 긴장을 다룬다 [47] [21].
- Fine-Grained Visual Categorization: Fine-grained recognition 방법은 주로 판별적 feature, 명시적 pose alignment, part-based modeling을 통해 성능을 향상한다 [36] [34] [6] [48] [47] [15].이러한 방향에는 deep CNN representation, pose displacement를 줄이기 위한 alignment, object part 분석이 포함된다.
- Fine-Grained Visual Categorization: Part-based R-CNN [47]과 Bilinear CNN [21]은 part를 검출한 뒤 part-based object classification을 수행하는 two-stage pipeline을 사용하는 state-of-the-art 방법으로 제시된다.PS-CNN은 두 object part를 검출하고 각 part마다 개별 CNN을 학습하는 Part-based R-CNN [47]의 접근법을 상당 부분 계승한다.
- Fine-Grained Visual Categorization: Bilinear CNN [21]은 interchangeable stream을 detector 또는 feature로 사용해 data-driven 설계를 유지하지만, 그 결과 모델은 해석하기 어렵다.제안 방법은 대신 classification accuracy와 interpretability 사이의 균형을 추구한다.
- Fully Convolutional Networks: Fully convolutional network는 빠른 dense prediction을 제공하며 sliding-window detection [33], semantic segmentation [22], human pose estimation [37]에 적용되어 왔다.Part landmark localization은 여러 component의 key point를 검출해야 한다는 점에서 human pose estimation과 밀접하게 관련된다.
3 Part-Stacked CNN
Part-Stacked CNN은 fine-grained recognition을 fully convolutional localization network와 two-stream classification network로 분해한다. 검출된 part location을 conv5 feature map을 통해 직접 전달하고, shared part-level processing과 object-level cue를 결합한다.
- 3 Part-Stacked CNN: forwarding 중 검출된 part location을 순차적인 localization-then-part-CNN pipeline을 거치지 않고 conv5 feature map에 직접 전달한다.이 message-transfer operation이 해당 architecture를 표준 two-stage part-based R-CNN 접근법과 구별한다.
- 3.1 Localization Network: localization network는 FCN을 사용해 background를 포함한 dense M-part heat map을 생성한 뒤, Gaussian smoothing 후 각 part의 maximum-response location을 선택한다.maximum response가 threshold µ보다 낮은 part는 해당 image에서 discard하여 pose variation이나 occlusion으로 인한 missing part를 처리한다.
- 3.1 Localization Network: localization FCN은 454 × 454 bounding-box crop을 conv5, conv6, conv7을 통해 처리하여 M + 1 output channel을 갖는 27 × 27 localization map을 생성한다.FCN은 여러 part 결과를 동시에 얻을 수 있게 하며 learning과 inference에서도 효율적이다.
- 3.2 Classification Network: architecture는 fully convolutional part landmark localization과 Part and Object streams를 결합한 뒤 세 개의 fully connected classification layer를 연결한다.Part Stream은 여러 part-level cue를 포착하고, Object Stream은 bounding-box-level supervision을 사용해 object-level semantics를 포착한다.
- 3.2 Classification Network: part stream은 part 간 첫 5개 convolutional layer를 공유한 뒤, part crop layer를 사용해 예측된 location 주변의 local neighborhood를 추출하고 part-specific classification을 수행한다.이 sharing strategy는 여러 object part에 대해 별도의 CNN을 학습할 때 발생하는 시간 및 공간 비용을 줄인다.
4 실험
CUB-200-2011에서 localization, classification, 효율성, interpretability를 평가한다. 완전한 PS-CNN은 15개 part에서 76% accuracy, 86.6% localization APK, 0.05초 inference를 달성하며 part 기반 visual manuals를 생성한다.
- Localization accuracy: CUB-200-2011 test set에서 15개 object part의 localization에 대해 86.6% APK를 달성한다.1×1 convolutional layer를 추가하면 localization이 향상되며, Gaussian smoothing은 거의 10% MPK 향상에 기여한다.
- Localization accuracy: Head parts는 더 안정적인 구조, 적은 deformation, 낮은 occlusion을 가지므로 deformable wings와 legs보다 더 정확하게 localization된다.Per-part APK는 Table 2에 보고되어 있으며, 대표적인 localization output은 Figure 5에 제시한다.
- Classification accuracy: Crown은 57% accuracy로 가장 discriminative한 단일 part인 반면, beak은 10%를 달성하며, 이는 part의 incremental integration을 뒷받침한다.Bounding-box-only baseline에 part를 반복적으로 추가하며, iteration i에서 2^i개의 part를 삽입한다.
- Classification accuracy and efficiency: Bounding-box supervision과 15개 object part를 사용한 76% accuracy는 part-based R-CNN [47] 및 bilinear CNN [21]과 comparable하며, inference에는 image당 0.05초가 걸린다.이 model은 part-based R-CNN [47]보다 두 자릿수 이상의 차이로 빠르다.
- Model interpretation: System은 predicted label을 가장 가까운 exemplar image 및 prediction과 유사한 class를 구별하는 part-based criteria와 결합해 visual manuals를 생성한다.Classification gain을 사용해 offline에서 discriminative part를 식별하고, class 비교를 위해 top part를 보고한다.
5 결론
이 논문은 Part-Stacked CNN이 part-level supervision, fully convolutional part localization, two-stream object- 및 part-level classification을 활용해 효과적이고 효율적이며 사람이 이해할 수 있는 fine-grained recognition을 제공한다고 결론짓는다. 또한 unsupervised parts, attribute learning, context-based CNNs를 포함해 strong supervision을 넘어서는 향후 확장 방향을 제시한다.
- 5 결론: Part-Stacked CNN은 fully convolutional part localization과 two-stream object- 및 part-level classification을 결합해, 사람이 이해할 수 있는 해석과 함께 효과적이고 효율적인 fine-grained recognition을 보여준다.CUB-200-2011에서의 실험은 fine-grained visual categorization에 object parts를 도입하는 것이 미치는 영향을 특히 잘 보여주었다.
- 5 결론: PS-CNN은 unsupervised part discovery methods 를 통해 object parts를 자동으로 정의함으로써 strong supervision을 제거하고, 사람의 labeling 노력을 줄이면서도 비슷한 classification accuracy를 유지할 수 있다.논문은 이를 확립된 결과가 아니라 향후 연구 방향으로 제시한다.
- 5 결론: PS-CNN은 attribute learning으로 확장될 수 있으며, 예를 들어 온라인 쇼핑 추천 시스템 에서 의류 속성을 분석하기 위한 효율적인 part-based garment analysis가 가능하다.이는 적용 시나리오를 fine-grained recognition task를 넘어 확장한다.
- 5 결론: local parts를 global contexts로 대체하면, PS-CNN을 volleyball이나 tennis ball처럼 뚜렷한 parts가 없는 작은 object에도 큰 구조적 변경 없이 적용할 수 있다.논문은 이러한 context-based CNN architecture를 향후 연구 과제로 제시한다.