이하, 본 발명의 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 당업자에게 자명하거나 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 차량의 목표주차위치 인식 시스템을 도시한 도면이다.
도 1에 도시하듯이, 본 발명의 일 실시예에 따른 차량의 목표주차위치 인식 시스템은 스캐닝 레이저 레이더(102), 전처리부(104), 코너인식부(106) 및 주차위치 설정부(108)를 포함한다.
스캐닝 레이저 레이더(102)는 차량의 후면으로부터 반사되어 입수되는 레인지 데이터를 검출한다. 차량 후면에 스캐닝 레이저 레이더를 장착하여 레이저 빛을 스캔하고 반사되어 오는 빛으로부터 거리 및 각도 데이터쌍을 획득하며 이때 획득한 거리 및 각도 데이터쌍을 레인지 데이터라고 한다.
전처리부(104)는 스캐닝 레이저 레이더(102)가 획득한 레인지 데이터를 전처리하여 유효 클러스터를 추출한다. 여기서 전처리는 레인지 데이터로부터 무효점 및 고립점을 제거하여 유효 레인지 데이터를 추출하는 단계, 유효 레인지 데이터로부터 어클루젼을 인식하는 단계 및 유효 레인지 데이터로부터 작은 클러스터를 제거하는 단계를 거쳐 이루어진다.
도 2는 본 발명의 일 실시예에 따른 차량의 목표주차위치 인식 시스템에서 레이저 레이더형 센서부(102)가 검출한 레인지 데이터를 도시한 도면이다.
도 2a는 지하주차장에서 차량 사이에 주차하려는 구역에 대하여 차량에서 사진 촬영한 화면이며 도 2b는 해당 구역에서 차량의 스캐닝 레이저 레이더의 출력을 도시한 것이다.
도 2b에서 레인지는 차량의 스캐닝 레이저 레이더(102)에서 떨어진 거리를 의미하며 각도는 스캐닝 레이저 레이더의 스캐닝 각도를 의미한다.
도 3은 본 발명의 일 실시예에 따른 차량의 목표주차위치 인식 시스템에서 스캐닝 레이저 레이더(102)가 검출한 레인지 데이터에서 무효점과 고립점을 제거한 후의 유효 레인지 데이터를 도시한 도면이다.
도 3에 도시하듯이 전처리부는 도 2b에서 레인지 값이 0인 무효점들과 랜덤 노이즈(random noise)에 의해 혼자 떨어진 고립점(isolated data) 들을 제거한다. 이때, 고립점은 어느 한 점이 좌우 인접한 점까지의 거리 중 작은 값이 임계치(예를 들어 0.5m)보다 크면 고립점으로 인식하여 제거한다.
도 4는 본 발명의 일 실시예에 따른 차량의 목표주차위치 인식 시스템에서 스캐닝 레이저 레이더(102)가 검출한 레인지 데이터로부터 무효점과 고립점을 제거한 후 어클루젼을 인식한 결과를 도시한 도면이다.
어클루젼(Occlusion)이란 연속한 레인지 데이터가 불연속한 점을 말하며, 어클루젼과 어클루젼 사이의 연속한 레인지 데이터를 클러스터라고 한다. 스캐닝 각도 순으로 나열된 레인지 데이터를 순차적으로 검사하면서, 왼쪽에서 오른쪽으로 스캐닝한다고 가정했을 때 유효한 클러스터가 시작되는 경우 클러스터의 왼쪽 끝을 왼쪽 끝 어클루젼으로 인식하고, 유효한 클러스터가 끝나는 지점을 오른쪽 끝 어클루젼으로 인식한다. 예를 들어, 임의의 연속한 n-1, n번째 레인지 데이터 사이 거리가 임계치(예를 들어 0.5m) 이상인 경우, n-1번째 점은 오른쪽 끝으로 인식하고 n번째 점은 왼쪽 끝으로 인식한다. 도 4a에서 어클루젼의 왼쪽 끝은 원으로 표시하고, 오른쪽 끝은 사각형으로 표시하였다. 도 4b는 유효한 레인지 데이터와 인식된 어클루젼을 카티젼(Cartesian) 좌표계로 변환하여 표시한 결과이다.
도 5는 본 발명의 일 실시예에 따른 차량의 목표주차위치 인식 시스템에서 클러스터로부터 작은 클러스터를 제거하여 유효 클러스터를 추출한 결과를 도시한 도면이다.
도 4에서와 같이 인식된 클러스터들 중에서 크기가 너무 작은 클러스터는 노이즈에 의한 것으로 판단하여 제거한다. 클러스터의 왼쪽 끝에서 오른쪽 끝까지의 점의 개수를 포인트 갯수라 하고, 물리적 거리를 길이라 하자. 클러스터의 길이가 임계치(예를 들어 0.25m)이거나 포인트 갯수가 임계치(예를 들어 5개) 이하이면, 작은 클러스터로 보고 제거한다. 도 5a 및 도 5b는 각각 도 4a 및 도 4b의 클러스터에서 작은 클러스터를 제거하여 유효 클러스터를 추출한 결과를 보여준다.
참고로, 이하 설명에 있어서 별다른 언급 없이 클러스터라고만 표현된 경우 이는 유효 클러스터를 지칭한 것이다.
코너인식부(106)는 유효 클러스터로부터 장애물 코너를 추출한다.
장애물 코너는 형상이 'L'자를 이루는 유효 클러스터인 직각 클러스터의 코너 또는 형상이 타원의 호 및 직선을 이루는 유효 클러스터인 라운드코너 클러스터의 코너일 수 있다.
스캐닝 레이저 레이더로부터 획득된 레인지 데이터가 주차장에 대한 것이라고 가정하면, 주요 인식 대상인 차량과 건축구조물은 'L'자 모양의 코너로 나타나기 때문에 코너를 인식함으로써 주차장 내 차량을 인식할 수 있다. 이때, 차량이 아닌 장애물은 'L'자 모양의 코너가 아닐 수 있기 때문에 목표주차위치 인식과정에서 제외시킬 수 있다.
도 6은 본 발명의 일 실시예에 따른 차량의 목표주차위치 인식 시스템에서 유효 클러스터로부터 코너를 인식하는 순서를 도시한 흐름도이다.
도 6에 도시하듯이 코너 인식은 직각 코너 인식과 라운드 코너 인식으로 이루어진다. 대다수 차량의 후면과 전면은 직각으로 만나는 두 직선으로 표현되는 'L'자로 피팅(Fitting)이 가능하지만, 승용차 중 일부는 전면이 큰 곡선으로 되어 있어 한 점에서 만나는 직선과 타원의 호로 표현되는 라운드 코너 인식을 수행한다.
직각 코너 인식의 피팅 에러가 하방임계치(본 실시예에서는 0.2) 미만이면 직각 코너로 인식하고, 하방임계치 이상이지만 상방임계치(본 실시예에서는 0.6) 미만이면 라운드 코너 인식을 시도한다. 또한 상방임계치 이상이면 주차와 무관한 직선으로 판단하여 무시한다.
라운드 코너 인식을 수행하여 검출하는 라운드코너 클러스터는 유효 클러스터의 변곡점으로부터 유효 클러스터의 양쪽 끝점을 잇는 두 개의 선이 각각 타원의 호 및 직선인 것을 특징으로 한다.
이 때 라운드 코너 인식의 피팅 에러가 소정 임계치(본 실시예에서는 0.2) 미만이면 라운드 코너로 인식하고, 피팅 에러가 소정 임계치(본 실시예에서는 0.2) 이상이면 주차와 무관하다고 판단하여 무시한다.
코너인식을 수행함에 있어서 유효 클러스터의 모든 점에 대하여, 그 점이 코너의 꼭지점이라고 가정할 때 최적의 코너를 인식하여 에러가 가장 작은 결과를 그 유효 클러스터의 직각 코너 후보로 인식한다. 'L'자 템플리트(template)는 서로 수직한 두 직선으로 구성된다. 유효 클러스터 내의 기준점 이전 점들은 첫번째 직선 에 가까워야 하고, 이후 점들은 두번째 직선에 가까워야 한다. 따라서, 'L'자 탬플리트 매칭(template matching)은 '두 개의 직선은 서로 수직하여야 한다'는 제한을 갖고 기준점 이전 점들의 첫번째 직선에 대한 에러와 기준점 이후 점들의 두번째 직선에 대한 에러의 합을 최소화하는 문제와 같다.
두 직선이 수직하므로, 첫번째 직선 l 1 과 두번째 직선 l 2 는 [수학식 1]과 같이 표현할 수 있다.
도 7은 본 발명의 일 실시예에 따른 차량의 목표주차위치 인식 시스템에서 유효 클러스터로부터 인식되는 직각 코너를 도시한 도면이다.
클러스터의 점의 개수가 N이고 클러스터의 점 각각에 대하여 1에서 시작하여 차례로 번호를 붙인 것을 인덱스라 하면 도 7에 도시하듯이 기준점의 인덱스가 n일 때, 인덱스 1 ~ n 범위의 점들은 직선의 방정식 l 1 을 만족하고, 인덱스 n ~ N 범위의 점들은 직선의 방정식 l 2 를 만족하여야 한다.
따라서 모든 점에 대하여 [수학식 1]을 적용시키면 [수학식 2]가 성립된다.
[수학식 2]를 만족하는 파라미터 매트릭스 X n 는 매트릭스 A n 의 널 벡터(null vector)이다. 따라서, [수학식 3]과 같이 특이값 분해(Singular Value Decomposition: SVD)를 이용하여 A n 의 널 벡터를 구함으로써, 파라미터 a, b, c, d를 추정할 수 있다.
여기서 Un은 이웃풋에 대한 베이시스 매트릭스, Sn은 싱귤러 밸류 매트릭스, Vn은 인풋에 대한 밸류 매트릭스이다.
이 때, 널 벡터에 해당하는 싱귤러 밸류(singular value)는 0인 경우는 트리비얼한 이상적인 값이므로 이는 무시한다. 여기서 최소제곱(Least Square: LS) 피팅 에러(LS Fitting Error)를 클러스터 C의 n번째 점에 대한 직각 코너 피팅 에러(C, n)라고 하자. 이 때 S n (4,4)가 직각코너 피팅에러(C, n)이고, V n 의 4번째 컬럼(column)이 a, b, c, d의 추정 파라미터(Estimated Parameter)이다.
클러스터 C의 2번째 점부터 N-1번째 점에 대하여 직각코너 피팅에러(C, n)를 측정하고, 그 값이 최소인 점을 그 클러스터의 직각 클러스터 코너 후보로 인식한다.
도 8은 본 발명의 일 실시예에 따른 차량의 목표주차위치 인식 시스템에서 유효 클러스터의 기준점에 따른 피팅 에러와 직각 코너 후보를 도시한 도면이다.
도 8a는 인덱스 2 ~ (n-1) 번째 점을 기준으로 측정한 직각코너 피팅에러(C, n)의 그래프이고, 도 8b는 그 에러값이 최소인 기준점과 인식된 직각 코너 후보를 보여준다.
도 9는 본 발명의 일 실시예에 따른 차량의 목표주차위치 인식 시스템에서 유효 클러스터의 코너 점을 기준으로 한 두 직선을 도시한 도면이다.
도 9에 도시하듯이 두 직선의 교점 (x c , y c )을 코너 점으로 인식하고, 도 9와 같이 두 직선에 평행한 유니폼 벡터 d 1 , d 2 를 계산한다. 이때, d 1 은 길이가 긴 변의 방향을 나타내고, d 2 는 길이가 짧은 변의 방향을 나타내도록 설정한다.
도 10은 본 발명의 일 실시예에 따른 차량의 목표주차위치 인식 시스템에서 직선을 이루는 유효 클러스터가 작은 직각코너 피팅에러값을 가짐을 도시한 도면이다.
도 10a 및 도 10b에 도시하듯이, 직각코너 피팅에러는 클러스터가 직선을 이루다가 클러스터 끝점이 직선에서 벗어난 경우에도 매우 작은 값을 갖는다.
이는 클러스터를 직선으로 가정한 LS 피팅에러인 라인 피팅에러를 이용하여 이러한 문제점을 보상한다. 즉, 클러스터의 모든 점들이 [수학식 4]와 같이 정의된 직선 l 을 만족한다고 가정하면, [수학식 5]의 파라미터 매트릭스 X는 매트릭스 B의 널 벡터이고, B의 널 벡터에 해당하는 싱귤러 밸류(singular value)는 라인 피팅에러이다.
어떤 클러스터 C의 코너 에러, 즉, ε corner (C)는 [수학식 6]과 같이 직각코너 피팅에러(εrectangular conner(C, n))의 최소값을 라인 피팅에러(εline(C))로 나눈 값으로 한다.
도 11은 본 발명의 일 실시예에 따른 차량의 목표주차위치 인식 시스템에서 직선을 이루는 유효 클러스터가 작은 직각코너 피팅에러값을 가짐을 도시한 도면이다.
클러스터가 직선인 경우에 라인 피팅에러가 작은 값을 가질 수 있기 때문에 코너 에러는 상대적으로 큰 값을 갖게 되어 직각 코너로 잘못 인식되는 것을 방지한다.
도 11a 및 도 11b는 클러스터가 코너 클러스터 및 직선인 경우를 각각 도시한 도면이다. 도 11a에 도시한 라인피팅 에러로 보상한 코너에러가, 도 11b에 도시한 클러스터가 코너인 경우와 직선인 경우 현저히 다른 값을 가짐을 보여준다. 이와 같이 계산된 코너에러 값이 0.2 미만인 경우에 직각 코너로 인식한다. 이하 도 11에서처럼 클러스터 옆에 도시한 숫자는 피팅에러 값을 나타낸다.
한편 'L'자 템플리트 매칭은 방향에 무관하고, 상당한 잡음에도 강인하다. 직선 길이나 클러스터 점 사이 거리에 대한 어떤 가정도 사용하지 않기 때문에, 기 준점 좌우의 레인지 데이터들을 직선으로 피팅한 후 직각이라는 제한을 적용하는 경우보다 로버스트하다.
도 12는 코너의 방향과 잡음에 강인한 직각코너 인식을 도시한 도면이다.
도 12a는 라인 피팅이 음함수로 이루어지기 때문에 코너의 방향과 무관함을 보여주고, 도 12b는 크고 불규칙한 잡음이 가해진 경우에도 코너를 성공적으로 인식함을 보여준다. 이와 같이 인식한 코너 중 계산된 코너에러 값이 0.2 미만이면 직각의 형상을 하는 장애물 코너임을 알 수 있다.
한편 계산된 코너에러 값이 0.2 이상이고 0.6미만인 경우에 라운드 코너 인식을 수행한다.
도 13은 차량의 전면 또는 후면이 둥근 경우 직각코너 인식과 라운드코너 인식을 수행한 경우를 비교한 도면이다.
도 13a와 같이 차량의 전면 또는 후면이 둥근 경우 직각코너 인식은 큰 코너 에러를 발생시킨다. 이것은 차량의 모서리가 직각으로 만나는 두 직선으로 형성된다는 가정이 유효하지 않기 때문이다. 따라서, 직각코너 인식에서 인식이 실패한 코너들은 모서리가 직선과 곡선의 조합으로 이루어졌다고 가정하고 LS 피팅하는 라운드코너 인식을 수행한다. 이때, 곡선 부분은 타원의 호로 모델링한다. 도 13b는 라운드코너 인식을 통하여 인식한 코너이다.
라운드코너 인식은 직선-호 코너 인식의 결과와 호-직선 코너 인식의 결과 중 코너 에러가 작은 쪽의 결과를 라운드코너 후보로 인식한다. 전면이나 후면이 둥근 차량은 바라보는 각도에 따라, 곡선-직선의 조합으로 보이기도 하고, 직선-호 의 조합으로 보이기도 한다. 직선-호 코너 인식은 클러스터의 왼쪽으로부터 직선과 타원 호로 구성되었다고 가정하고 LS 피팅을 수행하고, 호-직선 코너 인식은 클러스터의 왼쪽으로부터 타원 호와 직선으로 구성되었다고 가정하고 LS 피팅을 수행한다.
직선-호 코너 인식의 경우, 클러스터의 점의 개수가 N이고 기준점의 인덱스가 n일 때, 인덱스 1 ~ n 범위의 점들은 [수학식 7]과 같이 직선의 방정식 l 1 을 만족하고, 인덱스 n ~ N 범위의 점들은 [수학식 7]과 같이 타원의 방정식 e 2 를 만족하여야 한다.
클러스터 C의 인덱스 1 ~ n 범위의 점들에 대하여 SVD를 적용하여 직선의 방정식 l 1 의 파라미터를 구하고 [수학식 8]과 같이 대수적 에러 제곱의 합을 라인 포션 에러, 즉, εline portion(C, n)로 정의하였다.
인덱스 n ~ N 범위의 점들에 대하여 SDLS(Stable Direct Least Square) 타원 피팅을 적용하여 타원의 방정식 e 2 의 파라미터를 구하고 [수학식 9]와 같이 대수적 에러 제곱의 합을 타원 포션 에러, 즉, εellipse portion(C, n)로 정의하였다. 한편 SDLS 타원 피팅은 공지된 기술이며 그 내용은 자세한 내용은 다음의 참조문헌에 수록되어 있다.(참조문헌: R. Halif and J. Flusser, "Numerically Stable Direct Least Squares Fitting of Ellipses," Department of Software Engineering, Charles University, Czech Republic, 2000.)
클러스터 C의 n번째 점에 대한 라인-커브 피팅에러, 즉, εline - curve corner(C, n)는 [수학식 10]과 같이 라인 포션 에러와 타원 포션 에러의 합으로 정의하였다.
클러스터의 5번째 점부터 N-5번째 점에 대하여 라인-커브 피팅 에러를 구하고, 그 값이 최소인 점을 꼭지점으로 하는 코너를 클러스터 C의 직선-호 코너 후보로 인식한다. [수학식 11]과 같이 라인-커브 피팅에러가 최소인 점의 라인-커브 피팅에러를 모든 점이 직선이라고 가정하고 구한 라인 피팅에러, 즉, εline(C)로 나누어 정규화한 값을 클러스터 C의 코너 에러, 즉, corner_error(C)라고 정의하였다.
호-직선 코너 인식의 경우, [수학식 12]와 같이 N개의 점 중에서 1 ~ n 범위의 점들은 타원의 방정식 e 1 을 만족하고 n ~ N 범위의 점들은 직선의 방정식 l 2 을 만족한다고 가정한다.
1 ~ n 범위의 점들을 SDLS 타원 피팅한 후, 그 타원의 파라미터에 대한 대수적 에러 제곱의 합을 [수학식 13]과 같이 타원 포션 에러, 즉, εellipse portion(C, n)(C, n)이라 정의하였다.
n ~ N 범위의 점들을 SVD를 이용하여 라인 피팅한 후, 그 직선의 파라미터에 대한 대수적 에러 제곱의 합을 [수학식 14]와 같이 라인 포션 에러, 즉, εline portion(C, n)이라 정의하였다.
클러스터 C의 n번째 점에 대한 커브-라인 피팅에러, 즉, εline - curve corner(C, n)는 [수학식 15]와 같이 타원 포션 에러와 라인 포션 에러의 합으로 정의하였다.
클러스터의 5번째 점부터 N-5번째 점에 대하여 커브-라인 피팅 에러를 구하고, 그 값이 최소인 점을 꼭지점으로 하는 코너를 클러스터 C의 호-직선 코너 후보로 인식한다. [수학식16]과 같이 커브-라인 피팅 에러의 최소값을 모든 점이 직선이라고 가정하고 구한 라인 피팅 에러로 나누어 정규화한 값을 클러스터 C의 코너 에러, 즉, corner_error(C)라고 정의하였다.
라운드코너 인식은 클러스터 C에 대하여, 직선-호 코너 인식을 적용하여 [수학식 11]과 같이 정의된 라인-커브 코너 에러를 구하고, 호-직선 코너 인식을 적용하여 [수학식 16]과 같이 정의된 커브-라인 코너 에러를 구한다. 이렇게 구한 라인 -커브 코너 에러 및 커브-라인 코너 에러 중에서 작은 값을 나타내는 쪽의 피팅 결과를 클러스터 C의 피팅결과로 따른다. 이 때 corner_error(C)가 임계치(예를 들어 0.2) 이하이면 라운드코너를 갖는 클러스터로 인식하고, 그렇지 않으면 주차와 무관하다고 생각하고 무시한다.
라운드코너를 갖는 클러스터로 인식된 경우, d 1 은 꼭지점에서 직선의 끝점을 향하도록 설정하고, d 2 는 꼭지점에서 타원의 중심을 향하면서 타원의 장축(long axis)에 평행하도록 설정한다. 여기서 구한 장애물 코너의 꼭지점은 직선과 타원의 장축의 교점을 구하고, 타원의 단축(short axis) 방향으로 단축 반지름만큼 이동하여 설정한다.
도 14는 호-직선 코너인 경우의 라운드코너 인식의 결과를 도시한 도면이다.
도 14a, 도 14b 및 도 14c는 각각 라인-커브 피팅의 라인 포션 에러, 라인-커브 피팅의 타원포션 에러, 커브-라인 피팅 에러를 보여주고, 도 14d는 최적의 라인-커브 피팅 결과를 보여준다. 도 14e, 도 14f 및 도 14g는 각각 커브-라인 피팅의 라인 포션 에러, 커브-라인 피팅의 타원 포션 에러, 커브-라인 피팅 에러를 보여주고, 도 14h는 최적의 커브-라인 피팅 결과를 보여준다. 또한 도 14i는 최종 인식된 장애물 코너를 도시한 것이다.
도 14c와 도 14f를 비교하면, 커브-라인 피팅 에러의 최소값이 라인-커브 피팅 에러의 최소값보다 작음을 알 수 있다. 따라서, 클러스터는 도 14i와 같이 호- 직선 형태의 라운드코너를 갖는 클러스터로 인식되었으면, 이것은 도 14d와 도 14h의도시한 최적의 피팅 결과와도 일치한다.
도 15는 직선-호 코너인 경우의 라운드코너 인식의 결과를 도시한 도면이다.
도 15a, 도 15b 및 도 15c는 각각 라인-커브 피팅의 라인 포션 에러, 라인-커브 피팅의 타원포션 에러, 커브-라인 피팅 에러를 보여주고, 도 15d는 최적의 라인-커브 피팅 결과를 보여준다. 도 15e, 도 15f 및 도 15g는 각각 커브-라인 피팅의 라인 포션 에러, 커브-라인 피팅의 타원 포션 에러, 커브-라인 피팅 에러를 보여주고, 도 15h는 최적의 커브-라인 피팅 결과를 보여준다. 또한 도 15i는 최종 인식된 장애물코너를 도시한 것이다.
도 16은 실제 스캐닝 레이저 레이더의 레인지 데이터에 라운드코너 인식을 적용한 결과를 도시한 도면이다.
도 16a는 스캐닝 레이저 레이더의 하나의 클러스터에 직각 코너 인식을 사용하여 코너를 인식한 결과를 도시한 도면이며, 도 16b는 라운드 코너 인식을 사용하여 장애물 코너를 인식한 결과를 도시한 도면이다.
또한 도 16c는 스캐닝 레이저 레이더의 다른 클러스터에 직각 코너 인식을 이용하여 코너를 인식한 결과를 도시한 도면이며, 도 16b는 라운드코너 인식을 이용하여 장애물 코너를 인식한 결과를 도시한 도면이다.
도 16a의 직각 코너 인식 결과에 비하여, 도 16b의 라운드코너 인식의 결과가 차량 끝면을 더 정확하게 찾은 것을 확인할 수 있다. 또한 도 16c의 직각 코너 인식 결과는 레인지 데이터의 잡음으로 차량의 방향이 바르지 못한데 비하여, 도 16d에 도시한 라운드코너 인식의 결과는 차량의 방향을 정확하게 찾아 장애물 코너를 찾은 것을 확인할 수 있다.
주차위치 설정부(108)는 장애물 코너 중에서 인접공간이 빈주차공간 조건을 만족하되 자차와 가장 인접한 장애물 코너인 메인 레퍼런스 코너를 인식하고 상기 인접공간쪽으로 메인 레퍼런스 코너의 차폭 방향의 역방향에 존재하되 차폭거리와 차 길이 사이의 범위에 있는 가장 가까운 유효 클러스터 상의 점인 서브 레퍼런스 코너를 인식하여 목표주차위치를 설정한다.
직각주차를 위한 관심지역(Region Of Interest: ROI) 내의 장애물 코너 중에서, 빈 주차공간의 조건을 만족하면서 자차(subjective vehicle)에 가장 가까운 장애물 코너를 목표주차위치 설정의 기준이 되는 메인 레퍼런스 코너로 인식한다.
입력된 레인지 데이터는 자차가 직각주차를 하기 적합한 위치에 정차하여 취득하였다고 가정한다. 따라서, 목표주차위치는 차량의 후면에 장착된 스캐닝 레이저 레이더의 일정한 시야각(Field Of View: FOV) (e.g. 후방 160도) 내에 존재하고 자차까지의 거리도 설정한 범위 내에 존재해야 한다. 이러한 조건을 ROI로 설정하고, ROI 밖에 존재하는 장애물 코너 및 해당 클러스터들은 무시한다.
도 17은 코너 인식의 인식결과와 ROI를 적용한 결과를 도시한 도면이다.
도 17a에서 피팅에러가 표시된 것이 코너인식의 결과로 검출된 결과이며, 도 17b는 도 17a의 코너인식의 결과에서 ROI를 적용한 결과를 도시한 도면이며 도면에서 피팅에러 값을 삭제하여 표시함으로써 ROI 적용시 제외되었음을 도시하였다.
도 9에서 도시한 것과 같은 코너인식의 결과 설정된 두 직선에 평행한 유니 폼 벡터 d 1 , d 2 를 참조하여 ROI 내의 장애물 코너들에 대하여 d 1 , d 2 의 역방향으로 장애물 유무를 검사하여, 빈 주차공간 옆에 존재하는지 여부를 검사한다.
도 18은 장애물 코너에 인접하여 빈 주차공간이 존재하는지를 검사하는 방법을 도시한 도면이다.
빈주차공간 조건이란 장애물 코너로부터 차폭방향의 역방향쪽으로 일정 관심범위 내에 차폭거리와 차 길이 사이의 범위에 장애물체가 있고, 장애물 코너로부터 차 길이 방향의 역방향쪽으로 일정 관심범위 내에 차 길이 범위 내에 장애물체가 없는 경우인 것을 말한다.
즉, d 1 , d 2 의 역방향 일정 관심범위, 즉, FOV 범위(예를 들어 90도)를 관찰하여, 차폭(vehicle width) 거리 이내에 장애물체가 있는지 여부와 차 길이(vehicle length) 이내에 장애물체가 있는 지를 검사한다. 만약, 검사 중인 코너가 빈 주차공간 옆에 존재한다면 도 18에 도시한 바와 같이 한쪽으로는 차폭거리와 차 길이 범위 사이에 장애물체가 있고, 다른 한쪽으로는 차 길이 범위 내에 장애물체가 없어야 한다. 만약, 한 방향에서라도 차폭 길이 이내에 장애물체가 있거나, 양 방향 모두에서 차 길이 이내에 장애물체가 있다면, 코너는 빈 주차공간 옆에 있지 않다고 판단한다.
코너 인식과정에서 직각 코너의 경우 d 1 은 장축 방향(차 길이 방향), d 2 는 단축 방향(차폭 방향)으로 설정되고, 라운드 코너의 경우 d 1 은 직선방향(차 길이 방 향), d 2 는 타원방향(차폭 방향)으로 설정된다. 빈 주차공간 여부를 검사하는 과정에서 차폭과 차 길이 사이에 장애물이 있는 쪽을 d 2 로, 차 길이 내에 장애물이 없는 쪽을 d 1 로 변경한다. 만약 양쪽 방향 모두에서 차 길이 이내에 장애물이 발견되지 않으면, 코너 인식과정에서 설정한 값을 유지한다.
이렇게 설정한 d 1 과 d 2 를 이용하여 목표주차위치 후보의 위치를 설정할 수 있는데, 목표주차위치 전체 영역이 FOV 내에 존재해야만 유효한 것으로 보고, 그렇지 않은 경우는 제외한다.
도 19는 빈주차공간 조건을 만족하는 장애물 코너만 남긴 결과를 도시한 ㄷ도면이다.
도 19에 도시하듯이 도 17b의 ROI를 적용한 후의 장애물 코너로부터 빈주차공간 조건을 만족하는 장애물 코너만 남기고 나머지 장애물 코너의 피팅에러값을 삭제하고 도시하였다. 도 19에 도시하듯이 ROI 내에 존재하던 많은 장애물 코너 중에서 빈주차공간 조건을 만족하는 장애물 코너는 그리 많지 않음을 알 수 있다.
도 20은 빈주차공간 조건을 만족하는 장애물 코너 중에서 자차에 가장 가까운 하나를 목표주차공간의 옆에 위치하는 메인 레퍼런스 코너로 인식한 결과를 도시한 도면이다.
메인 레퍼런스 코너를 인식한 후에는 서브 레퍼런스 코너를 인식한다. 메인 레퍼런스 코너의 d 2 의 역방향으로 일정한 FOV(예를 들어 90도) 이내의 어클루젼이 나 장애물 코너 중에서 가장 가까운 점을 서브 레퍼런스 코너로 인식한다.
목표주차위치는 서브 레퍼런스 코너를 메인 레퍼런스 코너로부터 차 길이 방향으로 연장한 직선에 투영(Projection)한 점과 메인 레퍼런스 코너 중에서 인접공간의 더 바깥쪽에 있는 점을 지나면서 차폭방향에 평행인 선분을 바깥쪽 경계로 설정하고, 설정된 바깥쪽 경계의 중심을 지나면서 차 길이 방향에 평행한 선분이 목표주차위치의 중심이 되도록 설정한다.
도 21은 서브 레퍼런스 코너와 목표주차위치의 바깥쪽 경계를 설정하는 방법을 도시한 도면이다.
빈 주차공간 좌우의 차량 또는 건축구조는 깊이 방향 위치가 다를 수 있다. 이점을 보상하기 위하여, 서브 레퍼런스 코너를 d 1 측 방향의 직선에 투영시킨 점(도 21의 서브 레퍼런스 코너를 투영한 점)과 메인 레퍼런스 코너 중에서 인접공간의 더 바깥 쪽의 위치를 목표주차위치의 바깥쪽경계(outward border)로 설정한다. 도 21은 서브 레퍼런스 코너 인식 결과와 메인 레퍼런스 코너를 기준으로 설정한 목표주차위치의 바깥쪽 라인을 보여준다.
일단 메인 레퍼런스 코너 및서브 레퍼런스 코너와 바깥쪽경계가 설정되면, 목표주차위치의 폭 방향 중심이 바깥쪽경계 상의 중앙에 오도록 설정함으로써 목표주차위치를 설정할 수 있다. 목표주차위치의 폭과 길이는 자차의 폭과 길이를 기준으로 설정한다.
도 22는 설정된 설정된 목표주차위치를 도시한 도면이다.
도 22에 도시하듯이 목표주차위치가 설정되어 있음을 알 수 있다.
도 23은 목표주차위치의 바깥쪽경계가 서브 레퍼런스 코너의 투영 점으로 결정되는 경우를 도시한 도면이다.
도 23에 도시하듯이 빈 주차공간이 차량과 기둥 사이에 있는 경우로 목표주차위치의 바깥쪽경계가 서브 레퍼런스 코너의 투영에 의하여 결정된 경우를 보여준다. 이와 같이 서브 레퍼런스 코너의 투영을 고려함으로써, 빈 주차공간이 깊이가 다른 두 물체 사이에 존재하는 경우에도 양쪽 물체의 깊이 방향에 평행하면서 적당한 깊이에 목표주차위치가 설정되게 된다.
이와 같은 방법으로 총 26가지 경우에 대하여 제안한 방법을 적용한 결과, 모든 경우에 성공적으로 목표주차위치를 설정할 수 있었다. 실험에 사용한 레인지 데이터는 주간, 야간, 야외, 지하, 역광 등 기존의 다른 방법들에선 해결하기 힘들었던 경우들을 포함하고 있다.
도 24는 본 발명의 일 실시예에 따른 차량의 목표주차위치 인식 방법을 도시한 흐름도이다.
도 24에 도시하듯이 본 발명의 일 실시예에 따른 차량의 목표주차위치 인식 방법은 스캐닝 레이저 레이더, 전처리부, 코너인식부 및 주차위치 설정부를 구비하는 시스템의 차량의 목표주차위치 인식 방법에 있어서, 스캐닝 레이저 레이더가 레인지 데이터를 검출(S242)하는 단계, 전처리부가 레인지 데이터를 전처리하여 유효 클러스터를 추출(S244)하는 단계, 코너인식부가 유효 클러스터로부터 장애물 코너를 추출(S246)하는 단계 및 주차위치 설정부가 장애물 코너 중에서 인접공간이 빈 주차공간 조건을 만족하되 자차와 가장 인접한 장애물 코너인 메인 레퍼런스 코너를 인식하고 인접공간쪽으로 메인 레퍼런스 코너로부터 차폭 방향의 역방향에 존재하되 차폭거리과 차 길이 사이의 범위에 있는 가장 가까운 유효 클러스터 상의 점인 서브 레퍼런스 코너를 인식하여 목표주차위치를 설정(S248)하는 단계를 포함한다.
여기서 전처리는 레인지 데이터로부터 무효점 및 고립점을 제거하여 유효 레인지 데이터를 추출하는 단계, 유효 레인지 데이터로부터 어클루젼을 인식하는 단계 및 유효 레인지 데이터로부터 작은 클러스터를 제거하는 단계를 포함할 수 있다.
여기서 장애물 코너는 형상이 'L'자를 이루는 유효 클러스터의 코너 또는 형상이 타원의 호 및 직선을 이루는 유효 클러스터의 코너를 말한다.
빈주차공간 조건은 추출한 장애물 코너로부터 차폭방향의 역방향쪽으로 일정 관심범위 내에 차폭거리와 차 길이 사이의 범위에 장애물체가 있고, 장애물 코너로부터 차 길이 방향의 역방향쪽으로 일정 관심범위 내에 상기 차 길이 범위 내에 장애물체가 없는 경우를 말한다.
또한 서브 레퍼런스 코너는 어클루젼 혹은 상기 장애물 코너 중에서 하나일 수 있다.
또한 목표주차위치는 서브 레퍼런스 코너를 상기 메인 레퍼런스 코너로부터 차 길이 방향으로 연장한 직선에 투영한 점과 메인 레퍼런스 코너 중에서 인접공간의 더 바깥쪽에 있는 점을 지나면서 차폭방향에 평행인 선분을 바깥쪽 경계로 설정 하고, 바깥쪽 경계의 중심을 지나면서 차 길이 방향에 평행한 선분이 목표주차위치의 중심이 되도록 설정할 수 있다.
이상과 같은 본 발명의 일 실시예에 따른 차량의 목표주차위치 인식 방법은 도 2 내지 도 23에서 설명한 본 발명의 일 실시예에 따른 차량의 목표주차위치 인식 시스템 설명과 동일하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명에 의하면, 차량 후방에 스캐닝 레이저 레이더를 장착하여 감지한 레인지 데이터를 이용하여 직각 주차시 목표주차위치를 설정함으로써 주간, 야간, 야외, 지하, 역광 등 기존의 다른 방법들에선 해결하기 힘들었던 경우에도 목표주차위치 설정이 가능해지는 효과가 있다.