Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Inverse Rendering

역 렌더링은 사진에서 출발해 사진을 만들어 낸 형상, 재질, 조명, 카메라를 역으로 추론하여 재조명과 재질 편집을 가능하게 합니다.

역렌더링은 하나 이상의 이미지에서 그 뒤에 있는 물리적 장면, 즉 객체의 3D 형상, 표면 재질, 조명, 그리고 촬영 카메라를 복원하는 과정입니다. 컴퓨터 그래픽스의 렌더링은 장면 설명을 픽셀로 변환하는 순방향 과정입니다. 역렌더링은 동일한 물리 법칙을 역으로 적용해 관측된 사진을 재현할 장면 매개변수를 탐색합니다. 역렌더링은 컴퓨터 비전과 그래픽스가 만나는 분야이며 역그래픽스라고도 합니다. Stephen Marschner의 1998년 코넬대학교 박사학위 논문 Inverse Rendering for Computer Graphics은 사진에서 조명과 표면 반사율을 복원하는 작업을 이러한 종류의 역문제로 정립했습니다.

합성에 의한 분석#

대부분의 역렌더링 방법은 분석 후 합성이라고 하는 반복 과정을 따릅니다. 장면을 추정하고 렌더링한 뒤 결과를 실제 사진과 비교하고, 차이를 줄이도록 추정값을 조정합니다. 미분 가능 렌더링은 각 조정을 효율적으로 수행합니다. 렌더러가 모든 장면 매개변수에 대해 각 픽셀이 어떻게 변하는지 알려 주므로, 경사 하강법은 신경망을 학습하는 역전파와 같은 방식으로 수천 개의 매개변수를 한 번에 업데이트할 수 있습니다. Mitsuba 3과 같은 물리 기반 미분 가능 렌더러는 이를 그림자, 반사, 표면 사이의 빛 반사까지 확장합니다.

가장 단순한 장면, 즉 하나의 먼 광원으로 조명된 무광 구체의 경우, 이 반복 과정은 PyTorch 몇 줄로 구현할 수 있습니다. 아래 코드는 옵티마이저에 공개하지 않은 광원 방향과 표면 밝기(알베도)로 목표 사진을 렌더링한 다음, 픽셀만으로 두 값을 모두 복원합니다. 이때 Adam 옵티마이저를 사용합니다.

import torch
import torch.nn.functional as F

# Unit normals of a sphere seen head-on, on a 64 x 64 pixel grid
y, x = torch.meshgrid(torch.linspace(-1, 1, 64), torch.linspace(-1, 1, 64), indexing="ij")
z = (1 - x**2 - y**2).clamp(min=0).sqrt()
normals = torch.stack([x, y, z], dim=-1)[z > 0]

# Lambertian "photo" lit from a direction the optimizer never sees, with albedo 0.8
photo = 0.8 * (normals @ F.normalize(torch.tensor([0.6, -0.4, 0.7]), dim=0)).clamp(min=0)

# Fit light direction and albedo: render, compare with the photo, follow the gradients
light = torch.tensor([0.0, 0.0, 1.0], requires_grad=True)
albedo = torch.tensor(0.3, requires_grad=True)
optimizer = torch.optim.Adam([light, albedo], lr=0.02)
for _ in range(500):
    render = albedo * (normals @ F.normalize(light, dim=0)).clamp(min=0)
    loss = (render - photo).pow(2).mean()
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

print(f"Light direction: {F.normalize(light.detach(), dim=0).numpy().round(3)}, albedo: {albedo.item():.3f}")

이 코드는 숨겨진 값인 Light direction: [ 0.597 -0.398 0.697], albedo: 0.800을 정확하게 출력합니다. 프로덕션 시스템도 같은 반복 과정을 사용하지만, 한 줄짜리 셰이딩 모델을 완전한 광전달 모델로 대체하며, 미지수는 메시, 텍스처 맵, 환경 조명으로 확장됩니다.

문제가 모호한 이유#

서로 다른 많은 장면이 동일한 이미지를 만들어낼 수 있습니다. 어두운 부분은 더 어두운 페인트, 그림자, 또는 빛에서 멀어지는 방향으로 기울어진 표면일 수 있으며, 밝은 부분은 광택이 있는 재질이나 적절한 위치에 놓인 램프일 수 있습니다. 밝기만으로도 답은 모호합니다. 조명을 두 배로 밝히고 알베도를 절반으로 줄이면 픽셀이 동일해지기 때문에, 코드 조각에서는 조명 방향을 정규화하고 모든 밝기를 알베도에 반영합니다. 다음 세 가지 방법으로 가능한 답의 범위를 좁힙니다:

  • 더 많은 관측: 물체를 여러 시점에서 촬영하거나, 광도 스테레오에서처럼 여러 개의 알려진 조명을 사용하면 단일 사진보다 형상과 재질을 훨씬 더 정확하게 제약할 수 있습니다.
  • 학습된 사전 정보: 렌더링된 장면의 대규모 컬렉션으로 학습한 네트워크는 하나의 이미지에서 그럴듯한 법선, 재질 또는 조명을 예측하여 옵티마이저가 출발할 강력한 초기값을 제공합니다.
  • 알려진 기하 구조: 깊이 센서나 깊이 모델에서 형상을 얻으면, 미지수는 재질과 조명으로 줄어듭니다.

단일 이미지 깊이 추정은 일반 사진에 필요한 기하 정보를 제공합니다. Ultralytics YOLO26 깊이 모델은 하나의 RGB 이미지에서 픽셀별 깊이 맵을 미터 단위로 예측합니다. 이 깊이 맵의 기울기에서 계산한 표면 법선은 구체 예제에서 주어진 것으로 간주하는 음영 기하 정보입니다.

역 렌더링과 재구성 및 신경 렌더링 비교#

3D 재구성은 흔히 운동으로부터의 구조와 다중 시점 스테레오를 사용해 기하 구조를 복원하며, 일반적으로 촬영 당시의 조명을 표면 색상에 반영합니다. 신경 방사장과 가우시안 스플래팅은 동일한 렌더링 및 비교 과정을 통해 최적화되지만, 표면과 조명을 분리하지 않은 채 각 방향에서 장면이 어떻게 보이는지를 모델링하므로 새로운 시점에도 원래 조명이 유지됩니다. 역렌더링의 목표는 이 둘을 분리하는 것이며, 이를 통해 조명을 다시 설정하고 재질을 편집하며 가상 객체를 사실적으로 삽입할 수 있습니다. 최근에는 딥러닝과 결합해 방사장에 반사율 및 조명 모델을 추가하는 방법이 많으며, 이는 더 넓은 신경 렌더링 분야에 속합니다.

에셋 캡처, AR, 시각 효과#

  • 3D 에셋 캡처: 소매업체와 게임 스튜디오는 실제 제품을 스캔해 색상, 거칠기, 표면 법선 맵이 분리된 3D 에셋으로 변환합니다. 이를 통해 스토어 페이지나 게임 엔진에서 어떤 조명 아래에서도 모델을 올바르게 렌더링할 수 있습니다.
  • 증강 현실: Google ARCore와 같은 AR 프레임워크는 카메라 피드에서 실내 조명을 추정하여 가상 객체에 어울리는 셰이딩, 그림자, 반사를 적용합니다.
  • 시각 효과: Paul Debevec과 동료들이 2000년에 도입한 라이트 스테이지 장비는 다양한 조명 방향에서 배우의 얼굴을 촬영해 반사율을 복원합니다. 이를 통해 스튜디오는 디지털 얼굴의 조명을 임의의 장면에 맞출 수 있습니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요