k•KINDNICK김광진 · 포트폴리오
← 전체 작업
연구 / Mingle

Sluice · 광학 캡처 연구

연구
연구 결과

광학 카메라 관측에서 공간 보정·마커 재구성·강체 추적을 연구했습니다. 카메라 초기화 실패와 무너지는 공간 형상, 잘못된 마커가 추적을 끌어당기는 문제를 다뤘습니다.

내가 한 일

C++ 캘리브레이션·재구성·추적 파이프라인과 실험·검증 도구 개발

  • 저장된 카메라 관측을 반복 처리하는 연구 도구를 개발했습니다.
  • 잘못 짝지어진 관측을 걸러 카메라 초기화와 공간 보정을 수정했습니다.
  • 가림 뒤 생긴 잘못된 마커의 영향을 줄이고 남은 오차를 기록했습니다.
완드 궤적의 3D 재구성과 평활화 비교
작업 사진

완드 궤적의 3D 재구성과 평활화 비교

내가 한 일

다중 카메라의 2D 마커를 3D로 재구성하고 추적·라벨링·강체 포즈와 평활화로 연결했습니다.

자료 범위

Sluice 과거 연구 결과 그림. 실제 좌표 정확도나 상용 장비와의 동등성 증명이 아닙니다.

프레임 간 이동량으로 확인한 평활화 전후 차이
작업 사진

프레임 간 이동량으로 확인한 평활화 전후 차이

내가 한 일

좌표 변화량과 히스토그램으로 스무딩의 동작을 확인하는 분석 자료를 만들었습니다.

자료 범위

기록된 완드 시퀀스의 프레임 간 변위 비교입니다.

캡처에서 강체 포즈까지 이어지는 광학 처리 파이프라인
작업 사진

캡처에서 강체 포즈까지 이어지는 광학 처리 파이프라인

내가 한 일

캡처·캘리브레이션·재구성·추적·라벨·포즈·평활화 단계를 연결하는 C++ 광학 연구 도구를 개발했습니다.

자료 범위

2026-05-26자 기존 연구 문서 그림입니다.

기술과 문제 해결 과정구현 방법 · 문제 해결 사례 3개 · 시험 조건

작업 배경

일부 오대응이 카메라 초기화를 깨뜨렸고, 최적화 잔차가 낮아져도 실제 공간의 각도와 길이가 틀어질 수 있었습니다. 가림 뒤 잘못 연결된 마커도 강체 포즈를 끌어당겼습니다.

구현한 내용

  1. 01

    Camera SDK 의존성을 격리하고 원시 관측 저장, 프레임 정렬, wand 대응, 카메라 연결 그래프와 캘리브레이션 단계를 나눴습니다.

  2. 02

    기본 fundamental matrix 추정에 RANSAC을 넣어 소수 오대응이 전체 카메라 연결을 망가뜨리는 경우를 다뤘습니다.

  3. 03

    Bundle Adjustment 입력을 품질·시간 구간·화면 분포로 선별하고, 잔차 수치와 별도로 CS-400의 직각·팔 길이 형상을 확인했습니다.

  4. 04

    재구성 마커를 시간축 track과 강체 템플릿에 연결하고 Horn/Kabsch 포즈, 부분 마커 지원과 causal smoothing을 구성했습니다.

  5. 05

    ghost marker에는 결정적인 난수 seed를 쓰는 RANSAC Kabsch를 추가하고, 합의점이 없거나 마커가 부족할 때의 fallback과 적용 여부를 명시했습니다.

C++20EigenCeresOptiTrack Camera SDKRANSACBundle Adjustment강체 추적
문제 해결

어떤 문제를 다뤘는지

01

오대응 때문에 연결되지 않던 카메라 초기화

문제
최소제곱으로 모든 대응점을 사용하는 fundamental matrix 추정은 일부 잘못된 마커 대응에도 민감했습니다. 초기화에서 30대 중 6대가 연결되지 않는 원인을 조사했습니다.
처리 방법
wand 순열별 대응에 RANSAC 가설 평가를 넣고 inlier 집합으로 다시 추정했습니다. 실패한 카메라 자체의 결함으로 단정하지 않고 pair별 inlier와 연결 그래프를 비교했습니다.
결과·범위
2026년 5월 26일 기록은 해당 스튜디오 데이터에서 초기화가 24/30에서 30/30으로 바뀐 결과를 남깁니다. 모든 환경에서 30대 운용이나 상용 정확도를 보장하는 수치는 아닙니다.
02

낮은 잔차보다 공간 형상이 맞는 결과를 선택하기

문제
사용 프레임을 늘리면 노이즈도 함께 늘어 L자 형상이 무너졌습니다. 강한 잔차 필터로 수치가 더 낮아져도 실제 각도와 팔 길이가 틀어지는 실험이 있었습니다.
처리 방법
프레임 품질 필터, 시간 구간별 balanced sampling과 화면 coverage를 추가했습니다. Huber cost를 환산한 RMS와 raw reprojection RMS를 분리하고 CS-400의 약 90도·300/400mm 형상을 별도로 평가했습니다. origin 정렬도 상위 cluster 3개 대신 여러 triplet을 길이·각도 prior로 점수화했습니다.
결과·범위
기록상 기존 500-frame 조건의 L-shape 실패를 balanced sampling과 품질 선별로 완화했고 여러 origin 샘플 수에서 형상 일관성을 비교했습니다. 낮은 RMS만으로 preset을 채택하지 않았으며 Motive export나 외부 ground truth와의 mm 정확도 대조는 남겨뒀습니다.
03

ghost marker가 강체 포즈를 끌어당기는 문제

문제
관측 문턱을 완화하면 후보 수는 늘지만 ghost가 섞였습니다. 잘못 연결된 점까지 SVD에 넣으면 강체 중심과 포즈가 틀어졌습니다.
처리 방법
4개 이상 마커에서 3점 가설을 반복하고 거리 기준 inlier만 다시 Kabsch에 넣었습니다. 같은 입력은 같은 결과를 내도록 seed를 고정하고, 3점 이하·합의 실패에서는 기존 경로를 사용하며 RANSAC 적용 여부를 따로 기록했습니다.
결과·범위
당시 wand A/B 기록의 포즈 잔차 평균은 15.3mm에서 8.39mm로 줄었습니다. 이는 사용 마커에 대한 내부 적합 잔차이며 실제 위치 정확도 개선율이 아닙니다. 이미 이동한 ghost cluster 중심의 drift는 남아 재구성 단계에서의 사전 차단을 후속 과제로 적었습니다.
구현과 검증 범위

다중 카메라 캘리브레이션과 오프라인 재구성·추적·강체 포즈 구현. 실시간 전체 시스템·전신 solver·장시간 현장 품질은 별도 단계.

실행·측정 결과는 각 사례에 적힌 당시 기록과 조건을 따릅니다.

시험 조건과 적용 범위

현재는 저장 관측을 반복 처리한 캘리브레이션·마커·강체 추적 연구입니다. 자체 상용 전신 솔버나 Motive와 동등한 정확도를 입증한 결과로 쓰지 않습니다. 보고서의 일부 앞부분은 오래된 요약이므로 뒤의 실험·제약과 함께 읽었습니다.

활동
Mingle
작업 구분
연구