한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
Pixel 2의 모션 포토 기술을 소개합니다
2018년 4월 30일 월요일
<블로그 원문은
이곳
에서 확인하실 수 있으며 블로그 번역 리뷰는 김태호(GOOGLE)
님이 참여해 주셨습니다>
게시자: Matthias Grundmann 연구원, Jianing Wei 소프트웨어 엔지니어, Google Research
오늘날 스마트폰의 가장 강력한 기능 중 하나는 즉석에서 순간을 포착할 수 있다는 것입니다. 모션 포토는 Pixel 2와 Pixel 2 XL 스마트폰에서 사용 가능한
새로운 카메라 기능
이며, 이 기능을 사용하면 사진을 찍을지 동영상을 찍을지 선택할 필요가 없으므로 더 많은 순간을 포착할 수 있습니다. 모션을 기능을 사용하여 사진을 찍으면 최대 3초 분량의 동영상이 함께 녹화됩니다. Google이
Motion Stills for Android
에서 최초로 구현한 기술을 기반으로 하는 첨단 흔들림 보정 기능은 Google 포토의 사진에 생명력을 불어 넣어줍니다. 이를 가능하게 만드는 기술의 이면에 대해 살펴보겠습니다!
Google 포토에서 Pixel 2로 촬영된 모션 포토. 위치가 고정된 카메라로 피사체에 직접 초점을 맞춥니다. 더 많은 예를 보려면 이 Google 포토 앨범을 확인하세요.
하드웨어 및 소프트웨어 조합을 통한 카메라 모션 예측
셔터 버튼을 누를 때마다, 최고 해상도의 JPEG 파일과 동영상으로 이루어진 이미지와 동영상이 저장됩니다. Pixel 2로 촬영한 동영상에는 모션 포토의 트리밍과 흔들림 보정을 지원하기 위해 자이로스코프와 광학 이미지 흔들림 보정(OIS) 센서로부터 파생된 모션 메타데이터도 포함됩니다. 우리는 소프트웨어 기반의 가상 추적 기능과 하드웨어 센서의 모션 메타데이터를 조합하여 모션 포토용의 새로운 하이브리드 모션 예측 기능을 Pixel 2에 구현했습니다.
우리의 접근방식은
Motion Still
에 사용되던 기술이나 순수한 하드웨어 센서 기반 접근방식에 비해 더욱 정밀하게 배경을 맞춰줍니다.
융합 동영상 흔들림 보정
기술을 기반으로 하는 이 접근방식은 여러 심도 층이 있는 복잡한 장면으로 인해, 또는 전경 물체가 시야각의 상당 부분을 차지하는 경우에 시각적 분석에서 발생하는 아티팩트를 줄여줍니다. 또한 특히 근접 거리에서 모션 예측 기능을 더욱 정확하게 다듬어서 하드웨어 센서 기반 접근방식을 개선해 줍니다.
촬영된 모션 포토(왼쪽)와 하드웨어 및 소프트웨어를 조합하여 카메라를 고정시킨 후의 모션 포토. 더 많은 비교를 보려면 이 Google 포토 앨범을 확인하세요.
우리가 Motion Still에서 소개했던 순수한 소프트웨어 기반 기술은 동영상 프레임의 시각적 데이터를 사용하며, 연속된 프레임상에서 특징을 감지하고 추적하여 모션 벡터를 생성합니다. 그런 다음,
아핀 변환
또는
호모그래피
와 같은 모션 모델을 사용하여 모션 벡터를 전경과 배경으로 분류합니다. 그러나 이러한 분류는 복잡한 장면이나 혹은 전경이 화면의 상당 부분을 차지하는 경우에는 완벽하게 동작하지 않을 수 있습니다.
Pixel 2에서 하드웨어 센서의 모션 메타데이터를 사용하여 배경(녹색) 및 전경(주황색)으로 특징 분류. 새 접근방식에서는 스케이트보더를 전경으로 정확하게 분류할 뿐만 아니라 심도가 거의 동일한 뒤쪽의 하프 파이프도 정확하게 분류합니다.
Pixel 2의 모션 포토에서 우리는 자이로스코프와 OIS로부터 구해진 모션 메타데이터를 사용하여 이러한 분류를 개선했습니다. 이렇게 하면
무한평면 (Plane at iinfinity)
에 대해 카메라 모션이 정확하게 포착됩니다. 무한평면은 매우 멀리에 있는 배경으로 생각할 수 있습니다. 그러나, 가까운 곳에서 촬영된 사진은 다른 심도 층의 장면 요소에 대해
시차
가 발생하며, 이는 자이로스코프와 OIS로는 해결되지 않습니다. 구체적으로 말하면, 모션 메타데이터로부터 너무 많이 벗어나는 모션 벡터는 전경으로 표시됩니다. 이 결과 전경과 배경의 분류가 훨씬 더 정확해지며, 이 경우
혼합 호모그래피
라는 더 복잡한 모션 모델도 사용할 수 있습니다. 이 모델은
롤링 셔터
현상을 해결할 수 있고 발생하는 왜곡을 제거할 수 있습니다.
모션 포토에서의 배경 모션 예측. 자이로스코프와 OIS의 모션 메타데이터를 사용하면 시각적 분석에서의 특징을 전경과 배경으로 정확하게 분류할 수 있습니다.
모션 포토 흔들림 보정 및 재생
동영상의 배경 모션을 정확하게 예측한 후, 배경에 맞는 가장 안정적인 카메라 경로를 판별하기 위해
이전 게시물
에서 설명했던
선형 프로그래밍 기법
을 사용합니다. 또한 스마트폰을 치울 때 발생하는 불필요한 모션을 제거하기 위해 동영상을 자동으로 트리밍합니다. 이 모든 프로세스는 스마트폰에서 수행되고 프레임별로 소량의 메타데이터가 생성됩니다. 이 메타데이터는 Google 포토에서 모션 버튼을 누를 때 GPU 셰이더를 사용해 흔들림 보정된 동영상을 실시간으로 렌더링하는 데 사용됩니다. 또한 HDR+ 사진과 정확히 동일한 타임스탬프에서 동영상 재생을 시작하여, 정지 이미지를 동영상으로 완벽하게 전환합니다.
모션 포토는 전경 모션이 큰 복잡한 장면의 흔들림도 보정해 줍니다.
모션 포토 공유
Google 포토를 사용하면 모션 포토를 동영상과 GIF로 친구와 공유하거나 웹이나 다른 스마트폰에서 볼 수 있습니다. 이는 하드웨어, 소프트웨어 및 머신러닝을 조합하여 Pixel 2에서 새로운 기능을 창안하는 또 다른 예입니다.
감사의 말
모션 포토는 여러 Google Research 팀과 Google Pixel 및 Google 포토에서 이루어진 협업의 결과물입니다. 특히 수고한 Karthik Raveendran, Suril Shah, Marius Renn, Alex Hong, Radford Juang, Fares Alhassen, Emily Chang, Isaac Reynolds 그리고 Dave Loxton에게 감사의 말을 전합니다.
Contents
ML/Tensorflow
Android
Flutter
Web/Chrome
Cloud
Google Play
Community
Game
Firebase
검색
Tag
인디게임페스티벌
정책 세미나
창구프로그램
AdMob
AI
Android
Android 12
Android 12L
Android 13
Android 14
Android Assistant
Android Auto
Android Games
Android Jetpack
Android Machine Learning
Android Privacy
Android Studio
Android TV
Android Wear
App Bundle
bootcamp
Business
Chrome
Cloud
Community
compose
Firebase
Flutter
Foldables
Game
gdg
GDSC
google
Google Developer Student Clubs
Google Play
Google Play Games
Interview
Jetpack
Jetpack Compose
kotlin
Large Screens
Library
ma
Material Design
Material You
ML/Tensorflow
mobile games
Now in Android
PC
Play Console
Policy
priva
wa
wear
Wearables
Web
Web/Chrome
Weeklyupdates
WorkManager
Archive
2024
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2023
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2022
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2021
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2020
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2019
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2018
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2017
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2016
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2015
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2014
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2013
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2012
12월
11월
10월
9월
8월
7월
6월
5월
3월
2월
1월
2011
12월
11월
Feed