KR102529835B1 - Method and apparatus for outputting graphic objects related to vehicel driving information - Google Patents
Method and apparatus for outputting graphic objects related to vehicel driving information Download PDFInfo
- Publication number
- KR102529835B1 KR102529835B1 KR1020210062325A KR20210062325A KR102529835B1 KR 102529835 B1 KR102529835 B1 KR 102529835B1 KR 1020210062325 A KR1020210062325 A KR 1020210062325A KR 20210062325 A KR20210062325 A KR 20210062325A KR 102529835 B1 KR102529835 B1 KR 102529835B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- target area
- vehicle
- graphic object
- generating
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 71
- 230000009466 transformation Effects 0.000 claims description 23
- 230000008859 change Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/08—Interaction between the driver and the control system
- B60W50/14—Means for informing the driver, warning the driver or prompting a driver intervention
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K35/00—Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K35/00—Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
- B60K35/20—Output arrangements, i.e. from vehicle to user, associated with vehicle functions or specially adapted therefor
- B60K35/21—Output arrangements, i.e. from vehicle to user, associated with vehicle functions or specially adapted therefor using visual output, e.g. blinking lights or matrix displays
- B60K35/22—Display screens
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R1/00—Optical viewing arrangements; Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles
- B60R1/12—Mirror assemblies combined with other articles, e.g. clocks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Estimation 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/02—Estimation 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Estimation 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/10—Estimation 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 vehicle motion
- B60W40/105—Speed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K2360/00—Indexing scheme associated with groups B60K35/00 or B60K37/00 relating to details of instruments or dashboards
- B60K2360/20—Optical features of instruments
- B60K2360/21—Optical features of instruments using cameras
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R1/00—Optical viewing arrangements; Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles
- B60R1/12—Mirror assemblies combined with other articles, e.g. clocks
- B60R2001/1215—Mirror assemblies combined with other articles, e.g. clocks with information displays
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
- B60W2050/0004—In digital systems, e.g. discrete-time systems involving sampling
- B60W2050/0005—Processor details or data handling, e.g. memory registers or chip architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/08—Interaction between the driver and the control system
- B60W50/14—Means for informing the driver, warning the driver or prompting a driver intervention
- B60W2050/146—Display means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo, light or radio wave sensitive means, e.g. infrared sensors
- B60W2420/403—Image sensing, e.g. optical camera
-
- B60W2420/42—
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2720/00—Output or target parameters relating to overall vehicle dynamics
- B60W2720/10—Longitudinal speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2720/00—Output or target parameters relating to overall vehicle dynamics
- B60W2720/24—Direction of travel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
차량의 운행 정보에 대한 그래픽 객체를 출력하기 위해, 차량의 일 측에 설치된 카메라를 이용하여 제1 시각에 대한 제1 이미지를 생성하고, 카메라를 이용하여 제2 시각에 대한 제2 이미지를 생성하고, 제1 이미지 및 제2 이미지 중 기준 이미지로서의 제1 이미지에 대한 깊이 이미지를 생성하고, 깊이 이미지에 기초하여 차량의 위치와 연관된 타겟 영역을 상기 기준 이미지 상에서 결정하고, 타겟 영역을 나타내는 그래픽 객체를 디스플레이를 통해 출력한다.In order to output a graphic object for vehicle driving information, a first image for a first time is generated using a camera installed on one side of the vehicle, and a second image for a second time is generated using the camera. , Create a depth image for the first image as a reference image among the first image and the second image, determine a target area related to the position of the vehicle based on the depth image on the reference image, and create a graphic object representing the target area. output through the display.
Description
아래의 실시예들은 그래픽 객체를 출력하는 기술에 관한 것이고, 구체적으로 차량의 운행 정보와 관련된 그래픽 객체를 출력하는 기술에 관한 것이다.The following embodiments relate to a technology for outputting a graphic object, and specifically, to a technology for outputting a graphic object related to driving information of a vehicle.
차량의 운전 중에 운전자가 눈으로 직접적으로 관찰하기 어려운 영역들로서 사각 지대(blind spot)가 나타날 수 있다. 예를 들어, 사각 지대는 차량의 차체에 가려지거나, 사이드 미러 등에 의해서도 나타나지 않은 영역들일 수 있다. 차량의 사이드 미러의 설치 각도를 변경하여 시각 지대를 변경할 수 있지만, 시각 지대를 완전히 없앨 수는 없다. 사각 지대를 줄이기 위해 사이드 미러를 화각이 넓은 미러로 교체하거나, 차량의 후방에 초음파 센서가 설치될 수 있다. 그러나, 미러를 교체하는 것은 추가적인 비용이 필요하고, 운전자가 실제의 거리에 대한 감각이 무뎌질 수 있는 단점이 있다. 그리고, 초음파 센서는 오브젝트를 센싱할 수 있는 거리가 짧고, 오브젝트의 크기를 구분할 수 없는 단점이 있다.Blind spots may appear as areas that are difficult for a driver to directly observe while driving a vehicle. For example, the blind spot may be an area that is covered by the body of the vehicle or not displayed even by a side mirror or the like. Although the viewing zone can be changed by changing the installation angle of the vehicle's side mirrors, the viewing zone cannot be completely eliminated. To reduce blind spots, side mirrors can be replaced with mirrors with a wide angle of view, or ultrasonic sensors can be installed at the rear of the vehicle. However, there are disadvantages in that replacing the mirror requires additional cost and the driver may lose a sense of an actual distance. In addition, the ultrasonic sensor has a short distance for sensing an object and cannot discriminate the size of the object.
한국특허공개번호 제10-2016-0147530호(공개일 2016.12.23.)에는 차량의 사이드 미러 사각 감지장치 및 그 제어방법이 개시되어 있다. 공개발명은 원통형 사이드 미러, 후방 카메라 및 모니터를 구비함으로써, 주행시에 공기저항을 줄일 수 있고, 사각 지대 없이 후방을 감시할 수 있으며 사이드 미러와 모니터로 서로 보완하여 야간이나 카메라 관련 장비 고장 시에도 대처할 수 있다.Korean Patent Publication No. 10-2016-0147530 (published on December 23, 2016) discloses a vehicle side mirror blind spot detection device and a control method thereof. The disclosed invention is provided with a cylindrical side mirror, a rear camera, and a monitor, so that air resistance can be reduced while driving, and the rear can be monitored without a blind spot. can
일 실시예는 차량의 운행 정보와 관련된 그래픽 객체를 출력하는 방법 및 장치를 제공할 수 있다.An embodiment may provide a method and apparatus for outputting a graphic object related to driving information of a vehicle.
일 실시예는 차량을 제어하는 방법 및 장치를 제공할 수 있다.One embodiment may provide a method and apparatus for controlling a vehicle.
다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical challenges are not limited to the above-described technical challenges, and other technical challenges may exist.
일 측면에 따른, 전자 장치에 의해 수행되는, 그래픽 객체 출력 방법은, 차량의 일 측에 설치된 카메라를 이용하여 제1 시각에 대한 제1 이미지를 생성하는 단계, 상기 카메라를 이용하여 제2 시각에 대한 제2 이미지를 생성하는 단계, 상기 제1 이미지 및 제2 이미지 중 기준 이미지로서의 상기 제1 이미지에 대한 깊이 이미지를 생성하는 단계, 상기 깊이 이미지에 기초하여 상기 차량의 위치와 연관된 타겟 영역을 상기 기준 이미지 상에서 결정하는 단계, 및 상기 타겟 영역을 나타내는 그래픽 객체를 디스플레이를 통해 출력하는 단계를 포함한다.According to one aspect, a method of outputting a graphic object, performed by an electronic device, includes generating a first image for a first time using a camera installed on one side of a vehicle, and generating a first image for a second time using the camera. generating a second image for the first image, generating a depth image for the first image as a reference image among the first image and the second image, and determining a target area associated with the position of the vehicle based on the depth image. The method includes determining on a reference image, and outputting a graphic object representing the target region through a display.
상기 제2 이미지는 상기 카메라가 상기 제1 이미지를 생성한 이후에 생성한 다음 이미지일 수 있다.The second image may be a next image generated by the camera after generating the first image.
상기 깊이 이미지를 생성하는 단계는, 상기 제1 이미지 및 상기 제2 이미지 간의 변환 관계를 계산하는 단계, 상기 변환 관계에 기초하여 상기 제1 이미지를 기준으로 서로 다른 깊이 값들을 갖는 복수의 가상 평면들을 설정하는 단계, 상기 제1 이미지 및 상기 제1 이미지에 대한 상기 복수의 가상 평면들 각각의 호모그래피(homography)에 기초하여 상기 복수의 가상 평면들에 대응하는 복수의 가상 이미지들을 생성하는 단계, 상기 제1 이미지 내의 타겟 픽셀에 대응하는 상기 복수의 가상 이미지들 각각 내의 매칭 픽셀들에 대한 매칭 비용들을 계산하는 단계, 상기 매칭 비용들에 기초하여 최종 매칭 픽셀을 결정하는 단계, 상기 최종 매칭 픽셀을 포함하는 상기 복수의 가상 이미지들 중 타겟 가상 이미지의 깊이 값을 상기 타겟 픽셀의 타겟 깊이 값으로 결정하는 단계, 및 상기 타겟 깊이 값에 기초하여 상기 깊이 이미지를 생성하는 단계를 포함할 수 있다.The generating of the depth image may include calculating a transformation relationship between the first image and the second image, and creating a plurality of virtual planes having different depth values based on the first image based on the transformation relationship. setting, generating a plurality of virtual images corresponding to the plurality of virtual planes based on the first image and a homography of each of the plurality of virtual planes with respect to the first image; calculating matching costs for matching pixels in each of the plurality of virtual images corresponding to a target pixel in a first image, determining a final matching pixel based on the matching costs, including the final matching pixel The method may include determining a depth value of a target virtual image among the plurality of virtual images as a target depth value of the target pixel, and generating the depth image based on the target depth value.
상기 제1 이미지 및 상기 제2 이미지 간의 변환 관계를 계산하는 단계는, SIFT(scale invariant feature transform) 알고리즘을 이용하여 상기 제1 이미지 및 상기 제2 이미지 간의 상기 변환 관계를 계산하는 단계, 또는 PoseNet 모델을 이용하여 상기 제1 이미지 및 상기 제2 이미지 간의 상기 변환 관계를 계산하는 단계를 포함할 수 있다.Calculating the transformation relationship between the first image and the second image may include calculating the transformation relationship between the first image and the second image using a scale invariant feature transform (SIFT) algorithm, or a PoseNet model Calculating the transformation relationship between the first image and the second image using
상기 복수의 가상 평면들 중 제1 가상 평면의 제1 호모그래피는 상기 제1 이미지의 외부 파라미터, 제2 이미지의 외부 파라미터 및 상기 제1 가상 평면의 제1 깊이 값에 기초하여 결정될 수 있다.A first homography of a first virtual plane among the plurality of virtual planes may be determined based on an external parameter of the first image, an external parameter of the second image, and a first depth value of the first virtual plane.
상기 기준 이미지 내의 타겟 픽셀에 대응하는 상기 복수의 가상 이미지들 각각 내의 매칭 픽셀들에 대한 매칭 비용들을 계산하는 단계는, SAD(sum of absolute difference) 또는 ZNCC(zero mean normalized cross-correlation)에 기초하여 상기 매칭 비용들을 계산하는 단계를 포함할 수 있다.Calculating matching costs for matching pixels in each of the plurality of virtual images corresponding to a target pixel in the reference image may include sum of absolute difference (SAD) or zero mean normalized cross-correlation (ZNCC) based on Calculating the matching costs may be included.
상기 타겟 영역은 상기 제1 이미지가 나타내는 장면 내의 바닥 영역 중 일부에 대응하는 직선 또는 직선 형태의 영역이고, 상기 그래픽 객체는 상기 직선 또는 상기 직선 형태의 영역을 나타내는 객체일 수 있다.The target area may be a straight line or an area in the form of a straight line corresponding to a portion of a floor area in a scene represented by the first image, and the graphic object may be an object representing the straight line or the area in the form of a straight line.
상기 타겟 영역은 상기 제1 이미지가 나타내는 장면 내의 바닥 영역 중 일부에 대응하는 2차원 영역이고, 상기 그래픽 객체는 상기 2차원 영역의 경계를 나타내는 객체일 수 있다.The target area may be a 2D area corresponding to a part of a floor area in a scene represented by the first image, and the graphic object may be an object representing a boundary of the 2D area.
상기 타겟 영역은 상기 제1 이미지가 나타내는 장면 내의 바닥 영역 중 일부를 포함하는 3차원 영역이고, 상기 그래픽 객체는 상기 3차원 영역의 경계를 나타내는 객체일 수 있다.The target area may be a 3D area including a part of a floor area in a scene represented by the first image, and the graphic object may be an object representing a boundary of the 3D area.
상기 그래픽 객체 출력 방법은, 상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계, 및 상기 타겟 영역 내에 오브젝트가 존재하는 경우, 미리 설정된 동작을 수행하는 단계를 더 포함할 수 있다.The graphic object output method may further include determining whether an object exists in the target area, and performing a preset operation if the object exists in the target area.
상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계는, 상기 차량의 현재 운행 상황을 결정하는 단계, 및 상기 현재 운행 상황이 미리 설정된 운행 상황에 대응하는 경우 상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계를 포함할 수 있다.The step of determining whether an object exists within the target area may include determining a current driving situation of the vehicle, and determining whether an object exists within the target area when the current driving situation corresponds to a preset driving situation. It may include a decision-making step.
상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계는, 상기 제1 시각에서 상기 타겟 영역 내의 오브젝트 센싱 값을 결정하는 단계, 상기 제1 시각의 이전 시각에서 결정된 이전 타겟 영역 내의 이전 오브젝트 센싱 값 및 상기 오브젝트 센싱 값 간의 변화량을 계산하는 단계, 및 상기 변화량이 미리 설정된 임계 값 이상인 경우, 오브젝트가 존재하는 것을 결정하는 단계를 포함할 수 있다.Determining whether an object exists in the target area may include determining an object sensing value in the target area at the first time, a previous object sensing value in a previous target area determined at a time before the first time, and The method may include calculating a change amount between object sensing values, and determining whether an object exists when the change amount is greater than or equal to a preset threshold value.
상기 타겟 영역 내에 오브젝트가 존재하는 경우, 미리 설정된 동작을 수행하는 단계는, 상기 미리 설정된 동작으로서 상기 차량의 사용자에게 알람을 출력하는 단계를 포함할 수 있다.When an object exists in the target area, performing a preset operation may include outputting an alarm to a user of the vehicle as the preset operation.
상기 타겟 영역 내에 오브젝트가 존재하는 경우, 미리 설정된 동작을 수행하는 단계는, 상기 미리 설정된 동작으로서 상기 차량의 운행 방향 또는 운행 속도 중 적어도 하나를 제어하는 단계를 포함할 수 있다.When an object exists in the target area, performing a preset operation may include controlling at least one of a driving direction or a driving speed of the vehicle as the preset operation.
상기 디스플레이는 상기 차량의 사이드 미러에 포함되고, 상기 그래픽 객체는 상기 사이드 미러에 나타나는 장면 상에 오버레이될 수 있다.The display may be included in a side mirror of the vehicle, and the graphic object may be overlaid on a scene displayed on the side mirror.
상기 타겟 영역을 나타내는 그래픽 객체를 디스플레이를 통해 출력하는 단계는, 상기 그래픽 객체가 오버레이된 상기 기준 이미지를 상기 디스플레이를 통해 출력하는 단계를 포함할 수 있다.The outputting of the graphic object representing the target region through the display may include outputting the reference image overlaid with the graphic object through the display.
다른 일 측면에 따른, 전자 장치는, 그래픽 객체를 출력하는 프로그램이 기록된 메모리, 및 상기 프로그램을 수행하는 프로세서를 포함하고, 상기 프로그램은, 차량의 일 측에 설치된 카메라를 이용하여 제1 시각에 대한 제1 이미지를 생성하는 단계, 상기 카메라를 이용하여 제2 시각에 대한 제2 이미지를 생성하는 단계, 상기 제1 이미지 및 제2 이미지 중 기준 이미지로서의 상기 제1 이미지에 대한 깊이 이미지를 생성하는 단계, 상기 깊이 이미지에 기초하여 상기 차량의 위치와 연관된 타겟 영역을 상기 기준 이미지 상에서 결정하는 단계, 및 상기 타겟 영역을 나타내는 그래픽 객체를 디스플레이를 통해 출력하는 단계를 수행한다.According to another aspect, an electronic device includes a memory in which a program outputting a graphic object is recorded, and a processor that executes the program, wherein the program is stored at a first time using a camera installed on one side of a vehicle. generating a first image for a second view using the camera; generating a depth image for the first image as a reference image among the first and second images; The steps of determining a target area related to the location of the vehicle on the reference image based on the depth image, and outputting a graphic object representing the target area through a display.
또 다른 일 측면에 따른, 전자 장치에 의해 수행되는, 차량 제어 방법은, 차량의 일 측에 설치된 카메라를 이용하여 제1 시각에 대한 제1 이미지를 생성하는 단계, 상기 카메라를 이용하여 제2 시각에 대한 제2 이미지를 생성하는 단계, 상기 제1 이미지 및 제2 이미지 중 기준 이미지로서의 상기 제1 이미지에 대한 깊이 이미지를 생성하는 단계, 상기 깊이 이미지에 기초하여 상기 차량의 위치와 연관된 타겟 영역을 상기 기준 이미지 상에서 결정하는 단계, 상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계, 및 상기 타겟 영역 내에 오브젝트가 존재하는 경우, 미리 설정된 동작을 수행함으로써 상기 차량을 제어하는 단계를 포함한다.According to another aspect, a vehicle control method, performed by an electronic device, includes generating a first image for a first time point using a camera installed on one side of a vehicle, and a second time point using the camera. Generating a second image for , Generating a depth image for the first image as a reference image among the first and second images, Based on the depth image, a target area associated with the position of the vehicle is determined. Determining on the reference image, determining whether an object exists in the target area, and controlling the vehicle by performing a preset operation when the object exists in the target area.
상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계는, 상기 차량의 현재 운행 상황을 결정하는 단계, 및 상기 현재 운행 상황이 미리 설정된 운행 상황에 대응하는 경우 상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계를 포함할 수 있다.The step of determining whether an object exists within the target area may include determining a current driving situation of the vehicle, and determining whether an object exists within the target area when the current driving situation corresponds to a preset driving situation. It may include a decision-making step.
상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계는, 상기 제1 시각에서 상기 타겟 영역 내의 오브젝트 센싱 값을 결정하는 단계, 상기 제1 시각의 이전 시각에서 결정된 이전 타겟 영역 내의 이전 오브젝트 센싱 값 및 상기 오브젝트 센싱 값 간의 변화량을 계산하는 단계, 및 상기 변화량이 미리 설정된 임계 값 이상인 경우, 오브젝트가 존재하는 것을 결정하는 단계를 포함할 수 있다.Determining whether an object exists in the target area may include determining an object sensing value in the target area at the first time, a previous object sensing value in a previous target area determined at a time before the first time, and The method may include calculating a change amount between object sensing values, and determining whether an object exists when the change amount is greater than or equal to a preset threshold value.
또 다른 일 측면에 따른, 전자 장치는, 차량을 제어하는 프로그램이 기록된 메모리, 및 상기 프로그램을 수행하는 프로세서를 포함하고, 상기 프로그램은, 차량의 일 측에 설치된 카메라를 이용하여 제1 시각에 대한 제1 이미지를 생성하는 단계, 상기 카메라를 이용하여 제2 시각에 대한 제2 이미지를 생성하는 단계, 상기 제1 이미지 및 제2 이미지 중 기준 이미지로서의 상기 제1 이미지에 대한 깊이 이미지를 생성하는 단계, 상기 깊이 이미지에 기초하여 상기 차량의 위치와 연관된 타겟 영역을 상기 기준 이미지 상에서 결정하는 단계, 상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계, 및 상기 타겟 영역 내에 오브젝트가 존재하는 경우, 미리 설정된 동작을 수행함으로써 상기 차량을 제어하는 단계를 수행한다.According to another aspect, an electronic device includes a memory in which a program for controlling a vehicle is recorded, and a processor that executes the program, wherein the program is stored at a first time using a camera installed on one side of the vehicle. generating a first image for a second view using the camera; generating a depth image for the first image as a reference image among the first and second images; Determining a target area associated with the position of the vehicle on the reference image based on the depth image, determining whether an object exists in the target area, and if an object exists in the target area, The step of controlling the vehicle by performing a preset operation is performed.
차량의 운행 정보와 관련된 그래픽 객체를 출력하는 방법 및 장치가 제공될 수 있다.A method and apparatus for outputting a graphic object related to driving information of a vehicle may be provided.
차량을 제어하는 방법 및 장치가 제공될 수 있다.A method and apparatus for controlling a vehicle may be provided.
도 1은 일 예에 따른 차량의 운행 중에 나타나는 사각 지대를 도시한다.
도 2는 일 실시예에 따른 전자 장치의 구성도이다.
도 3은 일 실시예에 따른 그래픽 객체를 출력하는 방법의 흐름도이다.
도 4는 일 예에 따른 기준 이미지에 대한 깊이 이미지를 생성하는 방법의 흐름도이다.
도 5는 일 예에 따른 제1 이미지 및 제2 이미지 간의 변환 관계를 계산하는 방법의 흐름도이다.
도 6은 일 예에 따른 카메라들의 좌표계들 간의 차이에 의해 나타나는 서로 다른 이미지들을 도시한다.
도 7은 일 예에 따른 제1 이미지 및 제2 이미지에 기초하여 설정되는 복수의 가상 평면들을 도시한다.
도 8은 일 예에 따른 기준 이미지의 타겟 픽셀에 대한 타겟 깊이 값을 결정하는 방법을 도시한다.
도 9a는 일 예에 따른 타겟 영역이 직선 형태의 영역이고, 타겟 영역에 대응하는 그래픽 객체를 도시한다.
도 9b는 일 예에 따른 타겟 영역이 2차원 영역이고, 타겟 영역에 대응하는 그래픽 객체를 도시한다.
도 9c는 일 예에 따른 타겟 영역이 3차원 영역이고, 타겟 영역에 대응하는 그래픽 객체를 도시한다.
도 10은 일 예에 따른 타겟 영역 내에 오브젝트가 존재하는지 여부에 기초하여 미리 설정된 동작을 수행하는 방법의 흐름도이다.
도 11은 일 예에 따른 차량의 현재 운행 상황에 기초하여 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 방법의 흐름도이다.
도 12는 일 예에 따른 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 방법의 흐름도이다.
도 13은 일 예에 따른 오브젝트가 존재하는지 여부를 결정하기 위한 타겟 영역을 도시한다.
도 14는 일 예에 따른 미리 설정된 동작을 수행하는 방법의 흐름도이다.
도 15는 일 예에 따른 차량의 HUD를 통해 출력되는 알람을 도시한다.
도 16은 일 실시예에 따른 차량을 제어하는 방법의 흐름도이다.1 illustrates a blind spot that appears while driving a vehicle according to an example.
2 is a configuration diagram of an electronic device according to an embodiment.
3 is a flowchart of a method of outputting a graphic object according to an exemplary embodiment.
4 is a flowchart of a method of generating a depth image for a reference image according to an example.
5 is a flowchart of a method of calculating a transformation relationship between a first image and a second image according to an example.
6 illustrates different images represented by differences between coordinate systems of cameras according to an example.
7 illustrates a plurality of virtual planes set based on a first image and a second image according to an example.
8 illustrates a method of determining a target depth value for a target pixel of a reference image according to an example.
9A illustrates a target area having a linear shape and a graphic object corresponding to the target area according to an example.
9B illustrates a target area being a 2D area and a graphic object corresponding to the target area according to an example.
9C illustrates a target area being a 3D area and a graphic object corresponding to the target area according to an example.
10 is a flowchart of a method of performing a preset operation based on whether an object exists in a target area according to an example.
11 is a flowchart of a method of determining whether an object exists in a target area based on a current driving situation of a vehicle according to an example.
12 is a flowchart of a method of determining whether an object exists in a target area according to an example.
13 illustrates a target area for determining whether an object exists according to an example.
14 is a flowchart of a method of performing a preset operation according to an example.
15 illustrates an alarm output through a HUD of a vehicle according to an example.
16 is a flowchart of a method for controlling a vehicle according to an exemplary embodiment.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only, and may be changed and implemented in various forms. Therefore, the form actually implemented is not limited only to the specific embodiments disclosed, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical idea described in the embodiments.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Although terms such as first or second may be used to describe various components, such terms should only be construed for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.It should be understood that when an element is referred to as being “connected” to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, but one or more other features or numbers, It should be understood that the presence or addition of steps, operations, components, parts, or combinations thereof is not precluded.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in this specification, it should not be interpreted in an ideal or excessively formal meaning. don't
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. In the description with reference to the accompanying drawings, the same reference numerals are given to the same components regardless of reference numerals, and overlapping descriptions thereof will be omitted.
도 1은 일 예에 따른 차량의 운행 중에 나타나는 사각 지대를 도시한다.1 illustrates a blind spot that appears while driving a vehicle according to an example.
차량(110)의 운전자는 차량(110)을 운행하는 도중에 차로를 변경할 수 있다. 이 때에 사용자는 현재의 운행 차로에서 우측 차로로 변경하기 위해, 우측 차로에서 운행하고 있는 차량(115)이 있는지 여부를 확인해야 한다. 차량(115)이 차량(110)과 가까이에 있는 경우에는 운전자는 운행에 유의해야 한다. 그러나, 차량(115)이 운전자의 사각 지대(120)에 위치하는 경우 운전자는 차량(115)을 인지하지 못할 수 있고, 운전자가 차량(115)을 인지하지 못한 상태에서 차량(110)의 운행 차로를 변경한다면 사고가 발생할 수 있다.The driver of the
일 실시예에 따르면, 운전자에게 사각 지대(120)의 시야를 제공하기 위해 차량(110)의 카메라를 이용하여 차량(110)의 주변을 촬영한 이미지가 생성될 수 있다. 생성된 이미지에 기초하여 차량(110)의 주변 영역에 대한 정보가 센싱될 수 있고, 센싱된 정보가 그래픽 객체를 통해 사용자에게 제공될 수 있다. 사용자는 그래픽 객체를 통해 차량(110)의 주변 영역에 대해 정확하고 상세하게 인지할 수 있다.According to an embodiment, an image of the surroundings of the
아래에서, 도 2 내지 도 16을 참조하여 그래픽 객체를 출력하는 방법이 상세하게 설명된다.Below, a method of outputting a graphic object is described in detail with reference to FIGS. 2 to 16 .
도 2는 일 실시예에 따른 전자 장치의 구성도이다.2 is a configuration diagram of an electronic device according to an embodiment.
일 실시예에 따르면, 전자 장치(200)는 통신부(210), 프로세서(220), 및 메모리(230)를 포함한다. 추가적으로, 전자 장치(200)는 카메라(미도시)를 더 포함할 수 있다. 예를 들어, 카메라는 CCTV(closed circuit television) 내에 포함되거나, 블랙박스 시스템 내에 포함될 수 있고, 기재된 실시예로 한정되지 않는다.According to an embodiment, the
통신부(210)는 프로세서(220), 및 메모리(230)와 연결되어 데이터를 송수신한다. 통신부(210)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다. 이하에서 "A"를 송수신한다라는 표현은 "A를 나타내는 정보(information) 또는 데이터"를 송수신하는 것을 나타낼 수 있다.The
통신부(210)는 전자 장치(200) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부(210)는 내부 버스(internal bus) 및 외부 버스(external bus)를 포함할 수 있다. 다른 예로, 통신부(210)는 전자 장치(200)와 외부의 장치를 연결하는 요소일 수 있다. 통신부(210)는 인터페이스(interface)일 수 있다. 통신부(210)는 외부의 장치로부터 데이터를 수신하여, 프로세서(220) 및 메모리(230)에 데이터를 전송할 수 있다.The
프로세서(220)는 통신부(210)가 수신한 데이터 및 메모리(230)에 저장된 데이터를 처리한다. 프로세서(220)는 ISP(Image Signal Processor)일 수 있다.The
"프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다. A “processor” may be a data processing device implemented in hardware having circuitry having a physical structure for executing desired operations. For example, desired operations may include codes or instructions included in a program. For example, a data processing unit implemented in hardware includes a microprocessor, a central processing unit, a processor core, a multi-core processor, and a multiprocessor. , Application-Specific Integrated Circuit (ASIC), and Field Programmable Gate Array (FPGA).
프로세서(220)는 메모리(예를 들어, 메모리(230))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(220)에 의해 유발된 인스트럭션들을 실행한다.
메모리(230)는 통신부(210)가 수신한 데이터, 및 프로세서(220)가 처리한 데이터를 저장한다. 예를 들어, 메모리(230)는 프로그램(또는 애플리케이션, 소프트웨어)을 저장할 수 있다. 저장되는 프로그램은 그래픽 객체를 출력할 수 있도록 코딩되어 프로세서(220)에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다.The memory 230 stores data received by the
일 측면에 따르면, 메모리(230)는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.According to one aspect, the memory 230 may include one or more of volatile memory, non-volatile memory and random access memory (RAM), flash memory, a hard disk drive, and an optical disk drive.
메모리(230)는 전자 장치(200)를 동작 시키는 명령어 세트(예를 들어, 소프트웨어)를 저장한다. 전자 장치(200)를 동작 시키는 명령어 세트는 프로세서(220)에 의해 실행된다.The memory 230 stores a command set (eg, software) for operating the
통신부(210), 프로세서(220), 및 메모리(230)에 대해, 아래에서 도 3 내지 도 15를 참조하여 상세히 설명된다.The
도 3은 일 실시예에 따른 그래픽 객체를 출력하는 방법의 흐름도이다.3 is a flowchart of a method of outputting a graphic object according to an exemplary embodiment.
아래의 단계들은 도 2를 참조하여 전술된 전자 장치(200)에 의해 수행된다.The steps below are performed by the
단계(310)에서, 전자 장치(200)는 제1 시각에 대한 제1 이미지를 생성한다. 예를 들어, 프로세서(220)는 차량의 일 측(예: 사이드 미러 또는 사이드 미러에 대응하는 위치)에 설치된 카메라를 이용하여 제1 시각에 대한 제1 이미지를 생성할 수 있다. 예를 들어, 제1 이미지는 차량의 일 부분(예: 옆 부분 또는 후미 부분) 및 후방의 장면을 포함할 수 있다.In
단계(320)에서, 전자 장치(200)는 제2 시각에 대한 제2 이미지를 생성한다. 예를 들어, 프로세서(220)는 차량의 일 측에 설치된 카메라를 이용하여 제2 시각에 대한 제2 이미지를 생성할 수 있다. 즉, 제1 이미지 및 제2 이미지를 생성한 카메라는 동일한 카메라일 수 있다. 제2 이미지는 카메라가 제1 이미지를 생성한 이후에 생성한 다음 이미지일 수 있다.In
일 실시예에 따르면, 카메라는 일정한 주기로 이미지들을 생성할 수 있다. 예를 들어, 카메라는 1초에 60개의 이미지들을 생성할 수 있다(즉, 60fps). 제1 이미지 및 제2 이미지는 연속적으로 생성된 이미지들 중 시간적으로 연속한 어느 두 개의 이미지들일 수 있다.According to one embodiment, the camera may generate images at regular intervals. For example, a camera can produce 60 images in one second (ie, 60 fps). The first image and the second image may be any two temporally consecutive images among continuously generated images.
단계(330)에서, 전자 장치(200)는 제1 이미지 및 제2 이미지 중 기준 이미지로서의 제1 이미지에 대한 깊이 이미지를 생성한다. 이하에서, 제1 이미지가 기준 이미지로 설명되지만, 다른 실시예에서는 제2 이미지가 기준 이미지가 될 수 있고, 이 경우 제1 이미지에 대한 설명은 제2 이미지에 대한 설명으로 유사하게 적용될 수 있다.In
일 실시예에 따르면, 제1 이미지 및 제2 이미지는 거의 동일한 장면을 촬영함으로써 생성된 이미지들이므로, 이미지들 간의 호모그래피(homography)가 계산될 수 있다. 예를 들어, 호모그래피를 계산하기 위해서는 제1 시각에서 제1 이미지를 촬영한 카메라 및 제2 시각에서 제2 이미지를 촬영한 카메라 간의 변환 관계가 계산되어야 한다. 아래에서 도 4 내지 도 8을 참조하여 카메라들 간의 변환 관계 및 이미지들 간의 호모그래피에 기초하여 기준 이미지(예: 제1 이미지)에 대한 깊이 이미지를 생성하는 방법이 상세하게 설명된다.According to an embodiment, since the first image and the second image are images generated by photographing almost the same scene, homography between the images may be calculated. For example, in order to calculate the homography, a conversion relationship between a camera that captures a first image at a first point of view and a camera that captures a second image at a second point of view must be calculated. A method of generating a depth image for a reference image (eg, a first image) based on a transformation relationship between cameras and a homography between images will be described in detail with reference to FIGS. 4 to 8 below.
단계(340)에서, 전자 장치(200)는 깊이 이미지에 기초하여 차량의 위치와 연관된 타겟 영역을 기준 이미지 상에서 결정한다. 예를 들어, 타겟 영역은 차량의 사각 지대의 적어도 일부를 포함할 수 있다. 예를 들어, 타겟 영역은 차량의 후미의 주변 영역일 수 있다.In
일 실시예에 따르면, 차량의 주변으로 공간 좌표계가 설정될 수 있고, 공간 좌표계 상에 타겟 영역이 미리 설정될 수 있다. 기준 이미지에 대한 깊이 이미지를 생성함으로써, 기준 이미지의 좌표계 및 공간 좌표계가 서로 매칭될 수 있다. 좌표계들 간의 매칭에 기초하여 타겟 영역이 기준 이미지 상에서 결정될 수 있다.According to an embodiment, a spatial coordinate system may be set around the vehicle, and a target area may be preset on the spatial coordinate system. By generating a depth image for the reference image, a coordinate system and a spatial coordinate system of the reference image may be matched with each other. A target area may be determined on the reference image based on matching between the coordinate systems.
예를 들어, 타겟 영역은 기준 이미지가 나타내는 장면 내의 바닥 영역 중 일부에 대응하는 직선 또는 직선 형태의 영역일 수 이다. 다른 예로, 타겟 영역은 기준 이미지가 나타내는 장면 내의 바닥 영역 중 일부에 대응하는 2차원 영역(예: 사각형)일 수 있다. 또 다른 예로, 타겟 영역은 기준 이미지가 나타내는 장면 내의 바닥 영역 중 일부를 포함하는 3차원 영역(예: 박스 형태의 영역)일 수 있다. 2차원 영역 및 3차원 영역은 직선 또는 직선 형태의 영역에 기초하여 설정될 수 있다.For example, the target area may be a straight or linear area corresponding to a part of a floor area in a scene indicated by the reference image. As another example, the target area may be a 2D area (eg, a rectangle) corresponding to a part of a floor area in a scene indicated by the reference image. As another example, the target area may be a 3D area (eg, a box-shaped area) including a part of a floor area in a scene indicated by the reference image. The 2D area and the 3D area may be set based on straight line or straight line type areas.
단계(350)에서, 전자 장치(200)는 타겟 영역을 나타내는 그래픽 객체를 디스플레이 통해 출력한다. 그래픽 객체는 컴퓨터 그래픽 객체일 수 있다. 예를 들어, 그래픽 객체는 직선 또는 직선 형태의 영역을 나타내는 객체일 수 있다. 다른 예로, 그래픽 객체는 2차원 영역의 경계를 나타내는 객체일 수 있다. 또 다른 예로, 그래픽 객체는 3차원 영역의 경계를 나타내는 객체일 수 있다.In
일 실시예에 따르면, 디스플레이는 차량의 사이드 미러에 포함되는 디스플레이일 수 있다. 전자 장치(200)는 사이드 미러에 나타나는 장면 상에 상기 그래픽 객체가 오버레이되도록 디스플레이를 통해 출력할 수 있다.According to one embodiment, the display may be a display included in a side mirror of a vehicle. The
일 실시예에 따르면, 디스플레이는 차량의 사이드 미러에 위치한 카메라를 이용하여 생성된 이미지(예: 제1 이미지 및 제2 이미지)를 출력하는 디스플레이일 수 있다. 예를 들어, 전자 장치(200)는 출력되는 이미지에 그래픽 객체를 합성하고, 그래픽 객체가 합성된 이미지를 디스플레이를 통해 출력할 수 있다. 다른 예로, 전자 장치(200)는 출력되는 이미지 상에 그래픽 객체가 오버레이되도록 그래픽 객체를 디스플레이를 통해 출력할 수 있다.According to an embodiment, the display may be a display that outputs images (eg, a first image and a second image) generated using a camera located in a side mirror of a vehicle. For example, the
디스플레이를 통해 출력되는 그래픽 객체에 대해 아래에서 도 9를 참조하여 상세히 설명된다.A graphic object output through a display will be described in detail below with reference to FIG. 9 .
운전자는 그래픽 객체를 통해 차량의 사각 지대를 시각적으로 확인할 수 있다.The driver can visually check the blind spots of the vehicle through graphic objects.
도 4는 일 예에 따른 기준 이미지에 대한 깊이 이미지를 생성하는 방법의 흐름도이다.4 is a flowchart of a method of generating a depth image for a reference image according to an example.
일 실시예에 따르면, 도 3을 참조하여 전술된 단계(330)는 아래의 단계들(410 내지 470)을 포함할 수 있다.According to one embodiment, step 330 described above with reference to FIG. 3 may include
단계(410)에서, 전자 장치(200)는 제1 이미지 및 제2 이미지 간의 변환 관계를 계산할 수 있다. 예를 들어, 제1 이미지에 대한 제1 시각에서의 카메라의 외부 파라미터 및 제2 이미지에 대한 제2 시각에서의 카메라의 외부 파라미터 간의 차이가 변환 관계로서 계산될 수 있다. 외부 파라미터는 카메라의 회전(rotation) 정보 및 카메라의 위치 이동(translation) 정보를 포함할 수 있다. 변환 관계는 회전 정보들 간의 차이 및 위치 이동 정보들 간의 차이를 포함할 수 있다.In
아래에서, 도 5를 참조하여 변환 관계를 계산하는 방법이 상세히 설명된다.In the following, with reference to Fig. 5, a method for calculating the transformation relation is described in detail.
단계(420)에서, 전자 장치(200)는 변환 관계에 기초하여 제1 이미지를 기준으로 서로 다른 깊이 값을 갖는 복수의 가상 평면들을 설정할 수 있다. 복수의 가상 평면들의 개수 및 가상 평면들 간의 깊이 값들 간의 차이는 미리 설정될 수 있다. 예를 들어, 복수의 가상 평면들의 개수가 100개로 설정되고, 가상 평면들 간의 깊이 값들 간의 차이가 1 미터로 설정될 수 있다. 상기의 예에서, 제1 이미지를 기준으로 가장 작은 깊이 값을 갖는 제1 가상 평면은 1 미터의 깊이 값을 갖고, 가장 큰 깊이 값을 갖는 제100 가상 평면은 100 미터의 깊이 값을 가질 수 있다. 복수의 가상 평면들의 개수 및 가상 평면들 간의 깊이 값들 간의 차이는 설정에 따라 달라질 수 있다.In
일 실시예에 따르면, 복수의 가상 평면들 각각의 좌표계는 제1 이미지 및 제2 이미지 간의 변환 관계에 기초하여 계산될 수 있다. 예를 들어, 각각의 가상 평면의 좌표계는 제1 이미지(기준 이미지)의 좌표계에 대한 호모그래피로 표현될 수 있다. 복수의 가상 평면들 각각의 좌표계를 계산하는 방법에 대해 아래에서, 도 6 및 7을 참조하여 상세히 설명된다.According to an embodiment, a coordinate system of each of the plurality of virtual planes may be calculated based on a transformation relationship between the first image and the second image. For example, the coordinate system of each virtual plane may be expressed as a homography with respect to the coordinate system of the first image (reference image). A method of calculating the coordinate system of each of the plurality of virtual planes will be described in detail below with reference to FIGS. 6 and 7 .
단계(430)에서, 전자 장치(200)는 제1 이미지 및 제2 이미지 중 적어도 하나 및 복수의 가상 평면들 각각의 호모그래피에 기초하여 복수의 가상 평면들에 대응하는 복수의 가상 이미지들을 생성할 수 있다. 예를 들어, 가상 이미지는 대응하는 가상 평면의 좌표계로 깊이 값이 조절된 실제의 카메라가 촬영한 이미지에 대응할 수 있다. 복수의 가상 이미지들 각각은 제1 이미지에 나타난 장면의 적어도 일부에 대응하는 장면을 포함할 수 있다.In
단계(440)에서, 전자 장치(200)는 제1 이미지 내의 타겟 픽셀에 대응하는 복수의 가상 이미지들 각각 내의 매칭 픽셀들에 대한 매칭 비용들을 계산할 수 있다. 예를 들어, 타겟 픽셀에 대한 매칭 픽셀들은 타겟 픽셀의 이미지 내의 좌표와 동일한 좌표를 갖는 복수의 가상 이미지들 내의 픽셀들일 수 있다.In
일 실시예에 따르면, 전자 장치(200)는 제1 이미지 내의 모든 픽셀들을 타겟 픽셀로 설정하고, 각각의 픽셀들에 대한 매칭 비용들을 계산할 수 있다.According to an embodiment, the
일 실시예에 따르면, SAD(sum of absolute difference) 또는 ZNCC(zero mean normalized cross-correlation)에 기초하여 타겟 픽셀에 대응하는 매칭 픽셀들에 대한 매칭 비용들이 계산될 수 있으나, 기재된 실시예로 한정되지 않는다.According to an embodiment, matching costs for matching pixels corresponding to a target pixel may be calculated based on sum of absolute difference (SAD) or zero mean normalized cross-correlation (ZNCC), but are not limited to the described embodiment. don't
제1 이미지 내의 픽셀들에 대해 계산된 매칭 비용들은 비용 볼륨(cost volume)으로 정의될 수 있다. 비용 볼륨에 대해 아래에서 도 8을 참조하여 상세히 설명된다.Matching costs calculated for pixels in the first image may be defined as a cost volume. The cost volume is explained in detail with reference to FIG. 8 below.
단계(450)에서, 전자 장치(200)는 계산된 매칭 비용들에 기초하여 타겟 픽셀에 대한 최종 매칭 픽셀을 결정할 수 있다. 예를 들어, 매칭 픽셀들 중 가장 낮은 매칭 비용을 갖는 매칭 픽셀이 최종 매칭 픽셀로 결정될 수 있다.In
단계(460)에서, 전자 장치(200)는 최종 매칭 픽셀을 포함하는 복수의 가상 이미지들 중 타겟 가상 이미지의 깊이 값을 타겟 픽셀의 타겟 깊이 값으로 결정할 수 있다. 예를 들어, 결정된 최종 매칭 픽셀이 제4 가상 이미지에 포함되는 경우, 제4 가장 이미지의 깊이 값인 4미터가 타겟 픽셀의 깊이 값으로 결정될 수 있다.In
단계(470)에서, 전자 장치(200)는 타겟 깊이 값에 기초하여 깊이 이미지를 생성할 수 있다. 예를 들어, 제1 이미지 내의 모든 픽셀들에 대해 깊이 값들을 결정하고, 결정된 깊이 값들을 갖도록 깊이 이미지가 생성될 수 있다.In
도 5는 일 예에 따른 제1 이미지 및 제2 이미지 간의 변환 관계를 계산하는 방법의 흐름도이다.5 is a flowchart of a method of calculating a transformation relationship between a first image and a second image according to an example.
일 실시예에 따르면, 도 4를 참조하여 전술된 단계(410)는 아래의 단계들(510 내지 520)을 포함할 수 있다.According to one embodiment, step 410 described above with reference to FIG. 4 may include
단계(510)에서, 전자 장치(200)는 SIFT(scale invariant feature transform) 알고리즘을 이용하여 제1 이미지 및 제2 이미지 간의 상기 변환 관계를 계산할 수 있다.In
단계(520)에서, 전자 장치(200)는 PoseNet 모델을 이용하여 제1 이미지 및 제2 이미지 간의 상기 변환 관계를 계산할 수 있다. PoseNet 모델은 신경망에 기반한 모델일 수 있다. 예를 들어, PoseNet 모델은 딥-러닝 방법을 이용하여 훈련된 모델일 수 있다.In
일 실시예에 따르면, 전자 장치(200)는 단계(510) 또는 단계(520)를 통해 제1 이미지 및 제2 이미지 간의 변환 관계를 계산할 수 있으나, 기재된 실시예로 한정되지 않는다.According to an embodiment, the
도 6은 일 예에 따른 카메라들의 좌표계들 간의 차이에 의해 나타나는 서로 다른 이미지들을 도시한다.6 illustrates different images represented by differences between coordinate systems of cameras according to an example.
제1 카메라의 좌표계(Pref)로 생성된 제1 이미지(614) 및 제2 카메라의 좌표계(Pk)로 생성된 제2 이미지(624)는 동일한 장면(610)을 촬영하였음에도 불구하고, 좌표계들 간의 차이에 의한 이미지 평면들(612 및 622) 간의 차이로 인하여 상이할 수 있다. 예를 들어, 장면(610) 내의 오브젝트(X)가 제1 이미지(614) 내에서는 u 위치에서 나타나고, 제2 이미지(624) 내에서는 u' 위치에서 나타날 수 있다.Although the
카메라들의 좌표계들 간의 차이 뿐만 아니라, 카메라와 장면 또는 오브젝트(X) 간의 거리 차이에 의해서도 장면(610) 내의 오브젝트(X)가 나타나는 이미지 내의 위치가 달라질 수 있다.The location of the object X in the
전술된 이미지 평면들(612 및 622) 간의 차이에 의해 생성되는 서로 다른 이미지들을 이용하여 장면(610) 내의 오브젝트(X)의 깊이 값이 계산될 수 있다.A depth value of the object X in the
아래에서 도 7 및 도 8을 참조하여, 기준 이미지 내의 픽셀에 대한 깊이 값을 계산하기 위한 과정이 상세히 설명된다.Referring to FIGS. 7 and 8 below, a process for calculating a depth value for a pixel in a reference image will be described in detail.
도 7은 일 예에 따른 제1 이미지 및 제2 이미지에 기초하여 설정되는 복수의 가상 평면들을 도시한다.7 illustrates a plurality of virtual planes set based on a first image and a second image according to an example.
일 실시예에 따르면, 제1 이미지 및 제2 이미지 간의 변환 관계에 기초하여 제1 이미지를 기준으로 서로 다른 깊이 값을 갖는 복수의 가상 평면들이 설정될 수 있다. 예를 들어, 복수의 가상 평면들 중 제1 가상 평면의 호모그래피는 제1 이미지의 외부 파라미터, 제2 이미지의 외부 파라미터 및 제1 가상 평면의 제1 깊이 값에 기초하여 결정될 수 있다.According to an embodiment, a plurality of virtual planes having different depth values may be set based on the first image based on a transformation relationship between the first image and the second image. For example, a homography of a first virtual plane among a plurality of virtual planes may be determined based on an external parameter of the first image, an external parameter of the second image, and a first depth value of the first virtual plane.
일 실시예에 따르면, 가상 평면의 좌표계에 대한 호모그래피는 아래의 [수학식 1]을 이용하여 계산될 수 있다.According to an embodiment, the homography of the coordinate system of the virtual plane may be calculated using [Equation 1] below.
[수학식 1][Equation 1]
[수학식 1]에서 k는 제2 시각에서의 카메라를 나타내고, Pk는 제2 시각에서의 카메라의 좌표계를 나타낸다. m은 복수의 가상 평면들의 개수이고, 예를 들어, m의 값은 1 내지 m까지의 자연수이다. nm은 인접한 가상 평면들 간의 깊이 값들 간의 차이이고, nm은 m이 변하더라도 동일한 값을 가질 수 있다. 예를 들어, m이 100으로 설정되고, 인접한 가상 평면들 간의 깊이 값들 간의 차이가 1미터로 설정된 경우, n1, n2, n3, ......, n100은 모두 1미터이다. dm은 제m 가상 평면의 깊이 값을 나타내고, 상기의 설정 값들에 대한 예에서, d1은 제1 가상 평면의 깊이 값으로서 1미터를 나타내고, d2은 제2 가상 평면의 깊이 값으로서 2미터를 나타내고, d100은 제100 가상 평면의 깊이 값으로서 100미터를 나타낼 수 있다. Kk는 제2 시각에서의 카메라의 내부 파라미터를 나타내고, Kref는 제1 시각에서의 카메라의 내부 파라미터를 나타낼 수 있다. 예를 들어, 카메라의 내부 파라미터는 카메라의 초점 거리(focal length), 주점(principal point) 및 비대칭 계수 등을 포함할 수 있다.In [Equation 1], k represents a camera at the second viewpoint, and P k represents the coordinate system of the camera at the second viewpoint. m is the number of a plurality of virtual planes, and for example, the value of m is a natural number from 1 to m. n m is a difference between depth values between adjacent virtual planes, and n m may have the same value even if m changes. For example, if m is set to 100 and the difference between depth values between adjacent virtual planes is set to 1 meter, then n 1 , n 2 , n 3 , ..., n 100 are all 1 meter . d m represents the depth value of the mth virtual plane, and in the example of the above set values, d 1 represents 1 meter as the depth value of the first virtual plane, and d 2 represents 2 as the depth value of the second virtual plane. Indicates a meter, and d 100 is a depth value of the 100th virtual plane and may indicate 100 meters. K k may represent an internal parameter of the camera at the second time, and K ref may represent an internal parameter of the camera at the first time. For example, internal parameters of the camera may include a focal length, a principal point, and an asymmetry coefficient of the camera.
Rrel는 제1 이미지 및 제2 이미지 간의 변환 관계 중 회전 정보들 간의 차이를 나타내고, 아래의 [수학식 2]로 계산될 수 있다. R rel represents a difference between rotation information among transformation relationships between the first image and the second image, and may be calculated by [Equation 2] below.
[수학식 2][Equation 2]
[수학식 2]에서, Rk는 제2 이미지의 회전 정보를 나타내고, Rref는 제1 이미지의 회전 정보를 나타낼 수 있다.In [Equation 2], R k may represent rotation information of the second image, and R ref may represent rotation information of the first image.
trel는 제1 이미지 및 제2 이미지 간의 변환 관계 중 위치 이동 정보들 간의 차이를 나타낼 수 있고, 아래의 [수학식 3]으로 계산될 수 있다.t rel may indicate a difference between positional movement information among transformation relationships between the first image and the second image, and may be calculated by [Equation 3] below.
[수학식 3][Equation 3]
[수학식 3]에서, tref는 제1 이미지의 위치 이동 정보를 나타내고, tk는 제2 이미지의 위치 이동 정보를 나타낼 수 있다.In [Equation 3], t ref may represent location movement information of the first image, and t k may represent location movement information of the second image.
[수학식 1]에서, 로 정의될 수 있다. 여기서, dm이 음수인 이유는, 장면의 시점과 카메라의 시점이 서로 반대이기 때문이다.In [Equation 1], can be defined as Here, the reason d m is a negative number is that the viewpoint of the scene and the viewpoint of the camera are opposite to each other.
[수학식 1]에서, 는 기준 이미지(제1 이미지)의 좌표계에 대한 제m 가상 평면의 호모그래피를 나타낸다. 예를 들어, m이 100인 경우, 총 100개의 가상 평면들에 대한 호모그래피들이 계산될 수 있다.In [Equation 1], represents the homography of the mth virtual plane with respect to the coordinate system of the reference image (first image). For example, when m is 100, homographies for a total of 100 virtual planes may be calculated.
일 실시예에 따르면, 제1 가상 평면(711)에 대한 제1 호모그래피가 계산되고, 제2 가상 평면(712)에 대한 제2 호모그래피가 계산되고, 제3 가상 평면(713)에 대한 제3 호모그래피가 계산되고, 제4 가상 평면(714)에 대한 제4 호모그래피가 계산될 수 있다.According to one embodiment, a first homography is calculated for a first virtual plane (711), a second homography is calculated for a second virtual plane (712), and a second homography is calculated for a third virtual plane (713). 3 homography may be calculated, and a fourth homography for the fourth
일 실시예에 따르면, 전자 장치(200)는 기준 이미지(제1 이미지) 및 가상 평면의 호모그래피에 기초하여 가상 이미지를 생성할 수 있다. 예를 들어, 제1 가상 평면(711)에 대한 제1 가상 이미지가 생성되고, 제2 가상 평면(712)에 대한 제2 가상 이미지가 생성되고, 제3 가상 평면(713)에 대한 제3 가상 이미지가 생성되고, 제4 가상 평면(714)에 대한 제4 가상 이미지가 생성될 수 있다.According to an embodiment, the
도 8은 일 예에 따른 기준 이미지의 타겟 픽셀에 대한 타겟 깊이 값을 결정하는 방법을 도시한다.8 illustrates a method of determining a target depth value for a target pixel of a reference image according to an example.
예를 들어, 기준 이미지(800) 내의 타겟 픽셀(801)에 대한 타겟 깊이 값을 결정하는 과정이 아래에서 설명된다. 기준 이미지(800)는 a x b 개수의 픽셀들을 포함할 수 있다.For example, a process for determining a target depth value for a
기준 이미지(800) 내의 모든 픽셀들에 대한 비용 볼륨(810)이 계산될 수 있다. 기준 이미지(800)에 기초하여 생성된 복수의 가상 이미지들의 개수가 c개인 경우, 비용 볼륨(810)은 a x b x c 개의 비용들을 포함할 수 있다.A
타겟 픽셀(801)에 대한 매칭 픽셀들에 대한 매칭 비용들(811) 중 가장 낮은 매칭 비용(예: 15)을 갖는 매칭 픽셀이 최종 매칭 픽셀로 결정될 수 있다. 최종 매칭 픽셀을 포함하는 가상 이미지(예: 제4 가상 이미지)의 평면 번호가 타겟 픽셀(801)에 대한 타겟 깊이 값으로 결정될 수 있다. 평면 번호는 해당 가상 이미지의 깊이 값에 대응할 수 있다. 타겟 픽셀(801)에 대한 타겟 깊이 값을 갖는 픽셀(821)을 포함하도록 깊이 이미지(820)가 생성될 수 있다.A matching pixel having the lowest matching cost (eg, 15) among matching
도 9a는 일 예에 따른 타겟 영역이 직선 형태의 영역이고, 타겟 영역에 대응하는 그래픽 객체를 도시한다.9A illustrates a target area having a linear shape and a graphic object corresponding to the target area according to an example.
일 실시예에 따르면, 차량의 위치와 연관된 타겟 영역(911)은 차량의 후미의 미리 설정된 포인트로부터 미리 설정된 길이를 갖는 직선 또는 직선 형태의 영역일 수 있다. 예를 들어, 차량의 후미의 미리 설정된 포인트는 카메라(910)의 위치에 기초하여 결정될 수 있다. 예를 들어, 타겟 영역(911)의 미리 설정된 길이는 차량의 일반적인 차량의 폭에 대응할 수 있다.According to one embodiment, the
카메라(900) 또는 차량의 위치를 기준으로 하는 공간 좌표계가 미리 설정될 수 있고, 공간 좌표계 내에 타겟 영역(911)이 결정될 수 있다. 타겟 영역(911)을 정의하기 위한 δw, δh, δl가 미리 정의될 수 있다. δw, δh, δl는 타겟 영역(911)의 너비, 폭, 길이를 나타낼 수 있다.A spatial coordinate system based on the position of the camera 900 or the vehicle may be set in advance, and the
일 실시예에 따르면, 타겟 영역(911)은 차량의 조향 각도에 기초하여 변화될 수 있다. 예를 들어, 차량이 직진하는 경우에는 타겟 영역(911)은 차량의 진행 방향과 같은 방향을 향할 수 있다. 다른 예로, 차량이 우측으로 회전하더라도 타겟 영역(911)이 차로 방향을 향하도록 변화될 수 있다.According to one embodiment, the
일 실시예에 따르면, 타겟 영역(911)의 위치가 기준 이미지(920) 상에서 결정될 수 있다. 예를 들어, 깊이 이미지에 기초하여 기준 이미지(920)의 좌표계가 공간 좌표계에 매칭될 수 있다. 기준 이미지(920)의 좌표계와 공간 좌표계가 매칭된 경우, 타겟 영역(911)이 기준 이미지 상에서 결정될 수 있다.According to one embodiment, the location of the
기준 이미지 상의 타겟 영역(911)의 위치는 δx, δy, δz로 결정될 수 있다. δx, δy는 기준 이미지 내의 픽셀 좌표를 의미하고, δz는 깊이 값을 의미할 수 있다. 예를 들어, δx, δy, δz는 δw, δh, δl에 기초하여 계산될 수 있다. 타겟 영역(911)이 꼭지점 또는 엣지로 나타나는 경우, 꼭지점 및 엣지에 대응하는 기준 이미지의 픽셀들이 결정되고, 해당 픽셀의 x 좌표, y 좌표 및 해당 픽셀의 깊이 값이 δx, δy, δz로 결정될 수 있다.The position of the
타겟 영역(911)을 나타내는 그래픽 객체(921)를 디스플레이를 통해 출력될 수 있다. 예를 들어, 그래픽 객체(921)는 기준 이미지(920)와 함께 출력될 수 있다. 다른 예로, 그래픽 객체(921)는 미러에 나타나는 장면에 오버레이되도록 출력될 수 있다.A
도 9b는 일 예에 따른 타겟 영역이 2차원 영역이고, 타겟 영역에 대응하는 그래픽 객체를 도시한다.9B illustrates a target area being a 2D area and a graphic object corresponding to the target area according to an example.
일 실시예에 따르면, 차량의 위치와 연관된 타겟 영역(912)은 도 9a를 참조하여 전술된 타겟 영역(911)에 기초하여 결정될 수 있다. 예를 들어, 타겟 영역(912)은 타겟 영역(911)을 포함하는 2차원 영역일 수 있다. 예를 들어, 2차원 영역은 기준 이미지가 나타내는 장면 내의 바닥 영역 중 일부에 대응하도록 설정될 수 있다.According to one embodiment, the
일 실시예에 따르면, 타겟 영역(912)은 차량의 조향 각도에 기초하여 변화될 수 있다. 예를 들어, 차량이 직진하는 경우에는 타겟 영역(912)은 차량의 진행 방향과 같은 방향을 향할 수 있다. 다른 예로, 차량이 우측으로 회전하더라도 타겟 영역(912)이 차로 방향을 향하도록 변화될 수 있다.According to one embodiment, the
기준 이미지(920)의 좌표계와 공간 좌표계가 매칭된 경우, 타겟 영역(912)이 기준 이미지 상에서 결정될 수 있다. 타겟 영역(912)을 나타내는 그래픽 객체(922)가 디스플레이를 통해 출력될 수 있다. 예를 들어, 그래픽 객체(922)는 기준 이미지(920)와 함께 출력될 수 있다. 다른 예로, 그래픽 객체(922)는 미러에 나타나는 장면에 오버레이되도록 출력될 수 있다.When the coordinate system of the
도 9c는 일 예에 따른 타겟 영역이 3차원 영역이고, 타겟 영역에 대응하는 그래픽 객체를 도시한다.9C illustrates a target area being a 3D area and a graphic object corresponding to the target area according to an example.
일 실시예에 따르면, 차량의 위치와 연관된 타겟 영역(913)은 도 9a를 참조하여 전술된 타겟 영역(911) 및 도 9b를 참조하여 전술된 타겟 영역(912)에 기초하여 결정될 수 있다. 예를 들어, 타겟 영역(913)은 타겟 영역(911) 및 타겟 영역(912)을 포함하는 3차원 영역일 수 있다. 예를 들어, 3차원 영역은 기준 이미지가 나타내는 장면 내의 바닥 영역 중 일부를 포함하는 공간(예: 박스 형태)에 대응하도록 설정될 수 있다.According to one embodiment, the
일 실시예에 따르면, 타겟 영역(913)은 차량의 조향 각도에 기초하여 변화될 수 있다. 예를 들어, 차량이 직진하는 경우에는 타겟 영역(913)은 차량의 진행 방향과 같은 방향을 향할 수 있다. 다른 예로, 차량이 우측으로 회전하더라도 타겟 영역(913)이 차로 방향을 향하도록 변화될 수 있다.According to one embodiment, the
기준 이미지(920)의 좌표계와 공간 좌표계가 매칭된 경우, 타겟 영역(913)이 기준 이미지 상에서 결정될 수 있다. 타겟 영역(913)을 나타내는 그래픽 객체(923)가 디스플레이를 통해 출력될 수 있다. 예를 들어, 그래픽 객체(923)는 기준 이미지(920)와 함께 출력될 수 있다. 다른 예로, 그래픽 객체(923)는 미러에 나타나는 장면에 오버레이되도록 출력될 수 있다.When the coordinate system of the
도 10은 일 예에 따른 타겟 영역 내에 오브젝트가 존재하는지 여부에 기초하여 미리 설정된 동작을 수행하는 방법의 흐름도이다.10 is a flowchart of a method of performing a preset operation based on whether an object exists in a target area according to an example.
일 실시예에 따르면, 도 3을 참조하여 전술된 단계(340)가 수행된 후에, 아래의 단계들(1010 및 1020)이 더 수행될 수 있다.According to one embodiment, after
단계(1010)에서, 전자 장치(200)는 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정할 수 있다. 예를 들어, 타겟 영역은 도 9를 참조하여 전술된 타겟 영역(911, 912, 913)일 수 있다. 아래에서 도 11 내지 도 13을 참조하여 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 방법에 대해 상세히 설명된다.In
단계(1020)에서, 전자 장치(200)는 타겟 영역 내에 오브젝트가 존재하는 경우, 미리 설정된 동작을 수행할 수 있다. 예를 들어, 미리 설정된 동작은 사용자에게 알람을 출력하는 동작일 수 있다. 다른 예로, 미리 설정된 동작은 차량을 제어하는 동작일 수 있다. 아래에서 도 14를 참조하여 미리 설정된 동작을 수행하는 방법에 대해 상세히 설명된다.In
도 11은 일 예에 따른 차량의 현재 운행 상황에 기초하여 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 방법의 흐름도이다.11 is a flowchart of a method of determining whether an object exists in a target area based on a current driving situation of a vehicle according to an example.
일 실시예에 따르면, 도 10을 참조하여 전술된 단계(1010)는 아래의 단계들(1110 내지 1130)을 포함할 수 있다.According to one embodiment,
단계(1110)에서, 전자 장치(200)는 차량의 현재 운행 상황을 결정할 수 있다. 예를 들어, 차량의 조향 여부, 방향 지시등 사용 여부, 브레이크 사용 여부 등이 현재 운행 상황이 결정될 수 있다.In
단계(1120)에서, 전자 장치(200)는 현재 운행 상황이 미리 설정된 운행 상황에 대응하는지 여부를 결정할 수 있다. 예를 들어, 미리 설정된 운행 상황은 차량의 사용자가 차량을 회전시키는 상황 및 방향 지시등의 사용 상황을 포함할 수 있다.In
단계(1130)에서, 전자 장치(200)는 현재 운행 상황이 미리 설정된 운행 상황에 대응하는 경우, 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정할 수 있다. 현재 운행 상황이 미리 설정된 운행 상황에 대응하지 않는 경우에는 단계(1130)가 수행되지 않을 수 있다.In
도 12는 일 예에 따른 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 방법의 흐름도이다.12 is a flowchart of a method of determining whether an object exists in a target area according to an example.
일 실시예에 따르면, 도 10을 참조하여 전술된 단계(1010)는 아래의 단계들(1210 내지 1230)을 포함할 수 있다.According to one embodiment,
단계(1210)에서, 전자 장치(200)는 제1 시각(즉, 제1 이미지 또는 기준 이미지가 생성된 시각)에서 타겟 영역 내의 오브젝트 센싱 값을 결정할 수 있다.In
일 실시예에 따르면, 타겟 영역 내의 오브젝트 센싱 값은 기준 이미지 내의 타겟 영역을 구성하는 픽셀들의 픽셀 값 및 깊이 값에 기초하여 계산될 수 있다. 예를 들어, 기준 이미지 내의 타겟 영역은 복수의 서브 타겟 영역들로 구성될 수 있고, 복수의 서브 타겟 영역들 각각에 대한 픽셀들의 픽셀 값의 평균 값이 오브젝트 센싱 값으로 결정될 수 있다. 복수의 서브 타겟 영역들 및 이에 대한 오브젝트 센싱 값에 대해, 아래에서 도 13을 참조하여 상세히 설명된다.According to an embodiment, an object sensing value in the target area may be calculated based on pixel values and depth values of pixels constituting the target area in the reference image. For example, a target area in the reference image may include a plurality of sub-target areas, and an average value of pixel values of pixels for each of the plurality of sub-target areas may be determined as the object sensing value. A plurality of sub target regions and an object sensing value corresponding thereto will be described in detail below with reference to FIG. 13 .
단계(1220)에서, 전자 장치(200)는 제1 시각의 이전 시각에서 결정된 이전 타겟 영역 내의 이전 오브젝트 센싱 값 및 제1 시각에서 결정된 오브젝트 센싱 값 간의 변화량을 계산할 수 있다. 예를 들어, 이전 시각의 이전 타겟 영역에는 존재하지 않았던 차량이 제1 시각의 타겟 영역에 진입하는 경우, 오브젝트 센싱 값들 간의 변화량이 증가할 수 있다. 예를 들어, 이전 시각의 이전 타겟 영역에는 도로의 바닥에 기초한 이전 오브젝트 센싱 값이 계산되지만, 제1 시각의 타겟 영역에 차량이 나타나는 경우 차량에 기초한 오브젝트 센싱 값이 계산되므로 변화량이 증가할 수 있다.In
단계(1230)에서, 전자 장치(200)는 이전 오브젝트 센싱 값 및 오브제트 센싱 값 간의 차이가 미리 설정된 임계 값 이상인 경우 오브젝트가 나타나거나 또는 존재하는 것으로 결정할 수 있다.In
도 13은 일 예에 따른 오브젝트가 존재하는지 여부를 결정하기 위한 타겟 영역을 도시한다.13 illustrates a target area for determining whether an object exists according to an example.
일 실시예에 따르면, 차량(1300)에 대한 타겟 영역(1310)은 복수의 서브 타겟 영역들(1311, 1312, 1313)을 포함할 수 있다. 예를 들어, 복수의 서브 타겟 영역들(1311, 1312, 1313) 각각은 서로 다른 깊이 값을 가질 수 있다. 예를 들어, 기준 이미지에 대한 깊이 이미지가 생성되었으므로, 기준 이미지 내의 픽셀들 중 타겟 영역(1310)의 위치에 대응하는 관심 픽셀들이 결정될 수 있다. 관심 픽셀들 중 동일한 깊이 값들을 갖는 픽셀들이 동일한 서브 타겟 영역을 구성할 수 있다.According to an embodiment, the
일 실시예에 따르면, 기준 이미지는 장면을 이미지 평면에 투사한 것이므로, 오브젝트가 존재하지 않는 공간에 대한 정보는 기준 이미지에 나타나지 않을 수 있다. 이에 따라, 특정 서브 타겟 영역(예: 제1 서브 타겟 영역(1311))에 대응하는 이미지 내의 관심 픽셀들은 기준 이미지의 생성 시각에 따라 달라질 수 있다. 예를 들어, 타겟 영역(1310) 내에 오브젝트가 없는 경우에는 제1 서브 타겟 영역(1311)에 대한 관심 픽셀들이 없을 수도 있다. 다른 예로, 도시된 예시와 같이 타겟 영역(1310) 내에 차량(1301)이 존재하는 경우에는 제1 서브 타겟 영역(1311)에 대한 관심 픽셀들이 많이 있을 수 있다.According to an embodiment, since the reference image is a projection of a scene onto an image plane, information about a space in which an object does not exist may not appear in the reference image. Accordingly, pixels of interest in an image corresponding to a specific sub-target region (eg, the first sub-target region 1311) may vary according to the generation time of the reference image. For example, when there is no object in the
예를 들어, 복수의 서브 타겟 영역들 각각에 대한 관심 픽셀들의 픽셀 값의 평균 값이 오브젝트 센싱 값으로 결정될 수 있다. 다른 예로, 복수의 서브 타겟 영역들 각각에 대한 관심 픽셀들의 개수가 오브젝트 센싱 값으로 결정될 수 있다.For example, an average value of pixel values of pixels of interest for each of a plurality of sub target regions may be determined as the object sensing value. As another example, the number of interest pixels for each of the plurality of sub target regions may be determined as an object sensing value.
도 14는 일 예에 따른 미리 설정된 동작을 수행하는 방법의 흐름도이다.14 is a flowchart of a method of performing a preset operation according to an example.
일 실시예에 따르면, 도 10을 참조하여 전술된 단계(1020)는 아래의 단계들(1410 및 1420)을 포함할 수 있다.According to one embodiment,
단계(1410)에서, 전자 장치(200)는 타겟 영역 내에 오브젝트가 존재하는 경우, 미리 설정된 동작으로서 차량의 사용자에게 알람을 출력할 수 있다. 예를 들어, 알람은 소리 및 영상 중 적으로 하나를 통해 출력될 수 있다.In
일 실시예에 따르면, 전자 장치(200)는 차량 내부의 계기판의 디스플레이를 통해 알람을 출력할 수 있다. 예를 들어, 전자 장치(200)는 차량의 HUD(head up display)를 통해 알람을 출력할 수 있다. HUD를 통해 출력되는 알람에 대해 아래에서 도 15를 참조하여 상세히 설명된다.According to an embodiment, the
단계(1420)에서, 전자 장치(200)는 타겟 영역 내에 오브젝트가 존재하는 경우, 미리 설정된 동작으로서 차량의 운행 방향 및 운행 속도 중 적어도 하나를 제어할 수 있다.In
일 측면에 따르면, 차량이 차로를 변경하는 도중에 타겟 영역 내에 오브젝트가 존재하는 것으로 결정된 경우, 차량이 원래의 차로로 돌아가도록 차량의 운행 방향을 제어할 수 있다.According to one aspect, when it is determined that an object exists in the target area while the vehicle is changing lanes, the driving direction of the vehicle may be controlled so that the vehicle returns to the original lane.
도 15는 일 예에 따른 차량의 HUD를 통해 출력되는 알람을 도시한다.15 illustrates an alarm output through a HUD of a vehicle according to an example.
일 실시예에 따르면, 전자 장치(200)는 사용자의 주의를 환기시키기 위해 HUD를 통해 알람으로서 그래픽 또는 애니메이션의 영상(1500)을 출력할 수 있다. 예를 들어, 차량(1510)의 타겟 영역(1511)에 대한 사용자의 주의가 요구되는 상황에서 타겟 영역(1511)에 다른 차량(1520)이 존재하는 경우, 알람으로서 영상(1500)이 HUD를 통해 출력될 수 있다.According to an embodiment, the
도 16은 일 실시예에 따른 차량을 제어하는 방법의 흐름도이다.16 is a flowchart of a method for controlling a vehicle according to an exemplary embodiment.
아래의 단계들은 도 2를 참조하여 전술된 전자 장치(200)에 의해 수행된다.The steps below are performed by the
단계(1610)에서, 전자 장치(200)는 제1 시각에 대한 제1 이미지를 생성한다. 단계(1610)에 대한 설명은 도 3을 참조하여 전술된 단계(310)에 대한 설명으로 대체될 수 있다.In
단계(1620)에서, 전자 장치(200)는 제2 시각에 대한 제2 이미지를 생성한다. 단계(1620)에 대한 설명은 도 3을 참조하여 전술된 단계(320)에 대한 설명으로 대체될 수 있다.In
단계(1630)에서, 전자 장치(200)는 제1 이미지 및 제2 이미지 중 기준 이미지로서의 제1 이미지에 대한 깊이 이미지를 생성한다. 단계(1630)에 대한 설명은 도 3을 참조하여 전술된 단계(330)에 대한 설명으로 대체될 수 있다.In
단계(1640)에서, 전자 장치(200)는 깊이 이미지에 기초하여 차량의 위치와 연관된 타겟 영역을 기준 이미지 상에서 결정한다. 단계(1640)에 대한 설명은 도 3을 참조하여 전술된 단계(340)에 대한 설명으로 대체될 수 있다.In
단계(1650)에서, 전자 장치(200)는 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정한다. 단계(1650)에 대한 설명은 도 10을 참조하여 전술된 단계(1010)에 대한 설명으로 대체될 수 있다.In
단계(1660)에서, 전자 장치(200)는 타겟 영역 내에 오브젝트가 존재하는 경우, 미리 설정된 동작을 수행함으로써 차량을 제어한다. 단계(1660)에 대한 설명은 도 10을 참조하여 전술된 단계(1020)에 대한 설명으로 대체될 수 있다.In
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, the devices, methods and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. The device can be commanded. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on computer readable media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination, and the program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in the art of computer software. may be Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware device described above may be configured to operate as one or a plurality of software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited drawings, those skilled in the art can apply various technical modifications and variations based on this. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.
200: 전자 장치
210: 통신부
220: 프로세서
230: 메모리200: electronic device
210: communication department
220: processor
230: memory
Claims (23)
차량의 일 측에 설치된 카메라를 이용하여 제1 시각에 대한 제1 이미지를 생성하는 단계;
상기 카메라를 이용하여 제2 시각에 대한 제2 이미지를 생성하는 단계;
상기 제1 이미지 및 제2 이미지 중 기준 이미지로서의 상기 제1 이미지에 대한 깊이 이미지를 생성하는 단계;
상기 깊이 이미지에 기초하여 상기 차량의 위치와 연관된 타겟 영역을 상기 기준 이미지 상에서 결정하는 단계; 및
상기 타겟 영역을 나타내는 그래픽 객체를 디스플레이를 통해 출력하는 단계
를 포함하는,
그래픽 객체 출력 방법.
The graphic object output method, performed by the electronic device,
generating a first image for a first point of view using a camera installed on one side of the vehicle;
generating a second image for a second viewpoint using the camera;
generating a depth image for the first image as a reference image among the first image and the second image;
determining a target area associated with a position of the vehicle on the reference image based on the depth image; and
outputting a graphic object representing the target area through a display;
including,
Graphic object output method.
상기 제2 이미지는 상기 카메라가 상기 제1 이미지를 생성한 이후에 생성한 다음 이미지인,
그래픽 객체 출력 방법.
According to claim 1,
The second image is a next image generated after the camera generates the first image,
Graphic object output method.
상기 깊이 이미지를 생성하는 단계는,
상기 제1 이미지 및 상기 제2 이미지 간의 변환 관계를 계산하는 단계;
상기 변환 관계에 기초하여 상기 제1 이미지를 기준으로 서로 다른 깊이 값들을 갖는 복수의 가상 평면들을 설정하는 단계;
상기 제1 이미지 및 상기 제1 이미지에 대한 상기 복수의 가상 평면들 각각의 호모그래피(homography)에 기초하여 상기 복수의 가상 평면들에 대응하는 복수의 가상 이미지들을 생성하는 단계;
상기 제1 이미지 내의 타겟 픽셀에 대응하는 상기 복수의 가상 이미지들 각각 내의 매칭 픽셀들에 대한 매칭 비용들을 계산하는 단계;
상기 매칭 비용들에 기초하여 최종 매칭 픽셀을 결정하는 단계;
상기 최종 매칭 픽셀을 포함하는 상기 복수의 가상 이미지들 중 타겟 가상 이미지의 깊이 값을 상기 타겟 픽셀의 타겟 깊이 값으로 결정하는 단계; 및
상기 타겟 깊이 값에 기초하여 상기 깊이 이미지를 생성하는 단계
를 포함하는,
그래픽 객체 출력 방법.
According to claim 1,
The step of generating the depth image,
calculating a transformation relationship between the first image and the second image;
setting a plurality of virtual planes having different depth values based on the first image based on the transformation relationship;
generating a plurality of virtual images corresponding to the plurality of virtual planes based on the first image and a homography of each of the plurality of virtual planes with respect to the first image;
calculating matching costs for matching pixels in each of the plurality of virtual images corresponding to a target pixel in the first image;
determining a final matching pixel based on the matching costs;
determining a depth value of a target virtual image among the plurality of virtual images including the final matching pixel as a target depth value of the target pixel; and
generating the depth image based on the target depth value;
including,
Graphic object output method.
상기 제1 이미지 및 상기 제2 이미지 간의 변환 관계를 계산하는 단계는,
SIFT(scale invariant feature transform) 알고리즘을 이용하여 상기 제1 이미지 및 상기 제2 이미지 간의 상기 변환 관계를 계산하는 단계; 또는
PoseNet 모델을 이용하여 상기 제1 이미지 및 상기 제2 이미지 간의 상기 변환 관계를 계산하는 단계
를 포함하는,
그래픽 객체 출력 방법.
According to claim 3,
Calculating the transformation relationship between the first image and the second image,
calculating the transformation relationship between the first image and the second image using a scale invariant feature transform (SIFT) algorithm; or
Calculating the transformation relationship between the first image and the second image using a PoseNet model
including,
Graphic object output method.
상기 복수의 가상 평면들 중 제1 가상 평면의 제1 호모그래피는 상기 제1 이미지의 외부 파라미터, 제2 이미지의 외부 파라미터 및 상기 제1 가상 평면의 제1 깊이 값에 기초하여 결정되는,
그래픽 객체 출력 방법.
According to claim 3,
A first homography of a first virtual plane among the plurality of virtual planes is determined based on an external parameter of the first image, an external parameter of the second image, and a first depth value of the first virtual plane.
Graphic object output method.
상기 기준 이미지 내의 타겟 픽셀에 대응하는 상기 복수의 가상 이미지들 각각 내의 매칭 픽셀들에 대한 매칭 비용들을 계산하는 단계는,
SAD(sum of absolute difference) 또는 ZNCC(zero mean normalized cross-correlation)에 기초하여 상기 매칭 비용들을 계산하는 단계
를 포함하는,
그래픽 객체 출력 방법.
According to claim 3,
Calculating matching costs for matching pixels in each of the plurality of virtual images corresponding to a target pixel in the reference image,
Calculating the matching costs based on sum of absolute difference (SAD) or zero mean normalized cross-correlation (ZNCC)
including,
Graphic object output method.
상기 타겟 영역은 상기 제1 이미지가 나타내는 장면 내의 바닥 영역 중 일부에 대응하는 직선 또는 직선 형태의 영역이고,
상기 그래픽 객체는 상기 직선 또는 상기 직선 형태의 영역을 나타내는 객체인,
그래픽 객체 출력 방법.
According to claim 1,
The target area is a straight or linear area corresponding to a part of a floor area in a scene represented by the first image,
The graphic object is an object representing the straight line or the straight line-shaped area,
Graphic object output method.
상기 타겟 영역은 상기 제1 이미지가 나타내는 장면 내의 바닥 영역 중 일부에 대응하는 2차원 영역이고,
상기 그래픽 객체는 상기 2차원 영역의 경계를 나타내는 객체인,
그래픽 객체 출력 방법.
According to claim 1,
The target area is a two-dimensional area corresponding to a part of a floor area in a scene represented by the first image,
The graphic object is an object representing the boundary of the two-dimensional area,
Graphic object output method.
상기 타겟 영역은 상기 제1 이미지가 나타내는 장면 내의 바닥 영역 중 일부를 포함하는 3차원 영역이고,
상기 그래픽 객체는 상기 3차원 영역의 경계를 나타내는 객체인,
그래픽 객체 출력 방법.
According to claim 1,
The target area is a three-dimensional area including a part of a floor area in a scene represented by the first image,
The graphic object is an object representing the boundary of the 3D area,
Graphic object output method.
상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계; 및
상기 타겟 영역 내에 오브젝트가 존재하는 경우, 미리 설정된 동작을 수행하는 단계
를 더 포함하는,
그래픽 객체 출력 방법.
According to claim 9,
determining whether an object exists within the target area; and
performing a preset operation when an object exists within the target area;
Including more,
Graphic object output method.
상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계는,
상기 차량의 현재 운행 상황을 결정하는 단계; 및
상기 현재 운행 상황이 미리 설정된 운행 상황에 대응하는 경우 상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계
를 포함하는,
그래픽 객체 출력 방법.
According to claim 10,
Determining whether an object exists in the target area includes:
determining a current driving condition of the vehicle; and
determining whether an object exists in the target area when the current driving situation corresponds to a preset driving situation;
including,
Graphic object output method.
상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계는,
상기 제1 시각에서 상기 타겟 영역 내의 오브젝트 센싱 값을 결정하는 단계;
상기 제1 시각의 이전 시각에서 결정된 이전 타겟 영역 내의 이전 오브젝트 센싱 값 및 상기 오브젝트 센싱 값 간의 변화량을 계산하는 단계; 및
상기 변화량이 미리 설정된 임계 값 이상인 경우, 오브젝트가 존재하는 것을 결정하는 단계
를 포함하는,
그래픽 객체 출력 방법.
According to claim 10,
Determining whether an object exists in the target area includes:
determining an object sensing value within the target area at the first time point;
calculating a change amount between a previous object sensing value in a previous target area determined at a time before the first time and the object sensing value; and
Determining that an object exists when the amount of change is equal to or greater than a preset threshold value
including,
Graphic object output method.
상기 타겟 영역 내에 오브젝트가 존재하는 경우, 미리 설정된 동작을 수행하는 단계는,
상기 미리 설정된 동작으로서 상기 차량의 사용자에게 알람을 출력하는 단계
를 포함하는,
그래픽 객체 출력 방법.
According to claim 10,
When an object exists in the target area, performing a preset operation includes:
outputting an alarm to a user of the vehicle as the preset operation;
including,
Graphic object output method.
상기 타겟 영역 내에 오브젝트가 존재하는 경우, 미리 설정된 동작을 수행하는 단계는,
상기 미리 설정된 동작으로서 상기 차량의 운행 방향 또는 운행 속도 중 적어도 하나를 제어하는 단계
를 포함하는,
그래픽 객체 출력 방법.
According to claim 10,
When an object exists in the target area, performing a preset operation includes:
Controlling at least one of a driving direction or a driving speed of the vehicle as the preset operation
including,
Graphic object output method.
상기 디스플레이는 상기 차량의 사이드 미러에 포함되고,
상기 그래픽 객체는 상기 사이드 미러에 나타나는 장면 상에 오버레이되는,
그래픽 객체 출력 방법.
According to claim 1,
The display is included in the side mirror of the vehicle,
The graphic object is overlaid on the scene appearing on the side mirror,
Graphic object output method.
상기 타겟 영역을 나타내는 그래픽 객체를 디스플레이를 통해 출력하는 단계는,
상기 그래픽 객체가 오버레이된 상기 기준 이미지를 상기 디스플레이를 통해 출력하는 단계
를 포함하는,
그래픽 객체 출력 방법.
According to claim 1,
The step of outputting a graphic object representing the target area through a display,
outputting the reference image overlaid with the graphic object through the display;
including,
Graphic object output method.
A computer program stored in a computer readable recording medium to be combined with hardware to execute the method of any one of claims 1 to 16.
그래픽 객체를 출력하는 프로그램이 기록된 메모리; 및
상기 프로그램을 수행하는 프로세서
를 포함하고,
상기 프로그램은,
차량의 일 측에 설치된 카메라를 이용하여 제1 시각에 대한 제1 이미지를 생성하는 단계;
상기 카메라를 이용하여 제2 시각에 대한 제2 이미지를 생성하는 단계;
상기 제1 이미지 및 제2 이미지 중 기준 이미지로서의 상기 제1 이미지에 대한 깊이 이미지를 생성하는 단계;
상기 깊이 이미지에 기초하여 상기 차량의 위치와 연관된 타겟 영역을 상기 기준 이미지 상에서 결정하는 단계; 및
상기 타겟 영역을 나타내는 그래픽 객체를 디스플레이를 통해 출력하는 단계
를 수행하는,
전자 장치.
electronic devices,
a memory in which a program outputting graphic objects is recorded; and
Processor that executes the above program
including,
said program,
generating a first image for a first point of view using a camera installed on one side of the vehicle;
generating a second image for a second viewpoint using the camera;
generating a depth image for the first image as a reference image among the first image and the second image;
determining a target area associated with a position of the vehicle on the reference image based on the depth image; and
outputting a graphic object representing the target area through a display;
to do,
electronic device.
차량의 일 측에 설치된 카메라를 이용하여 제1 시각에 대한 제1 이미지를 생성하는 단계;
상기 카메라를 이용하여 제2 시각에 대한 제2 이미지를 생성하는 단계;
상기 제1 이미지 및 제2 이미지 중 기준 이미지로서의 상기 제1 이미지에 대한 깊이 이미지를 생성하는 단계;
상기 깊이 이미지에 기초하여 상기 차량의 위치와 연관된 타겟 영역을 상기 기준 이미지 상에서 결정하는 단계;
상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계; 및
상기 타겟 영역 내에 오브젝트가 존재하는 경우, 미리 설정된 동작을 수행함으로써 상기 차량을 제어하는 단계
를 포함하는,
차량 제어 방법.
A vehicle control method, performed by an electronic device,
generating a first image for a first point of view using a camera installed on one side of the vehicle;
generating a second image for a second viewpoint using the camera;
generating a depth image for the first image as a reference image among the first image and the second image;
determining a target area associated with a position of the vehicle on the reference image based on the depth image;
determining whether an object exists within the target area; and
Controlling the vehicle by performing a preset operation when an object exists within the target area.
including,
vehicle control method.
상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계는,
상기 차량의 현재 운행 상황을 결정하는 단계; 및
상기 현재 운행 상황이 미리 설정된 운행 상황에 대응하는 경우 상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계
를 포함하는,
차량 제어 방법.
According to claim 19,
Determining whether an object exists in the target area includes:
determining a current driving condition of the vehicle; and
determining whether an object exists in the target area when the current driving situation corresponds to a preset driving situation;
including,
vehicle control method.
상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계는,
상기 제1 시각에서 상기 타겟 영역 내의 오브젝트 센싱 값을 결정하는 단계;
상기 제1 시각의 이전 시각에서 결정된 이전 타겟 영역 내의 이전 오브젝트 센싱 값 및 상기 오브젝트 센싱 값 간의 변화량을 계산하는 단계; 및
상기 변화량이 미리 설정된 임계 값 이상인 경우, 오브젝트가 존재하는 것을 결정하는 단계
를 포함하는,
차량 제어 방법.
According to claim 19,
Determining whether an object exists in the target area includes:
determining an object sensing value within the target area at the first time point;
calculating a change amount between a previous object sensing value in a previous target area determined at a time before the first time and the object sensing value; and
Determining that an object exists when the amount of change is equal to or greater than a preset threshold value
including,
vehicle control method.
A computer program stored in a computer readable recording medium in order to execute the method of any one of claims 19 to 21 in combination with hardware.
차량을 제어하는 프로그램이 기록된 메모리; 및
상기 프로그램을 수행하는 프로세서
를 포함하고,
상기 프로그램은,
차량의 일 측에 설치된 카메라를 이용하여 제1 시각에 대한 제1 이미지를 생성하는 단계;
상기 카메라를 이용하여 제2 시각에 대한 제2 이미지를 생성하는 단계;
상기 제1 이미지 및 제2 이미지 중 기준 이미지로서의 상기 제1 이미지에 대한 깊이 이미지를 생성하는 단계;
상기 깊이 이미지에 기초하여 상기 차량의 위치와 연관된 타겟 영역을 상기 기준 이미지 상에서 결정하는 단계;
상기 타겟 영역 내에 오브젝트가 존재하는지 여부를 결정하는 단계; 및
상기 타겟 영역 내에 오브젝트가 존재하는 경우, 미리 설정된 동작을 수행함으로써 상기 차량을 제어하는 단계
를 수행하는,
전자 장치.electronic devices,
a memory in which a program for controlling a vehicle is recorded; and
Processor that executes the above program
including,
said program,
generating a first image for a first point of view using a camera installed on one side of the vehicle;
generating a second image for a second viewpoint using the camera;
generating a depth image for the first image as a reference image among the first image and the second image;
determining a target area associated with a position of the vehicle on the reference image based on the depth image;
determining whether an object exists within the target area; and
Controlling the vehicle by performing a preset operation when an object exists within the target area.
to do,
electronic device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210062325A KR102529835B1 (en) | 2021-05-14 | 2021-05-14 | Method and apparatus for outputting graphic objects related to vehicel driving information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210062325A KR102529835B1 (en) | 2021-05-14 | 2021-05-14 | Method and apparatus for outputting graphic objects related to vehicel driving information |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220155496A KR20220155496A (en) | 2022-11-23 |
KR102529835B1 true KR102529835B1 (en) | 2023-05-08 |
Family
ID=84236758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210062325A KR102529835B1 (en) | 2021-05-14 | 2021-05-14 | Method and apparatus for outputting graphic objects related to vehicel driving information |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102529835B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019016230A (en) | 2017-07-07 | 2019-01-31 | 日本電信電話株式会社 | Learning device, image combining device, learning method, image combining method, and program |
JP2020500767A (en) | 2017-02-28 | 2020-01-16 | 三菱電機株式会社 | Automatic vehicle parking system and method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101852085B1 (en) * | 2016-08-16 | 2018-04-26 | 한국과학기술원 | Depth map acquisition device and depth map acquisition method |
KR102578517B1 (en) * | 2017-01-13 | 2023-09-14 | 삼성전자주식회사 | Electronic apparatus and control method thereof |
US11049218B2 (en) * | 2017-08-11 | 2021-06-29 | Samsung Electronics Company, Ltd. | Seamless image stitching |
-
2021
- 2021-05-14 KR KR1020210062325A patent/KR102529835B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020500767A (en) | 2017-02-28 | 2020-01-16 | 三菱電機株式会社 | Automatic vehicle parking system and method |
JP2019016230A (en) | 2017-07-07 | 2019-01-31 | 日本電信電話株式会社 | Learning device, image combining device, learning method, image combining method, and program |
Also Published As
Publication number | Publication date |
---|---|
KR20220155496A (en) | 2022-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6833630B2 (en) | Object detector, object detection method and program | |
KR102275310B1 (en) | Mtehod of detecting obstacle around vehicle | |
CN111024040B (en) | Distance estimation method and device | |
US10449900B2 (en) | Video synthesis system, video synthesis device, and video synthesis method | |
Oliveira et al. | Multimodal inverse perspective mapping | |
JP6310652B2 (en) | Video display system, video composition device, and video composition method | |
KR102306790B1 (en) | Device and method to visualize content | |
JP2004114977A (en) | Moving body periphery monitoring device | |
CN107273788A (en) | The imaging system and vehicle imaging systems of lane detection are performed in vehicle | |
KR20200071960A (en) | Method and Apparatus for Vehicle Detection Using Lidar Sensor and Camera Convergence | |
US11403854B2 (en) | Operating assistance method, control unit, operating assistance system and working device | |
KR20170118077A (en) | Method and device for the distortion-free display of an area surrounding a vehicle | |
JP2019526105A5 (en) | ||
JP4154980B2 (en) | Moving object periphery monitoring device | |
KR20180030167A (en) | Object detecting apparatus, object detecting method, and program | |
KR101764106B1 (en) | AVM system and method for compositing image with blind spot | |
KR20190067578A (en) | Collision warning device and method using heterogeneous cameras having overlapped capture area | |
Yeh et al. | Driver assistance system providing an intuitive perspective view of vehicle surrounding | |
KR102529835B1 (en) | Method and apparatus for outputting graphic objects related to vehicel driving information | |
KR20200068045A (en) | Around view monitoring system and method for detecting parking line with deep learning | |
JP2021092996A (en) | Measurement system, vehicle, measurement method, measurement device and measurement program | |
WO2015001747A1 (en) | Travel road surface indication detection device and travel road surface indication detection method | |
KR20200065945A (en) | Method for stop signal generation that combines LiDAR data with object recognition data from camera | |
JP7436331B2 (en) | Image processing device | |
JP5395373B2 (en) | Perimeter monitoring device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |