시각적 내비게이션 시스템에서 차선 감지는 중요한 기능입니다. 자율주행, 첨단운전자보조시스템(ADAS) 등 애플리케이션에 큰 영향을 미칠 뿐만 아니라, 스마트 차량의 자체 위치 확인 및 안전 운전에도 핵심적인 역할을 합니다. 따라서 차선검출 기술의 개발은 교통시스템의 지능화 및 안전성 향상에 매우 중요한 의미를 갖는다.
차선 감지에는 고유한 로컬 패턴이 있고 네트워크 이미지에서 차선 정보를 정확하게 예측해야 하며 정확한 위치 파악을 위해 상세한 하위 수준 기능을 사용합니다. 따라서 차선 검출은 컴퓨터 비전에서 중요하고 어려운 작업으로 간주될 수 있습니다.
정확한 차선 감지를 위해서는 다양한 기능 수준을 사용하는 것이 매우 중요하지만 할인 작업은 아직 탐색 단계입니다. 본 논문에서는 차선 감지에서 상위 수준 및 하위 수준 기능을 완벽하게 활용하는 것을 목표로 하는 CLRNet(Cross-Layer Refinement Network)을 소개합니다. 첫째, 높은 수준의 의미적 특징으로 차선을 탐지한 다음, 낮은 수준의 특징을 기반으로 정제합니다. 이 접근 방식은 더 많은 상황 정보를 활용하여 차선을 감지하는 동시에 로컬 세부 차선 기능을 활용하여 위치 지정 정확도를 향상시킬 수 있습니다. 또한 ROIGather를 통해 전역 컨텍스트를 수집하면 차선의 특징 표현이 더욱 향상될 수 있습니다. 완전히 새로운 네트워크를 설계하는 것 외에도 라인 IoU 손실도 도입되어 차선을 전체 단위로 회귀하여 위치 확인 정확도를 향상시킵니다.
앞서 언급했듯이 Lane은 높은 수준의 의미론을 가지지만 특정 지역 패턴을 가지고 있기 때문에 이를 정확하게 찾으려면 세부적인 하위 수준 기능이 필요합니다. CNN에서 다양한 기능 수준을 효과적으로 활용하는 방법은 여전히 문제로 남아 있습니다. 아래 그림 1(a)에서 볼 수 있듯이 랜드마크와 차선은 서로 다른 의미를 갖지만 유사한 특성(예: 긴 흰색 선)을 공유합니다. 높은 수준의 의미론과 글로벌 컨텍스트가 없으면 둘을 구별하기가 어렵습니다. 반면 지역성도 중요하고 골목이 길고 가늘며 지역적 패턴이 단순하다.
그림 1(b)에서는 차선이 성공적으로 감지되었으나 정확도가 향상되어야 합니다. 따라서 낮은 수준의 정보와 높은 수준의 정보를 결합하면 서로 보완할 수 있어 보다 정확한 차선 감지가 가능합니다.
차선 감지의 또 다른 일반적인 문제는 차선 존재에 대한 시각적 정보가 부족하다는 것입니다. 경우에 따라 다른 차량이 차선을 점유하여 차선 감지가 어려울 수 있습니다. 또한 극단적인 조명 조건에서는 차선 인식이 어려워질 수 있습니다.
이전 작업은 차선의 로컬 기하학을 모델링하여 이를 전역 결과에 통합하거나 차선을 예측하기 위해 전역 기능을 갖춘 완전히 연결된 레이어를 구축합니다. 이러한 감지기는 차선 감지를 위한 로컬 또는 전역 기능의 중요성을 입증했지만 두 기능을 동시에 활용하지 않으므로 감지 성능이 부정확할 수 있습니다. 예를 들어 SCNN과 RESA는 전역 컨텍스트를 수집하기 위한 메시지 전달 메커니즘을 제안하지만 이러한 방법은 픽셀 수준 예측을 수행하고 차선을 전체 단위로 처리하지 않습니다. 결과적으로, 이들의 성능은 많은 최첨단 감지기에 비해 뒤떨어집니다.
차선 감지를 위해서는 하위 수준 기능과 상위 수준 기능이 상호보완적입니다. 이를 기반으로 본 논문에서는 차선 감지에 하위 수준 기능과 상위 수준 기능을 최대한 활용하기 위한 새로운 네트워크 아키텍처(CLRNet)를 제안합니다. 첫째, ROIGather를 통해 글로벌 컨텍스트가 수집되어 차선 특징의 표현을 더욱 향상시키며, 이는 다른 네트워크에도 삽입될 수 있습니다. 둘째, 차선 감지에 맞춰진 LIoU(Line over Union) 손실을 통해 차선을 전체 단위로 회귀하고 성능을 크게 향상시킬 수 있습니다. 다양한 감지기의 위치 정확도를 더 잘 비교하기 위해 새로운 mF1 표시기도 사용됩니다.
CNN 기반 차선 감지는 현재 크게 분할 기반 방법, 앵커 기반 방법, 매개변수 기반 방법의 세 가지 방법으로 구분됩니다. 이러한 방법은 차선 표현을 기반으로 식별합니다.
1. 분할 기반 방법
이 유형의 알고리즘은 일반적으로 픽셀별 예측 공식을 채택합니다. 즉, 차선 감지는 의미론적 분할 작업으로 간주됩니다. SCNN은 시각적으로 감지할 수 없는 물체 문제를 해결하기 위해 차선에 존재하는 강력한 공간 관계를 포착하는 메시지 전달 메커니즘을 제안합니다. SCNN은 차선 감지 성능을 크게 향상시키지만 실시간 적용에는 속도가 느립니다. RESA는 네트워크가 글로벌 기능을 수집하고 성능을 향상시킬 수 있는 실시간 기능 집계 모듈을 제안합니다. CurveLane-NAS에서는 NAS(신경 아키텍처 검색)를 사용하여 곡선 차선 감지를 용이하게 하기 위해 정확한 정보를 캡처하는 더 나은 네트워크를 찾습니다. 그러나 NAS는 계산 비용이 매우 높으며 GPU 시간도 많이 필요합니다. 이러한 분할 기반 방법은 전체 이미지에 대해 픽셀 수준 예측을 수행하고 차선을 전체 단위로 고려하지 않기 때문에 비효율적이고 시간이 많이 걸립니다.
2. 앵커 기반 방법
차선 감지에서 앵커 기반 방법은 라인 앵커 기반 방법과 행 앵커 기반 방법의 두 가지 범주로 나눌 수 있습니다. 라인 앵커 기반 방법은 정확한 차선을 회귀하기 위한 참조로 사전 정의된 라인 앵커를 사용합니다. Line-CNN은 차선 감지에 선과 코드를 사용하는 선구적인 작업입니다. LaneATT는 글로벌 정보를 집계할 수 있는 새로운 앵커 기반 주의 메커니즘을 제안합니다. 이는 최첨단 결과를 달성하고 높은 효능과 효율성을 보여줍니다. SGNet은 새로운 소실점 유도 앵커 생성기를 도입하고 여러 구조 가이드를 추가하여 성능을 향상시킵니다. 행 앵커 기반 방법의 경우 이미지의 미리 정의된 각 행에 대해 가능한 셀을 예측합니다. UFLD는 먼저 차선 앵커 기반의 차선 검출 방법을 제안하고, 높은 추론 속도를 달성하기 위해 경량 백본 네트워크를 채택했습니다. 간단하고 빠르지만 전체적인 성능은 좋지 않습니다. CondLaneNet은 조건부 컨볼루션과 행 앵커 기반 공식을 기반으로 하는 조건부 차선 탐지 전략을 도입합니다. 즉, 차선의 시작점을 먼저 찾은 다음 행 앵커 기반 차선 탐지를 수행합니다. 그러나 일부 복잡한 시나리오에서는 시작점을 식별하기 어렵기 때문에 상대적으로 성능이 저하됩니다.
3. 매개변수 기반 방법
매개변수 기반 방법은 점 회귀와 달리 매개변수를 사용하여 차선 곡선을 모델링하고 이 매개변수를 회귀하여 차선을 감지합니다. PolyLaneNet은 다항식 회귀 문제를 채택하여 높은 효율성을 달성합니다. LSTR은 도로 구조와 카메라 포즈를 고려하여 차선 형태를 모델링한 다음 차선 감지 작업에 Transformer를 도입하여 전역 특징을 얻습니다.
매개변수 기반 방법은 회귀하는 데 더 적은 수의 매개변수가 필요하지만 예측 매개변수에 민감합니다. 예를 들어 고차 계수를 잘못 예측하면 차선 모양이 변경될 수 있습니다. 매개변수 기반 방법은 추론 속도가 빠르지만 여전히 더 높은 성능을 달성하는 데 어려움을 겪고 있습니다.
이 기사에서는 새로운 프레임워크인 CLRNet(Cross-Layer Refinement Network)이 도입되었습니다. 차선 감지 감지. 특히 차선의 대략적인 위치를 찾기 위해 높은 의미론적 특징을 먼저 감지합니다. 그런 다음 세부 특징을 기반으로 차선 위치와 특징 추출을 점진적으로 개선하여 고정밀 감지 결과(즉, 보다 정확한 위치)를 얻습니다. 육안으로 감지할 수 없는 차선 사각지대 문제를 해결하기 위해 ROI 차선 특징과 전체 특징 맵 간의 관계를 구축하여 더 많은 전역 상황 정보를 수집하는 ROI 수집기를 도입합니다. 또한, 차선의 Intersection-over-Union Ratio IoU도 정의하고 차선을 전체 단위로 회귀시키기 위해 Line IoU(LIoU) 손실을 제안하여 표준 손실에 비해 성능을 크게 향상시킵니다. -l1 손실).
그림 2. CLRNet 개요
위 그림은 본 글에서 소개한 CLRNet 알고리즘을 이용한 차선 IoU 처리를 위한 전체 프론트엔드 네트워크를 보여준다. 그 중 그림 (a)의 네트워크는 FPN 구조로부터 특징 맵을 생성합니다. 그 후, 이전의 각 차선은 높은 수준의 기능에서 낮은 수준의 기능으로 구체화됩니다. 그림 (b)는 각 헤드가 차선에 대한 사전 기능을 얻기 위해 더 많은 상황 정보를 활용한다는 것을 나타냅니다. 그림 (c)는 분류 및 회귀 이전의 차선을 보여줍니다. 본 글에서 제안하는 Line IoU 손실은 회귀 성능을 더욱 향상시키는 데 도움이 됩니다.
다음에서는 이 글에서 소개한 알고리즘의 작동 과정을 좀 더 자세히 설명하겠습니다.
1. 레인 네트워크 표현
우리 모두 알고 있듯이 실제 도로의 차선은 얇고 길다. 이 특징 표현은 강력한 모양 사전 정보를 가지므로 사전 정의된 차선 사전은 네트워크가 차선을 더 잘 찾는 데 도움이 될 수 있습니다. 기존 객체 감지에서는 객체가 직사각형 상자로 표시됩니다. 그러나 모든 종류의 직사각형 상자는 긴 선을 표현하는 데 적합하지 않습니다. 여기서는 등거리 2D 점을 차선 표현으로 사용합니다. 구체적으로, 차선은 점들의 순서로 표현된다. 즉, P = {(x1, y1),···,(xN, yN)}이다. 점의 y 좌표는 이미지의 수직 방향으로 균일하게 샘플링됩니다. 즉, , 여기서 H는 이미지 높이입니다. 따라서 x 좌표는 해당 과 연관되며 이 표현을 여기서는 Lane-first라고 합니다. 이전의 각 차선은 네트워크에 의해 예측되며 다음 네 부분으로 구성됩니다.
(1) 전경 및 배경 확률.
(2) 차선 길이가 우선입니다.
(3) 차선의 시작점과 이전 차선의 x축(x, y 및 θ라고 함) 사이의 각도입니다.
(4) N 오프셋, 즉 예측과 실제 값 사이의 수평 거리입니다.
2. 교차 계층 개선 동기
신경망에서 깊은 상위 수준 기능은 더 많은 의미론적 기능을 사용하여 도로 대상에 더 강력한 피드백을 보여주는 반면, 얕은 하위 수준 기능은 더 많은 로컬 상황 정보를 제공합니다. 차선 객체가 상위 수준 기능에 액세스할 수 있도록 허용하는 알고리즘은 차선 또는 랜드마크 구별과 같은 보다 유용한 상황 정보를 활용하는 데 도움이 될 수 있습니다. 동시에 미세한 세부 기능은 높은 위치 정확도로 차선을 감지하는 데 도움이 됩니다. 객체 감지에서는 ConvNet 기능 계층의 피라미드 모양을 활용하기 위해 기능 피라미드를 구축하고 다양한 규모의 객체를 다양한 피라미드 수준에 할당합니다. 그러나 레인에는 상위 레벨 기능과 하위 레벨 기능이 모두 중요하므로 레인을 한 레벨에만 직접 할당하는 것은 어렵습니다. Cascade RCNN에서 영감을 받아 차선 객체를 모든 레벨에 할당하고 개별 차선을 순차적으로 감지할 수 있습니다.
특히 고급 기능을 갖춘 차선을 감지해 대략적인 차선 위치를 파악할 수 있습니다. 감지된 알려진 차선을 기반으로 보다 세부적인 기능을 사용하여 이를 개선할 수 있습니다.
3. 정제된 구조
전체 알고리즘의 목표는 ConvNet의 피라미드 기능 계층(낮은 수준에서 높은 수준까지의 의미)을 활용하고 항상 높은 수준의 기능 피라미드를 구축하는 것입니다. -레벨 의미론. ResNet은 백본으로 사용되며 FPN에서 생성된 기능 수준을 나타내기 위해 {L0, L1, L2}가 사용됩니다.
그림 2에서 볼 수 있듯이 교차 계층 세분화는 가장 높은 레벨 L0에서 시작하여 점차 L2에 접근합니다. 해당 세분화는 {R0,R1,R2}를 사용하여 표현됩니다. 그런 다음 일련의 세련된 구조 구축을 진행할 수 있습니다.
여기서 t = 1, · · · , T, T는 총 세분화 수입니다.
전체 방법은 높은 의미론으로 최상위 계층에서 감지를 수행하며, Pt는 차선 이전의 매개변수(시작점 좌표 x, y 및 각도 θ)이며 영감을 받아 자가 학습합니다. 첫 번째 레이어 L0의 경우 P0는 이미지 평면에 균일하게 분포되고, Thinning Rt는 Pt를 입력으로 사용하여 ROI 레인 특징을 얻은 다음 두 개의 FC 레이어를 수행하여 Thinning 매개변수 Pt를 얻습니다. 차선 사전 정보와 특징 정보 추출을 점진적으로 세분화하는 것은 교차 레이어 세분화에 매우 중요합니다. 이 방법은 FPN 구조에만 국한되지 않고 ResNet만 사용하거나 PAFPN을 채택하는 것도 적합합니다.
4. ROI 수집
각 특징 맵에 차선 사전 정보를 할당한 후 ROI Align 모듈을 사용하여 차선 사전 특징을 얻을 수 있습니다. 그러나 이러한 기능에 대한 상황별 정보는 아직 충분하지 않습니다. 경우에 따라 극단적인 조명 조건에서 차선 인스턴스가 점유되거나 가려질 수 있습니다. 이 경우, 차선의 존재를 나타내는 로컬 시각적 실시간 추적 데이터가 없을 수 있습니다. 픽셀이 차선에 속하는지 확인하려면 근처의 특징을 살펴봐야 합니다. 최근 일부 연구에 따르면 원격 종속성을 완전히 활용하면 성능이 향상될 수 있는 것으로 나타났습니다. 따라서 차선 특징을 더 잘 학습하기 위해 더 유용한 상황 정보를 수집할 수 있습니다.
이를 위해 먼저 차선을 따라 컨볼루션 계산을 수행하여 이전에 차선에 있는 각 픽셀이 근처 픽셀로부터 정보를 수집하고 이 정보를 기반으로 점유된 부분을 향상시킬 수 있습니다. 또한, 차선 사전 특징과 전체 특징 맵 간의 관계가 설정됩니다. 따라서 더 나은 특징 표현을 학습하기 위해 더 많은 상황별 정보를 활용할 수 있습니다.
전체 ROI 수집 모듈 구조는 가볍고 구현이 쉽습니다. 입력으로 기능 맵과 레인 사전을 사용하므로 각 레인 사전에는 N 포인트가 있습니다. Bounding Box의 ROI Align과 다르게, 각 차선 사전 정보 수집에 대해서는 먼저 ROI Align에 따른 차선 사전 ROI 특징(Xp ∈ RC×Np)을 구해야 합니다. 이전 차선에서 균일하게 Np 포인트를 샘플링하고 쌍선형 보간을 사용하여 이러한 위치에서 입력 특징의 정확한 값을 계산합니다. L1과 L2의 ROI 특징의 경우 이전 레이어의 ROI 특징을 연결하여 특징 표현을 향상시킬 수 있습니다. 추출된 ROI 특징을 컨볼루션하여 각 차선 픽셀의 주변 특징을 수집할 수 있습니다. 메모리를 절약하기 위해 여기서는 완전 연결을 사용하여 레인 사전 특징(Xp ∈ RC×1)을 추가로 추출하고, 여기서 특징 맵의 크기는 Xf∈로 계속해서 평면화될 수 있습니다. RC×HW. 사전 특징이 있는 차선의 전역적 상황 정보를 수집하기 위해서는 먼저 ROI 차선 사전 특징(Xp)과 작성된 전역 특징 맵(Xf) 간의 주의 행렬 W를 계산해야 합니다. as:
여기서 f는 정규화 함수 소프트 맥스입니다. 집계된 특징은 다음과 같이 작성할 수 있습니다.
출력 G는 Xf의 모든 위치에서 선택된 Xp의 Xf 중첩 값을 반영합니다. 마지막으로 출력이 원래 입력 Xp에 추가됩니다.
ROIGather가 네트워크에서 어떻게 작동하는지 추가로 보여주기 위해 주의 맵에 대한 ROIGather 분석이 그림 3에 시각화되어 있습니다. 이는 이전 차선의 ROI 특징과 전체 특징 맵 사이의 주의를 보여줍니다. 주황색 선은 이전 해당 차선이고 빨간색 영역은 주의 가중치의 높은 점수에 해당합니다.
그림 3. ROIGather의 어텐션 가중치 그림
위 그림은 레인 사전(주황색 선)의 ROI 특징과 전체 특징 맵 간의 어텐션 가중치를 보여줍니다. 색상이 밝을수록 가중치 값이 커집니다. 특히, 제안된 ROIGather는 풍부한 의미 정보를 통해 전역 컨텍스트를 효과적으로 수집하고, 가려진 상황에서도 전경 차선의 특징을 포착할 수 있습니다.
5. 차선 선 교차점 및 결합 비율 IoU 손실
위에서 언급했듯이 사전 차선은 실제값으로 회귀해야 하는 개별 지점으로 구성됩니다. 이러한 점을 회귀하기 위해 Smooth-l1과 같은 일반적인 거리 손실을 사용할 수 있습니다. 그러나 이 손실은 포인트를 별도의 변수로 처리하는데, 이는 지나치게 단순화된 가정이며 덜 정확한 회귀 결과를 가져옵니다.
거리 손실과 달리 IoU(Intersection over Union)는 전체 단위로 차선 이전을 회귀할 수 있으며 평가 지표에 맞게 조정됩니다. 여기서는 LIoU(Line Over Union) 손실을 계산하기 위한 간단하고 효율적인 알고리즘이 파생됩니다.아래 그림과 같이 샘플링된 xi 위치에 따라 확장된 세그먼트의 IoU를 통합하여 선 교차점과 결합 비율 IoU를 계산할 수 있습니다.
그림 4. 선 IoU 다이어그램
위 그림의 수식과 같이 선분 교차 비율 IoU의 정의에서 시작하여 선 IoU 손실이 도입됩니다. 두 선분 사이의 상호작용과 합집합의 비율. 그림 4에 표시된 대로 예측 차선의 각 지점에 대해 먼저 반경 e를 갖는 선분으로 확장(xpi
)합니다. 그런 다음 확장된 선분과 해당 실측 진실 간의 IoU를 다음과 같이 계산할 수 있습니다.여기서 xpi - e, xpi + e는 xpi i + e의 확장 지점입니다. + e는 해당 실측 지점입니다. d0i는 음수일 수 있으며, 이는 겹치지 않는 선분의 경우 효율적인 정보 최적화를 가능하게 합니다. 그러면 LIoU는 무한한 라인 포인트의 조합이라고 볼 수 있습니다. 식을 단순화하고 계산하기 쉽도록 이산형으로 변환합니다. 그러면 LIoU 손실은 다음과 같이 정의됩니다. 완벽하게 겹치면 LIoU = 1입니다. 두 선이 멀리 떨어져 있으면 LIoU는 -1로 수렴합니다. Line IoU 손실을 통한 차선 상관 관계 계산은 두 가지 장점이 있습니다. (1) 간단하고 미분 가능하며 병렬 컴퓨팅 구현이 쉽습니다. (2) 차선 전체를 예측하여 전반적인 성능 향상에 도움을 줍니다. 6. 학습 및 추론 세부정보
먼저 순방향 샘플 선택이 수행됩니다. 훈련 과정에서 각 실제 차선에는 긍정적인 샘플로 하나 이상의 예측 차선이 동적으로 할당됩니다. 특히 예측 레인은 다음과 같이 정의되는 할당 비용에 따라 정렬됩니다. 여기서 Ccls는 예측과 레이블 사이의 중심 비용입니다. Csim은 예측 차선과 실제 차선 간의 유사성 비용입니다. 세 부분으로 구성되며, Cdis는 모든 유효한 차선 지점의 평균 픽셀 거리를 나타내고, Cxy는 시작점 좌표의 거리를 나타내며, Ctheta는 세타 각도의 차이를 모두 [0, 1]로 정규화합니다. wcls 및 wsim은 정의된 각 구성 요소의 가중치 계수입니다. 각 지상 실제 차선에는 C할당에 따라 예측 차선의 동적 번호(top-k)가 할당됩니다. 둘째, 훈련손실이 있습니다. 훈련 손실에는 분류 손실과 회귀 손실이 포함되며, 여기서 회귀 손실은 지정된 샘플에 대해서만 계산됩니다. 전체 손실 함수는 다음과 같이 정의됩니다. Lcls는 예측과 레이블 간의 초점 손실이고, Lxytl은 시작점 좌표, 세타 각도 및 차선 길이의 회귀에 대한 부드러운 l1 손실이며, LLIoU는 예측 차선 사이입니다. 라인 IoU 손실에 대한 실제 정보입니다. 보조 분할 손실을 추가하여 훈련 중에만 사용되며 추론 비용이 없습니다. 마지막으로 효과적인 추론에 관한 것입니다. 분류 점수로 임계값을 설정하여 배경 차선(낮은 점수 차선 이전)을 필터링하고 나중에 nms를 사용하여 높은 중복 차선을 제거합니다. 일대일 할당을 사용하는 경우(즉, top-k = 1로 설정하는 경우) nms가 필요하지 않을 수도 있습니다. 요약
위 내용은 CLRNet: 자율 주행 차선 감지를 위해 계층적으로 개선된 네트워크 알고리즘의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!