KR20240061539A - 오토 포커스를 수행하는 방법 및 장치 - Google Patents

오토 포커스를 수행하는 방법 및 장치 Download PDF

Info

Publication number
KR20240061539A
KR20240061539A KR1020230002774A KR20230002774A KR20240061539A KR 20240061539 A KR20240061539 A KR 20240061539A KR 1020230002774 A KR1020230002774 A KR 1020230002774A KR 20230002774 A KR20230002774 A KR 20230002774A KR 20240061539 A KR20240061539 A KR 20240061539A
Authority
KR
South Korea
Prior art keywords
lens
input data
autofocus
image
interest
Prior art date
Application number
KR1020230002774A
Other languages
English (en)
Inventor
최명섭
이한아
이형욱
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US18/341,970 priority Critical patent/US20240147065A1/en
Priority to CN202311269498.7A priority patent/CN117956278A/zh
Priority to EP23201044.7A priority patent/EP4362484A1/en
Publication of KR20240061539A publication Critical patent/KR20240061539A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/67Focus control based on electronic image sensor signals
    • H04N23/675Focus control based on electronic image sensor signals comprising setting of focusing regions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/54Mounting of pick-up tubes, electronic image sensors, deviation or focusing coils
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/55Optical parts specially adapted for electronic image sensors; Mounting thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/67Focus control based on electronic image sensor signals
    • H04N23/672Focus control based on electronic image sensor signals based on the phase difference signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Studio Devices (AREA)

Abstract

오토 포커스를 수행하는 방법 및 장치가 개시된다. 일 실시예에 따른 인공 신경망 모델을 이용하여 오토 포커스를 수행하는 방법은 입력 이미지의 위상 정보를 포함하는 제1 입력 데이터를 획득하는 단계; 렌즈 위치 정보가 인코딩된 단일 채널의 제2 입력 데이터를 획득하는 단계; 및 상기 제1 입력 데이터 및 상기 제2 입력 데이터를 상기 인공 신경망 모델에 입력하여, 상기 오토 포커스에 대응하는 렌즈의 위치 정보를 획득하는 단계를 포함할 수 있다.

Description

오토 포커스를 수행하는 방법 및 장치{METHOD AND APPARATUS FOR PERFORMING AUTOFOCUS}
아래의 개시는 오토 포커스를 수행하는 방법 및 장치에 관한 것으로, 구체적으로 위상(phase) 정보를 포함한 다양한 센서 데이터로부터 초점이 맞는 카메라 렌즈의 위치를 자동으로 찾아주는 딥러닝 기반 오토 포커스 방법에 관한 것이다.
최근 모바일 디바이스의 기능이 다양화되면서 모바일 디바이스를 이용한 이미지 촬영 기능의 향상에 대한 요구도 늘어나고 있다. 이에 따라 이미지 촬영 시 초점을 조절하기 위한 오토 포커스(AF; autofocus) 기능이 발전하고 있다.
오토 포커스 기능을 구동하기 위한 방법은 대비 오토 포커스(CDAF; contrast detection autofocus) 방법과 위상차 검출 오토 포커스(PDAF; phase detection autofocus) 방법을 포함한다. 대비 검출 오토 포커스 방법은 렌즈를 이동시키면서 이미지 프레임들을 획득하고, 획득된 이미지 프레임의 선명도가 가장 높아지는 렌즈의 위치를 찾는 방법이다. 위상차 검출 오토 포커스 방법은 카메라에 입사되는 빛을 분리하여 획득한 2장의 이미지 프레임을 기반으로 렌즈의 위치를 찾는 방법이다.
일 실시예에 따른 인공 신경망 모델을 이용하여 오토 포커스(AF: Autofocus)를 수행하는 방법은 입력 이미지의 위상 정보를 포함하는 제1 입력 데이터를 획득하는 단계; 렌즈 위치 정보가 인코딩된 제2 입력 데이터를 획득하는 단계; 및 상기 제1 입력 데이터 및 상기 제2 입력 데이터를 상기 인공 신경망 모델에 입력하여, 상기 오토 포커스에 대응하는 렌즈의 위치 정보를 획득하는 단계를 포함한다.
일 실시예에 따른 오토 포커스를 수행하는 방법은 상기 입력 이미지의 관심 영역에 대응하는 위치 정보가 인코딩된 제3 입력 데이터를 획득하는 단계를 더 포함할 수 있다.
상기 제3 입력 데이터를 획득하는 단계는 상기 제1 입력 데이터에서 상기 관심 영역의 상대적인 위치를 제1축 데이터 및 제2축 데이터로 인코딩하는 단계를 더 포함할 수 있다.
상기 제3 입력 데이터를 획득하는 단계는 렌즈를 통해 이미지 센서로 들어오는 빛의 세기 정보에 기초하여, 상기 관심 영역의 위치 정보를 인코딩하는 단계를 더 포함할 수 있다.
상기 제3 입력 데이터를 획득하는 단계는 가우시안 필터(Gaussian filter)에 기초하여, 상기 관심 영역의 위치 정보를 인코딩하는 단계를 더 포함할 수 있다.
상기 렌즈의 위치 정보를 획득하는 단계는 상기 제3 입력 데이터를 상기 제1 입력 데이터 및 상기 제2 입력 데이터와 함께 상기 인공 신경망 모델에 입력하여, 상기 렌즈의 위치 정보를 획득하는 단계를 포함할 수 있다.
상기 렌즈의 위치 정보를 획득하는 단계는 상기 제1 입력 데이터, 상기 제2 입력 데이터 및 상기 제3 입력 데이터를 상기 인공 신경망 모델에 입력하여, 상기 렌즈의 위치 정보를 획득하는 단계를 포함할 수 있다.
상기 제2 입력 데이터를 획득하는 단계는 상기 렌즈의 위치가 연속적인 수치로 표현되도록 상기 렌즈 위치 정보를 인코딩하는 단계를 더 포함할 수 있다.
상기 제2 입력 데이터를 획득하는 단계는 상기 렌즈의 위치에 따른 초점거리에 맞춰진 비선형 함수값에 기초하여, 상기 렌즈 위치 정보를 인코딩하는 단계를 더 포함할 수 있다.
상기 제2 입력 데이터를 획득하는 단계는 상기 렌즈 위치 정보를 단일 채널 형태로 인코딩하는 단계를 더 포함할 수 있다.
상기 제2 입력 데이터를 획득하는 단계는 상기 렌즈 위치 정보를 스케일링 팩터(scaling factor)형태로 인코딩하는 단계를 더 포함할 수 있다.
상기 렌즈의 위치 정보를 획득하는 단계는 미리 정해진 복수의 후보 위치들 중 상기 오토 포커스에 대응하는 하나의 위치를 예측하는 단계를 포함할 수 있다.
상기 렌즈의 위치 정보를 획득하는 단계는 상기 오토 포커스에 대응하는 하나의 스칼라 값을 획득하는 단계를 포함할 수 있다.
상기 제1 입력 데이터는 듀얼 픽셀(dual-pixel) 이미지를 포함할 수 있다.
일 실시예에 따른 인공 신경망 모델을 이용하여 오토 포커스(AF: Autofocus)를 수행하는 전자 장치는 적어도 하나의 명령어를 저장하는 메모리; 및 상기 메모리에 저장된 명령어를 실행함으로써, 입력 이미지의 위상 정보를 포함하는 제1 입력 데이터를 획득하고, 렌즈 위치 정보가 인코딩된 제2 입력 데이터를 획득하고, 상기 제1 입력 데이터 및 상기 제2 입력 데이터를 상기 인공 신경망 모델에 입력하여, 상기 오토 포커스에 대응하는 렌즈의 위치 정보를 획득하는 프로세서를 포함한다.
상기 프로세서는 상기 입력 이미지의 관심 영역에 대응하는 위치 정보가 인코딩된 제3 입력 데이터를 획득할 수 있다.
상기 프로세서는 상기 제1 입력 데이터에서 상기 관심 영역의 상대적인 위치를 제1축 데이터 및 제2축 데이터로 인코딩할 수 있다.
상기 프로세서는 상기 제3 입력 데이터를 상기 제1 입력 데이터 및 상기 제2 입력 데이터와 함께 상기 인공 신경망 모델에 입력하여, 상기 렌즈의 위치 정보를 획득할 수 있다.
상기 프로세서는 상기 렌즈의 위치가 연속적인 수치로 표현되도록 상기 렌즈 위치 정보를 인코딩할 수 있다.
상기 프로세서는 상기 렌즈의 위치에 따른 초점거리에 맞춰진 비선형 함수값에 기초하여, 상기 렌즈 위치 정보를 인코딩할 수 있다.
상기 프로세서는 미리 정해진 복수의 후보 위치들 중 상기 오토 포커스에 대응하는 하나의 위치를 예측할 수 있다.
상기 프로세서는 상기 오토 포커스에 대응하는 하나의 스칼라 값을 획득할 수 있다.
상기 제1 입력 데이터는 듀얼 픽셀(dual-pixel) 이미지를 포함할 수 있다.
일 실시예에 따른 전자 장치는 이동 가능한 렌즈; 상기 렌즈의 현재 위치에 의해 형성된 광학 상에 대응하는 영상 신호의 위상 정보를 획득하는 이미지 센서; 적어도 하나의 명령어를 저장하는 메모리; 및 상기 메모리에 저장된 명령어를 실행함으로써, 상기 영상 신호 내 관심 영역의 위치 정보를 인코딩하고, 상기 위상 정보, 상기 인코딩된 렌즈의 위치 정보 및 상기 인코딩된 상기 관심 영역의 위치 정보에 기초하여, 오토 포커스를 수행하는 프로세서를 포함할 수 있다.
상기 프로세서는 상기 렌즈를 통해 상기 이미지 센서로 들어오는 빛의 세기 정보에 기초하여, 상기 관심 영역의 위치 정보를 인코딩할 수 있다.
상기 프로세서는 가우시안 필터(Gaussian filter)에 기초하여, 상기 관심 영역의 위치 정보를 인코딩할 수 있다.
서로 이격된 제1 픽셀 및 제2 픽셀 쌍들을 포함하는 이미지 센서 및 상기 이미지 센서와 이격되고 이동 가능한 렌즈를 포함하는 전자 장치의 오토 포커스(AF: Auto Focus) 수행 방법에 있어서, 상기 렌즈의 현재 위치를 통과하여 상기 제1 픽셀들에 맺힌 제1 이미지 및 상기 제2 픽셀들에 맺힌 제2 이미지를 획득하는 단계; 상기 제1 이미지 및 상기 제2 이미지의 일부에 해당하는 관심 영역을 획득하는 단계; 상기 관심 영역에 해당하는 상기 제1 이미지, 상기 관심 영역에 해당하는 상기 제2 이미지, 상기 렌즈의 현재 위치 및 상기 관심 영역의 위치를 인공 신경망 모델에 입력하는 단계; 상기 인공 신경망 모델로부터 상기 렌즈의 포커스가 맞는 위치를 출력받는 단계; 및 상기 렌즈를 상기 포커스가 맞는 위치로 이동시키는 단계를 포함할 수 있다.
상기 이미지 센서의 모든 픽셀들은 상기 제1 픽셀 및 제2 픽셀 쌍들로 이루어질 수 있다.
상기 이미지 센서의 일부 픽셀들만 상기 제1 픽셀 및 제2 픽셀 쌍들로 이루어질 수 있다.
상기 관심 영역은 사용자로부터 입력 받은 영역일 수 있다.
상기 관심 영역은 특정 피사체에 대응하는 영역일 수 있다.
상기 특정 피사체는 사람 얼굴일 수 있다.
상기 관심 영역은 상기 제1 이미지 및 상기 제2 이미지 내부의 미리 정해진 영역일 수 있다.
상기 관심 영역은 상기 제1 이미지 및 상기 제2 이미지의 중앙 영역일 수 있다.
상기 관심 영역의 x축 데이터와 y축 데이터가 개별적으로 상기 인공 신경망 모델에 입력될 수 있다.
상기 렌즈의 현재 위치는 단일 채널로 상기 인공 신경망 모델에 입력될 수 있다.
상기 렌즈의 현재 위치는 스칼라 값으로 상기 인공 신경망 모델에 반영될 수 있다.
상기 렌즈의 포커스가 맞는 위치는 상기 렌즈의 가동 범위 내의 100개 이상의 연속적인 위치 중 하나로 출력될 수 있다.
상기 렌즈의 포커스가 맞는 위치는 상기 렌즈의 가동 범위 내의 1000개 이상의 연속적인 위치 중 하나로 출력될 수 있다.
도 1a는 인공신경망(Artificial Neural Network)를 이용한 딥러닝 연산 방법을 설명하기 위한 도면이다.
도 1b는 일 실시예에 따른 인공 신경망 모델의 학습 및 추론 방법을 설명하기 위한 도면이다.
도 2a는 일 실시예에 따른 전자 장치를 예시하는 블록도이다.
도 2b는 일 실시예에 따른 카메라 모듈을 예시하는 블록도이다.
도 3은 일 실시예에 따른 오토 포커스를 수행하는 방법을 설명하기 위한 순서도이다.
도 4a 내지 도 4b는 일 실시예에 따른 렌즈의 위치를 인코딩하는 방법을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 오토 포커스를 수행하는 방법을 설명하기 위한 순서도이다.
도 6은 일 실시예에 따른 관심 영역에 대응하는 위치 정보를 인코딩하는 방법을 설명하기 위한 도면이다.
본 명세서에서 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 기술적 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 실제로 구현된 형태는 다양한 다른 모습을 가질 수 있으며 본 명세서에 설명된 실시예로만 한정되지 않는다.
제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~간의"와 "바로~간의" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
오토 포커스는 특정 물체에 초점을 자동으로 맞춰주는 기능으로, 자동 초점 으로 지칭될 수도 있다. 빠르고 정확하게 초점을 맞추는 기술은 사진 및 영상을 촬영할 때 사용자의 편의성을 증대시키는 핵심 기술일 수 있다.
오토 포커스 기능을 구동하기 위한 방법은 대비 오토 포커스(CDAF; contrast detection autofocus) 방법과 위상차 검출 오토 포커스(PDAF; phase detection autofocus) 방법을 포함한다.
대비 검출 오토 포커스 방법은 렌즈를 이동시키면서 이미지 프레임들을 획득하고, 획득된 이미지 프레임의 선명도가 가장 높아지는 렌즈의 위치를 찾는 방법이다. 위상차 검출 오토 포커스 방법은 카메라에 입사되는 빛을 분리하여 획득한 2장의 이미지 프레임을 기반으로 렌즈의 위치를 찾는 방법이다.
대비 검출 오토 포커스 방법은 렌즈를 계속 움직이면서 대비 메트릭(contrast metric)을 계산해야 하므로 최종 위치까지 도달하는데 시간이 많이 소요될 수 있다. 또한, 대비 검출 오토 포커스 방법은 대비 메트릭이 정확하지 않고, 피크(peak)에 도달했는지 직접 렌즈를 움직여보기 전에는 알 수 없다.
위상차 검출 오토 포커스 방법은 한 번에 초점이 맞는 렌즈 위치를 찾을 수 있기 때문에 대비 검출 오토 포커스 방법 대비 속도가 빠르지만, 전반적으로 성능이 저조할 수 있다. 또한, 위상차 검출 오토 포커스 방법은 위상차에 따른 렌즈 위치를 캘리브레이션(calibration)을 통해 미리 매핑해 두어야 하는데, 디바이스 공정 오차 및 노이즈가 많은 저조도 상황에서 위상 오류가 여전히 발생할 수 있다.
아래에서 상세히 설명하겠으나, 일 실시예에 따른 오토 포커스 방법은 딥러닝 기술을 이용하여 오토 포커스를 수행할 수 있다. 일 실시예에 따른 오토 포커스 방법은 이미지 내 각 픽셀들의 위치에 따라 위상차에 대한 특성이 다를 수 있다는 점에 착안하여, 인공 신경망의 입력으로 위치 인코딩(positional encoding)을 추가함으로써 오토 포커스 성능을 개선할 수 있다. 일 실시예에 따른 오토 포커스 방법에 대한 구체적인 설명에 앞서, 도 1a 내지 도 1b를 참조하여 인공 신경망에 대하여 설명한다.
도 1a는 인공신경망(Artificial Neural Network)를 이용한 딥러닝 연산 방법을 설명하기 위한 도면이다.
딥러닝(Deep Learning) 등을 포함하는 인공지능(AI) 알고리즘은 인공신경망(Artificial Neural Network, ANN)에 입력 데이터(10)를 입력시키고, 컨볼루션 등의 연산을 통해 출력 데이터(30)를 학습하는 것을 특징으로 한다. 인공신경망은 생물학적 뇌를 모델링한 컴퓨터 과학적 아키텍쳐(Computational Architecture)를 의미할 수 있다. 인공신경망 내에서, 뇌의 뉴런들에 해당되는 노드들은 서로 연결되어 있고, 입력 데이터를 처리하기 위하여 집합적으로 동작한다. 다양한 종류의 뉴럴 네트워크들을 예로 들면, 컨볼루션 뉴럴 네트워크(Convolutional Neural Network, CNN), 회귀 뉴럴 네트워크(Recurrent Neural Network, RNN), 딥 빌리프 네트워크(Deep Belief Network, DBN), 제한된 볼츠만 기계(Restricted Boltzman Machine, RBM) 방식 등이 있으나, 이에 제한되지 않는다. 피드-포워드(feed-forward) 뉴럴 네트워크에서, 뉴럴 네트워크의 뉴런들은 다른 뉴런들과의 연결들(links)을 갖는다. 이와 같은 연결들은 뉴럴 네트워크를 통해, 한 방향으로, 예를 들어 순방향(forward direction)으로 확장될 수 있다.
도 1a를 참조하면, 인공신경망에 입력 데이터(10)가 입력되고, 레이어(layer)를 포함하는 인공 신경망(예를 들어, 컨볼루션 뉴럴 네트워크(Convolution Neural Network, CNN)(20))를 통해 출력 데이터(30)가 출력되는 구조가 도시된다. 인공신경망은 2개 이상의 레이어를 보유한 딥 뉴럴 네트워크(deep neural network)일 수 있다.
컨볼루션 뉴럴 네트워크(20)는 입력 데이터(10)로부터 테두리, 선 색 등과 같은 "특징들(features)"을 추출하기 위해 이용될 수 있다. 컨볼루션 뉴럴 네트워크(20)는 복수의 레이어를 포함할 수 있다. 각각의 레이어는 데이터를 수신할 수 있고, 해당 레이어에 입력되는 데이터를 처리하여 해당 레이어에서 출력되는 데이터를 생성할 수 있다. 레이어에서 출력되는 데이터는, 컨볼루션 뉴럴 네트워크(20)에 입력된 이미지 또는 입력된 특징맵(feature map)을 필터(filter)의 웨이트(weight) 값과 컨볼루션 연산하여 생성한 특징맵일 수 있다. 컨볼루션 뉴럴 네트워크(20)의 초기 레이어들은 입력으로부터 에지들 또는 그레디언트들과 같은 낮은 레벨의 특징들을 추출하도록 동작될 수 있다. 컨볼루션 뉴럴 네트워크(20)의 다음 레이어들은 이미지 내의 눈, 코 등과 같은 점진적으로 더 복잡한 특징들을 추출할 수 있다.
도 1b는 일 실시예에 따른 인공 신경망 모델의 학습 및 추론 방법을 설명하기 위한 도면이다.
도 1b를 참조하면, 일 실시예에 따른 오토 포커스 시스템은 학습 장치(100) 및 추론 장치(150)를 포함할 수 있다. 일 실시예에 따른 학습 장치(100)는 뉴럴 네트워크를 생성하거나, 뉴럴 네트워크를 훈련(train)(또는 학습(learn))하거나, 뉴럴 네트워크를 재훈련(retrain)하는 기능들과 같은 다양한 프로세싱 기능들을 갖는 컴퓨팅 디바이스에 해당된다. 예를 들어, 학습 장치(100)는 PC(personal computer), 서버 디바이스, 모바일 디바이스 등의 다양한 종류의 디바이스들로 구현될 수 있다.
일 실시예에 따른 학습 장치(100)는 주어진 초기 뉴럴 네트워크를 반복적으로 훈련(학습)시킴으로써, 훈련된 뉴럴 네트워크(110)를 생성할 수 있다. 훈련된 뉴럴 네트워크(110)를 생성하는 것은 뉴럴 네트워크 파라미터를 결정하는 것을 의미할 수 있다. 여기서, 파라미터들은 예를 들어 뉴럴 네트워크의 입/출력 액티베이션들, 웨이트들, 바이어스들 등 뉴럴 네트워크에 입/출력되는 다양한 종류의 데이터를 포함할 수 있다. 뉴럴 네트워크의 반복적인 훈련이 진행됨에 따라, 뉴럴 네트워크의 파라미터들은 주어진 입력에 대해 보다 정확한 출력을 연산하기 위해 조정될(tuned) 수 있다.
일 실시예에 따른 학습 장치(100)는 훈련된 뉴럴 네트워크(110)를 추론 장치(150)에 전달할 수 있다. 추론 장치(150)는 모바일 디바이스, 임베디드(embedded) 디바이스 등에 포함될 수 있다. 일 실시예에 따른 추론 장치(150)는 뉴럴 네트워크의 구동을 위한 전용 하드웨어로 프로세서, 메모리, 입출력(I/O) 인터페이스, 디스플레이, 통신 인터페이스, 또는 센서 중 적어도 하나를 포함하는 전자 장치일 수 있다.
일 실시예에 따른 추론 장치(150)는 태블릿 PC, 스마트폰, 개인용 컴퓨터(예를 들어, 노트북 컴퓨터 등), 인공지능 스피커, 스마트 TV, 이동 전화기, 내비게이션, 웹 패드, PDA, 워크스테이션 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기를 모두 포함하는 개념일 수 있다.
일 실시예에 따른 추론 장치(150)는 훈련된 뉴럴 네트워크(110)를 그대로 구동하거나, 훈련된 뉴럴 네트워크(110)가 가공(예를 들어, 양자화)된 뉴럴 네트워크(160)를 구동할 수 있다. 가공된 뉴럴 네트워크(160)를 구동하는 추론 장치(150)는, 학습 장치(100)와는 별도의 독립적인 디바이스에서 구현될 수 있다. 하지만, 이에 제한되지 않고, 추론 장치(150)는 학습 장치(100)와 동일한 디바이스 내에도 구현될 수 있다.
도 2a는 일 실시예에 따른 전자 장치를 예시하는 블록도이다.
도 1a 내지 도 1b를 참조하여 설명한 내용은 도 2a에 동일하게 적용될 수 있다. 예를 들어, 도 1b의 추론 장치(150)에 대한 설명은 도 2a의 전자 장치(200)에 동일하게 적용될 수 있다. 전자 장치(200)는 오토 포커스 동작을 구동하는 기기로서, 오디오 출력 기능, 유무선 통신 기능 또는 이와는 다른 기능을 포함하는 디지털 기기일 수 있다.
도 2a를 참조하면, 일 실시예에 따른 전자 장치(200)는 프로세서(201), 메모리(203) 및 카메라 모듈(205)을 포함할 수 있다.
일 실시예에 따른 메모리(203)는 컴퓨터에서 읽을 수 있는 명령어들(instructions)을 저장할 수 있다. 메모리(203)에 저장된 명령어들이 프로세서(201)에 의해 실행되면, 프로세서(201)는 명령어들에 의해 정의되는 동작들을 처리할 수 있다. 메모리(203)는 예를 들어 RAM(random access memories), DRAM(dynamic random access memories), SRAM(static random access memories) 또는 이 기술 분야에서 알려진 다른 형태의 비휘발성 메모리를 포함할 수 있다. 메모리(203)는 기 학습된 인공 신경망 모델을 저장할 수 있다.
일 실시예에 따른 프로세서(201)는 전자 장치(200)의 전체적인 동작을 제어한다. 프로세서(201)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 장치일 수 있다. 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 명령어들을 포함할 수 있다. 하드웨어로 구현된 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(Central Processing Unit; CPU), 그래픽 처리 장치(Graphic Processing Unit; GPU), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array), NPU(Neural Processing Unit) 등을 포함할 수 있다
일 실시예에 따른 카메라 모듈(205)은 정지 영상 및 동영상을 촬영할 수 있다. 카메라 모듈(205)은 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다. 카메라 모듈(205)의 구체적인 구성은 아래에서 도 2b를 참조하여 설명한다.
도 2b는 일 실시예에 따른 카메라 모듈을 예시하는 블록도이다.
도 2b를 참조하면, 카메라 모듈(205)은 렌즈 어셈블리(210), 플래쉬(220), 이미지 센서(230), 이미지 스태빌라이저(240), 메모리(250)(예: 버퍼 메모리), 또는 이미지 시그널 프로세서(260)를 포함할 수 있다. 렌즈 어셈블리(210)는 이미지 촬영의 대상인 피사체로부터 방출되는 빛을 수집할 수 있다. 렌즈 어셈블리(210)는 하나 또는 그 이상의 렌즈들을 포함할 수 있다. 일 실시예에 따르면, 카메라 모듈(205)은 복수의 렌즈 어셈블리(210)들을 포함할 수 있다. 이런 경우, 카메라 모듈(205)은, 예를 들면, 듀얼 카메라, 360도 카메라, 또는 구형 카메라(spherical camera)를 형성할 수 있다. 복수의 렌즈 어셈블리(210)들 중 일부는 동일한 렌즈 속성(예: 화각, 초점 거리, 자동 초점, f 넘버(f number), 또는 광학 줌)을 갖거나, 또는 적어도 하나의 렌즈 어셈블리는 다른 렌즈 어셈블리의 렌즈 속성들과 다른 렌즈 속성들을 가질 수 있다. 렌즈 어셈블리(210)는, 예를 들면, 광각 렌즈 또는 망원 렌즈를 포함할 수 있다.
플래쉬(220)는 피사체로부터 방출 또는 반사되는 빛을 강화하기 위하여 사용되는 빛을 방출할 수 있다. 일 실시예에 따르면, 플래쉬(220)는 발광 다이오드들(예: RGB(red-green-blue) LED, white LED, infrared LED, 또는 ultraviolet LED), 또는 xenon lamp를 포함할 수 있다. 이미지 센서(230)는 피사체로부터 방출 또는 반사되어 렌즈 어셈블리(210)를 통해 전달된 빛을 전기적인 신호로 변환함으로써, 피사체에 대응하는 이미지를 획득할 수 있다. 일 실시예에 따르면, 이미지 센서(230)는, 예를 들면, RGB 센서, BW(black and white) 센서, IR 센서, 또는 UV 센서와 같이 속성이 다른 이미지 센서들 중 선택된 하나의 이미지 센서, 동일한 속성을 갖는 복수의 이미지 센서들, 또는 다른 속성을 갖는 복수의 이미지 센서들을 포함할 수 있다. 추가적으로 또는 대체적으로, 이미지 센서(230) 이미지의 위상 정보(예: 위상차)를 획득할 수 있다. 이미지 센서(230)는, 예를 들면, 듀얼 픽셀(dual-pixel) 센서 또는 쿼드 픽셀(quad-pixel) 센서와 같이 위상 정보를 획득할 수 있는 이미지 센서를 포함할 수 있다. 이미지 센서(230)에 포함된 각각의 이미지 센서는, 예를 들면, CCD(charged coupled device) 센서 또는 CMOS(complementary metal oxide semiconductor) 센서를 이용하여 구현될 수 있다.
이미지 스태빌라이저(240)는 카메라 모듈(205) 또는 이를 포함하는 전자 장치(200)의 움직임에 반응하여, 렌즈 어셈블리(210)에 포함된 적어도 하나의 렌즈 또는 이미지 센서(230)를 특정한 방향으로 움직이거나 이미지 센서(230)의 동작 특성을 제어(예: 리드 아웃(read-out) 타이밍을 조정 등)할 수 있다. 이는 촬영되는 이미지에 대한 움직임에 의한 부정적인 영향의 적어도 일부를 보상하게 해 준다. 일 실시예에 따르면, 이미지 스태빌라이저(240)는 카메라 모듈(205)의 내부 또는 외부에 배치된 자이로 센서(미도시) 또는 가속도 센서(미도시)를 이용하여 카메라 모듈(205) 또는 전자 장치(200)의 그런 움직임을 감지할 수 있다. 일 실시예에 따르면, 이미지 스태빌라이저(240)는, 예를 들면, 광학식 이미지 스태빌라이저로 구현될 수 있다.
메모리(250)는 이미지 센서(230)를 통하여 획득된 이미지의 적어도 일부를 다음 이미지 처리 작업을 위하여 적어도 일시 저장할 수 있다. 예를 들어, 셔터에 따른 이미지 획득이 지연되거나, 또는 복수의 이미지들이 고속으로 획득되는 경우, 획득된 원본 이미지(예: Bayer-patterned 이미지 또는 높은 해상도의 이미지)는 메모리(250)에 저장이 되고, 그에 대응하는 사본 이미지(예: 낮은 해상도의 이미지)는 디스플레이 모듈을 통하여 프리뷰될 수 있다. 이후, 지정된 조건이 만족되면(예: 사용자 입력 또는 시스템 명령) 메모리(250)에 저장되었던 원본 이미지의 적어도 일부가, 예를 들면, 이미지 시그널 프로세서(260)에 의해 획득되어 처리될 수 있다. 일 실시예에 따르면, 메모리(250)는 메모리(203)의 적어도 일부로, 또는 이와는 독립적으로 운영되는 별도의 메모리로 구성될 수 있다.
이미지 시그널 프로세서(260)는 이미지 센서(230)를 통하여 획득된 이미지 또는 메모리(250)에 저장된 이미지에 대하여 이미지 처리들을 수행할 수 있다. 이미지 처리들은, 예를 들면, 깊이맵(depth map) 생성, 오토 포커스, 3차원 모델링, 파노라마 생성, 특징점 추출, 이미지 합성, 또는 이미지 보상(예: 노이즈 감소, 해상도 조정, 밝기 조정, 블러링(blurring), 샤프닝(sharpening), 또는 소프트닝(softening)을 포함할 수 있다. 추가적으로 또는 대체적으로, 이미지 시그널 프로세서(260)는 카메라 모듈(205)에 포함된 구성 요소들 중 적어도 하나(예: 이미지 센서(230))에 대한 제어(예: 노출 시간 제어, 또는 리드 아웃 타이밍 제어 등)를 수행할 수 있다.
이미지 시그널 프로세서(260)에 의해 처리된 이미지는 추가 처리를 위하여 메모리(250)에 다시 저장되거나 카메라 모듈(205)의 외부 구성 요소(예: 메모리(203) 또는 디스플레이 모듈)로 제공될 수 있다. 이미지 시그널 프로세서(260)는 프로세서(201)의 적어도 일부로 구성되거나, 프로세서(201)와 독립적으로 운영되는 별도의 프로세서로 구성될 수 있다. 이미지 시그널 프로세서(260)와 프로세서(201)가 별도의 프로세서로 구성된 경우, 이미지 시그널 프로세서(260)에 의해 처리된 적어도 하나의 이미지는 프로세서(201)에 의하여 그대로 또는 추가의 이미지 처리를 거친 후 디스플레이 모듈를 통해 표시될 수 있다.
일 실시예에 따르면, 전자 장치(200)는 각각 다른 속성 또는 기능을 가진 복수의 카메라 모듈(205)들을 포함할 수 있다. 이런 경우, 예를 들면, 복수의 카메라 모듈(205)들 중 적어도 하나는 광각 카메라이고, 적어도 다른 하나는 망원 카메라일 수 있다. 유사하게, 복수의 카메라 모듈(205)들 중 적어도 하나는 전면 카메라이고, 적어도 다른 하나는 후면 카메라일 수 있다.
도 3은 일 실시예에 따른 오토 포커스를 수행하는 방법을 설명하기 위한 순서도이다.
설명의 편의를 위해, 단계들(310 내지 330)은 도 2a 내지 도 2b에 도시된 전자 장치(200)를 사용하여 수행되는 것으로 기술된다. 그러나 이 단계들(310 내지 330)은 어떤 다른 적절한 전자 기기를 통해, 그리고 어떤 적절한 시스템 내에서도 사용될 수 있을 것이다.
나아가, 도 3의 동작은 도시된 순서 및 방식으로 수행될 수 있지만, 도시된 실시예의 사상 및 범위를 벗어나지 않으면서 일부 동작의 순서가 변경되거나 일부 동작이 생략될 수 있다. 도 3에 도시된 다수의 동작은 병렬로 또는 동시에 수행될 수 있다.
단계(310)에서, 전자 장치(200)는 입력 이미지의 위상 정보를 포함하는 제1 입력 데이터를 획득할 수 있다. 제1 입력 데이터는 이미지 센서(예: 도 2b의 이미지 센서(230))로부터 얻은 로 데이터(raw data)를 의미하며, 위상차를 계산할 수 있는 모든 종류의 데이터를 포함할 수 있다. 예를 들어, 제1 입력 데이터는 듀얼 픽셀 이미지 또는 쿼드 픽셀 이미지를 포함할 수 있다. 듀얼 픽셀 센서는 피사체로부터 방출 또는 반사되어 렌즈 어셈블리(예: 도 2b의 렌즈 어셈블리(210))를 통해 전달된 빛을 두 갈래로 나누어서 전기적인 신호로 변환할 수 있고, 두 신호 사이의 위상차를 계산함으로써, 입력 이미지에 대응하는 위상차를 획득할 수 있다. 다만, 제1 입력 데이터를 획득하는 방법은 전술한 예시에 한정되지 않고, 위상 정보를 획득할 수 있는 다양한 방법이 적용될 수 있다. 예를 들어, 제1 입력 데이터는 듀얼 픽셀이 적용된 RGB 픽셀들 중 녹색 픽셀에 기울어진 각도의 구조를 추가하여 좌우 뿐 아니라 위아래의 위상차까지 측정할 수 있는 듀얼 픽셀 프로(dual-pixel pro) 방법, 위상차 인식용 픽셀의 전체 영역을 초점을 맞추는데 사용하는 슈퍼 PD(super phase detection) 방법 또는 화소 전체를 활용하여 위상차를 측정하는 QPD(quad phase detection) 방법 등을 이용하여 획득될 수 있다.
단계(320)에서, 전자 장치(200)는 렌즈 위치 정보가 인코딩된 제2 입력 데이터를 획득할 수 있다. 전자 장치(200)는 현재 렌즈 위치를 인코딩할 수 있다. 렌즈 위치 정보를 인코딩하는 것은 카메라 렌즈의 위치를 연속적인 수치로 표현하는 것을 의미할 수 있다. 전자 장치(200)는 렌즈 어셈블리(210)에 포함된 렌즈의 전체 가동 범위 내의 연속적인 렌즈의 위치를 모델링할 수 있다. 현재 렌즈 위치를 인코딩하는 방법은 아래에서 도 4a 내지 도 4b를 참조하여 설명된다.
단계(330)에서, 전자 장치(200)는 제1 입력 데이터 및 제2 입력 데이터를 인공 신경망 모델에 입력하여, 오토 포커스에 대응하는 렌즈의 위치 정보를 획득할 수 있다. 인공 신경망 모델은 오토 포커스 계산 모델로 지칭될 수도 있다. 인공 신경망 모델은 컨볼루션 뉴럴 네트워크(Convolutional Neural Network, CNN)를 포함할 수 있으나, 이에 제한되지는 않는다. 예를 들어, 인공 신경망 모델은 모바일 환경을 고려한 컨볼루션 뉴럴 네트워크인 MobileNet-v2 모델, VGGNet, ResNet, MCUNet 등을 포함할 수 있다.
인공 신경망 모델은 제1 입력 데이터 및 제2 입력 데이터를 수신하여 오토 포커스에 대응하는 렌즈의 위치 정보를 출력하도록 학습될 수 있다. 학습 장치(100)는 학습을 위한 제1 입력 데이터(예: 듀얼 픽셀 이미지), 현재 렌즈 위치가 인코딩된 제2 입력 데이터를 인공 신경망에 입력하여 획득한 렌즈의 위치와 학습을 위한 제1 입력 데이터에 대응하는 정답 렌즈의 위치 사이의 차이를 오차로 결정하고, 오차를 신경망 내에 역전파 함으로써 연산에 이용된 가중치나 바이어스 들을 갱신할 수 있다.
학습 장치(100)는 인공 신경망 모델의 출력값을 어떻게 정의하는지에 따라 인공 신경망 모델을 미리 정해진 N개의 위치 중 하나에 해당하는 클래스를 예측하는 분류(classification) 모델로 구성할 수도 있고, 또는 렌즈의 가동범위를 직접 예측하는 회귀(regression) 모델로 구성할 수도 있다. 학습 장치(100)가 인공 신경망 모델을 분류 모델로 학습할 경우, 인공 신경망 모델은 렌즈 위치에 대응하는 클래스를 출력할 수 있다. 학습 장치(100)가 인공 신경망 모델을 회귀 모델로 학습할 경우, 인공 신경망 모델은 렌즈 위치에 대응하는 하나의 스칼라 값을 출력할 수 있다.
도 4a 내지 도 4b는 일 실시예에 따른 렌즈의 위치를 인코딩하는 방법을 설명하기 위한 도면이다.
도 1a 내지 도 3을 참조하여 설명한 내용은 도 4a 내지 도 4b에도 동일하게 적용될 수 있다. 일 실시예에 따른 전자 장치(200)는 현재 렌즈 위치를 인코딩하여, 카메라 렌즈의 위치를 연속적인 수치로 표현할 수 있다. 예를 들어, 도 4a를 참조하면, 전자 장치(200)는 카메라 렌즈의 전체 가동범위를 미리 정해진 범위(예; 0 내지 1 사이의 임의의 값)로 정규화(normalize)하여 렌즈의 현재 위치(예: f)를 선형적으로 표현할 수 있다. 또는, 전자 장치(200)는 렌즈 위치에 대한 초점거리의 변화를 고려하여, 비선형 함수에 기초하여 현재 렌즈 위치를 인코딩할 수 있다.
인공 신경망 모델을 통해 오토 포커스에 대응하는 렌즈 위치를 결정하기 위해서는 현재 렌즈의 위치 정보를 위상 정보와 함께 입력해 주어야 한다. 이 때, 입력되는 위치 정보를 표현하는 방법은 여러가지가 있을 수 있다. 예를 들어, 렌즈의 위치를 미리 정해진 개수(예: 49개)로 지정해 놓고, 인공 신경망의 입력 단에서 복수의 위치들(예: 49개) 중 해당하는 위치만 활성화(active) 시키는 방식으로 렌즈 위치 정보를 표현할 수 있다.
이 방식에 따를 경우, 입력 데이터의 크기가 매우 크고, 이산적인(discrete) 렌즈 위치만 다룰 수 있다는 문제점이 있을 수 있다. 예를 들어, 듀얼 픽셀 이미지에서 중앙의 128*128 크기의 패치를 입력으로 받는 경우, 2-채널 패치의 49배인 98개 채널을 갖도록 입력 데이터를 구성해야 하고, 렌즈 위치를 한 번 추정할 때마다 98*128*128 (*16bit) > 3MB 이상의 데이터를 처리해야 할 수 있다.
반면에, 도 4b를 참조하면, 일 실시예에 따른 전자 장치(200)는 렌즈의 위치 정보를 인코딩하여 렌즈의 위치 정보를 단일 채널(420)로 표현할 수 있다. 따라서, 인공 신경망 모델의 입력에는, 제1 입력 데이터(410)에 추가로 렌즈 위치 인코딩에 해당하는 단일 채널(420)만 추가되고, 총 입력 데이터의 크기를 줄일 수 있다. 예를 들어, 듀얼 픽셀 이미지에서 중앙의 128*128 크기의 패치를 입력으로 받는 경우, 전자 장치는 총 입력 데이터의 크기를 (2+1)*128*128 (*16bit)로, 0.1MB 이하로 줄일 수 있다.
다만, 도 4b에서는 렌즈의 위치 정보를 단일 채널(420)로 인코딩하는 예시를 도시하였으나, 렌즈의 위치 정보를 인코딩하는 방법은 위 예시에 한정되지 않는다. 전자 장치(200)는 렌즈의 위치 정보를 n-채널(여기서, n은 2 이상의 자연수)로 인코딩할 수도 있다. 나아가, 전자 장치(200)는 렌즈의 위치 정보를 스케일링 팩터(scaling factor)형태로 인코딩할 수 있다.
나아가, 렌즈의 각 위치에 해당하는 초점거리는 카메라의 종류마다 모두 다르기 때문에, 렌즈의 위치를 미리 지정할 경우에는 전자 장치의 종류에 따라 위치를 새롭게 지정하지 않으면 오차가 발생할 수 있다.
반면에, 일 실시예에 따른 인코딩된 렌즈의 위치 정보는 카메라가 달라지더라도 위치 인코딩 함수의 간단한 변환을 통해 하나의 인공 신경망 모델만으로도 보다 다양한 종류의 카메라에 일반적으로 적용될 수 있다.
도 5는 일 실시예에 따른 오토 포커스를 수행하는 방법을 설명하기 위한 순서도이다.
설명의 편의를 위해, 단계들(510 내지 530)은 도 2a 내지 도 2b에 도시된 전자 장치(200)를 사용하여 수행되는 것으로 기술된다. 그러나 이 단계들(510 내지 530)은 어떤 다른 적절한 전자 기기를 통해, 그리고 어떤 적절한 시스템 내에서도 사용될 수 있을 것이다.
나아가, 도 5의 동작은 도시된 순서 및 방식으로 수행될 수 있지만, 도시된 실시예의 사상 및 범위를 벗어나지 않으면서 일부 동작의 순서가 변경되거나 일부 동작이 생략될 수 있다. 도 5에 도시된 다수의 동작은 병렬로 또는 동시에 수행될 수 있다.
전자 장치(200)는 서로 이격된 제1 픽셀 및 제2 픽셀 쌍들을 포함하는 이미지 센서 및 이미지 센서와 이격되고 이동 가능한 렌즈를 포함할 수 있다. 이미지 센서의 모든 픽셀들은 제1 픽셀 및 제2 픽셀 쌍들로 이루어질 수 있다. 또는 이미지 센서의 일부 픽셀들만 제1 픽셀 및 제2 픽셀 쌍들로 이루어질 수도 있다.
단계(510)에서, 전자 장치(200)는 렌즈의 현재 위치를 통과하여 제1 픽셀들에 맺힌 제1 이미지 및 제2 픽셀들에 맺힌 제2 이미지를 획득할 수 있다.
단계(520)에서, 전자 장치(200)는 제1 이미지 및 제2 이미지의 일부에 해당하는 관심 영역을 획득할 수 있다. 일 실시예에 따른 관심 영역은 다양한 방법에 의해 획득될 수 있다. 예를 들어, 관심 영역은 입력 이미지에 포함된 피사체에 대응하는 영역(예: 얼굴 영역), 사용자로부터 입력받는 영역(예: 사용자가 디스플레이 모듈에 터치함으로써 입력되는 영역) 또는 제1 이미지 및 제2 이미지 내부의 미리 정해진 영역(예: 중앙 영역)을 포함할 수 있다.
단계(530)에서, 전자 장치(200)는 관심 영역에 해당하는 제1 이미지, 관심 영역에 해당하는 제2 이미지, 렌즈의 현재 위치 및 관심 영역의 위치를 인공 신경망 모델에 입력할 수 있다. 관심 영역에 해당하는 제1 이미지 및 관심 영역에 해당하는 제2 이미지는 도 2a 내지 도 4b를 참조하여 전술한 제1 입력 데이터를, 렌즈의 현재 위치는 도 2a 내지 도 4b를 참조하여 전술한 제2 입력 데이터를 포함할 수 있다.
단계(540)에서, 전자 장치(200)는 인공 신경망 모델로부터 렌즈의 포커스가 맞는 위치를 출력받을 수 있다. 렌즈의 포커스가 맞는 위치는 렌즈의 가동 범위 내의 미리 정해진 n개(여기서, n은 2 이상의 자연수로 예를 들어, 100 또는 1000일 수 있다) 이상의 연속적인 위치 중 하나로 출력될 수 있다.
단계(550)에서, 전자 장치(200)는 렌즈를 포커스가 맞는 위치로 이동시킬 수 있다.
도 6은 일 실시예에 따른 관심 영역에 대응하는 위치 정보를 인코딩하는 방법을 설명하기 위한 도면이다.
도 1a 내지 도 5를 참조하여 설명한 내용은 도 6에도 동일하게 적용될 수 있다.
입력 이미지 내 모든 위치에서 위상차가 동일한 패턴으로 발생하지 않을 수 있다. 그렇기 때문에 기존의 위상차 검출 오토 포커스 방법에서는 입력 이미지 내 관심 영역의 위치마다 따로 캘리브레이션(calibration)을 통해 위상차에 대한 초점거리를 센서 출력에서부터 미리 정해놓지만, 한계가 있을 수 있다.
도 6을 참조하면, 일 실시예에 따른 학습 장치(100)는 입력 이미지 내의 관심 영역에 해당하는 위치 인코딩을 인공 신경망 모델의 입력 데이터에 같이 포함시켜서 넣어줌으로써, 인공 신경망 모델이 입력 이미지 내의 상대적인 위치에 해당하는 특성을 자동으로 학습할 수 있다. 다시 말해, 학습 장치(100)는 제1 입력 데이터 및 제3 입력 데이터를 이용하여 인공 신경망 모델을 학습할 수 있다.
일 실시예에 따른 전자 장치(200)는 입력 이미지의 관심 영역에 대응하는 위치 정보가 인코딩된 제3 입력 데이터를 획득할 수 있다.
전자 장치(200)는 관심 영역에 대응하는 위치 정보를 인코딩할 수 있다. 관심 영역에 대응하는 위치 정보를 인코딩하는 것은 입력 이미지 내의 관심 영역을 수치화하여 표현하는 것을 의미할 수 있다. 예를 들어, 입력 이미지가 2차원 영상일 경우, 전자 장치(200)는 가로 및 세로축 방향을 미리 정해진 범위(예: 0 내지 1 사이의 임의의 값)로 선형적으로 표현할 수 있다. 또는, 전자 장치(200)는 실제 렌즈 및 센서의 특성에 기초하여, 관심 영역에 대응하는 위치 정보를 비선형적인 표현법으로 인코딩할 수도 있다. 다만, 제3 입력 데이터를 획득하는 방법은 전술한 예시에 한정되지 않고, 관심 영역에 대응하는 위치 정보를 인코딩할 수 있는 다양한 방법이 적용될 수 있다.
예를 들어, 전자 장치(200)는 렌즈를 통해 이미지 센서로 들어오는 빛의 세기 정보에 기초하여, 관심 영역의 위치 정보를 인코딩할 수 있다. 렌즈를 통해 이미지 센서로 들어오는 빛은 이미지 센서의 상대적인 위치에 따라 조금씩 상이할 수 있다. 전자 장치(200)는 이러한 상대적인 빛의 세기까지 고려하여 관심 영역의 위치 정보를 인코딩할 수 있다. 또는, 전자 장치(200)는 가우시안 필터(Gaussian filter)에 기초하여, 관심 영역의 위치 정보를 인코딩할 수도 있다. 전자 장치(200)는 가우시안 필터를 적용하여, 중앙에서 가장자리로 퍼져나가는 형태로 관심 영역의 위치 정보를 인코딩할 수 있다.
전자 장치(200)는 제3 입력 데이터를 제1 입력 데이터 및 제2 입력 데이터와 함께 인공 신경망 모델에 입력하여 오토 포커스에 대응하는 렌즈의 위치 정보를 획득할 수 있다. 제1 입력 데이터(610)가 듀얼 픽셀 이미지인 경우를 예시로 들면, 2채널의 제1 입력 데이터(610)에 1채널의 제2 입력 데이터(620)가 추가되고, 관심 영역의 x축 방향에 해당하는 가로 위치, y축 방향에 해당하는 세로 위치가 각각 별도의 채널로 추가된 제3 입력 데이터(630)까지 총 5채널 이미지가 인공 신경망 모델에 입력될 수 있다.
또는, 전자 장치(200)는 제1 입력 데이터와 제3 입력 데이터를 인공 신경망 모델에 입력하여 오토 포커스에 대응하는 렌즈의 위치 정보를 획득할 수도 있다. 전자 장치(200)는 이미지 센서를 통해 렌즈의 현재 위치에 의해 형성된 광학 상에 대응하는 영상 신호의 위상 정보를 획득할 수 있다. 영상 신호의 위상 정보는 제1 입력 데이터를 의미할 수 있다. 전자 장치(200)는 영상 신호 내 관심 영역의 위치 정보를 인코딩하고, 위상 정보 및 인코딩된 관심 영역의 위치 정보에 기초하여, 오토 포커스를 수행할 수 있다. 인코딩된 관심 영역의 위치 정보는 제3 입력 데이터를 의미할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (39)

  1. 인공 신경망 모델을 이용하여 오토 포커스(AF: Autofocus)를 수행하는 방법에 있어서,
    입력 이미지의 위상 정보를 포함하는 제1 입력 데이터를 획득하는 단계;
    렌즈 위치 정보가 인코딩된 제2 입력 데이터를 획득하는 단계; 및
    상기 제1 입력 데이터 및 상기 제2 입력 데이터를 상기 인공 신경망 모델에 입력하여, 상기 오토 포커스에 대응하는 렌즈의 위치 정보를 획득하는 단계
    를 포함하는 오토 포커스를 수행하는 방법.
  2. 제1항에 있어서,
    상기 입력 이미지의 관심 영역에 대응하는 위치 정보가 인코딩된 제3 입력 데이터를 획득하는 단계
    를 더 포함하는, 오토 포커스를 수행하는 방법.
  3. 제2항에 있어서,
    상기 제3 입력 데이터를 획득하는 단계는
    상기 제1 입력 데이터에서 상기 관심 영역의 상대적인 위치를 제1축 데이터 및 제2축 데이터로 인코딩하는 단계
    를 더 포함하는, 오토 포커스를 수행하는 방법.
  4. 제2항에 있어서,
    상기 제3 입력 데이터를 획득하는 단계는
    렌즈를 통해 이미지 센서로 들어오는 빛의 세기 정보에 기초하여, 상기 관심 영역의 위치 정보를 인코딩하는 단계
    를 더 포함하는, 오토 포커스를 수행하는 방법.
  5. 제2항에 있어서,
    상기 제3 입력 데이터를 획득하는 단계는
    가우시안 필터(Gaussian filter)에 기초하여, 상기 관심 영역의 위치 정보를 인코딩하는 단계
    를 더 포함하는, 오토 포커스를 수행하는 방법.
  6. 제2항에 있어서,
    상기 렌즈의 위치 정보를 획득하는 단계는
    상기 제3 입력 데이터를 상기 제1 입력 데이터 및 상기 제2 입력 데이터와 함께 상기 인공 신경망 모델에 입력하여, 상기 렌즈의 위치 정보를 획득하는 단계
    를 포함하는, 오토 포커스를 수행하는 방법.
  7. 제1항에 있어서,
    상기 제2 입력 데이터를 획득하는 단계는
    상기 렌즈의 위치가 연속적인 수치로 표현되도록 상기 렌즈 위치 정보를 인코딩하는 단계
    를 더 포함하는, 오토 포커스를 수행하는 방법.
  8. 제1항에 있어서,
    상기 제2 입력 데이터를 획득하는 단계는
    상기 렌즈의 위치에 따른 초점거리에 맞춰진 비선형 함수값에 기초하여, 상기 렌즈 위치 정보를 인코딩하는 단계
    를 더 포함하는, 오토 포커스를 수행하는 방법.
  9. 제1항에 있어서,
    상기 제2 입력 데이터를 획득하는 단계는
    상기 렌즈 위치 정보를 단일 채널 형태로 인코딩하는 단계
    를 더 포함하는, 오토 포커스를 수행하는 방법.
  10. 제1항에 있어서,
    상기 제2 입력 데이터를 획득하는 단계는
    상기 렌즈 위치 정보를 스케일링 팩터(scaling factor)형태로 인코딩하는 단계
    를 더 포함하는, 오토 포커스를 수행하는 방법.
  11. 제1항에 있어서,
    상기 렌즈의 위치 정보를 획득하는 단계는
    미리 정해진 복수의 후보 위치들 중 상기 오토 포커스에 대응하는 하나의 위치를 예측하는 단계
    를 포함하는, 오토 포커스를 수행하는 방법.
  12. 제1항에 있어서,
    상기 렌즈의 위치 정보를 획득하는 단계는
    상기 오토 포커스에 대응하는 하나의 스칼라 값을 획득하는 단계
    를 포함하는, 오토 포커스를 수행하는 방법.
  13. 제1항에 있어서,
    상기 제1 입력 데이터는
    듀얼 픽셀(dual-pixel) 이미지를 포함하는, 오토 포커스를 수행하는 방법.
  14. 하드웨어와 결합되어 제1항 내지 제13항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  15. 인공 신경망 모델을 이용하여 오토 포커스(AF: Autofocus)를 수행하는 전자 장치에 있어서,
    적어도 하나의 명령어를 저장하는 메모리; 및
    상기 메모리에 저장된 명령어를 실행함으로써,
    입력 이미지의 위상 정보를 포함하는 제1 입력 데이터를 획득하고,
    렌즈 위치 정보가 인코딩된 제2 입력 데이터를 획득하고,
    상기 제1 입력 데이터 및 상기 제2 입력 데이터를 상기 인공 신경망 모델에 입력하여, 상기 오토 포커스에 대응하는 렌즈의 위치 정보를 획득하는 프로세서를 포함하는 전자 장치.
  16. 제15항에 있어서,
    상기 프로세서는
    상기 입력 이미지의 관심 영역에 대응하는 위치 정보가 인코딩된 제3 입력 데이터를 획득하는, 전자 장치.
  17. 제16항에 있어서,
    상기 프로세서는
    상기 제1 입력 데이터에서 상기 관심 영역의 상대적인 위치를 제1축 데이터 및 제2축 데이터로 인코딩하는, 전자 장치.
  18. 제16항에 있어서,
    상기 프로세서는
    상기 제3 입력 데이터를 상기 제1 입력 데이터 및 상기 제2 입력 데이터와 함께 상기 인공 신경망 모델에 입력하여, 상기 렌즈의 위치 정보를 획득하는, 전자 장치.
  19. 제15항에 있어서,
    상기 프로세서는
    상기 렌즈의 위치가 연속적인 수치로 표현되도록 상기 렌즈 위치 정보를 인코딩하는, 전자 장치.
  20. 제15항에 있어서,
    상기 프로세서는
    상기 렌즈의 위치에 따른 초점거리에 맞춰진 비선형 함수값에 기초하여, 상기 렌즈 위치 정보를 인코딩하는, 전자 장치.
  21. 제15항에 있어서,
    상기 프로세서는
    미리 정해진 복수의 후보 위치들 중 상기 오토 포커스에 대응하는 하나의 위치를 예측하는, 전자 장치.
  22. 제15항에 있어서,
    상기 프로세서는
    상기 오토 포커스에 대응하는 하나의 스칼라 값을 획득하는, 전자 장치.
  23. 제15항에 있어서,
    상기 제1 입력 데이터는
    듀얼 픽셀(dual-pixel) 이미지를 포함하는, 전자 장치.
  24. 이동 가능한 렌즈;
    상기 렌즈의 현재 위치에 의해 형성된 광학 상에 대응하는 영상 신호의 위상 정보를 획득하는 이미지 센서;적어도 하나의 명령어를 저장하는 메모리; 및
    상기 메모리에 저장된 명령어를 실행함으로써,
    상기 영상 신호 내 관심 영역의 위치 정보를 인코딩하고,
    상기 위상 정보 및 상기 인코딩된 상기 관심 영역의 위치 정보에 기초하여, 오토 포커스를 수행하는 프로세서
    를 포함하는, 전자 장치.
  25. 제24항에 있어서,
    상기 프로세서는
    상기 렌즈를 통해 상기 이미지 센서로 들어오는 빛의 세기 정보에 기초하여, 상기 관심 영역의 위치 정보를 인코딩하는, 전자 장치.
  26. 제24항에 있어서,
    상기 프로세서는
    가우시안 필터(Gaussian filter)에 기초하여, 상기 관심 영역의 위치 정보를 인코딩하는, 전자 장치.
  27. 서로 이격된 제1 픽셀 및 제2 픽셀 쌍들을 포함하는 이미지 센서 및 상기 이미지 센서와 이격되고 이동 가능한 렌즈를 포함하는 전자 장치의 오토 포커스(AF: Auto Focus) 수행 방법에 있어서,
    상기 렌즈의 현재 위치를 통과하여 상기 제1 픽셀들에 맺힌 제1 이미지 및 상기 제2 픽셀들에 맺힌 제2 이미지를 획득하는 단계;
    상기 제1 이미지 및 상기 제2 이미지의 일부에 해당하는 관심 영역을 획득하는 단계;
    상기 관심 영역에 해당하는 상기 제1 이미지, 상기 관심 영역에 해당하는 상기 제2 이미지, 상기 렌즈의 현재 위치 및 상기 관심 영역의 위치를 인공 신경망 모델에 입력하는 단계;
    상기 인공 신경망 모델로부터 상기 렌즈의 포커스가 맞는 위치를 출력받는 단계; 및
    상기 렌즈를 상기 포커스가 맞는 위치로 이동시키는 단계
    를 포함하는 오토 포커스 수행 방법.
  28. 제27항에 있어서,
    상기 이미지 센서의 모든 픽셀들은 상기 제1 픽셀 및 제2 픽셀 쌍들로 이루어진, 오토 포커스 수행 방법.
  29. 제27항에 있어서,
    상기 이미지 센서의 일부 픽셀들만 상기 제1 픽셀 및 제2 픽셀 쌍들로 이루어진, 오토 포커스 수행 방법.
  30. 제27항에 있어서,
    상기 관심 영역은
    사용자로부터 입력 받은 영역인, 오토 포커스 수행 방법.
  31. 제27항에 있어서,
    상기 관심 영역은
    특정 피사체에 대응하는 영역인, 오토 포커스 수행 방법.
  32. 제31항에 있어서,
    상기 특정 피사체는
    사람 얼굴인, 오토 포커스 수행 방법.
  33. 제27항에 있어서,
    상기 관심 영역은
    상기 제1 이미지 및 상기 제2 이미지 내부의 미리 정해진 영역인, 오토 포커스 수행 방법.
  34. 제33항에 있어서,
    상기 관심 영역은
    상기 제1 이미지 및 상기 제2 이미지의 중앙 영역인, 오토 포커스 수행 방법.
  35. 제27항에 있어서,
    상기 관심 영역의 x축 데이터와 y축 데이터가 개별적으로 상기 인공 신경망 모델에 입력되는, 오토 포커스 수행 방법.
  36. 제27항에 있어서,
    상기 렌즈의 현재 위치는 단일 채널로 상기 인공 신경망 모델에 입력되는, 오토 포커스 수행 방법.
  37. 제27항에 있어서,
    상기 렌즈의 현재 위치는 스칼라 값으로 상기 인공 신경망 모델에 반영되는, 오토 포커스 수행 방법.
  38. 제27항에 있어서,
    상기 렌즈의 포커스가 맞는 위치는 상기 렌즈의 가동 범위 내의 100개 이상의 연속적인 위치 중 하나로 출력되는, 오토 포커스 수행 방법.
  39. 제27항에 있어서,
    상기 렌즈의 포커스가 맞는 위치는 상기 렌즈의 가동 범위 내의 1000개 이상의 연속적인 위치 중 하나로 출력되는, 오토 포커스 수행 방법.

KR1020230002774A 2022-10-31 2023-01-09 오토 포커스를 수행하는 방법 및 장치 KR20240061539A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US18/341,970 US20240147065A1 (en) 2022-10-31 2023-06-27 Method and apparatus with autofocus
CN202311269498.7A CN117956278A (zh) 2022-10-31 2023-09-27 自动对焦的方法和装置
EP23201044.7A EP4362484A1 (en) 2022-10-31 2023-09-29 Method and apparatus with autofocus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20220142661 2022-10-31
KR1020220142661 2022-10-31

Publications (1)

Publication Number Publication Date
KR20240061539A true KR20240061539A (ko) 2024-05-08

Family

ID=91075022

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230002774A KR20240061539A (ko) 2022-10-31 2023-01-09 오토 포커스를 수행하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20240061539A (ko)

Similar Documents

Publication Publication Date Title
KR102574141B1 (ko) 이미지 디스플레이 방법 및 디바이스
US11663691B2 (en) Method and apparatus for restoring image
KR20230013243A (ko) 프레임에서 타겟 오브젝트를 위한 고정된 크기 유지
US10257502B2 (en) Methods and apparatus for controlling light field capture
US11663699B2 (en) Method and apparatus for restoring image
KR20210089166A (ko) 신경망을 사용한 밝은 반점 제거
CN113518210B (zh) 图像自动白平衡的方法及装置
KR20210025942A (ko) 종단간 컨볼루셔널 뉴럴 네트워크를 이용한 스테레오 매칭 방법
WO2021204202A1 (zh) 图像自动白平衡的方法及装置
US11810256B2 (en) Image modification techniques
KR102628898B1 (ko) 인공 지능 기반의 영상 처리 방법 및 이를 수행하는 영상 처리 장치
WO2021093637A1 (zh) 追焦方法和装置、电子设备、计算机可读存储介质
KR20220052359A (ko) 듀얼 카메라 및 듀얼 픽셀을 통한 조인트 깊이 예측
CN111598065A (zh) 深度图像获取方法及活体识别方法、设备、电路和介质
JP2023540930A (ja) ニューラル埋め込みを用いたカメラ画像又はビデオ処理パイプライン
WO2023146698A1 (en) Multi-sensor imaging color correction
KR20200067020A (ko) 캘리브레이션 방법 및 장치
Nayak et al. Reinforcement learning for improving object detection
KR20240061539A (ko) 오토 포커스를 수행하는 방법 및 장치
US20240147065A1 (en) Method and apparatus with autofocus
EP4360001A1 (en) Sparse image processing
WO2022193132A1 (zh) 图像检测方法、装置和电子设备
KR20230149615A (ko) 빛 추정 방법 및 장치
CN117956278A (zh) 自动对焦的方法和装置
Zhou et al. Improved YOLOv7 models based on modulated deformable convolution and swin transformer for object detection in fisheye images