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

Differentiable Rendering

미분 가능한 렌더링은 렌더링된 각 픽셀이 장면의 형태, 재질, 카메라에 따라 어떻게 달라지는지 계산하므로, 3D 장면을 사진에 맞출 수 있습니다.

미분 가능 렌더링은 렌더링, 즉 3D 장면의 기하 구조, 재질, 조명, 카메라에 대한 설명을 이미지로 변환하는 작업을 출력 픽셀 각각을 장면 매개변수에 대해 미분할 수 있도록 구현한 것입니다. 렌더링된 이미지와 사진을 비교하는 손실 함수를 경사 하강법으로 최소화하고, 역전파를 렌더러를 거쳐 3D 장면까지 수행할 수 있습니다. 이 방식은 이미지에서 장면을 복원하는 컴퓨터 비전 과제인 역렌더링의 핵심 엔진이며, 장면 모델을 렌더링해 학습하는 신경 렌더링 기법인 신경 방사장(NeRF)과 가우시안 스플래팅의 엔진이기도 합니다.

렌더링에 특별한 처리가 필요한 이유#

일반적인 래스터라이저는 중요한 부분에서 미분 가능하지 않습니다. 픽셀이 삼각형에 포함되는지는 꼭짓점 위치에 따른 계단 함수이므로, 꼭짓점을 조금 움직여도 모서리가 픽셀 중심을 가로지를 때까지 픽셀은 바뀌지 않습니다. 따라서 기하 구조에 대한 그래디언트는 거의 모든 곳에서 0이며, 가려짐은 한 표면이 다른 표면을 가리는 곳마다 불연속성을 더합니다. 미분 가능 렌더러는 이러한 모서리를 여러 방식으로 처리합니다.

  • 근사 그래디언트: OpenDR(2014)과 Neural 3D Mesh Renderer(2018)는 순전파에 일반 래스터라이저를 사용하고 역전파에서 그래디언트를 근사합니다.
  • 소프트 래스터화: SoftRas(2019)는 각 픽셀의 이진 커버리지를 삼각형 모서리와의 거리에 따라 부드럽게 감소하는 확률로 바꾸고 겹치는 면을 혼합합니다. 따라서 모서리 근처의 모든 픽셀에서 기하 구조로 그래디언트가 전달됩니다.
  • 물리 기반 미분 가능 렌더링: redner(2018)와 Mitsuba 3(2022) 같은 광선 추적기는 실루엣 모서리를 샘플링하거나 렌더링 적분을 재매개변수화하여 그림자, 반사, 간접광에 대한 그래디언트를 계산합니다.
  • 볼륨 및 스플랫 렌더링: 각 광선을 따라 밀도를 알파 합성하는 NeRF와 래스터화된 3D 가우시안을 사용하는 가우시안 스플래팅은 구조적으로 매개변수에 대해 부드러운 함수입니다.

단일 원판을 위한 소프트 래스터라이저로 PyTorch에서 이 개념을 확인할 수 있습니다. 커버리지는 원판 모서리까지의 부호 있는 거리에 대한 시그모이드 함수이므로, 경계 근처의 모든 픽셀에서 중심과 반지름으로 그래디언트가 전달됩니다.

import torch

# Pixel coordinates of a 64x64 image
ys, xs = torch.meshgrid(torch.arange(64.0), torch.arange(64.0), indexing="ij")


def render(center, radius):
    """Soft-rasterize a disk: pixel coverage is a sigmoid of the signed distance to its edge."""
    distance = torch.sqrt((xs - center[0]) ** 2 + (ys - center[1]) ** 2 + 1e-6)
    return torch.sigmoid(radius - distance)


# Target image: a disk at (40, 24) with radius 12
target = render(torch.tensor([40.0, 24.0]), torch.tensor(12.0))

# Recover the scene from a wrong guess by backpropagating the pixel loss
center = torch.tensor([20.0, 40.0], requires_grad=True)
radius = torch.tensor(6.0, requires_grad=True)
optimizer = torch.optim.Adam([center, radius], lr=0.5)
for _ in range(300):
    loss = ((render(center, radius) - target) ** 2).mean()
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

print(f"center {center.detach().round(decimals=1).tolist()}, radius {radius.item():.1f}")

center [40.0, 24.0], radius 12.0을 출력합니다. 반지름의 절반인 상태에서 약 26픽셀 떨어진 곳부터 시작해도 Adam 옵티마이저는 픽셀 차이만으로 원판을 복원합니다. 하드 커버리지를 사용했다면 (distance < radius).float()와 같이 손실이 두 매개변수 어느 쪽에도 그래디언트를 전달하지 못했을 것입니다.

실제 적용 사례#

코드의 실루엣 손실과 같은 손실은 렌더링된 객체 마스크를 관측된 마스크와 비교합니다. 어노테이션이 없는 사진에서는 YOLO26(yolo26n-seg.pt)과 같은 인스턴스 세그멘테이션 모델이 이미지의 모든 객체에 대한 마스크를 제공합니다.

  • 3D 재구성: NeRF(2020)와 3D 가우시안 스플래팅(2023)은 카메라 포즈가 알려진 수십 장의 사진에 장면을 맞춥니다. 이후 가우시안 스플래팅은 실시간으로 새 뷰를 렌더링하며, 1080p에서 초당 30프레임 이상을 처리합니다.
  • 인체 피팅: 인체 모델 방식은 렌더링된 실루엣과 투영된 관절을 사람의 마스크 및 키포인트에 맞춰 SMPL 같은 매개변수 메시를 이미지에 피팅합니다.
  • 텍스트-3D 생성: DreamFusion(2022)은 무작위 시점에서 렌더링한 결과가 텍스트-이미지 Diffusion 모델에서 높은 점수를 얻도록 NeRF를 최적화해, 3D 학습 데이터 없이 3D 객체를 생성합니다.

Explore solutions

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

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

항공 이미지 컴퓨터 비전

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

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

Ultralytics YOLO 모델로 항공 모니터링에 비전 AI를 도입하세요. 컴퓨터 비전 솔루션으로 드론, 항공우주 워크플로, 환경 보전 및 공간정보 산업을 지원하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

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의 미래를 만들어 가세요!

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