상호표정
좌/우 두 사진의 상대적인 자세를 구해 입체 모델을 만듭니다. 두 사진에서 같은 지물을 찍은 점(타이포인트)을 모으고, 공면조건으로 회전과 기선을 계산합니다.
페이지 접근
- 네비게이션 → "표정" → "상호표정"
- 모델 관리에서 모델 선택 후 [상호표정 →]
모델을 선택하지 않으면 모델을 선택하면 좌/우 이미지가 표시됩니다 로 안내됩니다.
전제 조건
좌/우 이미지의 내부표정이 완료되어야 합니다.
화면 구성
좌/우 두 뷰포트와 제어 패널, 결과 탭으로 구성됩니다.
뷰 모드
| 모드 | 동작 |
|---|---|
| 분리 | 좌/우 뷰 독립 팬 · 줌 |
| 에피폴라 | 상호표정 결과로 우 이미지를 좌와 평행하게 회전 정렬해 y-종시차를 제거 — 입체 융합 보조 |
에피폴라 정렬은 상호표정이 계산된 뒤에 의미가 있습니다.
타이포인트 확보
자동 추출
[자동 추출] 로 두 이미지의 특징점을 검출하고 대응을 찾습니다. 결과에는 검출 쌍 수와 함께 품질 지표가 표시됩니다.
| 지표 | 의미 |
|---|---|
| kp L/R | 좌/우에서 검출된 특징점 개수 |
| Lowe | Lowe 비율 검정 통과 기준 |
| NCC | 정규화 상관계수 (대응의 신뢰도) |
분포가 성능을 좌우합니다
점 개수보다 화면 전체에 고르게 퍼졌는지가 중요합니다.
⚠ 빈 분포 영역 — 수동 보완 권장 이 표시되면 비어 있는 구역을 수동으로 채우세요.
수동 측정
| 모드 | 동작 |
|---|---|
| 양쪽 (좌→우) | 좌 클릭 후 우 클릭으로 1쌍 등록 |
| 우 고정 (좌만 측정) | 선택된 점의 한쪽만 갱신 |
안내 문구가 다음 클릭 대상을 알려줍니다 —
수동 측정 — 좌 이미지 뷰포트부터 클릭하세요.
자동 정합 (한쪽 클릭 → 반대쪽 자동)
좌 뷰포트에서 한 점만 클릭하면 우 이미지의 대응점을 자동으로 찾아줍니다. 반대 방향(우 → 좌)도 동일하게 동작합니다.
자동 정합에는 역매칭 검증이 들어갑니다. 찾은 대응점에서 거꾸로 다시 매칭했을 때 원래 위치로 돌아오지 않으면 거부합니다.
| 메시지 | 의미 |
|---|---|
역매칭 불일치 (○px) |
다른 지점에 정합됐을 가능성 — 채택하지 않음 |
역매칭 실패 — 대응을 신뢰할 수 없습니다 |
역방향 매칭 자체가 실패 |
에피폴라 조건 위반 (y-종시차 ○mm) |
기하적으로 불가능한 대응 |
자동 관측 실패 — 뷰포트에서 직접 클릭하세요 |
수동 측정으로 전환 안내 |
타이포인트 관리
- 목록에서 개별 점의 사용 / 제외를 토글할 수 있습니다
- [선택 타이포인트 삭제] 로 잘못된 점을 제거합니다
- 잔차가 큰 점을 제외하고 다시 계산하는 것이 일반적인 개선 절차입니다
상호표정 계산
[상호표정 계산] 을 누르면 공면조건으로 해를 구합니다
(공면조건 상호표정 계산 (y-시차 허용 ○ mm)).
결과 해석
| 항목 | 의미 |
|---|---|
| ω φ κ | 우 사진의 좌 사진 대비 상대 회전각 |
| 기선 bx=1 | 기선 길이는 정규화됨 — 상호표정만으로는 실제 축척을 알 수 없습니다 |
| by, bz | 기선의 y·z 성분 |
| y-시차 RMS | 판정의 핵심 지표 |
| 인라이어 | 계산에 실제로 쓰인 점 수 |
판정
| 결과 | 의미 |
|---|---|
| 합격 | y-시차 RMS 가 허용오차 이내 — 절대표정 진행 가능 |
| 불합격 | 허용오차 초과 — 잔차 큰 점 제외 후 재계산 |
| 불합격 (미러/퇴화) | 해가 거울상이거나 퇴화 — 대응이 잘못됐거나 분포가 한쪽에 몰린 경우 |
실제 크기는 절대표정에서 결정됩니다
상호표정은 두 사진의 상대 관계만 구합니다. 지상 좌표와 축척은 절대표정에서 GCP 로 결정됩니다.
MCP 명령
| 명령 | 설명 |
|---|---|
model.extractTiePoints |
타이포인트 자동 추출 |
model.addTiePoint |
타이포인트 수동 추가 |
model.matchPointAt |
한쪽 좌표로 반대쪽 자동 정합 |
model.setManualTpMode |
수동 측정 모드 설정 (양쪽 / 한쪽 고정) |
model.getTiePoints / model.getTiePointStatus |
타이포인트 목록 / 상태 조회 |
model.selectTiePoint / model.setTiePointEnabled |
선택 / 사용·제외 |
model.removeTiePoint |
삭제 |
model.solveRO |
상호표정 계산 |
model.getRoResult |
결과(회전·기선·y-시차·합격) 조회 |
model.setEpipolarAlign / model.getEpipolarAlign |
에피폴라 정렬 on/off |
model.setViewMode / model.getViewMode |
뷰 모드 전환 |
model.setWorkMode |
상호표정 / 절대표정 모드 전환 |
model.getViewportState |
뷰포트·작업 모드 상태 조회 |