4. Using the DVS Calibration App
이 장에서는 Chapter 3에서 준비한 원형 그리드로 실제 카메라 캘리브레이션을 진행합니다. 모니터 패턴은 고정한 채 카메라와 삼각대를 함께 옮겨 그리드가 영상의 여러 위치, 거리, 기울기에서 보이게 하고 pose마다 segment를 기록합니다. 앱은 각 segment에서 원 중심을 찾고 이를 이용해 mono 또는 stereo calibration 값을 계산합니다. 한 장의 선명한 영상을 얻는 것이 아니라 센서의 여러 영역을 고르게 관측하는 것이 목표입니다.
4.1 Start from DVS Viewer
DVS Viewer에서 카메라가 연결되었는지 확인한 뒤 Calibration을 선택합니다. Viewer가 종료되고 DVS Calibration 앱이 열립니다.
4.2 Confirm camera detection and measurements
2. Grid의 행·열 수, 측정한 circle spacing, 실제 stereo baseline을 입력합니다.
3. Start live preview를 선택합니다.
카메라 종류와 mono/stereo topology는 연결된 하드웨어에서 자동으로 결정됩니다. 캘리브레이션 촬영은 100 FPS로 고정되며 10 frame을 누적한 영상을 저장합니다. 이 값은 사용자가 조정하는 설정이 아닙니다. Section 3.4에서 측정한 circle spacing과 카메라 assembly의 실제 stereo baseline을 입력합니다. 검출된 장치 목록이 잘못되었을 때만 Rescan을 사용하십시오.
4.3 Record calibration segments
2. Segment가 끝나면 PNG 저장과 자동 sorting이 background worker에서 계속됩니다. Sorting이 끝날 때까지 기다리지 말고, 모니터 패턴은 고정한 채 카메라와 삼각대를 다음 pose로 옮겨 다음 segment를 시작할 수 있습니다.
Preview는 10 FPS로 표시되므로 카메라를 옮길 때 다소 끊겨 보일 수 있습니다. 이는 의도된 표시 방식이며 카메라 고장이나 PC 성능 부족을 뜻하지 않습니다. 이 화면에서는 원형 그리드의 모든 점이 서로 분리되어 있고 불필요한 배경 이벤트가 억제되어 있는지 확인합니다.
Segment 기록이 끝나면 PNG 저장과 자동 sorting이 background에서 계속됩니다. Sorting이 완료될 때까지 기다리지 않고 카메라와 고정 삼각대를 다음 pose로 옮겨 새 segment를 시작할 수 있습니다. Accepted pairs는 sorting 결과 캘리브레이션 입력으로 사용할 수 있다고 판단된 recorded segment 수입니다. Stereo에서는 같은 segment의 좌우 관측이 모두 유효해야 accepted pair 하나로 계산되며, background sorting이 끝난 뒤 숫자가 증가할 수 있습니다.
권장 촬영: pose마다 약 5초씩 기록합니다. 카메라와 삼각대를 함께 옮겨 그리드가 다른 영상 위치, 거리, 기울기에 나타나게 하고 약 40개 segment까지 반복합니다. 이는 권장값이지 강제 조건은 아닙니다. Coverage와 선택 결과가 충분하다면 더 일찍 계산을 시작할 수 있습니다.
키보드 S 또는 화면의 Start/Stop segment recording 버튼으로 segment 기록을 시작하고, 같은 조작으로 종료합니다. 하나의 segment를 기록하는 동안에는 카메라와 삼각대를 움직이지 마십시오. Segment 중에 모니터 패턴도 바꾸지 않습니다. Mono에서는 단일 영상에 그리드가 선명한지 확인합니다. Stereo에서는 좌우 영상 모두 같은 고정 타깃을 포함해야 합니다. 중앙 pose만 반복하지 말고 카메라와 삼각대를 옮겨 센서의 좌우, 상하, 중앙, 다양한 거리와 적당한 기울기를 고르게 기록하십시오.
4.4 Select inputs in Review
2. Coverage Check를 열어 센서 영상 전체의 관측 분포를 확인합니다.
3. View rank candidates에서 자동 선택 결과를 비교하고, 필요하면 영상을 직접 선택합니다.
4. 충분한 입력이 준비되면 Start calibration을 선택합니다.
Sorting은 recorded segment마다 저장된 영상을 검사합니다. 모니터가 깜빡이므로 하나의 segment에도 서로 다른 blink phase의 영상이 들어 있고, 같은 원형 그리드가 밝거나 어둡거나 약하게 보일 수 있습니다. Sorting은 유효한 그리드를 찾고 포인트 순서를 확인한 뒤 영상에 점수를 매겨 가장 좋은 결과를 Rank 1–3 candidate로 최대 세 장까지 자동 선택합니다. 이 과정은 캘리브레이션 입력을 준비하는 단계이며 카메라 파라미터를 계산하지는 않습니다.
Sorting worker는 background에서 실행되는 sorting 작업 하나를 뜻합니다. Live Preview는 카메라와 화면 처리를 안정적으로 유지하기 위해 worker 하나를 사용합니다. Review에서는 segment를 1–5개까지 병렬로 sorting할 수 있으며 기본값은 3입니다. PC가 느리면 개수를 줄이고, 시스템 반응이 안정적일 때만 늘리십시오. 자동 선택이 부적절할 때만 Browse로 교체하고, 검출이 약한 segment에 한해 Rescan relaxed를 사용합니다.
4.5 Understand Rank candidates
2. Rank 2와 Rank 3은 같은 pose에서 관측된 추가 candidate입니다.
Segment 하나는 카메라와 고정 삼각대가 한 pose에서 정지한 상태로 기록한 영상 묶음입니다. Rank 1–3은 같은 정지 pose에서 얻은 candidate 영상입니다. 세 영상이 모두 같은 원형 그리드를 일관되게 검출하면 앱은 저장된 circle-centre coordinates를 평균해 해당 pose의 측정값을 더 안정적으로 만듭니다. 자동 선택 결과가 적절하지 않다면 Browse로 각 rank에 직접 영상을 지정할 수 있습니다.
4.6 Check capture coverage
2. Device 1 / Right도 함께 확인합니다. 흰색 영역은 원형 그리드 관측이 부족한 곳입니다.
Coverage Check는 촬영 데이터가 센서 영상을 충분히 덮고 있는지 보여 줍니다. 넓은 흰색 영역이 남아 있다면 카메라와 삼각대를 함께 옮겨 그리드가 그 영역에 나타나게 한 뒤 segment를 추가로 기록합니다. 색상 outline이 영상 전체에 고르게 분포하면 계산을 진행합니다. Stereo에서는 왼쪽과 오른쪽 영상을 모두 확인해야 합니다.
4.7 Monitor calculation progress
계산 중에는 선택 영상을 바꾸거나 카메라 geometry를 변경하지 마십시오. 계산에 실패하면 log를 보관한 뒤 Review로 돌아가 입력 데이터를 점검합니다.
4.8 Check and retain results
2. Open output folder를 선택해 저장된 파일을 확인합니다.
계산한 카메라 캘리브레이션을 적용할 때는 다음 파일 하나를 사용합니다.
calibration.yaml
Output folder에는 계산에 사용한 image pair를 기록한 pair report CSV와 계산 과정 및 제외된 입력을 확인할 수 있는 run log도 저장됩니다.
나중에 결과를 검토하거나 반복성 기록이 필요하다면 해당 live_sampled_... session도 함께 보관하십시오. 선택 영상, pair report CSV, run log를 통해 사용된 입력과 계산 과정을 추적할 수 있습니다.
Supported cameras: DVS Calibration은 Delta-01 mono 한 대 또는 mono 두 대, Delta-10 mono 한 대 또는 mono 두 대, Delta Stereo를 지원합니다. Delta Sigma 지원은 예정되어 있습니다.
이 문서는 NRV DVS calibration workflow를 설명합니다. Event camera와 다른 종류의 카메라를 함께 캘리브레이션하면서 두 장치 사이의 pose를 구해야 한다면, 이 workflow를 참고해 필요한 integration을 별도로 개발해야 합니다.
캘리브레이션 문제가 발생하면 상황을 정리해 contact@nrv.kr로 보내고, calibration 담당자 Jay에게 전달해 달라고 요청하십시오.