KR20240053352A - 자율 주행 소프트웨어의 위험도 산출 방법 및 장치 - Google Patents

자율 주행 소프트웨어의 위험도 산출 방법 및 장치 Download PDF

Info

Publication number
KR20240053352A
KR20240053352A KR1020220133338A KR20220133338A KR20240053352A KR 20240053352 A KR20240053352 A KR 20240053352A KR 1020220133338 A KR1020220133338 A KR 1020220133338A KR 20220133338 A KR20220133338 A KR 20220133338A KR 20240053352 A KR20240053352 A KR 20240053352A
Authority
KR
South Korea
Prior art keywords
vehicle
risk
driving
autonomous driving
driving software
Prior art date
Application number
KR1020220133338A
Other languages
English (en)
Inventor
김도형
우준상
Original Assignee
주식회사 스프링클라우드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 스프링클라우드 filed Critical 주식회사 스프링클라우드
Priority to KR1020220133338A priority Critical patent/KR20240053352A/ko
Publication of KR20240053352A publication Critical patent/KR20240053352A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/04Monitoring the functioning of the control system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/402Type
    • 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
    • B60W2556/00Input parameters relating to data
    • B60W2556/20Data confidence level

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Traffic Control Systems (AREA)

Abstract

자율 주행 소프트웨어의 위험도 산출 방법 및 장치가 제공된다. 본 발명에 따른 자율 주행 소프트웨어의 위험도 산출 방법은 컴퓨팅 장치에 의해 수행되고, 자율 주행 소프트웨어를 이용하여 주행 데이터를 획득하는 단계, 상기 주행 데이터를 기초로 상기 자율 주행 소프트웨어의 위험도를 산출하는 단계, 및 상기 위험도를 기초로 상기 자율 주행 소프트웨어에 대한 평가 결과를 제공하는 단계를 포함하고, 상기 위험도를 산출하는 단계는 상기 자율 주행 소프트웨어의 제어에 의해 주행되는 차량과 상기 차량에 인접한 다른 차량 간 차간 거리에 기초하여 상기 위험도를 산출할 수 있다.
상기 자율 주행 소프트웨어의 위험도 산출 방법에 따르면, 자율 주행 소프트웨어의 주행 중 위험도를 산출할 수 있고, 자율 주행 차량의 차간 거리를 기초로 자율 주행 소프트웨어 주행 중 위험도를 판단할 수 있게 된다.

Description

자율 주행 소프트웨어의 위험도 산출 방법 및 장치{METHOD AND APPARATUS FOR CALCULATING HAZARD OF AUTONOMOUS DRIVING SOFTWARE}
본 발명은 자율 주행 소프트웨어의 위험도 산출 방법 및 장치에 관한 것으로, 더욱 상세하게는 자율 주행 소프트웨어의 주행 중 위험도를 산출할 수 있는 방법 및 장치에 관한 것이다.
자율 주행은 크게 인지-판단-제어의 3단계로 수행된다.
인지 단계는 카메라, 라이다(LiDAR), 레이더(RADAR) 등의 다양한 센서를 이용하여 현재 차량의 위치, 진행 방향, 속도, 장애물, 신호 등과 같은 주변 환경을 인지하는 단계이다. 판단 단계는 센서의 정보를 바탕으로 주행 경로를 생성하고, 장애물을 회피하고, 긴급상황에 급제동하는 등의 판단을 내리는 역할을 하는 단계이다. 제어 단계는 인지와 판단을 바탕으로, 조향, 속도, 제동 등을 전자식으로 제어하여 실제 자율 주행을 구현하는 단계이다.
일반적으로, 개별 자율 주행 소프트웨어마다 강점을 가진 분야가 다를 수 있다. 예를 들어, 어떤 자율 주행 소프트웨어는 인지 성능이 우수하고, 다른 자율 주행 소프트웨어는 판단 성능이 우수하고, 또 다른 자율 주행 소프트웨어는 제어 성능이 우수할 수 있다.
실제 자율 주행 성능은 인지 성능, 판단 성능, 및 제어 성능이 종합적으로 작용한 결과로써 나타난다. 따라서, 자율 주행 소프트웨어의 자율 주행 성능을 종합적으로 평가할 수 있는 방법의 제공이 필요하다.
대한민국 등록특허공보 제10-2070527호 (2020.01.28 공고)
본 발명이 해결하고자 하는 일 과제는, 자율 주행 소프트웨어의 주행 중 위험도를 산출할 수 있는 방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는, 자율 주행 차량의 차간 거리를 기초로 자율 주행 소프트웨어 주행 중 위험도를 판단할 수 있는 자율 주행 소프트웨어의 위험도 산출 방법 및 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 발명의 과제를 해결하기 위한 자율 주행 소프트웨어의 위험도 산출 방법은 컴퓨팅 장치에 의해 수행되고, 자율 주행 소프트웨어를 이용하여 주행 데이터를 획득하는 단계, 상기 주행 데이터를 기초로 상기 자율 주행 소프트웨어의 위험도를 결정하는 단계, 및 상기 위험도를 기초로 상기 자율 주행 소프트웨어에 대한 평가 결과를 제공하는 단계를 포함하고, 상기 위험도를 결정하는 단계는 상기 자율 주행 소프트웨어의 제어에 의해 주행되는 차량과 상기 차량에 인접한 다른 차량 간 차간 거리에 기초하여 상기 위험도를 결정할 수 있다.
일 실시예로서, 상기 주행 데이터는 상기 자율 주행 소프트웨어를 이용하여 상기 차량을 주행 경로 상에서 주행시키는 동안 수집된, 상기 차량의 속도, 상기 차량의 최대 가속도, 상기 차량의 최대 감가속도, 상기 다른 차량의 속도, 상기 다른 차량의 최대 감가속도, 상기 다른 차량의 최소 감가속도, 또는 상기 차간 거리를 포함할 수 있다.
일 실시예로서, 상기 차량은 가상의 시뮬레이션 차량이고, 상기 주행 경로는 미리 결정된 시나리오 조건을 기초로 생성된 시나리오 상의 주행 경로일 수 있다.
일 실시예로서, 상기 위험도를 결정하는 단계는 상기 주행 데이터를 기초로 상기 차량의 안전 거리를 산출하는 단계, 상기 안전 거리와 상기 차간 거리 사이의 오차를 산출하는 단계, 및 상기 오차를 기초로 상기 위험도를 산출하는 단계를 포함할 수 있다.
일 실시예로서, 상기 안전 거리는 수학식 에 기초하여 산출되고, 상기 은 상기 차량의 속도이고, 상기 ρ는 미리 결정된 반응 속도이고, 상기 는 상기 차량의 최대 감가속도이고, 상기 ,는 상기 차량의 최대 가속도이고, 상기 는 상기 다른 차량의 속도이고, 상기 β는 상기 다른 차량의 최대 감가속도이고, 상기 β는 상기 다른 차량의 최소 감가속도일 수 있다.
일 실시예로서, 상기 위험도를 산출하는 단계는 상기 오차를 기초로 상기 차량의 평균 오차율을 산출하고, 상기 평균 오차율이 속하는 구간에 따라, 상기 구간에 대응되는 값을 상기 위험도로서 산출할 수 있다.
일 실시예로서, 상기 평가 결과는 상기 위험도와 함께, 상기 자율 주행 소프트웨어의 객체 인지 성능 평가 결과, 또는 상기 자율 주행 소프트웨어의 주행 성능 평가 결과를 포함할 수 있다.
일 실시예로서, 상기 주행 성능 평가 결과는 상기 차량과 상기 다른 차량 간에 충돌 이벤트가 발생했는지 여부를 나타내는 차량 간 충돌 정보를 포함하고, 상기 위험도가 제1 값인 경우, 상기 위험도는 상기 차량 간 충돌 정보와 연관되어 표시될 수 있다.
일 실시예로서, 상기 평가 결과는 상기 위험도, 상기 객체 인지 성능 평가 결과, 및 상기 주행 성능 평가 결과를 가중 합산한 값에 기초한 종합 평가 결과를 포함할 수 있다.
본 발명의 과제를 해결하기 위한 자율 주행 소프트웨어의 위험도 산출 장치는 프로세서, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리, 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은 자율 주행 소프트웨어를 이용하여 주행 데이터를 획득하는 동작, 상기 주행 데이터를 기초로 상기 자율 주행 소프트웨어의 위험도를 산출하는 동작, 및 상기 위험도를 기초로 상기 자율 주행 소프트웨어에 대한 평가 결과를 제공하는 동작을 실행하기 위한 인스트럭션들을 포함하고, 상기 위험도를 산출하는 단계는 상기 자율 주행 소프트웨어의 제어에 의해 주행되는 차량과 상기 차량에 인접한 다른 차량 간 차간 거리에 기초하여 상기 위험도를 산출할 수 있다.
이상에서 설명한 본 발명의 실시예들에 따르면, 자율 주행 소프트웨어의 주행 중 위험도를 산출할 수 있는 방법 및 장치가 제공될 수 있다.
또한, 자율 주행 차량의 차간 거리를 기초로 자율 주행 소프트웨어 주행 중 위험도를 판단할 수 있는 자율 주행 소프트웨어의 위험도 산출 방법 및 장치가 제공될 수 있다.
본 발명의 유리한 기술적 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 효과들이 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른, 자율 주행 소프트웨어 평가 장치가 적용된 시스템의 구성도이다.
도 2는 도 1의 자율 주행 소프트웨어 평가 장치의 주요 구성을 예시적으로 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른, 자율 주행 소프트웨어 평가 방법을 나타내는 순서도이다.
도 4는 자율 주행 차량의 예시적인 주행 환경을 부연설명하기 위한 도면이다.
도 5는 도 3의 S120 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다.
도 6 내지 도 8은 도 5의 실시예를 구체적인 예를 들어 부연설명하기 위한 도면들이다.
도 9는 도 8의 정밀도 또는 재현율을 가중 값을 이용하여 보정하는 방법을 설명하기 위한 도면이다.
도 10은 도 3의 S130 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다.
도 11 내지 도 14는 도 10의 실시예를 구체적인 예를 들어 부연설명하기 위한 도면들이다.
도 15는 인지 정확도 및 주행 안전도에 기초하여 평가 결과가 제공되는 방법을 부연설명하기 위한 도면이다.
도 16은 본 발명의 다른 일 실시예에 따른 자율 주행 소프트웨어 평가 방법을 나타내는 순서도이다.
도 17은 도 16의 S230 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다.
도 18은 도 17의 실시예를 부연설명하기 위한 도면이다.
도 19는 본 발명의 또 다른 일 실시예에 따른 자율 주행 소프트웨어 평가 방법을 나타내는 순서도이다.
도 20은 도 19의 S340 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다.
도 21 및 도 22는 도 20의 실시예를 부연설명하기 위한 도면들이다.
도 23은 본 발명의 다양한 실시예들이 구현되는 컴퓨팅 장치(500)의 예시적인 하드웨어 구성을 나타내는 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
본 명세서에서 사용되는 "차량(vehicle)", "차량의(vehicular)" 또는 다른 유사한 용어는 자동차들, 일반적으로 스포츠 유틸리티 차량들(SUV)을 포함하는 자가용들(passenger automobiles), 버스들, 트럭들, 다양한 상업 차량들, 다양한 보트들 및 배들을 포함하는 선박, 비행기 등을 포함하고, 그리고 하이브리드 자동차, 전기 자동차, 하이브리드 전기 자동차, 수소 동력 차량들과 다른 대체 연료(예를 들어, 석유가 아닌 자원들로부터 유도된 연료들) 차량들을 포함하는 것으로 이해된다. 본 명세서에서 언급되는 바와 같이, 전기 자동차(EV)는 자신의 이동 능력들(locomotion capabilities)의 부분으로서, 충전 가능한 에너지 저장 장치(예를 들어, 하나 이상의 재충전 가능한 전기 화학적 셀 또는 다른 유형의 배터리)로부터 얻어지는 전기 동력을 포함하는 차량일 수 있다. EV는 자동차에 한정되는 것이 아니고 모터 사이클들, 카트들, 스쿠터들 등을 포함할 수 있다. 또한, 하이브리드 자동차는, 두 개 이상의 전력 소스, 일례로 가솔린 기반 동력 및 전기 기반 동력을 갖는 차량일 수 있다(예를 들어, 하이브리드 전기 자동차).
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
이하, 도면을 참조하여 본 발명의 사상 및 실시예들을 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른, 자율 주행 소프트웨어 평가 장치가 적용된 시스템의 구성도이다.
도 1의 시스템은 자율 주행 소프트웨어 평가 장치(100) 및 사용자 단말(200)을 포함할 수 있다. 자율 주행 소프트웨어 평가 장치(100)는 사용자 단말(200)과 네트워크(미도시)를 통해 상호 통신할 수 있다.
상기 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network;WAN) 또는 부가가치 통신망(Value Added Network; VAN) 등과 같은 유선 네트워크로 구현될 수 있다. 또한, 네트워크는 이동 통신망(mobile radio communication network), 위성 통신망, 블루투스(Bluetooth), Wibro(Wireless Broadband Internet), HSDPA(High Speed Downlink Packet Access), LTE(Long Term Evolution) 등과 같은 모든 종류의 무선 네트워크로 구현될 수 있다. 일 실시예로서, 네트워크는 유선 및 무선이 혼용된 네트워크일 수 있다.
자율 주행 소프트웨어 평가 장치(100)는 자율 주행 소프트웨어의 자율 주행 성능을 평가하는 장치로서, 자율 주행 소프트웨어가 탑재된 차량으로부터 객체 인지 데이터 및 주행 데이터를 수집한 후, 이를 기초로 자율 주행 소프트웨어의 객체 인지 성능, 주행 성능, 및/또는 주행 중 위험도를 평가한다.
일 실시에로서, 자율 주행 소프트웨어 평가 장치(100)는 미리 결정된 시나리오 조건을 근거로 다양한 시나리오를 생성할 수 있다. 이때, 자율 주행 소프트웨어 평가 장치(100)는 각 시나리오에 따라 자율 주행 차량을 주행시킨 후, 자율 주행 차량의 센서로부터 데이터를 수집하고, 수집된 데이터를 미리 구비된 평가 알고리즘에 따라 가공하여, 그 결과를 기초로 자율 주행 소프트웨어의 객체 인지 성능, 주행 성능, 및/또는 주행 중 위험도를 평가할 수 있다.
일 실시예로서, 상기 센서로부터 수집되는 데이터는 자율 주행 차량 주변의 객체를 인지한 객체 인지 데이터, 및/또는 자율 주행 차량의 속도, 가속도, 차간 거리 등 주행과 관련된 파라미터(parameter)를 나타내는 주행 데이터를 포함할 수 있다.
사용자 단말(200)은 자율 주행 소프트웨어 평가 장치(100)의 시나리오 생성에 필요한 소스(source)가 되는 시나리오 조건을 설정하여 네트워크를 통해 전송할 수 있다. 예를 들어, 시나리오 조건은 도로 타입(road type), 차량 타입(vehicle type), 주행 방식(driving style), 및/또는 교통 조건(traffic condition) 등을 포함할 수 있다.
일 실시예로서, 상기 주행 타입은 고속도로, 국도, 주차장, 직선로, 및 곡선로 등을 포함하고, 차량 타입은 그랜저, 소나타, 제네시스 등 구체적인 차종을 포함하고, 주행 방식은 차로 유지 주행, 차선 변경, 차간 유지 등을 포함하고, 교통 조건은 교통 체증, 교통 원활 등을 포함할 수 있다.
이와 같이 사용자 단말(200)은 다양한 시나리오 조건을 설정한 후, 이를 네트워크를 통해 자율 주행 소프트웨어 평가 장치(100)로 전송할 수 있다.
일 실시예로서, 사용자 단말(200)은 휴대용 단말기 또는 휴대용 컴퓨터로 구현될 수 있다. 여기서, 휴대용 단말기는 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(WCode Division Multiple Access), Wibro(Wireless Broadband Internet), 와이파이(Wi-Fi), LTE(Long Term Evolution) 단말 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 휴대용 컴퓨터는 노트북, 랩톱(laptop) 등을 포함할 수 있다.
일 실시예로서, 사용자 단말(100)은 스마트폰, 스마트 노트, 태블릿 PC, 웨어러블(wearable) 컴퓨터 등의 각종 스마트 기기일 수 있다.
도 2는 도 1의 자율 주행 소프트웨어 평가 장치의 주요 구성을 예시적으로 나타내는 블록도이다. 도 2를 참조하면, 자율 주행 소프트웨어 평가 장치(100)는 시나리오 생성부(110), 데이터 획득부(120), 인지 정확도 산출부(130), 및/또는 평가 결과 제공부(140)를 포함할 수 있다.
시나리오 생성부(110)는 사용자 단말(100)로부터의 시나리오 조건을 근거로 하나 이상의 시나리오를 생성할 수 있다. 예를 들어, 시나리오 생성부(110)는 도로 타입(road type), 차량 타입(vehicle type), 주행 방식(driving style), 및/또는 교통 조건(traffic condition) 등의 시나리오 조건을 기초로 다양한 시나리오를 생성할 수 있다.
데이터 획득부(120)는 시나리오에 따라 주행하는 자율 주행 차량의 센서로부터 객체 인지 데이터, 및/또는 주행 데이터를 수집한다. 일 실시예로서, 상기 센서는 자율 주행 차량에 설치된 카메라, 라이다(LiDAR), 레이더(RADAR), GPS, 및/또는 IMU 센서일 수 있다.
일 실시예로서, 데이터 획득부(120)는 시나리오에 기초하여 가상으로 구축된 환경하에서 자율 주행하는 차량으로부터 상기 객체 인지 데이터 및/또는 주행 데이터를 수집할 수 있다. 이 경우, 상기 차량은 가상의 시뮬레이션 차량이고, 상기 차량의 주행 경로는 미리 결정된 시나리오 조건을 기초로 생성된 시나리오 상의 주행 경로이며, 상기 센서는 상기 차량에 장착되거나 임베디드된 시뮬레이션 센서일 수 있다.
다른 실시예로서, 데이터 획득부(120)는 실제 도로를 자율 주행하는 차량으로부터 상기 객체 인지 데이터 및/또는 주행 데이터를 수집할 수 있다. 이 경우, 상기 차량은 실제 차량이고, 상기 센서는 상기 차량에 장착되거나 임베디드된 실물 센서일 수 있다.
인지 정확도 산출부(130)는 데이터 획득부(120)가 획득한 데이터를 기초로, 자율 주행 소프트웨어가 자율 주행 중 주변 객체를 얼마나 잘 인지했는지를 나타내는 인지 정확도를 산출한다. 구체적으로, 인지 정확도 산출부(130)는 데이터 획득부(120)가 획득한 데이터 중 객체 인지 데이터를 레퍼런스 데이터와 비교하여 정밀도 및 재현율을 결정하고, 상기 정밀도 및 상기 재현율을 이용하여 각 객체 클래스에 대한 인지 정확도를 산출한다. 인지 정확도가 산출되는 구체적인 방법 및 프로세스에 대해서는 도 3 이하에서 상세히 후술되므로 여기서는 그에 대한 설명을 생략하기로 한다.
평가 결과 제공부(140)는 인지 정확도 산출부(130)가 산출한 인지 정확도를 기초로 자율 주행 소프트웨어에 대한 평가 결과를 제공한다. 이때, 상기 평가 결과는 인지 정확도를 기초로 결정된 객체 인지 성능 평가 결과를 포함할 수 있다.
일 실시예로서, 상기 평가 결과는 자율 주행 차량의 주행 안전도를 기초로 결정된 주행 성능 평가 결과, 및/또는 자율 주행 차량의 주행 데이터를 기초로 결정된 주행 중 위험도를 더 포함할 수 있다. 상기 주행 안전도 및 상기 위험도에 대해서는 이후에 더욱 상세히 후술되므로 여기서는 그에 대한 설명을 생략하기로 한다.
이하에서는, 도 2의 자율 주행 소프트웨어 평가 장치(100)의 구체적인 동작 및 그것의 자율 주행 소프트웨어 평가 방법을 구체적인 실시예와 함께 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른, 자율 주행 소프트웨어 평가 방법을 나타내는 순서도이다. 도 3의 자율 주행 소프트웨어 평가 방법은 도 1의 자율 주행 소프트웨어 평가 장치(100)에 의해 수행된다. 따라서, 이하의 단계들에서 수행 주체가 생략된 경우, 그 수행 주체는 상기 자율 주행 소프트웨어 평가 장치(100)인 것으로 가정한다.
S110 단계에서, 자율 주행 소프트웨어를 이용하여 객체 인지 데이터가 획득된다. 상기 객체 인지 데이터는 자율 주행 소프트웨어를 이용하여 주행되는 차량으로부터 수집된 데이터로서, 상기 차량의 주행 경로 상에 위치한 객체를 인지한 데이터일 수 있다.
일 실시예로서, 상기 차량은 가상의 시뮬레이션 차량이고, 상기 주행 경로는 미리 결정된 시나리오 조건을 기초로 생성된 시나리오 상의 주행 경로일 수 있다.
S120 단계에서, 객체 인지 데이터를 레퍼런스 데이터와 비교하여 정밀도 및 재현율이 결정된다.
객체 인지 데이터는 자율 주행 차량이 주행 경로 상의 객체를 인지한 데이터로서 이를 레퍼런스 데이터와 비교하여, 자율 주행 차량이 객체를 올바르게 인지했는지 판단한다.
일 실시예로서, 상기 레퍼런스 데이터는 주행 경로 상에 존재하는 객체를 라벨링(Labeling)한 데이터 또는, 자율 주행 차량이 마땅히 인지해야 하는 것으로 사전에 가정된 객체를 나타내는 그라운드 트루쓰(Ground-truth) 데이터일 수 있다.
정밀도(Precision)는 자율 주행 차량이 인지한 객체 중 옳게 인지한 객체의 비율을 의미한다. 정밀도는 아래 식으로 나타내어 질 수 있다.
정밀도(Precision) = TP / (TP + FP)
여기서, TP(True positive)는 자율 주행이 객체를 옳게 인지한 것을 의미하는 것으로 정인지, 또는 옳은 검출로 지칭된다. FP(False positive)는 자율 주행이 객체를 틀리게 인지한 것을 의미하는 것으로 오인지, 또는 잘못된 검출로 지칭된다.
예를 들어, 자율 주행 차량 소프트웨어가 5개 객체를 인지했는데, 그 중 4개의 객체가 옳게 인지된 것이라면 정밀도는 4/5 = 0.8이 된다.
재현율(Recall)은 자율 주행 차량이 인지해야 하는 객체 중 옳게 인지한 객체의 비율을 의미한다. 재현율은 아래 식으로 나타내어 질 수 있다.
재현율(Recall) = TP / (TP + FN)
여기서, TP(True positive)는 자율 주행이 객체를 옳게 인지한 것을 의미하는 것으로 정인지, 또는 옳은 검출로 지칭된다. FN(False negative)은 자율 주행 차량이 인지해야 하는 객체 중 인지되지 않은 것을 의미하는 것으로 미인지, 또는 미검출로 지칭된다.
예를 들어, 레퍼런스 데이터에 포함된 객체(즉, 마땅히 인지되어야 할 객체)가 10개인데 그 중 4개가 옳게 인지되었다면 재현율은 4/10 = 0.4가 된다.
한편, 객체 인지 데이터를 레퍼런스 데이터와 비교하여 정밀도 및 재현율이 결정하는 구체적인 방법은 도 5 이하에서 상세히 후술되므로 여기서는 그에 대한 설명을 생략한다.
S130 단계에서, 정밀도 및 재현율을 기초로, 하나 이상의 객체 클래스에 대한 인지 정확도가 산출된다.
자율 주행 소프트웨어의 객체 인지 성능을 평가할 때, 정밀도 또는 재현율만으로 객체 인지 성능을 평가하는 것은 적절하지 않다. 예를 들어, 레퍼런스 데이터 포함된 객체가 10개인데 자율 주행 소프트웨어가 인지한 객체는 5개이고 그 중 옳게 인지한 객체가 4개라고 가정해보자. 이 경우, 정밀도는 4/5 = 0.8이고, 재현율은 4/10 = 0.4로서, 상대적으로 정밀도는 우수하지만 재현율은 좋지 않은 것으로 보인다.
일반적으로, 정밀도와 재현율은 항상 0과 1사이의 값을 가지며, 정밀도가 높으면 재현율이 낮아지는 경향이 있고, 재현율이 높으면 정밀도가 낮아지는 경향이 있다. 따라서, 어느 정밀도와 재현율 중 어느 하나만으로 자율 주행 소프트웨어의 객체 인지 성능을 평가하는 것은 적절하지 않으며, 정밀도와 재현율을 함께 고려하여 객체 인지 성능을 평가하는 것이 바람직하다.
본 실시예에서는, 정밀도 및 재현율을 기초로 정밀도-재현율 곡선을 생성하고, 이렇게 생성된 정밀도-재현율 곡선을 이용하여 각 객체 클래스에 대한 인지 정확도를 산출한다.
한편, 정밀도 및 재현율을 기초로 정밀도-재현율 곡선을 생성하고, 이를 이용하여 인지 정확도를 산출하는 구체적인 방법은 도 10 이하에서 상세히 후술되므로 여기서는 그에 대한 설명을 생략한다.
S140 단계에서, 인지 정확도를 기초로 자율 주행 소프트웨어에 대한 평가 결과가 제공된다.
일 실시예로서, 상기 평가 결과는 하나 이상의 클래스에 대한 인지 정확도, 또는 하나 이상의 클래스에 대한 인지 정확도의 평균값을 객체 인지 성능 평가 결과로서 포함할 수 있다.
일 실시예로서, 상기 평가 결과는 자율 주행 차량의 주행 안전도를 기초로 결정된 주행 성능 평가 결과, 및/또는 자율 주행 차량의 주행 데이터를 기초로 결정된 주행 중 위험도를 더 포함할 수 있다.
도 4는 본 발명의 실시예들에서 설명되는, 자율 주행 차량의 예시적인 주행 환경을 부연설명하기 위한 도면이다. 이하, 도면을 참조하여 설명한다.
차량(10)은 자율 주행 소프트웨어에 의해 주행되는 가상의 시뮬레이션 차량으로서, 시나리오에 기초하여 가상으로 구축된 환경 하의 가상의 도로(20)를 주행하는 차량일 수 있다.
또는, 차량(10)은 자율 주행 소프트웨어에 의해 주행되는 가상의 시뮬레이션 차량으로서, 자율 주행 성능을 측정하기 위한 환경이 조성된 실제 도로(20)를 주행하는 차량일 수 있다.
자율 주행 소프트웨어는 차량(10)이 주행 경로(20, 또는 도로)를 주행하는 동안 차량(10) 주변의 객체를 인지한 객체 인지 데이터, 또는 차량(10)의 주행 상태나 주행 중 이벤트를 나타내는 주행 데이터를 생성 및/또는 획득한다.
일 실시예로서, 상기 객체 인지 데이터는 주행 경로(20)를 따라 위치한 복수의 지점(P1, P2, P3)에서 해당 지점의 객체를 각각 촬영한 복수의 이미지를 포함할 수 있다.
일 실시예로서, 상기 주행 데이터는 차량(10)이 주행 경로(20)를 따라 주행하는 동안 차량과 연관되어 발생한 이벤트(예를 들어, 다른 차량과 충돌)를 나타내는 데이터, 또는 차량(10)이 주행 경로(20)를 따라 주행하는 동안 검출된 차량(10)의 속도, 가속도, 감가속도, 최대 가속도, 최대 감가속도, 다른 차량과의 거리를 나타내는 데이터를 포함할 수 있다.
도 5는 도 3의 S120 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 도 5의 실시예에서는 객체 인지 데이터를 레퍼런스 데이터와 비교하여 정밀도 및 재현율이 결정하는 구체적인 방법이 설명된다.
S121 단계에서, 객체 인지 데이터에 대응되는 레퍼런스 데이터가 확인된다.
본 실시예에서, 자율 주행 소프트웨어의 객체 인지 정확도는 자율 주행 소프트웨어를 이용하여 획득된 객체 인지 데이터와 레퍼런스 데이터를 비교하여, 양 쪽 데이터의 객체 정보가 서로 일치하는지 판단하는 방법에 의해 결정된다.
따라서, 이를 위해서는 획득된 객체 인지 데이터에 대응되는 레퍼런스 데이터가 무엇인지 먼저 확인하고, 이후 객체 인지 데이터의 객체 정보와 레퍼런스 데이터의 객체 정보를 상호 비교하는 것이 필요하다.
S122 단계에서, 객체 인지 데이터와 레퍼런스 데이터 간 일치 정보가 산출된다.
여기서, 일치 정보는 객체 인지 데이터의 객체 정보와 레퍼런스 데이터의 객체 정보 간 상호 일치 정도를 나타내는 값으로서, IoU(Intersection Over Union)일 수 있다. 이에 대한 부연설명을 위해 도 6을 참조한다.
도 6에는, 표지판 객체(30)에 대해 두 개의 바운딩 박스(bounding box)가 설정된 예가 도시된다. 그 중 제1 바운딩 박스(31)는 레퍼런스 데이터의 객체 정보이고, 제2 바운딩 박스(32)는 객체 인지 데이터의 객체 정보인 것으로 가정된다.
일치 정보는 각 객체에 대해 레퍼런스 데이터 및 객체 인지 데이터를 기초로 각각 바운딩 박스를 설정하고, 각 바운딩 박스 간 IoU를 산출하는 방식으로 얻어진다.
IoU는 레퍼런스 데이터에 기초한 제1 바운딩 박스(31)의 영역과 객체 인지 데이터에 기초한 제2 바운딩 박스(32)의 영역의 교집합과 합집합의 비율을 의미한다. 가령, 도 7을 참조하면, IoU는 제1 바운딩 박스(31)와 제2 바운딩 박스(32)가 중첩된 영역의 넓이(S3)를 제1 바운딩 박스(31)와 제2 바운딩 박스(32)로 둘러싸인 영역의 넓이(S1 + S2 - S3)로 나눈 값인 S3 / [S1 + S2 - S3]가 된다.
따라서, 일치 정보(즉, IoU)는 0에서 1사이의 값을 가지게 되며, 제1 바운딩 박스(31)의 영역과 제2 바운딩 박스(32)의 영역이 완전히 일치하게 되면 "1" 값을 가지고, 제1 바운딩 박스(31)의 영역과 제2 바운딩 박스(32)의 영역이 전혀 겹치지 않으면 "0" 값을 가진다.
다시 도 5로 돌아가면, S123 단계에서, 일치 정보에 기초하여 정밀도 및 재현율이 산출된다.
일 실시예로서, 특정 객체에 대해 산출된 일치 정보(즉, IoU)가 제1 값을 초과하면 해당 객체를 인지한 것으로, 일치 정보가 제1 값 이하이면 해당 객체를 인지하지 못한 것으로 판정될 수 있다. 예를 들어, 제1 값이 0.5 인 경우, 일치 정보가 0.5를 초과하면 자율 주행 소프트웨어가 해당 객체를 인지한 것으로, 일치 정보가 0.5이하 이면 자율 주행 소프트웨어가 해당 객체를 인지하지 못한 것으로 각각 판정될 수 있다.
본 실시예에서는, 일치 정보가 제1 값을 초과하면서 자율 주행 소프트웨어가 분류한 객체 유형(예를 들어, 표지판)이 레퍼런스 데이터의 객체 유형(예를 들어, 표지판)과 일치하면 해당 객체는 정인지된 것으로 판정된다. 반면에, 일치 정보가 제1 값을 초과하면서 자율 주행 소프트웨어가 분류한 객체 유형(예를 들어, 나무)이 레퍼런스 데이터의 객체 유형(예를 들어, 표지판)과 불일치하면 해당 객체는 오인지된 것으로 판정된다. 일치 정보가 제1 값 미만이거나, 자율 주행 소프트웨어가 분류한 객체 유형이'알 수 없음'인 경우에는 해당 객체는 미인지된 것으로 판정된다.
이러한 방식으로, 객체 인지 데이터의 객체 정보를 기초로, 자율 주행 소프트웨어가 각 객체를 정인지, 오인지, 및/또는 미인지했는지 여부가 각각 판정될 수 있다.
각 객체에 대해 정인지, 오인지, 및/또는 미인지가 판정되면, 이를 기초로 정밀도 및 재현율이 산출될 수 있다.
앞서 설명한 바와 같이, 정밀도 및 재현율은 아래 식에 따라 산출된다.
정밀도(Precision) = TP / (TP + FP)
재현율(Recall) = TP / (TP + FN)
만약, 10개의 객체에 대해, 자율 주행 소프트웨어가 5개를 정인지, 3개를 오인지, 2개를 미인지했다고 가정하면, 정밀도는 5 / (5 + 3) = 0.625로, 재현율은 5 / (5 + 2) = 0.714로 각각 산출된다.
도 8을 참조하면, 10개의 객체에 대한 정인지, 또는 오인지를 판정하면서 정밀도 및 재현율을 산출해가는 과정이 도시된다. 도 8의 실시예에서, 미인지된 객체는 없는 것으로 가정된다.
도 8의 표(40)를 참조하면, 제1 컬럼(41)은 객체의 순번을 나타내고, 제2 컬럼(42)은 각 객체에 대한 판정을 나타내고, 제3 컬럼(43) 및 제4 컬럼(44)은 해당 객체의 판정을 반영한 정밀도 및 재현율을 나타낸다.
첫 번째 객체를 판정했을 때는 정밀도와 재현율이 각각 1과 0.2였다가, 마지막 객체까지 모두 판정한 후 최종적인 정밀도와 재현율이 각각 0.5와 1.0으로 산출된 것을 확인할 수 있다.
한편, 일 실시예로서, 객체의 정인지, 미인지, 및/또는 오인지를 기초로 1차 산출된 정밀도와 재현율을 미리 결정된 가중 값을 이용하여 보정하고, 보정된 값을 최종적인 정밀도와 재현율로 결정할 수도 있다. 이에 대한 구체적인 설명을 위해 도 9를 참조한다.
도 9는 도 8의 정밀도 또는 재현율을 가중 값을 이용하여 보정하는 방법을 설명하기 위한 도면이다.
도 9의 표(50)는 도 8의 표(40)와 부분적으로 유사하다. 가령, 표(50)의 제1 컬럼(51), 제2 컬럼(52), 제3 컬럼(53), 및 제4 컬럼(54)은 표(40)의 제1 컬럼(41), 제2 컬럼(42), 제3 컬럼(43), 및 제4 컬럼(44)와 각각 동일하다.
다만, 도 9의 표(50)는 제5 컬럼(55)을 더 포함하는 점이 상이하다.
제5 컬럼(55)은 각 객체의 배경 정보에 기초하여 결정된 가중 값을 나타낸다. 가령, 객체 주위에 다른 사물이 많아 전체적으로 복잡한 배경을 형성하거나 객체와 주변 배경의 색상이 유사하여 객체의 판정이 용이하지 않음에도 이를 올바르게 정인지했다면 해당 자율 주행 소프트웨어는 객체 인지 성능이 더욱 뛰어난 것으로 볼 수 있다. 따라서, 이를 평가 결과에 반영하기 위해, 각 객체의 배경 정보에 기초하여, 배경이 복잡하거나 배경과 색상이 유사하여 판정이 용이하지 않은 객체에 대해서는 그 판정 결과에 가중 값을 부여할 수 있다.
제5 컬럼(55)은 상기 가중 값을 나타내는 것으로, 각 가중 값은 객체의 배경 정보에 따라 상이할 수 있다. 예를 들어, 배경의 복잡도가 미리 결정된 값 이상인 5번 객체에는 가중 값이 0.2가 부여되고, 배경과 색상이 유사한 2번 객체 및 10번 객체에는 가중 값이 0.1이 부여될 수 있다. 나머지 객체들은 특별히 가중 값을 부여할 사정이 없는 경우, 가중 값은 0으로 설정된다.
각 객체에 대해 설정된 가중 값은 해당 객체가 정인지된 경우에만 유효하게 반영된다. 예를 들어, 5번 객체의 가중 값은 해당 객체가 오인지 되었으므로, 정밀도 또는 재현율을 보정할 때 무시된다.
정인지된 객체의 가중 값은 합산되어 정밀도 또는 재현율에 가산되는 방식으로, 정밀도 또는 재현율을 보정한다. 예를 들어, 도 9의 실시예에서 합산된 가중 값은 0.2가 되고, 그에 따라 보정된 정밀도는 0.7이 되고, 보정된 재현율은 1.2가 된다. 이러한 방식에 따르면, 보정된 정밀도 또는 보정된 재현율이 1을 초과하는 경우가 발생할 수도 있지만, 그 자체로 어떤 문제를 야기하는 것은 아니며 이는 그만큼 자율 주행 소프트웨어의 객체 인지 성능이 우수하다는 의미로 받아들이면 된다.
도 10은 도 3의 S130 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 본 실시예에서는, 정밀도 및 재현율을 기초로 정밀도-재현율 곡선을 생성하고, 이를 이용하여 인지 정확도를 산출하는 구체적인 방법을 설명한다. 이때, 정밀도-재현율 곡선의 생성이 이용되는 정밀도 및 재현율은 도 8에서 설명한 정밀도 및 재현율일 수도 있고, 도 9에서 설명한 보정된 정밀도 및 재현율일 수도 있다.
S131 단계에서, 정밀도 및 상기 재현율을 기초로 정밀도-재현율 곡선이 획득된다.
먼저, 복수의 테스트 케이스에 대해 자율 주행 소프트웨어의 정밀도 및 재현율을 산출한다. 이는 자율 주행 소프트웨어에 대한 평가 정확도를 높이기 위함이다.
도 11을 참조하면, 복수의 케이스에 대해 자율 주행 소프트웨어의 정밀도 및 재현율을 산출된 예가 도시된다. 표(60)의 제1 컬럼(61)은 각 테스트 케이스를 차량의 번호로 나타낸 항목이고, 제2 컬럼(62) 및 제3 컬럼(63)은 각 테스트 케이스에 대한 정밀도 및 재현율을 나타낸다.
그리고, 복수의 케이스에 대해 산출된 정밀도 및 재현율을 정밀도-재현율 곡성을 생성한다. 이에 대한 구체적인 예가 도 12에 도시된다.
도 12 (a)는 도 11의 실시예를 이용하여 정밀도-재현율 곡선을 생성한 예를 나타낸다. 예를 들어, 도 11의 표(60)를 참조하여 각 테스트 케이스에 대해 정밀도-재현율 쌍을 나타내면 다음과 같다.
(1.0, 0.067), (1.0, 0.13), (1.0, 0.2), (1.0, 0.27), (1.0, 0.33), (0.83, 0.33), (0.86, 0.4), (0.75, 0.4), (0.78, 0.47), (0.7, 0.47)
상기 정밀도-재현율 쌍을 좌표 평면 상에 좌표로서 표시하고, 표시된 각 좌표를 이으면, 도 12 (a)에 도시된 정밀도-재현율 곡선이 생성된다. 여기서, x축은 재현율이고, y축은 정밀도이다.
일 실시예로서, 정밀도-재현율 곡선은 단조 감소하는 곡선이 되도록 보정될 수 있다. 이에 대해 도 12의 예를 기준으로 부연설명한다.
도 12 (a)의 제1 정밀도-재현율 곡선(70)은 정밀도 및 재현율 값을 기초로 생성된 오리지널 곡선이지만, 두 개의 증가 구간(71, 72)을 가지고 있다. 이에, 일반적인 정밀도-재현율 관계에 더욱 잘 부합하도록, 증가 구간(71, 72)의 곡선을 보정하여 단조 감소하는 그래프로 만들어준다.
도 12 (b)에는 제1 정밀도-재현율 곡선(70)을 단조 감소하도록 보정한 제2 정밀도-재현율 곡선(80)이 도시된다. 앞서의 증가 구간(71, 72)이 플랫(flat) 구간(81, 82)으로 보정된 것을 확인할 수 있다.
S132 단계에서, 정밀도-재현율 곡선에 의해 구획된 영역을 이용하여 인지 정확도가 산출된다.
이에 대한 구체적인 설명을 위해 도 13을 참조하면, 도 13에서, x축(재현율)과 y축(정밀도), 정밀도-재현율 곡선(80)으로 둘러싸인 영역(83)이 존재한다. 이때, 상기 영역(83)의 넓이를 인지 정확도로 정의한다.
도 13의 예를 기준으로 인지 정확도를 계산하면, 인지 정확도 값은 1*0.33 + 0.86*(0.4-0.33) + 0.77*(0.46-0.4) = 0.4364가 된다.
한편, 인지 정확도는 객체의 클래스마다 각각 구해질 수 있다. 객체의 클래스에 따라 자율 주행 소프트웨어의 객체 인지 성능이 다를 수 있기 때문이다.
도 14에는 하나의 자율 주행 소프트웨어에 대해 각 객체 클래스 별로 인지 정확도를 산출한 결과가 도시된다.
차량 클래스에 대해서는 85.2로, 보행자 클래스에 대해서는 80.8로, 신호등 클래스에 대해서는 37.1로, 표지판 클래스에 대해서는 16.9로 각각 인지 정확도가 산출된 것이 확인된다.
도 15는 인지 정확도 및 주행 안전도에 기초하여 평가 결과가 제공되는 방법을 부연설명하기 위한 도면이다.
평가 결과 제공부(160)는 산출된 인지 정확도를 기초로 평가 결과를 출력한다.
일 실시예로서, 평가 결과는, 자율 주행 소프트웨어에 대한 객체 인지 성능 평가 결과, 주행 성능 평가 결과, 및/또는 위험도를 포함할 수 있다.
일 실시예로서, 평가 결과 제공부(160)는 각 클래스에 대해 산출된 인지 정확도 값을 자율 주행 소프트웨어의 객체 인지 성능 평가 결과로서 제공할 수 있다. 또는, 평가 결과 제공부(160)는 각 클래스에 대해 산출된 인지 정확도의 평균값을 자율 주행 소프트웨어의 객체 인지 성능 평가 결과로서 제공할 수 있다. 또는, 평가 결과 제공부(160)는 각 클래스에 대해 산출된 인지 정확도의 평균값을 기초로 결정된 객체 인지 성능 등급을 자율 주행 소프트웨어의 객체 인지 성능 평가 결과로서 제공할 수 있다.
일 실시예로서, 평가 결과 제공부(160)는 자율 주행 차량의 주행 데이터를 이용하여 산출된 주행 안전도 값을 자율 주행 소프트웨어의 주행 성능 평가 결과로서 제공할 수 있다. 또는, 평가 결과 제공부(160)는 주행 안전도 값을 기초로 결정된 주행 성능 등급을 자율 주행 소프트웨어의 주행 성능 평가 결과로서 제공할 수 있다. 이에 대해, 도 16 이하를 참조하여 구체적으로 설명한다.
도 16은 본 발명의 다른 일 실시예에 따른 자율 주행 소프트웨어 평가 방법을 나타내는 순서도이다. 도 16의 자율 주행 소프트웨어 평가 방법은 도 1의 자율 주행 소프트웨어 평가 장치(100)에 의해 수행된다. 따라서, 이하의 단계들에서 수행 주체가 생략된 경우, 그 수행 주체는 상기 자율 주행 소프트웨어 평가 장치(100)인 것으로 가정한다.
S210 단계에서, 자율 주행 소프트웨어를 이용하여 객체 인지 데이터 및 주행 데이터가 획득된다.
이때, 상기 객체 인지 데이터는 자율 주행 소프트웨어를 이용하여 주행되는 차량으로부터 수집된 데이터로서, 상기 차량의 주행 경로 상에 위치한 객체를 인지한 데이터일 수 있다.
또한, 상기 주행 데이터는 상기 차량이 주행 경로를 따라 주행하는 동안 차량과 연관되어 발생한 이벤트(예를 들어, 다른 차량과 충돌 등)를 나타내는 데이터, 또는 차량이 주행 경로를 따라 주행하는 동안 검출된 차량의 속도, 가속도, 감가속도, 최대 가속도, 최대 감가속도, 및/또는 다른 차량과의 거리 등 주행과 관련된 파라미터(parameter)를 나타내는 데이터를 포함할 수 있다.
상기 객체 인지 데이터 및 상기 주행 데이터는 도 4의 예시적인 주행 환경에서 수집된 데이터일 수 있다. 이때, 상기 차량은 자율 주행 소프트웨어에 의해 주행되는 가상의 시뮬레이션 차량으로서, 시나리오에 기초하여 가상으로 구축된 환경 하의 가상의 도로를 주행하는 차량일 수 있다.
또는, 상기 차량은 자율 주행 소프트웨어에 의해 주행되는 실제 차량으로서, 자율 주행 성능을 측정하기 위한 환경이 조성된 실제 도로를 주행하는 차량일 수 있다.
S220 단계에서, 객체 인지 데이터를 레퍼런스 데이터와 비교하여 자율 주행 소프트웨어의 인지 정확도가 산출된다.
본 실시예에서, 객체 인지 데이터를 레퍼런스 데이터와 비교하여 자율 주행 소프트웨어의 인지 정확도를 산출하는 구체적인 방법은 도 1 내지 도 15에서 설명된 것과 동일하므로, 여기서는 설명의 중복을 피하기 위해 그에 대한 구체적인 설명을 생략한다.
S230 단계에서, 주행 데이터로부터 이벤트 정보를 추출되고, 상기 이벤트 정보를 기초로 자율 주행 소프트웨어의 주행 안전도가 산출된다.
여기서, 상기 이벤트 정보는 자율 주행 소프트웨어를 이용하여 차량을 주행 경로 상에서 주행시키는 동안 차량과 연관되어 발생한 이벤트를 나타내는 정보일 수 있다.
예를 들어, 자율 주행 소프트웨어를 이용하여 차량이 주행되는 중, 보행자와 충돌한 것, 다른 차량과 충돌한 것, 정적 요소(예를 들어, 보도의 정지석 등)와 충돌한 것과 같은 충돌 이벤트를 나타내는 정보, 또는 빨간불 신호를 위반한 것, 정지 신호를 위반한 것과 같은 신호 위반 이벤트를 나타내는 정보, 또는 제한 속도를 위반한 것과 같은 속도 위반 이벤트를 나타내는 정보는 모두 상기 이벤트 정보가 될 수 있다.
이벤트 정보를 분석하여 차량의 주행 중 발생한 이벤트를 식별한 후, 각 식별된 이벤트에 상응하는 스코어를 부여하고, 각 이벤트에 부여된 스코어에 기초하여, 각 스코어들을 대표할 수 있는 값을 결정함으로써 주행 안전도가 산출될 수 있다. 이에 대한 구체적인 설명을 위해 도 17을 참조한다.
도 17은 도 16의 S230 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다.
S231 단계에서, 이벤트 정보를 기초로 하나 이상의 이벤트가 식별된다. 이때, 이벤트는 상황과 사건에 따라 구분될 수 있다. 이에 대한, 부연설명을 위해 도 18을 참조한다.
도 18의 표(90)를 참조하면, 상황은 (a) 일반 주행 상황, (b) 코너 주행 상황, 또는 (c) 교차로 주행 상황으로 구분될 수 있다. 사건은 (i) 보행자와 충돌하는 사건, (ii) 다른 차량과 충돌하는 사건, (iii) 정적 요소와 충돌하는 사건, (iv) 빨간불 신호를 위반하는 사건, 또는 (v) 정지 신호를 위반하는 사건으로 구분될 수 있다.
각 이벤트는 그것이 속하는 상황과 사건에 따라 서로 다른 유형으로 구분될 수 있다. 예를 들어, 일반 주행 상황에서 보행자와 충돌한 사건의 이벤트와, 코너 주행 상황에서 보행자와 충돌한 사건의 이벤트는 서로 다른 유형의 이벤트로 식별될 수 있다. 유사하게, 일반 주행 상황에서 보행자와 충돌한 사건의 이벤트와, 일반 주행 상황에서 다른 차량과 충돌한 사건의 이벤트는 서로 다른 유형의 이벤트로 식별될 수 있다.
이러한 방식으로, 이벤트 정보에 기초하여 차량이 주행 중 발생한 개별 이벤트들이 각각 식별된다.
예를 들어, 차량 주행 중 일반 주행 상황에서 차량과 충돌한 사건이 2건, 코너 주행 상황에서 정적 요소와 충돌한 사건이 1건, 정지 신호를 위반한 사건이 1건, 교차로 주행 상황에서 보행자와 충돌한 사건이 1건, 차량과 충돌한 사건이 2건, 빨간불 신호를 위반한 사건이 3건 발생하였다면, 이벤트 정보로부터 총 6개 유형의 총 10건의 이벤트가 식별될 것이다.
S232 단계에서, 식별된 하나 이상의 이벤트 각각에 대해 스코어가 산출된다.
이때, 스코어는 식별된 이벤트의 유형에 기초하여 미리 결정된 값으로서, 이벤트의 상황 또는 사건에 따라 상이하게 부여되는 값일 수 있다. 도 18에는 이벤트의 유형에 따라 할당된 스코어의 예가 도시된다. 도 18을 참조하면, 일반 주행 상황에서의 각 사건에 대한 스코어(91), 코너 주행 상황에서의 각 사건에 대한 스코어(92), 교차로 주행 상황에서의 각 사건에 대한 스코어(93)가 각각 도시되어 있다.
앞서 S231 단계의 예를 참고하면, 차량 주행 중 일반 주행 상황에서 차량과 충돌한 사건의 이벤트에 대해 0.8의 스코어가, 코너 주행 상황에서 정적 요소와 충돌한 사건의 이벤트와 정지 신호를 위반한 사건의 이벤트에 대해 각각 0.75와 0.85의 스코어가, 교차로 주행 상황에서 보행자와 충돌한 사건의 이벤트와 차량과 충돌한 사건의 이벤트와 빨간불 신호를 위반한 사건의 이벤트에 대해 각각 0.5와 0.6과 0.7의 스코어가 산출될 수 있다.
S233 단계에서, 산출된 스코어를 기초로 주행 안전도가 산출된다.
일 실시예로서, 주행 안전도는 상기 하나 이상의 이벤트 각각에 대해 산출된 스코어를 합산한 값일 수 있다.
이 경우, S232 단계의 예를 참고하면, 일반 주행 상황에서 차량과 충돌한 2건의 이벤트, 코너 주행 상황에서 정적 요소와 충돌한 1건의 이벤트와 정지 신호를 위반한 1건의 이벤트, 교차로 주행 상황에서 보행자와 충돌한 1건의 이벤트와 차량과 충돌한 2건의 이벤트와 빨간불 신호를 위반한 3건의 이벤트의 스코어가 각각 합산되어, 주행 안전도는 0.8*2 + 0.75 + 0.85 + 0.5 + 0.6*2 + 0.7*3 = 7로 산출된다.
S240 단계에서, 인지 정확도 및 주행 안전도를 기초로 자율 주행 소프트웨어에 대한 평가 결과가 제공된다.
이때, 자율 주행 소프트웨어에 대한 평가 결과는, 인지 정확도에 기초로 생성된 객체 인지 성능 평가 결과, 및 주행 안전도를 기초로 생성된 주행 성능 평가 결과를 포함할 수 있다.
일 실시예로서, 앞서 산출된 주행 안전도 값이 자율 주행 소프트웨어의 주행 성능 평가 결과로서 제공될 수 있다. 또는, 주행 안전도 값을 기초로 결정된 주행 성능 등급이 자율 주행 소프트웨어의 주행 성능 평가 결과로서 제공될 수 도 있다. 예를 들어, 주행 성능 등급은 주행 안전도를 구간 별로 구분한 값으로, 주행 안전도가 5 이하이면 A등급, 주행 안전도가 5 초과 10 이하이면 B등급, 주행 안전도가 10 초과이면 C등급으로 결정될 수 있다.
일 실시예로서, 자율 주행 소프트웨어에 대한 평가 결과는, 자율 주행 소프트웨어가 객체 인지에 실패한 인지 오류 정보를 더 포함할 수 있다. 예를 들어, 자율 주행 소프트웨어가 교차로 상황에서 보행자 객체를 인지하지 못한 경우, 이를 나타내는 정보가 인지 오류 정보로서 상기 평가 결과에 포함될 수 있다.
일 실시예로서, 자율 주행 소프트웨어에 대한 평가 결과는, 이벤트 정보를 기초로 식별된 하나 이상의 이벤트와 인지 오류 정보 간 연관성을 나타내는 연관 정보를 더 포함할 수 있다.
예를 들어, 자율 주행 소프트웨어가 교차로 상황에서 보행자 객체를 인지하지 못한 경우, 교차로 상황에서 보행자와 충돌한 이벤트가 발생했다면 그러한 이벤트는 주행 성능의 문제라기 보다는 객체 인지 성능의 문제로 보는 것이 타당할 것이다. 따라서, 위의 교차로 상황에서 보행자와 충돌한 이벤트가 주행 성능에 주로 의존한 결과가 아니라는 것을 나타내기 위해, 상기 평가 결과에 교차로 상황에서 보행자와 충돌한 이벤트를 표시한 후 보행자가 미인지되었다는 것을 나타내는 연관 정보를 주석(annotation)의 형태로 추가 표시함으로써, 더 풍부한 평가 결과를 제공할 수 있게 된다.
일 실시예로서, 주행 안전도는 연관 정보에 기초하여 보정될 수 있다. 객체 인지 성능의 문제로 인해 이벤트가 발생한 경우 이는 온전히 주행 성능에 의존한 결과가 아니므로, 해당 이벤트로 인해 가산되는 스코어를 경감함으로써 전체적인 주행 안전도를 보정하고, 실제 주행 성능에 더욱 부합하는 평가 결과를 제공할 수 있게 된다. S233 단계의 사례를 예로 들면, 연관 정보를 참조하여, 교차로 상황에서 보행자와 충돌한 이벤트가 보행자 객체를 미인지한 것과 연관되었음이 확인되면, 교차로 상황에서 보행자와 충돌한 이벤트의 스코어를 0으로 낮춤으로써 전체 주행 안전도는 6.5로 보정될 수 있다. 그리고, 보정된 주행 안전도에 기초하여 주행 성능 평가 결과가 제공될 수 있다.
도 19는 본 발명의 또 다른 일 실시예에 따른 자율 주행 소프트웨어 평가 방법을 나타내는 순서도이다. 도 19의 자율 주행 소프트웨어 평가 방법은 도 1의 자율 주행 소프트웨어 평가 장치(100)에 의해 수행된다. 따라서, 이하의 단계들에서 수행 주체가 생략된 경우, 그 수행 주체는 상기 자율 주행 소프트웨어 평가 장치(100)인 것으로 가정한다.
한편, 본 실시예의 자율 주행 소프트웨어 평가 방법은 자율 주행 차량의 차간 거리를 기초로 자율 주행 소프트웨어 주행 중 위험도를 판단할 수 있는 자율 주행 소프트웨어의 위험도 산출 방법일 수 있다. 이 경우, 상기 자율 주행 소프트웨어 평가 장치(100)는 자율 주행 소프트웨어의 위험도 산출 장치일 수 있다.
S310 단계에서, 자율 주행 소프트웨어를 이용하여 주행 데이터가 획득된다.
이때, 주행 데이터는 상기 차량이 주행 경로를 따라 주행하는 동안 수집된 데이터로서, 차량과 연관되어 발생한 이벤트(예를 들어, 다른 차량과 충돌 등)를 나타내는 데이터, 또는 차량이 주행 경로를 따라 주행하는 동안 검출된 차량의 속도, 가속도, 감가속도, 최대 가속도, 최대 감가속도, 및/또는 다른 차량의 속도, 최대 감가속도, 최소 감가속도, 상기 차량과 상기 다른 차량 간의 차간 거리 등 주행과 관련된 파라미터(parameter)를 나타내는 데이터를 포함할 수 있다.
상기 주행 데이터는 도 4의 예시적인 주행 환경에서 수집된 데이터일 수 있다. 이때, 상기 차량은 자율 주행 소프트웨어에 의해 주행되는 가상의 시뮬레이션 차량으로서, 시나리오에 기초하여 가상으로 구축된 환경 하의 가상의 도로를 주행하는 차량일 수 있다.
또는, 상기 차량은 자율 주행 소프트웨어에 의해 주행되는 실제 차량으로서, 자율 주행 성능을 측정하기 위한 환경이 조성된 실제 도로를 주행하는 차량일 수 있다.
S320 단계에서, 객체 인지 데이터를 레퍼런스 데이터와 비교하여 인지 정확도가 산출된다.
본 실시예에서, 객체 인지 데이터를 레퍼런스 데이터와 비교하여 자율 주행 소프트웨어의 인지 정확도를 산출하는 구체적인 방법은 도 1 내지 도 15에서 설명된 것과 동일하므로, 여기서는 설명의 중복을 피하기 위해 그에 대한 구체적인 설명을 생략한다.
S330 단계에서, 주행 데이터로부터 이벤트 정보가 추출되고, 이벤트 정보를 기초로 주행 안전도가 산출된다.
본 실시예에서, 주행 데이터로부터 이벤트 정보가 추출되고, 이벤트 정보를 기초로 주행 안전도가 산출되는 구체적인 방법은 도 16 내지 도 18에서 설명된 것과 동일하므로, 여기서는 설명의 중복을 피하기 위해 그에 대한 구체적인 설명을 생략한다.
S340 단계에서, 주행 데이터를 기초로 자율 주행 소프트웨어의 위험도가 결정된다. 이때, 위험도는 자율 주행 소프트웨어의 제어에 의해 주행되는 차량과 상기 차량에 인접한 다른 차량 간 차간 거리에 기초하여 결정될 수 있다. 이에 대한 구체적인 설명을 위해 도 20을 참조한다.
도 20은 도 19의 S340 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다.
먼저, S341 단계에서, 주행 데이터를 기초로 차량의 안전 거리가 산출된다.
여기서, 안전 거리는 자율 주행중인 차량이 앞에 위치한 다른 차량을 추종하여 주행할 때, 충돌 위험을 방지하기 위해 유지해야 하는 차량과 다른 차량간 최소 거리를 의미한다.
가령, 도 21과 같이 자율 주행하는 차량(10)이 전방의 다른 차량(11)을 추종하여 자율 주행 중인 경우, 차량(10)과 다른 차량(11) 간의 차간 거리(D)를 안전거리 이상으로 유지하면 적응형 크루즈 컨트롤(Adaptive Cruise Control, ACC)의 안전도를 높게 유지할 수 있을 것이다.
안전 거리는 아래의 수학식 1에 기초하여 산출될 수 있다.
여기서, Dm은 안전거리이고, 은 자율 주행하는 차량의 속도이고, 는 미리 결정된 반응 속도로서 브레이크 상황을 인지한 후 브레이크를 밟아야겠다고 판단할 때까지 걸리는 시간을 나타내는 고정된 값이고, 는 상기 차량의 최대 감가속도이고, 는 상기 차량의 최대 가속도이고, 는 상기 차량이 추종하는 다른 차량의 속도이고, 는 상기 다른 차량의 최대 감가속도이고, 는 상기 다른 차량의 최소 감가속도이다.
S342 단계에서, 안전 거리와 차간 거리 사이의 오차가 산출된다.
여기서, 차간 거리는 자율 주행 도중 실제로 검출된 차량과 다른 차랑 사이의 거리를 의미하고, 안전 거리는 그때의 수학식 1에 따라 산출된 거리를 의미한다.
일시적 요인에 의한 오차의 영향을 줄이고 위험도 산출의 정확성을 높이기 위해, 미리 결정된 수 이상의 테스트 케이스에 대해 각각 오차를 산출하기로 한다.
도 22를 참조하면, 9개 이상의 테스트 케이스에 대해 각각 오차를 산출한 예가 도시된다. 도 22의 표(210)에서 제1 컬럼(211)은 각 테스트 케이스의 순번을 나타내고, 제2 컬럼(222)은 각 테스트 케이스에 산출된 오차를 의미한다.
제2 컬럼(222)에서 D1, D2, D3, D4, D5, D6, D7, D8, 및 D9는 각 테스트 케이스의 차간 거리를 의미하고, Dm1, Dm2, Dm3, Dm4, Dm5, Dm6, Dm7, Dm8, 및 Dm9는 각 테스트 케이스에 산출된 안전 거리를 의미하고, C1, C2, C3, C4, C5, C6, C7, C8, 및 C9는 각 테스트 케이스에서 산출된 오차를 의미한다.
S343 단계에서, 산출된 오차를 기초로 위험도가 산출된다.
일 실시예로서, 상기 위험도는 각 테스트 케이스에 대해 산출된 오차의 평균을 백분율로 나타낸 값인 평균 오차율에 기초하여 산출될 수 있다.
가령, 도 22의 경우를 예로 들면, 전체 오차의 평균은 [C1 + C2 + C3 + C4 + C5 + C6 + C7 + C8 + C9]/9이고, 아래 식과 같이 이를 백분율로 나타낸 값이 평균 오차율이 된다.
평균 오차율 = [C1 + C2 + C3 + C4 + C5 + C6 + C7 + C8 + C9]*100/9 (단위:%)
평균 오차율이 산출되면, 평균 오차율이 속하는 구간에 따라, 해당 구간에 대응되는 값을 위험도로서 산출할 수 있다. 예를 들어, 평균 오차율이 임계 값을 초과하면 그에 대응되는 값인'Fail'을 위험도 값으로 결정하고, 평균 오차율이 임계 값 이하이면 그에 대응되는 값인'Success'를 위험도 값으로 결정할 수 있다.
S350 단계에서, 위험도를 기초로 자율 주행 소프트웨어에 대한 평가 결과가 제공된다.
일 실시예로서, 상기 평가 결과는 S340 단계에서 산출된 위험도를 포함할 수 있다.
일 실시예로서, 상기 평가 결과는 위험도와 함께, 자율 주행 소프트웨어의 객체 인지 성능 평가 결과, 또는 자율 주행 소프트웨어의 주행 성능 평가 결과를 포함할 수 있다.
일 실시예로서, 상기 주행 성능 평가 결과는 자율 주행 중인 차량과 다른 차량 간에 충돌 이벤트가 발생했는지 여부를 나타내는 차량 간 충돌 정보를 포함하고, 그 때의 위험도가 제1 값(예를 들어,'Fail')인 경우(즉, 차량 간 충돌이 발생했을 때의 위험도가 제1 값인 경우), 상기 평가 결과 상에서 상기 위험도가 상기 차량 간 충돌 정보와 연관되어 표시될 수 있다. 차량 간 충돌이 발생했을 때 위험도가 일정 이상 높은 상태였음을 연관 정보로서 표시하여, 위험도 관리가 자율 주행의 성능에 어느 정도 영향을 미치는지 알리기 위함이다. 이를 통해, 더욱 충실하고 완성도 높은 평가 결과가 제공될 수 있다.
일 실시예로서, 상기 평가 결과는 상기 위험도, 상기 객체 인지 성능 평가 결과, 및 상기 주행 성능 평가 결과를 가중 합산한 값에 기초한 종합 평가 결과를 포함할 수 있다.
예를 들어, 객체 인지 성능 평가 결과로서 각 클래스에 대해 산출된 인지 정확도의 평균값인 A 값이 제공되고, 주행 성능 평가 결과로서 주행 안전도 값인 B 값이 제공되고, 위험도로서 제1 값인'Fail'이 제공된 경우, 각각의 값에 대응되는 가중치를 곱하여 합산한 값을 기초로, 종합 평가 결과를 산출할 수 있다. 이때, 위험도는 숫자로 표현된 값이 아니므로 상기 가중 합산 시 위험도를 대표하는 다른 숫자로 대체될 수 있다. 예를 들어, 위험도가 제1 값인'Fail'이면 상기 가중 합산 시 위험도는 0으로 대체되고, 위험도가 제2 값인'Success'이면 상기 가중 합산 시 위험도는 100으로 대체될 수 있다.
상기 종합 평가 결과는, 상기 가중 합산된 값을 그대로 종합 평가 결과로서 제공할 수도 있고, 상기 가중 합산된 값의 구간에 따라 그에 대응되는 등급을 종합 평가 결과로서 제공할 수도 있다. 예를 들어, 가중 합산된 값이 1000이상이면 S 등급을, 1000미만 800이상이면 A 등급을, 800미만 500이상이면 B 등급을, 500미만이면 C 등급을 종합 평가 결과로서 제공할 수 있다.
이상에서 설명한 본 발명의 실시예들에 따르면, 자율 주행 소프트웨어의 인지 성능을 정확도 높게 평가할 수 있는 자율 주행 소프트웨어 평가 방법 및 장치가 제공될 수 있다. 또한, 자율 주행 중 발생하는 이벤트를 기반으로 자율 주행 소프트웨어의 성능을 평가할 수 있는 자율 주행 소프트웨어 평가 방법 및 장치가 제공될 수 있다. 또한, 자율 주행 차량의 차간 거리를 기초로 자율 주행 소프트웨어 주행 중 위험도를 판단할 수 있는 자율 주행 소프트웨어의 위험도 산출 방법 및 장치가 제공될 수 있다.
이하에서는, 도 23을 참조하여 본 발명의 다양한 실시예에서 설명된 방법들이 구현되는 예시적인 컴퓨팅 장치(500)에 대하여 설명하도록 한다. 예를 들어, 도 1의 자율 주행 소프트웨어 평가 장치(100)는 도 23의 컴퓨팅 장치(500)로 구현될 수 있다.
도 23은 컴퓨팅 장치(500)를 나타내는 예시적인 하드웨어 구성도이다.
도 23에 도시된 바와 같이, 컴퓨팅 장치(500)는 하나 이상의 프로세서(510), 버스(550), 통신 인터페이스(570), 프로세서(510)에 의하여 수행되는 컴퓨터 프로그램(591)을 로드(load)하는 메모리(530)와, 컴퓨터 프로그램(591)를 저장하는 스토리지(590)를 포함할 수 있다. 다만, 도 23에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 23에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(510)는 컴퓨팅 장치(500)의 각 구성의 전반적인 동작을 제어한다. 프로세서(510)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(510)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(500)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(530)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(530)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(590)로부터 하나 이상의 프로그램(591)을 로드(load) 할 수 있다. 메모리(530)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.
버스(550)는 컴퓨팅 장치(500)의 구성 요소 간 통신 기능을 제공한다. 버스(550)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(570)는 컴퓨팅 장치(500)의 유무선 인터넷 통신을 지원한다. 통신 인터페이스(570)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(570)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(590)는 하나 이상의 컴퓨터 프로그램(591)을 비임시적으로 저장할 수 있다. 스토리지(590)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(591)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들(Instructions)을 포함할 수 있다.
예를 들어, 컴퓨터 프로그램(591)은 자율 주행 소프트웨어를 이용하여 주행 데이터를 획득하는 동작, 상기 주행 데이터를 기초로 상기 자율 주행 소프트웨어의 위험도를 산출하는 동작, 및 상기 위험도를 기초로 상기 자율 주행 소프트웨어에 대한 평가 결과를 제공하는 동작을 실행하기 위한 인스트럭션들을 포함하고, 상기 위험도를 산출하는 단계는 상기 자율 주행 소프트웨어의 제어에 의해 주행되는 차량과 상기 차량에 인접한 다른 차량 간 차간 거리에 기초하여 상기 위험도를 산출할 수 있다.
컴퓨터 프로그램(591)이 메모리(530)에 로드 되면, 프로세서(510)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
지금까지 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (10)

  1. 컴퓨팅 장치에 의해 수행되는 자율 주행 소프트웨어의 위험도 산출 방법에 있어서,
    자율 주행 소프트웨어를 이용하여 주행 데이터를 획득하는 단계;
    상기 주행 데이터를 기초로 상기 자율 주행 소프트웨어의 위험도를 결정하는 단계; 및
    상기 위험도를 기초로 상기 자율 주행 소프트웨어에 대한 평가 결과를 제공하는 단계를 포함하고,
    상기 위험도를 결정하는 단계는,
    상기 자율 주행 소프트웨어의 제어에 의해 주행되는 차량과 상기 차량에 인접한 다른 차량 간 차간 거리에 기초하여 상기 위험도를 결정하는,
    자율 주행 소프트웨어의 위험도 산출 방법.
  2. 제1 항에 있어서,
    상기 주행 데이터는,
    상기 자율 주행 소프트웨어를 이용하여 상기 차량을 주행 경로 상에서 주행시키는 동안 수집된, 상기 차량의 속도, 상기 차량의 최대 가속도, 상기 차량의 최대 감가속도, 상기 다른 차량의 속도, 상기 다른 차량의 최대 감가속도, 상기 다른 차량의 최소 감가속도, 또는 상기 차간 거리를 포함하는,
    자율 주행 소프트웨어의 위험도 산출 방법.
  3. 제2 항에 있어서,
    상기 차량은,
    가상의 시뮬레이션 차량이고,
    상기 주행 경로는,
    미리 결정된 시나리오 조건을 기초로 생성된 시나리오 상의 주행 경로인,
    자율 주행 소프트웨어의 위험도 산출 방법.
  4. 제1 항에 있어서,
    상기 위험도를 결정하는 단계는,
    상기 주행 데이터를 기초로 상기 차량의 안전 거리를 산출하는 단계;
    상기 안전 거리와 상기 차간 거리 사이의 오차를 산출하는 단계; 및
    상기 오차를 기초로 상기 위험도를 산출하는 단계를 포함하는,
    자율 주행 소프트웨어의 위험도 산출 방법.
  5. 제4 항에 있어서,
    상기 안전 거리는,
    수학식 에 기초하여 산출되고,
    상기 은 상기 차량의 속도이고, 상기 는 미리 결정된 반응 속도이고, 상기 는 상기 차량의 최대 감가속도이고, 상기 는 상기 차량의 최대 가속도이고, 상기 는 상기 다른 차량의 속도이고, 상기 는 상기 다른 차량의 최대 감가속도이고, 상기 는 상기 다른 차량의 최소 감가속도인,
    자율 주행 소프트웨어의 위험도 산출 방법.
  6. 제4 항에 있어서,
    상기 위험도를 산출하는 단계는,
    상기 오차를 기초로 상기 차량의 평균 오차율을 산출하고,
    상기 평균 오차율이 속하는 구간에 따라, 상기 구간에 대응되는 값을 상기 위험도로서 산출하는,
    자율 주행 소프트웨어의 위험도 산출 방법.
  7. 제1 항에 있어서,
    상기 평가 결과는,
    상기 위험도와 함께, 상기 자율 주행 소프트웨어의 객체 인지 성능 평가 결과, 또는 상기 자율 주행 소프트웨어의 주행 성능 평가 결과를 포함하는,
    자율 주행 소프트웨어의 위험도 산출 방법.
  8. 상기 주행 성능 평가 결과는,
    상기 차량과 상기 다른 차량 간에 충돌 이벤트가 발생했는지 여부를 나타내는 차량 간 충돌 정보를 포함하고,
    상기 위험도가 제1 값인 경우, 상기 위험도는 상기 차량 간 충돌 정보와 연관되어 표시되는,
    자율 주행 소프트웨어의 위험도 산출 방법.
  9. 제7 항에 있어서,
    상기 평가 결과는,
    상기 위험도, 상기 객체 인지 성능 평가 결과, 및 상기 주행 성능 평가 결과를 가중 합산한 값에 기초한 종합 평가 결과를 포함하는,
    자율 주행 소프트웨어의 위험도 산출 방법.
  10. 프로세서;
    상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및
    상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
    상기 컴퓨터 프로그램은,
    자율 주행 소프트웨어를 이용하여 주행 데이터를 획득하는 동작,
    상기 주행 데이터를 기초로 상기 자율 주행 소프트웨어의 위험도를 산출하는 동작, 및
    상기 위험도를 기초로 상기 자율 주행 소프트웨어에 대한 평가 결과를 제공하는 동작을 실행하기 위한 인스트럭션들을 포함하고,
    상기 위험도를 산출하는 단계는,
    상기 자율 주행 소프트웨어의 제어에 의해 주행되는 차량과 상기 차량에 인접한 다른 차량 간 차간 거리에 기초하여 상기 위험도를 산출하는,
    자율 주행 소프트웨어의 위험도 산출 장치.
KR1020220133338A 2022-10-17 2022-10-17 자율 주행 소프트웨어의 위험도 산출 방법 및 장치 KR20240053352A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220133338A KR20240053352A (ko) 2022-10-17 2022-10-17 자율 주행 소프트웨어의 위험도 산출 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220133338A KR20240053352A (ko) 2022-10-17 2022-10-17 자율 주행 소프트웨어의 위험도 산출 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20240053352A true KR20240053352A (ko) 2024-04-24

Family

ID=90884113

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220133338A KR20240053352A (ko) 2022-10-17 2022-10-17 자율 주행 소프트웨어의 위험도 산출 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20240053352A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102070527B1 (ko) 2017-06-22 2020-01-28 바이두닷컴 타임즈 테크놀로지(베이징) 컴퍼니 리미티드 자율 주행 차량 교통 예측에서 예측되는 궤적에 대한 평가 프레임 워크

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102070527B1 (ko) 2017-06-22 2020-01-28 바이두닷컴 타임즈 테크놀로지(베이징) 컴퍼니 리미티드 자율 주행 차량 교통 예측에서 예측되는 궤적에 대한 평가 프레임 워크

Similar Documents

Publication Publication Date Title
CN111062240B (zh) 汽车驾驶安全的监控方法、装置、计算机设备及存储介质
WO2022088901A1 (zh) 一种智能灯光切换方法、系统及相关设备
KR20220047732A (ko) 차량 감시 방법 및 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램, 클라우드 제어 플랫폼 및 차량 도로 협조 시스템
WO2021189210A1 (zh) 一种车辆换道方法及相关设备
CN111710158B (zh) 一种车辆数据处理方法及相关设备
EP4316935A1 (en) Method and apparatus for obtaining lane change area
CN104773177A (zh) 辅助驾驶方法和装置
CN111645692B (zh) 基于混合策略博弈的驾驶人超车意图识别方法及系统
KR102050426B1 (ko) 운전자 모사 모델 기반의 자율주행 제어 장치 및 방법
US20220203971A1 (en) Vehicle control method
KR102107466B1 (ko) 자율주행차량 기반의 주행제어장치 및 방법
CN105844379A (zh) 基于主成分分析的车辆风险评估方法和装置
CN114450211A (zh) 交通控制系统、交通控制方法和控制装置
CN113511204A (zh) 一种车辆换道行为识别方法及相关设备
CN114446057A (zh) 一种基于智能网联环境的事故高发点辨识预警方法及系统
CN110834646B (zh) 变道辅助预警方法、装置、设备及存储介质
US20210004016A1 (en) U-turn control system for autonomous vehicle and method therefor
CN113895429A (zh) 一种自动泊车方法、系统、终端及存储介质
CN111145554A (zh) 一种基于自动驾驶aeb的场景定位方法和装置
KR20240053352A (ko) 자율 주행 소프트웨어의 위험도 산출 방법 및 장치
KR20240053351A (ko) 자율 주행 이벤트 기반의 자율 주행 소프트웨어 평가 방법 및 장치
KR20240053350A (ko) 자율 주행 소프트웨어 평가 방법 및 장치
CN116755417A (zh) 自动驾驶危险分析及风险评估方法、装置、设备及介质
CN115855531A (zh) 自动驾驶汽车的测试场景构建方法、设备和介质
CN117456714A (zh) 车辆安全预警方法、系统、设备及存储介质