본문으로 건너뛰기

M25.05 · Replicator·조명/재질/카메라 랜덤화·합성 라벨

단위별 목표·권장 선수와 자료 준비 상태를 확인하고, 공개된 본문과 활동을 읽고 준비 상태를 확인할 수 있습니다.

전체 커리큘럼

학습 안내

본문을 읽고 장비 없는 기본 실습·세 확인 문제와 해설로 이해를 확인하세요.

예상 학습 시간: 미정. 이 페이지 방문이나 자료 열람으로 완료·숙달을 자동 부여하지 않습니다.

현재 경로·이전·다음 단위 확인 ↓

학습 목표

  • Replicator의 랜덤화·캡처·annotator·writer 역할과 의미를 보존하는 생성 계약을 설계한다.
  • 합성 생성 manifest에서 채널 완전성·클래스 사전·경계상자·깊이 규약과 동일 capture 정합성을 검사한다.
  • 자산 단위 분할과 실패/누락 보존을 적용하고 생성 품질·모델 성능·실물 일반화를 구분한다.

아래 설명·실습·문제로 각 학습 목표를 확인하세요.

권장 선수

M25.04의 고정조건/미사용 평가가 선수다. 카메라 기하와 데이터 분할은 M12.02·M20.03/.06으로 보충한다. 합성 생성 계획과 기록을 분석하며 실제 Replicator/GPU·이미지 생성·학습/실물 평가를 실행하지 않는다. 일반 언어/문법은 제외한다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

세 목표에 대응하는 검수된 설명·예제를 읽습니다.

많은 이미지보다 어떤 입력과 라벨인지가 먼저다

M25.04는 물리 매개변수를 보정 자료와 미사용 조건으로 나누어 평가했다. 이제 가상 장면에서 영상/깊이/라벨을 수집할 때도 같은 규칙을 적용한다. 이미지 수가 많아도 의미가 잘못됐거나 같은 장면이 학습/평가에 섞이면 모델 평가를 믿기 어렵다.

합성 데이터는 가상 장면의 설정/렌더/물리 상태에서 만든 관측과 주석이다. 도메인 랜덤화(domain randomization)는 조명·시점·외관 등의 조건을 정한 분포/목록에서 바꾸는 방법이다. 다양성을 늘릴 수 있지만 그 범위가 실제 과업과 맞는지는 별도로 검증한다. 그럴듯한 영상이나 생성 수량을 실제 인식 성능으로 보고하지 않는다.

랜덤화부터 파일 완료까지 역할을 나눈다

Replicator 시작 안내는 장면/랜덤화·주석/저장 구성을 만들고 이를 실행하는 과정을 구분한다. 코드를 작성했다는 사실과 실제 데이터가 완전히 기록된 것은 다르다.

합성 영상과 라벨을 같은 관측으로: 장면/랜덤 seed → Capture 시각 → 영상/깊이/라벨 → Writer/파일 검수.그림 원본 크기로 보기

그림 M25.05-1. 각 칸은 서로 다른 역할/근거다. 아래 방향은 자료/처리의 연결이며 실제 성공을 자동으로 보장하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.

역할이번에 확인할 계약
자산/의미자산 개정·단위·실제 Prim과 클래스/인스턴스의 의미
randomizer/trigger무엇을 언제 바꿀지, 유효 분포/목록과 실제 표본값
camera/render product캡처 카메라·해상도·내외부 파라미터·시각/프레임
annotatorRGB·깊이·semantic 등 어떤 관측/주석을 계산할지
writer같은 capture의 채널을 어떤 형식·ID·경로로 기록할지
완료/manifest요청한 채널이 모두 기록됐는지, 누락/실패/중복과 출처

annotator는 주석/관측을 계산하는 구성이고 writer는 그 결과를 기록하는 구성이다. 이벤트를 발생시킨 것, 렌더가 보인 것, 비동기 저장이 끝난 것을 다른 상태로 남긴다. 종료 전에 쓰기 완료/오류를 확인하고 파일 수뿐 아니라 capture ID와 채널의 대응을 대조한다. 실제 API/종료 절차는 설치한 릴리스의 문서를 확인한다.

의미를 보존하는 분포를 정한다

조명 세기/방향, 시각 재질, 카메라 pose·노출을 바꿀 때 각 범위와 유효성 조건을 남긴다. 카메라가 벽 안으로 들어가거나 대상이 전부 가려지는 장면은 과업에 따라 무효 또는 별도의 어려운 조건이다. 그냥 삭제하지 말고 생성 목적과 판정/분모를 정한다. 색 지시가 “빨간 상자”인데 대상 색을 파랗게 바꾸고 문장을 그대로 두면 라벨 의미가 달라진다.

렌더 roughness를 바꾸는 것과 물리 마찰을 바꾸는 것은 별도다. 동역학을 랜덤화한다면 M25.04의 질량/재질·시간/접촉 검토를 적용한다. 공식 랜덤화 예제는 여러 대상을 다루지만, 사용한 개별 스크립트가 그 모든 범주를 구현했다고 가정하지 않는다.

seed는 표본 생성의 시작 조건을 남기는 정보다. 같은 seed만으로 다른 자산/코드·엔진/드라이버/렌더 설정과 이벤트 순서까지 같다고 보장하지 않는다. 분포 개정·실제 표본값·원본/override 지문·실행환경·캡처 순서도 남겨 재현 범위를 설명한다.

같은 capture의 관측과 라벨을 묶는다

이번 교육용 계약은 cameraC0/C1, 해상도64×48, RGB/depth/semantic 채널과 고유 capture ID를 사용한다. 각 행은 asset/light/camera·seed/실제 표본·physics tick/취득시각·좌표 규약·K/카메라 pose 개정과 세 채널 파일/지문을 묶는다. 메타데이터만 있다고 실제 파일의 정합성을 확인한 것은 아니다.

semantic 라벨은 픽셀이 어떤 클래스인지, instance 라벨은 같은 클래스 중 어느 개체인지를 나눈다. ID7→box라는 현재 클래스 사전 없이 숫자7만 저장하면 다른 실행의7이 같은 뜻인지 알 수 없다. 시각화를 위한 임의 RGB색도 원래 클래스 ID와 구별한다. class 사전·인스턴스/Prim 매핑의 개정과 실제 캡처에 적용된 의미를 기록한다.

K는 초점/주점 등 카메라 내부 파라미터이고, 카메라 pose는 장면 기준 위치/방향인 외부 파라미터다. 카메라를 랜덤화했으면 실제 캡처에 적용된 값/개정을 함께 남긴다.

bbox도 규약이 필요하다. 이번에는 영상 좌상단 원점, 오른쪽u/아래v, 반개구간 [xmin,xmax)×[ymin,ymax)을 선언한다. (10,5,30,25)는 폭20·높이20픽셀이다. xmax=64는 영상 경계와 맞을 수 있지만65는 범위 밖이다. 다른 writer의 경계/정규화 규약을 변환 없이 섞지 않는다. bbox 면적을 실제 물체의 픽셀 수나 가림 비율로 바로 읽지도 않는다.

배경 ID0인 정상 mask와 mask 파일이 없는 상태도 다르다. 라벨0의 의미와 대상 부재/가림을 정의하고, 누락을 배경으로 채우지 않는다. RGB는 cameraC0인데 semantic은C1이거나 물체 이동 전후 tick이 다르면 파일이 모두 있어도 잘못된 쌍이다.

깊이 이름과 축을 확인한다

Replicator 시각화 안내는 카메라 전방축 방향의 distance-to-image-plane과 카메라 중심까지의 distance-to-camera를 구분한다. 정확한 출력 단위/invalid 값·자료형은 사용할 annotator 문서를 확인한다.

이번 종이 계산은 optical +Z가 앞쪽인 교육용 프레임을 선언한다. 점P=(1,0,2)m라면 전방축 깊이Z=2m이고 중심까지 거리는√(1²+0²+2²)=√5≈2.236m다. 두 값은 영상 가장자리에서 같지 않을 수 있다. 이것을 실제 OpenUSD 카메라의 기본축이나 ROS 변환으로 자동 간주하지 않는다. 현재 카메라 규약과 M12.02의 변환을 확인한다.

깊이 배열이 존재해도 mode·단위·invalid/sentinel 규약이 없으면 2라는 숫자를 m 깊이로 임의 해석하지 않는다. RGB/깊이의 같은 카메라·해상도/시각과 내외부 파라미터가 맞아야 후속 기하 계산에 쓸 수 있다.

열두 계획에서 누락 한 건을 어떻게 센다?

합성 생성 계획은 assetA/B/C 각각 lightL0/L1×cameraC0/C1이다. 총3×2×2=12capture이며 각 capture에3채널 payload가 하나씩 있어야 하므로 예상36개다. 여기서 manifest·클래스 사전 등 별도 메타데이터 파일은36에 포함하지 않는다. 실제 writer의 전체 파일 수를 항상3배로 세라는 일반 규칙도 아니다.

제공 가상 기록에서는 B-L1-C1의 semantic payload 하나가 빠져 있다. 채널 payload는35개 존재하지만 완전한 capture는11개다. 학습에 수용할 채널 payload는11×3=33개이고 나머지 RGB/depth2개는 불완전 행의 원본으로 보존한다. 누락 행을 삭제하고11/11=100% 완전이라고 보고하면 계획 분모를 바꾼 것이다. 계획 대비 완전성은11/12≈91.7%다.

파일 수35만 맞는지도 충분하지 않다. 중복 capture의 파일이 다른 누락을 가릴 수 있으므로 (capture_id,channel)의 유일성·누락·지문과 카메라/시각을 확인한다. 재생성은 새 attempt ID와 원인·조건을 남기며 이전 실패를 덮어쓰지 않는다.

분할은 무엇을 일반화할지에 맞춘다

이번 목표는 보지 못한 자산에 대한 평가다. 사전에 A/B의 모든 변형을 학습에, C의 모든 변형을 최종 평가에 둔다. 계획상 학습8·평가4capture다. B의 누락을 제외하면 실제 수용은 학습7·평가4이고 원래 누락/계획 행은 보존한다.

프레임을 무작위로 나누어 A의 조명/시점 변형이 양쪽에 들어가면 새 자산 일반화의 평가가 아니다. seed만 달라도 같은 자산/근접 장면이 공유될 수 있다. 과업에 따라 자산·장면·원본 에피소드/연속 프레임 등 분할의 원자 단위를 먼저 정한다. 동일 분포 평가와 분포 밖 조건 평가도 목적을 나누어 표시한다.

11/12는 생성 완전성이고 인식 정확도가 아니다. 모델 평가는 라벨 품질·누수 없는 평가 자료·성공/실패 분모와 과업 지표를 따로 요구한다. 합성 평가 개선이 실제 현장 인식/안전 개선을 증명하지 않는다. 기존 4.6 Domain Randomization을 함께 읽고, 다음 M25.06에서 도구 접촉과 상태/행동 기록의 시간/실행 근거를 확장한다.

관련 기존 자료 · 보충해서 읽기

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    4.6 Domain Randomization

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    2.8 PBR 재질과 조명

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

학습 범위와 한계

기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

실습 필수

장비 없는 실습을 수행하고 관찰·계산 근거를 해설과 비교합니다.

실제 파일이나 GPU 없이 위12capture 계획과 B-L1-C1의 semantic 누락, ID7→box, bbox/깊이 예를 사용한다.

  1. 예상 채널 payload·실제 존재·완전 capture·수용 payload·불완전 원본 수를 계산한다. manifest/사전 파일을 이 개수에 더하지 않는다.
  2. A/B 학습·C 평가의 계획/실제 수용 수를 계산하고 원래 실패 행/재시도 기록을 어떻게 보존할지 적는다.
  3. bbox(10,5,30,25)의 크기와 xmax65의 유효성을 판정한다. optical점(1,0,2)의 전방 깊이/중심 거리를 비교한다.
  4. semantic ID7사전 누락, RGB/라벨 카메라 다름, 대상 색/지시문 모순 중 두 결함을 고르고 추가 확인을 제시한다.

막히면 생성 요청·채널 존재·같은 capture 정합성·학습 수용·모델 평가를 서로 다른 열로 쓴다. 이미지 개수를 인식 성능으로 바꾸거나 누락 mask를 배경으로 채우면 미충족이다.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

관련 기존 자료 · 보충해서 읽기

  • 기존 실습 원고 · 관련 기존 자료 · 보충 참고

    [SIM] 실습 4-4: Domain Randomization과 Rerun 품질 검토

    목표 일부 관련

    실습 원고 참조. 로컬/ROS/Isaac/GPU/실물 실행과 장비 없는 기본 경로의 목표 검수는 미실시. 연결된 원고의 환경·절차를 확인하세요. 원고 열람은 실습 수행을 뜻하지 않습니다.

  • 코드·원본 파일 · 관련 기존 자료 · 보충 참고

    04_sensor_data_pipeline/code/replicator_randomization.py

    목표 충족 범위 없음

    파일 열람은 코드 실행·실습 완료를 뜻하지 않습니다.

학습 범위와 한계

기본 실습은 장비 없이 수행합니다. 실제 장비·GPU 실증을 완료했다는 뜻은 아닙니다.

평가·해설 필수

목표별 세 서술문항에 답하고 해설·판정 기준으로 자기검토합니다.

확인 문제 Q1

색 지시는 그대로인데 대상 색을 바꾸었고 RGB/depth 파일은 생성됐다. 의미 라벨도 완전하고 실제 일반화가 검증됐다고 말할 수 있는가? 파이프라인의 추가 확인을 적어라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q2

12capture×3채널 계획에서 한 semantic만 누락됐다. 폴더에35payload가 있으니35/36만 보고 끝내자는 주장을 평가하라. 수용 가능한 capture/payload와 두 깊이 정의를 설명하라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q3

같은 자산의 조명/카메라 변형을 서로 다른 seed로 만들어 학습/평가에 프레임 무작위 분할했다. “새 자산에서도 잘 된다”는 결과를 이 분할로 판단할 수 있는가? 이번 A/B/C 계약으로 고쳐라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

관련 기존 자료 · 보충해서 읽기

학습 범위와 한계

서술답안과 해설이 준비되었습니다. 자기검토와 학습 완료는 숙달 인증과 별개입니다.

참고 자료

학습 확인

실습과 세 문항의 답안을 해설과 비교한 뒤, 이 단위의 학습 완료를 직접 기록할 수 있습니다. 자기검토·학습 완료는 자동 채점이나 숙달 인증과 별개입니다.

실습1개·확인 문제3개의 답안을 저장하고 각각 자기검토를 기록하세요.

학습 이동

학습 단계 순서 · 공통 과정 이후 전문화 선택

전체 목차로 돌아가기 →

신규 활동의 답안은 이 브라우저의 통합 학습 기록에 저장합니다. 기존 화면의 답안·진도는 원래 키를 유지합니다. AI 강사는 현재 단위의 준비 상태·부족한 범위와 연결된 실제 자료를 참고합니다.