본문으로 건너뛰기
고급약 45분

시나리오 기반 시험과 주행 데이터 재생 — 상황을 만들고 다시 돌리기

자율주행 검증의 두 축은 기록한 것을 다시 돌리는 일과 없던 상황을 만드는 일이다. 시나리오의 추상 수준(기능·논리·구체) 을 가르고, 정적 환경과 동적 행동을 나눠 기술하는 표준 형식의 구조를 이해하고, 주행 데이터 재생이 무엇을 보장하고 무엇을 보장하지 못하는지, 그리고 시뮬레이션 결과를 증거로 쓰기 위한 조건을 다룬다.

  • #시나리오기반시험
  • #OpenSCENARIO
  • #OpenDRIVE
  • #데이터재생
  • #시뮬레이션
  • #재현성

개념

두 가지 수단, 다른 질문

레슨 2 에서 영역 3(미지의 위험) 을 줄이는 것이 검증의 목표라고 했다. 그 작업에 쓰이는 수단은 둘이고, 답하는 질문이 다르다.

수단답하는 질문한계
주행 데이터 재생실제로 일어난 상황에서 올바르게 동작했는가일어나지 않은 상황은 알 수 없다
시나리오 기반 시뮬레이션만들어 낸 상황에서 올바르게 동작하는가만든 상황이 현실과 같은지는 별개다

두 한계가 서로를 메운다. 데이터 재생은 현실성 이 보장되지만 범위 가 제한되고, 시뮬레이션은 범위를 넓힐 수 있지만 현실성 을 증명해야 한다.

그래서 둘 다 쓰고, 각각의 결과를 어느 수준의 증거로 쓸지 가른다 — 모듈 63 레슨 4 에서 세운 원칙이 그대로 적용된다.

시나리오의 추상 수준 세 단계

공개 자료가 널리 설명하는 구분이다. 이 구분을 모르면 "시나리오" 라는 말이 회의에서 서로 다른 것을 가리킨다.

[기능 시나리오]  ──파라미터 범위 도입──→  [논리 시나리오]  ──값 선택──→  [구체 시나리오]
  자연어 기술                             범위를 가진 기술              값이 고정된 기술
  사람이 읽는다                           아직 실행 불가                 실행 가능

공개 자료의 설명으로 각 수준은 이렇다.

  • 기능 시나리오(functional scenario) — 시나리오를 비형식 자연어로 기술 한 것. 추상 수준이 가장 높고, 사람이 읽을 수 있으며 해석의 여지가 크게 남아 시뮬레이터에서 직접 실행할 수 없는 것이 일반적이다. 운행 설계 영역이나 운용 개념과 연결된 시나리오를 흔히 이렇게 부른다
  • 논리 시나리오(logical scenario) — 추상 시나리오를 파라미터화 가능한 속성마다 파라미터 범위를 도입 해 구체화한 것
  • 구체 시나리오(concrete scenario) — 각 파라미터 범위에 선택 기법을 적용해 구체적 값을 고정 한 것. 기계가 읽을 수 있고, 모든 동작·조건이 하나의 구체적 값으로 파라미터화되어 있으며, 어느 시점에서든 파라미터와 변수의 변화가 완전히 결정되어 있다

QA 작업이 이 세 수준에 걸쳐 있다.

수준QA 의 작업
기능위험 상황을 자연어로 발굴(레슨 2 의 유발 조건 탐색)
논리파라미터와 범위를 정의. 여기서 경계값 분석이 들어간다
구체범위에서 값을 고르는 전략 을 정한다(레슨 4 의 커버리지)

논리 수준이 QA 의 핵심 자리 다. 기능 시나리오 하나가 논리 시나리오가 되면서 파라미터가 붙고, 그 파라미터의 범위와 경계 를 정하는 것이 전형적인 QA 작업이다. 그리고 논리에서 구체로 가는 선택이 시험 케이스 수를 정한다 — 범위를 어떻게 쪼개는가가 곧 시험 설계다.

정적과 동적을 나눠 기술한다

시나리오 기술 표준 계열의 구조에서 알아야 할 핵심이 이것이다. 공개 자료는 역할을 이렇게 설명한다.

  • 정적 환경 기술 — 도로와 표지 같은 정적 내용을 기술한다. 직선·곡선 같은 개별 도로 요소를 파라미터화하고 조합해 전체 경로를 구성한다
  • 동적 요소 기술 — 시간에 따라 변하는 동적 요소를 기술한다. 공급사에 독립적인 동적 교통 요소와 기동(maneuver) 라이브러리를 제공한다

구분을 명확히 보여 주는 예가 공개 자료에 있다 — 신호등의 위치는 정적 기술에, 신호가 바뀌는 시각은 동적 기술에 들어간다. 그리고 이 표준 계열이 함께 다층 환경 을 이뤄 운전자 보조·자율주행 환경의 시험·타당성 확인·인증을 지원한다고 안내한다.

표준 이름·버전·구성 요소와 각 요소의 정확한 범위는 해당 표준의 공개 문서에서 확인한다(원문 확인). 버전에 따라 개념이 확장되고 도구 지원 범위가 다르다.

QA 관점에서 이 분리가 뜻하는 바가 있다. 결함이 어느 쪽에서 오는지 가를 수 있다.

증상의심할 곳
도로 형상이 의도와 다르다정적 기술
차량이 의도한 대로 움직이지 않는다동적 기술 또는 시뮬레이터
같은 시나리오가 실행마다 다르다동적 기술의 비결정성 또는 시뮬레이터 설정
시나리오가 의도한 상황을 만들지 못한다두 기술의 결합 — 좌표·기준점 불일치

네 번째가 실무에서 자주 생긴다. 동적 기술이 참조하는 위치가 정적 기술의 좌표계와 맞지 않으면, 차량이 의도한 차선에 놓이지 않는다. 그러면 시나리오는 실행되지만 의도한 상황이 아니다 — 그리고 통과한다. 가장 위험한 조합이다.

그래서 시나리오 자체를 검증하는 단계 가 필요하다. 아래에서 다룬다.

시나리오를 먼저 검증한다 — 통과가 거짓일 수 있다

이 레슨에서 가장 실무적으로 중요한 부분이다.

시뮬레이션 시험의 고유한 위험은 시나리오가 의도한 상황을 만들지 못한 채 통과하는 것 이다. 예를 들면 이렇다.

  • 끼어드는 차량을 배치했는데 거리가 멀어 실제로 끼어들지 않았다 → 통과
  • 보행자를 배치했는데 차량 경로 밖에 있었다 → 통과
  • 안개를 설정했는데 센서 모델에 반영되지 않았다 → 통과
  • 정지 차량을 놓았는데 시작 시점에 이미 지나쳐 있었다 → 통과

모두 통과한다. 그리고 "시나리오 1,200건 통과" 에 포함된다. 이것이 자율주행 검증에서 가장 비싼 거짓 안심이다.

막는 방법은 시나리오의 전제 조건을 검사하는 것 이다.

[시나리오 실행]
      ↓
① 전제 조건 검사 — 의도한 상황이 실제로 만들어졌는가?
      ↓ (만들어지지 않았으면 "통과" 가 아니라 "무효")
② 판정 — 시스템이 올바르게 동작했는가?

①이 없으면 ②의 결과를 믿을 수 없다. 전제 조건 검사의 예다.

검사확인
상호작용 발생대상 차량과의 최소 거리가 임계 이하로 들어왔는가
경로 교차보행자·차량의 경로가 자차 경로와 실제로 교차했는가
환경 반영설정한 날씨·조도가 센서 입력에 반영되었는가
시야 내 존재대상이 센서 시야에 들어온 시간이 있었는가
시작 상태시작 시점의 거리·속도가 의도한 값인가
기능 작동시험 대상 기능이 실제로 켜져 있었는가

마지막이 가장 허무한 실패 다. 기능이 ODD 밖이라고 판정해 꺼져 있는 상태에서 시나리오가 돌면, 아무것도 시험하지 않고 통과한다.

판정 결과를 세 가지로 두는 것 이 실무적 해법이다 — 통과 / 실패 / 무효. 무효는 시나리오 문제이고, 무효 비율이 높으면 시나리오 품질을 손봐야 한다는 신호다. 무효를 통과로 집계하면 커버리지 숫자가 거짓이 된다(레슨 4 와 직결).

주행 데이터 재생 — 보장하는 것과 못 하는 것

기록된 실주행 데이터를 다시 흘려 넣어 인지·판단을 검증하는 방식이다. 현실성이 보장된다 는 강점이 있고, 그래서 인지 알고리즘 검증의 주력이다.

그런데 보장 범위를 정확히 알아야 한다.

보장하는 것

  • 같은 입력에 대한 출력의 변화 를 비교할 수 있다(회귀 검증)
  • 실제로 일어난 상황에 대한 현실적 입력 이다
  • 반복 가능 하다 — 같은 데이터로 몇 번이든 돌린다

보장하지 못하는 것

  • 일어나지 않은 상황 — 기록에 없는 것은 시험할 수 없다
  • 반응이 바뀌면 이후가 달라지는 경우 — 아래에서 다룬다
  • 센서 원시 데이터 수준이 아니면 전처리의 영향을 못 본다
  • 차량 동역학과 제어 — 기록은 그때의 제어 결과이고, 다른 제어를 시험할 수 없다

두 번째가 데이터 재생의 근본 한계 이고, 이해해야 한다.

[기록된 주행]              [재생]
자차가 직진했다      →     판단이 "차선 변경" 을 선택한다
그래서 기록에는            → 그 뒤의 센서 데이터는 "직진했을 때의 장면"
직진한 장면만 있다           → 실제로 차선 변경했다면 보였을 장면이 없다
                             → 그 이후는 무의미하다

즉 자차의 거동이 기록과 달라지는 순간부터 재생은 유효하지 않다. 이것을 개방 루프(open-loop) 의 한계라고 부르고, 대응은 두 가지다.

  1. 인지 단계까지만 검증한다. 인지 출력은 자차 거동과 무관하게 비교 가능하다. 데이터 재생의 가장 정당한 용도다
  2. 판단·제어는 시뮬레이션(폐쇄 루프) 으로 넘긴다. 자차 거동이 환경에 반영되는 환경이 필요하다

실무에서 자주 벌어지는 오류 가 이 구분을 넘는 것이다. 데이터 재생으로 판단 로직을 검증했다고 보고하는데, 자차 거동이 바뀐 뒤의 결과는 의미가 없다. 어느 시점까지 유효한지 를 결과에 적어야 한다.

재생 검증의 판정 — 기준 라벨이 있는가

인지 출력을 비교하려면 정답 이 필요하다. 세 가지 방식이 쓰인다.

방식무엇과 비교한계
사람이 만든 기준 라벨사람이 표시한 객체 정보비용이 크고, 라벨 자체에 오류가 있다
이전 버전 출력직전 버전의 결과회귀는 잡지만 둘 다 틀린 경우 를 못 잡는다
다른 센서·사후 처리더 정확한 수단의 결과그 수단의 정확도가 전제가 된다

두 번째가 실무에서 가장 많이 쓰이고 가장 오해된다. 이전 버전과 같으면 통과로 보는 방식은 회귀 검증 이고, 정확도 검증이 아니다. 둘 다 틀렸으면 영원히 통과한다. 그래서 기준 라벨이 있는 부분집합 을 따로 유지해 정확도를 확인하고, 나머지는 회귀로 본다.

첫 번째의 라벨 오류 도 중요하다. 라벨이 틀리면 정상 출력이 실패로 나오고, 그것을 추적하는 데 시간이 든다. 라벨 품질 검사 가 필요하고, 모듈 39 레슨 11 의 "기준 결과가 어떻게 검증되었는지 기록" 원칙이 그대로 적용된다.

그리고 차이를 비교하는 방식 을 정해야 한다. 객체 목록 비교는 단순 일치가 아니다 — 같은 객체인지 짝짓는 규칙(겹침 정도 등), 허용 위치 오차, 신뢰도 임계가 필요하다. 이 규칙이 비교 결과를 크게 바꾸므로 보고서에 명시 한다. 모듈 39 레슨 11, 모듈 63 레슨 3 에서 반복한 "설정이 숫자를 바꾼다" 와 같은 문제다.

대량 재생의 실무 — 차분을 좁혀 본다

주행 데이터는 양이 크다. 수백 시간의 기록을 매 변경마다 전부 비교할 수 없다. 모듈 39 레슨 11 의 5단계 비교가 여기 그대로 쓰인다.

  1. 메타데이터 — 재생 건수, 구간 길이, 결측
  2. 요약 통계 — 객체 검출 수, 분류 분포, 신뢰도 분포, 처리 시간
  3. 차분 분포 — 이전 버전과의 차이가 몰린 구간
  4. 설계된 표본 — 차이가 큰 구간, 기준 라벨이 있는 구간, 알려진 어려운 장면
  5. 시각화 — 영상에 겹쳐 보기. 발견 수단이고 판정 수단은 아니다

네 번째의 "알려진 어려운 장면" 을 모아 두는 것이 이 분야의 핵심 자산이다. 레슨 2 에서 식별한 유발 조건에 해당하는 실제 장면들 — 역광 터널 출입구, 공사 구간, 비정형 장애물. 이것을 기준 장면 집합 으로 관리하면 변경마다 빠르게 확인할 수 있다. 모듈 41 레슨 9 의 기준 사례 집합과 같은 발상이다.

시뮬레이션 결과를 증거로 쓰는 조건

시뮬레이션은 범위를 넓혀 주지만, 결과를 증거로 쓰려면 조건이 있다. 모듈 63 레슨 4 의 환경 적격성, 모듈 62 레슨 3 의 "대체하지 못하는 것" 과 같은 구조다.

조건적어야 하는 것
모델 식별차량 동역학 모델, 센서 모델, 환경 모델의 버전
모델 타당성그 모델이 실제와 맞는지 누가 어떻게 확인했는가
시뮬레이터 식별제품·버전·설정, 시간 간격(step size)
결정성같은 시나리오가 같은 결과를 내는가
시험 대상 식별어느 소프트웨어 버전이 들어갔는가
결합 방식소프트웨어만인가, 하드웨어가 포함되는가(xIL 계층)

두 번째가 핵심이고 자주 비어 있다. 센서 모델이 실제 센서의 성능 한계를 재현하지 못하면, 시뮬레이션에서는 보이는 것이 실제로는 보이지 않는다. 그러면 시뮬레이션 통과가 아무것도 보장하지 않는다. 모델 타당성을 누가 어떻게 확인했는지가 적혀 있지 않은 시뮬레이션 결과는 증거로 쓰기 어렵다 — 모듈 62 레슨 3 의 "검증되지 않은 모델의 결과는 근거가 아니다" 와 같다.

네 번째(결정성) 도 실무 문제 다. 같은 시나리오가 실행마다 다른 결과를 내면 "통과" 가 무슨 뜻인지 모호해진다. 원인은 보통 난수, 병렬 처리 순서, 시간 간격 변동이다. 대응은 모듈 63 레슨 4 의 세 방법 — 고정·반복·여유 다. 고정할 수 없으면 반복해 분포를 남기고, 판정에 여유를 요구한다.

xIL 계층과의 관계

시나리오 기반 시험은 여러 계층에서 돌 수 있다. 모듈 46 레슨 5 의 구분을 시나리오 관점으로 다시 보면 이렇다.

계층시나리오가 구동하는 것적합한 용도
소프트웨어만인지·판단 로직대량 실행, 조합 탐색
센서 모델 포함인지 입력부터유발 조건 탐색
하드웨어 포함실제 제어기타이밍·자원 확인
차량 포함(시험장)실차최종 확인. 가장 비싸다

아래 계층에서 조합을 대량으로 돌리고, 위 계층에서 선별된 것만 확인 하는 배분이 이 분야의 표준적 설계다. 그리고 계층이 올라갈수록 결과의 증거력이 올라가지만 수가 줄어든다 — 이 교환을 명시적으로 설계하는 것이 QA 의 일이다.

실무에서 왜 필요한가

자율주행 검증 조직에서 가장 흔한 거짓 안심이 "시나리오 N 건 통과" 다. 그 숫자 안에 의도한 상황을 만들지 못한 시나리오 가 섞여 있고, 그것들은 전부 통과로 집계된다. 전제 조건 검사와 무효 판정을 도입하는 것만으로 그 거짓이 드러나고, 보통 처음 도입하면 무효 비율이 놀랄 만큼 높게 나온다.

두 번째로 흔한 오류가 데이터 재생으로 판단 로직을 검증했다고 보고하는 것 이다. 자차 거동이 기록과 달라지는 순간부터 무의미한데, 그 구분 없이 전 구간을 검증 결과로 쓴다. 개방 루프의 한계를 아는 QA 가 "어느 시점까지 유효한가" 를 결과에 적게 만들면 보고의 품질이 달라진다.

세 번째는 기준 라벨 없는 회귀만 돌리는 것 이다. 이전 버전과 같으면 통과인 방식은 둘 다 틀린 경우를 영원히 못 잡는다. 기준 라벨이 있는 부분집합을 유지하라는 요구는 비용이 들지만, 그것 없이는 정확도를 말할 수 없다.

네 번째는 모델 타당성이 비어 있는 시뮬레이션 결과 다. 센서 모델이 실제 한계를 재현하지 못하면 시뮬레이션 통과가 아무것도 보장하지 않는다. "이 모델이 실제와 맞는지 누가 어떻게 확인했습니까" 라는 질문을 할 수 있는 QA 가 있으면 조직이 그 공백을 메운다.

채용시장에서의 위치

이 영역은 자율주행 검증 공고의 중심 역량 이다. "시나리오 기반 검증", "시뮬레이션 검증", "주행 데이터 분석", "회귀 검증 파이프라인", 그리고 시나리오 기술 표준 이름이 직접 적힌다.

특징은 도구를 다루는 역량과 검증을 설계하는 역량이 모두 요구 된다는 점이다. 도구만 다루는 사람은 많고, "이 결과를 어느 수준의 증거로 쓸 수 있는가" 를 판단하는 사람 은 적다. 후자가 희소하다.

면접에서 가르는 질문은 셋이다. "시나리오가 통과했는데 실제로는 아무것도 시험하지 않은 경우를 어떻게 막습니까"(전제 조건 검사와 무효 판정), "데이터 재생으로 판단 로직을 검증할 수 있습니까"(개방 루프 한계), "시뮬레이션 결과를 증거로 쓰려면 무엇이 필요합니까"(모델 타당성).

실습 과제

표준의 요소 이름·버전·문법과 도구 설정은 "표준 공개 문서·도구 문서에서 확인 (원문 확인)" 으로 표시 한다. 실습은 설계·문서 과제이며 실차·공도 주행은 없다.

과제 1 — 세 추상 수준 변환 (30분)

  1. 레슨 2 의 유발 조건 중 하나를 골라 기능 시나리오 를 자연어로 쓴다. 해석의 여지가 남는다는 것을 확인한다
  2. 그것을 논리 시나리오 로 바꾼다 — 파라미터를 8개 이상 뽑고 각각에 범위 를 정한다(자차 속도, 대상 차량 속도, 초기 거리, 끼어들기 횡가속, 노면 마찰, 조도, 곡률, 시야 가림 정도 등). 수치는 가정하되 가정임을 명시
  3. 각 파라미터의 경계 를 표시한다. 어디가 위험한 쪽 끝인지 근거를 적는다
  4. 범위에서 값을 골라 구체 시나리오 5개 를 만든다. 고르는 전략을 적는다 (경계 조합, 무작위, 최악 추정)
  5. 같은 논리 시나리오에서 구체 시나리오를 몇 개까지 만들 수 있는지 추정한다. 그 수가 폭발하는 문제를 레슨 4 로 넘긴다고 적는다

과제 2 — 정적·동적 분리 설계 (25분)

  1. 과제 1 의 시나리오를 정적 부분과 동적 부분으로 나눈다. 각각에 들어갈 항목을 목록으로 적는다
  2. 본문의 신호등 예처럼, 같은 대상이 두 기술에 걸치는 항목을 3개 찾아 무엇이 어디에 들어가는지 적는다
  3. 본문의 증상 표를 확장해 증상 8개 에 대해 어느 쪽을 의심할지 적는다
  4. 좌표·기준점 불일치 로 "실행은 되지만 의도한 상황이 아닌" 경우를 구체적으로 하나 만든다. 그것이 통과로 집계되는 경로를 그린다
  5. 표준 요소 이름과 문법은 원문 확인 으로 표시하고 확인 경로를 적는다

과제 3 — 전제 조건 검사와 무효 판정 (35분)

이 과제가 이 레슨의 핵심 산출물이다.

  1. 본문의 여섯 전제 조건 검사를 우리 시나리오에 맞춰 판정 가능한 형태 로 쓴다. 각 검사의 임계값은 원문 확인(요구사항·시나리오 명세) 표시
  2. 검사를 4개 더 추가한다
  3. 판정을 통과 / 실패 / 무효 세 가지로 두는 체계를 설계한다. 무효의 정의와 처리 절차를 적는다
  4. 본문의 네 가지 "통과하는 거짓" 각각에 대해 어느 검사가 잡아내는지 짝짓는다. 잡히지 않는 것이 있으면 검사를 추가한다
  5. 무효 비율 을 지표로 두는 운영을 설계한다. 비율이 높을 때의 조치를 적는다
  6. 무효를 통과로 집계하면 커버리지가 거짓이 되는 경로를 한 문단으로 쓴다 (레슨 4 와 연결)
  7. 기능이 꺼져 있는 상태로 시나리오가 돈 경우 를 잡는 검사를 반드시 넣는다

과제 4 — 데이터 재생의 유효 범위 (30분)

  1. 본문의 "보장하는 것 / 못 하는 것" 을 자기 말로 다시 쓴다
  2. 개방 루프 한계 를 그림으로 그린다. 자차 거동이 기록과 달라지는 순간부터 무효가 되는 구조를 단계로 설명한다
  3. 데이터 재생으로 정당하게 검증할 수 있는 것 과 시뮬레이션으로 넘겨야 하는 것 을 시험 항목 15개로 배분한다
  4. 재생 결과 보고에 "어느 시점까지 유효한가" 를 적는 양식을 만든다. 그 칸이 없으면 생기는 오류를 적는다
  5. 센서 원시 데이터 수준이 아닌 재생(이미 전처리된 데이터) 의 한계를 적는다

과제 5 — 판정 기준과 비교 규칙 (30분)

  1. 본문의 세 기준 방식 각각의 장단점을 우리 상황에 맞춰 적는다
  2. 이전 버전 비교 가 회귀 검증이고 정확도 검증이 아닌 이유를 한 문단 쓴다. 둘 다 틀린 경우가 영원히 통과하는 경로를 그린다
  3. 기준 라벨이 있는 부분집합 을 설계한다 — 크기, 선정 기준, 갱신 주기, 그리고 라벨 품질 검사 방법
  4. 객체 목록 비교 규칙 을 정한다 — 짝짓기 기준(겹침 정도 등), 허용 위치 오차, 신뢰도 임계. 각 설정이 비교 결과를 어떻게 바꾸는지 적는다
  5. 이 설정들을 보고서에 명시하는 양식 을 만든다. 명시하지 않으면 숫자가 재현되지 않는 이유를 적는다

과제 6 — 대량 재생 파이프라인과 기준 장면 집합 (30분)

  1. 모듈 39 레슨 11 의 5단계를 주행 데이터에 맞춰 설계한다. 각 단계의 입력·출력· 판정 기준을 적는다
  2. 요약 통계 항목을 정한다(검출 수, 분류 분포, 신뢰도 분포, 처리 시간 등 8개). 재생 시점에 함께 생성해 저장하는 구조를 설계한다
  3. 설계된 표본 선정 규칙을 쓴다. 차이가 큰 구간, 기준 라벨 구간, 알려진 어려운 장면 을 포함한다
  4. 기준 장면 집합 을 설계한다 — 레슨 2 의 유발 조건 축에서 장면을 모으는 방법, 메타데이터(어느 조건에 해당하는지), 관리 방법, 개인정보·영상 취급 절차
  5. 시각화가 발견 수단이고 판정 수단이 아닌 이유를 적고, 발견한 이상을 정량 검사로 옮기는 예를 둘 든다

과제 7 — 시뮬레이션 증거 조건 (25분)

  1. 본문의 여섯 조건으로 시뮬레이션 결과 보고 머리글 양식 을 만든다
  2. 모델 타당성 칸을 가장 공들여 설계한다. "누가 어떻게 확인했는가" 를 적는 형태로 만들고, 비어 있으면 결과를 증거로 쓸 수 없는 이유를 적는다
  3. 센서 모델이 실제 한계를 재현하지 못할 때 시뮬레이션 통과가 보장하지 않는 것 을 구체적으로 셋 적는다
  4. 결정성 을 확인하는 시험을 설계한다. 같은 시나리오를 반복 실행해 결과가 같은지 보고, 다르면 원인(난수·병렬 순서·시간 간격) 을 좁히는 절차를 쓴다
  5. 고정할 수 없는 비결정성을 반복과 여유 로 다루는 방법을 적는다
  6. xIL 계층별로 증거력과 실행 가능 수의 교환 을 표로 정리하고, 우리 배분을 정한다

자가 체크리스트

  • 데이터 재생과 시뮬레이션이 답하는 질문과 한계가 다르다는 것을 설명할 수 있다
  • 두 한계가 서로를 메운다는 것과, 각 결과의 증거 수준을 가려야 함을 안다
  • 시나리오의 세 추상 수준을 구분하고 각각의 성격을 말할 수 있다
  • 기능 시나리오가 해석 여지를 남겨 직접 실행 불가한 것이 일반적임을 안다
  • 논리 시나리오가 파라미터 범위를 도입한 것이며 QA 의 핵심 자리인 이유를 안다
  • 구체 시나리오가 값이 고정되어 기계가 읽을 수 있는 것임을 안다
  • 정적 환경 기술과 동적 요소 기술의 분리를 신호등 예로 설명할 수 있다
  • 두 기술의 결합(좌표·기준점) 에서 "실행은 되지만 의도한 상황이 아닌" 경우가 생김을 안다
  • 시나리오가 의도한 상황을 만들지 못한 채 통과하는 네 가지 전형을 들 수 있다
  • 전제 조건 검사가 없으면 판정 결과를 믿을 수 없다는 것을 설명할 수 있다
  • 전제 조건 검사 여섯 가지를 들 수 있다
  • 판정을 통과·실패·무효 세 가지로 두는 이유와 무효 비율의 의미를 안다
  • 무효를 통과로 집계하면 커버리지가 거짓이 되는 경로를 안다
  • 기능이 꺼져 있는 상태로 시나리오가 도는 것이 가장 허무한 실패인 이유를 안다
  • 데이터 재생이 보장하는 것과 못 하는 것을 각각 들 수 있다
  • 개방 루프 한계 — 자차 거동이 기록과 달라지는 순간부터 무효 — 를 설명할 수 있다
  • 데이터 재생의 정당한 용도가 인지 단계까지임을 알고, 판단·제어는 시뮬레이션으로 넘긴다
  • 재생 결과에 "어느 시점까지 유효한가" 를 적어야 하는 이유를 안다
  • 판정 기준 세 방식의 한계를 각각 말할 수 있다
  • 이전 버전 비교가 회귀 검증이며 둘 다 틀린 경우를 못 잡는다는 것을 안다
  • 기준 라벨 부분집합을 유지해야 정확도를 말할 수 있다는 것을 안다
  • 라벨 오류가 정상 출력을 실패로 만들며 라벨 품질 검사가 필요함을 안다
  • 객체 비교 규칙(짝짓기·허용 오차·신뢰도 임계) 이 결과를 크게 바꾸므로 명시해야 함을 안다
  • 대량 재생을 5단계로 좁혀 보는 절차를 설계할 수 있다
  • 기준 장면 집합이 이 분야의 핵심 자산인 이유를 안다
  • 시각화가 발견 수단이고 판정 수단이 아님을 안다
  • 시뮬레이션 결과를 증거로 쓰는 여섯 조건을 들 수 있다
  • 모델 타당성이 비어 있으면 시뮬레이션 통과가 아무것도 보장하지 않음을 설명할 수 있다
  • 결정성이 깨질 때의 원인과 고정·반복·여유 대응을 안다
  • xIL 계층이 올라갈수록 증거력은 오르고 실행 수는 줄어드는 교환을 설계할 수 있다

흔한 실수

"시나리오 N 건 통과" 를 그대로 보고한다. 그 안에 의도한 상황을 만들지 못한 시나리오가 섞여 있다. 전제 조건 검사와 무효 판정 없이는 숫자가 거짓이다.

무효를 통과로 집계한다. 커버리지가 부풀고, 부푼 커버리지를 근거로 출시 판단이 내려진다.

기능이 꺼져 있었는지 확인하지 않는다. ODD 밖 판정으로 기능이 꺼진 상태에서 시나리오가 돌면 아무것도 시험하지 않고 통과한다.

데이터 재생으로 판단 로직을 검증했다고 보고한다. 자차 거동이 기록과 달라지는 순간부터 무의미하다. 유효 구간을 결과에 적는다.

재생 결과를 전 구간 검증으로 쓴다. 개방 루프 한계를 모르면 이 실수를 한다.

이전 버전 비교만 돌린다. 회귀는 잡지만 정확도는 모른다. 둘 다 틀린 경우가 영원히 통과한다. 기준 라벨 부분집합을 유지한다.

라벨 오류를 결함으로 추적한다. 라벨이 틀려 정상 출력이 실패로 나오고, 원인을 찾는 데 시간이 든다. 라벨 품질 검사를 둔다.

객체 비교 규칙을 보고서에 안 적는다. 짝짓기 기준과 허용 오차가 숫자를 크게 바꾼다. 명시하지 않으면 재현되지 않는다.

대량 재생을 전수 비교한다. 시간과 저장이 터진다. 메타데이터 → 요약 통계 → 차분 분포 → 설계된 표본 순으로 좁힌다.

표본을 무작위로 고른다. 차이는 어려운 장면에 몰려 있다. 기준 장면 집합과 차이 상위 구간으로 설계한다.

어려운 장면을 모아 두지 않는다. 매 변경마다 다시 찾게 된다. 기준 장면 집합이 이 분야의 자산이다.

시각화로 판정한다. 겹쳐 보기는 이상을 발견하는 데 뛰어나지만 판정 기준이 아니다.

모델 타당성 없이 시뮬레이션 결과를 증거로 쓴다. 센서 모델이 실제 한계를 재현하지 못하면 통과가 아무것도 보장하지 않는다.

결정성을 확인하지 않는다. 같은 시나리오가 실행마다 다르면 "통과" 가 모호해진다.

모든 시나리오를 상위 계층에서 돌리려 한다. 수가 줄어 탐색이 안 된다. 아래에서 대량으로, 위에서 선별해 확인한다.

참고 자료

  • 시나리오 기술 표준의 공개 문서 — 정적 환경 기술과 동적 요소 기술의 역할, 추상 수준의 정의, 요소와 문법, 버전별 개념 확장. 이 레슨은 구조만 다뤘으므로 요소 이름과 문법은 원문에서 확인한다(요소·문법·버전 — 원문 확인)
  • ISO 21448 원문 — 시나리오 기반 시험이 미지 위험 식별에 쓰이는 맥락 (원문 확인)
  • 사용하는 시뮬레이터와 센서 모델의 공식 문서 — 모델의 전제와 한계, 시간 간격 설정, 결정성 보장 범위. 모델 타당성 판단의 출발점이다(원문 확인)
  • 사내 센서 모델 타당성 확인 보고서 — 비어 있으면 그 공백이 지적 대상이다
  • 조직의 주행 데이터 취급 절차 — 영상에 사람·차량 번호가 담기므로 접근 권한· 가명화·보관·반출이 규정과 법령에 따라 정해진다. 그 절차 안에서만 쓴다
  • 모듈 65 레슨 2 — SOTIF: 유발 조건이 시나리오의 출처다
  • 모듈 65 레슨 4 — 코너 케이스와 커버리지: 구체 시나리오 폭발을 다루는 방법
  • 모듈 46 레슨 5 — xIL 환경 계층: 계층별 배분의 근거
  • 모듈 39 레슨 11 — 대량 비교 5단계와 기준 결과 검증
  • 모듈 41 레슨 9 — 기준 사례 집합: 기준 장면 집합의 같은 발상
  • 모듈 62 레슨 3 — 시뮬레이터가 대체하지 못하는 것, 검증되지 않은 모델
  • 모듈 63 레슨 3·4 — 설정이 숫자를 바꾼다, 비결정성 처리, 환경 적격성

낯선 말 풀이

이 레슨에 나온 약어입니다. 본문에서도 처음 나올 때 점선으로 표시해 두었습니다 (제목과 링크 글자는 그대로 둡니다).

QA — 품질보증
만든 것이 쓸 만한지 확인하고, 애초에 덜 망가지게 만드는 방법을 정하는 일. "테스트"는 그 일의 일부다.
ODD — 운행 설계 영역
이 기능이 제대로 동작한다고 보장하는 조건의 범위 — 날씨, 도로 종류, 속도 같은 것.
ISO — 국제표준화기구
여러 나라가 모여 "이건 이렇게 하자"를 문서로 정하는 단체. 그 문서 자체를 번호로 부른다.
SOTIF — 의도된 기능의 안전
부품이 고장나지 않았는데도 위험해지는 경우를 다루는 분야. 센서가 상황을 잘못 알아보는 식이다.

용어집 전체 보기