| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 2주차
- 프로그래머스
- 미니프로젝트
- 채팅
- 알고리즘
- vscode
- js
- poetry
- 가상환경
- 1주차
- 정보처리기사
- WIL
- 마스킹
- 장고
- resnet50
- 파이썬
- Commpot
- sql
- Class
- 정보처리기사실기
- github
- 개발일지
- WHERE절
- channels
- re-id
- REDIS
- 백준
- WebSocket
- Git
- 프로젝트
Archives
- Today
- Total
개발일기
OSNET(Omni-Scale Network) 개요 본문
논문 [Omni-Scale Feature Learning for Person Re-Identification](https://arxiv.org/abs/1905.00953)
논문리뷰 https://medium.com/@moncefboujou96/omni-scale-feature-learning-for-person-re-identification-6e09df1c9a1a
깃헙 [deep-person-reid](https://github.com/KaiyangZhou/deep-person-reid)
OSNET 이란?
Omni-Scale Network의 약자로, Person Re-Identification(ReID) 문제에 특화된 딥 뉴럴 네트워크 아키텍처이다.
‘Omni-Scale’이라는 이름에서 알 수 있듯이, 다양한 공간적 스케일에서 추출된 정보를 동시에 학습하고, 이를 통합하여 최종적인 임베딩(embedding)을 만드는 데 초점을 맞추었다.
OSNET 주요 아이디어
#1. Omni-Scale Feature
- 논문에서는 “동질적 스케일(homogeneous scale)” + “이질적 스케일(heterogeneous scale)”을 모두 고려한 것을
omni-scale feature라고 한다. - 즉, 네트워크가 이미지를 볼 때, 여러 스케일을 넘나드는 특징을 동시에 학습하여,
필요한 모든 해상도·영역적 정보를 놓치지 않도록 하는 것이다.
#2. Depthwise Separable Convolutions

- 하나의 컨볼루션을 Depthwise(채널별로 나누어 k×k×1 형태로 적용)와
Pointwise(1x1 컨볼루션)로 분리해서 수행 - 연산량과 파라미터가 더 적어짐
- 일반적으로 Depthwise → Pointwise 순으로 적용하는 것이 MobileNet 등에서 흔하지만,
논문에서는 Pointwise → Depthwise 순서를 사용했다. - 이 방식을 이용하면 Omni-Scale Feature Learning(OSNet의 핵심)에 더 효과적이었다고 보고 있다.
#3. Residual Block with Multiple Convolutional Streams


- OSNet의 핵심은 잔차 블록(residual block) 내부에 여러 개의 병렬 스트림(각각 다른 커널 크기나 receptive field)을 배치하는 것이다.
- 예: 1x1, 3x3, 5x5 혹은 다양한 dilation rate를 가진 컨볼루션 등을 병렬로 두고, 이 스트림들의 결과물을 적절히 합치는 구조를 만든다.
- 이렇게 하면, 한 블록 안에서 멀티 스케일 특징을 추출 가능.
#4. Unified Aggregation Gate

- 단순히 병렬 스트림 결과를 `add`나 `concat`으로 묶는 것이 아니라, “채널별로 가중치”를 두어 입력 종속적으로
최적의 스케일 특성을 골라 합치는 기법을 쓴다. - 이 과정을 통해, 어떤 상황(입력 이미지의 특징)에선 큰 스케일이 중요한 경우, 다른 상황에선 미세 스케일이 중요한 경우 등에 유연하게 대응할 수 있다.
Network Architecture Example

논문 Abstract 요약
As an instance-level recognition problem, person reidentification (re-ID) relies on discriminative features, which not only capture different spatial scales but also encapsulate an arbitrary combination of multiple scales. We call features of both homogeneous and heterogeneous scales omni-scale features. In this paper, a novel deep re-ID CNN is designed, termed omni-scale network (OSNet), for omni-scale feature learning. This is achieved by designing a residual block composed of multiple convolutional streams, each detecting features at a certain scale. Importantly, a novel unified aggregation gate is introduced to dynamically fuse multi-scale features with input-dependent channel-wise weights. To efficiently learn spatial-channel correlations and avoid overfitting, the building block uses pointwise and depthwise convolutions. By stacking such block layerby-layer, our OSNet is extremely lightweight and can be trained from scratch on existing re-ID benchmarks. Despite its small model size, OSNet achieves state-of-the-art performance on six person re-ID datasets, outperforming most large-sized models, often by a clear margin. Code and models are available at: https://github.com/ KaiyangZhou/deep-person-reid.
- ReID는 인스턴스 레벨 인식 문제로, 서로 다른 스케일에서 변별력 있는 특징을 추출해야 한다.
- Omni-Scale Features
- 서로 다른 단일 스케일(동질적 스케일)뿐 아니라, 여러 스케일들의 조합(이질적 스케일)도 필요하다고 봄. - Omni-Scale Network (OSNet):
- 복수 스트림(여러 필터 크기/스트라이드/확장률 등)을 병렬로 두고,
- Residual Block 형태로 쌓아 올리며,
- Unified Aggregation Gate라는 동적인 채널 가중 메커니즘으로 멀티 스케일 특성을 융합한다.
- 병렬 스트림 각각에서 추출된 특징을, 단순 합이 아닌 가중치 기반으로 학습해 최적 결합. - 경량화:
깊이별 컨볼루션 + 점별 컨볼루션(Depthwise + Pointwise)을 쓰면,
전체 파라미터 수가 많지 않으면서도 강력한 표현력을 확보할 수 있다.
'오늘의 공부일기 > 머신러닝, 딥러닝 공부일기' 카테고리의 다른 글
| Yolo Segmentation 커스텀모델 Training, JsonToYolo 포함 (0) | 2025.05.19 |
|---|---|
| RESNET(Residual Network) 개요 (3) | 2025.03.19 |
| [RE-ID] RE-ID (Re-Identification) 개요 2 (0) | 2025.03.05 |
| [RE-ID] RE-ID (Re-Identification) 개요 1 (0) | 2025.03.05 |
| [OpenAI] ChatGpt & DALL-E 이용하여 내 맘대로 이미지 만들기 (0) | 2023.05.18 |