brunch

You can make anything
by writing

C.S.Lewis

by 서진호 Apr 07. 2020

구글 픽셀4 및 픽셀4 XL의 세로 모드 개선

2019년 12월 16일 (월) 구글 AI 리서치 블로그

픽셀 폰의 인물 모드는 누구나 전문가 수준의 얕은 피사계 심도 이미지를 촬영할 수 있는 카메라 기능입니다. 픽셀 2에서 출시된 후 카메라의 듀얼 픽셀 자동 초점 시스템으로부터의 머신 러닝을 사용하여 심도를 추정함으로써 픽셀 3에서 개선된 인물 모드는 배경을 흐리게 하여 뷰어의 관심을 피사체에 집중시킵니다. 이 프로세스의 중요한 구성요소는 카메라에서 물체가 얼마나 멀리 떨어져 있는지, 즉 심도를 아는 것이므로 선명하게 유지해야 할 대상과 흐리게 처리할 대상을 파악해야 합니다.


픽셀 4에서는 픽셀 4의 듀얼 카메라와 듀얼 픽셀 자동 초점 시스템을 모두 사용하여 심도 추정을 개선하여 사용자가 근거리 및 원거리에서 멋진 인물 사진을 찍을 수 있도록 이 기능을 크게 개선했습니다. 우리는 또한 전문 SLR 카메라와 보다 밀접하게 일치하도록 보케를 개선했습니다.

[그림 1]

[그림 1] 상세 설명 - 픽셀 4의 인물 모드는 근거리 및 원거리 모두에서 인물 사진을 촬영할 수 있으며 SLR과 같은 배경 흐림(blur) 효과를 낼 수 있습니다. (사진 제공 : Alain Saal-Dalma 및 Mike Milne)


짧은 요약

픽셀 2와 3은 카메라의 듀얼 픽셀 자동 초점 시스템을 사용하여 심도를 추정했습니다. 듀얼 픽셀은 모든 픽셀을 절반으로 분할하여 작동하므로 각 절반 픽셀은 주 렌즈 조리개의 절반이 다르게 보입니다. 이 절반 픽셀 이미지 각각을 개별적으로 읽으면 장면에서 약간 다른 두 가지 뷰를 얻을 수 있습니다. 이러한 뷰는 하나의 렌즈가 있는 단일 카메라에서 비롯된 것처럼 마치 메인 렌즈의 조리개 양쪽에 있는 가상 카메라 쌍에서 시작된 것처럼 보입니다. 이러한 보기를 번갈아 가면서 피사체는 같은 위치에 머무르고 배경은 세로로 움직이는 것처럼 보입니다.

[그림 2] 전구가 카메라에 훨씬 더 가깝기 때문에 전구의 이중 픽셀 보기는 사람의 보기보다 훨씬 더 시차가 있습니다.

이 운동을 시차(parallax)라고 하며 그 크기는 심도에 따라 다릅니다. 파인더 뷰들 사이에서 대응하는 픽셀들을 발견함으로써 시차 및 심도를 추정할 수 있습니다. 물체 거리에 따라 시차가 감소하기 때문에 전구와 같은 가까운 물체의 깊이를 추정하는 것이 더 쉽습니다. 시차는 또한 스테레오 베이스 라인의 길이에 달려 있는데, 이는 카메라(또는 듀얼 픽셀의 경우 가상 카메라) 사이의 거리입니다. 듀얼 픽셀의 시점은 단일 카메라 렌즈에 포함되어 있기 때문에 기준선이 1mm 미만입니다. 따라서 멀리 있는 장면의 심도를 추정하기가 어렵고 사람의 두 시야가 거의 동일한 것처럼 보입니다.


듀얼 픽셀을 보완하는 듀얼 카메라

픽셀 4의 와이드 및 망원 카메라는 13mm 간격으로 듀얼 픽셀 기준선보다 훨씬 크기 때문에 시차가 클수록 멀리 있는 물체의 깊이를 쉽게 추정할 수 있습니다. 아래 이미지에서 듀얼 픽셀 뷰 사이의 시차는 거의 보이지 않지만 듀얼 카메라 뷰 사이의 시차는 분명합니다.

[그림 3]

[그림 3] 상세 설명 - 왼쪽 : 듀얼 픽셀 보기 오른쪽 : 듀얼 카메라 보기. 듀얼 픽셀 뷰는 배경에 미묘한 수직 시차만 있고 듀얼 카메라 뷰는 훨씬 큰 수평 시차를 가지고 있습니다. 이렇게 하면 배경의 깊이를 쉽게 추정할 수 있지만 사람의 오른쪽에 있는 일부 픽셀은 기본 카메라 보기에서만 볼 수 있으므로 깊이를 추정하기가 어렵습니다.


듀얼 카메라에서도 듀얼 픽셀로 수집된 정보는 여전히 유용합니다. 기준선이 클수록 한 뷰에서 다른 픽셀에 해당하는 픽셀 없이 더 많은 픽셀을 볼 수 있습니다. 예를 들어 기본 카메라 이미지에서 사람의 오른쪽 바로 배경 픽셀은 보조 카메라 이미지에 해당하는 픽셀이 없습니다. 따라서 듀얼 카메라만 사용하는 경우 시차를 측정하여 이러한 픽셀의 심도를 추정할 수 없습니다. 그러나, 이 픽셀들은 여전히 듀얼 픽셀 뷰로 볼 수 있으며, 이 영역에서 심도를 더 잘 추정할 수 있습니다.


두 입력을 모두 사용해야 하는 또 다른 이유는 이전 블로그 게시물에서 설명한 조리개(aperture) 문제로 스테레오 기준선이 수직 일 때(또는 둘 다 수 평일 때) 수직선의 심도를 추정하기 어렵습니다. Pixel 4에서 듀얼 픽셀 및 듀얼 카메라 기준선은 수직이므로 모든 방향의 선에 대한 심도를 추정할 수 있습니다. 이 보충 정보를 통해 원거리 객체의 심도를 추정하고 모든 장면의 심도 오류를 줄일 수 있습니다.


듀얼 카메라 및 듀얼 픽셀의 심도

작년에 머신 러닝을 사용하여 듀얼 픽셀의 심도를 추정하는 방법을 보여 주었습니다. 픽셀 4의 세로 모드에서는 Tensorflow를 사용하여 컨볼루션 신경망을 훈련시키는 듀얼 픽셀 및 듀얼 카메라의 심도를 추정하기 위해이 접근 방식을 확장했습니다. 네트워크는 먼저 입력을 중간 표현(intermediate represetnation)으로 인코딩하는 신경망 유형인 두 개의 서로 다른 인코더들을 사용하여 듀얼 픽셀 및 듀얼 카메라 입력을 개별적으로 처리합니다. 그런 다음 단일 디코더가 두 중간 표현을 모두 사용하여 심도를 계산합니다.

[그림 4]

[그림 4] 상세 설명 - 듀얼 픽셀과 듀얼 카메라의 심도를 예측하는 네트워크. 네트워크는 각 입력에 대해 하나씩, 그리고 skip connections과 residual blocks이 있는 공유 디코더인 두 개의 인코더를 사용합니다. 


모델이 두 입력을 모두 사용하도록 하기 위해, 학습 중 하나의 입력이 임의로 0으로 설정되는 드롭-아웃(drop-out) 기술을 적용했습니다. 예를 들어, 피사체가 보조 망원 카메라가 초점을 맞출 수 없을 정도로 근접한 경우에 발생할 수 있는 입력을 사용할 수 없는 경우, 모델이 잘 작동하도록 합니다.

[그림 5]

[그림 5] 상세 설명 - 하나의 입력만 제공되거나 둘 다 제공되는 네트워크의 심도 매핑. 위: 두 입력은 서로 다른 방향의 선에 대한 심도 정보를 제공합니다. 하단: 듀얼 픽셀은 하나의 카메라에서만 볼 수 있는 영역에서 심도를 제공합니다. 듀얼 카메라는 배경과 지면에서 더 나은 심도를 제공합니다. (사진 제공 : Mike Milne)


위의 랜턴 이미지는 두 신호가 모두 조리개 문제를 해결하는 방법을 보여줍니다. 입력이 하나만 있으면 한 방향으로 라인의 깊이를 정확하게 예측할 수 있습니다 (듀얼 픽셀의 경우 수평, 듀얼 카메라의 경우 수직). 두 신호를 사용하면 모든 방향에서 라인의 깊이를 복구할 수 있습니다.


인물 이미지로, 듀얼 픽셀은 팔과 몸 사이의 폐쇄된 영역에서 더 나은 심도 정보를 제공하는 반면, 큰 기본 듀얼 카메라는 배경과 지면에서 더 나은 심도 정보를 제공합니다. 이것은 듀얼 픽셀의 왼쪽 상단 및 오른쪽 하단에서 가장 두드러집니다. 여기에서 더 많은 예제를 찾을 수 있습니다.


SLR과 같은 보케

사진가들은 흐린 배경이나 얕은 심도 이미지의 보케(bokeh)에 집착합니다. 고품질 SLR 보케에서 가장 눈에 띄는 것 중 하나는 초점이 맞지 않을 때 작은 배경 하이라이트가 밝은 디스크(원형의 판판한 표면)로 바뀐다는 것입니다. 포커싱 하지 않은 것은 이러한 하이라이트의 빛을 디스크로 확산시킵니다. 그러나 원래의 하이라이트는 너무 밝아서 디스크에 빛이 퍼져도 디스크는 SLR톤 범위의 밝은 끝에 있습니다.

[그림 6] 

[그림 6] 상세 설명 - 왼쪽 : SLR은 높은 대비 보케 디스크를 생성합니다. 중간 : 이전 배경 흐림에서 디스크를 만들기가 어렵습니다. 오른쪽 : 새로운 보케는 SLR의 보케에 더 가깝습니다.


이 보케 효과를 재현하기 위해 원본 이미지의 각 픽셀을 크기를 기반으로 한 반투명 디스크로 교체했습니다. 과거에는 이 블러링 프로세스가 톤 매핑 후에 수행되었습니다. 이 프로세스는 원시 센서 데이터가 전화기 화면에서 볼 수 있는 이미지로 변환되는 프로세스입니다. 톤 매핑은 데이터의 동적 범위를 압축하여 하이라이트에 비해 그림자를 밝게 만듭니다. 불행히도 이로 인해 실제로 장면에 밝은 물체가 얼마나 밝은 지에 대한 정보가 없어져서 높은 대비의 보케 디스크를 만들기가 어렵습니다. 또한 보케가 배경과 혼합되어 SLR에서와 같이 자연스럽게 나타나지 않습니다.


이 문제에 대한 해결책은 HDR+에서 생성되어 병합된 원시 이미지를 흐리게 한 다음 톤 매핑을 적용하는 것입니다. 더 밝고 명확한 보케 디스크 외에도 배경은 전경과 같은 방식으로 스며듭니다. 다음은 픽셀 4와 픽셀 3 및 3a의 후면 카메라에서 사용할 수 있는 더 나은 흐림 효과를 보여주는 앨범입니다 (Google 카메라 앱 7.2 버전으로 업그레이드했다고 가정).

[그림 7] 톤 매핑 전에 흐리게 처리하면 배경의 채도가 높아지고 디스크의 대비가 높아져 배경의 모양이 향상

직접 해보기

심도 품질을 개선하여 최종 이미지의 오류를 줄이고 흐린 배경의 모양을 개선하여 Pixel 4의 세로 모드를 개선했습니다. 듀얼 카메라 및 듀얼 픽셀의 심도는 카메라가 피사체에서 최소 20cm 거리에 있을 때만 시작됩니다. (예 : 보조 망원 카메라의 최소 초점 거리) 더 좋은 품질의 인물 사진을 얻으려면 휴대전화를 피사체와 최소한 멀리 떨어 뜨려 놓으십시오.


감사의 말

이 작업은 Rahul Garg, Sergio Orts Escolano, Sean Fanello, Christian Haene, Shahram Izadi, David Jacobs, Alexander Schiffhauer, Yael Pritch Knaan 및 Marc Levoy 없이는 불가능했을 것입니다. 또한 이 알고리즘을 Pixel 4에 통합하는 데 도움을 주신 Google 카메라 팀에게도 감사의 말씀을 드립니다. 사진가 Mike Milne, Andy Radin, Alain Saal-Dalma 및 Alvin Li에게 감사의 말을 전합니다.


원본 제목: 구글 픽셀 4 및 픽셀 4 XL의 세로 모드 개선(https://ai.googleblog.com/2019/12/improvements-to-portrait-mode-on-google.html)
게시자 : Neal Wadhwa (소프트웨어 엔지니어), Yinda Zhang (Google Research 연구원)
원본 링크: https://ai.googleblog.com/2019/12/improvements-to-portrait-mode-on-google.html
U-Net: Convolutional Networks for Biomedical Image Segmentation 논문 : https://arxiv.org/abs/1505.04597
Deep Residual Learning for Image Recognition 논문 : https://arxiv.org/abs/1512.03385
이 블로그는 2019년 12월 16일 (월), Google AI Research Blog 기사를 영한 번역한 것입니다. 또한 이 번역 글은 정보 공유 목적으로만 작성했으므로 어떠한 상업용으로 사용할 수 없으며, 원본 저작물 모두 구글에게 저작권이 있음을 알려 드립니다. (First Draft Version)
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari