KR101991626B1 - 지능형 차량을 위한 소실점 검출 방법 및 시스템 - Google Patents

지능형 차량을 위한 소실점 검출 방법 및 시스템 Download PDF

Info

Publication number
KR101991626B1
KR101991626B1 KR1020180059484A KR20180059484A KR101991626B1 KR 101991626 B1 KR101991626 B1 KR 101991626B1 KR 1020180059484 A KR1020180059484 A KR 1020180059484A KR 20180059484 A KR20180059484 A KR 20180059484A KR 101991626 B1 KR101991626 B1 KR 101991626B1
Authority
KR
South Korea
Prior art keywords
vanishing point
image
harmony
frame
memory
Prior art date
Application number
KR1020180059484A
Other languages
English (en)
Inventor
김종우
한기태
문윤영
Original Assignee
가천대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가천대학교 산학협력단 filed Critical 가천대학교 산학협력단
Priority to KR1020180059484A priority Critical patent/KR101991626B1/ko
Application granted granted Critical
Publication of KR101991626B1 publication Critical patent/KR101991626B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/167Driving aids for lane monitoring, lane changing, e.g. blind spot detection
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • B60W2420/42
    • B60W2550/14
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20061Hough transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Image Analysis (AREA)

Abstract

지능형 차량의 소실점 검출 방법이 제공된다. 이 방법은, (a) 영상을 입력받는 단계; (b) 상기 영상의 특정 프레임에서 에지(edge)를 검출하는 단계; (c) 상기 특정 프레임에서 검출된 에지를 허프 라인 변환(Hough line transform)하는 단계; (d) 상기 특정 프레임이 상기 영상의 첫번째 프레임이면, 하모니 메모리(Harmony Memory)를 초기화함으로써 하모니 메모리를 설정하고, 하모니 검색 알고리즘(Harmony Search algorithm)에 의해 상기 특정 프레임에서의 소실점을 얻는 단계; (e) 상기 특정 프레임이 상기 영상의 첫번째 프레임이 아니면, 하모니 메모리를 초기화하지 않고 이전 프레임에서 얻어진 하모니 메모리를 이용함으로써 하모니 메모리를 설정하고, 하모니 검색 알고리즘에 의해 상기 특정 프레임에서의 소실점을 얻는 단계; (f) 상기 (e) 단계의 판단을 반복하여 상기 영상의 매 프레임마다의 소실점을 얻는 단계를 포함한다.

Description

지능형 차량을 위한 소실점 검출 방법 및 시스템{METHOD AND SYSTEM FOR DETECTING VANISHING POINT FOR INTELLIGENT VEHICLES}
본 발명은 지능형 차량, 예컨대, 자율주행 차량을 위한 실시간 소실점 검출 방법 및 시스템에 대한 것이다.
자율주행 차량의 운행을 위해서는 여러가지 영상 인식 기술이 필요하다. 일예로 주행 중의 차선을 파악하고, 그 소실점(vanishing point)을 파악하는 것도 중요한 요소 중 하나이다.
소실점이란 3차원 공간상에서 평행하는 직선들을 무한히 연장하고 이를 2차원 평면으로 투영하였을 때 그 평면상의 한 점에서 만나게 되는 지점을 가리킨다. 소실점 검출을 활용한 예로는, 세 개의 서로 직교하는 방향의 소실점와 소실선을 구함으로써, 인공구조물(architectural)을 해석하여 건물을 재해석할 수도 있다. 인공 구조물이 포함된 2차원 영상의 3차원 변환에서는 소실점을 검출함으로써 깊이 지도(depth map)를 생성할 수 있다. 이는 3차원 공간이 2차원 영상으로 변하면서 소실점이 위치하는 부분은 일반적으로 영상 내에서 가장 먼 곳에 해당하므로 상대적인 깊이 추정이 가능하기 때문이다.
그리고, 소실점 정보는 자율주행 차량에 있어서 차선 검출(lane detection)의 기준 또는 로봇 등의 자율 주행 시스템에서 위치 정보 분석에 중요한 기반이 된다. 이는, 소실점에서 이어지는 주요한 에지(edge)를 연결하여 도로를 검출할 수 있기 때문이다.
도로 환경(Road environment) 인지 기술은 크게 차선 검출기술과 이동 오브젝트(object) 인식 기술로 구분된다. 이러한 기술은 전방의 차선을 검출하고 도로 위의 차선 안밖에서 이동하는 오브젝트를 인지함으로써 도로의 환경을 분석하는 기술인데, 이 중 차선 검출 기술은 주로 자동차의 자율주행이나 자동주차 시스템 연구에서 필요한 기술이다.
차선을 검출하기 위해서는, 영상으로부터 에지 성분을 먼저 추출하고, 평행한 에지성분들이 영상에 투영되면서 생기는 소실점을 검출한 후 그 정보를 기준으로 차선을 검출하게 된다. 따라서 차선의 경계선 검출을 위해서는 먼저 소실점 검출이 진행되어야 한다.
그동안 차선의 경계선 검출과 소실점 검출에서 수많은 연구들이 진행되어 왔는데, 이는 주로 도로 영상에 존재하는 다양한 형태의 잡음들이 존재할 때 소실점과 차선의 경계선을 얼마나 정확하게 검출하는가가 연구의 관심이었다. 소실점 검출을 위해서는 다양한 영상의 정보를 분석하여 영상에서 직선 성분을 검출하는 연구와 영상의 특징을 분석하는 연구로 구분되는데, 허프 변환(Hough transformation)으로 직선을 구한 다음 소실점을 구할 수 있다. 허프 변환을 이용한 차도 영역의 추출은 복잡하고 다양한 배경을 가지는 도로 영상에서 어려움이 있지만, 정확한 직선 정보를 얻을 수 있기 때문에 이를 이용한 연구가 이루어지고 있다.
예컨대, 비특허문헌 1은 허프 공간(Hough space)에서의 직선정보를 가지고 최소제곱법(least square method)으로 소실점을 검출하는 연구를 하였다.
비특허문헌 2는 입력 영상으로부터 일정 조건을 만족하는 좌측과 우측에 대한 직선 정보를 수집한 뒤 해당 직선 성분들이 밀집되는 위치의 점을 소실점으로 검출하였다. 이 때 소실점의 위치는 영상에서 사전에 정의한 수평선 상에 존재한다고 가정하고 검출하며, 검출된 소실점은 이후 칼만 필터(Kalman filter)를 이용하여 추정함으로서 실시간 소실점 검출이 가능하다. 그러나 이 방법은 좌우측 직선 성분들이 장애물 없이 검출되어야만 가능하며, 또한 소실점의 위치가 고정되어 있어야 한다는 가정이 반드시 필요하다는 문제점이 있다.
비특허문헌 3은 가버 필터(Gabor filter)를 이용하여 4개의 방향에 대해 영상의 지역적 방향 특성(direction feature)을 분석하고 소실점이 위치하는 영상의 상향 방향으로 교점을 검출하여 소실점을 검출하였는데, 이 방법은 영상의 경계선에 의존하지 않으므로 다양한 환경에서 적용이 가능하지만 가버 필터의 특성상 실시간 소실점 검출이 불가능하다는 문제점이 있다.
비특허문헌 4는 시각적 주의 방법(visual attention that identifies salient regions and translational symmetries)을 통해 모든 물체가 집중되는 소실점에서는 높은 주의 점수(attention score)가 기대될 것이라는 가정 하에, 하나의 픽셀 쌍에서의 색 차이가 소정의 문턱값(threshold)을 초과하면, 미스매치가 카운되고 주의 점수가 증가된다. 이 방법은 상당히 복잡한 영상에서의 소실점 검출이 가능하지만, 한 픽셀에 대해 100번의 반복횟수가 발생하므로 실시간 검출이 불가능하다는 단점이 있다.
특허문헌 1은 소실점을 이용한 자동차의 차선 이탈 경보 방법에 대한 것이나, 정확한 소실점이 얻어짐을 전제로 하고, 소실점의 위치가 임계 구간의 위치를 비교하고 있는 바, 정확한 소실점을 실시간으로 얻는 구체적인 방법에 대해서는 구체적으로 개시하는 바 없다.
특허문헌 2는 소실점 기반의 양안시차를 이용한 차선 검출 방법에 대한 것이나, 이 역시 정확한 소실점이 얻어짐을 전제로 하고, 좌우 영상의 대비를 통해 차선을 예측하고 있는 바, 정확한 소실점을 실시간으로 얻는 구체적인 방법에 대해서는 구체적으로 개시하는 바 없다.
특허문헌 3은 지능형 차량의 차선 검출 방법에 대한 것이나, RANSAC 알고리즘을 이용하여 도로의 소실점을 검출하고, 역 투시변환 기술을 적용하고 있는 바, RANSAC 알고리즘을 이용할 때에 프레임에 따라 소실점의 위치가 비교적 크게 변동되는 것에 대한 해결책을 개시하는 바 없다.
특허문헌 4는 영상 정보를 이용한 차선 경계 검출 방법에 대한 것이나, RANSAC 알고리즘을 이용하여 인라이어와 아웃라이어를 구분하고 있는 바, RANSAC 알고리즘을 이용할 때에 프레임에 따라 소실점의 위치가 비교적 크게 변동되는 것에 대한 해결책을 개시하는 바 없다.
특허문헌 1: 한국등록특허공보 10-0666276호 특허문헌 2: 한국공개특허공보 10-2016-0088986호 특허문헌 3: 한국등록특허공보 10-1483742호 특허문헌 4: 한국공개특허공보 10-2014-0080105호
비특허문헌 1: H. J. Liu, "A Fast Method for Vanishing Point Estimation and Tracking and Its Application in Road Images", In Proceedings of the 6 th International Conference on ITS Telecommunications, pp.106 -109 , 2006 비특허문헌 2: T. Suttorp,and T. Bucher, "Robust Vanishing Point Estimation for Driver Assistance" , Proceedings of the IEEE ITSC 2006 ,pp.1550-1555, 2006 비특허문헌 3: P . Moghadam, J. A. Starzyk, and W. S. Wijesoma,"Fast Vanishing-Point Detection in Unstructured Environments" , IEEE Transactions on Image Processing, V ol. 21, No. 1, pp.425-430, 2012 비특허문헌 4: F. Stentiford, "Attension-based Vanishing 소실점 detection ", In Proceedings of the 200 6 IEEE International Conference on Image Processing(ICIP ), pp.417 -420, 2006
자율 주행의 소실점 검출에서는, 실시간 주행의 특성상, 정확성과 신속성이 동시에 요구된다. 계산량이 많을수록 정확한 소실점을 얻을 수 있으나, 실시간 처리에 적합하지 않을 수 있다. 그렇다고 하여 신속성만을 강조하면 정확한 소실점을 얻지 못함으로써 얻는 단점이 크게 부각될 수 있다.
영상으로부터 RANSAC 알고리즘(RANdom SAmple Concensus algorithm)을 이용하여 직선들이 수렴하는 소실점을 찾는 방법을 이용할 수도 있다. RANSAC은 잡음이 심한 측정 데이터로부터 최적의 모델 파라미터를 결정하는 알고리즘으로써 주어진 원본 데이터로부터 임의의 일부 데이터를 선택한 뒤 최적의 파라미터를 예측하는 과정을 반복하면서 좋은 모델 파라미터를 검출한다. 그러나 RANSAC 알고리즘은 빠른 연산 속도의 장점이 있지만 정확도 면에 있어서는 확률적인 리스크가 존재한다.
본 발명은 소실점 검출에 있어서 정확도를 희생시키지 않으면서도 실시간 검출이 가능한 방법 및 시스템을 제공하는 것을 과제로 한다.
본 발명에 따른 지능형 차량의 소실점 검출 방법은, (a) 영상을 입력받는 단계; (b) 상기 영상의 특정 프레임에서 에지(edge)를 검출하는 단계; (c) 상기 특정 프레임에서 검출된 에지를 허프 라인 변환(Hough line transform)하는 단계; (d) 상기 특정 프레임이 상기 영상의 첫번째 프레임이면, 하모니 메모리(Harmony Memory)를 초기화함으로써 하모니 메모리를 설정하고, 하모니 검색 알고리즘(Harmony Search algorithm)에 의해 상기 특정 프레임에서의 소실점을 얻는 단계; (e) 상기 특정 프레임이 상기 영상의 첫번째 프레임이 아니면, 하모니 메모리를 초기화하지 않고 이전 프레임에서 얻어진 하모니 메모리를 이용함으로써 하모니 메모리를 설정하고, 하모니 검색 알고리즘에 의해 상기 특정 프레임에서의 소실점을 얻는 단계; (f) 상기 (e) 단계의 판단을 반복하여 상기 영상의 매 프레임마다의 소실점을 얻는 단계를 포함한다.
바람직하게는, 상기 (d) 단계 또는 상기 (e) 단계에서, 상기 하모니 검색 알고리즘은, (1) 상기 하모니 메모리를 설정하고, (2) 신규 하모니를 형성하고, (3) 상기 (c) 단계에서 얻어진 이미지로부터 인라이어(inlier)와 아웃라이어(outlier)를 구분하여, 소정의 점 P에 대한 인라이어 직선 갯수를 계산하고, (4) 상기 하모니 메모리를 업데이트하는 것을 반복함으로써 수행된다.
바람직하게는, 상기 (3) 단계에서의 계산은 RANSAC 알고리즘(RANdom SAmple Concensus algorithm)의 objective 함수에 따른다
바람직하게는, 상기 (d) 단계에서 상기 하모니 메모리의 초기화는, 상기 영상의 중심으로부터 일정 영역에서 소정 갯수의 임의의 점을 선택함으로써 행해진다.
바람직하게는, 상기 일정 영역 내의 점들 중에서 최대의 컨센서스를 갖는 점이 소실점으로 지정되며, 상기 최대의 컨센서스는, 상기 (c) 단계에서 얻어진 직선들에 대해 RANSAC 알고리즘의 objective 함수를 적용한 결과, 상기 영상 내의 직선들이 최대 갯수 수렴하는 것을 지칭한다.
본 발명에 따른 지능형 차량의 소실점 검출 방법은, (a) 영상을 입력받는 단계; (b) 상기 영상의 첫번째 프레임에서 에지(edge)를 검출하는 단계; (c) 상기 첫번째 프레임에서 검출된 에지를 허프 라인 변환(Hough line transform)하는 단계; (d) 상기 영상의 중심으로부터 일정 영역에서 소정 갯수의 임의의 점을 선택함으로써, 하모니 검색 알고리즘(Harmony Search algorithm)의 하모니 메모리(Harmony Memory)를 초기화하는 단계; (e) 신규 하모니를 형성하는 단계; (f) RANSAC 알고리즘(RANdom SAmple Concensus algorithm)의 objective 함수에 따라, 상기 (c) 단계에서 얻어진 이미지로부터 인라이어(inlier)와 아웃라이어(outlier)를 구분하여, 소정의 점 P에 대한 인라이어 직선 갯수를 계산하는 단계; (g) 상기 하모니 메모리를 업데이트하는 단계; (h) 상기 (e)~(g) 단계를 순차적으로 반복하는 단계; (i) 상기 (d) 단계의 일정 영역 내의 점들 중에서 최대의 컨센서스를 갖는 점이 소실점으로 지정되며, 상기 최대의 컨센서스는 상기 (c) 단계에서 얻어진 직선들에 대해 RANSAC 알고리즘의 objective 함수를 적용한 결과, 상기 영상 내의 직선들이 최대 갯수 수렴하는 것을 지칭하는, 단계를 포함한다.
바람직하게는, 상기 (i) 단계에 의해 소실점을 얻은 후에 상기 단계 (e)로 돌아가서 다음 프레임에 대한 소실점 계산을 수행하며, 이 경우에는, 하모니 메모리를 초기화하지 않고, 이전 프레임에서 업데이트된 하모니 메모리를 사용한다.
본 발명에 따르면, 컴퓨터로 하여금, 전술한 방법을 수행하도록 하는 프로그램이 기록된 컴퓨터 판독가능 기록 매체가 제공된다.
본 발명에 따르면, 전술한 컴퓨터 판독가능 기록 매체를 포함하는 지능형 차량의 전자 제어 유닛(ECU)이 제공된다.
본 발명에 따르면, 전술한 전자 제어 유닛 및 차량 전방의 영상을 촬영하여 상기 전자 제어 유닛에 제공하는 카메라를 포함하는 지능형 차량이 제공된다.
본 발명의 제안한 Harmony Search 방법은 한 프레임 내에서 Harmony Memory의 좌표 값들이 반복 횟수를 거듭할수록 한 점으로 수렴하게 되어 최종 단계에서 선택되는 점이 소실점이 됨을 시각적으로 확인할 수 있다. 또한 연속된 동영상에서는 현재 프레임에서 얻은 소실점 좌표 정보를 다음 프레임에서의 Harmony Memory를 형성하는데 이용하여 결정변수의 제약조건을 매우 좁은 범위로 설정할 수 있기 때문에, 두 번째 프레임부터는 적은 반복횟수로 소실점을 검출하는 것이 가능하다.
본 발명의 방법 및 시스템은 실시간 영상에서 소실점을 안정적으로 검출할 수 있기 때문에 실시간 차선 검출에서 사용하기에 적합하다.
도 1은 본 발명의 방법에 따른 흐름도를 나타낸다.
도 2a는 허프 라인 변환을 설명하는 도면이다.
도 2b는 허프 라인 변환에서 누적 배열의 저장 과정을 설명하는 도면이다.
도 3은 RANSAC 기반의 소실점 검출의 일예를 나타내는 도면이다.
도 4는 도 3을 더욱 도식적으로 나타낸다.
도 5는 하모니 검색 알고리즘의 원리를 설명하는 개념도이다.
도 6은 최적화 방법의 타당성을 확인하기 위하여, 관심영역에 존재하는 모든 점을 대상으로 RANSAC objective 함수를 사용한 결과이다.
도 7a 및 도 7b는 단계 102, 103의 일예를 나타내는 도면이다.
도 8은 본 발명의 일예에서, HMS는 5, HMCR은 0.8, PAR은 0.3으로 설정하여 소실점을 구하는 과정을 나타내는 도면이다.
도 9는 본 발명의 일예에 따른 소실점 검출 결과를 나타낸다.
도 10은 도 9의 본 발명의 일예에 따른 소실점 검출 결과를 다른 방식으로 나타낸 도면이다.
도 11은 본 발명에 따른 소실점 검출 결과의 분포를 나타낸다.
도 12는 ROI(관심 영역)를 나타낸다.
도 13은 여러가지 도로 환경에서 본 발명에 따른 소실점 검출을 행한 예를 보여준다.
도 14는 RANSAC 방법을 이용한 예로서, 실행할 때마다 동일한 영상에 대하여 소실점 검출의 위치가 다르게 나타나는 예를 보이고 있다.
도 15는 Harmony Search 방법을 이용한 안정적인 소실점 검출 결과이다.
도 16은 RANSAC 방법을 이용한 예로서, 오검출의 예시이다.
도 17은 Harmony Search 방법을 이용한 안정적인 소실점 검출 결과이다.
도 18은 RANSAC 방법에 따른 소실점 검출과 하모니 검색 방법에 따른 소실점 검출을 비교해서 보여주는 도면이다.
이하, 도면을 참조하여 본 발명에 따른 방법 및 시스템을 설명한다.
도 1은 본 발명의 방법에 따른 흐름도를 나타낸다.
먼저, 화상이 입력된다(단계 101). 화상은 정지 화면이든 동영상이든 무관하나, 자율 주행에 적용하기 위해서는 대부분 동영상을 대상으로 할 것이다.
입력된 화상에 대해 에지(edge)를 검출하고(단계 102), 허프 라인 변환(Hough Line Transform) 등의 방법으로 직선을 표현한다(단계 103). 이 원리에 대해서는 도 2~4 등을 통해 더욱 자세히 설명하기로 한다.
다음으로 이 화상의 첫번째 프레임에 대한 처리인지 판단한다(단계 104).
첫번째 프레임이라면, 단계 105로 진행하여 하모니 메모리(Harmony Memory)를 초기화한다. 첫번째 프레임이 아니라면, 단계 106으로 진행하여 이전의 소실점을 이용한 하모니 메모리를 이용한다. 단계 105~110의 하모니 검색의 원리에 대해서는 도 5~8 등을 통해 더욱 자세히 설명하기로 한다.
단계 105 또는 단계 106의 처리 후에, 단계 107에서 신규 하모니를 형성(improvise new Harmony)한다. 그리고 objective 함수를 이용한다(단계 108). 단계 109에서, 하모니 메모리를 업데이트한다. 단계 110에서 소정 횟수만큼 반복했는지를 판단하여, 횟수가 부족하면 단계 107로 가고, 횟수가 충분하면 단계 111로 이동한다. 최대 컨센서스가 얻어지는 점 P를 찾고(단계 111), 이를 소실점으로 정한다(단계 112).
도 1의 흐름도에 따라 동작하는 프로그램을 갖는 컴퓨터 판독가능 기록매체, 도 1의 흐름도에 따라 동작하는 CPU(중앙 처리 장치), 도 1의 흐름도에 따라 동작하는 ECU(전자 제어 유닛), 이 전자 제어 유닛을 포함하는 지능형 차량도 본 발명의 범위에 포함될 수 있다.
도 2a는 허프 라인 변환을 설명하는 도면이다.
도 2a의 좌측도는 이미지 도메인을 나타내고, 도 2a의 우측도는 허프 도메인을 나타낸다.
함수를 이용하여 직선을 표현하는 방법 중에서 대표적인 방법이 허프 변환인데, 이것은 영상에서 물체의 윤곽을 이루는 곡선 또는 직선이 파라미터로 표현되는 경우에 그것을 검출해 내는 방법이다. 영상에서의 직선의 에지(edge of straight lines)는 x-y 평면에서 y=ax+b의 식으로 기울기 a와 y절편 b의 두가지 매개변수에 의해 표현할 수 있다. 그러나 수직선이거나 수직선에 가까운 직선들은 기울기가 무한대에 접근하게 되어 계산이나 표현이 어려워지게 된다. 이런 단점을 극복하기 위해 x-y 평면상의 직선의 방정식을 도 2a와 같은 방법으로
Figure 112018051324110-pat00001
식으로 표현할 수 있다.
여기서 ρ는 원점에서 직선까지 수직으로 만나는 수선의 길이이며, θ는 ρ와 x축이 이루는 각이다. 이 방법을 사용하여 영상 내의 모든 직선을 표현할 수 있다.
이 표현 방법으로 x-y space 상에 존재하는 모든 점들에 대해 허프 변환을 적용시킨 결과값인 사인파 곡선을 저장할 축적기(accumulator)를 만든다. 이 배열은 2차원 배열이며, 수평축은 각도(θ)성분을 나타내고 수직축은 거리
Figure 112018051324110-pat00002
성분을 나타낸다. 이 축적기에 저장되는 값은 해당되는 θ와 ρ로 결정되는 x-y space 의 직선상에 있는 점들의 개수이고, 이 값이 크다는 것은 이 누적배열 성분의 직선들이 많이 존재한다는 것을 의미한다. 따라서 이 누적배열을 이용하여 영상내에 존재하는 직선을 검출하게 된다.
도 2b는 허프 라인 변환에서 누적 배열의 저장 과정을 설명하는 도면이다.
도 2b와 같이 누적배열에 누적된 직선성분의 개수를 조사하여 적당한 임계값을 정하고, 이 임계값을 초과하는 누적배열 성분만을 구해낸다. 임계값은 영상내에서 의미를 가지는 직선의 최소 길이가 된다.
도 3은 RANSAC 기반의 소실점 검출의 일예를 나타내는 도면이다.
본 발명의 소실점 검출은 RANSAC 기반의 검출이 아니지만, 본 발명의 특징을 더욱 명확히 설명하기 위해서, RANSAC 방식의 원리 및 그 한계에 대해 먼저 간단히 설명한다. 본 발명에서도, RANSAC 방법을 완전히 배제하는 것은 아니고, 그의 objective 함수에 대한 내용을 일부 채택할 수도 있다.
RANSAC(RANdom SAmple Consensus) 알고리즘은 어떤 데이터 샘플로부터 전체 데이터를 대표하는 모델을 예측하는 방법으로, 영상 내에 존재하는 직선들 중에서 샘플을 뽑아 구한 교점을 소실점을 예측하기 위해 이용될 수 있다. 또는 영상 내의 직선성분을 구하기 위해 RANSAC 알고리즘을 사용할 수도 있을 것이다.
임의의 시스템과 그 특성을 결정할 수 있는 데이터가 획득되어 있을 때, 최소제곱법(ast square method)과 같은 기존의 파라메터 추정기법은 주어진 모든 데이터를 최적으로 만족시킬 수 있는 값을 찾게 된다. 이같은 평균화 기법의 배경에 깔려있는 가정은 오차의 기대치가 데이터의 크기와 직접적으로 연관되어 있다는 것이지만, 많은 실제 문제에 있어 이 같은 가정은 만족되지 않는다. 즉 사용자의 실수 등에 의한 오차와 같이 큰 오차는 다른 데이터들의 오차에 의해 제대로 상쇄되지 못하여, 파라미터 추정 결과에 심각한 영향을 주게 된다. 그러므로 평균화 기법이 유용한 경우는 확률적으로 불규칙하며 오차의 평균이 0인 경우에 제한된다.
RANSAC 알고리즘은 이러한 문제를 효과적으로 해결할 수 있는 방법으로, 개념상 간단하고 컴퓨터 프로그래밍에 적합한 구조를 가진다. RANSAC 알고리즘의 절차는 아래와 같이 요약할 수 있다.
① 모델에 맞는 최소 요구 사이즈의 랜덤 샘플을 선택한다.
② 샘플 세트로부터 추정 모델을 계산한다.
③ 전체 데이터 세트로부터 이 모델에 대한 인라이어(inliers)의 세트를 계산한다.
④ 모든 샘플에 대해서 대부분의 인라이어가 발견될 때까지 상기 ①~③을 반복한다.
여기서 얼마나 많은 실행횟수를 반복해야 할지를 결정해야 하는데, RANSAC이 성공하기 위해서는 N번의 시도중 적어도 한번은 인라이어들만 샘플 데이터가 뽑혀야 한다. 이러한 확률은 N을 키우면 키울수록 증가할 것이지만, 무한정 RANSAC을 수행할 수는 없기 때문에 확률적으로 반복 횟수를 결정한다. RANSAC의 반복회수를 N, 한번에 뽑는 샘플 개수를 m, 데이터에서 인라이어의 비율을 α라 하면 N번중 적어도 한번은 인라이어에서만 샘플이 뽑힐 확률 p는
Figure 112018051324110-pat00003
이다. 따라서 반복횟수 N은 하기의 식과 같다.
Figure 112018051324110-pat00004
... 식 (1)
허프 변환에서 모든 점들에 대해 만들 수 있는 직선들을 조사한 방법과 유사하게, 모든 직선들을 이루는 점들을 누적하여 맵을 생성한 다음 가장 많은 점이 누적된 곳의 좌표를 영상 내부의 소실점으로 검출할 수 있다. 그러나 이 방법은 허프 변환과 마찬가지로 연산량이 많기 때문에 실시간 영상에서 이용하기에는 적합하지 않다. 이를 보완하기 위해 RANSAC 알고리즘을 사용하고 있는데, 이 방법은 임의의 직선 샘플을 이용한 교점으로 소실점을 예측하는 방법이다.
이 방법은 소실점 검출을 위한 직선의 집합으로부터 2개의 직선 샘플을 임의로 선택하여 생성되는 하나의 교점을 아래 식 (2)의 점 P로 설정하고, 다른 모든 직선의 수직거리를 아래의 식 (2), (3)으로 계산하여 그 결과가 문턱값(threshold) 이내인 직선을 소실점으로 수렴하는 인라이어 직선으로 간주하고, 그 직선의 개수가 최대가 되는 교점 P의 좌표를 소실점으로 결정하게 된다.
Figure 112018051324110-pat00005
... 식 (2)
Figure 112018051324110-pat00006
... 식 (3)
RANSAC 기반 소실점 검출에서의 인라이어/아웃라이어 구분을 위한 objective 함수 정의를 위한 변수 설정은 위 식 (2)와 같고, 이 변수를 이용한 objective 함수를 위 식 (3)으로 정의하였다. 식 (3)에서 점 P와 k번째 직선의 수직거리가 0인 경우 소실점 모델이 해당 직선과 동일선상에 있는 경우이고, 수직거리의 차이가 많이 벌어질수록 해당 직선은 소실점과는 연관이 없어져 아웃라이어 직선으로 판단한다.
도 3은 RANSAC 방법으로 소실점을 검출한 일예를 나타낸다.
먼저, 도 3(a)와 같이 허프 직선변환으로 영상 내 직선성분을 K개 검출한다. 2개의 직선을 랜덤으로 선택하여 교점 좌표 P를 계산하고 식 (2)에 따라 K개의 모든 직선과 점 P의 수직거리를 계산한다. 그리고 objective 함수인 식 (3)에 따라 점 P의 인라이어 직선 개수 CountP를 계산한다. 도 3(b)의 초록색 점은 검출된 빨간색 직선들 중에서 랜덤으로 2개를 선택하여 결정된 점 P 중에서 하나를 나타낸 것이며, 식 (2)를 이용하여 모든 직선들의 distk 를 구하고 식 (3)의 문턱값보다 작은 직선은 파란색으로 표시 하였다. 이 과정을 식 (1)의 반복횟수 N만큼 수행하여 도 3(c)와 같이 N개의 교점 P를 생성하고, 그 중에서 CountP가 최대인 교점 P를 도 3(d)와 같이 소실점으로 검출한다.
식 (1)에 따라 RANSAC 알고리즘에서는 랜덤으로 인라이어 샘플만 이용할 확률을 99.9% 혹은 99.99% 등으로 설정하여 샘플 추출 횟수 N을 결정해야 한다. 생성된 직선들 중에는 도로의 소실점으로 수렴하는 직선과 그렇지 않은 직선의 비율이 식 (1)의 α에 해당되며, 이는 실시간으로 변하기 때문에, 얻어진 직선들을 기반으로 RANSAC 알고리즘을 이용하여 소실점을 예측하기 위해서는 교점 샘플의 추출 횟수 N의 결정에 어려움이 있다. 또한 샘플의 추출 횟수 N을 적절하게 설정했다 하더라도, 이 방법의 정확도는 수학적 확률이고 실제적 결과와는 다를 수 있다는 단점이 있다. 따라서 교점 샘플 P 중에 소실점으로 수렴하는 직선만을 이용한 것이 없을 경우 매우 큰 오차가 발생한다.
또한 카메라로 획득한 데이터들은 약간의 오차가 있기 때문에 직선검출 단계에서 이상적인 직선을 검출하지 못한 경우 교점샘플이 소실점 주변에 생성되어 정확하지 않은 소실점이 검출될 수 있고, 교점 샘플의 채택은 확률적이기 때문에 실행 할 때마다 교점 P가 다르게 생성되어 매번 다른 결과가 나타날 수 있다.
도 4는 도 3을 더욱 도식적으로 나타낸다.
도 4(a)는 원래의 이미지이며, 도 4(b)는 여기에서 에지 검출 및 허프 변환 등을 통해 직선을 추출한 것이다. 도 4(c)는 샘플 라인의 교점을 구한 것이며, 도 4(d)에서 푸른색선은 인라이어 선이며, 이는 정확한 소실점 P를 제공한다. 그러나, 모든 직선(인라이어, 아웃라이어를 모두 포함)에 대해서 교점을 구해보면 도 4(e)와 같이 여러개의 교점이 형성된다. 이 중에서 가장 많이 겹치는 한 점(또는 매우 좁은 영역 부근)을 도 4(f)와 같이 최적점인 소실점이라고 판단한다.
도 5는 하모니 검색 알고리즘의 원리를 설명하는 개념도이다.
최근 대두되고 있는 진화 알고리즘(evolutionary algorithm)은 자연현상이나 혹은 행동현상을 모방하고 있다. 이들 중 대표적인 방법이라 할 수 있는 유전 알고리즘(genetic algorithm)은 분자생물학의 원리를 모방하고 있는데, DNA 염기서열이 뭉쳐져 있는 염색체 한쌍에서 일어나는 교차와 돌연변이, 그리고 좋은 염색체가 더 많이 선택되는 복제 현상을 최적화 엔지니어링(optimization engineering)에 도입하여 염색체를 해(solution)벡터로 보고 염기서열은 밸류(value)의 서열로 본 뒤 염색체를 여러 세대에 거쳐 진화시켜 적자인 최적치(optimal value)만 살아남게 하는 방법이다.
최근에는 다양한 분야에서 최적해(optimal solution)를 구하기 위해 이와 같은 진화 알고리즘을 이용하며, 이 진화 알고리즘 중 하나인 하모니 검색 알고리즘(Harmony Search algorithm)을 이용한 연구도 이루어지고 있다.
하모니 검색의 원리는 즉흥연주와 최적화 엔지니어링(optimization engineering)이 어떻게 대응되는지를 도 5와 같이 비교함으로 설명할 수 있다. 즉흥 연주에서 연주가 거듭될수록 보다 더 좋은 화음을 만들어 내어 결국 최상의 기량에 도달하듯이, 최적화 엔지니어링에서는 반복횟수가 증가할수록 더 좋은 함수값을 얻게 되고 결국 최적값에 도달하게 되는 것이다.
우선 좋은 해가 보존될 수 있도록 각 연주자들의 기억공간이 필요한데 그것을 한데 모은 화음기억공간은 아래 식 (4)와 같은 행렬로 나타낼 수 있다. 여기서 각 열은 각 변수(연주자)를 의미하는 것이고, 각 행은 하나의 해 벡터(화음)를 의미하며 각 행의 끝에는 그 행의 해 벡터에 해당하는 objective 함수의 결과 값이 들어오게 된다. N은 변수의 개수이며 HMS는 기억 공간속에 얼마나 많은 화음이 저장될 수 있는지 그 최대 갯수를 의미한다.
Figure 112018051324110-pat00007
... 식 (4)
하모니 검색 연산은 해 벡터를 발생시킨 횟수가 최대값에 도달하거나 혹은 일정 횟수 이상 해의 개선이 없을 경우 종료하게 되는데, 종료시점에서 화음기억공간에 저장된 해벡터 중 가장 좋은값을 최적 해로 선택하게 된다.
초기에 HMS(Harmony Memory Size)만큼 무작위 해 벡터로 채워진 화음 기억 공간으로부터 더 좋은 해들을 만들어내는 하모니 검색 알고리즘은 기본적으로 다음의 3가지 기법을 사용한다.
(1) 기억회상(Memory Consideration)
이 기법은 변수의 값을 기존에 발생한 소리들 중에서 하나를 뽑는 것이다. 즉 하모니 메모리에서 변수가 가지고 있던 값들중 하나를 뽑는 것인데, 그 확률은 HMCR(Harmony Memory Consideration Rate)로서, 0과 1사이의 값을 가질 수 있으나 보통 0.7에서 0.95 사이의 값을 많이 사용한다.
(2) 무작위 선택(Random Selection)
이 기법은 변수의 값을 연주가능 음역의 모든 값 중에 무작위로 하나를 선택하는 것이다. 모든 가능한 변수 값 중에 하나를 임의로 선택하게 되며, 이 기법이 채택될 확률은 (1-HMCR)이다. 이 기법은 초기에 HMS개만큼 화음기억공간을 채울 때 사용되는 방법과 같은 방법이다.
(3) 피치 조정(Pitch Adjustment)
기억회상기법을 통해 얻었던 음을 기본으로 하여 그 음의 피치를 주변의 위아래 음으로 조정해가며 다듬는 기법이다. 실제 계산에 있어서는 하나의 값을 기억회상기법으로 얻었을 때 그 음보다 한단계 크거나 혹은 작은 값으로 조정된다. 여기에서 PAR(Pitch Adjustment Rate)은 이 기법이 실제 적용되는 확률이며, 0에서 1의 값을 가질 수 있으나 일반적으로 0.01에서 0.3의 값을 가지게 된다.
위의 3가지 기법을 이용한 하모니 검색 알고리즘의 절차는 아래와 같이 요약될 수 있다.
1단계: Harmony Memory(하모니 메모리)를 초기화한다.
2단계: Harmony Memory의 값을 이용하여 New Harmony(신규 하모니)를 생성한다.
3단계: 만약 New Harmony가 Harmony Memory에 들어있는 가장 나쁜 화음보다 더 좋다면, New Harmony를 Harmony Memory에 포함시키고, 기존의 가장 나쁜 Harmony는 Memory에서 제외시킨다.
4단계: 계산 종료조건을 만족시키지 않았을 경우, 2단계로 돌아간다.
계산 종료조건은 지정한 반복횟수를 채우거나, 하모니 메모리가 완벽히 수렴하여, 더 이상 좋은 해를 찾지 못하는 경우이다.
최적화 엔지니어링(optimization engineering) 방법에 의한 소실점 추정의 타당성
RANSAC 방법에 의한 소실점 검출시 랜덤 샘플이 정확하지 않을 수 있다는 문제점이 있었다. 본 발명은 이러한 문제점을 해결하고자 RANSAC 방법의 objective 함수는 그대로 사용하고, 여기에 진화 알고리즘인 하모니 검색 알고리즘을 이용하여 좀 더 정확한 소실점을 검출할 수 있는 방법 및 시스템을 제공한다.
도 6은 최적화 방법의 타당성을 확인하기 위하여, 관심영역에 존재하는 모든 점을 대상으로 RANSAC objective 함수를 사용한 결과이다.
영상 내의 소실점 후보에 대한 점p를 결정하는데 있어서 기존의 RANSAC 방법에서는 영상내 존재하는 직선들로부터 선택한 임의의 두 개의 직선에 대한 교점을 점
Figure 112018051324110-pat00008
로 설정하고, 식 (3)을 통해 CountP를 계산한다. 그러나 여기서는 최적화 방법의 타당성을 확인하기 위하여, 관심영역에 존재하는 모든 점을 대상으로 식 (3)을 이용하여 CountP를 계산하였고, 그 결과는 도 6의 그래프와 같다. 최적화 엔지니어링은 어떤 모델의 최대값, 혹은 최소값을 구하는 objective 함수를 설계하고, 그 objective 함수에 들어가는 결정변수와 제약조건을 설정해야 한다. 아래 도 6의 그래프에서 소실점을 찾는다는 것은 objective 함수가 최대가 되는 좌표를 찾는 것이기 때문에 이것 또한 최적화 엔지니어링의 대상이 될 수 있으며, 영상 내 소실점의 좌표를 구하기 위하여 결정변수를 x, y 좌표로 설정하고 제약조건은 영상 내부로 설정하였다.
본 발명에서는 영상으로부터 소실점 추정을 위한 전처리 작업으로 영상으로부터 우선 가장자리(에지)를 검출하고, 검출된 에지 이미지로부터 직선 성분을 찾고, 이 직선 정보를 이용하여 하모니 검색 알고리즘으로 소실점을 구한다.
하모니 검색 알고리즘에서는 설정해줘야 할 파라미터가 있는데, 그것은 HMS, HMCR, PAR, 반복횟수이다.
1) HMS: 해집단의 개수로, 기타 다른 메타 휴리스틱 최적화 방법과 마찬가지로 여러 개의 해를 생성하는 것에서부터 시작하지만, 다음 세대에서 많은 해가 변경되는 유전 알고리즘의 해 집단과는 다르게, 새롭게 만든 한 개의 Harmony와 비교한다는 차이가 있다. 본 발명의 일예에서는 소실점을 검출하기 위한 Harmony Memory 파라미터를 실험적인 결과에 근거하여 5로 설정하였다.
2) HMCR: 새로운 하모니를 생성하는데 있어서 새로운 결정변수를 현재 Harmony Memory 내부의 정보를 이용할 것인가, 혹은 새로운 랜덤값을 이용할 것인가에 대한 확률이다. 영상 내 좌표에서 objective 함수인 차선의 소실점과 직선의 지지도 값은 유니모달(unimodal) 성향을 보이기 때문에, HMCR의 비율은 0.8 이상으로 설정한다.
3) PAR: 이것은 HMCR의 확률에 의하여 HM 안에 있는 값을 그대로 가져왔을 경우, 이 값을 그대로 이용할 것인가 혹은 약간의 피치를 조정하여 변경할 것인가에 대한 확률이며, 일반적으로 PAR의 파라미터는 0.3 으로 설정하는데, 본 발명의일예에서도 0.3으로 설정하였다.
하모니 검색 알고리즘은 도 1의 단계 104~111에 설명되어 있는 바와 같이 본 발명의 소실점 검출에 사용된다. 다만, 하모니 검색 알고리즘을 더욱 자세히 설명해 보면 다음과 같다,
직선을 검출하는 전처리 단계 이후의 하모니 검색 방법을 통한 소실점 검출 알고리즘은 일예로 다음과 같이 5단계로 구성할 수 있다.
Step 1: Harmony Memory 초기화 및 HMS, HMCR , PAR 파라미터를 설정한다. Harmony Memory 초기화는 영상의 중심으로부터 일정 영역에서 HMS 개 만큼의 임의의 점을 선택한다.
Step 2: New Harmony를 생성한다. HMCR과 HMS 설정 값에 따라 Harmony Memory 안에 들어있는 해들을 이용하여 x, y해를 결정한다.
Step 3: 이렇게 구성된 New Harmony와 기존 Harmony Memory의 해들의 RANK를 비교하여, 가장 나쁜 해는 버리고 그 자리에 가장 좋은 해를 New Harmony에 삽입한다.
Step 4: 계산 종료조건을 만족시키지 않았을 경우, Step 2로 돌아간다.
Step 5: 직선들로부터 가장 많이 표를 얻은 점을 소실점으로 출력한다. 또한 다음 프레임 처리를 위하여 선택된 점(현재 소실점)을 가지고 Step 1으로 간다.
다시 도 1을 참조하여 설명하면, 본 발명의 일예에서는 영상으로부터 에지를 찾기 위하여(즉, 단계 102) 캐니 에지 검출기(Canny Edge detector)를 사용할 수 있다. 그리고, 검출된 에지들로부터 직선을 찾기 위하여 허프 변환(Hough Transform) 등을 이용할 수 있다(단계 103). 허프 변환은 영상에서 전역적으로 직선을 검출하는 방법으로 연산량은 많지만 수학적인 방법이기 때문에 에지 영상에서 정확한 직선을 검출할 수 있다. 소실점 검출단계에서는 하모니 검색 알고리즘으로 영상 내부의 소실점 모델을 생성하고, 검출된 직선들을 이용하여 식 (3)의 CountP를 계산하여 영상 내 직선들이 최대로 수렴하는 소실점을 결정한다.
도 7a 및 도 7b는 단계 102, 103의 일예를 나타내는 도면이다.
전처리 단계에서 입력영상으로부터 캐니 에지 검출기에 의하여 직선을 검출한 결과는 도 7a와 같다. 도 7a의 경계선 영상으로부터 허프 직선 변환을 이용해 검출한 직선은 도 7b와 같다.
도 8은 본 발명의 일예에서, HMS는 5, HMCR은 0.8, PAR은 0.3으로 설정하여 소실점을 구하는 과정을 나타내는 도면이다.
<Step 1> : Harmony Memory(하모니 메모리)를 초기화 하는 단계이다. 도 8에서는 차선의 소실점이 존재할 것으로 예측되는 100×100 영역의 10,000개의 후보 점들 중 임의로 5개를 추출하여 Harmony Memory를 구성하였다.
<Step 2> : Harmony Memory 안에 들어있는 해들을 이용하여 New Harmony(신규 하모니)를 생성한다. 도 8의 예시에서의 x값은 HMCR의 80%의 확률로 Harmony Memory에 들어있는 5개의 x값 중에서 랜덤으로 1번째 해벡터의 x값을 이용한다. HMCR에 의해 HM의 값을 가져왔을 경우에는 PAR에 의해 이 값을 그대로 이용할 것인가, 피치 조정을 할 것인가를 결정한다. 예시에서는 PAR의 30%의 확률에서 배제된 70%의 확률로, 1번째 메모리에서 선택한 x 값을 그대로 이용하였다. y값은 HMCR에서 제외된 20%의 확률로 제약조건 내의 y값을 랜덤으로 생성하여 New Harmony에 넣는다.
<Step 3> : 이렇게 구성된 New Harmony와 기존의 Harmony Memory의 해들과 RANK를 비교하여 가장 나쁜 해였던 3번째 해벡터는 버리게 되고, 그 자리에 좋은 해인 New Harmony가 들어오게 된다.
<Step 4> : 설정한 반복횟수 N번, 혹은 Harmony Memory의 해들이 수렴할 때 까지 Step 2와 Step 3를 반복한다.
<Step 5> : Harmony Memory에서 Rank가 가장 높은 3번째 해 백터를 이용하여 다음 프레임의 초기해를 구성한다.
도 9는 본 발명의 일예에 따른 소실점 검출 결과를 나타낸다.
먼저 도 7(b)와 같이 직선을 검출한 다음, 식 (2)의 점 P를 Harmony Search 방법으로 생성한다. Harmony Search 방법의 첫 번째 반복(Iteration)에서는 영상 중앙의 관심영역 안에서 임의의 점 P 5개를 선택하여 초기 Harmony Memory를 도 9(a)와 같이 생성한다. Harmony Memory 안에 있는 5개의 점
Figure 112018051324110-pat00009
에 대한 식 (2)와 식 (3)을 계산하여 랭크를 비교한다. 이어지는 2번째 반복에서는 본 발명의 일예의 방법의 Step 2에 따라 New Harmony를 생성한 다음 식 (2)와 식 (3)을 계산한다. 기존의 Harmony Memory에 저장된 좌표와 New Harmony의 좌표를 비교하여 Harmony Memory를 업데이트한다. 이 방법으로 신규 하모니(New Harmony)를 반복적으로 생성하다 보면 Harmony Memory의 값들이 반복을 거듭할수록 소실점 부근으로 수렴하게 된다. 이 과정은 도 9(b)~(d)와 같다. 도 9(a)는 N=1(즉, 1회 반복)인 경우의 하모니 메모리의 결과, 도 9(b)는 N=15인 결과, 도 9(c)는 N=25인 결과, 도 9(d)는 N=50인 결과이다.
도 10은 도 9의 본 발명의 일예에 따른 소실점 검출 결과를 다른 방식으로 나타낸 도면이다.
최악의 하모니(도 10(b))가 새로운 하모니(도 10(c))로 교체되는 것이 나타나 있고, 이러한 과정이 반복되어 최적의 소실점을 찾는 것(도 10(f))이 나타나 있다.
도 11은 본 발명에 따른 소실점 검출 결과의 분포를 나타낸다. 도 12는 ROI(관심 영역)를 나타낸다.
본 발명의 방법의 타당성과 성능 검증을 위해 기존의 방법과 제안하는 방법을 정량적, 정성적으로 비교 분석하였다. 소실점 검출 방법에서 RANSAC 알고리즘을 사용하는 경우의 문제점을 분석하고 이를 해결하기 위한 방법으로 Harmony Search 기반 소실점 검출방법을 제안하고 이 방법에 대한 타당성을 보인다.
실험을 위하여 식 (3)의 objective 함수에서 distk의 문턱값을 0으로 설정하는 것이 가장 이상적이나, 640×360의 영상에서 영상의 왜곡이나 에지 이미지의 오차를 감안하여 임계값을 5픽셀로 설정하여 실험하였다.
본 발명과 관련하여 실험한 동영상에서 모든 프레임들의 소실점 검출 결과의 분포는 도 11과 같다. 검출된 소실점은 일정 영역 내에 주로 형성이 되며, 연속된 프레임에서 소실점이 급격하게 변하지는 않는다. 따라서 최초의 프레임에서 소실점을 검출한 경우 다음 프레임의 초기해의 제약조건을 전역적으로 설정하는 것이 아니라, 검출된 소실점의 좌표값을 기반으로 좁은 범위로 설정하여 이후 프레임부터는 초기에 설정한 반복 횟수보다 훨씬 적은 반복으로도 안정된 소실점을 검출 할 수 있도록 도 12와 같이 ROI(관심 영역; Region of Interest)를 설정하였다.
예컨대, 관심 영역은 영상의 중간의 소정의 영역, 더욱 구체적으로는 세로는 영상 전체 세로 사이즈의 30~50% 영역, 가로는 영상 전체 세로 사이즈의 20~40% 영역일 수 있다. 이는 일예이나, 대부분은 이러한 영역 내에 소실점이 존재할 것이다. 이 관심 영역은 청구범위에서 '일정 영역'이라고 지칭된 것에 대응된다. 하모리 메모리의 초기 범위를 이렇게 한정함으로써 더욱 효율을 높일 수 있다.
도 13은 여러가지 도로 환경에서 본 발명에 따른 소실점 검출을 행한 예를 보여준다. 도 14는 RANSAC 방법을 이용한 예로서, 실행할 때마다 동일한 영상에 대하여 소실점 검출의 위치가 다르게 나타나는 예를 보이고 있다. 도 15는 Harmony Search 방법을 이용한 안정적인 소실점 검출 결과이다.
본 발명의 일예는 Intel i5 DualCore CPU 1.7GHz. 8G RAM 환경 하에서 실험되었으며, 실험에 사용된 비디오 영상은 640×360 영상으로, 모바일 기기와 차량의 블랙박스 영상 등을 이용하여 차량 전방에서 촬영된 영상이다. 도 13은 실험에서 사용된 다양한 도로환경 영상이다. 도 13(a)영상은 이상적인 도로 환경, (b)는 저녁무렵의 도로 환경, (c)는 노이즈가 많은 도로 환경, (d)는 터널이 있는 도로 환경이다.
소실점 검출에 RANSAC 알고리즘을 이용하면, Random Sample을 이용하여 전체를 대표하는 모델을 추정하게 되는데, 그 때 정확도를 식 (1)에 따라 99.9%로 설계 할 수 있다. 그러나 이상적인 데이터의 집합과 달리, 현실에서 얻어진 데이터들은 인라이어 데이터라 해도 약간의 오차가 존재한다. 카메라로 획득한 데이터의 왜곡이나, 에지 검출단계의 오차 때문에 직선 검출단계에서 이상적인 데이터를 얻지 못하는 경우가 일반적인데, 이 직선 샘플을 이용하여 교점을 생성하게 되면 정확한 소실점을 검출하지 못하고 오차가 발생하게 된다. 또한 동일한 영상에서 소실점 검출을 여러번 수행해 보면, 매번 다른 샘플을 이용하기 때문에 다른 결과를 얻게 된다. 실험은 실험영상 도로 1,2,3,4를 가지고 소실점 검출 실행을 10,000회를 진행 하였다. 도 14는 실행할 때마다 동일한 영상에 대하여 소실점 검출의 위치가 다르게 나타나는 예를 보이고 있다. 도 14(a)는 도로 1의 293번째 프레임이며, 도 14(b)는 도로 2의 36번째 프레임이며, 도 14(c)는 도로 3의 24번째 프레임이며, 도 14(d)는 도로 4의 376번째 프레임이다. 노이즈가 적고, 차선 영역의 직선이 이상적으로 검출된 도 14(a)의 경우에도 최종 소실점 검출 결과가 동일한 한 점에 나타나지 못하는 문제가 있다.
도 15는 본 발명에 따라 Harmony Search 방법을 이용한 안정적인 소실점 검출 결과이다. 동영상에 표시된 노란색 원의 중심이 검출된 소실점의 위치이며, 빨간색 직선은 영상에서 검출된 모든 직선을 표시한 것이고 파란색 직선은 검출된 직선들 중에서 소실점의 위치를 결정하기 위해 사용된 인라이어 직선들이다. 평행한 차선이 수렴하는 소실점 정보를 정확하게 검출하였기 때문에, 이후 정확한 차선영역을 검출하는데 좋은 근거가 될 수 있다.
동일한 영상에서의 실행 횟수에 따른 오검출 비교
도 14(a)는 도로 1의 영상 293 번째 프레임에서 RANSAC 방법의 소실점 검출을 10,000회 실행한 결과이다. Harmony Search 알고리즘을 이용할 경우 objective 함수의 최대값으로 수렴하기 때문에, 여러번 반복해도 15(a)와 같이 (336,130)의 동일한 결과를 얻을 수 있다. 그러나 기존의 RANSAC 방법으로는 실행할 때마다 다른 결과를 얻게 된다.
아래 <표 1>은 실험영상에 대하여 각각 10,000회의 실험을 실행하였을 때, 매 실험할 때마다 검출된 소실점의 좌표와 10,000회 실험한 평균 좌표의 차이가 5픽셀 이상 차이가 있는 경우를 오차로 가정하여 나타내었다. Harmony Search 방법에서는 10,000회 실행을 하여도 소실점 검출 결과가 안정적으로 항상 일정하게 동일한 좌표가 검출됨을 알 수 있다.
Figure 112018051324110-pat00010
비디오 영상에서 프레임간 오검출 비교
도 16은 RANSAC 방법을 이용한 예로서, 오검출의 예시이다. 도 17은 Harmony Search 방법을 이용한 안정적인 소실점 검출 결과이다.
표 2는 동영상의 전체 프레임에 대해 소실점 검출의 안정성을 비교한 것으로, 현재 프레임의 소실점 검출 결과가 인접한 프레임의 소실점와 20픽셀 이상 차이가 난 경우이며, 도 16은 이러한 오검출의 예시이다. 랜덤 교점 샘플중에 차선 영역에서 검출된 직선이 포함되지 못했기 때문에 앞뒤 프레임의 소실점 결과에 비해 매우 큰 오차가 발생한 경우이다. 도 17은 해당 프레임에서 본 발명의 방법의 검출 결과이다.
Figure 112018051324110-pat00011
본 발명의 방법 및 시스템에 따른 Harmony Search 에서도 프레임간 소실점 검출 결과가 20픽셀 이상 오차가 발생하는 경우가 있는데, 그 이유는 차선 영역에서 직선의 검출을 못한 프레임이며, 직선의 검출이 이루어진 경우는 모두 objective 함수의 최대값을 만족하는 좌표를 검출할 수 있었다.
도 18은 RANSAC 방법에 따른 소실점 검출과 하모니 검색 방법에 따른 소실점 검출을 비교해서 보여주는 도면이다.
도 18에서 좌측의 1~4행은 원본 이미지(영상)를 나타낸다. 가운데의 1~4행은 RANSAC 방법에 따라 검출된 소실점을 나타낸다. 각 프레임에서 나타난 소실점을 확인의 편의상 하나의 화상에 표시한 것이다. 전술한 바와 같이 소실점의 위치 변동이 비교적 크다. 도 18에서 우측의 1~4행은 여러 프레임에서 나타난 소실점을 겹쳐서 표시해도 비교적 좁은 범위에서 겹치는 것을 알 수 있다.
본 발명은 도로의 차선 검색을 위해 기준이 되는 소실점을 검출하는데 기존에 일반적으로 사용되었던 RANSAC 알고리즘의 문제점을 지적하고, 이를 해결하기 위한 방법 및 시스템을 제시하였다. RANSAC 방법은 Random Sample로 전체 데이터를 예측하는 방법으로 소실점을 검출하는 단계에서 실행할 때마다 다른 샘플이 선택되기 때문에, 동일한 이미지에서도 매번 다른 검출결과를 얻게 되는 것을 표 1로 확인하였다. 또한 차선 영역에서 검출된 직선이 교점 샘플에 포함되지 못한 경우에는 이전 프레임과 현재 프레임 간에 소실점의 차이가 큰 오차로 나타남을 알 수 있었다. 본 발명은 이러한 문제점을 해결하기 위하여 Harmony Search 기반의 소실점 검출 방법 및 시스템을 제시하였다. 본 발명에서는, 기존의 소실점 검출에 사용되었던 RANSAC 방법의 objective 함수를 그대로 사용하더라도 안정적으로 소실점을 검출할 수 있다.
본 발명의 제안한 Harmony Search 방법은 한 프레임 내에서 Harmony Memory의 좌표 값들이 반복 횟수를 거듭할수록 한 점으로 수렴하게 되어 최종 단계에서 선택되는 점이 소실점이 됨을 시각적으로 확인할 수 있다. 또한 연속된 동영상에서는 현재 프레임에서 얻은 소실점 좌표 정보를 다음 프레임에서의 Harmony Memory를 형성하는데 이용하여 결정변수의 제약조건을 매우 좁은 범위로 설정할 수 있기 때문에, 두 번째 프레임부터는 적은 반복횟수로 소실점을 검출하는 것이 가능하다.
본 발명의 방법 및 시스템은 실시간 영상에서 소실점을 안정적으로 검출할 수 있기 때문에 실시간 차선 검출에서 사용하기에 적합하다.
위에서는 특정의 예를 들어 설명하였으나, 본 발명은 상기 실시예에 한정되지 않으며, 당 분야의 통상의 지식을 가진 자에 의하여 많은 변형이 첨부의 특허청구범위에 기재된 본 발명의 본질적인 사상 내에서 가능함은 물론이다.
본 발명의 기본 사상을 벗어나지 않는 한, 그 외의 다양한 변형도 본 발명의 범주에 속하는 것으로 보아야 할 것이다.

Claims (10)

  1. 지능형 차량의 소실점 검출 방법에 있어서,
    (a) 영상을 입력받는 단계;
    (b) 상기 영상의 특정 프레임에서 에지(edge)를 검출하는 단계;
    (c) 상기 특정 프레임에서 검출된 에지를 허프 라인 변환(Hough line transform)하는 단계;
    (d) 상기 특정 프레임이 상기 영상의 첫번째 프레임이면, 하모니 메모리(Harmony Memory)를 초기화함으로써 하모니 메모리를 설정하고, 하모니 검색 알고리즘(Harmony Search algorithm)에 의해 상기 특정 프레임에서의 소실점을 얻는 단계;
    (e) 상기 특정 프레임이 상기 영상의 첫번째 프레임이 아니면, 하모니 메모리를 초기화하지 않고 이전 프레임에서 얻어진 하모니 메모리를 이용함으로써 하모니 메모리를 설정하고, 하모니 검색 알고리즘에 의해 상기 특정 프레임에서의 소실점을 얻는 단계;
    (f) 상기 (e) 단계의 판단을 반복하여 상기 영상의 매 프레임마다의 소실점을 얻는 단계
    를 포함하는 지능형 차량의 소실점 검출 방법.
  2. 제1항에 있어서,
    상기 (d) 단계 또는 상기 (e) 단계에서,
    상기 하모니 검색 알고리즘은,
    (1) 상기 하모니 메모리를 설정하고,
    (2) 신규 하모니를 형성하고,
    (3) 상기 (c) 단계에서 얻어진 이미지로부터 인라이어(inlier)와 아웃라이어(outlier)를 구분하여, 소정의 점 P에 대한 인라이어 직선 갯수를 계산하고,
    (4) 상기 하모니 메모리를 업데이트하는 것
    을 반복함으로써 수행되는, 지능형 차량의 소실점 검출 방법.
  3. 제2항에 있어서,
    상기 (3) 단계에서의 계산은 RANSAC 알고리즘(RANdom SAmple Concensus algorithm)의 objective 함수에 따르는, 지능형 차량의 소실점 검출 방법.
  4. 제1항에 있어서,
    상기 (d) 단계에서 상기 하모니 메모리의 초기화는, 상기 영상의 중심으로부터 일정 영역에서 소정 갯수의 임의의 점을 선택함으로써 행해지는, 지능형 차량의 소실점 검출 방법.
  5. 제4항에 있어서,
    상기 일정 영역 내의 점들 중에서 최대의 컨센서스를 갖는 점이 소실점으로 지정되며,
    상기 최대의 컨센서스는, 상기 (c) 단계에서 얻어진 직선들에 대해 RANSAC 알고리즘의 objective 함수를 적용한 결과, 상기 영상 내의 직선들이 최대 갯수 수렴하는 것을 지칭하는, 지능형 차량의 소실점 검출 방법.
  6. 지능형 차량의 소실점 검출 방법에 있어서,
    (a) 영상을 입력받는 단계;
    (b) 상기 영상의 첫번째 프레임에서 에지(edge)를 검출하는 단계;
    (c) 상기 첫번째 프레임에서 검출된 에지를 허프 라인 변환(Hough line transform)하는 단계;
    (d) 상기 영상의 중심으로부터 일정 영역에서 소정 갯수의 임의의 점을 선택함으로써, 하모니 검색 알고리즘(Harmony Search algorithm)의 하모니 메모리(Harmony Memory)를 초기화하는 단계;
    (e) 신규 하모니를 형성하는 단계;
    (f) RANSAC 알고리즘(RANdom SAmple Concensus algorithm)의 objective 함수에 따라, 상기 (c) 단계에서 얻어진 이미지로부터 인라이어(inlier)와 아웃라이어(outlier)를 구분하여, 소정의 점 P에 대한 인라이어 직선 갯수를 계산하는 단계;
    (g) 상기 하모니 메모리를 업데이트하는 단계;
    (h) 상기 (e)~(g) 단계를 순차적으로 반복하는 단계;
    (i) 상기 (d) 단계의 일정 영역 내의 점들 중에서 최대의 컨센서스를 갖는 점이 소실점으로 지정되며, 상기 최대의 컨센서스는 상기 (c) 단계에서 얻어진 직선들에 대해 RANSAC 알고리즘의 objective 함수를 적용한 결과, 상기 영상 내의 직선들이 최대 갯수 수렴하는 것을 지칭하는, 단계
    를 포함하는 지능형 차량의 소실점 검출 방법.
  7. 제6항에 있어서,
    상기 (i) 단계에 의해 소실점을 얻은 후에 상기 단계 (e)로 돌아가서 다음 프레임에 대한 소실점 계산을 수행하며, 이 경우에는, 하모니 메모리를 초기화하지 않고, 이전 프레임에서 업데이트된 하모니 메모리를 사용하는, 지능형 차량의 소실점 검출 방법.
  8. 컴퓨터로 하여금, 제1항 또는 제6항에 기재된 방법을 수행하도록 하는 프로그램이 기록된 컴퓨터 판독가능 기록 매체.
  9. 제8항의 컴퓨터 판독가능 기록 매체를 포함하는 지능형 차량의 전자 제어 유닛(ECU).
  10. 제9항의 전자 제어 유닛 및 차량 전방의 영상을 촬영하여 상기 전자 제어 유닛에 제공하는 카메라를 포함하는 지능형 차량.
KR1020180059484A 2018-05-25 2018-05-25 지능형 차량을 위한 소실점 검출 방법 및 시스템 KR101991626B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180059484A KR101991626B1 (ko) 2018-05-25 2018-05-25 지능형 차량을 위한 소실점 검출 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180059484A KR101991626B1 (ko) 2018-05-25 2018-05-25 지능형 차량을 위한 소실점 검출 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR101991626B1 true KR101991626B1 (ko) 2019-06-20

Family

ID=67103589

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180059484A KR101991626B1 (ko) 2018-05-25 2018-05-25 지능형 차량을 위한 소실점 검출 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101991626B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100666276B1 (ko) 2005-07-13 2007-01-10 현대자동차주식회사 소실점을 이용한 자동차의 차선이탈 경보방법
KR20140080105A (ko) 2012-12-20 2014-06-30 울산대학교 산학협력단 영상 정보를 이용한 차선 경계 검출 방법
KR20140148171A (ko) * 2013-06-21 2014-12-31 가천대학교 산학협력단 지능형 차량의 차선 검출방법
KR20150112656A (ko) * 2014-03-28 2015-10-07 주식회사 하나비전테크 카메라 캘리브레이션 방법 및 그 장치
KR20160088986A (ko) 2015-01-16 2016-07-27 경북대학교 산학협력단 소실점 기반의 양안시차를 이용한 차선 검출 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100666276B1 (ko) 2005-07-13 2007-01-10 현대자동차주식회사 소실점을 이용한 자동차의 차선이탈 경보방법
KR20140080105A (ko) 2012-12-20 2014-06-30 울산대학교 산학협력단 영상 정보를 이용한 차선 경계 검출 방법
KR20140148171A (ko) * 2013-06-21 2014-12-31 가천대학교 산학협력단 지능형 차량의 차선 검출방법
KR101483742B1 (ko) 2013-06-21 2015-01-16 가천대학교 산학협력단 지능형 차량의 차선 검출방법
KR20150112656A (ko) * 2014-03-28 2015-10-07 주식회사 하나비전테크 카메라 캘리브레이션 방법 및 그 장치
KR20160088986A (ko) 2015-01-16 2016-07-27 경북대학교 산학협력단 소실점 기반의 양안시차를 이용한 차선 검출 방법

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Lee, Kang Seok, et al. "A new structural optimization method based on the harmony search algorithm." Computers & structures 82.9-10 (2004) *
비특허문헌 1: H. J. Liu, "A Fast Method for Vanishing Point Estimation and Tracking and Its Application in Road Images", In Proceedings of the 6 th International Conference on ITS Telecommunications, pp.106 -109 , 2006
비특허문헌 2: T. Suttorp,and T. Bucher, "Robust Vanishing Point Estimation for Driver Assistance" , Proceedings of the IEEE ITSC 2006 ,pp.1550-1555, 2006
비특허문헌 3: P . Moghadam, J. A. Starzyk, and W. S. Wijesoma,"Fast Vanishing-Point Detection in Unstructured Environments" , IEEE Transactions on Image Processing, V ol. 21, No. 1, pp.425-430, 2012
비특허문헌 4: F. Stentiford, "Attension-based Vanishing 소실점 detection ", In Proceedings of the 200 6 IEEE International Conference on Image Processing(ICIP ), pp.417 -420, 2006

Similar Documents

Publication Publication Date Title
CN109034077B (zh) 一种基于多尺度特征学习的三维点云标记方法和装置
CN113269237B (zh) 基于注意力机制的装配体变化检测方法、设备和介质
Whelan et al. Deformation-based loop closure for large scale dense RGB-D SLAM
Fourie et al. Harmony filter: a robust visual tracking system using the improved harmony search algorithm
WO2022188663A1 (zh) 一种目标检测方法及装置
JP2019036009A (ja) 制御プログラム、制御方法、及び情報処理装置
KR101455835B1 (ko) 영상을 이용한 차선인식 및 추적시스템, 이를 이용한 차선인식 및 추적방법
CN104517275A (zh) 对象检测方法和系统
CN111311663B (zh) 一种实时大场景三维语义建模的方法
CN112734931B (zh) 一种辅助点云目标检测的方法及系统
CN111311611B (zh) 一种实时三维大场景多对象实例分割的方法
Nguyen et al. Toward real-time vehicle detection using stereo vision and an evolutionary algorithm
JP2022080303A (ja) オプティカルフローを用いたライダー位置推定
JP4692969B2 (ja) 特徴点探索装置、画像解析装置、および最近傍特徴点検出方法
CN116645500A (zh) 边界框的确定方法、装置、设备、存储介质和程序产品
KR101991626B1 (ko) 지능형 차량을 위한 소실점 검출 방법 및 시스템
CN116645499A (zh) 边界框的确定方法、装置、设备、存储介质和程序产品
EP2947626A1 (en) Method and apparatus for generating spanning tree, method and apparatus for stereo matching, method and apparatus for up-sampling, and method and apparatus for generating reference pixel
Neuland et al. Interval inspired approach based on temporal sequence constraints to place recognition
Wang et al. Simultaneous clustering classification and tracking on point clouds using Bayesian filter
JP2014038495A (ja) 3次元形状解釈装置及びプログラム
Romero-Manchado et al. Application of gradient-based edge detectors to determine vanishing points in monoscopic images: Comparative study
Haines et al. Visual mapping using learned structural priors
Schwarze et al. Geometry estimation of urban street canyons using stereo vision from egocentric view
EP4310789A1 (en) Prediction method for target object, computer device, and storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant