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 PDF

Info

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
Application number
KR1020200031994A
Other languages
Korean (ko)
Inventor
정성균
이승재
Original Assignee
포티투닷 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포티투닷 주식회사 filed Critical 포티투닷 주식회사
Priority to KR1020200031994A priority Critical patent/KR102246706B1/en
Application granted granted Critical
Publication of KR102246706B1 publication Critical patent/KR102246706B1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera

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

Provided are an autonomous driving device and method for operating the same. According to one embodiment of the present invention, the autonomous driving device comprises: a camera unit acquiring information on an image on the exterior of a vehicle; a processor including at least one deep neural network to analyze the image information and outputting a result value; and an image analysis unit including a memory unit for storing the result value.

Description

자율 주행 장치 및 이상 도로 상황에서 자율 주행 장치 운용 방법{AUTONOMOUS DRIVING DEVICE AND METHOD FOR OPERATING AUTONOMOUS DRIVING DEVICE IN ANOMALY SITUATION}Autonomous driving device and method of operating autonomous driving device in abnormal road conditions {AUTONOMOUS DRIVING DEVICE AND METHOD FOR OPERATING AUTONOMOUS DRIVING DEVICE IN ANOMALY SITUATION}

본 발명은 자율 주행 장치 및 이상 도로 상황에서 자율 주행 장치의 운용 방법에 대한 것이다. 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 camera unit 200, a position measurement unit 550, an image analysis unit 300, and an autonomous driving control unit 500. .

일 실시예에 따른 자율 주행 장치는 도로나 선로 위를 주행하는 수송 수단을 포함할 수 있다. 예컨대, 자율 주행 장치는 자동차, 기차 및 오토바이를 포함하는 개념으로 이해될 수 있다. 이에 더하여 자율 주행 장치는 동력원으로서 엔진을 구비하는 내연기관 차량, 동력원으로서 엔진과 전기 모터를 포함하는 하이브리드 차량, 동력원으로서 전기 모터를 구비하는 전기 차량을 포함하는 개념으로 이해될 수 있다. 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 autonomous driving vehicle 100. However, this is only an example, and the type of the autonomous driving device is not limited anymore.

일 실시예에서 자율 주행 차량(100)은 운전자 없이 운행되는 무인 자동차일 수 있다. 다른 실시예에서 자율 주행 차량(100)은 운전자가 동승하되, 자율 주행 시스템에 의해 보조되는 유인 자동차일 수 있다. 또 다른 실시예에서 자율 주행 차량(100)은 운전자가 자율 주행 시스템을 온/오프할 수 있다. 자율 주행 시스템을 온 한 경우, 자율 주행 시스템이 운용되며, 오프한 경우 운전자가 직접 운전할 수 있다. In an embodiment, the autonomous vehicle 100 may be an unmanned vehicle that operates without a driver. In another embodiment, the autonomous driving vehicle 100 may be a manned vehicle that is accompanied by a driver but assisted by an autonomous driving system. In another embodiment, in the autonomous driving vehicle 100, a driver may turn on/off an autonomous driving system. When the autonomous driving system is turned on, the autonomous driving system is operated, and when the autonomous driving system is turned off, the driver can drive directly.

일 실시예에서 자율 주행 차량(100)은 스마트 카 구현을 위한 다양한 응용 제어 기술들이 적용된 차량일 수 있다. 예컨대, 자율 주행 차량(100)은 차량간 거리를 유지해 주는 기술, 후측방 경보 시스템, 자동 긴급 제동 시스템, 차선 이탈 경보 시스템, 차선 유지 지원 시스템, 어스밴스드 스마트 크루즈 컨트롤(ASCC), 혼잡 구간 지원 시스템을 포함할 수 있다. In an embodiment, the autonomous vehicle 100 may be a vehicle to which various application control technologies for implementing a smart car are applied. For example, the autonomous vehicle 100 is a technology that maintains the distance between vehicles, a rear side warning system, an automatic emergency braking system, a lane departure warning system, a lane maintenance support system, Advanced Smart Cruise Control (ASCC), and congestion section support. System.

카메라부(200)는 자율 주행 차량(100) 외부의 정보를 획득할 수 있다. 일 실시예에서 카메라부(200)는 이러한 기능을 달성하기 위해 적어도 하나의 카메라를 포함할 수 있다. 카메라는 자율 주행 차량(100)의 외부 또는 주변의 이미지 정보를 획득할 수 있다. 이를 위해 카메라는 적어도 하나의 렌즈, 적어도 하나의 이미지 센서 및 이미지 센서와 전기적으로 연결되어 수신되는 신호를 처리하고, 처리되는 신호에 기초하여 외부의 이미지 정보에 대한 데이터를 생성하는 적어도 하나의 프로세서를 포함할 수 있다. The camera unit 200 may acquire information outside the autonomous vehicle 100. In an embodiment, the camera unit 200 may include at least one camera to achieve this function. The camera may acquire image information outside or around the autonomous vehicle 100. To this end, the camera includes at least one lens, at least one image sensor, and at least one processor that is electrically connected to the image sensor and processes a received signal, and generates data on external image information based on the processed signal. Can include.

카메라부(200)는 도로 상황에 대한 정보를 획득할 수 있다. 도 1에 도시된 바와 같이 도로 상에는 다른 차량(91, 92), 표지판(93) 및 자연 환경(94) 등의 정보가 나열될 수 있다. 카메라부(200)는 자율 주행 장치(100) 차량 외부에 나열된 정보(차량 외부에 존재하는 모든 종류의 이미지 정보를 포함할 수 있다.)들을 카메라 범위(CR) 안에서 획득할 수 있다. The camera unit 200 may obtain information on a road condition. As shown in FIG. 1, information such as other vehicles 91 and 92, signs 93, and natural environment 94 may be listed on the road. The camera unit 200 may acquire information listed outside the vehicle of the autonomous driving apparatus 100 (which may include all types of image information existing outside the vehicle) within the camera range CR.

일 실시예에서 카메라는 모노 카메라, 스테레오 카메라, 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 autonomous vehicle 100 in order to photograph the outside of the vehicle. For example, the camera may be disposed around a front windshield, a front bumper, or a radiator grill of the autonomous vehicle 100 to acquire an image of the front of the vehicle. In addition, the camera may be disposed adjacent to the rear glass, rear bumper, trunk or tail lamp of the vehicle to acquire an image of the rear of the vehicle. In addition, the camera may be disposed adjacent to a side window, a side mirror, a fender, or a side door of the vehicle to acquire an image of the vehicle side.

다른 실시예에서 카메라는 차량 내부에 배치될 수 있다. 예컨대, 일반적인 블랙박스와 같이 룸미러와 인접하게 배치될 수 있다. 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 camera unit 200 may provide image information acquired from outside the vehicle to the image analysis unit 300. Specifically, the camera unit 200 may provide a continuous video or an image acquired at a constant frame rate. In an embodiment, the camera unit 200 may provide a first view point t-1 and a second view point t0 image to the image analysis unit 300. In an embodiment, the second time point t0 is the current time point, and the first time point t-1 may be a time point before the current time point, that is, a time point immediately before the current time point. The point in time immediately before may mean a point in the past that is a certain time before the present point in time. The predetermined time is not limited, and may be in seconds, minutes, or subdivided by seconds.

위치 측정부(550)는 자율 주행 장치의 현재 위치를 측정할 수 있다. 즉, 자율 주행 장치의 위치 정보를 측정하여 제공할 수 있다. The position measuring unit 550 may measure the current position of the autonomous driving device. That is, it is possible to measure and provide location information of the autonomous driving device.

이를 위해 위치 측정부(550)는 위치 측정 수단을 포함할 수 있다. 위치 측정 수단은 예컨대, 적어도 하나의 GPS 위성으로부터 위치 신호를 수신할 수 있는 GPS 모듈, IMU 모듈 및 Barometer 모듈로 이루어진 군에서 선택된 어느 하나 이상을 포함할 수 있다. 다만, 이는 예시적인 것으로, 위치 측정부(550)가 이에 제한되는 것은 아니다. 자율 주행 장치의 위치를 확인할 수 있는 수단이라면, 본 발명의 일 실시예에 따른 위치 측정부(550)로 채택될 수 있다. To this end, the position measuring unit 550 may include a position measuring means. The position measuring means may include, for example, one or more selected from the group consisting of a GPS module, an IMU module, and a Barometer module capable of receiving a position signal from at least one GPS satellite. However, this is exemplary, and the position measuring unit 550 is not limited thereto. If it is a means to check the position of the autonomous driving device, it may be adopted as the position measuring unit 550 according to an embodiment of the present invention.

위치 측정부(550)에서 측정된 위치를 표시하기 위해 본 발명의 일 실시예는 전국의 지리적 정보를 포함하는 지도 데이터를 포함할 수 있다. 또한, 지도 데이터는 전자 지도, 전자 지도를 포함하는 프로그램 또는 네비게이션 형식으로 구현될 수 있다. In order to display the location measured by the location measurement unit 550, an embodiment of the present invention may include map data including geographic information of the country. Also, the map data may be implemented in an electronic map, a program including an electronic map, or a navigation format.

지도 데이터가 프로그램을 포함하는 경우, 그 프로그램은 후술하는 프로세서(310)에 의해 실행될 수 있다. 또한, 지도 데이터 등은 메모리(330)에 저장될 수 있다. When the map data includes a program, the program may be executed by the processor 310 described later. Also, map data and the like may be stored in the memory 330.

이미지 분석부(300)는 제1 시점의 이미지와 제2 시점의 이미지를 비교할 수 있다. 구체적으로, 이미지 분석부(300)는 제1 시점의 이미지와 제2 시점의 이미지의 유사도를 판단하여 자율주행에 필요한 의미있는 변화를 감지할 수 있다. The image analysis unit 300 may compare the image of the first viewpoint and the image of the second viewpoint. Specifically, the image analysis unit 300 may detect a meaningful change required for autonomous driving by determining the similarity between the image of the first viewpoint and the image of the second viewpoint.

이하에서는 도 3을 참조하여, 이미지 분석부(300)에 대해 자세히 설명하기로 한다. Hereinafter, the image analysis unit 300 will be described in detail with reference to FIG. 3.

도 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 image analysis unit 300 may include a processor 310, a network module 320, and a memory 330.

프로세서(310)는 하나 이상의 코어로 구성될 수 있으며, 컴퓨팅 장치의 중앙 처리 장치(CPU, Central Processing Unit), 범용 그래픽 처리 장치(GPGPU, General Purpose Graphics Processing Unit), 텐서 처리 장치(TPU: Tensor Processing Unit) 또는 뉴럴 처리 장치(NPU, Neural Processing Unit)등의 데이터 분석, 딥러닝을 위한 프로세서를 포함할 수 있다. 프로세서(310)는 메모리(330)에 저장된 컴퓨터 프로그램을 판독하여 본 발명의 몇몇 실시예에 따른 자율 주행 장치의 일부 기능을 수행할 수 있다. Processor 310 may be configured with one or more cores, a central processing unit of a computing device (CPU, Central Processing Unit), a general-purpose graphics processing unit (GPGPU, General Purpose Graphics Processing Unit), a tensor processing unit (TPU: Tensor Processing Unit) or a neural processing unit (NPU, Neural Processing Unit) for data analysis and deep learning. The processor 310 may read a computer program stored in the memory 330 to perform some functions of the autonomous driving apparatus according to some embodiments of the present invention.

일 실시예에서 프로세서(310)는 신경망의 학습을 위한 계산을 수행할 수 있다. 프로세서(310)는 딥러닝(Deep Learning)에서 학습을 위한 입력 데이터의 처리, 입력 데이터에서의 피쳐(feature) 추출, 오차 계산, 역전파(backpropagation)를 이용한 신경망의 가중치 업데이트 등 신경망 학습을 위한 게산을 수행할 수 있다. In an embodiment, the processor 310 may perform calculations for learning a neural network. The processor 310 is a calculation for learning a neural network, such as processing input data for learning in Deep Learning, extracting features from the input data, calculating errors, and updating the weights of the neural network using backpropagation. You can do it.

일 실시예에서 복수의 프로세서(310)가 네트워크 함수의 학습을 처리할 수 있다. 예를 들어, CPU와 GPGPU가 함께 네트워크 함수의 학습, 네트워크 함수를 이용한 데이터 분류를 처리할 수 있다. In an embodiment, a plurality of processors 310 may process learning of a network function. For example, the CPU and GPGPU can work together to learn network functions and classify data using network functions.

일 실시예에서 프로세서(310)가 네트워크 함수를 이용하여 처리하는 이미지는 메모리(330)에 저장된 이미지, 카메라부(200)가 획득하여 이미지 분석부(300)에 제공하는 이미지 및 네트워크 모듈(320)에 의해 외부의 데이터 베이스 또는 다른 컴퓨팅 장치로부터 제공된 이미지일 수 있다. 또한 네트워크 모듈(320)에 의해 얻어진 데이터는 후술하는 뉴럴 네트워크를 학습시키기 위해 사용될 수 있다. In one embodiment, an image processed by the processor 310 using a network function is an image stored in the memory 330, an image acquired by the camera unit 200 and provided to the image analysis unit 300, and the network module 320 It may be an image provided by an external database or other computing device. In addition, the data obtained by the network module 320 may be used to train a neural network to be described later.

일 실시예에서 메모리(330)는 이미지 분석부(300)가 기능하기 위해 필요한 정보를 저장할 수 있다. In an embodiment, the memory 330 may store information necessary for the image analysis unit 300 to function.

일 실시예에서 메모리(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 memory 330 is a volatile memory (eg, dynamic RAM (DRAM), static RAM (SRAM), synchronous dynamic RAM (SDRAM), etc.)) or a non-volatile memory, for example, 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, etc.), SSD (Solid State Drive).

일 실시예에서 메모리(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 memory 330 may include an external memory. The external memory includes a flash drive, for example, compact flash (CF), secure digital (SD), micro secure digital (Micro-SD), mini secure digital (mini-SD), extreme digital (xD), or a memory stick. It may contain more.

메모리(330)는 프로세서(310)가 기능을 수행하는데 기초가 되는 정보를 저장할 수 있다. 메모리(330)에 저장되는 정보는 기 입력된 정보이거나, 네트워크 모듈(320)에 의해 외부의 데이터 베이스 또는 다른 컴퓨팅 장치로부터 제공된 이미지 또는 카메라부(200)에서 획득된 이미지일 수 있다.The memory 330 may store information that is the basis for the processor 310 to perform a function. The information stored in the memory 330 may be previously input information, an image provided from an external database or another computing device by the network module 320, or an image obtained from the camera unit 200.

네트워크 모듈(320)은 정보를 본 발명의 몇몇 실시예에 따른 자율 주행 장치의 다른 구성, 다른 컴퓨팅 장치 또는 외부의 서버와 송수신할 수 있다. 예컨대, 네트워크 모듈(320)은 학습 이미지 데이터 베이스 등에서 학습 이미지 데이터를 수신할 수 있다. 또한, 네트워크 모듈(320)은 복수의 컴퓨팅 장치 간에 통신을 가능하게 하여 복수의 컴퓨팅 장치 각각에서 네트워크 함수의 학습이 분산 수행되도록 할 수 있다. 이에 더하여, 네트워크 모듈(320)은 네트워크 함수를 사용한 데이터 분류를 분산 처리할 수 있도록 할 수 있다. The network module 320 may transmit/receive information to and from other components of the autonomous driving device, another computing device, or an external server according to some embodiments of the present invention. For example, the network module 320 may receive training image data from a training image database or the like. In addition, the network module 320 may enable communication between a plurality of computing devices so that learning of a network function is distributed in each of the plurality of computing devices. In addition, the network module 320 may perform distributed processing of data classification using a network function.

일 실시예에서 프로세서(310)는 위치 측정부(550)에서 제공한 위치 정보를 카메라부(200)에서 제공한 이미지 정보와 결합하여 위치 정보-이미지 정보 결합 정보를 생성할 수 있다. 즉, 일 실시예에서 프로세서(310)가 처리하는 정보는 이미지 정보와 위치 정보가 매칭된 정보일 수 있다. In an embodiment, the processor 310 may generate location information-image information combination information by combining the location information provided by the location measurement unit 550 with the image information provided by the camera unit 200. That is, in an embodiment, the information processed by the processor 310 may be information in which image information and location information are matched.

이에 대해 더욱 구체적으로 설명하면, 위치 정보와 이미지는 시점을 기준으로 결합될 수 있다. 예컨대, 임의의 시점인 제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 location measurement unit 550 at the same time point and the image and/or image information obtained by the camera unit 200 at the same time point are combined. Can be That is, the time point corresponding to the image and/or image information may be stored as metadata.

일 실시예에서, 제1 이미지(51)는 제1 시점(t-1), 즉, 직전 시점의 이미지일 수 있다. 제1 이미지(51)는 어노말리 판단의 기초가 되는 이미지일 수 있다. 제2 이미지(52)는 제2 시점(t0), 즉, 현재 시점의 이미지일 수 있다. 제1 이미지(51)와 제2 이미지(52)는 자율 주행 차량(100)이 주행함에 따라 연속적으로 또는 순차적으로 갱신될 수 있다. In an embodiment, the first image 51 may be a first viewpoint t-1, that is, an image of a viewpoint immediately before. The first image 51 may be an image that serves as a basis for an anomaly determination. The second image 52 may be a second viewpoint t0, that is, an image of a current viewpoint. The first image 51 and the second image 52 may be continuously or sequentially updated as the autonomous vehicle 100 travels.

다른 실시예에서 제1 이미지(51)는 메모리(330)에 기 저장된 이미지일 수 있다. 메모리(330)에 기 저장된 이미지는 이미지 그 자체 또는 추출된 피쳐를 포함할 수 있다. 또한, 메모리에 기 저장된 이미지는 다른 컴퓨팅 장치 또는 외부 서버로부터 제공되어 저장된 이미지일 수 있다. 즉 프로세서(310)는 메모리(330)에 기 저장된 이미지와 현재 시점의 이미지(제2 이미지(52)일 수 있다.)를 비교하여 유사도를 판단할 수 있다.In another embodiment, the first image 51 may be an image previously stored in the memory 330. The image pre-stored in the memory 330 may include the image itself or an extracted feature. Also, the image pre-stored in the memory may be an image provided and stored from another computing device or an external server. That is, the processor 310 may determine the degree of similarity by comparing an image previously stored in the memory 330 with an image of the current viewpoint (which may be the second image 52).

차량이 주행함에 따라 프로세서(310)는 제1 시점의 위치 정보-이미지 정보를 결합하고, 제2 시점의 위치 정보-이미지 정보를 결합하여 결합 정보를 생성하고, 이를 처리할 수 있다. 또한, 프로세서(310)는 생성된 결합 정보를 메모리(330)에 저장할 수 있다. As the vehicle travels, the processor 310 may combine the location information of the first view-image information and the location information of the second view-image information to generate combined information, and process the combined information. Also, the processor 310 may store the generated combination information in the memory 330.

이 단계에서 처리되는 위치 정보는 위도/경도/고도, 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 processor 310 may perform machine learning. More specifically, the processor 310 is a machine learning algorithm that attempts a high level of abstraction (summarizing key contents or functions in a large amount of data or complex data) through a combination of several nonlinear transformation methods. It may include an image analysis model built using a set of deep learning.

다시 말하면, 프로세서(310)는 적어도 하나의 딥 뉴럴 네트워크(DNN: Deep Neural Network)를 포함할 수 있다. 이하에서는 도 4 등을 참조하여, 이에 대해 자세히 설명하기로 한다. In other words, the processor 310 may include at least one deep neural network (DNN). Hereinafter, this will be described in detail with reference to FIG. 4 and the like.

도 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 first image 51 and the second image 52. The deep neural network (DNN) may determine the similarity between the first image 51 and the second image 52 by comparing each of the extracted features.

일 실시예에서 프로세서(310)는 제1 이미지(51)의 피쳐와 제2 이미지(52)의 피쳐 사이의 수학적 거리를 구하여 유사도를 판단할 수 있다. 프로세서(310)는 제1 이미지(51)와 제2 이미지(52)의 유사도가 사전 결정된 임계값 이하인 경우, 제2 이미지(52)를 어노말리 데이터를 포함하는 이미지, 즉, 현재 상황이 비정상 상황, 즉 비유사라는 결과값을 출력할 수 있다. In an embodiment, the processor 310 may determine the similarity by obtaining a mathematical distance between the features of the first image 51 and the features of the second image 52. When the similarity between the first image 51 and the second image 52 is less than or equal to a predetermined threshold, the processor 310 converts the second image 52 into an image including anomaly data, that is, the current situation is abnormal. In other words, a result value of dissimilarity can be output.

본 명세서에서 '비정상 상황(또는 상태)'이라는 용어는 정상 상황 또는 일반적인 상황의 반대 의미로 사용될 수 있다. 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 processor 310 compares the first image 51 and the second image 52 with a deep neural network (DNN) to express which pixel is actually different from the two images in pixel-by-pixel segmentation. You can also create an output (Pixel by Pixel segmentation output).

또 다른 실시예에서 프로세서(310)는 딥 뉴럴 네트워크(DNN)에서 생성된 임의의 비교 알고리즘으로 네트워크의 출력을 서로 비교할 수 있다. 프로세서(310)는 양 피쳐의 차이를 단순 비교하는 것뿐만 아니라, 양 피쳐의 비교에 딥 뉴럴 네트워크(DNN)를 사용하여 양 피쳐의 차이의 정도, 차이가 있는 부분의 픽셀의 위치 등을 출력할 수 있다. In another embodiment, the processor 310 may compare the outputs of the networks with an arbitrary comparison algorithm generated by the deep neural network (DNN). The processor 310 not only simply compares the difference between the two features, but also outputs the degree of the difference between the two features and the location of the pixels in the difference portion by using a deep neural network (DNN) to compare the two features. I can.

이와 같은 방식에 의해 프로세서(310)는 현재 상황(제2 이미지(52)에 의해 표현되는)을 정상 상황인 제1 이미지(51)와 비교하여 정상 상황 또는 비정상 상황인지 여부를 판단할 수 있다. 이에 더하여, 프로세서(310)는 비정상 상황인 경우, 제2 이미지(52)에 나타나 있는 어노말리 데이터의 위험 수준을 결정할 수 있다. 일 실시예에서 어노말리 데이터의 위험 수준은 딥 뉴럴 네트워크에 의해 판단될 수 있다. 이를 위해 앞서 설명한 방식 중 어느 하나를 채용하여 딥 뉴럴 네트워크를 학습시키고, 학습된 딥 뉴럴 네트워크가 위험 수준을 수치화하여 표현할 수 있다. 출력된 위험 수준은 후술하는 자율주행제어부(500)에 제공되어 자율 주행 차량(100)을 제어하는 기초로 사용될 수 있다. In this manner, the processor 310 may determine whether the current situation (represented by the second image 52) is compared with the first image 51 that is a normal situation to determine whether it is a normal situation or an abnormal situation. In addition, in the case of an abnormal situation, the processor 310 may determine the risk level of the anomaly data shown in the second image 52. In an embodiment, the risk level of the anomaly data may be determined by a deep neural network. To this end, a deep neural network may be trained by employing any one of the above-described methods, and the learned deep neural network may quantify and express the risk level. The output risk level may be provided to the autonomous driving control unit 500 to be described later and used as a basis for controlling the autonomous driving vehicle 100.

상술한 바와 같이 제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 first image 51 acquired at the first time point t-1 and the second image 52 acquired at the second time point t0, It is possible to judge abnormal situations and respond immediately to them without the help of DB. In addition, even in a number of undefined abnormal situations that may occur on the road, the abnormal situation may be determined through similarity measurement to respond to this. That is, according to some embodiments of the present invention, not simply extracting an object from an image and defining it, but by determining the similarity between two images with different viewpoints and determining an abnormal situation, it is possible to immediately respond to an undefined abnormal situation. There is an advantage.

또한, 제1 이미지(51)와 제2 이미지(52)는 자율 주행 차량(100)이 운행함에 따라 즉각적으로 갱신될 수 있다. 이에 따라 비정상 상황의 판단의 기초가 되는 제1 이미지(51)가 계속적으로 갱신될 수 있다. 즉, 계속적으로 갱신되는 정상 상황을 기초로 현재 상태를 판단함으로써, 자율 주행 차량(100)의 주행에 따라 발생하는 비정상 상황을 인지할 수 있다.In addition, the first image 51 and the second image 52 may be immediately updated as the autonomous vehicle 100 operates. Accordingly, the first image 51, which is the basis for determining the abnormal situation, may be continuously updated. That is, by determining the current state based on the continuously updated normal state, it is possible to recognize an abnormal situation occurring according to the driving of the autonomous vehicle 100.

도 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 Siamese network 400 at least partially shares two or more neural networks (the first sub-network 410 and the second sub-network 420) and a comparison module 440 that receives outputs from each of the sub-networks. ) Can be included.

설명의 편의를 위해 제1 서브 네트워크(410)와 제2 서브 네트워크(420)를 분리하였지만, 샴 네트워크(400)의 구성이 이에 제한되는 것은 아니다. 즉, 다른 실시예에서 제1 서브 네트워크(410)와 제2 서브 네트워크(420)는 적어도 부분적으로 중첩될 수 있다(기능적으로). 또 다른 실시예에서 제1 서브 네트워크(410)와 제2 서브 네트워크(420)는 일체로 이루어지며, 기능적으로 분리되어 이하에서 설명하는 기능을 수행할 수 있다.Although the first sub-network 410 and the second sub-network 420 are separated for convenience of description, the configuration of the Siamese network 400 is not limited thereto. That is, in another embodiment, the first sub-network 410 and the second sub-network 420 may at least partially overlap (functionally). In another embodiment, the first sub-network 410 and the second sub-network 420 are integrally formed and functionally separated to perform the functions described below.

샴 네트워크(400)에는 적어도 두 개의 이미지가 입력될 수 있다. 샴 네트워크(400)는 입력되는 2 개의 이미지의 유사도를 판단한 결과를 출력할 수 있다. 이미지를 처리하기 위해 샴 네트워크(400)의 각 서브 네트워크는 이미지를 입력 받는 컨벌루셔널 뉴럴 네트워크를 포함할 수 있다. 샴 네트워크(400)에서 이미지를 입력받는 2개의 서브 네트워크는 가중치의 적어도 일부를 공유할 수 있다. 즉, 샴 네트워크에 포함된 서브 네트워크들은 가중치 공유 모듈(430)에 의하여 가중치를 공유할 수 있으며, 이를 통해 샴 네트워크(400)는 입력된 두 데이터에 대해 공통된 가중치로 피쳐를 추출하여 비교할 수 있다. At least two images may be input to the Siamese network 400. The Siamese network 400 may output a result of determining the similarity of the two input images. In order to process an image, each sub-network of the Siamese network 400 may include a convolutional neural network that receives an image. Two sub-networks that receive an image from the Siamese network 400 may share at least some of the weights. That is, the sub-networks included in the Siamese network may share weights by the weight sharing module 430, and through this, the Siamese network 400 may extract and compare features with a common weight for two input data.

샴 네트워크(400)는 입력 데이터의 유사성을 측정할 수 있는 학습이 가능한 네트워크 구조로서, 카테고리가 많고, 훈련을 위한 데이터가 충분치 않은 경우에 사용될 수 있다. 입력 데이터 유사성 측정의 학습 방법은 타겟 공간에서 단순 거리가 입력 공간에서 의미론적 거리(semantic distance)에 근접하도록 입력 패턴을 타겟 공간에 매핑시키는 함수를 찾는 과정을 포함할 수 있다. The Siamese network 400 is a network structure capable of learning to measure the similarity of input data, and may be used when there are many categories and insufficient data for training. The learning method of measuring the similarity of input data may include a process of finding a function that maps an input pattern to a target space such that a simple distance in the target space approaches a semantic distance in the input space.

구체적으로, 입력 데이터 유사성 측정의 학습 방법은 서브 네트워크의 가중치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 weight sharing module 430, respectively. The Siamese network 400 may process each input data as a function having a weight shared by the sub-network.

각 서브 네트워크가 포함하는 컨벌루셔널 뉴럴 네트워크는 서로 대응되는 노드끼리 가중치를 공유할 수 있다. 컨벌루셔널 뉴럴 네트워크에서 출력된 피쳐들의 유사도는 비교 모듈(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 comparison module 440. In an embodiment, the comparison may be performed based on a mathematical distance of features output from both convolutional neural networks. The Siamese network 400 employing a method of comparing both images can recognize two images even when the training data is insufficient, and has general recognition performance because it is not sensitive to rotation or transformation of image data. I can. It is possible to secure the ability to classify abnormal situations.

뉴럴 네트워크는 교사 학습(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 image analysis unit 300, more specifically, the processor 310 included in the image analysis unit 300. In an embodiment, the processor 310 may perform a neural network operation process. That is, all computational processes of image similarity comparison (ie, learning of a neural network, feature extraction, feature comparison, etc.) may be performed by the processor 310. In other words, the expression that the neural network processes data may mean a process in which the processor 310 executes the neural network to process data.

일 실시예에서 프로세서(310)는 샴 네트워크(400)에 제1 이미지(51) 및 제2 이미지(52)를 입력하고, 샴 네트워크(400)에서 연산한 두 이미지의 유사도 계산 결과에 기초하여 결과를 출력할 수 있다. In one embodiment, the processor 310 inputs the first image 51 and the second image 52 to the Siamese network 400, and a result based on the similarity calculation result of the two images calculated in the Siamese network 400. Can be printed.

일 실시예에서 샴 네트워크(400)는 어노말리 디텍션(Anomaly detection)에 사용될 수 있다. In an embodiment, the Siamese network 400 may be used for anomaly detection.

어노말리 데이터는 데이터의 정상 패턴에서 벗어나는 비정상 데이터를 의미할 수 있다. 일 실시예에서, 이러한 어노말리 데이터를 포함하는 상황은 비정상 상황으로 정의될 수 있다. 데이터는 비정형 패턴을 가질 수 있으며, 어노말리 데이터는 이러한 비정형 패턴에서 벗어나는 데이터를 의미할 수 있다. 예를 들어, 도로의 일반적인 상황(도로, 표지판, 배경이 되는 자연 경관 등)은 정상 상황이라는 비정형 패턴을 가질 수 있으며, 비정상(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 first image 51 may be a first viewpoint t-1, that is, an image of a viewpoint immediately before. The first image 51 may be an image that serves as a basis for an anomaly determination. The second image 52 may be a second viewpoint t0, that is, an image of a current viewpoint. The first image 51 and the second image 52 may be continuously or sequentially updated as the autonomous vehicle 100 travels.

다른 실시예에서 제1 이미지(51)는 메모리(330)에 기 저장된 이미지일 수 있다. 메모리(330)에 기 저장된 이미지는 이미지 그 자체 또는 추출된 피쳐를 포함할 수 있다. 또한, 메모리에 기 저장된 이미지는 다른 컴퓨팅 장치 또는 외부 서버로부터 제공되어 저장된 이미지일 수 있다. In another embodiment, the first image 51 may be an image previously stored in the memory 330. The image pre-stored in the memory 330 may include the image itself or an extracted feature. Also, the image pre-stored in the memory may be an image provided and stored from another computing device or an external server.

자율 주행 중에는 순간적으로 비정상 상황(자율 주행 차량에 위해를 가할 수 있는 상황 등, 예컨대, 낙석, 길을 막는 동물의 출현, 사고 상황, 도로 공사 상황)이 발생할 수 있다. 이 경우, 정상 상황과 비정상 상황 간에 시간 간격에 의해 제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 first image 51 may be displayed on the second image 52 due to a time interval between the normal situation and the abnormal situation. That is, the first image 51 may be a normal state image data that does not include the anomaly data, and the second image 52 may be an abnormal state image that includes the anomaly data.

프로세서(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 processor 310 may extract each feature from the first image 51 and the second image 52 input to the Siamese network 400. The Siamese network 400 may compare the extracted features to determine a similarity between the first image 51 and the second image 52. In an embodiment, the processor 310 may determine the similarity by obtaining a mathematical distance between the features of the first image 51 and the features of the second image 52. When the similarity between the first image 51 and the second image 52 is less than or equal to a predetermined threshold, the processor 310 converts the second image 52 into an image including anomaly data, that is, the current situation is abnormal. You can print the result value of. In another embodiment, the processor 310 compares the first image 51 and the second image 52 with a deep neural network, and displays a pixel-by-pixel segmentation output (Pixel by Pixel segmentation output). In another embodiment, the processor 310 may compare the outputs of the sub-networks with each other using an arbitrary comparison algorithm generated in the deep neural network. The processor 310 not only simply compares the difference between the two features, but also outputs a degree of the difference between the two features, a position of a pixel in a portion with the difference, and the like, by using a neural network to compare the two features.

이와 같은 방식에 의해 프로세서(310)는 현재 상황(제2 이미지(52)에 의해 표현되는)을 정상 상황인 제1 이미지(51)와 비교하여 정상 상황 또는 비정상 상황인지 여부를 판단할 수 있다. 이에 더하여, 프로세서(310)는 비정상 상황인 경우, 제2 이미지(52)에 나타나 있는 어노말리 데이터의 위험 수준을 결정할 수 있다. 일 실시예에서 어노말리 데이터의 위험 수준은 딥 뉴럴 네트워크에 의해 판단될 수 있다. 이를 위해 앞서 설명한 방식 중 어느 하나를 채용하여 딥 뉴럴 네트워크를 학습시키고, 학습된 딥 뉴럴 네트워크가 위험 수준을 수치화하여 표현할 수 있다. 출력된 위험 수준은 후술하는 자율주행제어부(500)에 제공되어 자율 주행 차량(100)을 제어하는 기초로 사용될 수 있다. In this manner, the processor 310 may determine whether the current situation (represented by the second image 52) is compared with the first image 51 that is a normal situation to determine whether it is a normal situation or an abnormal situation. In addition, in the case of an abnormal situation, the processor 310 may determine the risk level of the anomaly data shown in the second image 52. In an embodiment, the risk level of the anomaly data may be determined by a deep neural network. To this end, a deep neural network may be trained by employing any of the above-described methods, and the learned deep neural network may quantify and express the risk level. The output risk level may be provided to the autonomous driving control unit 500 to be described later and used as a basis for controlling the autonomous driving vehicle 100.

상술한 바와 같이 제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 first image 51 acquired at the first time point t-1 and the second image 52 acquired at the second time point t0, It is possible to judge abnormal situations and respond immediately to them without the help of DB. In addition, even in a number of undefined abnormal situations that may occur on the road, the abnormal situation may be determined through similarity measurement to respond to this. That is, according to some embodiments of the present invention, not simply extracting an object from an image and defining it, but by determining the similarity between two images with different viewpoints and determining an abnormal situation, it is possible to immediately respond to an undefined abnormal situation. There is an advantage.

또한, 제1 이미지(51)와 제2 이미지(52)는 자율 주행 차량(100)이 운행함에 따라 즉각적으로 갱신될 수 있다. 이에 따라 비정상 상황의 판단의 기초가 되는 제1 이미지(51)가 계속적으로 갱신될 수 있다. 즉, 계속적으로 갱신되는 정상 상황을 기초로 현재 상태를 판단함으로써, 자율 주행 차량(100)의 주행에 따라 발생하는 비정상 상황을 인지할 수 있다. In addition, the first image 51 and the second image 52 may be immediately updated as the autonomous vehicle 100 operates. Accordingly, the first image 51, which is the basis for determining the abnormal situation, may be continuously updated. That is, by determining the current state based on the continuously updated normal state, it is possible to recognize an abnormal situation occurring according to the driving of the autonomous vehicle 100.

이하에서는 도 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 first image 51 may be input to the first sub-network 410 and the second image 52 may be input to the second sub-network 420. The processor 310 may extract features of the input image by respectively calculating the input image using each sub-network. The first sub-network 410 and the second sub-network 420 share at least some of the weights with each other, so that the comparison module 440 selects a feature with a common weight for the first image 51 and the second image 52. It can be extracted and compared. Here, the first sub-network 410 and the second sub-network 420 may include a deep neural network structure. For example, at least one of the sub-networks may have a convolutional neural network structure.

일 실시예에서 비교 모듈(440)은 컨벌루셔널 뉴럴 네트워크 또는 임의의 비교 알고리즘 구조를 가질 수 있다. 일 실시예에서 비교 방법이 제2 이미지(52)에 어노말리 부분이 존재하는 지 여부를 출력하는 경우, 비교 모듈(440)은 수학적 비교 알고리즘을 포함할 수 있다. In an embodiment, the comparison module 440 may have a convolutional neural network or an arbitrary comparison algorithm structure. In an embodiment, when the comparison method outputs whether an anomaly part exists in the second image 52, the comparison module 440 may include a mathematical comparison algorithm.

비교 모듈(440)은 제1 서브 네트워크(410) 및/또는 제2 서브 네트워크(420)와 직렬(in series)로 연결될 수 있다. 여기서 '직렬'은 서브 네트워크 출력의 적어도 일부가 비교 모듈(440)에 입력이 되거나, 서브 네트워크의 일부가 비교 모듈(440)과 중첩될 수 있음을 의미할 수 있다. 비교 모듈(440)은 복수의 이미지 또는 이미지의 피쳐를 비교할 수 있는 구성을 가질 수 있으며, 각각의 서브 네트워크에서 출력된 피쳐를 서로 비교하여 비교 정보를 생성할 수 있다. The comparison module 440 may be connected to the first sub-network 410 and/or the second sub-network 420 in series. Here,'serial' may mean that at least a part of the sub-network output is input to the comparison module 440 or that a part of the sub-network may overlap with the comparison module 440. The comparison module 440 may have a configuration capable of comparing a plurality of images or features of an image, and may generate comparison information by comparing features output from each sub-network with each other.

일 실시예에서 비교 모듈(440)은 두 피쳐의 수학적 거리를 비교하는 함수의 형태일 수 있다. 다른 실시예에서 비교 모듈(440)은 딥 뉴럴 네트워크로 구성되어 두 피쳐의 유사도를 판단하는 구성일 수 있다. 비교 모듈(440)이 딥 뉴럴 네트워크로 구성되는 경우, 비교 모듈(440)은 제1 서브 네트워크(410) 및 제2 서브 네트워크(420)로부터 수신된 데이터로부터 이미지의 유사성과 관련된 피쳐를 계산할 수 있다. In an embodiment, the comparison module 440 may be in the form of a function that compares the mathematical distances of two features. In another embodiment, the comparison module 440 may be configured as a deep neural network to determine the degree of similarity between two features. When the comparison module 440 is configured as a deep neural network, the comparison module 440 may calculate a feature related to image similarity from data received from the first sub-network 410 and the second sub-network 420. .

비교 모듈(440)의 비교 결과에 기초하여 샴 네트워크(400)는 어노말리 관련 데이터를 출력할 수 있다. 어노말리 관련 데이터는 이미지가 어노말리 데이터를 포함하는 지 여부, 또는 어노말리 데이터를 포함하는 경우, 어노말리가 존재하는 픽셀의 위치 정보를 포함할 수 있다. Based on the comparison result of the comparison module 440, the Siamese network 400 may output anomaly related data. The anomaly-related data may include whether an image includes anomaly data, or, when an anomaly data is included, location information of a pixel in which anomaly exists.

도 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 training data set 600.

일 실시예에서 학습 데이터 세트(600)는 정상 상황 이미지(51N), 비정상 상황 이미지(52A) 및 라벨링 이미지(52L)를 포함할 수 있다. 정상 상황 이미지(51N)는 입력 데이터의 어노말리 판단의 기초가 되는 이미지로서, 어노말리 데이터를 포함하지 않는 정상 상태 이미지 데이터만을 포함하는 이미지일 수 있다. 정상 상황 이미지(51N)는 학습 후 상술한 뉴럴 네트워크의 제1 이미지(51)에 대응될 수 있다. 즉, 정상 상황 이미지(51N)는 정상 상황의 비정형 패턴만을 가지며, 어노말리 데이터가 없는 이미지일 수 있다. 비정상 상황 이미지(52A)는 어노말리 판단 대상이 되는 이미지로서 어노말리 데이터를 포함하는 이미지일 수 있다. (도 8에서 멧돼지의 등장은 어노말리 데이터의 일 예시이다.) 비정상 상황 이미지(52A)는 학습 후 뉴럴 네트워크의 제2 이미지(52)에 대응될 수 있다. 라벨링 이미지(52L)는 비정상 상황 이미지(52A)에서 어노말리가 존재하는 부분을 라벨링한 이미지이다. 도 8은 하나의 예시로서, 멧돼지가 나타나는 사진을 도시하나, 학습 데이터 세트(600)가 이에 제한되지 않음은 물론이다. In an embodiment, the training data set 600 may include a normal situation image 51N, an abnormal situation image 52A, and a labeling image 52L. The normal state image 51N is an image that serves as a basis for determining an anomaly of the input data, and may be an image including only normal state image data that does not include the anomaly data. The normal situation image 51N may correspond to the first image 51 of the neural network described above after learning. That is, the normal situation image 51N may have only an atypical pattern of the normal situation and may be an image without anomaly data. The abnormal situation image 52A is an image subject to an anomaly determination, and may be an image including anomaly data. (The appearance of a wild boar in FIG. 8 is an example of anomaly data.) The abnormal situation image 52A may correspond to the second image 52 of the neural network after learning. The labeling image 52L is an image obtained by labeling a portion of the abnormal situation image 52A where an anomaly exists. As an example, FIG. 8 shows a picture in which a wild boar appears, but it is a matter of course that the training data set 600 is not limited thereto.

일 실시예에서 샴 네트워크(400)는 정상 상황 이미지(51N), 비정상 상황 이미지(52A) 및 라벨링 이미지(52L)로 학습하여, 입력 데이터에 어노말리 데이터가 포함되는지 여부를 판단하도록 학습될 수 있다. 즉, 샴 네트워크(400)에 정상 상황 이미지(51N), 비정상 상황 이미지(52A) 및 라벨링 이미지(52L)가 입력되고, 샴 네트워크(400)는 비정상 상황 이미지(52A)에서 어노말리 데이터가 존재하는 지 여부에 대한 출력을 수행할 수 있다. 프로세서(310)는 샴 네트워크(400)의 출력과 라벨링된 어노말리 이미지를 포함하는 라벨링 이미지(52L)를 비교하여 오차를 구하고, 오차를 역전파하여 샴 네트워크(400)가 비정상 상황 이미지(52A)에서 어노말리 데이터가 존재하는 지 여부를 판단할 수 있도록 학습시킬 수 있다. 즉, 프로세서(310)는 어노말리 데이터가 라벨링된 라벨링 이미지(52L)를 이용하여 어노말리 데이터의 존재 여부에 관해 판단하도록 샴 네트워크(400)를 학습시킬 수 있다. In one embodiment, the Siamese network 400 may be trained to determine whether an anomaly data is included in the input data by learning from the normal situation image 51N, the abnormal situation image 52A, and the labeling image 52L. . That is, the normal situation image 51N, the abnormal situation image 52A, and the labeling image 52L are input to the Siamese network 400, and the Siamese network 400 has anomaly data present in the abnormal situation image 52A. You can output whether or not. The processor 310 compares the output of the Siamese network 400 with the labeling image 52L including the labeled anomaly image to obtain an error, and backpropagates the error so that the Siamese network 400 is an abnormal situation image 52A. It can be learned so that it can be determined whether or not anomaly data exists. That is, the processor 310 may train the Siamese network 400 to determine whether or not the anomaly data exists by using the labeling image 52L labeled with the anomaly data.

다른 실시예에서 샴 네트워크(400)는 정상 상황 이미지(51N) 및 라벨링 이미지(52L)로 학습하여, 입력 데이터에 어노말리 데이터가 포함되는지 여부를 판단하도록 학습될 수 있다.In another embodiment, the Siamese network 400 may be trained to determine whether an anomaly data is included in the input data by learning from the normal situation image 51N and the labeling image 52L.

또 다른 실시예에서 샴 네트워크(400)는 정상 상황 이미지(51N) 및 비정상 상황 이미지(52A)로 학습하여 입력 데이터에 어노말리 데이터가 포함되는지 여부를 판단하도록 학습될 수 있다. 정상 상황 이미지(51N) 및 비정상 상황 이미지(52A)가 샴 네트워크(400)에 입력되고, 샴 네트워크(400)는 비정상 상황 이미지(52A)에서 어노말리 데이터의 위치 정보 관련 데이터를 출력할 수 있다. 즉, 어노말리 데이터가 라벨링 되지 않은 학습 데이터를 이용하여 샴 네트워크(400)를 학습시킬 수도 있다. In another embodiment, the Siamese network 400 may be trained to determine whether an anomaly data is included in the input data by learning from the normal situation image 51N and the abnormal situation image 52A. The normal situation image 51N and the abnormal situation image 52A are input to the Siamese network 400, and the Siamese network 400 may output data related to location information of the anomaly data from the abnormal situation image 52A. That is, the Siamese network 400 may be trained using training data that is not labeled with the anomaly data.

일 실시예에서 프로세서(310)는 샴 네트워크(400)의 출력을 기초로 비정상 상황을 판단할 수 있다. In an embodiment, the processor 310 may determine an abnormal situation based on the output of the Siamese network 400.

프로세서(310)는 샴 네트워크(400)가 비정상 상황을 출력할 경우, 메모리(330)에 기 저장된 피쳐 카테고리와 샴 네트워크(400)의 출력을 비교할 수 있다. 메모리(330)에 기 저장된 피쳐 카테고리는 사용자에 의해 입력되거나, 샴 네트워크(400)에 의해 판단되어 저장되거나, 다른 컴퓨팅 장치나 서버로부터 입력되어 저장된 데이터일 수 있다. 즉, 메모리(330)는 딥 뉴럴 네트워크에 의해 추출된 피쳐들을 분류(Categorize)하여 각각의 피쳐 카테고리에 저장할 수 있다. 여기서 추출된 피쳐는 앞서 설명한 바와 마찬가지로 다른 컴퓨팅 장치나 서버로부터 입력되어 저장될 수도 있다. When the Siamese network 400 outputs an abnormal situation, the processor 310 may compare the feature category previously stored in the memory 330 with the output of the Siamese network 400. The feature category pre-stored in the memory 330 may be input by a user, may be determined and stored by the Siam network 400, or may be data input and stored from another computing device or server. That is, the memory 330 may categorize features extracted by the deep neural network and store them in each feature category. As described above, the extracted features may be input and stored from other computing devices or servers.

일 실시예에서 샴 네트워크(400)가 출력한 비정상 상황이 저장된 피쳐 카테고리와 유사하지 않은 경우, 프로세서(310)는 신규 카테고리를 생성하여 저장할 수 있다. In an embodiment, when the abnormal situation output from the Siamese network 400 is not similar to the stored feature category, the processor 310 may create and store a new category.

프로세서(310)는 샴 네트워크(400)가 출력한 비정상 상황과 저장된 피쳐 카테고리의 유사도를 비교하기 위해 딥 뉴럴 네트워크를 활용할 수 있다. 즉, 앞서 설명한 바와 실질적으로 동일한 방식으로, 저장된 피쳐 카테고리와 샴 네트워크(400)의 출력을 비교하여 유사도 판단을 수행할 수 있다. The processor 310 may utilize the deep neural network to compare the similarity between the abnormal situation output from the Siamese network 400 and the stored feature category. That is, in substantially the same manner as described above, the similarity may be determined by comparing the stored feature category with the output of the Siamese network 400.

이와 같이 프로세서(310)가 기존의 피쳐 카테고리에 더하여 신규 카테고리를 축적하는 경우, 자율 주행 상황에서 다양한 변화에 즉각적이고 효율적으로 대처할 수 있게 된다. 즉, 전체적으로 자율 주행 성능이 향상될 수 있다. In this way, when the processor 310 accumulates a new category in addition to the existing feature category, it is possible to immediately and efficiently cope with various changes in the autonomous driving situation. That is, overall autonomous driving performance can be improved.

도 7은 샴 네트워크(400)의 학습 방식을 예시하고 있지만 이에 제한되지 않는다. 즉, 도 5a에 도시된 바와 같은 일반적인 딥 뉴럴 네트워크(DNN)의 학습의 경우에도 앞의 설명은 그대로 적용될 수 있다. 7 illustrates a learning method of the Siamese network 400, but is not limited thereto. That is, even in the case of learning of a general deep neural network (DNN) as illustrated in FIG. 5A, the above description may be applied as it is.

또한, 앞서 설명한 바와 같이 제1 서브 네트워크(410)와 제2 서브 네트워크(420)는 서로 다른 컴퓨팅 장치에서 수행되는 별개의 네트워크이거나, 하나의 컴퓨팅 장치에서 수행되지만 기능적으로 분리된 구성일 수 있다. 또한, 다른 실시예에서 제1 서브 네트워크(410)와 제2 서브 네트워크(420)는 하나의 딥 뉴럴 네트워크(DNN)를 구성할 수도 있다. In addition, as described above, the first sub-network 410 and the second sub-network 420 may be separate networks performed in different computing devices, or may be functionally separated configurations while being performed in one computing device. In addition, in another embodiment, the first sub-network 410 and the second sub-network 420 may form one deep neural network (DNN).

일 실시예에서 자율 주행 장치는 아래와 같은 방식으로 운용될 수 있다. 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 camera unit 200. As a result of the determination, the autonomous driving apparatus may determine whether a situation currently provided by the camera unit 200 is an accident situation.

프로세서(310)가 카메라부(200)에서 제공되는 이미지를 기초로 사고 상황이라고 판단하는 경우, 프로세서(310)는 네트워크 모듈(320)을 이용해 사고 상황을 외부 서버에 제공할 수 있다. 일 실시예에서 외부 서버는 경찰서, 소방서 등의 관공서 서버일 수 있다. 이를 통해 외부 서버는 실시간으로 특정 지역의 이상 상황 발생 여부를 즉각적으로 확인할 수 있다. When the processor 310 determines that the accident situation is based on the image provided from the camera unit 200, the processor 310 may provide the accident situation to an external server using the network module 320. In one embodiment, the external server may be a public office server such as a police station or a fire station. Through this, the external server can immediately check whether an abnormal situation occurs in a specific area in real time.

또한 외부 서버는 교통 정보를 취합하는 서버일 수 있다. 즉, 위와 같은 과정을 통해 얻어진 이상 상황을 실시간 교통 정보에 반영하고 이를 다른 운행 차량에 전달함으로써 원할한 교통 흐름을 유지할 수 있다. 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 camera unit 200 and the position information measured by the position measuring unit 550 may be combined by the processor 310. That is, the processor 310 may generate combination information of location information and image information.

일 실시예에서 프로세서(310)는 메모리(330)에 저장된 피쳐와 딥 뉴럴 네트워크(DNN)에서 추출된 피쳐를 비교할 수 있다. 이에 더하여, 프로세서(310)가 결합 정보를 활용하는 경우, 위치 정보가 동일한 다른 시점의 피쳐들을 비교할 수 있다. In an embodiment, the processor 310 may compare a feature stored in the memory 330 with a feature extracted from a deep neural network (DNN). In addition, when the processor 310 uses the combination information, features of different viewpoints having the same location information may be compared.

즉, 프로세서(310)는 동일한 제1 위치에서 어노말리 데이터가 없는 A 시점의 영상을 기초로 B 시점의 영상의 어노말리 데이터 존재 여부를 판단할 수 있다. 이에 따라 특정 지역에서의 비정상 상황이 발생하면, 프로세서(310)는 이를 메모리(330)에 저장된 피쳐 카테고리에서 검색하여 유사도 판단을 수행할 수 있다. 기 저장된 피쳐 카테고리에 새로 발견된 비정상 상황이 존재하지 않는 경우, 프로세서(310)는 이를 메모리(330)에 저장하여 신규 카테고리를 생성할 수 있다. That is, the processor 310 may determine whether or not the anomaly data of the image of the view B exists based on the image of the view A in which there is no anomaly data at the same first location. Accordingly, when an abnormal situation occurs in a specific region, the processor 310 may search for it in a feature category stored in the memory 330 and determine the degree of similarity. If a newly discovered abnormal situation does not exist in the previously stored feature category, the processor 310 may create a new category by storing it in the memory 330.

이에 더하여 프로세서(310)는 비정상 상황의 결과값이 출력되면, 네트워크 모듈(320)을 이용해 외부 서버에 제공할 수 있다. 일 실시예에서 외부 서버는 경찰서, 소방서 등의 관공서 서버일 수 있다. 이를 통해 외부 서버는 실시간으로 특정 지역의 이상 상황 발생 여부를 즉각적으로 확인할 수 있다. In addition, when the result value of the abnormal situation is output, the processor 310 may provide it to an external server using the network module 320. In one embodiment, the external server may be a public office server such as a police station or a fire station. Through this, the external server can immediately check whether an abnormal situation occurs in a specific area in real time.

또한 외부 서버는 교통 정보를 취합하는 서버일 수 있다. 즉, 위와 같은 과정을 통해 얻어진 이상 상황을 실시간 교통 정보에 반영하고 이를 다른 운행 차량에 전달함으로써 원할한 교통 흐름을 유지할 수 있다. 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 processor 310 may determine the risk level of the abnormal situation in addition to determining the abnormal situation. For example, the processor 310 may numerically express the risk level of the abnormal situation.

일 실시예에서 위험 수준의 판단은 영상에서 등장한 오브젝트 또는 어노말리 데이터를 분석함으로써 수행될 수 있다. 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 processor 310 may determine the risk level in consideration of the relative speed of the object or anomaly data, an expected time until collision, or an amount of impact expected when colliding with the object.

프로세서(310)가 오브젝트 또는 어노말리 데이터의 상대 속도, 충돌까지의 예상시간 또는 오브젝트와 충돌 시 예상되는 충격량는 프로세서(310)가 포함하는 적어도 하나의 뉴럴 네트워크에 의해 도출될 수 있다. The relative speed of the object or anomaly data by the processor 310, an estimated time until collision, or an amount of impulse expected when colliding with the object may be derived by at least one neural network included in the processor 310.

즉, 프로세서(310)는 기존의 교통 사고 유형, 오브젝트와 충돌 시 발생한 피해 상황(상대속도 등이 고려될 수 있다)을 통해 학습된 딥 뉴럴 네트워크를 이용해 위험 수준을 결정할 수 있다. That is, the processor 310 may determine the risk level using a deep neural network learned through the existing traffic accident type and the damage situation (relative speed, etc. may be considered) when a collision occurs with an object.

일 실시예에서 위험 수준은 수치화될 수 있다. 예컨대, 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 memory 330.

다른 실시예에서 위험 수준은 복수의 단계로 정의될 수 있다. 예컨대, 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 memory 330.

이미지 분석부(300)에서 출력된 결과값은 자율주행제어부(500)로 제공될 수 있다. The result value output from the image analysis unit 300 may be provided to the autonomous driving control unit 500.

도 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 driving control unit 500 may include a control processor 510. The control processor 510 may be composed of one or more cores, a central processing unit (CPU), a general purpose graphics processing unit (GPGPU), and a tensor processing unit (TPU) of a computing device. Processing Unit) may include a processor for data analysis and deep learning. The control processor 510 may perform calculations for learning a neural network. The control processor 510 processes input data for learning in Deep Learning, extracts features from the input data, calculates errors, and updates the weights of the neural network using backpropagation. You can perform calculations.

제어 프로세서(510)는 이미지 분석부(300)에서 출력된 결과값을 기초로 자율 주행 차량(100)을 제어할 수 있다. 일 실시예에서 자율 주행 차량(100)은 각종 차량 구동 장치를 전기적으로 제어하는 구동 제어 장치(700)를 포함할 수 있다. 구동 제어 장치(700)는 자율주행제어부(500)에서 입력을 제공받아 자율 주행 차량(100)을 구동할 수 있다. The control processor 510 may control the autonomous vehicle 100 based on a result value output from the image analysis unit 300. In an embodiment, the autonomous vehicle 100 may include a driving control device 700 that electrically controls various vehicle driving devices. The driving control device 700 may receive an input from the autonomous driving control unit 500 to drive the autonomous driving vehicle 100.

구동 제어 장치(700)는 예컨대, 파워 트레인(810), 브레이크 장치(820), 및 스티어링 장치(830)를 포함할 수 있다. 이에 더하여, 구동 제어 장치(700)는 도어/윈도우 구동 제어 장치(도시하지 않음), 안전 장치 구동 제어 장치(도시하지 않음), 램프 구동 제어 장치(도시하지 않음) 및 공조 구동 제어 장치(도시하지 않음)를 더 포함할 수 있다. The drive control device 700 may include, for example, a power train 810, a brake device 820, and a steering device 830. In addition, the drive control device 700 includes a door/window drive control device (not shown), a safety device drive control device (not shown), a lamp drive control device (not shown), and an air conditioning drive control device (not shown). Not) may further include.

파워 트레인(810)은 동력원 구동 제어 장치 및 변속기 구동 제어 장치를 포함할 수 있다. The power train 810 may include a power source drive control device and a transmission drive control device.

일 실시예에서 구동 제어 장치(700)는 적어도 하나의 ECU(Electronic Control Unit)을 포함할 수 있다. In an embodiment, the driving control device 700 may include at least one Electronic Control Unit (ECU).

구동 제어 장치는 후술하는 자율주행제어부(500)에 의해 구동될 수 있다. 구체적으로, 자율주행제어부(500)는 자율 주행을 위한 패스를 설정할 수 있다. 즉, 생성된 경로를 따라 주행하기 위한 드라이빙 플랜을 생성할 수 있다. 즉, 자율주행제어부(500)는 드라이빙 플랜에 따라 차량의 움직임을 제어하기 위해 구동 제어 장치(700)에 입력 신호를 제공할 수 있다. The driving control device may be driven by the autonomous driving control unit 500 to be described later. Specifically, the autonomous driving control unit 500 may set a path for autonomous driving. That is, a driving plan for driving along the generated route may be generated. That is, the autonomous driving control unit 500 may provide an input signal to the driving control device 700 in order to control the movement of the vehicle according to the driving plan.

이러한 과정을 통해 자율 주행 차량(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 autonomous vehicle 100 may implement at least one Advanced Driver Assistance System (ADAS) function. ADAS includes Adaptive Cruise Control (ACC), Autonomous Emergency Braking (AEB), Forward Collision Warning (FCW), and Lane Keeping Assist (LKA). , Lane Change Assist (LCA), Target Following Assist (TFA), Blind Spot Detection (BSD), Adaptive High Beam Control System (HBA: High Beam Assist), Auto Parking System (APS), Pedestrian Collision Warning System (PDcollision Warning System), Traffic Sign Recognition (TSR), Traffic Sign Assist (TSA), Night Vision System (NV) : Night Vision), a driver status monitoring system (DSM), and a traffic jam assistance system (TJA: Traffic Jam Assist) may be implemented.

일 실시예에서 제어 프로세서(510)는 이미지 분석부(300)에서 정상 상황을 출력하는 경우, 통상적인 매뉴얼에 따른 자율 주행 프로세스를 실행할 수 있다. In an embodiment, when the image analysis unit 300 outputs a normal situation, the control processor 510 may execute an autonomous driving process according to a conventional manual.

일 실시예에서 이미지 분석부(300)가 비정상 상황을 출력하는 경우, 제어 프로세서(510)는 정해진 위험 수준에 따른 자율 주행 프로세스를 실행할 수 있다. In an embodiment, when the image analysis unit 300 outputs an abnormal situation, the control processor 510 may execute an autonomous driving process according to a predetermined risk level.

일 실시예에서 제어 프로세서(510)는 앞서 말한 위험 수준에 따라 자율 주행 차량(100)을 제어할 수 있다. In an embodiment, the control processor 510 may control the autonomous vehicle 100 according to the aforementioned risk level.

예컨대, 제어 프로세서(510)는 위험 수준에 따라 조향 장치 및/또는 브레이크 장치를 제어할 수 있다. For example, the control processor 510 may control the steering device and/or the brake device according to the risk level.

낮은 수준의 위험상황에서 제어 프로세서(510)는 감속, 완만한 조향 조절 등의 제어 신호를 구동 제어 장치(700)에 제공하고, 구동 제어 장치(700)는 이를 기초로 스티어링 장치(830) 및/또는 브레이크 장치(820)를 구동하여 감속하거나 차의 방향을 조정하여 위험을 회피할 수 있다. In a low-level danger situation, the control processor 510 provides control signals such as deceleration and gentle steering adjustment to the drive control device 700, and the drive control device 700 provides the steering device 830 and/or Alternatively, a risk may be avoided by driving the brake device 820 to decelerate or adjust the direction of the vehicle.

높은 수준의 위험 상황에서 제어 프로세서(510)는 급제동 및/또는 긴급한 조향 조절 등의 제어 신호를 구동 제어 장치(700)에 제공하고, 구동 제어 장치(700)는 이를 기초로 스티어링 장치(830) 및/또는 브레이크 장치(820)를 구동하여 감속하거나 차의 방향을 조정하여 위험을 회피할 수 있다.In a high-risk situation, the control processor 510 provides a control signal such as sudden braking and/or urgent steering control to the drive control device 700, and the drive control device 700 provides the steering device 830 and / Or by driving the brake device 820 to decelerate or adjust the direction of the vehicle to avoid the danger.

이하에서는 본 발명의 일 실시예에 따른 자율 주행 장치 운용 방법에 대해 설명하기로 한다. 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 camera unit 200. The camera unit 200 may acquire a first image 51 of a first view point t-1 and a second image 52 of a second view point t0.

앞서 설명한 바와 같이 제1 이미지(51)는 직전의 이미지이며, 제2 이미지(52)는 현재 시점의 이미지일 수 있다. 자율 주행 차량(100)이 계속적으로 운행됨에 따라 제1 이미지(51)와 제2 이미지(52)는 연속적 또는 순차적으로 갱신될 수 있다. As described above, the first image 51 may be an image immediately before, and the second image 52 may be an image of a current viewpoint. As the autonomous vehicle 100 continuously operates, the first image 51 and the second image 52 may be continuously or sequentially updated.

이어서, 이미지 데이터를 처리하는 단계(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 image analysis unit 300 described above. That is, the processor 310 including at least one neural network compares the first image 51 and the second image 52, extracts anomalous data from the second image 52, and outputs an abnormal situation. I can. In addition, the step of processing image data (S200) may be substantially the same as the data processing performed by the image analysis unit 300 above.

일 실시예에서 이미지 데이터를 처리하는 단계(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 memory 330.

이 단계에서 프로세서(310)는 획득된 이미지와 메모리(330)에 저장된 피쳐의 유사도를 판단하여 정상 상황 또는 비정상 상황 여부를 판단할 수 있다. In this step, the processor 310 may determine whether the acquired image and the feature stored in the memory 330 are similar to each other to determine whether the image is in a normal or abnormal situation.

또한, 획득된 이미지가 메모리(330)에 저장된 기존 피쳐에는 없는 새로운 정보인 경우, 프로세서(310)가 메모리(330)에 신규 카테고리를 생성하여 저장하는 단계가 진행될 수 있다. In addition, when the acquired image is new information that is not in the existing feature stored in the memory 330, the processor 310 may generate and store a new category in the memory 330.

이미지 데이터를 처리하는 단계(S200)는 카메라부(200)에서 획득한 이미지 정보와 위치 측정부(550)에서 획득한 위치 정보를 결합하는 단계를 더 포함할 수 있다. 즉, 프로세서(310)는 이미지 정보-위치 정보의 결합 정보를 기초로 동일 위치의 서로 다른 두 시점의 이미지를 유사 판단할 수 있다. The processing of the image data (S200) may further include combining the image information obtained by the camera unit 200 and the location information obtained by the position measuring unit 550. That is, the processor 310 may similarly determine images of two different viewpoints at the same location based on the combination information of the image information and the location information.

서로 다른 두 시점의 이미지는 앞서 설명한 바와 같이 순차적으로 획득된 제1 이미지(51) 및 제2 이미지(52)이거나, 새로 획득된 이미지와 메모리(330)에 기 저장된 이미지일 수 있다. The images of two different viewpoints may be the first image 51 and the second image 52 sequentially acquired as described above, or may be a newly acquired image and an image previously stored in the memory 330.

또한, 일 실시예에서 이미지 데이터를 처리하는 단계(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 processor 310 determines that the accident situation is based on the image provided from the camera unit 200, the processor 310 may provide the accident situation to an external server using the network module 320. In an embodiment, the external server may be a public office server such as a police station or a fire station. Through this, the external server can immediately check whether an abnormal situation occurs in a specific area in real time.

또한 외부 서버는 교통 정보를 취합하는 서버일 수 있다. 즉, 위와 같은 과정을 통해 얻어진 이상 상황을 실시간 교통 정보에 반영하고 이를 다른 운행 차량에 전달함으로써 원할한 교통 흐름을 유지할 수 있다. 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 image analysis unit 300 may be provided to the autonomous driving control unit 500. Based on the output result value, the autonomous driving controller 500 may control the autonomous driving vehicle 100. The manner in which the autonomous driving controller 500 controls the autonomous vehicle may be substantially the same as described in some embodiments of the present invention. Therefore, a detailed description thereof will be omitted.

이러한 자율 주행 제어부(500)와 연계되어 본 발명의 몇몇 실시예에 따른 이상 상황에서 자율 주행 장치의 운용 방법은 다음과 같이 변형 실시될 수 있다. In connection with the autonomous driving control unit 500, the method of operating the autonomous driving device in an abnormal situation according to some embodiments of the present invention may be modified as follows.

일 실시예에서 자율 주행 제어부(500)는 비정상 상황에서 자기 차량의 안전을 위한 행동뿐만 아니라, 도로 전체의 안전 또는 다른 차량의 안전을 위한 행동을 수행할 수 있다. 예컨대, 도로 위에 사람이 쓰러지거나 동물이 지나가는 상황 등에서 자율 주행 제어부(550)는 해당 지점 앞에 차량을 정지시키거나, 비상등을 켜 다른 차량이 위험 상황에 빠지는 것을 방지하거나, 위험 상황을 미리 알려 대비하도록 할 수 있다. 여러 종류의 비정상 상황에 대한 인지는 학습된 딥 뉴럴 네트워크(DNN) 또는 샴 네트워크(400)에 의해 정해질 수 있다. 즉, 여러 종류의 비정상 상황과 이에 대응한 적절한 행동을 지정하여 상황에 맞게 자율주행차를 운용할 수 있다. 학습된 딥 뉴럴 네트워크(DNN) 또는 샴 네트워크(400)는 비정상 상황에 대응하여 적절한 행동을 수행하도록 자율 주행 제어부(500)에 명령을 제공할 수 있다. In an embodiment, the autonomous driving controller 500 may perform not only an action for safety of the own vehicle in an abnormal situation, but also an action for the safety of the entire road or the safety of other vehicles. For example, in a situation in which a person falls on the road or an animal passes by, the autonomous driving control unit 550 stops the vehicle in front of the corresponding point, turns on an emergency light to prevent other vehicles from falling into a dangerous situation, or informs of a dangerous situation in advance to prepare. can do. Recognition of various types of abnormal situations may be determined by a learned deep neural network (DNN) or a Siamese network 400. In other words, it is possible to operate the autonomous vehicle according to the situation by designating various types of abnormal situations and appropriate actions to respond to them. The learned deep neural network (DNN) or the Siamese network 400 may provide a command to the autonomous driving controller 500 to perform an appropriate action in response to an abnormal situation.

일 실시예에서 자율 주행 제어부(500)는 비정상 상황 앞에서 차량을 정지시켜 상황 해제 시까지 대기할 수 있다. 이를 통해 다른 차량들이 비정상 상황으로 인해 위험에 처하게 되는 것을 방지할 수 있다. In an embodiment, the autonomous driving controller 500 may stop the vehicle in front of the abnormal situation and wait until the situation is canceled. This can prevent other vehicles from endangering due to abnormal conditions.

또한, 앞서 설명한 바와 같이 프로세서(310)가 비정상 상황을 판단한 경우, 외부 서버(예컨대, 경찰서나 소방서)에 비정상 상황을 보고할 수 있다. 또한, 차량이 비정상 상황 인근에서 정차하는 경우, 프로세서(310)는 비정상 상황을 실시간으로 외부 서버에 보고할 수 있다. In addition, as described above, when the processor 310 determines an abnormal situation, it may report the abnormal situation to an external server (eg, a police station or a fire station). In addition, when the vehicle stops near the abnormal situation, the processor 310 may report the abnormal situation to an external server in real time.

비정상 상황이 해지되면, 프로세서(310)는 자율 주행 제어부(500)에 통상의 주행을 실시하도록 제어 신호를 제공할 수 있다. When the abnormal situation is terminated, the processor 310 may provide a control signal to the autonomous driving controller 500 to perform normal driving.

일 실시예에서 앞서 말한 방식으로 학습된 딥 뉴럴 네트워크(DNN) 또는 샴 네트워크(400)는 자율 주행 제어부(500)가 주도하는 차량의 제어와 연계되어 유사도 판단을 수행할 수 있다. In one embodiment, the deep neural network (DNN) or the Siamese network 400 learned in the above-described manner may perform similarity determination in connection with control of a vehicle led by the autonomous driving controller 500.

딥 뉴럴 네트워크(DNN) 또는 샴 네트워크(400)는 자율 주행 제어부(500)가 주도하는 차량의 행동(출발, 정지, 차선 변경, 우회전, 좌회전, 깜박이, 비상등 점등 등)과 해당 행동 이후 일정 시점 동안의 상황을 학습할 수 있다. 즉, 차량의 행동 이후 일정 시점 동안 정상 상황에 대한 이미지 정보를 수집하고, 이를 기초로 정상 상황을 학습할 수 있다. The deep neural network (DNN) or the Siamese network 400 is a vehicle behavior (start, stop, lane change, right turn, left turn, blinking, emergency light lighting, etc.) led by the autonomous driving controller 500 and for a certain point after the corresponding action. You can learn the situation. That is, image information on a normal situation may be collected for a certain point after the vehicle's action, and the normal situation may be learned based on this.

이렇게 학습된 정상 상황에 대한 정의는 비정상 상황을 판단하는 기초가 될 수 있다. 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 Siamese network 400 may compare the learned first image information, that is, the normal situation information, with the image information acquired at the second view point. The first image information of the first viewpoint may be a situation expected from a viewpoint after the second viewpoint. The deep neural network (DNN) or the Siamese network 400 may determine a similarity between the second image information of the second viewpoint and the first image information of the first viewpoint predicted by learning. When it is determined that the second image information has anomalous data as a result of the similarity determination, the autonomous driving controller 500 may control the vehicle in response to an abnormal situation.

예컨대, 자율 주행 제어부(500)가 차량을 정지 상태에서 출발시키는 경우, 학습된 딥 뉴럴 네트워크(DNN) 또는 샴 네트워크(400)는 일반적인 정지-출발 상황에서 통상적으로 발생하는 상황을 예측할 수 있다. 이러한 예측은 특정 행동(여기서는 출발) 이후에 획득된 제1 이미지 정보에 기초한 예측일 수 있다. (이러한 제1 이미지는 미리 학습되거나 입력될 수 있다.For example, when the autonomous driving controller 500 starts a vehicle from a standstill, the learned deep neural network (DNN) or the Siamese network 400 can predict a situation that normally occurs in a general stop-start situation. This prediction may be a prediction based on first image information acquired after a specific action (start here). (This first image may be learned or input in advance.

딥 뉴럴 네트워크(DNN) 또는 샴 네트워크(400)는 현재 시점인 제2 시점에 획득되는 제2 이미지 정보에 어노말리 데이터가 있다고 판단되는 경우, 자율 주행 제어부(550)는 어노말리 데이터의 종류에 따라(앞서 설명한 바와 같이 어노말리 데이터와 이에 따른 자율 주행 제어부(550)의 대응은 학습되어 있는 것을 전제로) 차량을 제어할 수 있다. 즉, 급 정거, 회피 등의 행동을 취할 수 있다. When it is determined that the deep neural network (DNN) or the Siamese network 400 has anomaly data in the second image information acquired at the second view point, the autonomous driving control unit 550 The vehicle can be controlled (assuming that the anomaly data and the corresponding correspondence of the autonomous driving controller 550 are learned as described above). In other words, you can take actions such as sudden stop and avoidance.

앞서 설명한 바와 같이 자율 주행 차량(100)은 운전자가 탑승하고, 자율 주행 시스템을 온/오프할 수 있는 형태를 포함할 수 있다. As described above, the autonomous driving vehicle 100 may include a form in which a driver can board and turn on/off the autonomous driving system.

일 실시예에서 자율 주행 시스템을 오프한 경우, 제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 processor 310.

제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 processor 310 learns and determines. That is, the second mode may mean a mode in which the autonomous driving system does not control the vehicle, but the learning and determination performed by the processor 310 are performed as in some embodiments of the present invention described above.

이를 통해 프로세서(310)는 운전자가 직접 운전하는 경우에도 필요한 정보를 획득할 수 있다. 정보의 획득 방식은 앞서 설명한 방식과 동일할 수 있다. Through this, the processor 310 may obtain necessary information even when the driver directly drives. The method of obtaining information may be the same as the method described above.

또한, 프로세서(310)는 제2 모드에서 자율 주행 제어부(550)에 제공하는 제어 방식을 시뮬레이션하고, 그 결과를 운전자의 운전 방식과 비교할 수 있다. In addition, the processor 310 may simulate a control method provided to the autonomous driving controller 550 in the second mode, and compare the result with the driver's driving method.

예컨대, 특정 상황에서 프로세서(310)는 특정 행동을 수행하도록 자율 주행 제어부(550)에 제어 신호를 제공할 수 있다. 그러나 자율 주행 시스템이 오프된 상태에서는 제어 신호가 직접 제어로 이어지지는 않는다. 다만, 이 경우에도 프로세서(310)는 특정 상황에서 예정된 특정 행동과 특정 상황에서 운전자의 행동이 다른 경우, 이를 학습의 자료로 활용할 수 있다. 예컨대, 자율 주행 시스템 온 상태를 가정했을 때, 특정 상황에서 직진이 예상되는데 운전자가 정지 행동을 한 경우, 프로세서(310)는 해당 상황을 저장하여 이를 학습의 자료로 이용할 수 있다. 즉, 이를 신규 카테고리로 생성하여 메모리부(330)에 저장할 수 있다. For example, in a specific situation, the processor 310 may provide a control signal to the autonomous driving controller 550 to perform a specific action. However, when the autonomous driving system is off, the control signal does not lead to direct control. However, even in this case, the processor 310 may use this as data for learning when a specific behavior scheduled in a specific situation and a driver's behavior in a specific situation are different. For example, assuming that the autonomous driving system is on, if a driver makes a stop action when a driver is expected to go straight in a specific situation, the processor 310 may store the situation and use it as data for learning. That is, it may be created as a new category and stored in the memory unit 330.

즉, 프로세서(310)가 예정하는 차량의 행동과 운전자의 행동이 다른 경우, 프로세서(310)는 이를 기초로 학습하고, 운전자의 행동이 다른 경우의 적어도 일부를 비정상 상황으로 판단할 수 있다. That is, when the behavior of the vehicle and the behavior of the driver that the processor 310 plans are different, the processor 310 may learn based on this and determine at least a part of the case in which the driver's behavior is different as an abnormal situation.

본 명세서에서 '~부(部)' 또는 '~모듈' 이란 하드웨어에 의해 실현되는 유닛, 소프트웨어에 실현되는 유닛 또는 부분적으로 하드웨어에 의해 실현되고, 부분적으로 소프트웨어에 의해 실현되는 유닛을 모두 포함하는 개념으로 이해될 수 있다. 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.
제1항에 있어서,
상기 정상 상황은 하나 이상의 차량이 주행하고 있는 도로 상황을 포함하는 자율 주행 장치.
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항에 있어서,
상기 차량의 위치 정보를 측정하는 위치 측정부를 더 포함하고,
상기 프로세서는 상기 카메라부에서 제공한 상기 제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.
제1항에 있어서,
상기 이미지 분석부는 외부 서버와 연결되는 네트워크 모듈을 더 포함하고,
상기 자율 주행 제어부는 상기 비정상 상황이 출력되면, 상기 비정상 상황 앞에서 상기 차량을 정지시켜 대기하고, 상기 비정상 상황을 상기 외부 서버에 제공하는 자율 주행 장치.
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항에 있어서,
상기 제어 신호를 기초로 상기 차량을 제어하는 구동 제어 장치를 더 포함하고,
상기 자율 주행 제어부는 제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.
제2항에 있어서,
상기 정상 상황은 상기 차량이 직진하는 상황, 우회전하는 상황, 좌회전하는 상황 및 신호에 따라 정차하는 상황을 더 포함하는 것으로 정의되고,
상기 비정상 상황은 사고 상황, 돌발 상황, 도로 파손 상황 및 동물이나 사람이 출몰하는 상황을 포함하는 것으로 정의되는 자율 주행 장치.
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.
삭제delete 삭제delete 제1항에 있어서,
상기 메모리는 복수의 피쳐 카테고리를 저장하고, 상기 프로세서는 상기 비정상 상황으로 출력된 상기 결과값을 상기 피쳐 카테고리와 비교하되, 상기 피쳐 카테고리에 상기 결과값이 검색되지 않는 경우, 신규 카테고리를 생성하여 상기 메모리에 저장하는 자율 주행 장치.
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.
제1항에 있어서,
상기 비정상 상황에서 상기 프로세서는 상기 비정상 상황의 위험 수준을 수치화하여 출력하고, 상기 자율 주행 제어부는 상기 수치화된 출력값을 기초로 상기 제어 신호를 생성하는 자율 주행 장치.
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항에 있어서,
상기 차량의 위치 정보를 측정하는 위치 측정부를 더 포함하고,
상기 프로세서는 상기 위치 정보와 상기 이미지 정보를 결합한 결합 정보를 생성하되,
상기 프로세서는 상기 위치 정보가 동일한 상기 제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.
제12항에 있어서,
상기 정상 상황은 하나 이상의 차량이 주행하고 있는 도로 상황을 포함하는 자율 주행 장치 운용 방법.
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.
제12항에 있어서,
상기 이미지 정보를 처리하는 단계는 상기 프로세서는 상기 카메라부에서 제공한 상기 제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.
제12항에 있어서,
상기 이미지 분석부는 외부 서버와 연결되는 네트워크 모듈을 더 포함하고,
상기 이미지 정보를 처리하는 단계는 상기 비정상 상황이 출력되면, 상기 비정상 상황 앞에서 상기 차량을 정지시켜 대기하고, 상기 비정상 상황을 상기 외부 서버에 제공하는 단계를 더 포함하는 자율 주행 장치 운용 방법.

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.

삭제delete
KR1020200031994A 2020-03-16 2020-03-16 Autonomous driving device and method for operating autonomous driving device in anomaly situation KR102246706B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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