Image processing/Lane detection

[2020] Ultra Fast Structure-aware Deep Lane Detection

유니디니 2020. 7. 21. 19:11
728x90
반응형

Abstract


최근, Lane Detection 분야에서 Image-segmentation 기반의 방법으로 다양한 환경 시나리오와 처리 속도 문제를 해결하기 위해 노력해왔다. 사람의 인지 시스템을 참고하여, 다양한 외부환경(Extreme lighting conditions)이나 심각한 가림(Severe occlusion) 조건을 Contextual, Global information을 이용하여 해결해 왔다. 본 논문에서는 row-based selecting 방법을 통해 영상 안의 Global 정보를 활용하였고, 계산 비용 또한 줄였다. 확장된 receptive field는 Global 정보를 얻을수 있게 하였고, 이를 바탕으로 다양한 외부환경 문제를 해결할 수 있었다.

두개의 Benchmark data-set(Tusimple, CULane)에서 State-of-the art의 성능을 보였으며, 300+ frames per second의 속도를 보였다.


Introduction


현재 Deep Segmentation 분야에서는 좋은 학습능력과 표현(Representation) 능력 때문에 큰 성공을 거둘수 있었다. 하지만, 자율주행에서 근본적인 구성요소 중 하나인 Lane Detection 기능에서는 Low Computational cost를 요구해오고 있다. 게다가, 다수의 카메라 입력이나 센서에 대한 처리를 수행해야하기 떄문에 낮은 연산량은 필수적이다. 


기존 연구에서는 Self-distilling(모델 압축 방법)을 통해 이러한 문제들을 해결해왔지만, Segmentation 방법의 특성상 dense prediction(픽셀단위 Segmentation)으로 인해 여전히 문제점을 가지고 있다. 또 다른 문제점은 그림 1과 같이 no-visual-clue라고 불리우는 심각한 가려짐(Occlusion)이나 극적인 빛 조건으로 인한 차선 탐지에서의 문제점이다.



이러한 경우, 차선에 대한 높은 수준의 Semantic 정보가 필요하다. 기존의 Deep segmentation 방법들은 image processing 방법들에 비해 Semantic 정보들을 잘 활용하기 때문에 좋은 성능을 보여왔지만, 픽셀단위 연산으로 인해 차선에 대한 Prior 정보(rigidity and smoothness)를 표현하는데 한계가 있어왔다.


Contribution 


- 차선 탐지(Lane detection)에서 속도를 높이고, no-visual-clue 문제를 해결하기 위해 새롭고, 단순하며 효율적인 Formulation을 제안하였다. Deep segmentation과 비교해보면, 제안된 방법이 ultra-fast한 특징을 가지고 있다. 또한, receptive field가 픽셀단위 연산에 비해 크기 때문에 global 특징들을 예측하는데 있어 유리하다. 이러한 방법으로 인해, no-visual-clue 방법 또한 다룰 수 있다. 

- 제안된 공식(Formulation)을 바탕으로 차선의 사전 정보들을 이용한 Structural loss를 제안하였다. 

- 제안된 방법은 정확도나 속도면에서 state-of-the-art의 성능을 보이고 있으며, 300+ FPS의 속도로 같은 해상도에서 기존 방법의 최대 4배의 효과를 보였다.


Method


본 논문에서 제안하는 새로운 공식과 차선 구조 손실함수(Structural losses)를 설명하고, High-level semantics와 Low-level visual information 특징들에 대한 결합방법을 소개하고자 한다.  


1. New formulation for lane detection



Definition of our Formulation : Row-based selecting method based on global image features에 대한 새로운 방법을 소개하고자 한다. 제안된 방법은 각각의 사전 정의된 row들에 대해 Global features를 이용하여 옳은 위치의 차선을 선택하는 것이다. 위치들을 나타내기 위한 첫번째 방법은 Gridding 하는 것입니다. 각각의 row anchor들에서 특정 위치의 그리드는 수많은 픽셀들로 나뉘게 되며, 차선을 탐지하는 것은 픽셀들로 이루어진 특정 그리드를 선택하는 것으로 정의 될 수 있습니다.

[수식 1]


수식 1에서 C는 차선의 최대 갯수, h는 row anchors의 수, w는 gridding cell들의 수, X는 global image feature, f(ij)는 i번째 차선, j번째 anchor에 대한 분류기를 나타낸다. P(ij)는 (w+1)차원의 벡터이며, i번째 차선, j번째 행 앵커에 대해 (w+1) 그리드 셀을 선택할 확률을 나타낸다. T(i,j)가 One-hot label이라고 가정하면 최적화 공식은 다음과 같이 정의할 수 있다. 


L(CE)는 교차 엔트로피 손실을 나타낸다. (w+1)로 차원에 대해 정의하는 이유는 차선이 없는 경우도 포함하기 때문이며, 위의 식을 통해서 Global features를 기반으로 각 행 앵커에 대한 모든 위치의 확률 분포를 예측한 다음, 확률 분포를 기반으로 차선에 대한 올바른 위치를 선택할 수 있다.


How the formulation achieves fast speed : 이 공식은 일반적인 segmenatation 방법들에 비해 속도가 빠르다. 이미지의 크기를 H x W라 가정한다면, 우리의 방법은 h << H, w << W와 같이 매우 작은 값을 가지며, 기존 segmentation 방법은 C+1 차원에 대한 H x W 연산을 수행한다. 그러나, 제안된 방법은 C x h 분할을 (w+1) 차원에 대해 수행하게 된다.  예를 들면, CULane 데이터 셋에 대하여 계산 비용을 비교해 보면, 우리의 방법은 (1.7 x 10의 4승)의 계산 비용이 들지만 픽셀단위로 수행하게 되면 (9.2 x 10의 5승)이 소모되며, 계산량이 상당히 줄어들며 속도가 빨라지는 것을 알 수 있다.


How the formulation handles no-visual-clue problem : 이 문제를 다루기 위해서는 타겟에 대한 정보가 없기 때문에, 다른 위치의 정보들을 이용해야 한다. 예를 들어, 차선이 차량에 의해 가려져 있지만 도로의 모양이나 또 다른 차선들, 심지어 차량의 주행 방향을 통해서 예측해야 한다. 학습의 관점에서 Structural loss를 이용하여 차선의 모양이나 방향등의 사전정보들을 통해 학습할 수 있다.

또 다른 이점은 행 기반의 방식으로 차선 위치를 모델링 하여 서로 다른 행간의 관계를 명시적으로 학습 할 수 있다는 점이다. 행 수준의 Low-level 픽셀단위 모델링과 차선의 High level 라인 구조로 인해 발생하는 Semantic Gap을 줄일 수 있다는 것이다. 


2. Lane Structural Loss


Classification loss 외에도, 차선 위치에 대한 포인트 학습을 목표로 하는 두가지 손실 함수를 제안한다. 
첫번째는 차선의 연속성이다. 즉 인접한 행 앵커의 차선 점이 서로 가까우며, 연속 특성은 인접한 행 앵커에 대한 분류 벡터의 분포를 제한하여 실현됩니다. 


두번째는 차선의 모양이다. 대부분의 차선은 직선이고, 커브 차선의 경우 원금감 효과로 인해 대부분 직선의 형태를 이룬다. 이 부분에서 직선의 경우 0이기 때문에, 2차 차분 방정식을 사용하여 차선의 모양을 제한합니다. 

(차선을 직선방정식으로 표현하면 3차원 방정식으로 표현할 수 있음)

                                           


차선의 인덱스는 i, row anchor index j, k는 차선의 위치 인덱스를 나타내며, 차선의 위치(Loc) 손실함수를 나타낸다. 그러나, argmax 함수는 미분이 불가능하기 때문에 다른 행 앵커사이의 관계를 설정하기 어렵다. 이 문제를 해결하기 위해 예측의 기대치를 위치의 근사치로 사용하도록 제안하며, softmax 함수를 사용합니다.

                                     


prob는 각 위치에 대한 차선의 확률을 나타낸다. Eq.4에서 배경 Gridding Cell은 포함되지 않기 때문에 1부터 w 차원까지만 연산을 수행한다. 위치에 대한 예측을 다시 정의하면 다음과 같다.

                               


3. Feature aggregation


차선에 대한 내부 관계를 통해 정의해보면 다음과 같이 손실함수를 정의 할 수 있다. context정보를 aggregation하기 위해 Auxiliary segmentation을 사용하였으며, cross entropy를 적용하였다. 

                                                      

cls는 segmentation loss를 나타내며 전체 손실함수는 식9와 같다. Auxiliary부분은 학습과정에서만 사용되기 때문에 테스트 부분에서는 제거된다. 따라서, 테스트 속도에서 향상된 값을 얻을 수 있었다. 


4. Data Augmentation

차선의 직선적인 특성과 오버피팅, validation 세트에서 poor 성능을 방지하기위해 적용되었다. 차선의 일부를 가리고 직선적인 기울기를 유지하는 방식으로 마킹을 수행하였으며, 기존의 방식인 rotation, 수직 수평 Shift등의 기법들이 사용되었다.


Experiment

학습데이터의 분포는 다음과 같다.


TuSimple


CULane

Result

Conclusion

Structural loss와 같은 새로운 공식을 제안하였으며, 이를 통해 높은 성능을 보였다.(Speed, accuracy) 제안된 방법은 행 기반의 global features를 사용하였으며, 속도와 no-visual-clue 문제를 해결하였다. 제안된 모델은 Resnet-34 백본 모델로 사용하여 state-of-art의 성능을 보였으며, Resnet-18의 경우 fps 322.5의 속도를 달성하였다. 

반응형