단일 CNN 기반 AVM 영상에서의 주차 구획 검출 및 분할 동시 수행
Copyright Ⓒ 2024 KSAE / 224-02
This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium provided the original work is properly cited.
A part of this paper was presented at the KSAE 2023 Fall Conference and Exhibition
Abstract
This paper proposed a method to perform parking slot detection and segmentation simultaneously through a deep neural network that uses around view monitor(AVM) images. The proposed method used an end-to-end, trainable, one-stage convolutional neural network(CNN) to detect locations, orientations, types, and occupancies of parking slots while performing segmentation on parking slot markings. Moreover, this paper suggested an alternating training method that could effectively train a single network to perform two tasks(detection and segmentation) in situations with a label imbalance problem between the detection and segmentation datasets. In experiments, the proposed method was quantitatively evaluated by using two public AVM image datasets. Results confirmed that the proposed model, which performed both detection and segmentation simultaneously, exhibited superior or similar performance compared to models that performed either detection or segmentation only.
Keywords:
Automatic parking system, Parking slot detection, Parking slot segmentation, Convolutional neural network, Around view monitoring(AVM)키워드:
자동 주차 시스템, 주차 구획 검출, 주차 구획 분할, 합성곱 신경망, 어라운드 뷰 모니터링1. 서 론
최근 자율 주행 기술의 발전과 더불어 이의 한 분야인 자동 주차에 대해서도 활발한 기술 개발이 진행 중이다. 자동 주차 시스템에서 가장 첫 번째로 수행되어야 하는 작업은 차량 주변의 주차 가능한 공간을 정확하게 인식하는 것이다.
주차 가능한 공간을 인식하는 대표적인 방법으로는 빈 공간 기반(Free space-based) 방법과 주차 구획 기반(Slot marking-based) 방법이 있다. 빈 공간 기반 방법은 주차 가능한 공간 주변에 차량이나 기둥, 벽 등이 존재한다고 가정하고 초음파, 라이다 등의 센서를 사용하여 주차 공간을 인식하는 방법이다. 주차 구획 기반 방법은 주로 카메라 센서를 사용하여 주차 구획 선 검출을 통해 주차 공간을 인식하는 방법이다. 이 방법은 주변 차량이나 기둥, 벽 등의 존재 유무에 영향을 받지 않는다는 장점을 갖는다. 또한, AVM(Around View Monitoring)1,2) 시스템과 같은 카메라 기반 제품의 보급으로 인해 많은 연구 개발이 이루어지고 있다. 특히, 영상을 기반으로 하는 주차 구획 기반 방법은 딥러닝 기술의 발전으로 성능이 크게 향상되었다.
딥러닝 기반의 대표적인 방법으로는 주차 구획 검출(Detection) 방식과 주차 구획 분할(Segmentation) 방식이 있다. 주차 구획 검출은 주로 주차 구획 입구의 양쪽 코너를 의미하는 정션(Junction)을 주요 검출 대상으로 사용하며, 이를 통해 주차 구획의 위치와 방향에 대한 정보를 얻는다. 그 외에도, 주차 구획의 여러 특징 정보를 이용하여 유형 및 점유 여부 등의 다양한 정보를 함께 얻을 수 있다는 장점이 있다. 주차 구획 분할은 주차 구획의 경계를 정확하게 알 수 있고, 주차 구획의 정션 등 일부분이 가려져도 전체적인 주차 구획의 정보를 연속적으로 얻을 수 있다는 장점이 있다.
이처럼, 주차 구획 검출과 분할은 각각 다른 장점을 가지고 있으므로 함께 수행된다면 자동 주차 시스템에 필요한 다양한 정보를 더욱 풍부하게 얻을 수 있다. 그러나 리소스가 한정적인 차량 임베디드 환경에서 검출 네트워크와 분할 네트워크를 개별적으로 사용하는 것은 비효율적이기 때문에 하나의 네트워크에서 두 가지 작업을 동시에 수행하는 연구가 필요하다. 하지만 지금까지의 연구 동향을 면밀히 살펴보면 주차 구획 검출과 분할은 각각 별도로 연구되어 왔으며, 하나의 네트워크에서 두 작업을 동시에 수행하는 연구는 없었다.
따라서 본 논문에서는 AVM 영상에서 주차 구획 검출 및 분할을 동시에 수행할 수 있으며, 종단간(End-to-end) 학습이 가능한 합성곱 신경망(Convolutional Neural Network, CNN) 기반 모델을 제안한다. 또한, 다중 작업을 수행하는 딥러닝 모델을 효과적으로 학습시키기 위한 교대 학습(Alternating training) 방법도 함께 제안한다.
제안된 방법은 AVM 영상으로 구성된 공개 데이터셋인 PS2.03)과 PSV23)에서 정량적으로 평가되었다. 평가 결과, 제안된 방법은 주차 구획 검출만을 수행하는 모델보다 우수한 검출 성능을 보이는 동시에 주차 구획 분할만을 수행하는 모델과는 동일한 분할 성능을 보였다. 이를 통해 제안된 방법이 단일 CNN 모델을 기반으로 주차 구획 검출과 분할을 동시에 효과적으로 수행할 수 있다는 것을 확인하였다.
2. 관련 연구
기존 연구에서는 주차 구획 검출과 분할이 별도의 개별적인 주제로 다루어져 왔다. 따라서 본 논문에서는 두 주제에 대한 기존 연구들을 각각 소개한다.
2.1 주차 구획 검출 연구
주차 구획 검출은 대표적으로 Multi-stage 방법과 One-stage 방법으로 분류할 수 있다.
Multi-stage 방법 중 딥러닝과 기하학적 규칙을 함께 사용하는 방법에는 다음과 같은 연구들이 있다. Zhang 등3)과 Huang 등4)은 주차 구획 검출에 딥러닝을 사용한 초기 방법들이다. 이들은 CNN으로 정션을 검출하고, 기하학적 규칙을 기반으로 정션을 조합하여 주차 구획을 검출한다. Li 등5)은 앞선 두 방법들과 유사하게 주차 구획을 검출한 후, 검출된 결과에 추가 CNN에 적용하여 주차 구획의 위치, 방향, 유형, 점유 여부를 알아낸다. Wu 등6)은 두 개의 CNN으로 정션을 검출하고 Circular descriptor로 정션의 방향을 알아낸 후 이들을 조합하여 주차 구획을 검출한다. Huang 등7)은 Faster R-CNN으로 주차 구획을 대략적으로 검출한 후, 에지 및 이진 영상을 기반으로 주차 구획 검출 결과를 정교하게 추정한다. Zheng 등8)은 Self-calibration convolution network으로 주차 구획 입구의 중심을 추정하고, Multibin 방법으로 입구선과 구분선의 방향을 추정하여 주차 구획을 검출한 후, 기하학적 규칙을 기반으로 유형을 인식한다.
Multi-stage 방법 중 딥러닝 만을 사용하는 방법에는 다음과 같은 연구들이 있다. Zinelli 등9)은 종단간 학습이 가능한 주차 구획 검출 방법을 제시한 최초의 연구로, Anchor free faster R-CNN이라는 기존 물체 검출 방법을 사용하여 주차 구획을 구성하는 4개의 코너를 추정해 주차 구획을 검출한다. Do와 Choi10)는 MobileNetv2로 주차 구획 유형과 방향을 식별한 후, 별도의 YOLOv3를 기반으로 주차 구획의 위치와 방향을 추정한다. Min 등11)은 CNN으로 정션을 검출한 후, Attentional graph neural network를 기반으로 정션들을 조합하여 주차 구획을 검출한다. Bui와 Suhr12)는 주차 구획 입구의 중심, 방향, 길이를 대략적으로 추정한 후, 이를 기반으로 주차 구획 요소 별 관심 영역을 설정하고 요소 별 특징을 추출하여 주차 구획을 검출한다.
실시간 측면에서 선호되는 One-stage 방법을 주차 구획 검출에 적용한 연구들은 다음과 같다. Li 등13)은 CNN으로 직각 및 평행 주차 구획에 대해 입구의 위치, 방향, 유형을 추정하여 주차 구획을 검출한다. 사선 유형에 대해서는 방향을 추정하지 않고 미리 정의된 방향을 사용한다. Wang 등14)은 Fully convolutional one-stage object detection(FCOS)이라는 기존 물체 검출 방법을 기반으로 주차 구획을 구성하는 4개의 코너를 감지하여 주차 구획을 검출한다. Suhr와 Jung15)은 CNN으로 주차 구획의 전역 정보(대략적인 위치, 유형, 점유 여부)와 지역 정보(정확한 위치, 방향)를 동시에 추출한 후 이들을 결합하여 주차 구획을 검출한다. Lee 등16)은 CNN으로 주차 구획의 중심점 히트맵과 오프셋, 중심점-키포인트 매칭과 주차 구획 방향을 예측하고, 키포인트 검출기에서 정션 히트맵과 오프셋을 예측한 뒤, 이를 조합하여 주차 구획을 검출한다. Bui와 Suhr17)는 주차 구획을 구성하는 요소들과 이들의 연결 형태를 동시에 추출한 뒤, 추출된 정보들을 단계적으로 결합하여 주차 구획을 검출한다.
위에 소개된 방법들은 모두 별도의 주차 구획 분할은 수행하지 않고 영상에서 직접 주차 구획의 위치와 방향을 추정하여 주차 구획을 검출하는 방식을 사용하였다.
2.2 주차 구획 분할 연구
주차 구획 분할은 주차 구획 검출을 목적으로 분할을 수행하는 방법과 주차 구획 분할 자체를 목적으로 하는 방법으로 분류될 수 있다. 전자에 속하는 기존 방법들은 검출과 분할을 하나의 모델에서 동시에 수행하는 것이 아닌, 분할을 수행한 후 얻은 분할 결과에 별도의 검출 방법을 적용하는 방식을 사용한다.
주차 구획 검출을 위해 분할을 수행하는 방법에는 다음과 같은 연구들이 있다. Jang과 Sunwoo18)는 인코더-디코더 네트워크를 기반으로 영상을 주차 구획, 차선, 차량, 기타 물체로 분할한 뒤, 분할 결과에 다양한 기하학적 규칙들을 적용하여 주차 구획을 검출한다. Jian과 Lin19)은 첫 번째 U-Net에서 주차 구획 입구의 분할 맵을 생성하고, 이 결과를 두번째 U-Net에 입력하여 정션에 대한 분할 맵을 생성한 뒤, 이를 기반으로 주차 구획을 검출한다. Jiang 등20)은 Mask R-CNN으로 정션을 포함하는 분할 마스크를 생성하고 이를 기반으로 주차 선들을 인식한다. 이후, 기하학적 규칙을 기반으로 정션을 결합하여 주차 구획을 검출하고 주차 선들을 기반으로 방향을 식별한다. Yu 등21)은 Stacked hourglass 구조의 네트워크를 사용하여 주차 구획의 정션, 입구선, 분리선에 대한 분할 맵을 생성한 후, 기하학적 규칙을 기반으로 분할 맵을 조합하여 주차 구획을 검출한다. Zhou 등22)은 어텐션 기반의 인코더-디코더 네트워크를 기반으로 주차 구획의 정션, 입구선, 분리선을 분할하고 주차 구획의 중요 위치들을 추출하여 이들을 기반으로 주차 구획을 검출한다.
주차 구획 분할 자체를 목적으로 하는 방법에는 다음과 같은 연구들이 있다. Wu 등23)은 High fusion convolutional network를 기반으로 주차 구획 분할을 수행한다. 이 방법은 분할된 주차 구획선을 시각화하기는 했으나 각 구획의 위치와 방향은 알아내지 못하였다. Jiang 등24)은 PSPNet의 Pyramid pooling module을 특징 추출 모듈로 사용하고, Residual fusion block을 정제 모듈로 사용하여 분할이 필요한 영역의 잡음에 강인하게 주차 구획 분할을 수행한다. Lai 등25)은 이중 분할 네트워크를 기반으로 주차 구획 분할을 수행한다. 상위 네트워크는 입력 영상의 1/4 크기로 대략적인 분할을 수행하고, 하위 네트워크는 이를 기반으로 입력 영상 크기의 분할 결과를 생성한다.
위에 소개된 방법들은 주차 구획 분할만을 수행하거나 주차 구획 분할을 수행한 후 별도의 방법으로 주차 구획 검출을 수행하는 방식을 사용하며, 본 논문에서 제안된 방법과 같이 하나의 모델을 사용하여 주차 구획에 대한 검출과 분할을 동시에 수행하는 방식은 아직까지 제안되지 않았다.
3. 제안 방법
3.1 전체 구조
본 논문에서는 AVM 영상에서 주차 구획 검출 및 분할을 동시에 수행하는 종단간 학습이 가능한 딥러닝 기반의 One-stage 단일 모델을 제안한다.27)
Fig. 1은 제안된 모델의 전체적인 구조를 보여준다. Fig. 1(a)는 416×416×3의 크기의 입력 AVM 영상이며, Fig. 1(b)는 AVM 영상에서 특징을 추출하는 백본(Backbone) 네트워크이다. 제안된 모델은 백본 네트워크로 High Resolution Network(HRNet)26)을 사용한다. Fig. 1(c)는 백본 네트워크에서 산출된 특징맵으로 416×416×256의 크기를 갖는다.
Fig. 1(d)는 주차 구획 검출 헤드(Detection head)를 나타낸다. 검출 헤드는 평균 풀링(Average pooling)을 사용하여 13×13×256으로 크기를 조정한 특징맵에 3×3 컨볼루션 필터를 적용하여 13×13×14의 출력(Fig. 1(e))을 생성한다. 이 출력은 주차 구획의 위치, 방향, 정션 쌍 매칭, 유형, 점유 여부 등의 정보를 포함하며, 이에 Fig. 1(f)의 Non-Maximum Suppression(NMS)을 적용하면, Fig. 1(g)와 같은 주차 구획 검출 결과가 산출된다.
Fig. 1(h)는 주차 구획 분할 헤드(Segmentation head)를 나타낸다. 분할 헤드는 특징맵에 1×1 컨볼루션 필터를 적용하여 416×416×1의 출력(Fig. 1(i))을 생성한다. 이 출력은 주차 구획 선에 대한 픽셀 별 분할 정보를 가지고 있다. Fig. 1(j)는 주 차 구획 분할 결과를 보여준다.
이 구조에서 볼 수 있듯이 제안된 단일 모델은 AVM 영상으로부터 주차 구획의 위치, 방향, 유형, 점유 여부에 대한 모든 정보를 포함하는 검출 결과(Fig. 1(g))와 주차 구획 선에 대한 분할 결과(Fig. 1(j))를 동시에 산출한다는 특징을 갖는다.
3.2 백본 네트워크
제안된 모델에서 백본 네트워크로 사용한 HRNet은 고해상도 표현을 지속적으로 유지할 수 있는 형태의 구조를 갖는다. 고해상도 표현을 유지하면서도 다양한 스케일의 특징을 효과적으로 결합할 수 있기 때문에 객체 검출(Object detection), 의미 분할(Semantic segmentation), 인체 자세 추정(Pose estimation) 등의 다양한 응용에 사용되고 있다.
Fig. 2는 HRNet의 구조를 보여준다. 이 네트워크는 총 4개의 스테이지로 구성되며, 각 스테이지에서는 고해상도 특징맵과 저해상도 특징맵들이 병렬적으로 결합하면서 다양한 해상도의 특징을 반복적으로 생성한다. 마지막 레이어에서는 네 가지의 서로 다른 스케일을 가진 특징맵들이 고해상도로 업샘플링되어 같은 크기로 조정되어 합쳐진다. 고해상도 특징맵은 상세한 특징 정보를 포함하고 저해상도 특징맵은 전체적인 구조 정보를 포함하기 때문에 HRNet을 통해 만들어진 특징맵은 주차 구획에 대한 고해상도의 상세한 정보와 저해상도의 추상적인 정보들을 모두 가지게 된다.
주차 구획 검출을 위해서는 위치와 방향과 같은 상세한 정보와 유형과 점유 여부와 같은 전체적인 정보가 모두 필요하며, 주차 구획 분할을 위해서는 고해상도의 분할 결과를 상세하고 정확하게 획득하는 것이 필요하다. 따라서, 다양한 해상도의 정보를 모두 포함하는 특징맵을 산출하는 HRNet을 백본 네트워크로 선택하여 사용하였다.
3.3 주차 구획 검출
제안된 모델의 주차 구획 검출 헤드의 출력은 13×13×14 텐서이다. 이는 입력 영상을 13×13의 그리드로 나누어 각 셀마다 주차 구획에 관한 14개의 정보를 얻는 것을 의미한다. 14개의 정보 중, 9개는 주차 구획의 전역 정보를 담당하고, 5개는 주차 구획의 지역 정보를 담당한다. 그리드의 셀들 중, 주차 구획의 내부에 존재하는 셀은 주차 구획 전체에 대한 정보를 포함하므로 이에서는 전역 정보를 추출하고, 정션을 포함하는 셀은 정션의 자세한 위치 및 방향에 대한 정보를 포함하므로 이에서는 지역 정보를 추출한다. 이와 같이 전역 정보와 지역 정보를 동시에 추출하고 이를 결합하여 주차 구획을 생성하는 알고리즘은 Suhr와 Jung15)의 연구를 참고하였다.
Fig. 3은 주차 구획 검출 헤드의 출력에 대한 상세한 설명을 보여준다. 전역 정보에는 Fig. 3(a) ~ (d)가 포함되며, Fig. 3(e)는 전역 정보들을 통합한 결과를 보여준다. 지역 정보에는 Fig. 3(f) ~ (h)가 포함되며, Fig. 3(i)는 지역 정보들을 통합한 결과를 보여준다.
Fig. 3(a)는 그리드 셀이 주차 구획 내부에 포함될 확률을 나타낸다. 이는 백본 네트워크의 출력인 특징맵에 컨볼루션 필터 1회와 시그모이드 함수를 적용하여 얻은 13×13×1 텐서이다. 이 값이 큰 그리드 셀(주황색)에서만 나머지 전역 정보들을 사용한다.
Fig. 3(b)는 주차 구획의 입구를 형성하는 정션 쌍의 위치를 나타낸다. 이는 백본 네트워크의 출력인 특징맵에 컨볼루션 필터 1회와 시그모이드 함수를 적용하여 얻은 13×13×4 텐서이다. 각 셀에서는 셀의 중심으로부터 정션 쌍까지의 상대 위치가 계산된다. 빨간색 화살표는 셀의 중심으로부터 정션 쌍까지의 2D 벡터를 나타낸다.
Fig. 3(c)는 주차 구획의 유형을 나타낸다. 이는 백본 네트워크의 출력인 특징맵에 컨볼루션 필터 1회와 소프트맥스 함수를 적용하여 얻은 13×13×3 텐서이다. 주차 구획의 유형은 직각(초록색), 평행(파란색), 사선(자주색)으로 분류된다.
Fig. 3(d)는 주차 구획의 점유 여부를 나타낸다. 이는 백본 네트워크의 출력인 특징맵에 컨볼루션 필터 1회와 시그모이드 함수를 적용하여 얻은 13×13×1 텐서이다. 점유된 주차 구획에 위치한 셀(보라색)은 큰 값을 가지고, 비점유된 주차 구획에 위치한 셀(노란색)은 작은 값을 가진다.
Fig. 3(e)는 Fig. 3(a) ~ (d)에서 얻은 전역 정보 들을 결합한 결과를 보여준다. 전역 정보에서 주차 구획의 유형 및 점유 분류 결과는 정확하지만, 정션 쌍의 위치 추정 결과는 정확하지 못하다. 따라서 지역 정보를 함께 사용함으로써 위치 정확도를 향상시킨다.
Fig. 3(f)는 그리드 셀이 정션을 포함할 확률을 나타낸다. 이는 백본 네트워크의 출력인 특징맵에 컨볼루션 필터 1회와 시그모이드 함수를 적용하여 얻은 13×13×1 텐서이다. 이 값이 큰 셀(주황색)에서만 나머지 지역 정보들을 사용한다.
Fig. 3(g)는 정션의 위치를 나타낸다. 이는 백본 네트워크의 출력인 특징맵에 컨볼루션 필터 1회와 시그모이드 함수를 적용하여 얻은 13×13×2 텐서이다. 각 셀에서는 셀의 중심으로부터 셀에 포함되어 있는 정션까지의 상대 위치가 계산된다. 파란색 화살표는 셀의 중심으로부터 정션까지의 2D 벡터를 나타낸다.
Fig. 3(h)는 정션의 방향을 나타낸다. 이는 백본 네트워크의 출력인 특징맵에 컨볼루션 필터 1회와 시그모이드 함수를 적용하여 얻은 13×13×2 텐서이다. 빨간색 화살표는 셀에 포함되어 있는 정션의 방향을 나타내는 2D 벡터이다.
Fig. 3(i)는 Fig. 3(f) ~ (h)에서 얻은 지역 정보들을 결합한 결과를 보여준다. 지역 정보를 통해 얻은 정션의 위치는 전역 정보를 통해 얻은 것보다 더 정확한 것을 확인할 수 있다. 마지막으로 획득된 전역 정보와 지역 정보들을 결합한 후, NMS 과정을 통해 최종 주차 구획을 생성한다.
3.4 주차 구획 분할
Fig. 4는 제안된 모델에 포함된 주차 구획 분할 헤드의 출력에 대한 상세한 설명을 보여준다. Fig. 4(a)는 분할 헤드의 출력으로, 416×416×1 텐서이다. 출력의 크기를 입력 영상의 크기와 동일하게 설정함으로써 입력 영상의 각 픽셀의 종류(주차 구획 선 혹은 배경)가 추정되도록 한다. Fig. 4(b)와 같이, 각 셀의 값들은 시그모이드 함수에 의해 0과 1사이의 값으로 출력된다. 이 때, Fig. 4(c)와 같이, 0.5 이상의 값을 가진 픽셀들은 주차 구획 선으로 분류하고, 0.5 미만의 값을 가진 픽셀들은 배경으로 분류한다. Fig. 4(d)는 최종 주차 구획 분할 결과를 보여준다.
3.5 교대 학습
제안된 모델의 학습 방법으로는 교대 학습 방법을 사용하였다. 교대 학습은 여러 작업을 동시에 수행하는 딥러닝 모델을 학습시킬 때, 각 작업에 대한 손실(Loss)을 번갈아 가며 최소화하는 형태의 학습 방법이다.
본 논문에서는 주차 구획 검출과 분할의 두 가지 작업을 동시에 수행하는 모델을 학습시켜야 하기 때문에 이러한 학습 방법을 사용하였다. 교대 학습을 적용하는 가장 단순한 방법은 각 에포크마다 검출과 분할을 번갈아 가면서 학습시키는 것이다. 그러나 이 방법은 학습 과정에서 두 작업 간의 상호작용이 단절되어 효과적인 학습이 어려울 수 있으므로, 본 논문에서는 새로운 형태의 교대 학습 방법을 사용하였다.
본 논문에서는 공용 데이터셋에 포함된 9,827장의 영상을 딥러닝 모델 학습에 사용하였다. 이 중 2,071장은 주차 구획 검출을 위한 레이블과 분할을 위한 레이블을 모두 포함하지만, 나머지 7,756장은 주차 구획 검출을 위한 레이블만을 포함한다. 이는 검출 레이블을 분할 레이블에 비해 더 쉽게 획득할 수 있기 때문이다. 이러한 상황에서 주차 구획 검출과 분할의 두 가지 작업을 모두 수행하는 딥러닝 모델을 학습하기 위해 본 논문에서는 Fig. 5에 제시된 교대 학습 방법을 사용하였다.
사용된 교대 학습 방법은 홀수 번째 에포크에서는 Fig. 5의 상단 그림과 같이 검출 레이블만 포함된 데이터를 사용하여 검출 손실을 최소화하는 방향으로 학습을 진행한다. 짝수 번째 에포크에서는 검출 레이블과 분할 레이블을 모두 포함하는 데이터를 사용하여 검출 손실과 분할 손실의 가중합을 최소화하는 방향으로 학습을 진행한다.
이러한 방법을 사용하면, 검출에 대해서는 모든 에포크에서 학습을 진행하게 되고, 짝수 에포크에서는 검출과 분할 간의 상호작용이 발생하도록 학습을 진행할 수 있게 되므로 균형 잡힌 학습을 통해 검출과 분할 모두에서 우수한 성능을 얻을 수 있다. 또한, 검출과 분할 레이블을 모두 포함하는 데이터뿐만 아니라 상대적으로 개수가 많은 검출 레이블만 포함된 데이터도 모두 활용할 수 있게 되어 제안된 모델을 보다 효과적으로 학습할 수 있다.
3.6 손실
제안된 모델의 학습에 사용되는 손실은 검출 손실과 분할 손실로 구성된다. 교대 학습의 홀수 번째 에포크에서는 식 (1)의 검출 손실(Lossdet)만 사용되고, 짝수 번째 에포크에서는 식 (1)의 검출 손실과 식 (2)의 분할 손실(Lossseg)의 가중합이 사용된다. 가중합은 분할 손실에 1000을 곱한 값을 검출 손실과 더하여 얻어진다.
검출 손실은 식 (1)과 같이 7개의 서로 다른 손실이 가중합 되어 계산되며, Table 1은 검출 손실에 대한 세부 내용을 보여준다. 검출 손실에 대한 더욱 자세한 내용은 Suhr와 Jung15)의 논문에서 확인 가능하다.
분할 손실은 식 (2)와 같이 Cross entropy 손실로 표현된다. 식 (2)에서 N은 영상의 픽셀 수, gi는 정답 레이블, yi는 모델의 출력이다. 각 손실의 가중치는 실험을 통해 설정되었다.
(1) |
(2) |
4. 실 험
4.1 데이터 세트
제안된 방법은 AVM 영상으로 구성된 공용 데이터셋인 Tongji Parking Slot 2.0(PS2.0)과 Panoramic Surround View(PSV)를 기반으로 학습 및 평가되었다. Table 2는 PS2.0과 PSV 데이터셋에 대한 설명을 보여준다.
PS2.0은 주차 구획 검출을 위한 데이터셋으로, 학습용 영상 9,827장과 평가용 영상 2,338장으로 구성된다. 이는 세 가지 유형(직각, 평행, 사선)의 주차 구획을 포함하며, 다양한 주차 시나리오(실외, 실내, 주간, 야간, 맑은 날, 비 오는 날, 강한 그림자 등의 조명 조건)로 구성된 데이터셋이다.
PSV는 주차 구획 분할을 위한 데이터셋으로 총 4,249장의 영상으로 구성되며, PS2.0과 동일하게 세 가지 유형의 주차 구획을 포함한다. PSV는 PS2.0과 동일한 영상 2,017장을 포함한다. 즉, 2,017장의 영상에는 검출과 분할을 위한 레이블이 모두 포함되어 있다. 본 논문에서는 효과적인 교대 학습을 위해서 PSV 중 검출과 분할을 위한 레이블을 모두 포함하는 2,017장을 학습에 사용하고, 분할을 위한 레이블만 포함하는 2,178장을 평가에 사용하였다. PSV에는 주차 구획 선 뿐만 아니라 다양한 차선에 대한 레이블이 포함되어 있지만, 본 논문에서는 제안된 방법이 대상으로 하는 주차 구획 선 레이블만을 사용하였다. 두 데이터셋에 포함된 영상들은 416×416 픽셀로 크기가 조정되어 학습 및 평가에 사용되었다.
4.2 평가 지표
제안된 방법은 기존 논문들에서 공통적으로 사용된 검출 및 분할 평가 지표를 기준으로 정량적으로 평가되었다.
주차 구획 검출 결과는 재현율(Recall), 정밀도(Precision), 유형 분류 성능, 점유 분류 성능, 평균 위치 오차, 평균 방향 오차를 기준으로 평가되었다. 이 때, 검출된 주차 구획의 두 정션이 모두 정답 위치와 12픽셀 이내의 차이를 보이면서 검출된 주차 구획의 방향이 정답 각도와 10도 이내의 차이를 보이면 정검출(True positive)로 간주하였고, 그렇지 않으면 오검출(False positive)로 간주하였다. 재현율 및 정밀도는 식 (3)과 식 (4)를 기반으로 계산되며, 두 값이 모두 100 %에 근접할수록 검출 결과가 우수하다는 것을 의미한다.
(3) |
(4) |
주차 구획 분할 결과는 mIOU(Mean Intersection Over Union)를 기준으로 평가되었다. mIOU는 예측된 분할 결과와 정답 분할 레이블 사이의 일치도를 픽셀 단위로 평가하는 지표로, 식 (5)를 기반으로 계산된다. 이 식에서 Pest와 Pgt는 주차 구획 선에 대한 추정 결과와 정답을 나타내고, Best와 Bgt는 배경에 대한 추정 결과와 정답을 나타낸다. mIOU가 1.0에 근접할수록 분할 결과가 우수하다는 것을 의미한다.
(5) |
4.3 성능 평가
Table 3은 PS2.0의 평가 데이터셋을 사용하여 제안된 방법의 주차 구획 검출 성능을 평가한 결과를 보여준다. 이 표에서 Detection baseline은 제안된 모델에서 주차 구획 분할 부분을 제거한 후 주차 구획 검출만을 수행하도록 변경한 모델을 나타낸다. 주차 구획 검출과 분할을 모두 수행하는 제안된 모델이 주차 구획 검출만을 수행하는 Detection baseline 모델 보다 재현율, 점유 분류 성능, 평균 위치 오차 측면에서는 우수한 성능을 보여주었고, 정밀도와 유형 분류 성능, 평균 방향 오차 측면에서는 동일한 성능을 보여주었다.
Table 4는 PSV의 평가 데이터셋을 사용하여 제안된 방법의 주차 구획 분할 성능을 평가한 결과를 보여준다. 이 표에서 Segmentation baseline은 제안된 모델에서 주차 구획 검출 부분을 제거한 후 주차 구획 분할만을 수행하도록 변경한 모델을 나타낸다. 주차 구획 검출과 분할을 모두 수행하는 제안된 모델이 주차 구획 분할만을 수행하는 모델과 거의 유사한 mIoU를 보이는 것을 확인할 수 있다.
Table 3과 Table 4를 통해 본 논문에서 제안된 방법이 주차 구획 검출과 분할을 모두 수행할 수 있다는 장점을 가지는 것과 동시에 검출과 분할 중 한 가지 작업만을 수행하도록 학습된 모델들에 비해서도 다소 우수하거나 유사한 성능을 보일 수 있다는 것을 확인하였다. 이는 주차 구획 인식 측면에서 중요한 주차 구획 검출과 분할이라는 두 가지 작업을 수행하기 위해서 기존의 방법들과 같이 서로 다른 두 개의 네트워크를 사용할 필요가 없이 제안된 방법과 같이 두 가지 작업을 동시에 수행하는 하나의 네트워크만을 사용하면 된다는 것을 의미한다. 따라서 제안된 방법을 사용하여 주차 구획 검출과 분할을 수행하는 실시간 임베디드 시스템을 구현하는 경우, 두 작업의 성능을 거의 동일하게 유지하는 동시에 절반의 연산량을 사용하는 효과를 얻을 수 있게 된다.
Fig. 6은 제안된 방법으로 다양한 상황에서 주차 구획 검출 및 분할을 수행한 결과의 예들을 보여준다. 각 그림은 AVM 영상에 대한 주차 구획 검출 결과(왼쪽)와 주차 구획 분할 결과(오른쪽)로 구성되어 있다. 검출 결과 그림에서 초록색, 파란색, 자주색 선은 각각 직각, 평행, 사선 유형의 주차 구획을 나타내고, 실선과 점선은 각각 비어 있는 주차 구획과 점유된 주차 구획을 나타낸다. 분할 결과 그림에서 흰색은 주차 구획 선을 나타내고, 검은색은 배경을 나타낸다. 이 그림에 제시된 결과들을 통해 제안된 방법을 사용하면 단일 네트워크를 기반으로 주차구획 검출 및 분할을 다양한 상황에서 안정적으로 수행할 수 있다는 것을 확인할 수 있다.
4.4 성능 비교
Table 5는 PS2.0의 평가 데이터셋을 사용하여 제안된 방법의 주차 구획 검출 성능과 기존 여섯 가지 방법의 주차 구획 검출 성능을 비교한 결과를 보여준다. 주차 구획 검출과 분할을 모두 수행하는 제안된 모델은 주차 구획 검출만을 수행하는 기존 모델들과 비교하여도 다소 우수하거나 유사한 주차 구획 검출 성능을 보이는 것을 확인하였다. 기존 방법들 중 유형이나 점유 분류 성능을 평가할 수 없는 경우에는 N/A로 표기하였다.
반면, PSV의 평가 데이터셋을 사용하여 제안된 방법과 기존 방법들의 주차 구획 분할 성능을 비교한 결과는 얻지 못하였다. 4.1절에서 언급한 대로, 본 논문은 효과적인 교대 학습을 위해 PSV 전체 데이터셋 중 검출과 분할 레이블을 모두 포함하는 영상은 학습에 사용하고, 분할 레이블만 포함하는 영상은 평가에 사용한다. 따라서, 기존 방법들과 제안된 방법의 주차 구획 분할을 위한 학습 및 평가 데이터셋의 구성이 다르므로 동일한 조건에서의 성능 비교 결과는 확인할 수 없었다.
5. 결 론
본 논문은 AVM 영상에서 주차 구획 검출 및 분할을 동시에 수행하는 종단간 학습이 가능한 합성곱 신경망을 최초로 제안한다. 본 논문에서는 주차 구획 인식 측면에서 중요한 주차 구획 검출과 분할이라는 두 가지 작업을 동시에 수행할 수 있는 단일 네트워크 구조를 제안하였으며, 주차 구획 검출과 분할에 대한 레이블이 모든 영상에 대해 동시에 제공되지 못하는 상황에서 제안된 네트워크를 효과적으로 학습시키기 위한 교대 학습 방법을 제안하였다. 제안된 방법은 두 개의 공용 AVM 영상 데이터셋을 기반으로 학습 및 평가되어 주차 구획 검출과 분할을 각각 별도의 네트워크를 기반으로 수행하였을 때와 비교하여 다소 우수하거나 유사한 성능을 보였다. 향후에는 제안된 네트워크를 채널 가지치기 방법으로 간소화하고 양자화하여 NPU(Neural Processing Unit)가 장착된 실시간 임베디드 시스템에 적용하여 이의 효율성 및 실용성을 확인할 계획이다.
Acknowledgments
이 성과는 정부(과학기술정보통신부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임(No.2022R1F1A1074708).
References
- S. Lee, J. Lee and S. -C. Kee, “Teleoperated Valet Parking System Using AVM Camera,” Transactions of KSAE, Vol.31, No.6, pp.395-401, 2023. [https://doi.org/10.7467/KSAE.2023.31.6.395]
- E. -J. Bong, D. Lee and S. -C. Kee, “Wireless Charging Pad Detection for Autonomous Charging of Electric Vehicles Based on AVM Image,” Transactions of KSAE, Vol.31, No.9, pp.727-736, 2023. [https://doi.org/10.7467/KSAE.2023.31.9.727]
- L. Zhang, J. Huang, X. Li and L. Xiong, “Vision-Based Parking-Slot Detection: A DCNN-Based Approach and a Large-Scale Benchmark Dataset,” IEEE Transactions on Image Processing, Vol.27, No.11, pp.5350-5364, 2018. [https://doi.org/10.1109/TIP.2018.2857407]
- J. Huang, L. Zhang, Y. Shen, H. Zhang, S. Zhao and Y. Yang, “DMPR-PS: A Novel Approach for Parking-Slot Detection Using Directional Marking-Point Regression,” IEEE International Conference on Multimedia and Expo(ICME), Shanghai, China, pp.212-217, 2019. [https://doi.org/10.1109/ICME.2019.00045]
- W. Li, L. Cao, L. Yan, C. Li, X. Feng and P. Zhao, “Vacant Parking Slot Detection in the Around View Image Based on Deep Learning,” Sensors, Vol.20, No.7, Paper No.2138, 2020. [https://doi.org/10.3390/s20072138]
- Z. Wu, W. Sun, M. Wang, X. Wang, L. Ding and F. Wang, “PSDet: Efficient and Universal Parking Slot Detection,” IEEE Intelligent Vehicles Symposium (IV), LasVegas, NV, USA, pp.290-297, 2020.
- C. Huang, S. Yang, Y. Luo, Y. Wang and Z. Liu, “Visual Detection and Image Processing of Parking Space Based on Deep Learning,” Sensors, Vol.22, No.17, Paper No.6672, 2022. [https://doi.org/10.3390/s22176672]
- R. Zheng, S. Lian, W. Liang, Y. Tang and W. Meng, “Center Keypoint for Parking Slot Detection with Self-Calibrated Convolutions Network,” 17th International Conference on Control, Automation, Robotics and Vision(ICARCV), Singapore, Singapore, pp.305-310, 2022. [https://doi.org/10.1109/ICARCV57592.2022.10004223]
- A. Zinelli, L. Musto and F. Pizzati, “A Deep-Learning Approach for Parking Slot Detection on Surround-View Images,” IEEE Intelligent Vehicles Symposium(IV), Paris, France, pp.683-688, 2019. [https://doi.org/10.1109/IVS.2019.8813777]
- H. Do and J. Y. Choi, “Context-Based Parking Slot Detection with a Realistic Dataset,” IEEE Access, Vol.8, pp.171551-171559, 2020. [https://doi.org/10.1109/ACCESS.2020.3024668]
- C. Min, J. Xu, L. Xiao, D. Zhao, Y. Nie and B. Dai, “Attentional Graph Neural Network for Parking-Slot Detection,” IEEE Robotics and Automation Letters, Vol.6, No.2, pp.3445-3450, 2021. [https://doi.org/10.1109/LRA.2021.3064270]
- Q. H. Bui and J. K. Suhr, “CNN-Based Two-Stage Parking Slot Detection Using Region-Specific Multi-Scale Feature Extraction,” IEEE Access, Vol.11, pp.58491-58505, 2023. [https://doi.org/10.1109/ACCESS.2023.3284973]
- W. Li, H. Cao, J. Liao, J. Xia, L. Cao and A. Knoll, “Parking Slot Detection on Around-View Images Using DCNN,” Frontiers in Neurorobotics, Vol.14, 2020. [https://doi.org/10.3389/fnbot.2020.00046]
- Y. Wang, Y. Guan and R. Cao, “DetPS: A Fully Convolutional End-to-End Parking Slot Detector,” IEEE 17th Conference on Industrial Electronics and Applications(ICIEA), Chengdu, China, pp.1051-1056, 2022. [https://doi.org/10.1109/ICIEA54703.2022.10005941]
- J. K. Suhr and H. G. Jung, “End-to-End Trainable One-Stage Parking Slot Detection Integrating Global and Local Information,” IEEE Transactions on Intelligent Transportation Systems, Vol.23, No.5, pp.4570-4582, 2022. [https://doi.org/10.1109/TITS.2020.3046039]
- J. Lee, K. Sung, D. Park and Y. Jeon, “KEPS-NET: Robust Parking Slot Detection Based Keypoint Estimation for High Localization Accuracy,” ICASSP 2023 - 2023 IEEE International Conference on Acoustics, Speech and Signal Processing(ICASSP), RhodesIsland, Greece, pp.1-5, 2023. [https://doi.org/10.1109/ICASSP49357.2023.10094990]
- Q. H. Bui and J. K. Suhr, “One-Stage Parking Slot Detection Using Component Linkage and Progressive Assembly,” IEEE Intelligent Transportation Systems Magazine, Vol.15, No.6, pp.33-48, 2023. [https://doi.org/10.1109/MITS.2023.3276592]
- C. Jang and M. Sunwoo, “Semantic Segmentation-Based Parking Space Detection with Standalone Around View Monitoring System,” Machine Vision and Applications, Vol.30, No.2, pp.309-319, 2018. [https://doi.org/10.1007/s00138-018-0986-z]
- D. -H. Jian and C. -H. Lin, “Vision-Based Parking Slot Detection Based on End-to-End Semantic Segmentation Training,” IEEE International Conference on Consumer Electronics(ICCE), Las Vegas, NV, USA, pp.1-4, 2020.
- S. Jiang, H. Jiang, S. Ma and Z. Jiang, “Detection of Parking Slots Based on Mask R-CNN,” Applied Sciences, Vol.10, No.12, Paper No.4295, 2020. [https://doi.org/10.3390/app10124295]
- Z. Yu, Z. Gao, H. Chen and Y. Huang, “SPFCN: Select and Prune the Fully Convolutional Networks for Real-Time Parking Slot Detection,” IEEE Intelligent Vehicles Symposium(IV), NV, USA, pp.445-450, 2020.
- S. Zhou, D. Yin and Y. Lu, “PASSIM: Parking Slot Recognition Using Attentional Semantic Segmentation and Instance Matching,” IEEE 5th International Conference on Big Data and Artificial Intelligence (BDAI), Fuzhou, China, pp.169-175, 2022. [https://doi.org/10.1109/BDAI56143.2022.9862655]
- Y. Wu, T. Yang, J. Zhao, L. Guan and W. Jiang, “VH-HFCN Based Parking Slot and Lane Markings Segmentation on Panoramic Surround View,” IEEE Intelligent Vehicles Symposium(IV), pp.1767-1772, 2018.
- W. Jiang, Y. Wu, L. Guan and J. Zhao, “DFNet: Semantic Segmentation on Panoramic Images with Dynamic Loss Weights and Residual Fusion Block,” International Conference on Robotics and Automation (ICRA), Montreal, QC, Canada, pp.5887-5892, 2019. [https://doi.org/10.1109/ICRA.2019.8794476]
- C. Lai, Q. Yang, Y. Guo, F. Bai and H. Sun, “Semantic Segmentation of Panoramic Images for Real-Time Parking Slot Detection,” Remote Sensing, Vol.14, No.16, Paper No.3874, 2022. [https://doi.org/10.3390/rs14163874]
- J. Wang, K. Sun, T. Cheng, B. Jiang, C. Deng, Y. Zhao, D. Liu, Y. Mu, M. Tan, X. Wang, W. Liu and B. Xiao, “Deep High-Resolution Representation Learning for Visual Recognition,” IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.43, No.10, pp.3349-3364, 2020. [https://doi.org/10.1109/TPAMI.2020.2983686]
- Y. J, Chang and J. K. Suhr, “Local and Global Attention-Based Parking Slot Detection and Segmentation Using AVM Images,” KSAE Fall Conference Proceedings, pp.1510-1511, 2023.