POOOLING FOREST
모든 거리에 동시에 초점을 맞추는 카메라, 그리고 개발자의 시야 - 카네기 멜론 대학의 전 구간 초점 카메라 기술을 통해, 개발자가 가져야 할 시야와 시스템의 옵저버빌리티에 대
Engineering & Tech

모든 거리에 동시에 초점을 맞추는 카메라, 그리고 개발자의 시야

카네기 멜론 대학의 전 구간 초점 카메라 기술을 통해, 개발자가 가져야 할 시야와 시스템의 옵저버빌리티에 대한 통찰을 공유합니다.

김테크

8년차 개발자

안녕하세요. 풀링포레스트 백엔드 개발자 김테크입니다.

개발자로 일하다 보면 '시야(Vision)'라는 단어를 참 많이 씁니다. 모니터링 대시보드를 볼 때도, 시스템 아키텍처를 설계할 때도 우리는 전체를 보면서 동시에 디테일을 놓치지 않으려 애씁니다. 하지만 솔직히 말해, 그게 어디 쉽나요? 저도 3년 전 대규모 장애 대응 때 뼈저리게 느꼈습니다. DB CPU 스파이크라는 눈앞의 문제에만 초점을 맞추느라, 정작 그 원인이 되었던 외부 API 게이트웨이의 타임아웃 오류는 까맣게 모르고 있었거든요. 인간의 눈도, 기존의 카메라도 한 번에 하나의 '깊이(Depth)'에만 초점을 맞출 수 있다는 물리적 한계 때문이었습니다.

그런데 최근 카네기 멜론 대학(CMU) 엔지니어링 팀이 이 고정관념을 완전히 깨버리는 연구 결과를 발표했습니다. 바로 '동시에 여러 거리에 초점을 맞출 수 있는 카메라'입니다.

물리적 한계를 넘어서는 '계산 렌즈(Computational Lens)'

우리가 흔히 쓰는 DSLR이나 스마트폰 카메라는 기본적으로 인간의 눈과 비슷합니다. 렌즈의 위치를 조정해 특정 거리에 있는 물체(Focal Plane)에 초점을 맞추죠. 그러면 그보다 앞에 있거나 뒤에 있는 물체는 흐릿해집니다. 이른바 '심도(Depth of Field)'의 제약입니다. 조리개를 조이면 조금 나아지지만, 빛이 부족해지고 회절 현상 때문에 화질이 떨어지는 트레이드오프가 발생합니다.

CMU 연구진인 Yingsi Qin 박사과정생과 교수팀은 "왜 렌즈가 평면 하나에만 집중해야 하지?"라는 엉뚱하면서도 본질적인 질문을 던졌습니다. 그리고 광학 하드웨어와 알고리즘을 결합한 프로그래머블 렌즈(Programmable Lens)를 만들어냈습니다.

핵심 원리는 두 가지입니다.

  1. Lohmann Lens 기반 구조: 두 개의 곡면 렌즈가 서로 움직이며 초점을 조절하는데, 여기에 빛의 굴절을 픽셀 단위로 제어하는 '위상 전용 공간 광 변조기(Phase-only Spatial Light Modulator)'를 결합했습니다. 쉽게 말해, 렌즈가 이미지의 영역(Region)마다 빛을 다르게 굴절시키도록 하드웨어를 설계한 것입니다.

  2. 공간 가변 자동초점(Spatially-varying Autofocus): 하드웨어가 준비되었다면, 어디에 초점을 맞출지 결정하는 두뇌가 필요하겠죠. 연구진은 이미지를 '슈퍼픽셀' 단위로 쪼개어 각각 최적의 초점을 찾는 알고리즘을 적용했습니다.

소프트웨어 보정이 아닌, 진짜 광학 이미지

개발자 관점에서 특히 흥미로운 부분은 이 결과물이 '포토샵' 같은 후처리가 아니라는 점입니다. 우리가 흔히 스마트폰 인물 모드에서 보는 배경 날림 효과는 소프트웨어적으로 픽셀을 뭉개는 방식이죠. 하지만 이번 기술은 빛이 센서에 닿는 순간 이미 모든 거리에 초점이 맞아 있는 상태입니다.

이를 위해 연구진은 두 가지 AF 방식을 혼합했습니다.

  • CDAF (Contrast-Detection AF): 각 영역의 선명도가 최대가 되는 지점을 찾습니다.

  • PDAF (Phase-Detection AF): 듀얼 픽셀 센서를 사용해 초점이 맞았는지, 얼마나 더 조절해야 하는지 즉각적으로 판단합니다.

이 두 가지를 병렬적으로 처리함으로써, 연구팀은 무려 초당 21프레임(21fps)의 속도로 움직이는 장면까지 전 구간 초점(All-in-focus)으로 잡아내는 데 성공했습니다. 마치 MSA 환경에서 각 마이크로서비스가 독립적으로 오토스케일링을 수행하지만, 사용자에게는 하나의 완벽한 서비스로 보이는 것과 비슷합니다.

왜 이 기술이 중요한가?

이 기술이 상용화된다면 우리 주변의 많은 기술 스택이 바뀔 겁니다.

가장 먼저 자율주행 분야가 떠오릅니다. 지금의 자율주행차 카메라는 가까운 보행자와 먼 거리의 신호등을 동시에 선명하게 인식하기 어렵습니다. 그래서 라이다(LiDAR) 같은 고가 장비에 의존하죠. 하지만 이 렌즈를 사용하면 단일 센서로 전방의 모든 정보를 손실 없이 파악할 수 있습니다.

생물학 현미경 분야도 마찬가지입니다. 세포 샘플을 관찰할 때 얇은 층 하나만 보는 게 아니라, 샘플 전체의 입체적인 구조를 한 번에 선명하게 볼 수 있게 됩니다. 연구 효율이 비약적으로 상승하겠죠.

맺음말: 개발자도 '전 구간 초점'이 필요하다

이번 CMU의 연구 결과(ICCV 2025 발표 예정)를 보며, 기술이 물리 법칙의 한계마저 '프로그래밍' 가능한 영역으로 끌어들이고 있다는 생각이 들었습니다.

개발자인 우리는 어떨까요? 레거시 코드라는 가까운 문제와, 기술 부채라는 중간 거리의 문제, 그리고 비즈니스 성장이라는 먼 미래의 목표를 동시에 선명하게 바라봐야 합니다. 인간인 우리에게는 기계 같은 '프로그래머블 렌즈'가 없기에 가끔은 시야가 흐려지고, 저처럼 장애 상황에서 엉뚱한 곳을 파기도 합니다.

하지만 도구와 시스템을 통해 그 한계를 극복하려는 노력은 멈추지 말아야겠죠. 옵저버빌리티(Observability) 도구를 도입해 시스템의 모든 레이어를 한 번에 보려 노력하는 것이나, 팀 간의 사일로를 없애 커뮤니케이션의 해상도를 높이는 것이 바로 우리의 '전 구간 초점' 기술일 것입니다.

오늘도 흐릿한 로그 속에서 선명한 원인을 찾아 헤매는 모든 동료 개발자분들, 파이팅입니다.

지금 읽으신 내용, 귀사에 적용해보고 싶으신가요?

상황과 목표를 알려주시면 가능한 옵션과 현실적인 도입 경로를 제안해드립니다.