[Project] 객체 검출 모델 고도화 및 최적화

Total Views: -

Published:

이번 포스팅에서는 2024년에 진행한 객체 검출 모델을 고도화하고 최적화한 과정을 공유한다. 단, 회사 내부 데이터・지표・시스템 구현 등 기밀에 해당할 수 있는 정보는 모두 제외하고, ML 모델링 관점의 핵심 아이디어와 학습 설계만 간략히 정리한다.

이 프로젝트는 도로 환경에서 HD Map 구축을 위한 객체 검출 모델 개발을 목표로 진행되었다. HD Map은 자율주행과 정밀 내비게이션에 필수적인 고정밀 지도로, 도로의 정확한 기하학적 정보와 교통 인프라 정보를 포함한다. 이를 위해 교통 표지판, 도로 마커, 차선, 신호등 등 도로 및 지도 관련 객체들을 정확하게 검출하는 것이 핵심 과제였다.

1. 객체 검출 모델 고도화

도로 환경에서 HD Map 구축을 위한 객체 검출 모델은 실제 환경에서 의도하지 않은 객체를 잘못 검출하는 오검출 문제가 자주 발생한다. 특히 교통 표지판과 유사한 형태의 간판이나 광고판, 도로 마커와 유사한 다른 표시물 등이 오검출의 주요 원인이 되었다. 이를 해결하기 위해, 모델의 구조적 특성을 활용하여 검출 대상 객체의 특징을 충분히 학습할 수 있도록 설계했다. 또한, Data-centric 접근법을 통해 성능 향상을 위한 데이터를 효율적으로 수집 및 분석하여, 모델이 다양한 도로 환경(도심, 고속도로, 시골길 등)에서도 균형 잡힌 성능을 발휘할 수 있도록 최적화했다.

1.1 객체와 모델의 특징 이해로 성능 극대화하기

이번 프로젝트에서는 Transformer 기반 객체 검출 모델인 DETR(DEtection TRansformer)를 활용했다. HD Map 구축을 위해 검출해야 하는 객체들은 매우 다양했다: 교통 표지판(속도 제한, 금지, 주의 표지판 등), 도로 마커(차선, 화살표, 횡단보도 등), 신호등, 도로 구조물(가드레일, 터널 입구 등) 등 크기와 형태가 다양한 객체들을 동시에 처리해야 했다.

DETR은 예측된 객체와 실제 객체(Ground Truth) 간 최적 매칭을 수행하는 Hungarian Matching 알고리즘을 사용하며, 다양한 크기와 유형의 객체를 균형 있게 검출하는 데 강점을 가진다.

모델 성능을 극대화하기 위해, 학습 과정에서 Matching Cost를 조정하여 모델이 다양한 크기와 속성의 객체를 효과적으로 학습하도록 했다. 예를 들어, 작은 교통 표지판이나 도로 마커는 멀리서 촬영될 경우 매우 작게 나타나며, 큰 구조물은 가까이서 촬영될 경우 매우 크게 나타난다. 이러한 매칭 코스트의 가중치를 세밀히 조정함으로써 작은 객체의 누락이나 큰 객체의 오검출을 줄이고, 모든 크기의 객체에 대해 균형 잡힌 성능을 확보할 수 있었다.

이처럼 DETR의 구조적 특징인 헝가리안 매칭을 이해하고, HD Map 구축에 필요한 교통 표지판 및 도로 관련 객체들의 속성에 맞춰 하이퍼파라미터를 조정한 결과, 모델의 성능을 한층 더 향상시킬 수 있었다.

1.2 Data-centric 접근

모델의 오검출 문제를 해결하기 위해, Data-centric한 접근을 시도했다. 이 접근법은 단순히 데이터를 추가하는 데 그치지 않고, 모델이 혼동을 줄이고 더 나은 일반화 성능을 발휘할 수 있도록 학습 과정을 개선하는 데 중점을 둔다.

1.2.1 Confusing Negative Sample 수집

양성 샘플과 혼동 음성 샘플

오검출 문제를 해결하기 위해, 모델이 잘못 검출하는 상황을 분석하고 원인을 파악했다. 주로 외형적으로 비슷하지만 검출 대상이 아닌 객체가 원인이 되는 경우가 많았습니다. 이를 해결하기 위해, 외형적으로 유사하지만 검출 대상이 아닌 객체‘혼동 음성 샘플(Confusing Negative Sample)’로 정의하고 추가 학습 데이터로 활용했다.

이러한 혼동 음성 샘플은 모델이 검출 대상 객체의 경계를 더욱 명확히 구분할 수 있도록 한다.

쉽게 설명하자면, 동물을 처음 보는 사람에게 ‘말’을 보여주며 기억하게 한 후, 당나귀를 보여주었을 때 이를 ‘말’이 아니라고 판단할 수 있을까? 당연히 어려울 것이다. 하지만 ‘말’과 ‘당나귀’를 함께 보여주며, ‘당나귀’는 ‘말’이 아니라고 설명해준다면 구별이 가능해진다.

이와 마찬가지로, 모델이 Positive Sample(검출 대상 객체)과 혼동 음성 샘플(Confusing Negative Sample)을 함께 학습함으로써, 유사한 객체를 정확히 구분할 수 있도록 개선할 수 있었다.

이 과정을 통해 오검출률을 효과적으로 감소시키고, 모델의 실질적인 성능을 높일 수 있었다.

1.2.2 Active Learning

데이터 수집 과정에서 신뢰도가 낮은 샘플과 기존 데이터와 다른 새로운 유형의 샘플을 우선적으로 선택하여 학습 데이터의 다양성과 품질을 높였다. Active Learning은 모델이 스스로 학습에 필요한 데이터를 선택하도록 유도하는 접근법으로, 특히 대규모 로드뷰 데이터를 효율적으로 활용하고자 할 때 효과적이다. HD Map 구축을 위한 도로 환경 객체 검출 프로젝트에서는 다음과 같은 구체적인 Active Learning 전략을 적용했다.

  1. Uncertainty Sampling
    모델이 가장 불확실하게 예측하는 샘플(예: 신뢰도 점수가 낮거나 경계값에 가까운 객체)을 우선적으로 수집하고 검토했다. 특히 교통 표지판이나 도로 마커가 부분적으로 가려져 있거나, 조명 조건이 불량한 경우 등 모델이 불확실하게 예측하는 케이스를 우선적으로 선별했다. 이러한 Decision boundary 근처의 데이터를 수집해 추가 학습 데이터로 활용함으로써 모델이 경계에 위치한 객체를 더 잘 구분할 수 있도록 개선했다.

  2. Diversity Sampling
    Uncertainty Sampling과 함께, 데이터의 다양성을 확보하기 위해 기존 학습 데이터와 성격이 다른 객체를 우선적으로 선택했다. HD Map 구축을 위해서는 다양한 도로 환경에서의 데이터가 필요했다.

    특히, 자주 등장하는 데이터보다 자주 등장하지 않는 드문 데이터를 찾는데 초점을 기울였다. 이를 위해 모델의 embedding 결과를 분석하여 데이터 분포를 파악했다. 모델이 추출한 특징 벡터를 차원 축소 기법(PCA, t-SNE 등)을 통해 시각화하고, 기존 학습 데이터와 임베딩 공간에서 거리가 먼 샘플, 즉 드물게 나타나는 패턴이나 환경의 데이터를 우선적으로 선별했다. 예를 들어, 특이한 날씨 조건에서 촬영된 교통 표지판이나, 드물게 나타나는 도로 마커 패턴 등을 효과적으로 발견할 수 있었다.

    이를 통해 모델이 여러 환경에서의 교통 표지판과 도로 객체를 더 잘 인식할 수 있도록 일반화 성능을 강화할 수 있었다.

  3. Region of Interest (ROI) Prioritization
    영상에서 특정 관심 영역을 중심으로 데이터를 수집했다.
    • 도로 가장자리: 차선 마커와 도로 경계 정보가 중요한 영역
    • 교차로: 교통 표지판과 신호등이 집중된 영역
    • 도로 상단: 교통 표지판이 주로 위치하는 영역
    • 도로 표면: 차선, 화살표, 횡단보도 등 도로 마커가 위치하는 영역

    이러한 영역에서의 검출 정확도를 높이기 위해 우선 학습 데이터를 보강했다.

  4. Feedback Loop Integration
    라벨링이 완료된 데이터는 즉시 학습 과정에 추가되었으며, 업데이트된 모델의 성능을 모니터링해 새로운 데이터 수집 방향을 결정했다. 예를 들어, 학습 후에도 여전히 오검출이 발생하는 특정 도로 환경이나 객체 유형에 초점을 맞추어 추가 데이터를 수집했다. 이를 통해 모델이 지속적으로 개선되도록 하는 순환 구조를 구축했다.

1.3 검출 결과 필터링

학습 데이터를 충분히 보강하고 모델을 최적화했음에도, 특정 상황에서는 여전히 예기치 않은 오검출이 발생할 수 있다. HD Map 구축에서는 정확도가 매우 중요하므로, 이를 보완하기 위해 검출 결과 필터링을 적용했다.

검출된 객체의 위치, 크기, 비율 등을 기준으로 검출 결과를 추가로 검토해 불필요한 오검출을 줄였다.

  • 교통 표지판: 표준 크기와 비율 범위를 벗어나는 경우 필터링
  • 도로 마커: 도로 표면이 아닌 위치에 검출된 경우 필터링
  • 신호등: 신호등이 위치할 수 없는 영역(예: 지하)에 검출된 경우 필터링

또한, 이미지 세그멘테이션 결과를 활용해 검출된 객체가 적합한 위치에 있는지 검증하는 과정을 추가했다. 예를 들어, 도로 마커는 도로 세그멘테이션 영역 내에 있어야 하며, 교통 표지판은 도로 상단이나 측면 영역에 위치해야 한다. 세그멘테이션 데이터와 검출 결과를 함께 비교함으로써 더욱 정밀한 검출 성능을 확보할 수 있었다.

후처리는 단순한 규칙 기반 필터링이 아니라, 모델의 출력값에 대한 불확실성을 정량적으로 분석하고 이를 활용하여 검출 정확도를 높이는 방식으로 진행되었다. 특히 HD Map 구축에서는 오검출이 지도 품질에 직접적인 영향을 미치므로, 이러한 필터링 과정이 필수적이었다.

1.4 지속적 개선과 검증

모델 개발 과정은 단발성 작업으로 끝나지 않는다. 새로운 데이터를 지속적으로 추가하고, 오검출 사례를 분석하며, 반복적으로 모델을 재학습하고 검증하는 과정을 통해 모델 성능을 더욱 견고히 만들 수 있다.

이러한 데이터 중심 접근법과 모델 최적화 전략을 통해, 객체 검출 모델의 정밀도를 높이고 실제 환경에서 신뢰성 있는 결과를 얻을 수 있었다.

2. 통합 모델 개발을 통한 GPU 리소스 효율화

HD Map 구축을 위해서는 다양한 교통 표지판, 도로 마커, 신호등, 도로 구조물 등을 동시에 검출해야 한다. 초기에는 각 요청에 따라 특정 객체를 검출하는 개별 모델을 개발하는 방식으로 작업을 진행했다. 예를 들어, 속도 제한 표지판을 검출하는 모델, 차선 마커를 검출하는 모델, 신호등을 검출하는 모델 등을 각각 별도로 개발했다.

이 방식은 초기에는 각 객체에 특화된 모델을 만드는 데 유리했지만, 시간이 지나면서 문제점이 드러났다. HD Map 구축을 위해 하나의 로드뷰 이미지에서 여러 종류의 객체를 동시에 검출해야 하는데, 여러 모델이 하나의 이미지를 반복적으로 처리하게 되면서 GPU 리소스가 과도하게 사용되었고, 운영과 관리의 복잡도가 증가했다. 이를 해결하기 위해, 여러 객체를 하나의 모델로 검출할 수 있는 통합 검출 모델을 개발하기로 했다.

2.1 데이터셋 병합을 통한 통합 데이터셋 구축

통합 모델 개발의 첫 단계는 서로 분리된 학습 데이터셋을 통합하는 것이었다. 초기 데이터셋들은 특정 객체에 초점이 맞춰져 있어, 하나의 데이터셋에는 교통 표지판만 어노테이션되어 있고, 다른 데이터셋에는 도로 마커만 어노테이션되어 있는 경우가 많았다. HD Map 구축을 위해서는 같은 이미지에서 모든 객체를 동시에 검출할 수 있어야 하므로, 이러한 분리된 데이터셋을 통합하는 것이 필요했다. 이를 수동으로 병합하려면 많은 시간이 소요될 것으로 예상되었다.

이 문제를 해결하기 위해 cross inference 기법을 도입했다. 예를 들어, 교통 표지판을 검출하는 기존 모델로 도로 마커 데이터셋을 추론하여 해당 이미지에서 교통 표지판 어노테이션을 자동으로 생성하고, 반대로 도로 마커를 검출하는 모델로 교통 표지판 데이터셋을 추론하여 도로 마커 어노테이션을 자동으로 생성하는 방식이다. 이렇게 자동으로 병합된 데이터셋은 작업자가 추가로 검토하고 수정해 최종 통합 데이터셋의 완성도를 높였다.

이 과정을 통해 데이터셋 병합 작업에 소요되는 시간을 크게 단축할 수 있었고, 교통 표지판, 도로 마커, 신호등, 도로 구조물 등을 모두 포함하는 통합 모델을 학습시키는 데 필요한 데이터셋을 효율적으로 구축할 수 있었다.

2.2 Zero-shot Object Detection으로 새로운 객체 검출 니즈 대응

통합 모델을 개발하던 중, HD Map 구축에 필요한 새로운 객체를 검출해야 하는 요청이 발생했다. 예를 들어, 특정 지역의 고유한 교통 표지판이나 새로 설치된 도로 마커, 또는 기존에 검출하지 않던 도로 구조물 등이 그 예이다. 기존 방식대로 새로운 객체를 검출하려면 데이터셋을 처음부터 수집하고 학습하는 데 많은 시간이 필요했다. 이를 해결하기 위해 Zero-shot Object Detection 기술을 도입했다.

Zero-shot Object Detection은 텍스트 쿼리를 입력받아, 사전에 학습되지 않은 객체를 탐지할 수 있는 기술이다. HD Map 구축 맥락에서 예를 들면 아래와 같다.

  • “원형 빨간 교통 표지판”: 특정 형태의 교통 표지판 검출
  • “노란색 도로 마커”: 특정 색상의 도로 마커 검출
  • “터널 입구 구조물”: 도로 구조물 검출

이와 같은 텍스트 설명을 입력하면, 모델이 해당 객체를 이미지에서 찾아낸다. 이는 새로운 객체나 기존 데이터셋에 포함되지 않은 객체를 탐지할 때 매우 유용하다.

비록 Zero-shot 모델의 정확도가 전통적인 Supervised 방식의 모델에 비해 낮을 수 있지만, 해당 객체가 포함된 이미지만 빠르게 선별해내는 데는 충분히 효과적이었다. 이를 통해 새로운 교통 표지판이나 도로 마커에 대한 데이터셋을 빠르게 구축할 수 있었고, 통합 모델 개발 일정 또한 단축할 수 있었다.

2.3 통합 모델의 효과

통합 모델 개발로 인해 여러 개의 개별 모델을 운영하는 복잡한 환경이 단순화되었다. 이제 하나의 모델로 다양한 객체를 검출할 수 있게 되었으며, GPU 리소스 사용량도 크게 줄일 수 있었다.

더불어, 모델 관리와 운영의 효율성이 향상되었고, 추가적인 검출 요청에도 신속하게 대응할 수 있는 유연한 환경이 마련되었다. 이를 통해 모델 개발 프로세스 전반이 간소화되고, 전체적인 운영 효율성이 크게 개선되었다.


이번 포스팅에서는 도로 환경에서 HD Map 구축을 위한 객체 검출 모델 고도화와 통합 모델 개발을 통한 GPU 리소스 효율화 사례를 공유했다.

데이터 중심 접근법으로 오검출 문제를 해결하고, 다양한 필터링과 테스트를 통해 모델 성능을 검증하며 실제 도로 환경에서 신뢰성을 확보할 수 있었다. 특히 교통 표지판, 도로 마커, 신호등 등 HD Map 구축에 필수적인 객체들을 정확하게 검출할 수 있는 시스템을 구축했다.

또한, 통합 모델 개발을 통해 개별 모델 운영의 복잡성을 해결하고, GPU 리소스를 절감하며 효율적이고 관리가 용이한 환경을 조성할 수 있었다. 더불어 Zero-shot Object Detection과 같은 최신 기술을 활용해 새로운 교통 인프라나 도로 객체 검출 요구에도 신속히 대응할 수 있었다.

이러한 접근을 통해 HD Map 구축에 필요한 객체 검출 파이프라인을 효율적으로 운영할 수 있게 되었으며, 지속적으로 확장 가능한 시스템을 구축할 수 있었다.