차선인식

4-1 CLRNet 논문 요약

newnewnewnew 2026. 6. 18. 11:58

문제 의식

  • 차선은 high-level semantics를 가진 객체임
    • 왜냐하면 차선을 인식하려면 도로 상황과 구조를 이해해야 하기 때문
    • 차선은 픽셀 수준에서는 단순한 흰색/노란색이지만 해당 픽셀이 횡단보도인지 반사광인지, 노면 균열인지 구분하기 어려우며, 차선은 차량, 그림자 등으로 일부가 가려지는 경우가 많기 때문에 도로 구조와 주변 문맥을 바탕으로 이어지는 위치를 추론해야 함
  • 또한 차선은 semantic 정보와 함께 정확한 위치 localization이 중요함
  • 즉 차선 인식은 high-level feature와 low-level feature를 함께 활용해야 하지만 해당 연구가 미비함

핵심 아이디어

  • CLRNet은 high-level feature와 low-level feature를 모두 활용하여 차선 인식의 정확도를 높이는 것이 목표
1. lane prior 기반 차선 후보 표현(처음 제안은 X)
2. high-level feature에서 시작해 low-level feature로 점진적으로 refine하는 Cross Layer Refinement
3. local lane feature와 global context를 결합하는 ROIGather
4. 차선 전체 형태를 고려하는 Line IoU loss

차선 표현 

  • 차선 정의
    • 차선을 일반적으로 길고 얇은 선 형태임
    • 따라서 여러 개의 2D point sequence로 표현가능
      • 차선 하나를 아래와 같이 표현 가능
      • 이때 y는 이미지 세로 방향으로 균등하게 샘플링 된 좌표 => x만 예측하면 됨 
      •  P = {(x1, y1), (x2, y2), ..., (xN, yN)}
  • Lane Prior
    • 차선이 있을 법한 초기 후보선
      • start_y, start_x, theta로 정의됨
    • 차선은 형태가 강하게 정의되어 있음
      • 대부분 아래에서 위로 길게 이어짐
      • 갑자기 아무 방향으로 꺾이지 않음
      • 도로 구조를 따라 일정한 형태를 가짐
    • 따라서 완전히 자유롭게 픽셀마다 예측하는 것보다 차선이 있을 법한 후보선을 먼저 두고 보정하는 것이 유리함

  • 입력 이미지 -> Backbone -> FPN -> Lane prior 기반 feature sampling -> RoIGather -> cls/reg head -> 출력 결과

Cross Layer Refinement

  • high-level feature에서 lane prior를 기반으로 차선 후보를 먼저 만들고 더 해상도 높은 low-level feature를 이용해 그 후보를 단계적으로 정제하는 구조 (L0->L1->L2를 통해 P를 점차 정제)
  • Refinement structure
    • CLRNet은 ConvNet의 feature pyramid 구조를 활용
      • ConvNet의 깊은 layer는 semantic 정보가 강하고, 앝은 layer는 위치 정보가 더 세밀함
      • FPN에서 추출된 feature level L0, L1, L2를 사용함(L0은 가장 high-level feature, L2가 가장 low-level feature)
    • 전체 흐름은아래수식과같다
      •  Pt = P(t-1) ∘ Rt(L(t-1), P(t-1))
      • P : lane prior, R : refinement, L : feature layer(map), t : 시점, ∘ : 기존 prior과 refinement 결과를 합쳐서 새로운 prior 만드는 연산
      • 이전 stage의 lane prior를 현재 feature layer에서 refinement로 정제하여 새로운 lane prior를 만듦
  • stage 내부의 흐름(refinement 관점)
    • 각 stage에서 head가 예측한 보정값으로 기존 prior의 start_y, start_x, theta를 보정
    • 보정된 prior를 이용하여 72개 y위치에 대한 새로운 prior line을 만듬
    • 새로운 prior line을 다음 stage의 prior로 전달
    • 현재 stage의 최종 prediction은 현재 prior line에 head가 예측한 72개 offset을 더해서 만듬

=> prior와 featrure extraction 위치를 stage마다 갱신하는 것이 cross layer refinement의 핵심임

'차선인식' 카테고리의 다른 글

5-1. 최적화 프로젝트  (0) 2026.06.22
4-2 CLRNet 논문 요약  (0) 2026.06.18
3. CLRNet 모델 처리 흐름  (0) 2026.06.17
2. CLRNet Lane Prior 정리  (0) 2026.06.17
1. CLRNet 입력, 출력 처리(CULane Dataset)  (0) 2026.06.17