KR102246706B1 - Autonomous driving device and method for operating autonomous driving device in anomaly situation - Google Patents
Autonomous driving device and method for operating autonomous driving device in anomaly situation Download PDFInfo
- Publication number
- KR102246706B1 KR102246706B1 KR1020200031994A KR20200031994A KR102246706B1 KR 102246706 B1 KR102246706 B1 KR 102246706B1 KR 1020200031994 A KR1020200031994 A KR 1020200031994A KR 20200031994 A KR20200031994 A KR 20200031994A KR 102246706 B1 KR102246706 B1 KR 102246706B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- image information
- situation
- autonomous driving
- processor
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000013528 artificial neural network Methods 0.000 claims abstract description 103
- 238000010191 image analysis Methods 0.000 claims abstract description 29
- 230000002159 abnormal effect Effects 0.000 claims description 114
- 238000012545 processing Methods 0.000 claims description 27
- 241001465754 Metazoa Species 0.000 claims description 5
- 238000011017 operating method Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 24
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 20
- 238000012549 training Methods 0.000 description 16
- 230000009471 action Effects 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 8
- 238000013135 deep learning Methods 0.000 description 8
- 238000002372 labelling Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000001276 controlling effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000002547 anomalous effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 206010039203 Road traffic accident Diseases 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000002485 combustion reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 241000282898 Sus scrofa Species 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008451 emotion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000004297 night vision Effects 0.000 description 2
- 238000004378 air conditioning Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000002620 method output Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/001—Industrial image inspection using an image reference approach
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Image Analysis (AREA)
- Traffic Control Systems (AREA)
Abstract
Description
본 발명은 자율 주행 장치 및 이상 도로 상황에서 자율 주행 장치의 운용 방법에 대한 것이다. The present invention relates to an autonomous driving device and a method of operating the autonomous driving device in abnormal road conditions.
자동차는 사용되는 원동기의 종류에 따라, 내연기관 자동차, 외연기관 자동차, 가스터빈 자동차 또는 전기 자동차 등으로 분류될 수 있다. Vehicles may be classified into an internal combustion engine vehicle, an external combustion engine vehicle, a gas turbine vehicle, or an electric vehicle, depending on the type of the prime mover used.
자율주행자동차란 운전자 없이 또는 운전자를 보조하여 자동차 스스로 운행이 가능한 자동차를 의미할 수 있다. An autonomous vehicle may refer to a vehicle that can operate by itself without a driver or by assisting a driver.
이러한 자율주행자동차는 기존의 자동차 기술과 첨단의 IT 기술이 접목되어 발전하고 있다. 특히 빅데이터, 딥러닝 기술이 발전하면서 인공지능과 결합한 자동차에 대한 연구가 활발하게 진행되고 있다. These self-driving cars are developing by combining existing automobile technology and cutting-edge IT technology. In particular, with the development of big data and deep learning technologies, research on automobiles combined with artificial intelligence is being actively conducted.
딥러닝은 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화 알고리즘의 집합으로 정의될 수 있으며, 사람의 사고방식을 컴퓨터에게 가르치는 기계학습의 한 분야이다. Deep learning can be defined as a set of high-level abstraction algorithms through a combination of several nonlinear transducers, and is a field of machine learning that teaches human thinking to computers.
딥러닝을 이용한 자율주행자동차에 대한 내용은 대한민국등록특허 10-2026300, 대한민국 공개특허 10-2018-0110566등에 개시되어 있다. The information on an autonomous vehicle using deep learning is disclosed in Korean Patent Registration No. 10-2026300, Korean Patent Application Publication No. 10-2018-0110566, and the like.
본 발명이 해결하고자 하는 과제는 도로 위에서 비정상 상황 여부를 판단할 수 있는 자율 주행 장치를 제공하는 것이다. The problem to be solved by the present invention is to provide an autonomous driving device capable of determining whether or not there is an abnormal situation on a road.
본 발명이 해결하고자 하는 다른 과제는 도로 위에서 비정상 상황 여부를 확인할 수 있는 자율 주행 장치 운용 방법을 제공하는 것이다. Another problem to be solved by the present invention is to provide a method of operating an autonomous driving device capable of checking whether there is an abnormal situation on a road.
본 발명이 해결하고자 하는 다른 자율주행성능이 향상된 자율 주행 장치를 제공하는 것이다. Another object of the present invention is to provide an autonomous driving device with improved autonomous driving performance.
본 발명이 해결하고자 하는 다른 과제는 자율주행성능이 향상된 자율 주행 장치 운용 방법을 제공하는 것이다. Another problem to be solved by the present invention is to provide a method of operating an autonomous driving device with improved autonomous driving performance.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 자율 주행 장치는 차량 외부의 이미지 정보를 획득하는 카메라부, 상기 이미지 정보를 분석하여 결과값을 출력하기 위해 적어도 하나의 딥 뉴럴 네트워크를 포함하는 프로세서 및 상기 결과값을 저장하는 메모리부를 포함하는 이미지 분석부 및 상기 이미지 분석부에서 출력한 상기 결과값을 기초로 제어 신호를 생성하는 자율 주행 제어부를 포함하되, 상기 카메라부는 제1 시점의 제1 이미지 정보와 제2 시점의 제2 이미지 정보를 획득하고, 상기 프로세서는 상기 딥 뉴럴 네트워크를 통해 상기 제1 이미지 정보와 상기 제2 이미지 정보의 유사도를 비교하여 상기 결과값을 출력하고, 상기 결과값을 기초로 비정상 상황을 판단한다.An autonomous driving device according to an embodiment of the present invention for solving the above problem includes a camera unit that obtains image information outside a vehicle, and at least one deep neural network to analyze the image information and output a result value. An image analysis unit including a processor and a memory unit for storing the result value, and an autonomous driving control unit generating a control signal based on the result value output from the image analysis unit, wherein the camera unit Acquires image information and second image information of a second viewpoint, and the processor compares the similarity between the first image information and the second image information through the deep neural network to output the result value, and the result value The abnormal situation is judged based on.
또한, 상기 제1 이미지 및 상기 제2 이미지는 순차적으로 갱신될 수 있다.Also, the first image and the second image may be sequentially updated.
또한, 상기 제1 이미지는 직전 시점의 이미지이며, 상기 제2 이미지는 현재 시점의 이미지일 수 있다.In addition, the first image may be an image of a viewpoint immediately before, and the second image may be an image of a current viewpoint.
또한, 상기 딥 뉴럴 네트워크는 제1 출력값을 출력하는 제1 서브 네트워크, 제2 출력값을 출력하는 제2 서브 네트워크, 상기 제1 서브 네트워크와 상기 제2 서브 네트워크의 가중치를 공유하는 가중치 공유 모듈 및 상기 제1 출력값과 상기 제2 출력값을 비교하는 비교 모듈을 포함하는 네트워크를 지칭할 수 있다. In addition, the deep neural network includes a first sub-network for outputting a first output value, a second sub-network for outputting a second output value, a weight sharing module for sharing weights of the first sub-network and the second sub-network, and the It may refer to a network including a comparison module that compares the first output value and the second output value.
또한, 상기 제1 이미지는 어노말리 (anomaly) 데이터를 포함하지 않고, 상기 제2 이미지는 어노말리 데이터를 포함할 수 있다.In addition, the first image may not include anomaly data, and the second image may include anomaly data.
또환, 상기 프로세서는 상기 제1 이미지에 존재하지 않는 어노말리 데이터가 상기 제2 이미지에 존재하는 것으로 확인하면, 이를 비정상 상황으로 판단할 수 있다.In addition, if the processor determines that anomaly data that does not exist in the first image exists in the second image, the processor may determine this as an abnormal situation.
또한, 상기 메모리는 복수의 피쳐 카테고리를 저장하고, 상기 프로세서는 상기 비정상 상황으로 출력된 상기 결과값을 상기 피쳐 카테고리와 비교하되, 상기 피쳐 카테고리에 상기 결과값이 검색되지 않는 경우, 신규 카테고리를 생성하여 상기 메모리에 저장할 수 있다.In addition, the memory stores a plurality of feature categories, and the processor compares the result value output in the abnormal situation with the feature category, but if the result value is not found in the feature category, a new category is created. Can be stored in the memory.
또한, 상기 비정상 상황에서 상기 프로세서는 상기 비정상 상황의 위험 수준을 수치화하여 출력하고, 상기 자율 주행 제어부는 상기 수치화된 출력값을 기초로 상기 제어 신호를 생성할 수 있다.In addition, in the abnormal situation, the processor numerically outputs the risk level of the abnormal situation, and the autonomous driving controller may generate the control signal based on the numerical output value.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 자율 주행 장치 운용 방법은 이미지 정보를 획득하는 단계, 상기 이미지 정보를 처리하는 단계 및 상기 처리된 이미지 정보를 기초로 자율 주행 장치를 제어하는 단계를 포함하되, 상기 카메라부는 제1 시점의 제1 이미지 정보와 제2 시점의 제2 이미지 정보를 획득하고, 상기 프로세서는 상기 딥 뉴럴 네트워크를 통해 상기 제1 이미지 정보와 상기 제2 이미지 정보의 유사도를 비교하여 상기 결과값을 출력하고 상기 결과값을 기초로 비정상 상황을 판단한다.The method of operating an autonomous driving device according to an embodiment of the present invention for solving the above problem includes obtaining image information, processing the image information, and controlling the autonomous driving device based on the processed image information. Including, wherein the camera unit acquires first image information of a first view and second image information of a second view, and the processor is a similarity between the first image information and the second image information through the deep neural network. The result value is output by comparing and the abnormal situation is determined based on the result value.
또한, 상기 이미지 정보를 분석하는 단계는 비정상 상황의 위험 수준을 수치화하여 출력하는 단계를 더 포함할 수 있다.In addition, analyzing the image information may further include quantifying and outputting a risk level of an abnormal situation.
과제의 해결 수단은 이에 제한되지 않으며, 더욱 구체적인 수단들은 명세서에서 더 자세하게 다루고 있다. The means for solving the problem is not limited thereto, and more specific means are dealt with in more detail in the specification.
본 발명의 실시예들에 의하면 자율 주행 장치가 정상 상황과 비정상 상황을 판단하고, 이에 대응하여 차량 조작을 수행할 수 있다. According to embodiments of the present invention, the autonomous driving device may determine a normal situation and an abnormal situation, and perform vehicle manipulation in response thereto.
또한, 정의되지 않은 상황에서도 정상 상황과 비정상 상황을 판단함으로써, 예측할 수 없는 도로 상황에 유연하게 대처할 수 있다. In addition, by determining normal and abnormal situations even in undefined situations, it is possible to flexibly cope with unpredictable road conditions.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.The effects according to the present invention are not limited by the contents exemplified above, and more various effects are included in the present specification.
도 1은 본 발명의 일 실시예에 따른 자율 주행 장치를 설명하기 위한 개략도이다.
도 2는 본 발명의 일 실시예에 따른 자율 주행 장치를 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 자율 주행 장치의 부분 블록도이다.
도 4는 본 명의 일 실시예가 포함하는 인공 신경망을 나타낸 개략도이다.
도 5a는 본 발명의 일 실시예를 설명하기 위한 개략도이다.
도 5b는 본 발명의 일 실시예가 포함하는 샴 네트워크를 도시한 블록도이다.
도 6은 본 발명의 일 실시예에 따른 자율 주행 장치에서 이미지의 유사성을 판단하는 방법을 간략하게 나타낸 개략도이다.
도 7은 본 발명의 일 실시예를 설명하기 위한 블록도이다.
도 8은 본 발명의 일 실시예의 학습 데이터 세트를 예시한 사진이다.
도 9는 본 발명의 일 실시예에 따른 자율 주행 장치의 부분 블록도이다.
도 10은 본 발명의 일 실시예에 따른 자율 주행 장치 운용 방법을 설명하기 위한 블록도이다. 1 is a schematic diagram illustrating an autonomous driving apparatus according to an embodiment of the present invention.
2 is a block diagram illustrating an autonomous driving apparatus according to an embodiment of the present invention.
3 is a partial block diagram of an autonomous driving device according to an embodiment of the present invention.
4 is a schematic diagram showing an artificial neural network included in an embodiment of the present name.
5A is a schematic diagram for explaining an embodiment of the present invention.
5B is a block diagram showing a Siamese network included in an embodiment of the present invention.
6 is a schematic diagram schematically showing a method of determining similarity of images in an autonomous driving device according to an embodiment of the present invention.
7 is a block diagram illustrating an embodiment of the present invention.
8 is a photograph illustrating a training data set according to an embodiment of the present invention.
9 is a partial block diagram of an autonomous driving device according to an embodiment of the present invention.
10 is a block diagram illustrating a method of operating an autonomous driving device according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various forms different from each other, and only these embodiments make the disclosure of the present invention complete, and common knowledge in the technical field to which the present invention pertains. It is provided to completely inform the scope of the invention to the possessor, and the invention is only defined by the scope of the claims.
구성(elements) 또는 층이 다른 소자 또는 층의 "위(on)" 또는 "상(on)"으로 지칭되는 것은 다른 구성 또는 층의 바로 위뿐만 아니라 중간에 다른 층 또는 다른 구성을 개재한 경우를 모두 포함한다. 반면, 구성이 "직접 위(directly on)" 또는 "바로 위"로 지칭되는 것은 중간에 다른 구성 또는 층을 개재하지 않은 것을 나타낸다.When elements or layers are referred to as “on” or “on” of another element or layer, it is possible to interpose other layers or other elements in the middle as well as directly above other elements or layers. All inclusive. On the other hand, when a component is referred to as "directly on" or "directly on", it means that no other components or layers are interposed therebetween.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "위(on)", "상(on)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성 또는 구성 요소들과 다른 구성 또는 구성 요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용 시 또는 동작 시 구성의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들면, 도면에 도시되어 있는 구성을 뒤집을 경우, 다른 구성의 "아래"로 기술된 구성은 다른 구성의 "위"에 놓여질 수 있다. 또한 도면을 기준으로 다른 구성의 "좌측"에 위치하는 것으로 기술된 구성은 시점에 따라 다른 구성의 "우측"에 위치할 수도 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성은 다른 방향으로도 배향될 수 있으며, 이 경우 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.The spatially relative terms "below", "beneath", "lower", "above", "on", "on", "top ( upper)" or the like may be used to easily describe a correlation between one component or components and another component or components, as shown in the drawings. Spatially relative terms should be understood as terms including different directions of a configuration during use or operation in addition to the directions shown in the drawings. For example, when the configuration shown in the drawing is reversed, the configuration described as "below" of the other configuration may be placed on the "top" of the other configuration. In addition, a configuration described as being located on the "left" side of another configuration based on the drawing may be located on the "right side" of another configuration depending on the viewpoint. Accordingly, the exemplary term “below” may include both directions below and above. The composition may be oriented in other directions, and in this case, terms that are spatially relative may be interpreted according to the orientation.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한 "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는다.Although the first, second, and the like are used to describe various components, it goes without saying that these components are not limited by these terms. These terms are only used to distinguish one component from another component. Therefore, it goes without saying that the first component mentioned below may be the second component within the technical idea of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In addition, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, one or more other features or numbers, The possibility of the presence or addition of steps, actions, components, parts, or combinations thereof is not precluded.
명세서 전체를 통하여 동일하거나 유사한 부분에 대해서는 동일한 도면 부호를 사용한다.The same reference numerals are used for the same or similar parts throughout the specification.
이하, 도면을 참조하여 본 발명의 실시예들에 대하여 설명한다.Hereinafter, embodiments of the present invention will be described with reference to the drawings.
도 1은 본 발명의 일 실시예에 따른 자율 주행 장치를 설명하기 위한 개략도이다. 도 2는 본 발명의 일 실시예에 따른 자율 주행 장치를 설명하기 위한 블록도이다.1 is a schematic diagram illustrating an autonomous driving apparatus according to an embodiment of the present invention. 2 is a block diagram illustrating an autonomous driving apparatus according to an embodiment of the present invention.
도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 자율 주행 장치는 카메라부(200), 위치 측정부(550), 이미지 분석부(300) 및 자율주행제어부(500)를 포함한다. 1 and 2, an autonomous driving device according to an embodiment of the present invention includes a
일 실시예에 따른 자율 주행 장치는 도로나 선로 위를 주행하는 수송 수단을 포함할 수 있다. 예컨대, 자율 주행 장치는 자동차, 기차 및 오토바이를 포함하는 개념으로 이해될 수 있다. 이에 더하여 자율 주행 장치는 동력원으로서 엔진을 구비하는 내연기관 차량, 동력원으로서 엔진과 전기 모터를 포함하는 하이브리드 차량, 동력원으로서 전기 모터를 구비하는 전기 차량을 포함하는 개념으로 이해될 수 있다. The autonomous driving apparatus according to an embodiment may include a transportation means for driving on a road or track. For example, an autonomous driving device may be understood as a concept including a car, a train, and a motorcycle. In addition, the autonomous driving apparatus may be understood as a concept including an internal combustion engine vehicle having an engine as a power source, a hybrid vehicle including an engine and an electric motor as a power source, and an electric vehicle including an electric motor as a power source.
설명의 편의를 위해 도 1은 자율 주행 장치가 자율 주행 차량(100)인 경우를 예시한다. 다만, 이는 예시적인 것으로 자율 주행 장치의 종류가 이제 제한되는 것은 아니다. For convenience of explanation, FIG. 1 illustrates a case where the autonomous driving device is an
일 실시예에서 자율 주행 차량(100)은 운전자 없이 운행되는 무인 자동차일 수 있다. 다른 실시예에서 자율 주행 차량(100)은 운전자가 동승하되, 자율 주행 시스템에 의해 보조되는 유인 자동차일 수 있다. 또 다른 실시예에서 자율 주행 차량(100)은 운전자가 자율 주행 시스템을 온/오프할 수 있다. 자율 주행 시스템을 온 한 경우, 자율 주행 시스템이 운용되며, 오프한 경우 운전자가 직접 운전할 수 있다. In an embodiment, the
일 실시예에서 자율 주행 차량(100)은 스마트 카 구현을 위한 다양한 응용 제어 기술들이 적용된 차량일 수 있다. 예컨대, 자율 주행 차량(100)은 차량간 거리를 유지해 주는 기술, 후측방 경보 시스템, 자동 긴급 제동 시스템, 차선 이탈 경보 시스템, 차선 유지 지원 시스템, 어스밴스드 스마트 크루즈 컨트롤(ASCC), 혼잡 구간 지원 시스템을 포함할 수 있다. In an embodiment, the
카메라부(200)는 자율 주행 차량(100) 외부의 정보를 획득할 수 있다. 일 실시예에서 카메라부(200)는 이러한 기능을 달성하기 위해 적어도 하나의 카메라를 포함할 수 있다. 카메라는 자율 주행 차량(100)의 외부 또는 주변의 이미지 정보를 획득할 수 있다. 이를 위해 카메라는 적어도 하나의 렌즈, 적어도 하나의 이미지 센서 및 이미지 센서와 전기적으로 연결되어 수신되는 신호를 처리하고, 처리되는 신호에 기초하여 외부의 이미지 정보에 대한 데이터를 생성하는 적어도 하나의 프로세서를 포함할 수 있다. The
카메라부(200)는 도로 상황에 대한 정보를 획득할 수 있다. 도 1에 도시된 바와 같이 도로 상에는 다른 차량(91, 92), 표지판(93) 및 자연 환경(94) 등의 정보가 나열될 수 있다. 카메라부(200)는 자율 주행 장치(100) 차량 외부에 나열된 정보(차량 외부에 존재하는 모든 종류의 이미지 정보를 포함할 수 있다.)들을 카메라 범위(CR) 안에서 획득할 수 있다. The
일 실시예에서 카메라는 모노 카메라, 스테레오 카메라, AVM(Around View Monitoring) 카메라 중 적어도 어느 하나일 수 있다. 일 실시예에서 카메라는 다양한 영상 처리 알고리즘을 이용하여, 오브젝트의 위치 정보, 오브젝트와의 거리 정보, 또는 오브젝트와의 상대 속도 정보를 획득할 수 있다. In an embodiment, the camera may be at least one of a mono camera, a stereo camera, and an AVM (Around View Monitoring) camera. In an embodiment, the camera may acquire location information of an object, distance information of an object, or information of a relative speed with an object by using various image processing algorithms.
일 실시예에서 카메라는 차량 외부를 촬영하기 위해 자율 주행 차량(100)에서 FOV(Field of View) 확보가 가능한 위치에 장착될 수 있다. 예컨대, 카메라는 차량 전방의 영상을 획득하기 위해 자율 주행 차량(100)의 프런트 윈드 쉴드, 프런트 범퍼 또는 라디에이터 그릴 주변에 배치될 수 있다. 이에 더하여, 카메라는 차량 후방의 영상을 획득하기 위해 차량의 리어 글라스, 리어 범퍼, 트렁크 또는 테일 램프와 인접하게 배치될 수 있다. 또한, 카메라는 차량 측방의 영상을 획득하기 위해 차량의 사이드 윈도우, 사이드 미러, 휀더, 또는 차량의 사이드 도어와 인접하게 배치될 수 있다. In an embodiment, the camera may be mounted in a position in which the field of view (FOV) can be secured in the
다른 실시예에서 카메라는 차량 내부에 배치될 수 있다. 예컨대, 일반적인 블랙박스와 같이 룸미러와 인접하게 배치될 수 있다. In another embodiment, the camera may be placed inside a vehicle. For example, it may be disposed adjacent to the room mirror like a general black box.
카메라부(200)는 차량 외부에서 획득한 이미지 정보를 이미지 분석부(300)에 제공할 수 있다. 구체적으로 카메라부(200)는 연속된 동영상 또는 일정한 프레임 레이트(frame rate)로 획득된 이미지를 제공할 수 있다. 일 실시예에서 카메라부(200)는 제1 시점(t-1) 이미지와 제2 시점(t0) 이미지를 이미지 분석부(300)에 제공할 수 있다. 일 실시예에서 제2 시점은(t0)은 현재 시점이고, 제1 시점(t-1)은 현재 시점 이전의 시점, 즉 직전 시점일 수 있다. 직전 시점은 현재 시점으로부터 일정 시간 전인 과거 시점을 의미할 수 있다. 일정 시간은 제한되지 않으며, 초 단위, 분 단위 이거나 초 단위를 더 세분한 단위일 수 있다. The
위치 측정부(550)는 자율 주행 장치의 현재 위치를 측정할 수 있다. 즉, 자율 주행 장치의 위치 정보를 측정하여 제공할 수 있다. The
이를 위해 위치 측정부(550)는 위치 측정 수단을 포함할 수 있다. 위치 측정 수단은 예컨대, 적어도 하나의 GPS 위성으로부터 위치 신호를 수신할 수 있는 GPS 모듈, IMU 모듈 및 Barometer 모듈로 이루어진 군에서 선택된 어느 하나 이상을 포함할 수 있다. 다만, 이는 예시적인 것으로, 위치 측정부(550)가 이에 제한되는 것은 아니다. 자율 주행 장치의 위치를 확인할 수 있는 수단이라면, 본 발명의 일 실시예에 따른 위치 측정부(550)로 채택될 수 있다. To this end, the
위치 측정부(550)에서 측정된 위치를 표시하기 위해 본 발명의 일 실시예는 전국의 지리적 정보를 포함하는 지도 데이터를 포함할 수 있다. 또한, 지도 데이터는 전자 지도, 전자 지도를 포함하는 프로그램 또는 네비게이션 형식으로 구현될 수 있다. In order to display the location measured by the
지도 데이터가 프로그램을 포함하는 경우, 그 프로그램은 후술하는 프로세서(310)에 의해 실행될 수 있다. 또한, 지도 데이터 등은 메모리(330)에 저장될 수 있다. When the map data includes a program, the program may be executed by the
이미지 분석부(300)는 제1 시점의 이미지와 제2 시점의 이미지를 비교할 수 있다. 구체적으로, 이미지 분석부(300)는 제1 시점의 이미지와 제2 시점의 이미지의 유사도를 판단하여 자율주행에 필요한 의미있는 변화를 감지할 수 있다. The
이하에서는 도 3을 참조하여, 이미지 분석부(300)에 대해 자세히 설명하기로 한다. Hereinafter, the
도 3은 본 발명의 일 실시예에 따른 자율 주행 장치의 부분 블록도이다. 3 is a partial block diagram of an autonomous driving device according to an embodiment of the present invention.
이미지 분석부(300)는 프로세서(310), 네트워크 모듈(320) 및 메모리(330)를 포함할 수 있다. The
프로세서(310)는 하나 이상의 코어로 구성될 수 있으며, 컴퓨팅 장치의 중앙 처리 장치(CPU, Central Processing Unit), 범용 그래픽 처리 장치(GPGPU, General Purpose Graphics Processing Unit), 텐서 처리 장치(TPU: Tensor Processing Unit) 또는 뉴럴 처리 장치(NPU, Neural Processing Unit)등의 데이터 분석, 딥러닝을 위한 프로세서를 포함할 수 있다. 프로세서(310)는 메모리(330)에 저장된 컴퓨터 프로그램을 판독하여 본 발명의 몇몇 실시예에 따른 자율 주행 장치의 일부 기능을 수행할 수 있다.
일 실시예에서 프로세서(310)는 신경망의 학습을 위한 계산을 수행할 수 있다. 프로세서(310)는 딥러닝(Deep Learning)에서 학습을 위한 입력 데이터의 처리, 입력 데이터에서의 피쳐(feature) 추출, 오차 계산, 역전파(backpropagation)를 이용한 신경망의 가중치 업데이트 등 신경망 학습을 위한 게산을 수행할 수 있다. In an embodiment, the
일 실시예에서 복수의 프로세서(310)가 네트워크 함수의 학습을 처리할 수 있다. 예를 들어, CPU와 GPGPU가 함께 네트워크 함수의 학습, 네트워크 함수를 이용한 데이터 분류를 처리할 수 있다. In an embodiment, a plurality of
일 실시예에서 프로세서(310)가 네트워크 함수를 이용하여 처리하는 이미지는 메모리(330)에 저장된 이미지, 카메라부(200)가 획득하여 이미지 분석부(300)에 제공하는 이미지 및 네트워크 모듈(320)에 의해 외부의 데이터 베이스 또는 다른 컴퓨팅 장치로부터 제공된 이미지일 수 있다. 또한 네트워크 모듈(320)에 의해 얻어진 데이터는 후술하는 뉴럴 네트워크를 학습시키기 위해 사용될 수 있다. In one embodiment, an image processed by the
일 실시예에서 메모리(330)는 이미지 분석부(300)가 기능하기 위해 필요한 정보를 저장할 수 있다. In an embodiment, the
일 실시예에서 메모리(330)는 휘발성 메모리(예를 들면, DRAM(dynamic RAM), SRAM(static RAM), SDRAM(synchronous dynamic RAM) 등) 또는 비휘발성 메모리(non-volatile Memory, 예를 들면, OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, NAND flash memory, NOR flash memory 등), SSD(Solid State Drive) 중 적어도 하나를 포함할 수 있다. In one embodiment, the
일 실시예에서 메모리(330)는 외장 메모리를 포함할 수 있다. 외장 메모리는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 Memory Stick 등을 더 포함할 수 있다.In an embodiment, the
메모리(330)는 프로세서(310)가 기능을 수행하는데 기초가 되는 정보를 저장할 수 있다. 메모리(330)에 저장되는 정보는 기 입력된 정보이거나, 네트워크 모듈(320)에 의해 외부의 데이터 베이스 또는 다른 컴퓨팅 장치로부터 제공된 이미지 또는 카메라부(200)에서 획득된 이미지일 수 있다.The
네트워크 모듈(320)은 정보를 본 발명의 몇몇 실시예에 따른 자율 주행 장치의 다른 구성, 다른 컴퓨팅 장치 또는 외부의 서버와 송수신할 수 있다. 예컨대, 네트워크 모듈(320)은 학습 이미지 데이터 베이스 등에서 학습 이미지 데이터를 수신할 수 있다. 또한, 네트워크 모듈(320)은 복수의 컴퓨팅 장치 간에 통신을 가능하게 하여 복수의 컴퓨팅 장치 각각에서 네트워크 함수의 학습이 분산 수행되도록 할 수 있다. 이에 더하여, 네트워크 모듈(320)은 네트워크 함수를 사용한 데이터 분류를 분산 처리할 수 있도록 할 수 있다. The
일 실시예에서 프로세서(310)는 위치 측정부(550)에서 제공한 위치 정보를 카메라부(200)에서 제공한 이미지 정보와 결합하여 위치 정보-이미지 정보 결합 정보를 생성할 수 있다. 즉, 일 실시예에서 프로세서(310)가 처리하는 정보는 이미지 정보와 위치 정보가 매칭된 정보일 수 있다. In an embodiment, the
이에 대해 더욱 구체적으로 설명하면, 위치 정보와 이미지는 시점을 기준으로 결합될 수 있다. 예컨대, 임의의 시점인 제1 시점에서 획득된 위치 정보와 제1 시점에서 획득된 영상 정보가 서로 결합된 형태의 데이터로 존재할 수 있다. 즉, 위치 정보와 이미지가 결합된 결합 정보는 동일 시점에서 위치 측정부(550)가 획득한 위치 정보와 동일 시점에서 카메라부(200)가 획득한 이미지 및/또는 영상 정보가 결합된 형태의 데이터일 수 있다. 즉, 이미지 및/또는 영상 정보가 대응하는 시점을 메타 데이터로 한 형태로 저장될 수 있다. In more detail, the location information and the image may be combined based on a viewpoint. For example, location information obtained at a first viewpoint, which is an arbitrary viewpoint, and image information obtained at the first viewpoint, may exist as data in a combined form. That is, the combined information in which the location information and the image are combined is data in a form in which the location information obtained by the
일 실시예에서, 제1 이미지(51)는 제1 시점(t-1), 즉, 직전 시점의 이미지일 수 있다. 제1 이미지(51)는 어노말리 판단의 기초가 되는 이미지일 수 있다. 제2 이미지(52)는 제2 시점(t0), 즉, 현재 시점의 이미지일 수 있다. 제1 이미지(51)와 제2 이미지(52)는 자율 주행 차량(100)이 주행함에 따라 연속적으로 또는 순차적으로 갱신될 수 있다. In an embodiment, the
다른 실시예에서 제1 이미지(51)는 메모리(330)에 기 저장된 이미지일 수 있다. 메모리(330)에 기 저장된 이미지는 이미지 그 자체 또는 추출된 피쳐를 포함할 수 있다. 또한, 메모리에 기 저장된 이미지는 다른 컴퓨팅 장치 또는 외부 서버로부터 제공되어 저장된 이미지일 수 있다. 즉 프로세서(310)는 메모리(330)에 기 저장된 이미지와 현재 시점의 이미지(제2 이미지(52)일 수 있다.)를 비교하여 유사도를 판단할 수 있다.In another embodiment, the
차량이 주행함에 따라 프로세서(310)는 제1 시점의 위치 정보-이미지 정보를 결합하고, 제2 시점의 위치 정보-이미지 정보를 결합하여 결합 정보를 생성하고, 이를 처리할 수 있다. 또한, 프로세서(310)는 생성된 결합 정보를 메모리(330)에 저장할 수 있다. As the vehicle travels, the
이 단계에서 처리되는 위치 정보는 위도/경도/고도, GPS 좌표 또는 GPS 좌표의 범위 등의 정보를 포함할 수 있다. 앞서 설명한 바와 같이 프로세서(310)는 기계 학습을 수행할 수 있다. 더욱 구체적으로, 프로세서(310)는 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(abstraction, 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용 또는 기능을 요약하는 작업)를 시도하는 기계학습 알고리즘의 집합인 심층학습(deep learning)을 이용하여 구축된 이미지 분석 모델을 포함할 수 있다.The location information processed in this step may include information such as latitude/longitude/altitude, GPS coordinates, or a range of GPS coordinates. As described above, the
다시 말하면, 프로세서(310)는 적어도 하나의 딥 뉴럴 네트워크(DNN: Deep Neural Network)를 포함할 수 있다. 이하에서는 도 4 등을 참조하여, 이에 대해 자세히 설명하기로 한다. In other words, the
도 4는 본 명의 일 실시예가 포함하는 인공 신경망을 나타낸 개략도이다. 4 is a schematic diagram showing an artificial neural network included in an embodiment of the present name.
설명의 편의를 위해 용어를 정리하기로 한다. 본 명세서에서 '신경망', '네트워크 함수' 및 '뉴럴 네트워크'는 동일한 의미로 사용될 수 있다. 신경망은 일반적으로 '노드'라 지칭될 수 있는 상호연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 '노드'는 '뉴런(Neuron)'으로 지칭될 수도 있다. 신경망은 적어도 하나 이상의 노드를 포함하여 구성될 수 있다. 신경망들을 구성하는 노드들은 하나 이상의 '링크'에 의해 상호 연결될 수 있다. The terms are summarized for convenience of explanation. In the present specification,'neural network','network function', and'neural network' may be used with the same meaning. A neural network can be made up of a set of interconnected computational units, which can generally be referred to as'nodes'. These'nodes' may also be referred to as'neurons'. The neural network may include at least one or more nodes. Nodes constituting neural networks may be interconnected by one or more'links'.
신경망 내에서, 링크를 통해 연결된 하나 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 전술한 바와 같이 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다. In a neural network, one or more nodes connected through a link may relatively form a relationship between an input node and an output node. The concepts of an input node and an output node are relative, and any node in an output node relationship with respect to one node may have an input node relationship in a relationship with another node, and vice versa. As described above, the relationship between the input node and the output node can be created around a link. One or more output nodes may be connected to one input node through a link, and vice versa.
하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서 입력 노드와 출력 노드를 상호 연결하는 가중치(weight)를 가질 수 있다. 가중치는 가변적일 수 있으며, 신경망이 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.In the relationship between the input node and the output node connected through one link, the value of the output node may be determined based on data input to the input node. Here, it may have a weight that interconnects the input node and the output node. The weight may be variable, and in order for the neural network to perform a desired function, it may be changed by a user or an algorithm. For example, when one or more input nodes are interconnected to one output node by respective links, the output node includes values input to input nodes connected to the output node and a link corresponding to each input node. The output node value may be determined based on the weight.
전술한 바와 같이 신경망은 하나 이상의 노드들이 하나 이상의 링크를 통해 상호 연결되어 신경망 내에서 입력 노드 및 출력 노드 관계를 형성한다. 신경망 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라 신경망의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들 사이의 가중치 값이 상이한 두 신경망이 존재하는 경우, 두 개의 신경망들은 서로 상이한 것으로 인식될 수 있다. As described above, in a neural network, one or more nodes are interconnected through one or more links to form an input node and an output node relationship in the neural network. The characteristics of the neural network may be determined according to the number of nodes and links in the neural network, an association relationship between nodes and links, and a weight value assigned to each of the links. For example, when there are the same number of nodes and links, and two neural networks having different weight values between the links exist, the two neural networks may be recognized as being different from each other.
도 4에 도시된 바와 같이 신경망은 하나 이상의 노드들을 포함하여 구성될 수 있다. 신경망을 구성하는 노드들 중 일부는, 최초 입력 노드로부터 거리들에 기초하여 하나의 레이어(layer)를 구성할 수 있다. 예를 들어, 최초 입력 노드로부터 거리가 n인 노드들의 집합은, n 레이어를 구성할 수 있다. 최초 입력 노드로부터 거리는 최초 입력 노드로부터 해당 노드까지 도달하기 위해 거쳐야하는 링크들의 최소 개수에 의해 정의될 수 있다. 그러나 이러한 레이어의 정의는 설명을 위한 임의적인 것으로서, 신경망 내에서 레이어의 차수는 전술한 것과 상이한 방법으로 정의될 수도 있다. 예컨대, 노드들의 레이어는 최종 출력 노드로부터의 거리에 의해 정의될 수도 있다. As shown in FIG. 4, the neural network may include one or more nodes. Some of the nodes constituting the neural network may configure one layer based on distances from the initial input node. For example, a set of nodes having a distance n from an initial input node may constitute n layers. The distance from the initial input node may be defined by the minimum number of links that must be traversed to reach the corresponding node from the initial input node. However, the definition of such a layer is arbitrary for explanation, and the order of the layer in the neural network may be defined in a different way than that described above. For example, the layer of nodes may be defined by the distance from the last output node.
최초 입력 노드는 신경망 내의 노드들 중 다른 노드들과의 관계에서 링크를 거치지 않고 데이터가 직접 입력되는 하나 이상의 노드들을 의미할 수 있다. 또는 신경망 네트워크 내에서 링크를 기준으로 한 노드 간의 관계에 있어서, 링크로 연결된 다른 입력 노드를 가지지 않는 노드들을 의미할 수 있다. The first input node may mean one or more nodes to which data is directly input without going through a link in a relationship with other nodes among nodes in the neural network. Alternatively, in the relationship between nodes in a neural network network based on a link, it may mean nodes that do not have other input nodes connected by a link.
이와 유사하게, 최종 출력 노드는 신경망 내의 노드들 중 다른 노드들과의 관계에서 출력 노드를 가지지 않는 하나 이상의 노드들을 의미할 수 있다. Similarly, the final output node may mean one or more nodes that do not have an output node in relation to other nodes among nodes in the neural network.
히든 노드는 최초 입력 노드 및 최후 출력 노드가 아닌 신경망을 구성하는 노드들을 의미할 수 있다. The hidden node may refer to nodes constituting a neural network other than the first input node and the last output node.
딥 뉴럴 네트워크는 입력 레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 신경망을 의미할 수 있다. 딥 뉴럴 네트워크를 이용하면 데이터의 잠재적인 구조(Latent Structrue)를 파악할 수 있다. 즉, 사진, 글, 비디오, 음성, 음악의 잠재적인 구조(예를 들어, 어떤 물체가 사진에 있는지, 글의 내용과 감정이 무엇인지, 음성의 내용과 감정이 무엇인지 등)을 파악할 수 있다. 일 실시예에서 딥 뉴럴 네트워크는 컨벌루셔널 뉴럴 네트워크(CNN: Convolutional Neural Network), 리커런트 뉴럴 네트워크(RNN: Recurrent Neural Network), 제한 볼츠만 머신(RBM: Restricted Boltzmann Machine), 심층 신뢰 네트워크(DBN: Deep Belief Network), Q 네트워크, U 네트워크 및 샴 네트워크로 이루어진 군에서 선택된 하나 이상을 포함할 수 있다. The deep neural network may mean a neural network including a plurality of hidden layers in addition to an input layer and an output layer. Using a deep neural network, it is possible to identify the potential structure of data (Latent Structrue). In other words, it is possible to understand the potential structures of photos, texts, videos, voices, and music (for example, what objects are in photos, what are the content and emotions of the text, what are the contents and emotions of the voice, etc.). . In one embodiment, the deep neural network is a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), and a deep trust network (DBN: Deep Belief Network), a Q network, a U network, and a Siam network.
도 5a는 본 발명의 일 실시예를 설명하기 위한 개략도이다. 5A is a schematic diagram for explaining an embodiment of the present invention.
도 5a는 딥 뉴럴 네트워크(DNN)가 이미지를 처리하는 방식을 예시한다.5A illustrates how a deep neural network (DNN) processes an image.
일 실시예에서 딥 뉴럴 네트워크(DNN)는 입력된 제1 이미지(51)와 제2 이미지(52)에서 각각의 피쳐를 추출할 수 있다. 딥 뉴럴 네트워크(DNN)는 추출된 각각의 피쳐를 비교하여 제1 이미지(51)와 제2 이미지(52)의 유사도를 판단할 수 있다. In an embodiment, the deep neural network (DNN) may extract each feature from the input
일 실시예에서 프로세서(310)는 제1 이미지(51)의 피쳐와 제2 이미지(52)의 피쳐 사이의 수학적 거리를 구하여 유사도를 판단할 수 있다. 프로세서(310)는 제1 이미지(51)와 제2 이미지(52)의 유사도가 사전 결정된 임계값 이하인 경우, 제2 이미지(52)를 어노말리 데이터를 포함하는 이미지, 즉, 현재 상황이 비정상 상황, 즉 비유사라는 결과값을 출력할 수 있다. In an embodiment, the
본 명세서에서 '비정상 상황(또는 상태)'이라는 용어는 정상 상황 또는 일반적인 상황의 반대 의미로 사용될 수 있다. In the present specification, the term'abnormal situation (or state)' may be used in the opposite sense of a normal situation or a general situation.
정상 상황 또는 일반적인 상황은 차량이 주행함에 있어서 일반적으로 기대되어지는 도로의 통상적인 상황 예컨대, 하나 이상의 차량이 주행하고 있는 도로 상황, 직진, 좌회전, 우회전하거나, 신호에 따른 정차 행위 하는 상황 등을 의미할 수 있다. A normal situation or a general situation refers to a normal situation on the road that is generally expected when a vehicle is driving, such as a road situation on which one or more vehicles are running, a situation in which one or more vehicles are driving, a situation in which a vehicle is stopped according to a signal, etc. can do.
비정상 상황은 이와 반대되는 이례적인 상황으로서, 사고 상황, 돌발 상황, 도로 파손 상황, 동물이나 사람의 출몰 등 차량이 도로를 주행함에 있어 통상적으로는 발생하지 않거나 기대되지 않는 상황을 의미할 수 있다. 즉, 비정상 상황은 통상의 주행이 아니라 다른 행동이 필요한 상황(예컨대, 회피, 정지 등)을 의미할 수 있다. An abnormal situation is an unusual situation opposite to this, and may mean a situation that does not normally occur or is not expected when a vehicle is driving on the road, such as an accident situation, an unexpected situation, a road damage situation, and the appearance of animals or people. That is, the abnormal situation may mean a situation in which other actions are required (eg, avoidance, stop, etc.), not a normal driving.
이하에서 사용하는 '돌발 상황', '이상 상황', '어노말리 데이터가 존재하는 상황' 등의 단어는 비정상 상황을 지칭하는 하나의 예로서 사용될 수 있다. Words such as'abrupt situation','abnormal situation', and'a situation in which anomaly data exists' used below may be used as an example of referring to an abnormal situation.
다른 실시예에서 프로세서(310)는 제1 이미지(51)와 제2 이미지(52)를 딥 뉴럴 네트워크(DNN)로 비교하여 두 이미지에서 실제 어느 픽셀이 상이한지를 픽셀 단위로 표현하는 픽셀바이픽셀 세그멘테이션 출력(Pixel by Pixel segmentation output)을 생성할 수도 있다. In another embodiment, the
또 다른 실시예에서 프로세서(310)는 딥 뉴럴 네트워크(DNN)에서 생성된 임의의 비교 알고리즘으로 네트워크의 출력을 서로 비교할 수 있다. 프로세서(310)는 양 피쳐의 차이를 단순 비교하는 것뿐만 아니라, 양 피쳐의 비교에 딥 뉴럴 네트워크(DNN)를 사용하여 양 피쳐의 차이의 정도, 차이가 있는 부분의 픽셀의 위치 등을 출력할 수 있다. In another embodiment, the
이와 같은 방식에 의해 프로세서(310)는 현재 상황(제2 이미지(52)에 의해 표현되는)을 정상 상황인 제1 이미지(51)와 비교하여 정상 상황 또는 비정상 상황인지 여부를 판단할 수 있다. 이에 더하여, 프로세서(310)는 비정상 상황인 경우, 제2 이미지(52)에 나타나 있는 어노말리 데이터의 위험 수준을 결정할 수 있다. 일 실시예에서 어노말리 데이터의 위험 수준은 딥 뉴럴 네트워크에 의해 판단될 수 있다. 이를 위해 앞서 설명한 방식 중 어느 하나를 채용하여 딥 뉴럴 네트워크를 학습시키고, 학습된 딥 뉴럴 네트워크가 위험 수준을 수치화하여 표현할 수 있다. 출력된 위험 수준은 후술하는 자율주행제어부(500)에 제공되어 자율 주행 차량(100)을 제어하는 기초로 사용될 수 있다. In this manner, the
상술한 바와 같이 제1 시점(t-1)에서 획득된 제1 이미지(51)와 제2 시점(t0)에서 획득된 제2 이미지(52)의 유사도를 판단하여 비정상 상황을 판단하는 경우, 외부 DB의 도움 없이도 비정상 상황을 판단하고, 이에 즉각적으로 대응할 수 있다. 또한, 도로 위에서 발생할 수 있는 수 많은 정의되지 않은 비정상 상황에서도 유사도 측정을 통해 비정상 상황을 판단하여 이에 대응할 수 있다. 즉, 본 발명의 몇몇 실시예에 따르면, 이미지에서 단순히 오브젝트를 추출하여 이를 정의하는 것이 아니라, 시점이 다른 두 이미지의 유사성을 판단하여 비정상 상황을 판단함으로써 정의되지 않은 비정상 상황에 대해 즉각적으로 대응할 수 있는 장점이 있다. As described above, when an abnormal situation is determined by determining the similarity between the
또한, 제1 이미지(51)와 제2 이미지(52)는 자율 주행 차량(100)이 운행함에 따라 즉각적으로 갱신될 수 있다. 이에 따라 비정상 상황의 판단의 기초가 되는 제1 이미지(51)가 계속적으로 갱신될 수 있다. 즉, 계속적으로 갱신되는 정상 상황을 기초로 현재 상태를 판단함으로써, 자율 주행 차량(100)의 주행에 따라 발생하는 비정상 상황을 인지할 수 있다.In addition, the
도 5b는 본 발명의 일 실시예가 포함하는 샴 네트워크를 도시한 블록도이다. 5B is a block diagram showing a Siamese network included in an embodiment of the present invention.
일 실시예에서 딥 뉴럴 네트워크는 샴 네트워크일 수 있다. In an embodiment, the deep neural network may be a Siamese network.
. 샴 네트워크는 데이터로부터 군집을 형성하고 이를 이용하여 입력된 이미지 간의 유사도를 측정할 수 있다. 이를 위해 샴 네트워크(400)는 적어도 부분적으로 가중치를 공유하는 2 이상의 뉴럴 네트워크(제1 서브 네트워크(410) 및 제2 서브 네트워크(420))와 각 서브 네트워크들부터 출력을 입력받는 비교 모듈(440)을 포함할 수 있다. . The Siamese network can form a cluster from the data and use it to measure the similarity between the input images. To this end, the
설명의 편의를 위해 제1 서브 네트워크(410)와 제2 서브 네트워크(420)를 분리하였지만, 샴 네트워크(400)의 구성이 이에 제한되는 것은 아니다. 즉, 다른 실시예에서 제1 서브 네트워크(410)와 제2 서브 네트워크(420)는 적어도 부분적으로 중첩될 수 있다(기능적으로). 또 다른 실시예에서 제1 서브 네트워크(410)와 제2 서브 네트워크(420)는 일체로 이루어지며, 기능적으로 분리되어 이하에서 설명하는 기능을 수행할 수 있다.Although the
샴 네트워크(400)에는 적어도 두 개의 이미지가 입력될 수 있다. 샴 네트워크(400)는 입력되는 2 개의 이미지의 유사도를 판단한 결과를 출력할 수 있다. 이미지를 처리하기 위해 샴 네트워크(400)의 각 서브 네트워크는 이미지를 입력 받는 컨벌루셔널 뉴럴 네트워크를 포함할 수 있다. 샴 네트워크(400)에서 이미지를 입력받는 2개의 서브 네트워크는 가중치의 적어도 일부를 공유할 수 있다. 즉, 샴 네트워크에 포함된 서브 네트워크들은 가중치 공유 모듈(430)에 의하여 가중치를 공유할 수 있으며, 이를 통해 샴 네트워크(400)는 입력된 두 데이터에 대해 공통된 가중치로 피쳐를 추출하여 비교할 수 있다. At least two images may be input to the
샴 네트워크(400)는 입력 데이터의 유사성을 측정할 수 있는 학습이 가능한 네트워크 구조로서, 카테고리가 많고, 훈련을 위한 데이터가 충분치 않은 경우에 사용될 수 있다. 입력 데이터 유사성 측정의 학습 방법은 타겟 공간에서 단순 거리가 입력 공간에서 의미론적 거리(semantic distance)에 근접하도록 입력 패턴을 타겟 공간에 매핑시키는 함수를 찾는 과정을 포함할 수 있다. The
구체적으로, 입력 데이터 유사성 측정의 학습 방법은 서브 네트워크의 가중치w를 가지는 함수에서 가중치 w를 연산하는 과정을 포함할 수 있다. 구체적으로, 서브 네트워크의 함수에서 입력 데이터가 서로 같은 카테고리인 경우, 유사도 함수가 작은 값을 가지고, 입력 데이터가 서로 다른 카테고리인 경우 유사도 함수가 큰 값을 가지도록 하는 가중치w를 연산하는 과정을 포함할 수 있다. 각 서브 네트워크의 가중치w는 가중치 공유 모듈(430)에 의해 각각 공유될 수 있다. 샴 네트워크(400)는 서브 네트워크가 공유된 가중치를 가지는 함수로 각각의 입력 데이터를 처리할 수 있다. Specifically, the learning method of measuring the similarity of input data may include a process of calculating the weight w in a function having the weight w of the sub-network. Specifically, it includes the process of calculating the weight w so that the similarity function has a small value when the input data is in the same category in the subnetwork function, and the similarity function has a large value when the input data is in different categories. can do. The weight w of each sub-network may be shared by the
각 서브 네트워크가 포함하는 컨벌루셔널 뉴럴 네트워크는 서로 대응되는 노드끼리 가중치를 공유할 수 있다. 컨벌루셔널 뉴럴 네트워크에서 출력된 피쳐들의 유사도는 비교 모듈(440)에서 판단될 수 있다. 일 실시예에서 비교는 양 컨벌루셔널 뉴럴 네트워크에서 출력된 피쳐의 수학적 거리에 기초하여 수행될 수 있다. 양 이미지를 비교하는 방식을 채용하는 샴 네트워크(400)는 학습 데이터가 충분치 않은 경우에도, 두 개의 이미지를 인식할 수 있고, 이미지 데이터의 회전, 변형 등에 민감하지 않아 일반적인(general) 인식 성능을 가질 수 있다. 비정상 상황에 대한 분류능력을 확보할 수 있다.Convolutional neural networks included in each sub-network may share weights between nodes corresponding to each other. The similarity of features output from the convolutional neural network may be determined by the
뉴럴 네트워크는 교사 학습(Supervised learning), 비교사 학습(Unsupervised learning), 약지도학습(Weekly-supervised learning), 반교사 학습(Semi-supervised learning), 비지도 학습(Unsupervised learning), 자가지도 학습(Self-supervised learning), 메타 학습(Meta-learning), 및 강화 학습(Reinforcement learning) 중 적어도 하나의 방식으로 학습될 수 있다. 뉴럴 네트워크의 학습은 출력의 오류를 최소화하기 위한 것이다. 뉴럴 네트워크의 학습은 반복적으로 학습 데이터를 뉴럴 네트워크에 입력시키고, 학습 데이터에 대한 뉴럴 네트워크의 출력과 타겟의 에러를 계산하고, 에러를 줄이기 위한 방향으로 뉴럴 네트워크의 에러를 뉴럴 네트워크의 출력 레이어에서부터 입력 레이어 방향으로 역전파하여 뉴럴 네트워크의 각 노드의 가중치를 업데이트 하는 과정이다. Neural networks include supervised learning, unsupervised learning, weekly-supervised learning, semi-supervised learning, unsupervised learning, and self-supervised learning. Self-supervised learning), meta-learning, and reinforcement learning may be learned in at least one method. Learning of neural networks is to minimize output errors. Neural network learning repetitively inputs training data to the neural network, calculates the output of the neural network for the training data and the error of the target, and inputs the error of the neural network from the output layer of the neural network in a direction to reduce the error. This is a process of updating the weight of each node of the neural network by backpropagating in the layer direction.
교사 학습의 경우 각각의 학습 데이터에 정답이 라벨링되어 있는 학습 데이터를 사용하며, 비교사 학습의 경우는 각각의 학습 데이터에 정답이 라벨링되어 있지 않을 수 있다. 예컨대, 데이터 분류에 관한 교사 학습의 경우, 학습 데이터는 학습 데이터 각각에 카테고리가 라벨링된 데이터일 수 있다. 라벨링된 학습 데이터가 뉴럴 네트워크에 입력되고, 뉴럴 네트워크의 출력과 학습 데이터의 라벨을 비교하여 오차(error)가 계산될 수 있다. 계산된 오차는 뉴럴 네트워크에서 역방향으로 역전파 되며, 역전파에 따라 뉴럴 네트워크의 각 레이어의 각 노드들의 연결 가중치가 업데이트 될 수 있다. 업데이트 되는 각 노드의 연결 가중치는 학습률(Learning rate)에 따라 변화량이 결정될 수 있다. 입력 데이터에 대한 뉴럴 네트워크의 계산과 에러의 역전파는 학습 사이클(epoch)을 구성할 수 있다. 학습률은 뉴럴 네트워크의 학습 사이클의 반복 횟수에 따라 상이하게 적용될 수 있다. 예를 들어 뉴럴 네트워크의 학습 초기에는 높은 학습률을 사용하여 뉴럴 네트워크가 빠르게 일정 수준의 성능을 확보하도록 하여 효율성을 높이고, 학습 후기에는 낮은 학습률을 사용하여 정확도를 높일 수 있다. In the case of teacher learning, learning data in which the correct answer is labeled in each learning data is used, and in the case of comparative learning, the correct answer may not be labeled in each learning data. For example, in the case of teacher learning related to data classification, the learning data may be data in which a category is labeled in each of the learning data. The labeled training data is input to the neural network, and an error may be calculated by comparing the output of the neural network with the label of the training data. The calculated error is backpropagated in the neural network in the reverse direction, and connection weights of each node of each layer of the neural network may be updated according to the backpropagation. The amount of change in the connection weight of each node to be updated may be determined according to a learning rate. The computation of the neural network for the input data and the backpropagation of the error can constitute a learning cycle (epoch). The learning rate may be applied differently according to the number of repetitions of the learning cycle of the neural network. For example, a high learning rate is used in the early stages of training of a neural network, so that the neural network quickly acquires a certain level of performance to increase efficiency, and a low learning rate can be used in the later stages of training to increase accuracy.
도 6은 본 발명의 일 실시예에 따른 자율 주행 장치에서 이미지의 유사성을 판단하는 방법을 간략하게 나타낸 개략도이다. 6 is a schematic diagram schematically showing a method of determining similarity of images in an autonomous driving device according to an embodiment of the present invention.
일 실시예에서 이미지 유사성 판단은 이미지 분석부(300), 더욱 구체적으로는 이미지 분석부(300)가 포함하는 프로세서(310)에 의해 수행될 수 있다. 일 실시예에서 프로세서(310)는 뉴럴 네트워크의 연산 프로세스를 수행할 수 있다. 즉, 이미지 유사성 비교의 모든 연산 프로세스(즉, 뉴럴 네트워크의 학습, 피쳐 추출 및 피쳐 비교 등)은 프로세서(310)에 의해 수행될 수 있다. 다시 말하면, 뉴럴 네트워크에서 데이터를 처리한다는 표현은 프로세서(310)가 뉴럴 네트워크를 실행하여 데이터를 처리하는 과정을 의미할 수 있다. In an embodiment, the determination of image similarity may be performed by the
일 실시예에서 프로세서(310)는 샴 네트워크(400)에 제1 이미지(51) 및 제2 이미지(52)를 입력하고, 샴 네트워크(400)에서 연산한 두 이미지의 유사도 계산 결과에 기초하여 결과를 출력할 수 있다. In one embodiment, the
일 실시예에서 샴 네트워크(400)는 어노말리 디텍션(Anomaly detection)에 사용될 수 있다. In an embodiment, the
어노말리 데이터는 데이터의 정상 패턴에서 벗어나는 비정상 데이터를 의미할 수 있다. 일 실시예에서, 이러한 어노말리 데이터를 포함하는 상황은 비정상 상황으로 정의될 수 있다. 데이터는 비정형 패턴을 가질 수 있으며, 어노말리 데이터는 이러한 비정형 패턴에서 벗어나는 데이터를 의미할 수 있다. 예를 들어, 도로의 일반적인 상황(도로, 표지판, 배경이 되는 자연 경관 등)은 정상 상황이라는 비정형 패턴을 가질 수 있으며, 비정상(anomaly) 상황은 정상 상황이라는 비정형 패턴에서 벗어난 데이터, 예컨대, 낙석, 길을 막는 동물의 출현, 사고 상황, 도로 공사 상황 등을 의미할 수 있다. 위에서 열거한 정상 상황 및 비정상 상황은 설명의 편의를 위해 예로 든 것이며, 이에 의해 본 실시예가 제한되는 것은 아니다. The anomalous data may mean abnormal data deviating from a normal pattern of data. In one embodiment, a situation including such anomaly data may be defined as an abnormal situation. Data may have an unstructured pattern, and anomalous data may mean data that deviates from such an unstructured pattern. For example, a general situation on a road (roads, signs, natural scenery as a background, etc.) may have an atypical pattern of a normal situation, and an anomaly situation is data that deviates from the atypical pattern of a normal situation, for example, a rockfall, It may mean the appearance of an animal blocking the road, an accident situation, a road construction situation, etc. The normal situations and abnormal situations listed above are provided as examples for convenience of description, and the present embodiment is not limited thereto.
일 실시예에서, 제1 이미지(51)는 제1 시점(t-1), 즉, 직전 시점의 이미지일 수 있다. 제1 이미지(51)는 어노말리 판단의 기초가 되는 이미지일 수 있다. 제2 이미지(52)는 제2 시점(t0), 즉, 현재 시점의 이미지일 수 있다. 제1 이미지(51)와 제2 이미지(52)는 자율 주행 차량(100)이 주행함에 따라 연속적으로 또는 순차적으로 갱신될 수 있다. In an embodiment, the
다른 실시예에서 제1 이미지(51)는 메모리(330)에 기 저장된 이미지일 수 있다. 메모리(330)에 기 저장된 이미지는 이미지 그 자체 또는 추출된 피쳐를 포함할 수 있다. 또한, 메모리에 기 저장된 이미지는 다른 컴퓨팅 장치 또는 외부 서버로부터 제공되어 저장된 이미지일 수 있다. In another embodiment, the
자율 주행 중에는 순간적으로 비정상 상황(자율 주행 차량에 위해를 가할 수 있는 상황 등, 예컨대, 낙석, 길을 막는 동물의 출현, 사고 상황, 도로 공사 상황)이 발생할 수 있다. 이 경우, 정상 상황과 비정상 상황 간에 시간 간격에 의해 제1 이미지(51)에 없는 어노말리 데이터가 제2 이미지(52)에는 표시될 수 있다. 즉, 제1 이미지(51)는 어노말리 데이터를 포함하지 않는 정상 상태 이미지 데이터이고, 제2 이미지(52)는 어노말리 데이터를 포함하는 비정상 상태 이미지일 수 있다. During autonomous driving, abnormal situations (such as situations that may harm the self-driving vehicle, such as rockfall, the appearance of animals blocking the road, accidents, road construction situations) may occur momentarily. In this case, anomaly data that is not in the
프로세서(310)는 샴 네트워크(400)에 입력된 제1 이미지(51)와 제2 이미지(52)에서 각각의 피쳐를 추출할 수 있다. 샴 네트워크(400)는 추출된 각각의 피쳐를 비교하여 제1 이미지(51)와 제2 이미지(52)의 유사도를 판단할 수 있다. 일 실시예에서 프로세서(310)는 제1 이미지(51)의 피쳐와 제2 이미지(52)의 피쳐 사이의 수학적 거리를 구하여 유사도를 판단할 수 있다. 프로세서(310)는 제1 이미지(51)와 제2 이미지(52)의 유사도가 사전 결정된 임계값 이하인 경우, 제2 이미지(52)를 어노말리 데이터를 포함하는 이미지, 즉, 현재 상황이 비정상 상황이라는 결과값을 출력할 수 있다. 다른 실시예에서 프로세서(310)는 제1 이미지(51)와 제2 이미지(52)를 딥 뉴럴 네트워크로 비교하여 두 이미지에서 실제 어느 픽셀이 상이한지를 픽셀 단위로 표현하는 픽셀바이픽셀 세그멘테이션 출력(Pixel by Pixel segmentation output)을 생성할 수도 있다. 또 다른 실시예에서 프로세서(310)는 딥 뉴럴 네트워크에서 생성된 임의의 비교 알고리즘으로 서브 네트워크의 출력을 서로 비교할 수 있다. 프로세서(310)는 양 피쳐의 차이를 단순 비교하는 것뿐만 아니라, 양 피쳐의 비교에 뉴럴 네트워크를 사용하여 양 피쳐의 차이의 정도, 차이가 있는 부분의 픽셀의 위치 등을 출력할 수 있다. The
이와 같은 방식에 의해 프로세서(310)는 현재 상황(제2 이미지(52)에 의해 표현되는)을 정상 상황인 제1 이미지(51)와 비교하여 정상 상황 또는 비정상 상황인지 여부를 판단할 수 있다. 이에 더하여, 프로세서(310)는 비정상 상황인 경우, 제2 이미지(52)에 나타나 있는 어노말리 데이터의 위험 수준을 결정할 수 있다. 일 실시예에서 어노말리 데이터의 위험 수준은 딥 뉴럴 네트워크에 의해 판단될 수 있다. 이를 위해 앞서 설명한 방식 중 어느 하나를 채용하여 딥 뉴럴 네트워크를 학습시키고, 학습된 딥 뉴럴 네트워크가 위험 수준을 수치화하여 표현할 수 있다. 출력된 위험 수준은 후술하는 자율주행제어부(500)에 제공되어 자율 주행 차량(100)을 제어하는 기초로 사용될 수 있다. In this manner, the
상술한 바와 같이 제1 시점(t-1)에서 획득된 제1 이미지(51)와 제2 시점(t0)에서 획득된 제2 이미지(52)의 유사도를 판단하여 비정상 상황을 판단하는 경우, 외부 DB의 도움 없이도 비정상 상황을 판단하고, 이에 즉각적으로 대응할 수 있다. 또한, 도로 위에서 발생할 수 있는 수 많은 정의되지 않은 비정상 상황에서도 유사도 측정을 통해 비정상 상황을 판단하여 이에 대응할 수 있다. 즉, 본 발명의 몇몇 실시예에 따르면, 이미지에서 단순히 오브젝트를 추출하여 이를 정의하는 것이 아니라, 시점이 다른 두 이미지의 유사성을 판단하여 비정상 상황을 판단함으로써 정의되지 않은 비정상 상황에 대해 즉각적으로 대응할 수 있는 장점이 있다. As described above, when an abnormal situation is determined by determining the similarity between the
또한, 제1 이미지(51)와 제2 이미지(52)는 자율 주행 차량(100)이 운행함에 따라 즉각적으로 갱신될 수 있다. 이에 따라 비정상 상황의 판단의 기초가 되는 제1 이미지(51)가 계속적으로 갱신될 수 있다. 즉, 계속적으로 갱신되는 정상 상황을 기초로 현재 상태를 판단함으로써, 자율 주행 차량(100)의 주행에 따라 발생하는 비정상 상황을 인지할 수 있다. In addition, the
이하에서는 도 6에 대해 더욱 구체적으로 설명하기로 한다. Hereinafter, FIG. 6 will be described in more detail.
일 실시예에서 제1 이미지(51)는 제1 서브 네트워크(410)에 입력되고, 제2 이미지(52)는 제2 서브 네트워크(420)에 입력될 수 있다. 프로세서(310)는 각각의 서브 네트워크를 이용하여 입력된 이미지를 각각 연산하여 입력된 이미지의 피쳐를 각각 추출할 수 있다. 제1 서브 네트워크(410)와 제2 서브 네트워크(420)는 서로 가중치의 적어도 일부를 공유하여 비교 모듈(440)이 제1 이미지(51) 및 제2 이미지(52)에 대하여 공통된 가중치로 피쳐를 추출하여 비교하도록 할 수 있다. 여기서 제1 서브 네트워크(410) 및 제2 서브 네트워크(420)는 딥 뉴럴 네트워크 구조를 포함할 수 있다. 예를 들어, 서브 네트워크들 중 적어도 하나는 컨벌루셔널 뉴럴 네트워크 구조를 가질 수 있다. In an embodiment, the
일 실시예에서 비교 모듈(440)은 컨벌루셔널 뉴럴 네트워크 또는 임의의 비교 알고리즘 구조를 가질 수 있다. 일 실시예에서 비교 방법이 제2 이미지(52)에 어노말리 부분이 존재하는 지 여부를 출력하는 경우, 비교 모듈(440)은 수학적 비교 알고리즘을 포함할 수 있다. In an embodiment, the
비교 모듈(440)은 제1 서브 네트워크(410) 및/또는 제2 서브 네트워크(420)와 직렬(in series)로 연결될 수 있다. 여기서 '직렬'은 서브 네트워크 출력의 적어도 일부가 비교 모듈(440)에 입력이 되거나, 서브 네트워크의 일부가 비교 모듈(440)과 중첩될 수 있음을 의미할 수 있다. 비교 모듈(440)은 복수의 이미지 또는 이미지의 피쳐를 비교할 수 있는 구성을 가질 수 있으며, 각각의 서브 네트워크에서 출력된 피쳐를 서로 비교하여 비교 정보를 생성할 수 있다. The
일 실시예에서 비교 모듈(440)은 두 피쳐의 수학적 거리를 비교하는 함수의 형태일 수 있다. 다른 실시예에서 비교 모듈(440)은 딥 뉴럴 네트워크로 구성되어 두 피쳐의 유사도를 판단하는 구성일 수 있다. 비교 모듈(440)이 딥 뉴럴 네트워크로 구성되는 경우, 비교 모듈(440)은 제1 서브 네트워크(410) 및 제2 서브 네트워크(420)로부터 수신된 데이터로부터 이미지의 유사성과 관련된 피쳐를 계산할 수 있다. In an embodiment, the
비교 모듈(440)의 비교 결과에 기초하여 샴 네트워크(400)는 어노말리 관련 데이터를 출력할 수 있다. 어노말리 관련 데이터는 이미지가 어노말리 데이터를 포함하는 지 여부, 또는 어노말리 데이터를 포함하는 경우, 어노말리가 존재하는 픽셀의 위치 정보를 포함할 수 있다. Based on the comparison result of the
도 7은 본 발명의 일 실시예를 설명하기 위한 블록도이다.7 is a block diagram illustrating an embodiment of the present invention.
도 8은 본 발명의 일 실시예의 학습 데이터 세트를 예시한 사진이다. 8 is a photograph illustrating a training data set according to an embodiment of the present invention.
도 7 및 도 8을 참조하면, 딥 뉴럴 네트워크(DNN)는 학습 데이터 세트(600)에 의해 학습될 수 있다. 7 and 8, a deep neural network (DNN) may be trained by a
일 실시예에서 학습 데이터 세트(600)는 정상 상황 이미지(51N), 비정상 상황 이미지(52A) 및 라벨링 이미지(52L)를 포함할 수 있다. 정상 상황 이미지(51N)는 입력 데이터의 어노말리 판단의 기초가 되는 이미지로서, 어노말리 데이터를 포함하지 않는 정상 상태 이미지 데이터만을 포함하는 이미지일 수 있다. 정상 상황 이미지(51N)는 학습 후 상술한 뉴럴 네트워크의 제1 이미지(51)에 대응될 수 있다. 즉, 정상 상황 이미지(51N)는 정상 상황의 비정형 패턴만을 가지며, 어노말리 데이터가 없는 이미지일 수 있다. 비정상 상황 이미지(52A)는 어노말리 판단 대상이 되는 이미지로서 어노말리 데이터를 포함하는 이미지일 수 있다. (도 8에서 멧돼지의 등장은 어노말리 데이터의 일 예시이다.) 비정상 상황 이미지(52A)는 학습 후 뉴럴 네트워크의 제2 이미지(52)에 대응될 수 있다. 라벨링 이미지(52L)는 비정상 상황 이미지(52A)에서 어노말리가 존재하는 부분을 라벨링한 이미지이다. 도 8은 하나의 예시로서, 멧돼지가 나타나는 사진을 도시하나, 학습 데이터 세트(600)가 이에 제한되지 않음은 물론이다. In an embodiment, the
일 실시예에서 샴 네트워크(400)는 정상 상황 이미지(51N), 비정상 상황 이미지(52A) 및 라벨링 이미지(52L)로 학습하여, 입력 데이터에 어노말리 데이터가 포함되는지 여부를 판단하도록 학습될 수 있다. 즉, 샴 네트워크(400)에 정상 상황 이미지(51N), 비정상 상황 이미지(52A) 및 라벨링 이미지(52L)가 입력되고, 샴 네트워크(400)는 비정상 상황 이미지(52A)에서 어노말리 데이터가 존재하는 지 여부에 대한 출력을 수행할 수 있다. 프로세서(310)는 샴 네트워크(400)의 출력과 라벨링된 어노말리 이미지를 포함하는 라벨링 이미지(52L)를 비교하여 오차를 구하고, 오차를 역전파하여 샴 네트워크(400)가 비정상 상황 이미지(52A)에서 어노말리 데이터가 존재하는 지 여부를 판단할 수 있도록 학습시킬 수 있다. 즉, 프로세서(310)는 어노말리 데이터가 라벨링된 라벨링 이미지(52L)를 이용하여 어노말리 데이터의 존재 여부에 관해 판단하도록 샴 네트워크(400)를 학습시킬 수 있다. In one embodiment, the
다른 실시예에서 샴 네트워크(400)는 정상 상황 이미지(51N) 및 라벨링 이미지(52L)로 학습하여, 입력 데이터에 어노말리 데이터가 포함되는지 여부를 판단하도록 학습될 수 있다.In another embodiment, the
또 다른 실시예에서 샴 네트워크(400)는 정상 상황 이미지(51N) 및 비정상 상황 이미지(52A)로 학습하여 입력 데이터에 어노말리 데이터가 포함되는지 여부를 판단하도록 학습될 수 있다. 정상 상황 이미지(51N) 및 비정상 상황 이미지(52A)가 샴 네트워크(400)에 입력되고, 샴 네트워크(400)는 비정상 상황 이미지(52A)에서 어노말리 데이터의 위치 정보 관련 데이터를 출력할 수 있다. 즉, 어노말리 데이터가 라벨링 되지 않은 학습 데이터를 이용하여 샴 네트워크(400)를 학습시킬 수도 있다. In another embodiment, the
일 실시예에서 프로세서(310)는 샴 네트워크(400)의 출력을 기초로 비정상 상황을 판단할 수 있다. In an embodiment, the
프로세서(310)는 샴 네트워크(400)가 비정상 상황을 출력할 경우, 메모리(330)에 기 저장된 피쳐 카테고리와 샴 네트워크(400)의 출력을 비교할 수 있다. 메모리(330)에 기 저장된 피쳐 카테고리는 사용자에 의해 입력되거나, 샴 네트워크(400)에 의해 판단되어 저장되거나, 다른 컴퓨팅 장치나 서버로부터 입력되어 저장된 데이터일 수 있다. 즉, 메모리(330)는 딥 뉴럴 네트워크에 의해 추출된 피쳐들을 분류(Categorize)하여 각각의 피쳐 카테고리에 저장할 수 있다. 여기서 추출된 피쳐는 앞서 설명한 바와 마찬가지로 다른 컴퓨팅 장치나 서버로부터 입력되어 저장될 수도 있다. When the
일 실시예에서 샴 네트워크(400)가 출력한 비정상 상황이 저장된 피쳐 카테고리와 유사하지 않은 경우, 프로세서(310)는 신규 카테고리를 생성하여 저장할 수 있다. In an embodiment, when the abnormal situation output from the
프로세서(310)는 샴 네트워크(400)가 출력한 비정상 상황과 저장된 피쳐 카테고리의 유사도를 비교하기 위해 딥 뉴럴 네트워크를 활용할 수 있다. 즉, 앞서 설명한 바와 실질적으로 동일한 방식으로, 저장된 피쳐 카테고리와 샴 네트워크(400)의 출력을 비교하여 유사도 판단을 수행할 수 있다. The
이와 같이 프로세서(310)가 기존의 피쳐 카테고리에 더하여 신규 카테고리를 축적하는 경우, 자율 주행 상황에서 다양한 변화에 즉각적이고 효율적으로 대처할 수 있게 된다. 즉, 전체적으로 자율 주행 성능이 향상될 수 있다. In this way, when the
도 7은 샴 네트워크(400)의 학습 방식을 예시하고 있지만 이에 제한되지 않는다. 즉, 도 5a에 도시된 바와 같은 일반적인 딥 뉴럴 네트워크(DNN)의 학습의 경우에도 앞의 설명은 그대로 적용될 수 있다. 7 illustrates a learning method of the
또한, 앞서 설명한 바와 같이 제1 서브 네트워크(410)와 제2 서브 네트워크(420)는 서로 다른 컴퓨팅 장치에서 수행되는 별개의 네트워크이거나, 하나의 컴퓨팅 장치에서 수행되지만 기능적으로 분리된 구성일 수 있다. 또한, 다른 실시예에서 제1 서브 네트워크(410)와 제2 서브 네트워크(420)는 하나의 딥 뉴럴 네트워크(DNN)를 구성할 수도 있다. In addition, as described above, the
일 실시예에서 자율 주행 장치는 아래와 같은 방식으로 운용될 수 있다. In an embodiment, the autonomous driving device may be operated in the following manner.
일 실시예에서 본 발명의 몇몇 실시예에 따른 딥 뉴럴 네트워크는 다양한 형태의 교통사고 이미지를 통해 학습될 수 있다. 이 경우, 자율 주행 장치는 학습된 교통 사고 이미지와 현재 카메라부(200)에서 제공되는 이미지와의 유사도 판단을 할 수 있다. 그 판단의 결과 자율 주행 장치는 현재 카메라부(200)에서 제공되는 상황이 사고 상황인지 여부를 판단할 수 있다. In one embodiment, the deep neural network according to some embodiments of the present invention may be learned through various types of traffic accident images. In this case, the autonomous driving apparatus may determine a similarity between the learned traffic accident image and the image currently provided by the
프로세서(310)가 카메라부(200)에서 제공되는 이미지를 기초로 사고 상황이라고 판단하는 경우, 프로세서(310)는 네트워크 모듈(320)을 이용해 사고 상황을 외부 서버에 제공할 수 있다. 일 실시예에서 외부 서버는 경찰서, 소방서 등의 관공서 서버일 수 있다. 이를 통해 외부 서버는 실시간으로 특정 지역의 이상 상황 발생 여부를 즉각적으로 확인할 수 있다. When the
또한 외부 서버는 교통 정보를 취합하는 서버일 수 있다. 즉, 위와 같은 과정을 통해 얻어진 이상 상황을 실시간 교통 정보에 반영하고 이를 다른 운행 차량에 전달함으로써 원할한 교통 흐름을 유지할 수 있다. Also, the external server may be a server that collects traffic information. That is, the abnormal situation obtained through the above process is reflected in real-time traffic information and transmitted to other vehicles, thereby maintaining a smooth traffic flow.
일 실시예에서 자율 주행 장치는 앞서 설명한 위치 정보-이미지 정보의 결합 정보를 활용할 수 있다. In an embodiment, the autonomous driving device may utilize the combination information of the location information-image information described above.
일 실시예에서 카메라부(200)에서 제공된 이미지 정보와 위치 측정부(550)에 측정된 위치 정보는 프로세서(310)에 의해 결합될 수 있다. 즉, 프로세서(310) 위치 정보-이미지 정보의 결합 정보를 생성할 수 있다. In an embodiment, the image information provided by the
일 실시예에서 프로세서(310)는 메모리(330)에 저장된 피쳐와 딥 뉴럴 네트워크(DNN)에서 추출된 피쳐를 비교할 수 있다. 이에 더하여, 프로세서(310)가 결합 정보를 활용하는 경우, 위치 정보가 동일한 다른 시점의 피쳐들을 비교할 수 있다. In an embodiment, the
즉, 프로세서(310)는 동일한 제1 위치에서 어노말리 데이터가 없는 A 시점의 영상을 기초로 B 시점의 영상의 어노말리 데이터 존재 여부를 판단할 수 있다. 이에 따라 특정 지역에서의 비정상 상황이 발생하면, 프로세서(310)는 이를 메모리(330)에 저장된 피쳐 카테고리에서 검색하여 유사도 판단을 수행할 수 있다. 기 저장된 피쳐 카테고리에 새로 발견된 비정상 상황이 존재하지 않는 경우, 프로세서(310)는 이를 메모리(330)에 저장하여 신규 카테고리를 생성할 수 있다. That is, the
이에 더하여 프로세서(310)는 비정상 상황의 결과값이 출력되면, 네트워크 모듈(320)을 이용해 외부 서버에 제공할 수 있다. 일 실시예에서 외부 서버는 경찰서, 소방서 등의 관공서 서버일 수 있다. 이를 통해 외부 서버는 실시간으로 특정 지역의 이상 상황 발생 여부를 즉각적으로 확인할 수 있다. In addition, when the result value of the abnormal situation is output, the
또한 외부 서버는 교통 정보를 취합하는 서버일 수 있다. 즉, 위와 같은 과정을 통해 얻어진 이상 상황을 실시간 교통 정보에 반영하고 이를 다른 운행 차량에 전달함으로써 원할한 교통 흐름을 유지할 수 있다. Also, the external server may be a server that collects traffic information. That is, the abnormal situation obtained through the above process is reflected in real-time traffic information and transmitted to other vehicles, thereby maintaining a smooth traffic flow.
앞서 설명한 바와 같이 프로세서(310)는 비정상 상황을 판단함에 더하여 비정상 상황의 위험 수준을 정할 수 있다. 예컨대, 프로세서(310)는 비정상 상황의 위험 수준을 수치화하여 표현할 수 있다. As described above, the
일 실시예에서 위험 수준의 판단은 영상에서 등장한 오브젝트 또는 어노말리 데이터를 분석함으로써 수행될 수 있다. In an embodiment, the determination of the level of risk may be performed by analyzing an object or anomaly data appearing in an image.
구체적으로, 프로세서(310)는 오브젝트 또는 어노말리 데이터의 상대 속도, 충돌까지의 예상시간 또는 오브젝트와 충돌 시 예상되는 충격량 등을 고려하여 위험 수준을 결정할 수 있다. Specifically, the
프로세서(310)가 오브젝트 또는 어노말리 데이터의 상대 속도, 충돌까지의 예상시간 또는 오브젝트와 충돌 시 예상되는 충격량는 프로세서(310)가 포함하는 적어도 하나의 뉴럴 네트워크에 의해 도출될 수 있다. The relative speed of the object or anomaly data by the
즉, 프로세서(310)는 기존의 교통 사고 유형, 오브젝트와 충돌 시 발생한 피해 상황(상대속도 등이 고려될 수 있다)을 통해 학습된 딥 뉴럴 네트워크를 이용해 위험 수준을 결정할 수 있다. That is, the
일 실시예에서 위험 수준은 수치화될 수 있다. 예컨대, 1~10 또는 1~100 으로 위험 수준을 수치화하여 메모리(330)에 저장될 수 있다. In one embodiment, the level of risk can be quantified. For example, a risk level of 1 to 10 or 1 to 100 may be quantified and stored in the
다른 실시예에서 위험 수준은 복수의 단계로 정의될 수 있다. 예컨대, 1~n 단계까지 위험 수준을 정량화하여 메모리(330)에 저장할 수 있다. In other embodiments, the level of risk may be defined in multiple stages. For example, the risk level from steps 1 to n may be quantified and stored in the
이미지 분석부(300)에서 출력된 결과값은 자율주행제어부(500)로 제공될 수 있다. The result value output from the
도 9는 본 발명의 일 실시예에 따른 자율 주행 장치의 부분 블록도이다.9 is a partial block diagram of an autonomous driving device according to an embodiment of the present invention.
도 9를 참조하면, 자율주행제어부(500)는 제어 프로세서(510)를 포함할 수 있다. 제어 프로세서(510)는 하나 이상의 코어로 구성될 수 있으며, 컴퓨팅 장치의 중앙 처리 장치(CPU, Central Processing Unit), 범용 그래픽 처리 장치(GPGPU: General Purpose Graphics Processing Unit), 텐서 처리 장치(TPU: Tensor Processing Unit) 등의 데이터 분석, 딥러닝을 위한 프로세서를 포함할 수 있다. 제어 프로세서(510)는 신경망의 학습을 위한 계산을 수행할 수 있다. 제어 프로세서(510)는 딥러닝(Deep Learning)에서 학습을 위한 입력 데이터의 처리, 입력 데이터에서의 피쳐(feature) 추출, 오차 계산, 역전파(backpropagation)를 이용한 신경망의 가중치 업데이트 등 신경망 학습을 위한 게산을 수행할 수 있다. Referring to FIG. 9, the autonomous
제어 프로세서(510)는 이미지 분석부(300)에서 출력된 결과값을 기초로 자율 주행 차량(100)을 제어할 수 있다. 일 실시예에서 자율 주행 차량(100)은 각종 차량 구동 장치를 전기적으로 제어하는 구동 제어 장치(700)를 포함할 수 있다. 구동 제어 장치(700)는 자율주행제어부(500)에서 입력을 제공받아 자율 주행 차량(100)을 구동할 수 있다. The
구동 제어 장치(700)는 예컨대, 파워 트레인(810), 브레이크 장치(820), 및 스티어링 장치(830)를 포함할 수 있다. 이에 더하여, 구동 제어 장치(700)는 도어/윈도우 구동 제어 장치(도시하지 않음), 안전 장치 구동 제어 장치(도시하지 않음), 램프 구동 제어 장치(도시하지 않음) 및 공조 구동 제어 장치(도시하지 않음)를 더 포함할 수 있다. The
파워 트레인(810)은 동력원 구동 제어 장치 및 변속기 구동 제어 장치를 포함할 수 있다. The
일 실시예에서 구동 제어 장치(700)는 적어도 하나의 ECU(Electronic Control Unit)을 포함할 수 있다. In an embodiment, the driving
구동 제어 장치는 후술하는 자율주행제어부(500)에 의해 구동될 수 있다. 구체적으로, 자율주행제어부(500)는 자율 주행을 위한 패스를 설정할 수 있다. 즉, 생성된 경로를 따라 주행하기 위한 드라이빙 플랜을 생성할 수 있다. 즉, 자율주행제어부(500)는 드라이빙 플랜에 따라 차량의 움직임을 제어하기 위해 구동 제어 장치(700)에 입력 신호를 제공할 수 있다. The driving control device may be driven by the autonomous
이러한 과정을 통해 자율 주행 차량(100)은 적어도 하나의 ADAS(Advanced Driver Assistance System) 기능을 구현할 수 있다. ADAS는 적응형 크루즈 컨트롤 시스템(ACC: Adaptive Cruise Control), 자동 비상 제동 시스템(AEB:Autonomous Emergency Braking), 전방 충돌 알림 시스템(FCW: Foward Collision Warning), 차선 유지 보조 시스템(LKA : Lane Keeping Assist), 차선 변경 보조 시스템(LCA : Lane Change Assist), 타겟 추종 보조 시스템(TFA : Target Following Assist), 사각 지대 감시 시스템(BSD : Blind Spot Detection), 적응형 하이빔 제어 시스템(HBA : High Beam Assist), 자동 주차 시스템(APS : Auto Parking System), 보행자 충돌 알림 시스템(PDcollision warning system), 교통 신호 검출 시스템(TSR : Traffic Sign Recognition), 교통 신호 보조 시스템(TSA : Trafffic Sign Assist), 나이트 비전 시스템(NV : Night Vision), 운전자 상태 모니터링 시스템(DSM :Driver Status Monitoring) 및 교통 정체 지원 시스템(TJA : Traffic Jam Assist) 중 적어도 어느 하나를 구현할 수 있다.Through this process, the
일 실시예에서 제어 프로세서(510)는 이미지 분석부(300)에서 정상 상황을 출력하는 경우, 통상적인 매뉴얼에 따른 자율 주행 프로세스를 실행할 수 있다. In an embodiment, when the
일 실시예에서 이미지 분석부(300)가 비정상 상황을 출력하는 경우, 제어 프로세서(510)는 정해진 위험 수준에 따른 자율 주행 프로세스를 실행할 수 있다. In an embodiment, when the
일 실시예에서 제어 프로세서(510)는 앞서 말한 위험 수준에 따라 자율 주행 차량(100)을 제어할 수 있다. In an embodiment, the
예컨대, 제어 프로세서(510)는 위험 수준에 따라 조향 장치 및/또는 브레이크 장치를 제어할 수 있다. For example, the
낮은 수준의 위험상황에서 제어 프로세서(510)는 감속, 완만한 조향 조절 등의 제어 신호를 구동 제어 장치(700)에 제공하고, 구동 제어 장치(700)는 이를 기초로 스티어링 장치(830) 및/또는 브레이크 장치(820)를 구동하여 감속하거나 차의 방향을 조정하여 위험을 회피할 수 있다. In a low-level danger situation, the
높은 수준의 위험 상황에서 제어 프로세서(510)는 급제동 및/또는 긴급한 조향 조절 등의 제어 신호를 구동 제어 장치(700)에 제공하고, 구동 제어 장치(700)는 이를 기초로 스티어링 장치(830) 및/또는 브레이크 장치(820)를 구동하여 감속하거나 차의 방향을 조정하여 위험을 회피할 수 있다.In a high-risk situation, the
이하에서는 본 발명의 일 실시예에 따른 자율 주행 장치 운용 방법에 대해 설명하기로 한다. Hereinafter, a method of operating an autonomous driving device according to an embodiment of the present invention will be described.
도 10은 본 발명의 일 실시예에 다른 자율 주행 장치 운용 방법을 나타내는 블록도이다. 10 is a block diagram showing a method of operating an autonomous driving device according to an embodiment of the present invention.
도 10을 참조하면, 본 발명의 일 실시예에 따른 자율 주행 장치 운용 방법은 이미지 데이터를 취득하는 단계(S100), 이미지 데이터를 처리하는 단계(S200) 및 처리된 이미지 데이터를 기초로 자율 주행 장치를 제어하는 단계(S300)을 포함할 수 있다. Referring to FIG. 10, a method of operating an autonomous driving device according to an embodiment of the present invention includes a step of acquiring image data (S100), a step of processing image data (S200), and an autonomous driving device based on the processed image data. It may include a step of controlling (S300).
일 실시예에 따른 자율 주행 장치 운용 방법은 앞서 설명한 본 발명의 일 실시예에 따른 자율 주행 장치에 의해 수행될 수 있다. The method of operating an autonomous driving device according to an exemplary embodiment may be performed by the autonomous driving device according to an exemplary embodiment of the present invention described above.
먼저, 이미지 데이터를 취득하는 단계(S100)가 진행될 수 있다. 이미지 데이터의 취득은 카메라부(200)에 의할 수 있다. 카메라부(200)는 제1 시점(t-1)의 제1 이미지(51)와 제2 시점(t0)의 제2 이미지(52)를 획득할 수 있다. First, an operation S100 of acquiring image data may be performed. Acquisition of image data may be performed by the
앞서 설명한 바와 같이 제1 이미지(51)는 직전의 이미지이며, 제2 이미지(52)는 현재 시점의 이미지일 수 있다. 자율 주행 차량(100)이 계속적으로 운행됨에 따라 제1 이미지(51)와 제2 이미지(52)는 연속적 또는 순차적으로 갱신될 수 있다. As described above, the
이어서, 이미지 데이터를 처리하는 단계(S200)가 진행될 수 있다. 이미지 데이터의 처리는 앞서 설명한 이미지 분석부(300)에 의해 수행될 수 있다. 즉, 적어도 하나 이상의 뉴럴 네트워크를 포함하는 프로세서(310)가 제1 이미지(51)와 제2 이미지(52)를 비교하고, 제2 이미지(52)에서 어노말리 데이터를 추출하여 비정상 상황을 출력할 수 있다. 또한, 이미지 데이터를 처리하는 단계(S200)는 앞서 이미지 분석부(300)가 수행하는 데이터 처리와 실질적으로 동일할 수 있다. Subsequently, an operation S200 of processing the image data may be performed. The processing of image data may be performed by the
일 실시예에서 이미지 데이터를 처리하는 단계(S200)는 획득된 이미지 정보에서 피쳐를 추출하여 메모리(330)에 저장된 피쳐와 비교하는 단계를 더 포함할 수 있다. In an embodiment, the processing of image data (S200) may further include extracting a feature from the acquired image information and comparing it with the feature stored in the
이 단계에서 프로세서(310)는 획득된 이미지와 메모리(330)에 저장된 피쳐의 유사도를 판단하여 정상 상황 또는 비정상 상황 여부를 판단할 수 있다. In this step, the
또한, 획득된 이미지가 메모리(330)에 저장된 기존 피쳐에는 없는 새로운 정보인 경우, 프로세서(310)가 메모리(330)에 신규 카테고리를 생성하여 저장하는 단계가 진행될 수 있다. In addition, when the acquired image is new information that is not in the existing feature stored in the
이미지 데이터를 처리하는 단계(S200)는 카메라부(200)에서 획득한 이미지 정보와 위치 측정부(550)에서 획득한 위치 정보를 결합하는 단계를 더 포함할 수 있다. 즉, 프로세서(310)는 이미지 정보-위치 정보의 결합 정보를 기초로 동일 위치의 서로 다른 두 시점의 이미지를 유사 판단할 수 있다. The processing of the image data (S200) may further include combining the image information obtained by the
서로 다른 두 시점의 이미지는 앞서 설명한 바와 같이 순차적으로 획득된 제1 이미지(51) 및 제2 이미지(52)이거나, 새로 획득된 이미지와 메모리(330)에 기 저장된 이미지일 수 있다. The images of two different viewpoints may be the
또한, 일 실시예에서 이미지 데이터를 처리하는 단계(S200)는 판단의 결과값을 외부 서버에 제공하는 단계를 더 포함할 수 있다. In addition, in an exemplary embodiment, the processing of image data (S200) may further include providing a result of the determination to an external server.
프로세서(310)가 카메라부(200)에서 제공되는 이미지를 기초로 사고 상황이라고 판단하는 경우, 프로세서(310)는 네트워크 모듈(320)을 이용해 사고 상황을 외부 서버에 제공할 수 있다. 일 실시예에서 외부 서버는 경찰서, 소방서 등의 관공서 서버일 수 있다. 이를 통해 외부 서버는 실시간으로 특정 지역의 이상 상황 발생 여부를 즉각적으로 확인할 수 있다. When the
또한 외부 서버는 교통 정보를 취합하는 서버일 수 있다. 즉, 위와 같은 과정을 통해 얻어진 이상 상황을 실시간 교통 정보에 반영하고 이를 다른 운행 차량에 전달함으로써 원할한 교통 흐름을 유지할 수 있다. Also, the external server may be a server that collects traffic information. That is, the abnormal situation obtained through the above process is reflected in real-time traffic information and transmitted to other vehicles, thereby maintaining a smooth traffic flow.
이어서, 처리된 이미지 데이터를 기초로 자율 주행 차량을 제어하는 단계(S300)가 진행될 수 있다. 앞서 설명한 바와 같이 이미지 분석부(300)에서 출력된 결과는 자율 주행 제어부(500)에 제공될 수 있다. 출력된 결과값을 기초로 자율 주행 제어부(500)는 자율 주행 차량(100)을 제어할 수 있다. 자율 주행 제어부(500)가 자율 주행 차량을 제어하는 방식은 앞서 본 발명의 몇몇 실시예에서 설명한 것과 실질적으로 동일할 수 있다. 따라서, 이에 대한 자세한 설명은 생략하기로 한다. Subsequently, an operation S300 of controlling the autonomous vehicle based on the processed image data may be performed. As described above, the result output from the
이러한 자율 주행 제어부(500)와 연계되어 본 발명의 몇몇 실시예에 따른 이상 상황에서 자율 주행 장치의 운용 방법은 다음과 같이 변형 실시될 수 있다. In connection with the autonomous
일 실시예에서 자율 주행 제어부(500)는 비정상 상황에서 자기 차량의 안전을 위한 행동뿐만 아니라, 도로 전체의 안전 또는 다른 차량의 안전을 위한 행동을 수행할 수 있다. 예컨대, 도로 위에 사람이 쓰러지거나 동물이 지나가는 상황 등에서 자율 주행 제어부(550)는 해당 지점 앞에 차량을 정지시키거나, 비상등을 켜 다른 차량이 위험 상황에 빠지는 것을 방지하거나, 위험 상황을 미리 알려 대비하도록 할 수 있다. 여러 종류의 비정상 상황에 대한 인지는 학습된 딥 뉴럴 네트워크(DNN) 또는 샴 네트워크(400)에 의해 정해질 수 있다. 즉, 여러 종류의 비정상 상황과 이에 대응한 적절한 행동을 지정하여 상황에 맞게 자율주행차를 운용할 수 있다. 학습된 딥 뉴럴 네트워크(DNN) 또는 샴 네트워크(400)는 비정상 상황에 대응하여 적절한 행동을 수행하도록 자율 주행 제어부(500)에 명령을 제공할 수 있다. In an embodiment, the
일 실시예에서 자율 주행 제어부(500)는 비정상 상황 앞에서 차량을 정지시켜 상황 해제 시까지 대기할 수 있다. 이를 통해 다른 차량들이 비정상 상황으로 인해 위험에 처하게 되는 것을 방지할 수 있다. In an embodiment, the
또한, 앞서 설명한 바와 같이 프로세서(310)가 비정상 상황을 판단한 경우, 외부 서버(예컨대, 경찰서나 소방서)에 비정상 상황을 보고할 수 있다. 또한, 차량이 비정상 상황 인근에서 정차하는 경우, 프로세서(310)는 비정상 상황을 실시간으로 외부 서버에 보고할 수 있다. In addition, as described above, when the
비정상 상황이 해지되면, 프로세서(310)는 자율 주행 제어부(500)에 통상의 주행을 실시하도록 제어 신호를 제공할 수 있다. When the abnormal situation is terminated, the
일 실시예에서 앞서 말한 방식으로 학습된 딥 뉴럴 네트워크(DNN) 또는 샴 네트워크(400)는 자율 주행 제어부(500)가 주도하는 차량의 제어와 연계되어 유사도 판단을 수행할 수 있다. In one embodiment, the deep neural network (DNN) or the
딥 뉴럴 네트워크(DNN) 또는 샴 네트워크(400)는 자율 주행 제어부(500)가 주도하는 차량의 행동(출발, 정지, 차선 변경, 우회전, 좌회전, 깜박이, 비상등 점등 등)과 해당 행동 이후 일정 시점 동안의 상황을 학습할 수 있다. 즉, 차량의 행동 이후 일정 시점 동안 정상 상황에 대한 이미지 정보를 수집하고, 이를 기초로 정상 상황을 학습할 수 있다. The deep neural network (DNN) or the
이렇게 학습된 정상 상황에 대한 정의는 비정상 상황을 판단하는 기초가 될 수 있다. The definition of the normal situation learned in this way can be the basis for judging the abnormal situation.
즉 차량의 특정 행동 이후인 제1 시점에 획득된 제1 이미지 정보를 기초로 정상 상황을 학습할 수 있다. That is, a normal situation may be learned based on the first image information acquired at a first time point after a specific action of the vehicle.
또한, 딥 뉴럴 네트워크(DNN) 또는 샴 네트워크(400) 학습된 제1 이미지 정보 즉, 정상 상황 정보를 현재 시점인 제2 시점에서 획득된 이미지 정보와 비교할 수 있다. 제1 시점의 제1 이미지 정보는 제2 시점 이후 시점에서 예상되는 상황일 수 있다. 딥 뉴럴 네트워크(DNN) 또는 샴 네트워크(400)는 제2 시점의 제2 이미지 정보와 학습에 의해 예상하는 제1 시점의 제1 이미지 정보에 대한 유사도 판단을 할 수 있다. 유사도 판단의 결과 제2 이미지 정보에 어노말리 데이터가 있다고 판단되는 경우, 자율 주행 제어부(500)는 비정상 상황에 대응하여 차량을 제어할 수 있다. In addition, the deep neural network (DNN) or the
예컨대, 자율 주행 제어부(500)가 차량을 정지 상태에서 출발시키는 경우, 학습된 딥 뉴럴 네트워크(DNN) 또는 샴 네트워크(400)는 일반적인 정지-출발 상황에서 통상적으로 발생하는 상황을 예측할 수 있다. 이러한 예측은 특정 행동(여기서는 출발) 이후에 획득된 제1 이미지 정보에 기초한 예측일 수 있다. (이러한 제1 이미지는 미리 학습되거나 입력될 수 있다.For example, when the
딥 뉴럴 네트워크(DNN) 또는 샴 네트워크(400)는 현재 시점인 제2 시점에 획득되는 제2 이미지 정보에 어노말리 데이터가 있다고 판단되는 경우, 자율 주행 제어부(550)는 어노말리 데이터의 종류에 따라(앞서 설명한 바와 같이 어노말리 데이터와 이에 따른 자율 주행 제어부(550)의 대응은 학습되어 있는 것을 전제로) 차량을 제어할 수 있다. 즉, 급 정거, 회피 등의 행동을 취할 수 있다. When it is determined that the deep neural network (DNN) or the
앞서 설명한 바와 같이 자율 주행 차량(100)은 운전자가 탑승하고, 자율 주행 시스템을 온/오프할 수 있는 형태를 포함할 수 있다. As described above, the
일 실시예에서 자율 주행 시스템을 오프한 경우, 제1 모드와 제2 모드 중 선택된 어느 하나의 모드가 수행될 수 있다. 즉, 몇몇 실시예에 따른 자율 주행 장치는 자율 주행 시스템이 오프된 상태에서 제1 모드와 제2 모드 중 선택된 어느 하나로 모드 전환을 수행할 수 있다. In an embodiment, when the autonomous driving system is turned off, any one of the first mode and the second mode may be performed. That is, the autonomous driving apparatus according to some embodiments may perform mode switching to one of the first mode and the second mode when the autonomous driving system is turned off.
제1 모드는 운전자가 자율 주행 시스템을 오프하고, 차량을 직접 운전하되, 프로세서(310)에서 별도의 학습과 판단이 행해지지 않는 모드일 수 있다. The first mode may be a mode in which the driver turns off the autonomous driving system and drives the vehicle directly, but separate learning and determination are not performed by the
제2 모드는 운전자가 자율 주행 시스템을 오프하고, 차량을 직접 운전하되, 프로세서(310)에서 학습과 판단 등이 이루어지는 모드일 수 있다. 즉, 제 2 모드는 자율주행시스템이 차량을 제어하지는 않지만, 프로세서(310)에서 행해지는 학습과 판단 등이 앞서 설명한 본 발명의 몇몇 실시예와 같이 이루어지는 모드를 의미할 수 있다. The second mode may be a mode in which the driver turns off the autonomous driving system and drives the vehicle directly, but the
이를 통해 프로세서(310)는 운전자가 직접 운전하는 경우에도 필요한 정보를 획득할 수 있다. 정보의 획득 방식은 앞서 설명한 방식과 동일할 수 있다. Through this, the
또한, 프로세서(310)는 제2 모드에서 자율 주행 제어부(550)에 제공하는 제어 방식을 시뮬레이션하고, 그 결과를 운전자의 운전 방식과 비교할 수 있다. In addition, the
예컨대, 특정 상황에서 프로세서(310)는 특정 행동을 수행하도록 자율 주행 제어부(550)에 제어 신호를 제공할 수 있다. 그러나 자율 주행 시스템이 오프된 상태에서는 제어 신호가 직접 제어로 이어지지는 않는다. 다만, 이 경우에도 프로세서(310)는 특정 상황에서 예정된 특정 행동과 특정 상황에서 운전자의 행동이 다른 경우, 이를 학습의 자료로 활용할 수 있다. 예컨대, 자율 주행 시스템 온 상태를 가정했을 때, 특정 상황에서 직진이 예상되는데 운전자가 정지 행동을 한 경우, 프로세서(310)는 해당 상황을 저장하여 이를 학습의 자료로 이용할 수 있다. 즉, 이를 신규 카테고리로 생성하여 메모리부(330)에 저장할 수 있다. For example, in a specific situation, the
즉, 프로세서(310)가 예정하는 차량의 행동과 운전자의 행동이 다른 경우, 프로세서(310)는 이를 기초로 학습하고, 운전자의 행동이 다른 경우의 적어도 일부를 비정상 상황으로 판단할 수 있다. That is, when the behavior of the vehicle and the behavior of the driver that the
본 명세서에서 '~부(部)' 또는 '~모듈' 이란 하드웨어에 의해 실현되는 유닛, 소프트웨어에 실현되는 유닛 또는 부분적으로 하드웨어에 의해 실현되고, 부분적으로 소프트웨어에 의해 실현되는 유닛을 모두 포함하는 개념으로 이해될 수 있다. In this specification, the term'~ sub' or'~ module' is a concept including all units realized by hardware, units realized by software, or units partially realized by hardware and partially realized by software. Can be understood as
또한, 1개의 유닛이 2개 이상의 하드웨어 및/또는 소프트웨어에 의해 실현될 수도 있고, 2개 이상의 유닛이 1개의 하드웨어 및/또는 소프트웨어에 의해 실현될 수도 있다. Further, one unit may be realized by two or more hardware and/or software, and two or more units may be realized by one hardware and/or software.
또한, '~부(部)' 또는 '~모듈' 은 하드웨어나 소프트웨어에 한정되는 의미는 아니며, '~부(部)' 또는 '~모듈' 은 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될수도 있다. 따라서, 일 예로 '~부(部)' 또는 '~모듈' 은 소프트웨어 구성요소, 객체 지향 소프트웨어 구성요소, 클래스 구성요소 및 태스크 구성요소들과 같은 구성요소와 프로세스, 함수, 속성, 프로시저, 서브루틴, 프로그램 코드의 세그먼트, 드라이버, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조, 테이블, 어레이 및 변수들을 포함하는 것으로 이해될 수 있다. In addition,'~ part' or'~ module' is not meant to be limited to hardware or software, and'~ part' or'~ module' may be configured to be in an addressable storage medium. , It may be configured to regenerate one or more processors. Thus, for example,'~ sub' or'~ module' refers to components and processes such as software components, object-oriented software components, class components, and task components, functions, properties, procedures, and subs. It can be understood to include routines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.
또한, 구성요소들과 '~부(部)' 또는 '~모듈' 들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부(部)' 또는 '~모듈' 들로 결합되거나, 분리될 수 있다. 이에 더하여, 구성요소 및 '~부(部)' 또는 '~모듈' 은 디바이스의 하나 이상의 프로세서(CPU, GPU 등을 포함한다.)를 재생시키도록 구현될 수도 있다. In addition, the components and functions provided in the'~ parts' or'~ modules' are combined or separated into a smaller number of elements and'~ parts' or'~ modules'. Can be. In addition, components and'~ unit' or'~ module' may be implemented to reproduce one or more processors (including CPU, GPU, etc.) of the device.
이상에서 본 발명의 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 본 발명의 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.The embodiments of the present invention have been described above, but these are only examples and do not limit the present invention, and those of ordinary skill in the field to which the present invention pertains should not depart from the essential characteristics of the embodiments of the present invention. It will be appreciated that various modifications and applications not illustrated above are possible. For example, each component specifically shown in the embodiment of the present invention can be modified and implemented. And differences related to these modifications and applications should be construed as being included in the scope of the present invention defined in the appended claims.
자율주행의 운용관점에서 자율주행차량이 이상상황에 마주치게 되는 경우, 제안하는 이상 감지 시스템은 자율주행차는 가장 안전한 방법으로 정지 또는 우회를 시도하며, 해당 도로상황을 관제센터로 전송한다.When an autonomous vehicle encounters an abnormal situation from an autonomous driving perspective, the proposed anomaly detection system attempts to stop or bypass the autonomous vehicle in the safest way, and transmits the road situation to the control center.
자율주행차는 후행하는 차량(일반운전자, 자율주행차 포함)이 동일한 이상 도로 상황에 놓이지 않도록 해당 이상징후가 해결되기 전까지 안전 거리를 유지한 상태로 이상상황 여부를 차량 외부로 적극적으로 알리게 된다. 단, 이상 도로 상황는 경찰서, 소방서 등의 관공서에 보고되고 해당 기관이 현장으로 출동하면 즉각 해결이 가능한 상태를 지칭한다.The autonomous vehicle actively informs the outside of the vehicle of the abnormal situation while maintaining a safe distance until the corresponding abnormal symptom is resolved so that the following vehicles (including general drivers and autonomous vehicles) are not placed on the same abnormal road condition. However, abnormal road conditions are reported to public offices such as police and fire departments, and they refer to conditions that can be resolved immediately if the relevant agency is dispatched to the site.
또한 제안하는 시스템은 현재 입력영상이 정상 범주의 예측값을 벗어나는 경우, 차량 제어 장치의 오류로 판단하거나 시스템 고장을 진단하는 방법으로 적극 활용될 수 있다.In addition, the proposed system can be actively utilized as a method of determining an error of the vehicle control device or diagnosing a system failure when the current input image is out of the predicted value of the normal category.
100: 자율 주행 차량
200: 카메라부
300: 이미지 분석부
500: 자율 주행 제어부
100: autonomous vehicle
200: camera unit
300: image analysis unit
500: autonomous driving control unit
Claims (16)
상기 이미지 정보를 분석하여 결과값을 출력하기 위해 적어도 하나의 딥 뉴럴 네트워크를 포함하는 프로세서 및 상기 결과값을 저장하는 메모리를 포함하는 이미지 분석부; 및
상기 이미지 분석부에서 출력한 상기 결과값을 기초로 제어 신호를 생성하는 자율 주행 제어부를 포함하되, 상기 카메라부는 제1 시점의 제1 이미지 정보와 제2 시점의 제2 이미지 정보를 획득하고,
상기 프로세서는 상기 딥 뉴럴 네트워크를 통해 상기 제1 이미지 정보와 상기 제2 이미지 정보의 유사도를 비교하여 상기 결과값을 출력하고, 상기 결과값을 기초로 정상 상황 및 비정상 상황을 판단하되,
상기 제1 이미지 정보와 상기 제2 이미지 정보의 유사도가 사전 결정된 임계값 이하인 경우, 상기 프로세서는 상기 제1 이미지 정보에 존재하지 않는 어노말리 데이터가 상기 제2 이미지 정보에 존재하는 것으로 확인하며, 이를 상기 비정상 상황으로 판단하는 자율 주행 장치. A camera unit that acquires image information outside the vehicle;
An image analysis unit including a processor including at least one deep neural network to analyze the image information and output a result value, and a memory storing the result value; And
And an autonomous driving control unit that generates a control signal based on the result value output from the image analysis unit, wherein the camera unit acquires first image information of a first view and second image information of a second view,
The processor outputs the result value by comparing the similarity between the first image information and the second image information through the deep neural network, and determines a normal situation and an abnormal situation based on the result value,
When the similarity between the first image information and the second image information is less than or equal to a predetermined threshold, the processor determines that anomaly data that does not exist in the first image information exists in the second image information. An autonomous driving device that determines the abnormal situation.
상기 정상 상황은 하나 이상의 차량이 주행하고 있는 도로 상황을 포함하는 자율 주행 장치.The method of claim 1,
The normal situation is an autonomous driving device including a road situation in which one or more vehicles are driving.
상기 차량의 위치 정보를 측정하는 위치 측정부를 더 포함하고,
상기 프로세서는 상기 카메라부에서 제공한 상기 제1 이미지 정보 및 상기 제2 이미지 정보를 상기 제1 시점에서의 제1 위치 정보 및 상기 제2 시점에서의 제2 위치 정보와 각각 결합하여 상기 메모리에 저장하되,
상기 제1 위치 정보와 상기 제2 위치 정보가 동일한 경우,
상기 프로세서는 상기 제1 이미지 정보와 상기 제2 이미지 정보의 유사도를 비교하여 상기 비정상 상황을 판단하는 자율 주행 장치.The method of claim 1,
Further comprising a location measuring unit for measuring the location information of the vehicle,
The processor combines the first image information and the second image information provided by the camera unit with the first position information at the first viewpoint and the second position information at the second viewpoint, respectively, and stores them in the memory. But,
When the first location information and the second location information are the same,
The processor determines the abnormal situation by comparing a degree of similarity between the first image information and the second image information.
상기 이미지 분석부는 외부 서버와 연결되는 네트워크 모듈을 더 포함하고,
상기 자율 주행 제어부는 상기 비정상 상황이 출력되면, 상기 비정상 상황 앞에서 상기 차량을 정지시켜 대기하고, 상기 비정상 상황을 상기 외부 서버에 제공하는 자율 주행 장치.The method of claim 1,
The image analysis unit further includes a network module connected to an external server,
The autonomous driving control unit, when the abnormal situation is output, stops the vehicle in front of the abnormal situation and waits, and provides the abnormal situation to the external server.
상기 제어 신호를 기초로 상기 차량을 제어하는 구동 제어 장치를 더 포함하고,
상기 자율 주행 제어부는 제1 모드와 제2 모드 중 선택된 어느 하나의 모드로 운영되되,
상기 제1 모드에서 상기 프로세서가 상기 비정상 상황을 판단하면, 상기 구동 제어 장치는 상기 차량을 제어하고,
상기 제2 모드에서 상기 프로세서가 상기 비정상 상황을 판단하면, 상기 구동 제어 장치는 상기 차량을 제어하지 않는 자율 주행 장치.The method of claim 1,
Further comprising a drive control device for controlling the vehicle based on the control signal,
The autonomous driving control unit is operated in any one mode selected from a first mode and a second mode,
When the processor determines the abnormal situation in the first mode, the drive control device controls the vehicle,
When the processor determines the abnormal situation in the second mode, the driving control device does not control the vehicle.
상기 정상 상황은 상기 차량이 직진하는 상황, 우회전하는 상황, 좌회전하는 상황 및 신호에 따라 정차하는 상황을 더 포함하는 것으로 정의되고,
상기 비정상 상황은 사고 상황, 돌발 상황, 도로 파손 상황 및 동물이나 사람이 출몰하는 상황을 포함하는 것으로 정의되는 자율 주행 장치. The method of claim 2,
The normal situation is defined as further including a situation in which the vehicle goes straight, a situation in which it turns right, a situation in which the vehicle is turning left, and a situation in which the vehicle stops according to a signal,
The abnormal situation is an autonomous driving device defined as including an accident situation, an unexpected situation, a road damage situation, and a situation in which animals or people appear.
상기 메모리는 복수의 피쳐 카테고리를 저장하고, 상기 프로세서는 상기 비정상 상황으로 출력된 상기 결과값을 상기 피쳐 카테고리와 비교하되, 상기 피쳐 카테고리에 상기 결과값이 검색되지 않는 경우, 신규 카테고리를 생성하여 상기 메모리에 저장하는 자율 주행 장치.The method of claim 1,
The memory stores a plurality of feature categories, and the processor compares the result value output in the abnormal situation with the feature category. Autonomous driving device that stores in memory.
상기 비정상 상황에서 상기 프로세서는 상기 비정상 상황의 위험 수준을 수치화하여 출력하고, 상기 자율 주행 제어부는 상기 수치화된 출력값을 기초로 상기 제어 신호를 생성하는 자율 주행 장치.The method of claim 1,
In the abnormal situation, the processor digitizes and outputs the risk level of the abnormal situation, and the autonomous driving controller generates the control signal based on the digitized output value.
상기 차량의 위치 정보를 측정하는 위치 측정부를 더 포함하고,
상기 프로세서는 상기 위치 정보와 상기 이미지 정보를 결합한 결합 정보를 생성하되,
상기 프로세서는 상기 위치 정보가 동일한 상기 제1 이미지 정보와 상기 제2 이미지 정보의 유사도를 비교하는 자율 주행 장치.The method of claim 1,
Further comprising a location measuring unit for measuring the location information of the vehicle,
The processor generates combined information by combining the location information and the image information,
The processor compares the similarity between the first image information and the second image information having the same location information.
상기 차량의 위치 정보를 측정하는 위치 측정부;
상기 이미지 정보를 분석하여 결과값을 출력하기 위해 적어도 하나의 딥 뉴럴 네트워크를 포함하는 프로세서 및 상기 결과값을 저장하는 메모리를 포함하는 이미지 분석부; 및
상기 이미지 분석부에서 출력한 상기 결과값을 기초로 제어 신호를 생성하는 자율 주행 제어부를 포함하는 자율 주행 차량의 제어 방법으로서,
상기 이미지 정보를 획득하는 단계, 상기 이미지 정보를 처리하는 단계 및 상기 처리된 이미지 정보를 기초로 자율 주행 장치를 제어하는 단계를 포함하되,
상기 카메라부는 제1 시점의 제1 이미지 정보와 제2 시점의 제2 이미지 정보를 획득하고,
상기 프로세서는 상기 딥 뉴럴 네트워크를 통해 상기 제1 이미지 정보와 상기 제2 이미지 정보의 유사도를 비교하여 상기 결과값을 출력하고 상기 결과값을 기초로 정상 상황 및 비정상 상황을 판단하되,
상기 제1 이미지 정보와 상기 제2 이미지 정보의 유사도가 사전 결정된 임계값 이하인 경우, 상기 프로세서는 상기 제1 이미지 정보에 존재하지 않는 어노말리 데이터가 상기 제2 이미지 정보에 존재하는 것으로 확인하며, 이를 상기 비정상 상황으로 판단하는 자율 주행 장치 운용 방법. A camera unit that acquires image information outside the vehicle;
A position measuring unit that measures position information of the vehicle;
An image analysis unit including a processor including at least one deep neural network to analyze the image information and output a result value, and a memory storing the result value; And
A method for controlling an autonomous vehicle comprising an autonomous driving control unit that generates a control signal based on the result value output from the image analysis unit,
Obtaining the image information, processing the image information, and controlling an autonomous driving device based on the processed image information,
The camera unit acquires first image information of a first view and second image information of a second view,
The processor compares the similarity between the first image information and the second image information through the deep neural network, outputs the result value, and determines a normal situation and an abnormal situation based on the result value,
When the similarity between the first image information and the second image information is less than or equal to a predetermined threshold, the processor determines that anomaly data that does not exist in the first image information exists in the second image information. An autonomous driving device operating method that determines the abnormal situation.
상기 정상 상황은 하나 이상의 차량이 주행하고 있는 도로 상황을 포함하는 자율 주행 장치 운용 방법.The method of claim 12,
The normal situation is a method of operating an autonomous driving device including a road situation on which one or more vehicles are running.
상기 이미지 정보를 처리하는 단계는 상기 프로세서는 상기 카메라부에서 제공한 상기 제1 이미지 정보 및 상기 제2 이미지 정보를 상기 제1 시점에서의 제1 위치 정보 및 상기 제2 시점에서의 제2 위치 정보와 각각 결합하여 상기 메모리에 저장하는 단계를 포함하되,
상기 제1 위치 정보와 상기 제2 위치 정보가 동일한 경우,
상기 프로세서는 상기 제1 이미지 정보와 상기 제2 이미지 정보의 유사도를 비교하여 상기 비정상 상황을 판단하는자율 주행 장치 운용 방법.The method of claim 12,
In the processing of the image information, the processor converts the first image information and the second image information provided from the camera unit into first position information at the first viewpoint and second position information at the second viewpoint. And storing them in the memory by combining them with each other,
When the first location information and the second location information are the same,
The processor is a method of operating an autonomous driving device for determining the abnormal situation by comparing a degree of similarity between the first image information and the second image information.
상기 이미지 분석부는 외부 서버와 연결되는 네트워크 모듈을 더 포함하고,
상기 이미지 정보를 처리하는 단계는 상기 비정상 상황이 출력되면, 상기 비정상 상황 앞에서 상기 차량을 정지시켜 대기하고, 상기 비정상 상황을 상기 외부 서버에 제공하는 단계를 더 포함하는 자율 주행 장치 운용 방법.
The method of claim 12,
The image analysis unit further includes a network module connected to an external server,
The processing of the image information further comprises: when the abnormal situation is output, stopping the vehicle in front of the abnormal situation and waiting, and providing the abnormal situation to the external server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200031994A KR102246706B1 (en) | 2020-03-16 | 2020-03-16 | Autonomous driving device and method for operating autonomous driving device in anomaly situation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200031994A KR102246706B1 (en) | 2020-03-16 | 2020-03-16 | Autonomous driving device and method for operating autonomous driving device in anomaly situation |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102246706B1 true KR102246706B1 (en) | 2021-04-30 |
Family
ID=75740449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200031994A KR102246706B1 (en) | 2020-03-16 | 2020-03-16 | Autonomous driving device and method for operating autonomous driving device in anomaly situation |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102246706B1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102416961B1 (en) * | 2021-11-23 | 2022-07-06 | 에브리포터블 주식회사 | Supplementary battery rental station |
KR102458855B1 (en) * | 2022-04-20 | 2022-10-27 | 주식회사 긴트 | Method and apparatus for predicting potential accidents and controlling actions to avoid potential accidents for agricultural machinery performing autonomous driving and operating a pto |
KR102475332B1 (en) * | 2022-05-12 | 2022-12-08 | 주식회사 유오케이 | Method for collect road information using multiple camera and computer program recorded on record-medium for executing method therefor |
KR102513382B1 (en) * | 2022-02-09 | 2023-03-24 | 포티투닷 주식회사 | Apparatus and method for determining location of pedestrain |
KR102575026B1 (en) * | 2022-10-14 | 2023-09-06 | 주식회사 긴트 | Controls for avoding expected potentional accidients for working apparatus that is connected to agricultural machinery performing autonomous driving |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130030220A (en) * | 2011-09-16 | 2013-03-26 | 하만 인터내셔날 (차이나) 홀딩스 씨오., 엘티디. | Fast obstacle detection |
KR101916347B1 (en) * | 2017-10-13 | 2018-11-08 | 주식회사 수아랩 | Deep learning based image comparison device, method and computer program stored in computer readable medium |
KR20180125858A (en) * | 2017-05-16 | 2018-11-26 | 삼성전자주식회사 | Electronic device and method for controlling operation of vehicle |
KR20190000843A (en) * | 2017-06-23 | 2019-01-03 | 우버 테크놀로지스, 인크. | Collision-avoidance system for autonomous-capable vehicles |
-
2020
- 2020-03-16 KR KR1020200031994A patent/KR102246706B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130030220A (en) * | 2011-09-16 | 2013-03-26 | 하만 인터내셔날 (차이나) 홀딩스 씨오., 엘티디. | Fast obstacle detection |
KR20180125858A (en) * | 2017-05-16 | 2018-11-26 | 삼성전자주식회사 | Electronic device and method for controlling operation of vehicle |
KR20190000843A (en) * | 2017-06-23 | 2019-01-03 | 우버 테크놀로지스, 인크. | Collision-avoidance system for autonomous-capable vehicles |
KR101916347B1 (en) * | 2017-10-13 | 2018-11-08 | 주식회사 수아랩 | Deep learning based image comparison device, method and computer program stored in computer readable medium |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102416961B1 (en) * | 2021-11-23 | 2022-07-06 | 에브리포터블 주식회사 | Supplementary battery rental station |
KR102513382B1 (en) * | 2022-02-09 | 2023-03-24 | 포티투닷 주식회사 | Apparatus and method for determining location of pedestrain |
KR102458855B1 (en) * | 2022-04-20 | 2022-10-27 | 주식회사 긴트 | Method and apparatus for predicting potential accidents and controlling actions to avoid potential accidents for agricultural machinery performing autonomous driving and operating a pto |
KR102475332B1 (en) * | 2022-05-12 | 2022-12-08 | 주식회사 유오케이 | Method for collect road information using multiple camera and computer program recorded on record-medium for executing method therefor |
KR102575026B1 (en) * | 2022-10-14 | 2023-09-06 | 주식회사 긴트 | Controls for avoding expected potentional accidients for working apparatus that is connected to agricultural machinery performing autonomous driving |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102246706B1 (en) | Autonomous driving device and method for operating autonomous driving device in anomaly situation | |
CN113056749B (en) | Future object trajectory prediction for autonomous machine applications | |
US11164016B2 (en) | Object detection and property determination for autonomous vehicles | |
CN112825136B (en) | Deep neural network for detecting obstacles using RADAR sensors in autonomous machine applications | |
EP3759700B1 (en) | Method for determining driving policy | |
KR101963422B1 (en) | Collision-avoidance system for autonomous-capable vehicles | |
US11055544B2 (en) | Electronic device and control method thereof | |
US11577746B2 (en) | Explainability of autonomous vehicle decision making | |
US10558897B2 (en) | Context-based digital signal processing | |
CN111258217B (en) | Real-time object behavior prediction | |
US11886506B2 (en) | System and method for providing object-level driver attention reasoning with a graph convolution network | |
CN113785302A (en) | Intersection attitude detection in autonomous machine applications | |
CN113496290A (en) | Training machine learning models using images augmented with simulated objects | |
US20170278386A1 (en) | Method and apparatus for collecting traffic information from big data of outside image of vehicle | |
CN114550736A (en) | Emergency response vehicle detection for autonomous driving applications | |
KR20210044960A (en) | Apparatus for controlling lane change of autonomous vehicle and method thereof | |
US20220067511A1 (en) | Methods, systems, and apparatuses for user-understandable explainable learning models | |
KR102355431B1 (en) | AI based emergencies detection method and system | |
KR20200095354A (en) | Method and device for warning blind spot cooperatively based on v2v communication with fault tolerance and fluctuation robustness in extreme situation | |
US20230419688A1 (en) | Ambiguous Lane Detection Event Miner | |
US20230415753A1 (en) | On-Vehicle Driving Behavior Modelling | |
CN116142233A (en) | Carrier lamp classification system | |
US11866068B2 (en) | Detecting and responding to malfunctioning traffic signals for autonomous vehicles | |
US20230192141A1 (en) | Machine learning to detect and address door protruding from vehicle | |
US20230068848A1 (en) | Systems and methods for vehicle camera obstruction detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |