KR102431194B1 - 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법 및 이를 위한 장치 - Google Patents

객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102431194B1
KR102431194B1 KR1020150177369A KR20150177369A KR102431194B1 KR 102431194 B1 KR102431194 B1 KR 102431194B1 KR 1020150177369 A KR1020150177369 A KR 1020150177369A KR 20150177369 A KR20150177369 A KR 20150177369A KR 102431194 B1 KR102431194 B1 KR 102431194B1
Authority
KR
South Korea
Prior art keywords
point
points
target
path
skeleton
Prior art date
Application number
KR1020150177369A
Other languages
English (en)
Other versions
KR20170069754A (ko
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 KR1020150177369A priority Critical patent/KR102431194B1/ko
Priority to US15/360,355 priority patent/US10339370B2/en
Publication of KR20170069754A publication Critical patent/KR20170069754A/ko
Application granted granted Critical
Publication of KR102431194B1 publication Critical patent/KR102431194B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39091Avoid collision with moving obstacles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Social Psychology (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Psychiatry (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명의 일 실시예는, 객체의 이동 경로 및 장애물이 포함된 이미지 상에서, 경로 영역에 상응하는 위상 골격(topological skeleton)을 획득하는 단계; 상기 위상 골격을 이루는 골격 포인트들 중, 상기 위상 골격의 브랜치(branch)들 간의 접점인 브랜치 포인트들을 결정하는 단계; 상기 브랜치 포인트들을 이용하여 상기 브랜치들 중 대상 브랜치를 결정하는 단계; 상기 대상 브랜치를 이루는 포인트들 중 상기 이동 경로가 충돌 경로인지 여부를 판단하기 위한 복수의 대상 포인트들을 선택하는 단계; 및 상기 대상 포인트들을 이용하여 상기 이동 경로가 충돌 경로인지 여부를 판단하는 단계;를 포함하는 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법을 개시한다.

Description

객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법 및 이를 위한 장치 {METHOD FOR OBSTACLE COLLISION DETERMINATION USING OBJECT MOVING PATH AND APPARATUS FOR THE SAME}
본 발명의 실시예들은 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법 및 이를 위한 장치에 관한 것으로, 더 상세하게는 객체 이동 경로의 위상 골격을 이용한 장애물 충돌 여부 판단 방법 및 이를 위한 장치에 관한 것이다.
이동 로봇이 장애물과 충돌하지 않도록 하는 최적의 이동 경로를 생성하기 위해, 이동 경로에서의 이동 로봇과 장애물의 충돌 여부 및 이동 로봇과 장애물의 이격 거리를 미리 판단하는 것은 중요한 요소이다.
한국공개특허 제10-2010-0117931호
본 발명의 실시예들은 경로 영역의 위상 골격 포인트를 이용하여 장애물 충돌 여부를 판단함으로써, 경로 영역 내 전체 포인트를 이용하는 경우에 비해 장애물 충돌 여부 판단에 소요되는 연산량을 감소시킬 수 있는 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법 및 이를 위한 장치를 제공한다.
본 발명의 실시예들은 설정된 오차 값에 기초하여 위상 골격에서 일부 포인트만을 선택하여 경로 영역을 모델링하고, 모델링된 경로 영역을 이용하여 장애물 충돌 여부를 판단함으로써, 모델링 오차와 그에 따른 연산량 감소 효과를 유동적으로 조절 가능케 하는 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법 및 이를 위한 장치를 제공한다.
본 발명의 일 실시예는, 객체의 이동 경로 및 장애물이 포함된 이미지 상에서, 경로 영역에 상응하는 위상 골격(topological skeleton)을 획득하는 단계; 상기 위상 골격을 이루는 골격 포인트들 중, 상기 위상 골격의 브랜치(branch)들 간의 접점인 브랜치 포인트들을 결정하는 단계; 상기 브랜치 포인트들을 이용하여 상기 브랜치들 중 대상 브랜치를 결정하는 단계; 상기 대상 브랜치를 이루는 포인트들 중 상기 이동 경로가 충돌 경로인지 여부를 판단하기 위한 복수의 대상 포인트들을 선택하는 단계; 및 상기 대상 포인트들을 이용하여 상기 이동 경로가 충돌 경로인지 여부를 판단하는 단계;를 포함하는 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법을 개시한다.
상기 대상 포인트들을 선택하는 단계는 상기 대상 포인트들 각각에 대하여, 상기 대상 포인트를 원심으로 하면서 상기 경로 영역의 경계선과 상기 대상 포인트 사이의 최단거리를 반경으로 하는 채움(filling) 원을 생성하는 단계; 상기 채움 원들을 이용하여 오차 값을 산출하는 단계; 및 상기 오차 값이 기설정된 오차 한도 값 이하가 되도록 상기 대상 포인트들을 선택하는 단계;를 포함할 수 있다.
상기 오차 값을 산출하는 단계는 다른 대상 포인트를 사이에 두지 아니하는 대상 포인트 쌍들 각각에 대하여, 상기 대상 포인트 쌍에 대응하는 두 채움 원들 간의 두 교점들, 및 상기 두 채움 원들에 동시에 접하는 두 접선들을 획득하고, 상기 교점 및 상기 접선 사이의 거리 값들 중 가장 작은 값을 기초로 상기 오차 값을 산출할 수 있다.
상기 오차 값을 산출하는 단계는 다른 대상 포인트를 사이에 두지 아니하는 대상 포인트 쌍들 각각에 대하여, 상기 대상 포인트 쌍에 대응하는 두 채움 원들 간의 두 교점들을 획득하고, 상기 경로 영역의 경계선과 상기 교점 사이의 최단거리들 중 큰 값을 기초로 상기 오차 값을 산출할 수 있다.
상기 오차 값을 산출하는 단계는 상기 경로 영역 중 상기 채움 원들과 중첩되지 않는 영역에 포함된 포인트 수를 기초로 상기 오차 값을 산출할 수 있다.
상기 채움 원을 생성하는 단계는 상기 경로 영역의 경계선을 기준으로 상기 이미지를 유클리드 거리 변환(Euclidean distance transform)한 결과 값을 기초로 상기 경로 영역의 경계선과 상기 대상 포인트 사이의 최단거리를 획득할 수 있다.
상기 충돌 경로인지 여부를 판단하는 단계는 상기 대상 포인트들 각각에 대하여, 상기 경로 영역의 경계선과 상기 대상 포인트 사이의 최단거리 및 장애물 영역의 경계선과 상기 대상 포인트 사이의 최단거리를 비교하여 상기 이동 경로가 충돌 경로인지 여부를 판단할 수 있다.
상기 충돌 경로인지 여부를 판단하는 단계는 상기 대상 포인트들 중, 상기 경로 영역의 경계선과 상기 대상 포인트 사이의 최단거리가 상기 장애물 영역의 경계선과 상기 대상 포인트 사이의 최단거리보다 긴 대상 포인트가 존재하는 경우, 상기 이동 경로가 충돌 경로인 것으로 판단할 수 있다.
상기 위상 골격을 획득하는 단계는 상기 경로 영역의 경계선을 기준으로 상기 이미지를 유클리드 거리 변환(Euclidean distance transform)한 제1 중간 값을 획득하는 단계; 상기 제1 중간 값에서 특징(feature) 포인트들을 검출하여 제2 중간 값을 획득하는 단계; 상기 제2 중간 값의 특징 포인트들을 간소화(thinning)하여 제3 중간 값을 획득하는 단계; 및 상기 제3 중간 값의 간소화된 포인트들 중 최대 크기의 연결된 포인트들을 검출하여 상기 위상 골격을 획득하는 단계;를 포함할 수 있다.
상기 브랜치 포인트들을 결정하는 단계는 상기 골격 포인트들 각각에 대하여, 상기 골격 포인트에 가로 또는 세로 방향으로 이웃하는 다른 골격 포인트를 제1 이웃 골격 포인트로 판단하는 단계; 상기 제1 이웃 골격 포인트와 가로 또는 세로 방향으로 이웃하지 아니하면서 상기 골격 포인트와 대각선 방향으로 이웃하는 다른 골격 포인트를 제2 이웃 골격 포인트로 판단하는 단계; 및 상기 골격 포인트에 상기 이웃 골격 포인트들이 셋 이상 존재하는 경우, 상기 골격 포인트를 상기 브랜치 포인트로 결정하는 단계;를 포함할 수 있다.
상기 대상 브랜치를 결정하는 단계는 상기 브랜치들 중 가장 많은 포인트들로 이루어진 브랜치를 상기 대상 브랜치로 결정할 수 있다.
본 발명의 다른 일 실시예는, 객체의 이동 경로 및 장애물이 포함된 이미지 상에서, 경로 영역에 상응하는 위상 골격(topological skeleton)을 획득하는 위상 골격 획득부; 상기 위상 골격을 이루는 골격 포인트들 중, 상기 위상 골격의 브랜치(branch)들 간의 접점인 브랜치 포인트들을 결정하는 브랜치 포인트 결정부; 상기 브랜치 포인트들을 이용하여 상기 브랜치들 중 대상 브랜치를 결정하는 대상 브랜치 결정부; 상기 대상 브랜치를 이루는 포인트들 중 상기 이동 경로가 충돌 경로인지 여부를 판단하기 위한 복수의 대상 포인트들을 선택하는 대상 포인트 선택부; 및 상기 대상 포인트들을 이용하여 상기 이동 경로가 충돌 경로인지 여부를 판단하는 충돌 경로 판단부;를 포함하는 객체 이동 경로를 이용한 장애물 충돌 여부 판단 장치를 개시한다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 일 실시예에 따른 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법 및 이를 위한 장치에 의해 경로 영역의 위상 골격 포인트를 이용하여 장애물 충돌 여부를 판단함으로써, 경로 영역 내 전체 포인트를 이용하는 경우에 비해 장애물 충돌 여부 판단에 소요되는 연산량을 감소시킬 수 있다.
본 발명의 일 실시예에 따른 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법 및 이를 위한 장치에 의해 설정된 오차 값에 기초하여 위상 골격에서 일부 포인트만을 선택하여 경로 영역을 모델링하고, 모델링된 경로 영역을 이용하여 장애물 충돌 여부를 판단함으로써, 모델링 오차와 그에 따른 연산량 감소 효과를 유동적으로 조절할 수 있다.
도 1은 본 발명의 일 실시예에 따른 객체 이동 경로를 이용한 장애물 충돌 여부 판단 장치의 구성을 나타낸 도면이다.
도 2는 도 1에 도시된 대상 포인트 선택부의 일 예를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법을 나타낸 동작 흐름도이다.
도 4는 도 3에 도시된 대상 포인트를 선택하는 단계의 일 예를 나타낸 동작 흐름도이다.
도 5는 도 3에 도시된 위상 골격을 획득하는 단계의 일 예를 나타낸 동작 흐름도이다.
도 6은 도 3에 도시된 브랜치 포인트를 결정하는 단계의 일 예를 나타낸 동작 흐름도이다.
도 7은 도 3에 도시된 충돌 경로를 판단하는 단계의 일 예를 나타낸 동작 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 객체 이동 경로를 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 객체 이동 경로의 모델링 방법을 나타낸 도면이다.
도 10은 본 발명의 일 실시예에 따른 브랜치 포인트를 결정하는 방법을 나타낸 도면이다.
도 11a 및 도 11b는 본 발명의 일 실시예에 따른 오차 값을 산출하는 방법을 나타낸 도면이다.
도 12는 본 발명의 일 실시예에 따른 오차 한도 값과 채움 원의 수의 관계를 나타낸 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
이하의 실시예에서, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하의 실시예에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 이하의 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 실시예들은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 본 발명의 실시예의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 발명의 실시예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 발명의 실시예들은 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. 매커니즘, 요소, 수단, 구성과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
또한, 본 명세서 및 도면에 있어서, 실질적으로 동일한 구성을 갖는 구성 요소에 대해서는, 동일한 부호를 사용함으로써 중복 설명을 생략한다.
도 1은 본 발명의 일 실시예에 따른 객체 이동 경로를 이용한 장애물 충돌 여부 판단 장치의 구성을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 객체 이동 경로를 이용한 장애물 충돌 여부 판단 장치는 위상 골격 획득부(110), 브랜치 포인트 결정부(120), 대상 브랜치 결정부(130), 대상 포인트 선택부(140) 및 충돌 경로 판단부(150)를 포함한다.
위상 골격 획득부(110)는 객체의 이동 경로 및 장애물이 포함된 이미지 상에서, 경로 영역에 상응하는 위상 골격(topological skeleton)을 획득한다.
객체의 이동 경로는 객체가 이동하는 경우 생성되는 경로 영역일 수 있다. 객체는 기설정된 가로/세로 길이를 가질 수 있고, 경로 영역은 해당 객체의 크기를 반영한, 면적을 가지는 경로일 수 있다.
장애물은 객체가 이동하면서 충돌할 수 있거나, 회피하여야 하는 대상으로서, 선 또는 면적을 가지는 영역 형태로 이미지 상에 배치될 수 있다.
위상 골격은 경로 영역의 경계선으로부터 동일한 거리만큼 떨어진 지점의 포인트들의 집합일 수 있다. 예컨대, 위상 골격은 경로 영역의 내부에 형성된 중앙 선(medial axis)일 수 있다.
이하에서는 위상 골격을 이루는 이미지 상의 포인트들을 골격 포인트로 정의한다.
브랜치 포인트 결정부(120)는 위상 골격을 이루는 골격 포인트들 중, 위상 골격의 브랜치(branch)들 간의 접점인 브랜치 포인트들을 결정한다.
위상 골격은 적어도 둘 이상의 라인과 연결되는 노드(node)와 노드에 연결되는 브랜치로 분류될 수 있다.
이하에서는 노드에 해당하는 이미지 상의 포인트를 브랜치 포인트, 브랜치를 이루는 포인트들 중 끝점에 해당하는 포인트를 엔드(end) 포인트, 브랜치를 이루는 포인트들 중 엔드 포인트를 제외한 포인트를 노멀(normal) 포인트로 정의한다.
대상 브랜치 결정부(130)는 브랜치 포인트들을 이용하여 브랜치들 중 대상 브랜치를 결정한다.
이 때, 대상 브랜치 결정부(130)는 브랜치들 중 가장 많은 포인트들로 이루어진 브랜치를 대상 브랜치로 결정할 수 있다.
대상 포인트 선택부(140)는 대상 브랜치를 이루는 포인트들 중 이동 경로가 충돌 경로인지 여부를 판단하기 위한 복수의 대상 포인트들을 선택한다.
대상 포인트 선택부(140)는 대상 브랜치를 이루는 포인트들 전부를 대상 포인트로 선택할 수 있으며, 대상 브랜치를 이루는 포인트들 중 일부만을 대상 포인트로 선택할 수도 있다.
대상 포인트 선택부(140)가 대상 브랜치를 이루는 포인트들 중 일부만을 대상 포인트로 선택하는 경우, 기설정된 오차 한도 값 이하가 되도록 대상 포인트들을 선택할 수 있다.
예컨대, 대상 포인트 선택부(140)는 대상 브랜치를 이루는 포인트들 중 일부만을 대상 포인트로 선택하고, 대상 포인트마다 채움 원을 생성하여 경로 영역을 모델링하고, 모델링 오차 값이 기설정된 오차 한도 값 이하가 되도록 대상 포인트들을 선택할 수 있다.
이 때, 대상 포인트 선택부(140)는 더 많은 수의 대상 포인트를 선택함으로써, 채움 원이 더 많이 생성되게 하고, 모델링 오차 값을 감소시켜 모델링 오차 값이 기설정된 오차 한도 값 이하가 되도록 할 수 있다.
충돌 경로 판단부(150)는 대상 포인트들을 이용하여 이동 경로가 충돌 경로인지 여부를 판단한다.
즉, 충돌 경로 판단부(150)는 이동 경로 선 상에 장애물이 있는 경우 해당 이동 경로가 충돌 경로인 것으로 판단할 수 있다.
선택적 실시예에서, 충돌 경로 판단부(150)는 이동 경로가 충돌 경로가 아닌 것으로 판단한 경우, 이동 경로의 장애물 이격 거리를 해당 이동 경로의 평가 지수로서 산출할 수 있다.
도 2는 도 1에 도시된 대상 포인트 선택부(140)의 일 예를 나타낸 도면이다.
도 2를 참조하면, 도 1에 도시된 대상 포인트 선택부(140)는 채움 원 생성부(210) 및 오차 값 산출부(220)를 포함한다.
채움 원 생성부(210)는 대상 포인트들 각각에 대하여, 대상 포인트를 원심으로 하면서 경로 영역의 경계선과 대상 포인트 사이의 최단거리를 반경으로 하는 채움(filling) 원을 생성한다.
즉, 채움 원 생성부(210)는 대상 포인트들 각각에 대하여 채움 원을 생성함으로써 경로 영역을 모델링 할 수 있다.
선택적 실시예에서, 채움 원 생성부(210)는 경로 영역의 경계선을 기준으로 이미지를 유클리드 거리 변환(Euclidean distance transform)한 결과 값을 기초로 경로 영역의 경계선과 대상 포인트 사이의 최단거리를 획득하고, 이를 채움 원의 반경으로 할 수 있다.
오차 값 산출부(220)는 채움 원들을 이용하여 오차 값을 산출한다.
선택적 실시예에서, 오차 값 산출부(220)는 다른 대상 포인트를 사이에 두지 아니하는 대상 포인트 쌍들 각각에 대하여, 대상 포인트 쌍에 대응하는 두 채움 원들 간의 두 교점들, 및 두 채움 원들에 동시에 접하는 두 접선들을 획득하고, 교점 및 접선 사이의 거리 값들 중 가장 작은 값을 기초로 오차 값을 산출할 수 있다.
선택적 실시예에서, 오차 값 산출부(220)는 다른 대상 포인트를 사이에 두지 아니하는 대상 포인트 쌍들 각각에 대하여, 대상 포인트 쌍에 대응하는 두 채움 원들 간의 두 교점들을 획득하고, 경로 영역의 경계선과 교점 사이의 최단거리들 중 큰 값을 기초로 오차 값을 산출할 수 있다.
선택적 실시예에서, 오차 값 산출부(220)는 경로 영역 중 채움 원들과 중첩되지 않는 영역에 포함된 포인트 수를 기초로 오차 값을 산출할 수 있다.
도 3은 본 발명의 일 실시예에 따른 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법을 나타낸 동작 흐름도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법은 위상 골격 획득부(도 1의 110 참조)가 경로 영역에 상응하는 위상 골격을 획득하는 단계(S310), 브랜치 포인트 결정부(도 1의 120 참조)가 위상 골격에서 브랜치 포인트를 결정하는 단계(S320), 대상 브랜치 결정부(도 1의 130 참조)가 브랜치들 중 대상 브랜치를 결정하는 단계(S330), 대상 포인트 선택부(도 1의 140 참조)가 대상 브랜치에서 대상 포인트를 선택하는 단계(S340), 및 충돌 경로 판단부(도 1의 150 참조)가 대상 포인트를 이용하여 충돌 경로를 판단하는 단계(S350)를 포함한다.
먼저, 본 발명의 일 실시예에 따른 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법은 위상 골격 획득부(도 1의 110 참조)가, 객체의 이동 경로 및 장애물이 포함된 이미지 상에서, 경로 영역에 상응하는 위상 골격(topological skeleton)을 획득한다(S310).
다음으로, 본 발명의 일 실시예에 따른 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법은 브랜치 포인트 결정부(도 1의 120 참조)가, 위상 골격을 이루는 골격 포인트들 중, 위상 골격의 브랜치(branch)들 간의 접점인 브랜치 포인트들을 결정한다(S320).
다음으로, 본 발명의 일 실시예에 따른 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법은 대상 브랜치 결정부(도 1의 130 참조)가, 브랜치 포인트들을 이용하여 브랜치들 중 대상 브랜치를 결정한다(S330).
다음으로, 본 발명의 일 실시예에 따른 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법은 대상 포인트 선택부(도 1의 140 참조)가, 대상 브랜치를 이루는 포인트들 중 이동 경로가 충돌 경로인지 여부를 판단하기 위한 복수의 대상 포인트들을 선택한다(S340).
마지막으로, 본 발명의 일 실시예에 따른 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법은 충돌 경로 판단부(도 1의 150 참조)가, 대상 포인트들을 이용하여 이동 경로가 충돌 경로인지 여부를 판단한다(S350).
비록 도 3에는 도시되지 아니하였으나, 본 발명의 일 실시예에 따른 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법은 충돌 경로 판단부(도 1의 150 참조)가, 이동 경로가 충돌 경로가 아닌 것으로 판단한 경우, 이동 경로의 장애물 이격 거리를 해당 이동 경로의 평가 지수로서 산출할 수 있다.
도 4는 도 3에 도시된 대상 포인트를 선택하는 단계(S340)의 일 예를 나타낸 동작 흐름도이다.
도 4를 참조하면, 도 3에 도시된 대상 포인트를 선택하는 단계(S340)는 채움 원 생성부(도 2의 210 참조)가 대상 포인트마다 채움 원을 생성하는 단계(S410), 오차 값 산출부(도 2의 220 참조)가 채움 원을 이용하여 오차 값을 산출하는 단계(S420), 및 대상 포인트 선택부(도 1의 140 참조)가 오차 값이 오차 한도 값 이하가 되도록 대상 포인트를 선택하는 단계(S430)를 포함한다.
먼저, 도 3에 도시된 대상 포인트를 선택하는 단계(S340)는 채움 원 생성부(도 2의 210 참조)가, 대상 포인트들 각각에 대하여, 대상 포인트를 원심으로 하면서 경로 영역의 경계선과 대상 포인트 사이의 최단거리를 반경으로 하는 채움(filling) 원을 생성한다(S410).
단계(S410)에서, 채움 원 생성부(도 2의 210 참조)는 경로 영역의 경계선을 기준으로 이미지를 유클리드 거리 변환(Euclidean distance transform)한 결과 값을 기초로 경로 영역의 경계선과 대상 포인트 사이의 최단거리를 획득할 수 있다.
다음으로, 도 3에 도시된 대상 포인트를 선택하는 단계(S340)는 오차 값 산출부(도 2의 220 참조)가, 채움 원들을 이용하여 오차 값을 산출한다(S420).
단계(S420)에서, 오차 값 산출부(도 2의 220 참조)는 다른 대상 포인트를 사이에 두지 아니하는 대상 포인트 쌍들 각각에 대하여, 대상 포인트 쌍에 대응하는 두 채움 원들 간의 두 교점들, 및 두 채움 원들에 동시에 접하는 두 접선들을 획득하고, 교점 및 접선 사이의 거리 값들 중 가장 작은 값을 기초로 오차 값을 산출할 수 있다.
단계(S420)에서, 오차 값 산출부(도 2의 220 참조)는 다른 대상 포인트를 사이에 두지 아니하는 대상 포인트 쌍들 각각에 대하여, 대상 포인트 쌍에 대응하는 두 채움 원들 간의 두 교점들을 획득하고, 경로 영역의 경계선과 교점 사이의 최단거리들 중 큰 값을 기초로 오차 값을 산출할 수 있다.
단계(S420)에서, 오차 값 산출부(도 2의 220 참조)는 경로 영역 중 채움 원들과 중첩되지 않는 영역에 포함된 포인트 수를 기초로 오차 값을 산출할 수 있다.
마지막으로, 도 3에 도시된 대상 포인트를 선택하는 단계(S340)는 대상 포인트 선택부(도 1의 140 참조)가, 오차 값이 기설정된 오차 한도 값 이하가 되도록 대상 포인트들을 선택한다(S430).
도 5는 도 3에 도시된 위상 골격을 획득하는 단계(S310)의 일 예를 나타낸 동작 흐름도이다.
도 5를 참조하면, 도 3에 도시된 위상 골격을 획득하는 단계(S310)는 위상 골격 획득부(도 1의 110 참조)가 경로 영역의 경계선을 기준으로 유클리드 거리 변환하는 단계(S510), 특징 포인트를 검출하는 단계(S520), 특징 포인트를 간소화하는 단계(S530) 및 최대 크기의 연결 포인트를 검출하는 단계(S540)를 포함한다.
먼저, 도 3에 도시된 위상 골격을 획득하는 단계(S310)는 위상 골격 획득부(도 1의 110 참조)가, 경로 영역의 경계선을 기준으로 이미지를 유클리드 거리 변환(Euclidean distance transform)한 제1 중간 값을 획득한다(S510).
다음으로, 도 3에 도시된 위상 골격을 획득하는 단계(S310)는 위상 골격 획득부(도 1의 110 참조)가, 제1 중간 값에서 특징(feature) 포인트들을 검출하여 제2 중간 값을 획득한다(S520).
다음으로, 도 3에 도시된 위상 골격을 획득하는 단계(S310)는 위상 골격 획득부(도 1의 110 참조)가, 제2 중간 값의 특징 포인트들을 간소화(thinning)하여 제3 중간 값을 획득한다(S530).
다음으로, 도 3에 도시된 위상 골격을 획득하는 단계(S310)는 위상 골격 획득부(도 1의 110 참조)가, 제3 중간 값의 간소화된 포인트들 중 최대 크기의 연결된 포인트들을 검출하여 위상 골격을 획득한다(S540).
도 6은 도 3에 도시된 브랜치 포인트를 결정하는 단계(S320)의 일 예를 나타낸 동작 흐름도이다.
도 6을 참조하면, 도 3에 도시된 브랜치 포인트를 결정하는 단계(S320)는 브랜치 포인트 결정부(도 1의 120 참조)가 골격 포인트에 이웃한 다른 골격 포인트들 대해 이웃 골격 포인트 조건을 판단하는 단계(S610, S620 및 S630) 및 판단 결과에 따라 골격 포인트에 이웃 골격 포인트가 셋 이상 존재하는지에 따라 브랜치 포인트인지 여부를 판단하는 단계(S640)를 포함한다.
먼저, 도 3에 도시된 브랜치 포인트를 결정하는 단계(S320)는 브랜치 포인트 결정부(도 1의 120 참조)가, 특정 골격 포인트를 중심 골격 포인트로 하고, 해당 골격 포인트에 이웃하는 다른 골격 포인트를 주변 골격 포인트라고 할 때, 특정 주변 골격 포인트가 중심 골격 포인트에 가로 또는 세로 방향으로 이웃하는지 여부를 판단한다(S610).
단계(S610)의 판단 결과, 해당 주변 골격 포인트가 중심 골격 포인트에 가로 또는 세로 방향으로 이웃하는 경우, 도 3에 도시된 브랜치 포인트를 결정하는 단계(S320)는 브랜치 포인트 결정부(도 1의 120 참조)가, 해당 주변 골격 포인트를 중심 포인트의 제1 이웃 골격 포인트인 것으로 판단한다(S611).
단계(S610)의 판단 결과, 해당 주변 골격 포인트가 중심 골격 포인트에 가로 또는 세로 방향으로 이웃하지 아니하는 경우, 도 3에 도시된 브랜치 포인트를 결정하는 단계(S320)는 브랜치 포인트 결정부(도 1의 120 참조)가, 해당 주변 골격 포인트가 제1 이웃 골격 포인트에 가로 또는 세로 방향으로 이웃하는지 여부를 판단한다(S620).
단계(S620)의 판단 결과, 해당 주변 골격 포인트가 제1 이웃 골격 포인트에 가로 또는 세로 방향으로 이웃하지 아니하는 경우, 도 3에 도시된 브랜치 포인트를 결정하는 단계(S320)는 브랜치 포인트 결정부(도 1의 120 참조)가, 해당 주변 골격 포인트가 중심 골격 포인트에 대각선 방향으로 이웃한지 여부를 판단한다(S630).
단계(S630)의 판단 결과, 해당 주변 골격 포인트가 중심 골격 포인트에 대각선 방향으로 이웃하는 경우, 도 3에 도시된 브랜치 포인트를 결정하는 단계(S320)는 브랜치 포인트 결정부(도 1의 120 참조)가, 해당 주변 골격 포인트를 중심 포인트의 제2 이웃 골격 포인트인 것으로 판단한다(S631).
단계(S620)의 판단 결과, 해당 주변 골격 포인트가 제1 이웃 골격 포인트에 가로 또는 세로 방향으로 이웃하거나, 단계(S630)의 판단 결과, 해당 주변 골격 포인트가 중심 골격 포인트에 대각선 방향으로 이웃하지 아니하는 경우, 도 3에 도시된 브랜치 포인트를 결정하는 단계(S320)는 브랜치 포인트 결정부(도 1의 120 참조)가, 해당 주변 골격 포인트를 중심 포인트의 이웃 골격 포인트가 아닌 것으로 판단한다(미도시).
단계(S610, S620 및 S630)를 통해 이웃 골격 포인트 조건을 판단한 후, 도 3에 도시된 브랜치 포인트를 결정하는 단계(S320)는 브랜치 포인트 결정부(도 1의 120 참조)가, 중심 골격 포인트에 이웃 골격 포인트가 셋 이상 존재하는지 여부를 판단한다(S640).
단계(S640)의 판단 결과, 중심 골격 포인트에 이웃 골격 포인트가 셋 이상 존재하는 경우, 도 3에 도시된 브랜치 포인트를 결정하는 단계(S320)는 브랜치 포인트 결정부(도 1의 120 참조)가, 해당 중심 골격 포인트가 브랜치 포인트인 것으로 판단한다.
단계(S640)의 판단 결과, 중심 골격 포인트에 이웃 골격 포인트가 셋 이상 존재하지 아니하는 경우, 도 3에 도시된 브랜치 포인트를 결정하는 단계(S320)는 브랜치 포인트 결정부(도 1의 120 참조)가, 해당 중심 골격 포인트가 브랜치 포인트가 아닌 것으로 판단한다.
비록 도 6에는 도시하지 아니하였으나, 도 3에 도시된 브랜치 포인트를 결정하는 단계(S320)는 브랜치 포인트 결정부(도 1의 120 참조)가, 중심 골격 포인트에 두 이웃 골격 포인트가 존재하는 경우, 해당 중심 골격 포인트가 노멀 포인트인 것으로 판단할 수 있으며, 중심 골격 포인트에 하나의 이웃 골격 포인트가 존재하는 경우, 해당 중심 골격 포인트가 엔드 포인트인 것으로 판단할 수 있다.
도 7은 도 3에 도시된 충돌 경로를 판단하는 단계(S350)의 일 예를 나타낸 동작 흐름도이다.
도 7을 참조하면, 도 3에 도시된 충돌 경로를 판단하는 단계(S350)는 충돌 경로 판단부(도 1의 150 참조)가, 채움 원의 반지름을 이용하여 객체 이동 경로가 충돌 경로인지 여부를 판단하는 단계(S710)를 포함한다.
도 3에 도시된 충돌 경로를 판단하는 단계(S350)는 충돌 경로 판단부(도 1의 150 참조)가, 대상 포인트들마다 대상 포인트에 상응하는 채움 원의 반지름이 대상 포인트로부터 장애물까지의 최단거리보다 큰지 여부를 판단한다(S710).
이 때, 대상 포인트에 상응하는 채움 원의 반지름은 경로 영역의 경계선과 대상 포인트 사이의 최단거리에 해당할 수 있다.
단계(S710)의 판단 결과, 대상 포인트에 상응하는 채움 원의 반지름이 대상 포인트로부터 장애물까지의 최단거리보다 큰 경우가 하나라도 존재하는 경우, 도 3에 도시된 충돌 경로를 판단하는 단계(S350)는 충돌 경로 판단부(도 1의 150 참조)가, 객체 이동 경로가 충돌 경로인 것으로 판단한다.
단계(S710)의 판단 결과, 대상 포인트에 상응하는 채움 원의 반지름이 대상 포인트로부터 장애물까지의 최단거리보다 큰 경우가 존재하지 않는 경우, 도 3에 도시된 충돌 경로를 판단하는 단계(S350)는 충돌 경로 판단부(도 1의 150 참조)가, 객체 이동 경로가 충돌 경로가 아닌 것으로 판단한다.
선택적 실시예에서, 단계(S710)의 판단 결과, 대상 포인트에 상응하는 채움 원의 반지름이 대상 포인트로부터 장애물까지의 최단거리보다 큰 경우가 존재하지 않는 경우, 도 3에 도시된 충돌 경로를 판단하는 단계(S350)는 충돌 경로 판단부(도 1의 150 참조)가, 대상 포인트들 마다, 대상 포인트로부터 장애물까지의 최단거리에서 대상 포인트에 상응하는 채움 원의 반지름을 뺀 거리를 산출하여, 그 중 가장 짧은 거리를 객체 이동 경로의 장애물 이격 거리로서 산출할 수 있다.
이러한 객체 이동 경로의 장애물 이격 거리는, 객체 이동 경로의 평가 지수로서 활용될 수 있다.
도 8은 본 발명의 일 실시예에 따른 객체 이동 경로를 나타낸 도면이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 객체 이동 경로(810)는 객체(820)가 이동하기 위한 경로를 2차원 평면 상에 나타낸 것임을 알 수 있다.
객체 이동 경로는 객체(820)의 중심이 시작점(831)에서부터 중심 선(830)을 따라 종료점(832)까지 이동함에 따라 객체(820)가 쓸고 지나가게 되는 궤적일 수 있다.
이 때, 객체는 소정의 너비(w)와 길이(d)를 가지므로, 객체 이동 경로의 두께는 객체의 너비(w)보다 두껍게 생성됨을 알 수 있다.
도 9는 본 발명의 일 실시예에 따른 객체 이동 경로의 모델링 방법을 나타낸 도면이다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 객체 이동 경로의 모델링 방법은, 객체 이동 경로(a)에 유클리드 거리 변환을 수행하고(b), 유클리드 거리 변환된 결과에서 특징 포인트들을 검출하고(c), 검출된 특징 포인트들을 간소화하고(d), 간소화된 특징 포인트들 중 최대 연결을 갖는 포인트들을 위상 골격으로서 획득하고(e), 위상 골격에서 브랜치 포인트를 검출하고(f), 브랜치 포인트를 이용하여 최대 길이를 갖는 브랜치를 추출하고(g), 브랜치를 이루는 포인트들 중 대상 포인트들을 선택하고(h), 대상 포인트마다 채움 원을 생성(i)하여 객체 이동 경로를 모델링 한다.
도 10은 본 발명의 일 실시예에 따른 브랜치 포인트를 결정하는 방법을 나타낸 도면이다.
도 10을 참조하면, 본 발명의 일 실시예에 따른 브랜치 포인트를 결정하는 방법은 경로 영역에 상응하는 위상 골격을 이루는 포인트들에 대해 이웃 방향을 이용하여 브랜치 포인트(1030)를 결정한다.
먼저, 위상 골격을 이루는 포인트들 중 특정 포인트를 중심 포인트로 하고, 해당 중심 포인트에 이웃하는 포인트를 주변 포인트라고 할 때, 하나의 중심 포인트와 하나의 주변 포인트는 총 8가지 방향으로 이웃할 수 있다. 예컨대, 하나의 중심 포인트에 하나의 주변 포인트는 가로 2방향, 세로 2방향 및 대각선 4방향 중 어느 한 방향으로 이웃할 수 있다. 도 10에 도시된 것과 같이, 중심 포인트를 4번 포인트로 가정하는 경우, 주변 포인트는 0번부터 3번, 5번부터 8번 포인트로 가정할 수 있다.
이 때, 브랜치 포인트 결정부(도 1의 120 참조)는 중심 포인트에 이웃하는 이웃 포인트의 수에 따라, 해당 중심 포인트가 엔드 포인트(1010), 노멀 포인트(1020) 및 브랜치 포인트(1030) 중 하나인 것으로 판단할 수 있다.
예컨대, 브랜치 포인트 결정부(도 1의 120 참조)는 이웃 포인트가 하나인 경우 해당 중심 포인트를 엔드 포인트(1010)로, 이웃 포인트가 둘인 경우 해당 중심 포인트를 노멀 포인트(1020)로, 이웃 포인트가 셋 이상인 경우 해당 중심 포인트를 브랜치 포인트(1030)로 판단할 수 있다.
브랜치 포인트 결정부(도 1의 120 참조)는 중심 포인트에 어느 하나의 주변 포인트가 이웃하더라도, 해당 주변 포인트가 다른 주변 포인트와 가로 또는 세로 방향으로 이웃한 경우라면 해당 주변 포인트가 이웃 포인트가 아닌 것으로 판단할 수 있다. 예컨대, 4번 포인트에 5번, 6번 및 7번 포인트가 이웃한 경우, 6번 포인트는 7번 포인트와 가로 방향으로 이웃한 경우에 해당하므로, 브랜치 포인트 결정부(도 1의 120 참조)는 6번 포인트가 이웃 포인트가 아닌 것으로 판단할 수 있다. 이 경우, 브랜치 포인트 결정부(도 1의 120 참조)에 의해 5번 및 7번 포인트만이 이웃 포인트로 판단 되고, 4번 포인트는 이웃 포인트가 2개 이므로 노멀 포인트(1020)로 판단될 수 있다.
도 11a 및 도 11b는 본 발명의 일 실시예에 따른 오차 값을 산출하는 방법을 나타낸 도면이다.
도 11a 도 11b를 참조하는 경우, 위상 골격(1120)에 배치된 두 대상 포인트(C1, C2)에 대해 생성된 두 채움 원의 교점에 기초하여 오차 값(1110)이 산출됨을 알 수 있다.
일 실시예로, 오차 값 산출부(도 2의 220 참조)는 도 11a와 같이, 두 채움 원에 동시에 접하는 접선과 두 채움 원의 교점 간의 거리를 오차 값(1110)으로 산출할 수 있다.
다른 실시예로, 오차 값 산출부(도 2의 220 참조)는 도 11b와 같이, 경로 영역의 경계선(1130)과 두 채움 원의 교점 간의 최단 거리 중에서 큰 값을 오차 값(1110)으로 산출할 수 있다.
이와 같은 방법에 의해, 위상 골격(1120)에 배치되는 대상 포인트(C1, C2)의 배치 간격을 조정하여 오차 값(1110)을 조절할 수 있다.
예컨대, 위상 골격(1120)에 배치되는 대상 포인트(C1, C2)의 배치 간격이 넓어지는 경우, 대상 포인트(C1, C2)에 대해 생성된 두 채움 원의 교점은 위상 골격(1120)에 근접하게 되고, 이에 따라 오차 값(1110)은 증가하게 된다.
도 11에는 비록 도시되지 아니하였으나, 또 다른 실시예로, 오차 값 산출부(도 2의 220 참조)는 경로 영역 중 채움 원들에 의해 채워지지 아니한 영역의 넓이를 오차 값으로 산출할 수 있다.
도 12는 본 발명의 일 실시예에 따른 오차 한도 값과 채움 원의 수의 관계를 나타낸 도면이다.
도 12를 참조하면, 오차 한도 값(Error Threshold)이 높아질 수록, 채움 원의 수(# of Circles)도 감소함을 알 수 있다.
즉, 오차 한도 값이 높아지는 경우, 경로 영역에 상응하는 위상 골격에 배치되는 대상 포인트들 간 간격이 넓어지고, 대상 포인트마다 생성되는 채움 원의 수는 감소하게 된다.
이와 같이, 본 발명의 일 실시예에 따른 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법을 이용하여 모델링 오차를 증가시키면서 채움 원의 수를 감소시킴으로써, 장애물 충돌 여부 판단에 소요되는 연산량을 감소시킬 수 있다.
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 나아가, 매체는 네트워크 상에서 전송 가능한 형태로 구현되는 무형의 매체를 포함할 수 있으며, 예를 들어 소프트웨어 또는 애플리케이션 형태로 구현되어 네트워크를 통해 전송 및 유통이 가능한 형태의 매체일 수도 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
110: 위상 골격 획득부 120: 브랜치 포인트 결정부
130: 대상 브랜치 결정부 140: 대상 포인트 선택부
150: 충돌 경로 판단부

Claims (20)

  1. 삭제
  2. 객체의 이동 경로 및 장애물이 포함된 이미지 상에서, 경로 영역에 상응하는 위상 골격(topological skeleton)을 획득하는 단계;
    상기 위상 골격을 이루는 골격 포인트들 중, 상기 위상 골격의 브랜치(branch)들 간의 접점인 브랜치 포인트들을 결정하는 단계;
    상기 브랜치 포인트들을 이용하여 상기 브랜치들 중 대상 브랜치를 결정하는 단계;
    상기 대상 브랜치를 이루는 포인트들 중 상기 이동 경로가 충돌 경로인지 여부를 판단하기 위한 복수의 대상 포인트들을 선택하는 단계; 및
    상기 대상 포인트들을 이용하여 상기 이동 경로가 충돌 경로인지 여부를 판단하는 단계;를 포함하고,
    상기 대상 포인트들을 선택하는 단계는
    상기 대상 포인트들 각각에 대하여, 상기 대상 포인트를 원심으로 하면서 상기 경로 영역의 경계선과 상기 대상 포인트 사이의 최단거리를 반경으로 하는 채움(filling) 원을 생성하는 단계;
    상기 채움 원들을 이용하여 오차 값을 산출하는 단계; 및
    상기 오차 값이 기설정된 오차 한도 값 이하가 되도록 상기 대상 포인트들을 선택하는 단계;를 포함하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법.
  3. 제2 항에 있어서,
    상기 오차 값을 산출하는 단계는
    다른 대상 포인트를 사이에 두지 아니하는 대상 포인트 쌍들 각각에 대하여, 상기 대상 포인트 쌍에 대응하는 두 채움 원들 간의 두 교점들, 및 상기 두 채움 원들에 동시에 접하는 두 접선들을 획득하고, 상기 교점 및 상기 접선 사이의 거리 값들 중 가장 작은 값을 기초로 상기 오차 값을 산출하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법.
  4. ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈
    제2 항에 있어서,
    상기 오차 값을 산출하는 단계는
    다른 대상 포인트를 사이에 두지 아니하는 대상 포인트 쌍들 각각에 대하여, 상기 대상 포인트 쌍에 대응하는 두 채움 원들 간의 두 교점들을 획득하고, 상기 경로 영역의 경계선과 상기 교점 사이의 최단거리들 중 큰 값을 기초로 상기 오차 값을 산출하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법.
  5. ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈
    제2 항에 있어서,
    상기 오차 값을 산출하는 단계는
    상기 경로 영역 중 상기 채움 원들과 중첩되지 않는 영역에 포함된 포인트 수를 기초로 상기 오차 값을 산출하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법.
  6. 제2 항에 있어서,
    상기 채움 원을 생성하는 단계는
    상기 경로 영역의 경계선을 기준으로 상기 이미지를 유클리드 거리 변환(Euclidean distance transform)한 결과 값을 기초로 상기 경로 영역의 경계선과 상기 대상 포인트 사이의 최단거리를 획득하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법.
  7. 제2 항에 있어서,
    상기 충돌 경로인지 여부를 판단하는 단계는
    상기 대상 포인트들 각각에 대하여, 상기 경로 영역의 경계선과 상기 대상 포인트 사이의 최단거리 및 장애물 영역의 경계선과 상기 대상 포인트 사이의 최단거리를 비교하여 상기 이동 경로가 충돌 경로인지 여부를 판단하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법.
  8. ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈
    제7 항에 있어서,
    상기 충돌 경로인지 여부를 판단하는 단계는
    상기 대상 포인트들 중, 상기 경로 영역의 경계선과 상기 대상 포인트 사이의 최단거리가 상기 장애물 영역의 경계선과 상기 대상 포인트 사이의 최단거리보다 긴 대상 포인트가 존재하는 경우, 상기 이동 경로가 충돌 경로인 것으로 판단하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법.
  9. 제2 항에 있어서,
    상기 위상 골격을 획득하는 단계는
    상기 경로 영역의 경계선을 기준으로 상기 이미지를 유클리드 거리 변환(Euclidean distance transform)한 제1 중간 값을 획득하는 단계;
    상기 제1 중간 값에서 특징(feature) 포인트들을 검출하여 제2 중간 값을 획득하는 단계;
    상기 제2 중간 값의 특징 포인트들을 간소화(thinning)하여 제3 중간 값을 획득하는 단계; 및
    상기 제3 중간 값의 간소화된 포인트들 중 최대 크기의 연결된 포인트들을 검출하여 상기 위상 골격을 획득하는 단계;를 포함하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법.
  10. 제2 항에 있어서,
    상기 브랜치 포인트들을 결정하는 단계는
    상기 골격 포인트들 각각에 대하여, 상기 골격 포인트에 가로 또는 세로 방향으로 이웃하는 다른 골격 포인트를 제1 이웃 골격 포인트로 판단하는 단계;
    상기 제1 이웃 골격 포인트와 가로 또는 세로 방향으로 이웃하지 아니하면서 상기 골격 포인트와 대각선 방향으로 이웃하는 다른 골격 포인트를 제2 이웃 골격 포인트로 판단하는 단계; 및
    상기 골격 포인트에 상기 이웃 골격 포인트들이 셋 이상 존재하는 경우, 상기 골격 포인트를 상기 브랜치 포인트로 결정하는 단계;를 포함하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법.
  11. ◈청구항 11은(는) 설정등록료 납부시 포기되었습니다.◈
    제2 항에 있어서,
    상기 대상 브랜치를 결정하는 단계는
    상기 브랜치들 중 가장 많은 포인트들로 이루어진 브랜치를 상기 대상 브랜치로 결정하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법.
  12. 삭제
  13. 객체의 이동 경로 및 장애물이 포함된 이미지 상에서, 경로 영역에 상응하는 위상 골격(topological skeleton)을 획득하는 위상 골격 획득부;
    상기 위상 골격을 이루는 골격 포인트들 중, 상기 위상 골격의 브랜치(branch)들 간의 접점인 브랜치 포인트들을 결정하는 브랜치 포인트 결정부;
    상기 브랜치 포인트들을 이용하여 상기 브랜치들 중 대상 브랜치를 결정하는 대상 브랜치 결정부;
    상기 대상 브랜치를 이루는 포인트들 중 상기 이동 경로가 충돌 경로인지 여부를 판단하기 위한 복수의 대상 포인트들을 선택하는 대상 포인트 선택부; 및
    상기 대상 포인트들을 이용하여 상기 이동 경로가 충돌 경로인지 여부를 판단하는 충돌 경로 판단부;를 포함하고,
    상기 대상 포인트 선택부는
    상기 대상 포인트들 각각에 대하여, 상기 대상 포인트를 원심으로 하면서 상기 경로 영역의 경계선과 상기 대상 포인트 사이의 최단거리를 반경으로 하는 채움(filling) 원을 생성하는 채움 원 생성부; 및
    상기 채움 원들을 이용하여 오차 값을 산출하는 오차 값 산출부;를 포함하고,
    상기 오차 값이 기설정된 오차 한도 값 이하가 되도록 상기 대상 포인트들을 선택하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 장치.
  14. 제13 항에 있어서,
    상기 오차 값 산출부는
    다른 대상 포인트를 사이에 두지 아니하는 대상 포인트 쌍들 각각에 대하여, 상기 대상 포인트 쌍에 대응하는 두 채움 원들 간의 두 교점들, 및 상기 두 채움 원들에 동시에 접하는 두 접선들을 획득하고, 상기 교점 및 상기 접선 사이의 거리 값들 중 가장 작은 값을 기초로 상기 오차 값을 산출하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 장치.
  15. 제13 항에 있어서,
    상기 채움 원 생성부는
    상기 경로 영역의 경계선을 기준으로 상기 이미지를 유클리드 거리 변환(Euclidean distance transform)한 결과 값을 기초로 상기 경로 영역의 경계선과 상기 대상 포인트 사이의 최단거리를 획득하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 장치.
  16. 제13 항에 있어서,
    상기 충돌 경로 판단부는
    상기 대상 포인트들 각각에 대하여, 상기 경로 영역의 경계선과 상기 대상 포인트 사이의 최단거리 및 장애물 영역의 경계선과 상기 대상 포인트 사이의 최단거리를 비교하여 상기 이동 경로가 충돌 경로인지 여부를 판단하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 장치.
  17. ◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈
    제16 항에 있어서,
    상기 충돌 경로 판단부는
    상기 대상 포인트들 중, 상기 경로 영역의 경계선과 상기 대상 포인트 사이의 최단거리가 상기 장애물 영역의 경계선과 상기 대상 포인트 사이의 최단거리보다 긴 대상 포인트가 존재하는 경우, 상기 이동 경로가 충돌 경로인 것으로 판단하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 장치.
  18. ◈청구항 18은(는) 설정등록료 납부시 포기되었습니다.◈
    제13 항에 있어서,
    상기 위상 골격 획득부는
    상기 경로 영역의 경계선을 기준으로 상기 이미지를 유클리드 거리 변환(Euclidean distance transform)한 제1 중간 값을 획득하고, 상기 제1 중간 값에서 특징(feature) 포인트들을 검출하여 제2 중간 값을 획득하고, 상기 제2 중간 값의 특징 포인트들을 간소화(thinning)하여 제3 중간 값을 획득하고, 상기 제3 중간 값의 간소화된 포인트들 중 최대 크기의 연결된 포인트들을 검출하여 상기 위상 골격을 획득하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 장치.
  19. 제13 항에 있어서,
    상기 브랜치 포인트 결정부는
    상기 골격 포인트들 각각에 대하여, 상기 골격 포인트에 가로 또는 세로 방향으로 이웃하는 다른 골격 포인트를 제1 이웃 골격 포인트로 판단하고, 상기 제1 이웃 골격 포인트와 가로 또는 세로 방향으로 이웃하지 아니하면서 상기 골격 포인트와 대각선 방향으로 이웃하는 다른 골격 포인트를 제2 이웃 골격 포인트로 판단하고, 상기 골격 포인트에 상기 이웃 골격 포인트들이 셋 이상 존재하는 경우, 상기 골격 포인트를 상기 브랜치 포인트로 결정하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 장치.
  20. ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈
    제13 항에 있어서,
    상기 대상 브랜치 결정부는
    상기 브랜치들 중 가장 많은 포인트들로 이루어진 브랜치를 상기 대상 브랜치로 결정하는 것을 특징으로 하는, 객체 이동 경로를 이용한 장애물 충돌 여부 판단 장치.
KR1020150177369A 2015-12-11 2015-12-11 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법 및 이를 위한 장치 KR102431194B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150177369A KR102431194B1 (ko) 2015-12-11 2015-12-11 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법 및 이를 위한 장치
US15/360,355 US10339370B2 (en) 2015-12-11 2016-11-23 Method and apparatus for determining obstacle collision by using object moving path

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150177369A KR102431194B1 (ko) 2015-12-11 2015-12-11 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20170069754A KR20170069754A (ko) 2017-06-21
KR102431194B1 true KR102431194B1 (ko) 2022-08-11

Family

ID=59020739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150177369A KR102431194B1 (ko) 2015-12-11 2015-12-11 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법 및 이를 위한 장치

Country Status (2)

Country Link
US (1) US10339370B2 (ko)
KR (1) KR102431194B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2577915B (en) 2018-10-10 2021-06-16 Dyson Technology Ltd Path planning
CN110007680B (zh) * 2019-04-23 2021-11-23 吉林农业大学 基于拓扑关系的机器人避障算法
US11158097B2 (en) * 2019-08-19 2021-10-26 Remarkable As Generating vector graphics by processing raster graphics
CN112666937B (zh) * 2020-12-07 2022-09-13 中国科学院深圳先进技术研究院 一种与图像骨架结合的最优路径规划方法
CN116424315A (zh) * 2023-03-31 2023-07-14 阿波罗智联(北京)科技有限公司 碰撞检测方法、装置、电子设备、自动驾驶车辆及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100611328B1 (ko) * 2005-06-30 2006-08-11 고려대학교 산학협력단 세선화 기반 위상지도의 작성방법 및 그 장치, 이동로봇의탐사를 통한 세선화 기반 위상지도 작성방법 및 그 장치
JP2011170843A (ja) * 2010-01-20 2011-09-01 Ihi Aerospace Co Ltd 経路生成装置と方法および経路生成装置を備える移動装置
WO2015051815A1 (en) * 2013-10-07 2015-04-16 Abb Technology Ltd A method and a device for verifying one or more safety volumes for a movable mechanical unit

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429174B2 (en) 2003-01-25 2013-04-23 Purdue Research Foundation Methods, systems, and data structures for performing searches on three dimensional objects
KR101037379B1 (ko) 2008-12-18 2011-05-27 한국과학기술연구원 거리센서로부터 얻은 주변환경의 거리정보를 바탕으로 한 이동로봇탐사시스템 및 이를 이용한 탐사방법
KR20100117931A (ko) 2009-04-27 2010-11-04 호남대학교 산학협력단 이동 로봇의 스위핑 작업 경로 생성 방법
TWI547355B (zh) * 2013-11-11 2016-09-01 財團法人工業技術研究院 人機共生安全監控系統及其方法
KR20150071781A (ko) 2013-12-18 2015-06-29 한국전자통신연구원 궤적변환 기반 이동궤적 모델링 장치 및 방법
CH709347A2 (de) * 2014-03-10 2015-09-15 Tecan Trading Ag Verfahren zur Wegfindung in einem automatisierten Handhabungssystem sowie Handhabungssystem mit entsprechendem Kontrollmodul zur Wegfindung.
US20170072850A1 (en) * 2015-09-14 2017-03-16 Pearl Automation Inc. Dynamic vehicle notification system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100611328B1 (ko) * 2005-06-30 2006-08-11 고려대학교 산학협력단 세선화 기반 위상지도의 작성방법 및 그 장치, 이동로봇의탐사를 통한 세선화 기반 위상지도 작성방법 및 그 장치
JP2011170843A (ja) * 2010-01-20 2011-09-01 Ihi Aerospace Co Ltd 経路生成装置と方法および経路生成装置を備える移動装置
WO2015051815A1 (en) * 2013-10-07 2015-04-16 Abb Technology Ltd A method and a device for verifying one or more safety volumes for a movable mechanical unit

Also Published As

Publication number Publication date
US20170169288A1 (en) 2017-06-15
US10339370B2 (en) 2019-07-02
KR20170069754A (ko) 2017-06-21

Similar Documents

Publication Publication Date Title
KR102431194B1 (ko) 객체 이동 경로를 이용한 장애물 충돌 여부 판단 방법 및 이를 위한 장치
CN110632921B (zh) 机器人路径规划方法、装置、电子设备和存储介质
KR102459853B1 (ko) 디스패리티 추정 장치 및 방법
KR20190095622A (ko) 회피경로 생성방법 및 그를 위한 장치
KR102560681B1 (ko) 최적 경로 생성 방법 및 이를 위한 장치
EP3543743A2 (en) Apparatus and method for obstacle detecting around unmanned vehicle
KR102455632B1 (ko) 스테레오 매칭 방법 및 장치
KR20150006958A (ko) 카메라 포즈 추정 장치 및 방법
US9552662B2 (en) Method and apparatus for removing false intersection in ray tracing
KR20170091496A (ko) 양안 시차 영상의 처리 방법 및 장치
US20150104067A1 (en) Method and apparatus for tracking object, and method for selecting tracking feature
JP2017010553A (ja) 道路境界物の検出方法及び検出装置
US20170357860A1 (en) Method and apparatus for detecting side of object using ground boundary information of obstacle
CN111433780A (zh) 车道线检测方法、设备、计算机可读存储介质
WO2014168083A1 (ja) 境界線認識装置
KR20160077548A (ko) 실감 효과 메타데이터 생성 장치 및 방법
KR20160098012A (ko) 영상 매칭 방법 및 장치
CN110084825B (zh) 一种基于图像边缘信息导航的方法及***
KR101688302B1 (ko) 모션 플래닝 장치 및 방법
KR102560684B1 (ko) 이미지 기반 객체 카운팅 방법 및 이를 위한 장치
KR102550931B1 (ko) 스테레오 매칭 방법 및 장치
CN114030483B (zh) 车辆控制方法、装置、电子设备和介质
KR102444675B1 (ko) 주변 객체의 차로 변경 예측 장치 및 방법
KR101653203B1 (ko) 영상 처리 장치 및 방법
JP6345138B2 (ja) 道路形状推定装置及び道路形状推定方法

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right