KR20230084486A - 이미지 효과를 위한 세그먼트화 - Google Patents

이미지 효과를 위한 세그먼트화 Download PDF

Info

Publication number
KR20230084486A
KR20230084486A KR1020237010519A KR20237010519A KR20230084486A KR 20230084486 A KR20230084486 A KR 20230084486A KR 1020237010519 A KR1020237010519 A KR 1020237010519A KR 20237010519 A KR20237010519 A KR 20237010519A KR 20230084486 A KR20230084486 A KR 20230084486A
Authority
KR
South Korea
Prior art keywords
image
segmentation
segmentation map
map
target
Prior art date
Application number
KR1020237010519A
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 퀄컴 인코포레이티드
Publication of KR20230084486A publication Critical patent/KR20230084486A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T5/002
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/174Segmentation; Edge detection involving the use of two or more images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10048Infrared image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

전경 이미지 세그먼트화를 위한 시스템들, 방법들, 및 컴퓨터 판독가능 매체들이 제공된다. 일부 예들에서, 방법은 타겟의 제 1 이미지 및 타겟의 제 2 이미지를 획득하는 단계 - 제 1 이미지는 제 1 FOV 를 갖고 제 2 이미지는 제 2 FOV 를 가짐 -; 제 1 이미지에 기초하여, 제 1 이미지에서 제 1 추정된 전경 영역을 식별하는 제 1 세그먼트화 맵을 결정하는 단계; 제 2 이미지에 기초하여, 제 2 이미지에서 제 2 추정된 전경 영역을 식별하는 제 2 세그먼트화 맵을 결정하는 단계; 제 1 세그먼트화 맵 및 제 2 세그먼트화 맵에 기초하여 제 3 세그먼트화 맵을 생성하는 단계; 및 제 2 세그먼트화 맵 및 제 3 세그먼트화 맵을 사용하여, 타겟을 제 1 및/또는 제 2 이미지의 전경 영역으로서 식별하는 리파인드 세그먼트화 마스크를 생성하는 단계를 포함할 수 있다.

Description

이미지 효과를 위한 세그먼트화
본 개시는 일반적으로 이미지 처리에 관한 것으로, 보다 구체적으로는 이미지 효과들을 위한 세그먼트화에 관한 것이다.
디지털 카메라 제품의 다양성이 증가함에 따라 디지털 카메라를 다양한 장치에 통합할 수 있게 되었으며 다양한 응용 프로그램으로 그 용도를 확장했다. 예를 들어, 오늘날 전화, 드론, 자동차, 컴퓨터, 텔레비전 및 많은 다른 디바이스들은 종종 카메라 디바이스들을 장착한다. 카메라 디바이스는 사용자가 카메라 디바이스를 장착한 임의의 시스템으로부터 이미지 및/또는 비디오를 캡처할 수 있게 한다. 이미지들 및/또는 비디오들은 다른 애플리케이션들 중에서도 레크리에이션 사용, 전문적인 사진 촬영, 감시, 및 자동화를 위해 캡처될 수 있다. 더욱이, 카메라 디바이스들은 이미지들을 수정하거나 이미지들 상에 예술적 효과들을 생성하기 위한 특정 기능들을 점점 더 갖추고 있다. 예를 들어, 많은 카메라 디바이스들은 캡처된 이미지들에 대해 상이한 효과들을 생성하기 위한 이미지 프로세싱 능력들을 구비한다.
구현된 많은 이미지 처리 기법들은 이미지를 특정 이미지 효과들을 생성하기 위해 분석되거나 처리될 수 있는 다수의 세그먼트들로 분할하는 이미지 세그먼트화 알고리즘들에 의존한다. 이미지 세그먼트화의 일부 예시적인 실제 응용들은, 제한 없이, 크로마 키 합성, 특징 추출, 인식 태스크들(예를 들어, 객체 인식, 얼굴 인식 등), 이미지 스타일화, 머신 비전, 의료 이미징, 및 피사계 심도 (또는 "보케(bokeh)") 효과들을 포함한다. 그러나, 카메라 디바이스들 및 이미지 세그먼트화 기법들은 종종 불량하고 일관되지 않은 결과들을 산출하고, 많은 경우들에서, 특정 타입의 이미지에만 적합하다.
정확한 이미지 세그먼트화 및 이미지 효과들을 위한 시스템들, 방법들, 및 컴퓨터 판독가능 매체들이 본 명세서에 개시된다. 적어도 하나의 예에 따르면, 전경 예측을 위한 방법이 제공된다. 예시적인 방법은, 타겟의 제 1 이미지 및 타겟의 제 2 이미지를 획득하는 단계 - 제 1 이미지는 제 1 FOV (field-of-view) 를 갖고 제 2 이미지는 제 1 FOV 와는 상이한 제 2 FOV 를 가짐 -; 제 1 이미지에 기초하여, 제 1 이미지에서 제 1 추정된 전경 영역을 식별하는 제 1 세그먼트화 맵을 결정하는 단계; 제 2 이미지에 기초하여, 제 2 이미지에서 제 2 추정된 전경 영역을 식별하는 제 2 세그먼트화 맵을 결정하는 단계; 제 1 세그먼트화 맵 및 제 2 세그먼트화 맵에 기초하여 제 3 세그먼트화 맵을 생성하는 단계; 및 제 2 세그먼트화 맵 및 제 3 세그먼트화 맵을 사용하여, 타겟을 제 1 및/또는 제 2 이미지의 전경 영역으로서 식별하는 리파인드 세그먼트화 마스크를 생성하는 단계를 포함할 수 있다.
적어도 일부 예들에 따르면, 전경 예측을 위한 장치들이 제공된다. 일 예에서, 예시적인 장치는, 메모리; 및 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들은, 타겟의 제 1 이미지 및 타겟의 제 2 이미지를 획득하는 것으로서, 상기 제 1 이미지는 제 1 FOV 를 갖고 상기 제 2 이미지는 상기 제 1 FOV 와 상이한 제 2 FOV를 가지는, 상기 타겟의 제 1 이미지 및 타겟의 제 2 이미지를 획득하는 것을 수행하도록, 상기 제 1 이미지에 기초하여, 상기 제 1 이미지 내의 제 1 추정된 전경 영역과 연관된 전경 값들을 포함하는 제 1 세그먼트화 맵을 결정하도록, 상기 제 2 이미지에 기초하여, 상기 제 2 이미지 내의 제 2 추정된 전경 영역과 연관된 전경 값들을 포함하는 제 2 세그먼트화 맵을 결정하도록, 상기 제 1 세그먼트화 맵 및 상기 제 2 세그먼트화 맵에 기초하여 제 3 세그먼트화 맵을 생성하도록, 그리고 상기 제 2 세그먼트화 맵 및 상기 제 3 세그먼트화 맵을 사용하여, 타겟의 적어도 일부를 상기 제 1 이미지 및 상기 제 2 이미지 중 적어도 하나의 이미지의 전경 영역으로서 식별하는 리파인드 세그먼트화 마스크를 생성하도록 구성된다.
적어도 일부 예들에 따르면, 또 다른 예시적인 장치는, 타겟의 제 1 이미지 및 타겟의 제 2 이미지를 획득하는 수단 - 제 1 이미지는 제 1 FOV 를 갖고 제 2 이미지는 제 1 FOV 와는 상이한 제 2 FOV 를 가짐 -; 제 1 이미지에 기초하여, 제 1 이미지에서 제 1 추정된 전경 영역을 식별하는 제 1 세그먼트화 맵을 결정하는 수단; 제 2 이미지에 기초하여, 제 2 이미지에서 제 2 추정된 전경 영역을 식별하는 제 2 세그먼트화 맵을 결정하는 수단; 제 1 세그먼트화 맵 및 제 2 세그먼트화 맵에 기초하여 제 3 세그먼트화 맵을 생성하는 수단; 및 제 2 세그먼트화 맵 및 제 3 세그먼트화 맵을 사용하여, 타겟을 제 1 및/또는 제 2 이미지의 전경 영역으로서 식별하는 리파인드 세그먼트화 마스크를 생성하는 수단을 포함할 수 있다.
적어도 하나의 예에 따르면, 전경 예측을 위한 비일시적 컴퓨터 판독가능 매체들이 제공된다. 예시적인 비일시적 컴퓨터 판독가능 저장 매체는 명령들을 저장할 수 있고, 이 명령들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 타겟의 제 1 이미지 및 타겟의 제 2 이미지를 획득하는 것으로서, 상기 제 1 이미지는 제 1 FOV 를 갖고 상기 제 2 이미지는 상기 제 1 FOV 와 상이한 제 2 FOV를 가지는, 상기 타겟의 제 1 이미지 및 타겟의 제 2 이미지를 획득하는 것을 수행하게 하고, 상기 제 1 이미지에 기초하여, 상기 제 1 이미지 내의 제 1 추정된 전경 영역과 연관된 전경 값들을 포함하는 제 1 세그먼트화 맵을 결정하게 하고, 상기 제 2 이미지에 기초하여, 상기 제 2 이미지 내의 제 2 추정된 전경 영역과 연관된 전경 값들을 포함하는 제 2 세그먼트화 맵을 결정하게 하고, 상기 제 1 세그먼트화 맵 및 상기 제 2 세그먼트화 맵에 기초하여 제 3 세그먼트화 맵을 생성하게 하고, 그리고 상기 제 2 세그먼트화 맵 및 상기 제 3 세그먼트화 맵을 사용하여, 타겟의 적어도 일부를 상기 제 1 이미지 및 상기 제 2 이미지 중 적어도 하나의 이미지의 전경 영역으로서 식별하는 리파인드 세그먼트화 마스크를 생성하게 한다.
일부 양태들에서, 상기 설명된 방법들, 장치들, 및 비일시적 컴퓨터 판독가능 매체는 리파인드 세그먼트화 마스크에 기초하여 편집된 이미지를 생성하는 것을 포함할 수 있다. 일부 예들에서, 편집된 이미지는 제 1 이미지 또는 제 2 이미지에 기초할 수 있다. 일부 경우들에서, 편집된 이미지는, 시각적 효과, 확장현실 효과, 이미지 처리 효과, 블러링 효과, 이미지 인식 효과, 세그멘트화 효과, 컴퓨터 그래픽 효과, 크로마 키잉 효과, 및 이미지 스타일화 효과를 포함할 수 있다. 예시적인 예에서, 편집된 이미지는 블러링 효과를 포함할 수 있다.
일부 경우들에서, 편집된 이미지를 생성하는 것은, 리파인드 세그먼트화 마스크에 기초하여, 블러링 효과를 전경 영역의 외부에 위치된 하나 이상의 이미지 영역들에 적용하는 것을 포함할 수 있으며, 여기서 블러링 효과는 하나 이상의 이미지 영역들이 적어도 부분적으로 블러링되고 전경 영역이 적어도 부분적으로 초점이 맞는 피사계 심도 효과를 포함한다.
일부 예들에서, 리파인드 세그먼트화 마스크를 생성하는 것은, 제 2 세그먼트화 맵 및 제 3 세그먼트화 맵을 퓨징함으로써 퓨징된 세그먼트화 맵을 생성하는 것; 및 퓨징된 세그먼트화 맵에 기초하여 리파인드 세그먼트화 마스크를 생성하는 것을 포함할 수 있다. 일부 경우들에서, 제 2 세그먼트화 맵과 제 3 세그먼트화 맵을 퓨징하는 것은, 제 2 세그먼트화 맵에서의 전경 예측 값들 및 제 3 세그먼트화 맵에서의 전경 예측 값들을 평균화하는 것을 포함할 수 있다. 일부 예들에서, 퓨징된 세그먼트화 맵은 평균화된 전경 예측 값들을 포함할 수 있다.
일부 경우들에서, 퓨징된 세그먼트화 맵을 생성하는 것은 제 2 세그먼트화 맵 및 제 3 세그먼트화 맵을 퓨징하는 것, 및 센터 프라이어 맵을 제 2 세그먼트화 맵 및 제 3 세그먼트화 맵의 퓨징의 출력과 멀티플라잉하는 것을 포함할 수 있다.
일부 경우에, 제 1 이미지는 제 1 카메라로부터 수신될 수 있고, 제 2 이미지는 제 2 카메라로부터 수신될 수 있다. 일부 예들에서, 제 1 카메라는 가시광에 응답할 수 있고, 제 2 카메라는 적외선 광에 응답할 수 있다. 일부 경우에, 전술한 장치는 제 1 카메라 및 제 2 카메라를 포함할 수 있다. 다른 경우에, 제 1 이미지 및 제 2 이미지는 동일한 카메라로부터 수신될 수 있다. 일부 예들에서, 전술한 장치는 동일한 카메라를 포함할 수 있다.
일부 양태들에서, 상기 설명된 방법들, 장치들, 및 비일시적 컴퓨터 판독가능 매체는 제 3 이미지에 기초하여, 제 3 이미지에서의 제 3 추정된 전경 영역과 연관된 전경 값들을 포함하는 제 4 세그먼트화 맵을 결정하는 것을 포함할 수 있다. 일부 경우에, 제 3 이미지는 제 3 카메라로부터 수신될 수 있다. 예를 들어, 제 1 이미지는 제 1 카메라로부터 수신될 수 있고, 제 2 이미지는 제 2 카메라로부터 수신될 수 있고, 제 3 이미지는 제 3 카메라로부터 수신될 수 있다.
일부 예들에서, 위에서 설명된 장치들은 이미징 모드(예를 들어, 초상 모드, 녹색 스크리닝 등)의 사용자 선택에 응답하여 세그먼트화 마스크들을 생성하도록 구성될 수 있다.
일부 양태들에서, 상기 설명된 방법들, 장치들, 및 비일시적 컴퓨터 판독가능 매체는 제 1 이미지 및/또는 제 2 이미지에서의 슈퍼픽셀들에 대한 전경 확률들을 계산하는 것, 및 전경 확률들에 기초하여 센터 프라이어 맵을 생성하는 것을 포함할 수 있다. 일부 경우들에서, 각각의 전경 확률은 이미지 중심까지의 연관된 슈퍼픽셀의 거리에 기초하여 계산될 수 있다.
일부 예들에서, 제 3 세그먼트화 맵을 생성하는 것은, 제 1 세그먼트화 맵을 제 2 이미지의 크기로 크로핑하는 것, 및 제 1 세그먼트화 맵을 크로핑한 후에, 제 2 이미지의 해상도에 따라 제 1 세그먼트화 맵을 업샘플링하는 것을 포함할 수 있다.
일부 경우들에서, 제 1 세그먼트화 맵을 결정하는 것은, 제 1 이미지로부터 슈퍼픽셀들을 추출하는 것; 이미지 쿼리들의 세트를 생성하는 것 - 각각의 이미지 쿼리는 추출된 슈퍼픽셀들을 포함하고, 각각의 이미지 쿼리는 하나 이상의 구별되는 픽셀 속성들에 의해 마킹된 슈퍼픽셀들의 상이한 경계 영역을 가짐 -; 이미지 쿼리들의 세트에 기초하여 세그먼트화 확률 맵들의 세트를 생성하는 것 - 각각의 이미지 쿼리의 세그먼트화 확률 맵은 슈퍼픽셀들의 상이한 경계 영역과 각각의 이미지 쿼리와 연관된 슈퍼픽셀들의 하나 이상의 다른 영역들 사이의 차이에 적어도 부분적으로 기초하여 전경 확률들을 추정하기 위해 하나 이상의 매니폴드 랭킹 함수들을 사용하여 생성됨 -; 및 세그먼트화 확률 맵들의 세트를 멀티플라잉함으로써 제 1 세그먼트화 맵을 생성하는 것을 포함할 수 있다.
일부 예들에서, 제 2 세그먼트화 맵을 결정하는 것은, 제 2 이미지로부터 슈퍼픽셀들을 추출하는 것; 이미지 쿼리들의 추가 세트를 생성하는 것 - 이미지 쿼리들의 추가 세트의 각각의 추가 이미지 쿼리는 제 2 이미지로부터 추출된 슈퍼픽셀들을 포함하고, 각각의 추가 이미지 쿼리는 하나 이상의 구별되는 픽셀 속성들에 의해 마킹된 슈퍼픽셀들의 상이한 경계 영역을 가짐 -; 이미지 쿼리들의 추가 세트에 기초하여 세그먼트화 확률 맵들의 추가 세트를 생성하는 것 - 각각의 추가 이미지 쿼리의 추가 세그먼트화 확률 맵은 슈퍼픽셀들의 상이한 경계 영역과 추가 이미지 쿼리와 연관된 슈퍼픽셀들의 하나 이상의 다른 영역들 사이의 추가적인 차이에 적어도 부분적으로 기초하여 전경 확률들을 추정하기 위해 하나 이상의 매니폴드 랭킹 함수들을 사용하여 생성됨 -; 및 세그먼트화 확률 맵들의 추가 세트를 멀티플라잉함으로써 제 2 세그먼트화 맵을 생성하는 것을 포함할 수 있다.
일부 예들에서, 제 1 세그먼트화 맵 및 제 2 세그먼트화 맵은 딥 뉴럴 네트워크를 사용하여 생성될 수 있다. 일부 예들에서, 제 1 세그먼트화 맵 및 제 2 세그먼트화 맵은 트레이닝된 뉴럴 네트워크를 사용하여 생성될 수 있다. 일부 경우에, 트레이닝된 뉴럴 네트워크는 딥 뉴럴 네트워크를 포함할 수 있다. 일부 경우들에서, 제 1 이미지 및 제 2 이미지는 상이한 FOV들을 갖는 상이한 렌즈들을 사용하여 캡처된다. 일부 예들에서, 상이한 렌즈들은 망원 렌즈, 광각 렌즈, 초광각 렌즈, 표준 렌즈, 및/또는 줌 렌즈를 포함할 수 있다.
일부 경우들에서, 제 1 이미지 및 제 2 이미지는 상이한 FOV들을 갖는 상이한 이미지 캡처링 디바이스들 또는 카메라들을 사용하여 캡처될 수 있다. 다른 경우들에서, 제 1 이미지 및 제 2 이미지는 상이한 FOV들을 갖는 단일 이미지 캡처 디바이스 또는 카메라를 사용하여 캡처될 수 있다.
일부 경우들에서, 위에서 설명된 장치들은 모바일 폰, 스마트 웨어러블 디바이스, 휴대용 컴퓨터, 및/또는 카메라일 수 있고 및/또는 이들을 포함할 수 있다. 일부 경우에, 전술한 장치는 이미지 센서 및/또는 디스플레이를 포함할 수 있다. 일부 예들에서, 위에서 설명된 각각의 장치는 하나 이상의 카메라들을 포함할 수 있다. 예를 들어, 각각의 장치는 상이한 FOV들을 갖는 상이한 카메라들을 포함할 수 있다. 다른 예로서, 각각의 장치는 상이한 FOV들을 갖는 카메라를 포함할 수 있다.
이 요약은, 청구된 주제의 핵심적인 또는 본질적인 특징들을 식별하도록 의도되지 않고, 청구된 주제의 범위를 결정하는데 별개로 이용되도록 의도되지 않는다. 청구된 주제는 본 개시의 전체 명세서, 도면들, 및 각각의 청구항의 적절한 부분들을 참조하여 이해되어야 한다.
전술한 바는, 다른 특징들 및 실시형태들과 함께, 다음의 명세서, 청구항들, 및 첨부 도면들을 참조할 시 더 명백하게 될 것이다.
본 출원의 예시적인 예들이 이하 도면들을 참조하여 상세히 설명된다.
도 1 은 본 개시의 일부 예들에 따른, 예시적인 이미지 프로세싱 시스템을 예시하는 블록 다이어그램이다;
도 2a 및 2b 는 본 개시의 일부 예들에 따른, 상이한 시야들로 캡처된 타겟의 이미지들로부터 이루어진 전경 예측들 사이의 예시적인 차이들을 예시한다;
도 3a 및 3b 는 본 개시의 일부 예들에 따른, 상이한 시야들을 갖는 이미지들을 사용하는 이미지 세그먼트화를 위한 예시적인 흐름들을 예시하는 다이어그램들이다;
도 4 는 본 개시의 일부 예들에 따른, 전경 예측을 위한 예시적인 기계 학습 모델을 예시하는 다이어그램이다;
도 5 는 본 개시의 일부 예들에 따른, 매니폴드 랭킹에 기초한 예시적인 전경 예측 프로세스를 예시하는 다이어그램이다;
도 6 은 본 개시의 일부 예들에 따른, 상이한 시야들을 갖는 이미지들을 사용하는 이미지 세그먼트화를 위한 프로세스의 예의 흐름도이다;
도 7 은 본 개시의 일부 예들에 따른, 예시적인 컴퓨팅 디바이스 아키텍처를 도시한다.
이 개시의 일부 양태들 및 실시형태들이 아래 제공된다. 이들 양태들 및 실시형태들의 일부가 독립적으로 적용될 수도 있고 그것들 중 일부는 본 기술분야의 통상의 당업자들에게 명확하게 될 바와 같이 조합하여 적용될 수도 있다. 다음의 설명에 있어서, 설명의 목적들을 위해, 특정 상세들이 본 출원의 실시형태들의 철저한 이해를 제공하기 위해 기재된다. 하지만, 다양한 실시형태들이 이들 특정 상세들 없이 실시될 수도 있음이 명백할 것이다. 도면들 및 설명은 제한적인 것으로 의도되지 않는다.
다음의 설명은 오직 예시적인 실시형태들을 제공할 뿐이고, 본 개시의 범위, 적용가능성, 또는 구성을 한정하도록 의도되지 않는다. 오히려, 예시적인 실시형태들의 다음의 설명은 예시적인 실시형태를 구현하기 위한 가능한 설명을 당업자에게 제공할 것이다. 첨부된 청구항들에 기재된 바와 같은 본 출원의 사상 및 범위로부터 일탈함 없이 엘리먼트들의 기능 및 배열에서 다양한 변경들이 행해질 수도 있음이 이해되어야 한다.
이전에 언급된 바와 같이, 컴퓨팅 디바이스들은 이미지들을 캡처하고, 다양한 이미지 프로세싱 태스크들을 수행하고, 다양한 이미지 효과들을 생성하기 위한 능력들을 점점 더 갖추고 있다. 크로마 키잉, 피사계 심도 또는 "보케" 효과들, 인식 태스크들 (예를 들어, 물체, 얼굴, 및 생체 인식), 특징 추출, 이미지 스타일화, 자동화, 머신 비전, 컴퓨터 그래픽, 의료 이미징 등과 같은 많은 이미지 프로세싱 태스크들 및 효과들은 원하는 이미지 프로세싱 태스크들을 수행하거나 원하는 이미지 효과들을 생성하기 위해 분석되거나 프로세싱될 수 있는 다수의 세그먼트들로 이미지를 분할하기 위해 이미지 분할에 의존한다. 예를 들어, 카메라들은 종종 얕은 피사계 심도("보케") 효과들을 가능하게 하는 초상 모드 기능을 구비한다. 피사계 심도 효과는 전경 객체 또는 영역과 같은 특정 이미지 영역 또는 객체를 포커스로 가져오는 한편, 배경 영역 또는 픽셀과 같은 이미지 내의 다른 영역 또는 픽셀을 흐리게 할 수 있다. 피사계 심도 효과는 배경 및 전경 영역들 또는 객체들과 같은 이미지 내의 상이한 영역들 또는 객체들을 식별하고 수정하기 위해 이미지 세그먼트화 기술들을 사용하여 생성될 수 있다. 일부 예들에서, 피사계 심도 효과는 이미지와 연관된 심도 정보의 도움으로 생성될 수 있다.
그러나, 이미지 세그먼트화는 종종 부정확하고, 일관되지 않고, 및/또는 열악한 결과들을 생성할 수 있으며, 이는 피사계 심도 및 다른 시각적 효과들에 부정적인 영향을 줄 수 있다. 많은 경우들에서, 이미지 세그먼트화 결과들은, 예를 들어 그리고 제한 없이, 타겟에 대한 카메라 디바이스의 거리, 카메라 디바이스의 렌즈의 타입, 이미지와 전경 타겟의 크기 비율, 전경 타겟 및/또는 이미지의 다른 부분들의 텍스처(들), 전경 타겟 및/또는 이미지의 다른 부분들의 컬러(들) 등과 같은 다수의 인자들에 기초하여 변할 수 있다. 예를 들어, 타겟이 카메라 디바이스에 너무 가깝거나 너무 먼 것으로 나타나면 초상 모드에 대한 이미지 세그먼트화가 실패할 수 있다. 많은 경우들에서, 전경 타겟(또는 전경 타겟의 일부)이 이미지의 중심으로부터 점점 더 멀어지므로, 세그먼트화를 위해 타겟(또는 타겟의 일부)의 경계 또는 윤곽을 검출하고/하거나 이미지에서 다른 객체들/영역들(예를 들어, 배경 객체들/영역들)로부터 타겟(또는 타겟의 일부)을 구별하는 것이 점점 더 어려울 수 있다.
이미지를 캡처하는 데 사용되는 초점 거리, 시야(FOV), 및/또는 렌즈의 유형은 또한 세그먼트화 결과의 변동 및 다양한 세그먼트화 문제를 야기할 수 있다. 예를 들어, 망원 렌즈를 사용하여 캡처된 이미지들의 객체들은 더 가깝게 나타날 수 있고 전경 타겟의 윤곽을 잠재적으로 가릴 수 있는 더 적은 배경 정보를 포함할 수 있다. 그러나, 이러한 이미지들에서의 이미지 경계는 종종 전경 타겟의 일부 또는 영역을 잘라내며(예를 들어, 캡처/포함하지 않음), 이는 타겟에 대한 더 적은 정보를 야기하고 세그먼트화 정확도에 부정적인 영향을 미칠 수 있다.
한편, 광각 렌즈를 이용하여 촬영된 영상들 내의 객체들은 더 멀리 나타날 수 있으며, 영상들은 객체의 전체 윤곽을 더 쉽게 캡처할 수 있다. 그러나, 광각 렌즈를 사용하여 캡처된 이미지들은 종종 이미지의 측면 영역들(및/또는 이미지의 중심으로부터 더 먼 영역들)로부터의 더 많은 정보(예를 들어, 다른 객체들 및/또는 비-타겟 영역들에 대응하는 이미지 데이터)를 포함할 수 있으며, 이는 분할 노이즈/간섭을 야기할 수 있고 측면 영역들(또는 이미지의 중심으로부터 더 먼 영역들)과 같은 배경 내의 다른 객체들/영역들로부터 타겟(또는 타겟의 일부)을 구별하는 것을 점점 더 어렵게 할 수 있다.
이들 및 다른 문제들은 이미지 세그먼트화 결과들, 및 결과적으로, 피사계 심도 효과들과 같은 이미지 세그먼트화에 의존하는 시각적 및 이미지 효과들에 부정적인 영향을 미칠 수 있다. 많은 경우들에서, 초상 모드를 트리거하고 초상 모드에 대한 이미지 세그먼트화가 실패하는 것을 방지하기 위해, 카메라 디바이스는 타겟으로부터 특정 거리 내에 있어야 한다. 종종, 사용자는 카메라 디바이스 및 타겟이 초상 모드를 트리거하고/하거나 초상 모드에 대한 이미지 세그먼트화가 실패하는 것을 방지하기 위해 카메라 디바이스 및 타겟을 서로 더 멀리 또는 더 가깝게 이동시켜야 한다. 그러나, 이러한 접근법은 불편하고, 유연성이 없으며, 그럼에도 불구하고 열악한 세그먼트화 결과를 초래할 수 있다.
일부 예들에서, 본 명세서에 설명된 기술들은 세그먼트화 결과들을 개선하고 리파이닝하기 위해 상이한 타입들의 렌즈들을 사용하여 캡처된 및/또는 상이한 시야들(FOV들)을 갖는 이미지들을 활용할 수 있다. 예를 들어, 본 명세서에 설명된 기술들은 더 정확하고, 유연하며, 일관된 세그먼트화 결과들을 생성할 수 있다. 세그먼트화 결과들은 또한 이미지 프로세싱 태스크들 및 이미지 세그먼트화에 의존하는 시각적 효과들, 예컨대, 제한 없이, 피사계 심도 효과들, 컴퓨터 그래픽 효과들, 이미지 인식 태스크들, 이미지 스타일화, 특징 추출 태스크들, 및 머신 비전 등의 품질 및 성능을 개선할 수 있다.
일부 예들에서, 본 명세서의 기술들은 멀티 카메라 장치 상의 상이한 카메라들에 의해 캡처된 이미지들을 활용할 수 있다. 일부 경우들에서, 상이한 카메라들은 상이한 FOV들 또는 초점 길이들을 가질 수 있다. 상이한 FOV들 또는 초점 길이들을 갖는 상이한 카메라들에 의해 캡처된 이미지들은 개선되고 리파이닝된 세그먼트화 결과들을 생성하기 위한 입력들로서 사용될 수 있다. 예를 들어, 일부 경우에, 멀티 카메라 장치는 상이한 카메라를 사용하여 FOV(예를 들어, 광각 FOV, 협각 FOV, 줌 FOV 등)를 갖는 제 1 이미지 및 상이한 FOV를 갖는 제 2 이미지를 캡처할 수 있다. 제 1 이미지는 제 1 세그먼트화 마스크를 생성하는 데 사용될 수 있고, 제 2 이미지는 제 2 세그먼트화 마스크를 생성하는 데 사용될 수 있다. 제 1 및 제 2 세그먼트화 마스크들은 개선된 세그먼트화 결과들을 생성하기 위해 퓨징될 수 있다. 세그먼트화 결과들은 제 1 이미지, 제 2 이미지, 및/또는 미래 이미지에 대한 효과를 렌더링하기 위해 사용될 수 있다
일부 예들에서, 본 명세서의 기술들은 멀티 카메라 장치 상의 상이한 카메라들에 의해 캡처된 이미지들을 활용할 수 있다. 상이한 FOV들 또는 초점 길이들을 사용하여 캡처된 이미지들은 개선되고 리파이닝된 세그먼트화 결과들을 생성하기 위한 입력들로서 사용될 수 있다. 예를 들어, 일부 경우에, 단일 카메라는 FOV(예를 들어, 광각 FOV, 협각 FOV, 줌 FOV 등)를 갖는 제 1 이미지 및 상이한 FOV를 갖는 제 2 이미지를 캡처할 수 있다. 제 1 이미지는 제 1 세그먼트화 마스크를 생성하는 데 사용될 수 있고, 제 2 이미지는 제 2 세그먼트화 마스크를 생성하는 데 사용될 수 있다. 제 1 및 제 2 세그먼트화 마스크들은 개선된 세그먼트화 결과들을 생성하기 위해 퓨징될 수 있다. 세그먼트화 결과들은 제 1 이미지, 제 2 이미지, 및/또는 미래 이미지에 대한 효과를 렌더링하기 위해 사용될 수 있다.
다음의 개시내용에서, 이미지 세그먼트화를 위한 시스템들, 장치들(또는 디바이스들), 프로세스들(또는 방법들), 및 컴퓨터 판독가능 매체들이 제공된다. 본 기술들은 다음과 같이 다음의 개시에서 설명될 것이다. 논의는, 도 1 내지 5 에 예시된 바와 같이, 이미지 세그먼트화 및 전경 예측을 위한 예시적인 시스템들, 기술들 및 기법들의 설명으로 시작한다. 이어서, 도 6 에 예시된 바와 같은 이미지 세그먼트화 및 전경 예측을 위한 예시적인 프로세스의 설명이 후속될 것이다. 논의는, 도 7 에 예시된 바와 같이, 이미지 세그먼트화를 수행하고 피사계 심도 및 다른 효과들을 갖는 이미지들을 생성하기에 적합한 예시적인 하드웨어 컴포넌트들을 포함하는 예시적인 컴퓨팅 디바이스 아키텍처에 대한 설명으로 종결된다. 본 개시는 이제 도 1 로 돌아간다.
도 1 은 일부 예들에 따른, 예시적인 이미지 프로세싱 시스템(100)을 예시하는 다이어그램이다. 이미지 프로세싱 시스템(100)은 본 명세서에 설명된 바와 같이 다양한 이미지 처리 작업을 수행하고 다양한 이미지 처리 효과를 생성할 수 있다. 예를 들어, 이미지 프로세싱 시스템(100)은 이미지 세그먼트화 및 전경 예측을 수행하고, 피사계 심도 이미지들을 생성하고, 크로마 키잉 효과들을 생성하고, 특징 추출 태스크들을 수행하고, 이미지 인식 태스크들을 수행하고, 머신 비전을 구현하고, 및/또는 임의의 다른 이미지 프로세싱 태스크들을 수행할 수 있다.
일부 예시적인 예들에서, 이미지 프로세싱 시스템(100)은 전경 예측을 수행하고 하나 이상의 이미지 캡처링 디바이스들(예를 들어, 카메라들, 이미지 센서들 등)로부터 피사계 심도 이미지들을 생성할 수 있다. 예를 들어, 일부 구현들에서, 이미지 프로세싱 시스템(100)은 이미지 세그먼트화를 수행하고 피사계 심도 이미지 효과를 생성하기 위해 상이한 FOV들을 갖는 이미지들을 사용할 수 있다. 일부 경우들에서, 상이한 FOV들을 갖는 이미지들은 예를 들어, 광각 렌즈들, 망원 렌즈들(예를 들어, 짧은 망원, 중간 망원 등), 표준 렌즈들, 줌 렌즈들 등과 같은 상이한 타입들의 이미지 센서들 및/또는 렌즈들을 갖는 캡처 디바이스들을 사용하여 캡처될 수 있다. 이미지 세그먼트화 결과들에 기초하여 생성된 예시적인 효과로서 피사계 심도 효과가 본 명세서에서 사용되지만, 본 명세서에 설명된 기법들은 임의의 이미지 프로세싱 효과, 예컨대 크로마 키잉 효과들, 특징 추출 효과들, 이미지 인식 효과들, 머신 비전 효과들, 이미지 스타일화 효과들, 확장된 현실 효과들, 이들의 임의의 조합에, 및/또는 임의의 다른 이미지 프로세싱 효과들에 대해 사용될 수 있다.
도 1 에 도시된 예에서, 이미지 프로세싱 시스템(100)은 이미지 캡처링 디바이스들(102 및 104), 저장소(108), 컴퓨트 컴포넌트들(110), 이미지 프로세싱 엔진(120), 뉴럴 네트워크(들)(122), 및 렌더링 엔진(124)을 포함한다. 이미지 프로세싱 시스템(100)은 또한 선택적으로 LIDAR(light detection and ranging) 센서, 레이더, 가속도계, 자이로스코프, 광 센서, IMU(inertial measurement unit), 근접 센서 등과 같은 하나 이상의 센서(106)를 포함할 수 있다. 일부 경우들에서, 이미지 프로세싱 시스템(100)은 상이한 FOV들을 갖는 이미지들을 캡처할 수 있는 다수의 이미지 캡처 디바이스들을 포함할 수 있다. 예를 들어, 듀얼 카메라 또는 이미지 센서 응용들에서, 이미지 프로세싱 시스템(100)은 상이한 FOV들(예를 들어, 상이한 시야각들, 상이한 피사계 심도들 등)로 이미지들을 캡처할 수 있는 상이한 타입들의 렌즈들(예를 들어, 광각, 망원, 표준, 줌 등)을 갖는 이미지 캡처링 디바이스들을 포함할 수 있다.
이미지 프로세싱 시스템(100)은 컴퓨팅 디바이스 또는 다수의 컴퓨팅 디바이스의 일부일 수 있다. 일부 예들에서, 이미지 프로세싱 시스템(100)은 카메라 시스템(예를 들어, 디지털 카메라, IP 카메라, 비디오 카메라, 보안 카메라 등), 전화 시스템(예를 들어, 스마트폰, 셀룰러 전화, 회의 시스템 등), 데스크톱 컴퓨터, 랩톱 또는 노트북 컴퓨터, 태블릿 컴퓨터, 셋톱 박스, 텔레비전, 디스플레이 디바이스, 디지털 미디어 플레이어, 게이밍 콘솔, 비디오 스트리밍 디바이스, 드론, 자동차 내의 컴퓨터, IoT(Internet-of-Things) 디바이스, 스마트 웨어러블 디바이스, XR(extended reality) 디바이스(예를 들어, 헤드 마운트 디스플레이, 스마트 안경 등), 또는 임의의 다른 적합한 전자 디바이스(들)와 같은 전자 디바이스(또는 디바이스들)의 일부일 수 있다.
일부 구현들에서, 이미지 캡처 디바이스(102), 이미지 캡처 디바이스(104), 다른 센서(106), 저장소(108), 컴퓨트 컴포넌트들(110), 이미지 프로세싱 엔진(120), 뉴럴 네트워크(들)(122), 및 렌더링 엔진(124)은 동일한 컴퓨팅 디바이스의 일부일 수 있다. 예를 들어, 일부 경우들에서, 이미지 캡처 디바이스(102), 이미지 캡처 디바이스(104), 다른 센서(106), 저장소(108), 컴퓨팅 컴포넌트들(110), 이미지 프로세싱 엔진(120), 뉴럴 네트워크(들)(122), 및 렌더링 엔진(124)은 스마트폰, 랩톱, 태블릿 컴퓨터, 스마트 웨어러블 디바이스, 게이밍 시스템, XR 디바이스, 및/또는 임의의 다른 컴퓨팅 디바이스에 통합될 수 있다. 그러나, 일부 구현들에서, 이미지 캡처 디바이스(102), 이미지 캡처 디바이스(104), 다른 센서(106), 저장소(108), 컴퓨트 컴포넌트들(110), 이미지 프로세싱 엔진(120), 뉴럴 네트워크(들)(122), 및/또는 렌더링 엔진(124)은 둘 이상의 별개의 컴퓨팅 디바이스들의 일부일 수 있다.
일부 예들에서, 이미지 캡처링 디바이스들(102 및 104)은 디지털 카메라, 비디오 카메라, 스마트폰 카메라, 텔레비전 또는 컴퓨터와 같은 전자 장치 상의 카메라 디바이스, 카메라 시스템 등과 같은 임의의 이미지 및/또는 비디오 캡처링 디바이스들일 수 있다. 일부 경우들에서, 이미지 캡처 디바이스들(102 및 104)은 디지털 카메라, 비디오 카메라, IP 카메라, 스마트폰, 스마트 텔레비전, 게임 시스템 등과 같은 카메라 또는 컴퓨팅 디바이스의 일부일 수 있다. 일부 예들에서, 이미지 캡처 디바이스들(102 및 104)은 듀얼 카메라 어셈블리의 일부일 수 있다. 이미지 캡처 디바이스들(102 및 104)은 이미지 및/또는 비디오 콘텐츠(예를 들어, 원시 이미지 및/또는 비디오 데이터)를 캡처할 수 있으며, 이는 이어서 본 명세서에 설명된 바와 같이 컴퓨팅 컴포넌트들(110), 이미지 프로세싱 엔진(120), 뉴럴 네트워크(들)(122) 및/또는 렌더링 엔진(124)에 의해 프로세싱될 수 있다.
일부 경우들에서, 이미지 캡처링 디바이스들(102 및 104)은 이미지 및/또는 비디오 데이터를 캡처하기 위한 이미지 센서들 및/또는 렌즈들을 포함할 수 있다. 이미지 캡처링 디바이스들(102 및 104)은 상이한 시야각들, 상이한 피사계 심도들, 상이한 크기들 등을 포함하는 상이한 FOV들을 갖는 이미지 및/또는 비디오 데이터를 캡처할 수 있다. 예를 들어, 일부 경우들에서, 이미지 캡처링 디바이스들(102 및 104)은 상이한 FOV들을 갖는 상이한 이미지 센서들을 포함할 수 있다. 다른 예들에서, 이미지 캡처 디바이스들(102 및 104)은 광각 렌즈들, 망원 렌즈들(예를 들어, 짧은 망원, 중간 망원 등), 표준 렌즈들, 줌 렌즈들 등과 같은, 상이한 FOV들을 갖는 상이한 타입들의 렌즈들을 포함할 수 있다. 일부 예들에서, 이미지 캡처 디바이스(102)는 하나의 타입의 렌즈를 포함할 수 있고 이미지 캡처 디바이스(104)는 상이한 타입의 렌즈를 포함할 수 있다. 일부 경우들에서, 이미지 캡처 디바이스들(102 및 104)은 상이한 타입들의 광에 응답할 수 있다. 예를 들어, 일부 경우에, 이미지 캡처 디바이스(102)는 가시광에 응답할 수 있고 이미지 캡처 디바이스(104)는 적외선에 응답할 수 있다.
일부 예들에서, 이미지 캡처 디바이스(102)는 상이한 FOV들을 가질 수 있다. 이러한 예들에서, 이미지 캡처 디바이스(102)는 상이한 FOV들을 갖는 이미지들을 캡처할 수 있다. 유사하게, 일부 예들에서, 이미지 캡처 디바이스(104)는 상이한 FOV들을 가질 수 있고, 상이한 FOV들을 갖는 이미지들을 캡처할 수 있다.
다른 센서(106)는 거리, 모션, 위치, 깊이, 속도 등과 같은 정보를 검출하고 측정하기 위한 임의의 센서일 수 있다. 센서들의 비제한적인 예들은 LIDAR들, 자이로스코프들, 가속도계들, 자력계들, 레이더들, 및 IMU들을 포함한다. 하나의 예시적인 예에서, 센서(106)는 피사계 심도 및 다른 효과들을 계산할 때 사용될 수 있는 거리 및/또는 심도 정보를 감지 또는 측정하도록 구성된 LIDAR일 수 있다. 일부 경우에, 이미지 프로세싱 시스템(100)은 머신 비전 센서, 스마트 장면 센서, 음성 인식 센서, 충격 센서, 위치 센서, 기울기 센서, 광 센서 등과 같은 다른 센서를 포함할 수 있다.
스토리지(108)는 예를 들어 이미지 또는 비디오 데이터와 같은 데이터를 저장하기 위한 임의의 저장 디바이스(들)일 수 있다. 스토리지(108)는 이미지 처리 시스템(100)의 컴포넌트들 중 임의의 것으로부터의 데이터를 저장할 수 있다. 예를 들어, 스토리지(108)는 이미지 캡처링 디바이스들(102 및 104), 이미지 센서(106), 컴퓨트 컴포넌트들(110)(예를 들어, 프로세싱 파라미터들, 출력 이미지들, 계산 결과들 등) 중 임의의 것, 및/또는 이미지 프로세싱 엔진(120), 신경망(들)(122), 및/또는 렌더링 엔진(124)(예를 들어, 출력 이미지들, 프로세싱 결과들, 파라미터들 등) 중 임의의 것으로부터 데이터 또는 측정들을 저장할 수 있다. 일부 예들에서, 스토리지(108)는 컴퓨팅 컴포넌트들(110)에 의한 처리를 위한 데이터(예를 들어, 이미지 데이터)를 저장하기 위한 버퍼를 포함할 수 있다.
일부 구현들에서, 컴퓨팅 컴포넌트들 (110) 은 중앙 프로세싱 유닛 (CPU) (112), 그래픽 프로세싱 유닛 (GPU) (114), 디지털 신호 프로세서 (DSP) (116), 및/또는 이미지 신호 프로세서 (ISP) (118) 를 포함할 수 있다. 컴퓨팅 컴포넌트(110)는 이미지 향상, 객체 또는 이미지 분할, 컴퓨터 비전, 그래픽 렌더링, XR(예를 들어, 증강 현실, 가상 현실, 혼합 현실 등), 이미지/비디오 프로세싱, 센서 프로세싱, 인식(예를 들어, 텍스트 인식, 객체 인식, 특징 인식, 얼굴 인식, 추적 또는 패턴 인식, 장면 인식 등), 전경 예측, 기계 학습, 필터링, 피사계 심도 효과 계산 또는 렌더링, 및 본 명세서에 설명된 다양한 동작 중 임의의 것과 같은 다양한 동작을 수행할 수 있다. 일부 예들에서, 컴퓨팅 컴포넌트들 (110) 은 이미지 프로세싱 엔진 (120), 뉴럴 네트워크(들) (122), 및 렌더링 엔진 (124) 을 구현할 수 있다. 다른 예들에서, 컴퓨팅 컴포넌트들 (110) 은 또한 하나 이상의 다른 프로세싱 엔진들을 구현할 수 있다.
이미지 프로세싱 엔진(120), 뉴럴 네트워크(들)(122), 및 렌더링 엔진(124)의 동작들은 컴퓨트 컴포넌트들(110) 중 하나 이상에 의해 구현될 수 있다. 하나의 예시적인 예에서, 이미지 프로세싱 엔진(120) 및 뉴럴 네트워크(들)(122)(및 연관된 동작들)는 CPU(112), DSP(116), 및/또는 ISP(118)에 의해 구현될 수 있고, 렌더링 엔진(124)(및 연관된 동작들)은 GPU(114)에 의해 구현될 수 있다. 일부 경우들에서, 컴퓨트 컴포넌트들 (110) 은 또한, 본 명세서에 설명된 다양한 동작들 중 임의의 것을 수행하기 위해, 다른 전자 회로들 또는 하드웨어, 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합을 포함할 수 있다.
일부 경우들에서, 컴퓨팅 컴포넌트들(110)은 이미지 캡처 디바이스(102) 및/또는 이미지 캡처 디바이스(104)에 의해 캡처된 데이터(예를 들어, 이미지 데이터, 비디오 데이터 등)를 수신하고, 데이터를 처리하여, 예를 들어, 피사계 심도 효과들과 같은 특정 시각적 및/또는 이미지 처리 효과들을 갖는 출력 이미지들을 생성할 수 있다. 예를 들어, 컴퓨트 컴포넌트들(110)은 이미지 캡처링 디바이스들(102 및 104)에 의해 캡처된 이미지 데이터(예를 들어, 하나 이상의 프레임들 등)를 수신하고, 전경 예측 및 이미지 세그먼트화를 수행하고, 피사계 심도 효과를 갖는 출력 이미지를 생성할 수 있다. 이미지(또는 프레임)는 픽셀 당 적색, 녹색, 및 청색 컬러 컴포넌트들을 갖는 적색-녹색-청색(RGB) 이미지; 루마 컴포넌트 및 픽셀 당 2개의 크로마(컬러) 컴포넌트들(크로마-적색 및 크로마-청색)을 갖는 루마, 크로마-적색, 크로마-청색(YCbCr) 이미지; 또는 임의의 다른 적절한 타입의 컬러 또는 단색 픽처일 수 있다.
컴퓨팅 컴포넌트들(110)은 다양한 이미지 프로세싱 동작들을 수행하고, 예를 들어, 피사계 심도 효과와 같은 이미지 효과들을 생성하기 위해 이미지 프로세싱 엔진(120) 및 신경망(들)(122)을 구현할 수 있다. 예를 들어, 컴퓨트 컴포넌트들(110)은 특징 추출, 수퍼픽셀 검출, 전경 예측, 공간 매핑, 현저성 검출, 세그먼트화, 픽셀 분류, 크로핑, 업샘플링/다운샘플링, 블러링, 세그먼트화, 모델링, 필터링, 컬러 보정, 노이즈 감소, 스케일링, 랭킹, 및/또는 다른 이미지 프로세싱 태스크들을 수행하기 위해 이미지 프로세싱 엔진(120) 및 뉴럴 네트워크(들)(122)를 구현할 수 있다. 컴퓨팅 컴포넌트들(110)은 이미지 캡처링 디바이스들(102 및/또는 104)에 의해 캡처된 이미지 데이터; 스토리지(108) 내의 이미지 데이터; 원격 카메라, 서버 또는 콘텐츠 제공자와 같은 원격 소스로부터 수신된 이미지 데이터; 소스들의 조합으로부터 획득된 이미지 데이터 등을 프로세싱할 수 있다.
일부 예들에서, 컴퓨트 컴포넌트들(110)은 이미지 캡처링 디바이스들(102 및 104)에 의해 캡처된 이미지 데이터에서 전경을 예측하고, 세그먼트화 맵들(예를 들어, 확률 맵들)을 생성하고, 다수의 세그먼트화 맵들에 기초하여 리파이닝된 또는 업데이트된 세그먼트화 맵을 생성하고, 세그먼트화 마스크를 생성하고, 세그먼트화 마스크에 기초하여 생성된, 피사계 심도 효과와 같은 효과를 갖는 이미지를 출력할 수 있다. 일부 경우들에서, 컴퓨트 컴포넌트들 (110) 은 하나 이상의 이미지들에서 오브젝트들 및/또는 영역들을 세그먼트화하고 심도 효과와 같은 이미지 효과를 갖는 출력 이미지를 생성하기 위해 공간 정보 (예를 들어, 센터 프라이어 맵), 확률 맵들, 디스패리티 정보 (예를 들어, 디스패리티 맵), 이미지 쿼리들, 현저성 맵들 등을 사용할 수 있다. 다른 경우들에서, 컴퓨트 컴포넌트들(110)은 또한 얼굴 검출 정보, 센서 측정들(예를 들어, 깊이 측정들), 깊이 측정들 등과 같은 다른 정보를 사용할 수 있다.
일부 예들에서, 컴퓨팅 컴포넌트들(110)은 픽셀 레벨 정확도에서(또는 거의 픽셀 레벨 정확도에서) 세그먼트화(예를 들어, 전경-배경 세그먼트화)를 수행하여, 피사계 심도를 갖는 출력 이미지를 생성할 수 있다. 컴퓨트 컴포넌트들(110)은 상이한 FOV들을 갖는 이미지들을 사용하여 세그먼트화(예를 들어, 전경-배경 세그먼트화)를 수행할 수 있다. 예를 들어, 컴퓨팅 컴포넌트들(110)은 이미지 캡처 디바이스(102)에 의해 캡처된 제 1 FOV를 갖는 이미지 및 이미지 캡처 디바이스(104)에 의해 캡처된 제 2 FOV를 갖는 이미지를 사용하여 전경-배경 세그먼트화를 수행할 수 있다. 전경-배경 세그먼트화는 또한, 예를 들어 그리고 제한 없이, 깊이-강화 및 객체-인식 자동 노출, 자동 화이트 밸런스, 자동-포커스, 톤 매핑 등과 같은 다른 이미지 조정들 또는 이미지 프로세싱 동작들을 가능하게 할 수 있다(또는 이와 함께 사용될 수 있다).
이미지 프로세싱 시스템 (100) 이 특정 컴포넌트들을 포함하는 것으로 도시되지만, 당업자는 이미지 프로세싱 시스템 (100) 이 도 1 에 도시된 것들보다 더 많거나 더 적은 컴포넌트들을 포함할 수 있다는 것을 인식할 것이다. 예를 들어, 이미지 프로세싱 시스템(100)은 또한, 일부 경우들에서, 하나 이상의 메모리 디바이스들(예를 들어, RAM, ROM, 캐시 등), 하나 이상의 네트워킹 인터페이스들(예를 들어, 유선 및/또는 무선 통신 인터페이스들 등), 하나 이상의 디스플레이 디바이스들, 및/또는 도 1 에 도시되지 않은 다른 하드웨어 또는 프로세싱 디바이스들을 포함할 수 있다. 이미지 프로세싱 시스템(100)으로 구현될 수 있는 컴퓨팅 디바이스 및 하드웨어 컴포넌트들의 예시적인 예가 도 7 과 관련하여 아래에서 설명된다.
이전에 언급된 바와 같이, 전경 타겟이 이미지 캡처 디바이스에 너무 가깝게 나타나면 초상 모드에 대한 이미지 세그먼트화가 실패할 수 있다. 예를 들어, 이미지 세그먼트화 알고리즘은 이미지 캡처 디바이스에 너무 가깝게 나타나는 객체를 검출하지 못할 수 있다. 이미지 세그먼트화 결과들은 또한 상이한 FOV들을 갖는 이미지들에 대해 변할 수 있다. 이미지를 캡처하는 데 사용되는 렌즈의 유형은 이미지 세그먼트화 성능에 영향을 미칠 수 있다. 예를 들어, 망원 렌즈를 사용하여 캡처된 이미지들 내의 객체들은 더 가깝게 나타날 수 있고, (예를 들어, 노이즈를 추가함으로써) 전경 예측을 잠재적으로 복잡하게 할 수 있는 더 적은 배경 정보를 포함할 수 있다. 그러나, 망원 렌즈를 사용하여 캡처된 이미지의 경계는 종종 전경 타겟의 일부 또는 영역을 절단하며(예를 들어, 캡처/포함하지 않음), 이는 타겟에 대한 더 적은 정보를 야기하고 세그먼트화 정확도에 부정적인 영향을 미칠 수 있다.
한편, 광각 렌즈를 이용하여 촬영된 영상들 내의 객체들은 더 멀리 나타날 수 있으며, 영상들은 객체의 전체 윤곽을 더 쉽게 캡처할 수 있다. 그러나, 광각 렌즈를 사용하여 캡처된 이미지들은 종종 이미지의 측면 영역들(및/또는 이미지의 중심으로부터 더 먼 영역들)로부터의 더 많은 정보(예를 들어, 다른 객체들 및/또는 비-타겟 영역들에 대응하는 이미지 데이터)를 포함할 수 있으며, 이는 세그먼트화 노이즈/간섭을 야기할 수 있고 측면 영역들(또는 이미지의 중심으로부터 더 먼 영역들)과 같은 배경 내의 다른 객체들/영역들로부터 타겟(또는 타겟의 일부)을 구별하는 것을 점점 더 어렵게 할 수 있다.
도 2a 및 2b 는 상이한 FOV들로 캡처된 타겟의 이미지들로부터 이루어진 전경 예측들 사이의 예시적인 차이들을 예시한다. 도 2a 를 참조하면, 이미지(202)는 제 1 FOV를 가질 수 있고, 이미지(220)는 제 1 FOV와 상이한 제 2 FOV를 가질 수 있다. 이미지들(202 및 220) 둘 모두는 전경 예측 및/또는 이미지 세그먼트화 동안 검출될 전경 형상을 나타내는 타겟(210)을 캡처한다.
이 예에서, 이미지(202)의 제 1 FOV는 이미지(202)에서 캡처된 타겟(210)의 더 많은 배율 및 더 좁은 화각을 갖고, 이미지(220)의 제 2 FOV는 타겟(210)의 더 적은 배율 및 더 넓은 화각을 갖는다. 일부 예들에서, 제 1 FOV를 갖는 이미지(202)는 망원 렌즈, 줌 렌즈 등과 같은 더 좁은 화각 및 더 큰 배율을 갖는 렌즈에 의해 캡처된 타겟(210)의 이미지일 수 있고, 제 2 FOV를 갖는 이미지(220)는 광각 렌즈와 같은 더 넓은 화각 및 더 작은 배율을 갖는 렌즈에 의해 캡처된 타겟(210)의 이미지일 수 있다.
세그먼트화 마스크(204)는 제 1 FOV를 갖는 이미지(202)에 기초하여 생성된 전경 예측 결과를 예시하고, 세그먼트화 마스크(222)는 제 2 FOV를 갖는 이미지(220)에 기초하여 생성된 전경 예측 결과를 예시한다. 이미지들(202 및 220)의 상이한 FOV들은 타겟(210)의 크기 및 이미지들(202 및 220)의 크기의 상이한 비율들을 초래한다. 타겟 크기(예를 들어, 타겟 전경 형상의 크기) 및 이미지 크기(예를 들어, 이미지의 크기)의 비율은 세그먼트화 정확도 및 성능에 영향을 미칠 수 있다. 예를 들어, 타겟 크기 및 이미지 크기의 비율은 전경 예측이 전경 타겟의 일부(들)를 누락, 제외 및/또는 검출하지 못하게 하거나, 배경 및/또는 비-타겟 정보 및/또는 형상들과 같은 전경의 일부가 아닌 정보 및/또는 형상들(예를 들어, 객체들, 사람들, 동물들, 구조들 등)을 검출하고 포함하게 할 수 있다.
도 2a 의 예에 예시된 바와 같이, 제 1 FOV를 갖는 이미지(202)로부터 생성된 세그먼트화 마스크(204)는 이미지(202)의 중심으로부터 더 먼 영역(206) 내에서 및/또는 이미지 경계 근처(예를 들어, 이미지(202)의 에지/경계 근처)에서 타겟(210)의 일부(예를 들어, 타겟(210)의 손)가 없다. 이미지(202)가 더 적은 배경 정보를 갖지만, 타겟(210)의 더 가까운 외관 및/또는 이미지(202)의 더 좁은 FOV에 대응할 수 있는 이미지 크기에 대한 타겟 크기의 더 큰 비율은 전경 정보(예를 들어, 타겟의 정보)의 일부를 절단/끊기할 수 있고, 세그먼트화 정확도에 영향을 줄 수 있다.
제 2 FOV를 갖는 이미지(220)로부터 생성된 세그먼트화 마스크(222)는 영역(206) 내의 타겟(210)의 부분을 포함하는, 타겟(210)과 연관된 전경 정보를 놓치지 않고 타겟(210)을 캡처한다. 그러나, 타겟(210)을 캡처하는 것에 더하여, 세그먼트화 마스크(222)는 전경(예를 들어, 타겟(210))의 일부로서 식별 및/또는 취급되지 않아야 하는 배경 영역(224) 내의 객체(예를 들어, 휴지통)를 캡처한다. 이미지(220)의 더 넓은 FOV로부터 초래되는 이미지 크기에 대한 타겟 크기의 더 작은 비율은 세그먼트화 마스크(222)가 전경(예를 들어, 타겟(210))의 전체 윤곽을 더 양호하게 캡처할 수 있게 하지만, 이는 또한 세그먼트화 마스크(222)가 전경의 일부로서 포함/처리되지 않아야 하는 배경 및/또는 간섭 정보를 캡처하는 것을 초래한다.
일부 경우들에서, 이미지들이 동일하거나 유사한 FOV를 갖더라도, 상이한 이미지들은 세그먼트화 불일치들을 초래할 수 있다. 예를 들어, 도 2b 를 참조하면, 제 1 이미지(240) 및 제 2 이미지(250)는 둘 다 전경 예측 및/또는 이미지 세그먼트화 동안 검출될 전경 형상을 나타내는 타겟(260)을 캡처한다. 제 1 이미지(240) 및 제 2 이미지(250)는 유사하거나 동일한 FOV를 갖는다. 그럼에도 불구하고, 제 1 이미지(240) 및 제 2 이미지(250)로부터 생성된 세그먼트화 마스크들(242 및 252)은 일관성이 없다.
예를 들어, 제 1 이미지(240)로부터 생성된 세그먼트화 마스크(242)는 타겟(260)의 전체 윤곽을 캡처한다. 한편, 제 2 이미지(250)로부터 생성된 세그먼트화 마스크(252)는 대조적으로 세그먼트화 마스크(242)에서 캡처되는 타겟(260)의 부분(262)을 완전히 캡처하지 못한다. 이 예에서, 타겟(260)의 부분(262)은 사용자에 의해 유지되는 컵이고, 전경 예측은 사용자 및 사용자에 의해 유지되는 컵을 포함해야 한다. 세그먼트화 마스크(242)가 컵 및 사용자를 정확하게 캡처하는 동안, 세그먼트화 마스크(252)는 사용자를 캡처하지만 컵을 적절하게 캡처하지 못한다. 도시된 바와 같이, 2개의 이미지들(240 및 250)로부터 생성된 세그먼트화 마스크들(242 및 252)은 일관성이 없고, 이는 일관성이 없는 세그먼트화 결과들을 초래하며, 세그먼트화 결과들에 의존하는 이미지 프로세싱 작업들에 영향을 미칠 수 있다.
일부 예들에서, 세그먼트화 일관성, 품질 및 성능을 증가시키기 위해, 세그먼트화 마스크는 다수의 이미지들로부터의 세그먼트화 정보를 퓨징 및/또는 이용함으로써 다수의 이미지들로부터 생성될 수 있다. 일부 경우들에서, 다수의 이미지들은 상이한 FOV들을 가질 수 있다. 상이한 FOV들을 갖는 이미지들로부터의 세그먼트화 정보는 세그먼트화 불일치들을 회피하거나 제한하기 위해 서로 보완할 수 있고, 타겟의 상대적인 거리/깊이, 스케일, 뷰 등에 의해 야기되는 세그먼트화 문제들을 회피하거나 제한할 수 있다. 일부 예들에서, 세그먼트화 결과는 상이한 타입들의 렌즈들을 사용하여 캡처된 이미지들을 사용하여 생성될 수 있다. 상이한 타입들의 렌즈들을 사용하여 캡처된 이미지들로부터의 세그먼트화 정보는 세그먼트화 결과를 리파이닝하고 더 일관되고 정확한 세그먼트화를 생성하기 위해 함께 사용될 수 있다.
도 3a 는 상이한 FOV들을 갖는 이미지들을 사용하는 이미지 세그먼트화를 위한 예시적인 흐름(300)을 예시하는 도면이다. 예시적인 흐름(300)에 대한 입력은 이미지(302) 및 이미지(304)를 포함한다. 일부 경우들에서, 이미지(302) 및 이미지(304)는 각각 이미지 캡처 디바이스(102) 및 이미지 캡처 디바이스(104)에 의해 캡처될 수 있다. 일부 예들에서, 이미지 캡처 디바이스들(102 및 104)은 상이한 타입들의 렌즈들을 포함할 수 있고 상이한 FOV들을 갖는 이미지들을 캡처할 수 있다. 예를 들어, 이미지 캡처 디바이스(102)는 FOV를 사용하여 이미지(302)를 캡처할 수 있고, 이미지 캡처 디바이스(104)는 상이한 FOV를 사용하여 이미지(304)를 캡처할 수 있다. 일부 경우들에서, 이미지들(302 및 304)은 상이한 FOV들을 사용하여 동일한 이미지 캡처 디바이스(예를 들어, 이미지 캡처 디바이스(102 또는 104))에 의해 캡처될 수 있다. 도 3a 에서, 이미지(302)는 이미지(304)와 상이한 FOV를 갖는다. 예를 들어, 이미지(302)는 이미지(304)보다 더 넓은 FOV를 갖는다.
이미지들(302 및 304)은 전경 형상을 나타내는 타겟(306)을 캡처한다. 이미지(302)는 이미지(304)보다 더 넓은 FOV를 가지며, 이미지(304)는 더 큰 타겟 크기 대 이미지 크기 비율을 갖는다. 타겟(306)은 이미지(302)보다 이미지(304)에서 더 가깝게 나타난다. 더 넓은 FOV(및 더 작은 타겟 크기 대 이미지 크기 비율)가 주어지면, 이미지(302)는 전경의 더 큰 부분(예를 들어, 타겟(306))을 캡처하지만, 또한 더 많은 배경 및/또는 추가 정보(예를 들어, 타겟(306)에 대응하지 않는 정보)를 캡처한다. 예를 들어, 이미지(302) 내의 타겟(306)은 이미지 캡처 디바이스(104)로부터 이미지(304)(예를 들어, 전체 이미지(304))에 의해 캡처된 콘텐츠(예를 들어, 장면)를 나타내는 경계 박스(308) 내에 도시된다. 경계 박스(308)의 외부(예를 들어, 이미지(304)의 외부)로부터의 정보의 일부 또는 전부는 이미지(302)에 의해 캡처된 배경 및/또는 추가 정보를 나타낸다.
이 예에서 알 수 있는 바와 같이, 이미지(302)는 이미지(304)보다 더 많은 배경 및/또는 추가 정보(예를 들어, 경계 박스(308) 외부의 더 많은 정보)를 캡처한다. 그러나, 이미지(304)는 이미지(302)보다 더 적은 배경 및/또는 추가 정보를 캡처하지만, 더 좁은 FOV가 주어지면, 이미지(304)는 또한 더 적은 전경 정보(예를 들어, 더 적은 타겟(306))를 캡처한다. 예를 들어, 이미지(302)는 타겟(306)의 전체 윤곽을 캡처하는 반면, 이미지(304)는 타겟(306)의 일부를 절단하거나 절단한다. 본 명세서에서 추가로 설명되는 바와 같이, 흐름(300)은 더 정확하고 일관된 세그먼트화 결과들을 생성하기 위해 이미지들 둘 모두로부터의 정보를 활용할 수 있다.
이미지 프로세싱 시스템(100)은 이미지(302) 및 이미지(304)를 사용하여 전경 예측(310)을 수행할 수 있다. 전경 예측(310)에 기초하여, 이미지 프로세싱 시스템(100)은 이미지(302)에 대한 확률 맵(312) 및 이미지(304)에 대한 확률 맵(314)을 생성할 수 있다. 확률 맵(312)은 이미지(302) 내의 각각의 픽셀 또는 슈퍼픽셀(예를 들어, 픽셀들의 그룹)이 전경으로서 식별되고 그리고/또는 배경으로부터 분리될 확률을 포함할 수 있다. 확률 맵(314)은 이미지(304) 내의 각각의 픽셀 또는 슈퍼픽셀이 전경으로서 및/또는 배경으로부터 분리될 타겟(306)에 속할 확률을 포함할 수 있다.
일부 경우에, 슈퍼픽셀은 이미지(예를 들어, 이미지(302) 또는 이미지(304))의 상이한 세그먼트 또는 영역을 나타낼 수 있다. 일부 예들에서, 슈퍼픽셀은 이미지 내의 픽셀들의 그룹을 포함할 수 있다. 예를 들어, 일부 경우에, 슈퍼픽셀은 이미지에서 균질하거나 거의 균질한 픽셀들의 그룹을 포함할 수 있다. 다른 예로서, 슈퍼픽셀은 슈퍼픽셀이 렌더링될 때 슈퍼픽셀이 컬러, 텍스처, 밝기, 시맨틱스 등과 같은 하나 이상의 균일하거나 일관된 특성들을 가질 수 있도록 하나 이상의 특성들을 갖는 픽셀들의 그룹을 포함할 수 있다. 일부 예들에서, 슈퍼픽셀들은 이미지 내의 픽셀들의 지각적 그룹화를 제공할 수 있다.
일부 예들에서, 이미지 프로세싱 시스템(100)은 뉴럴 네트워크(122)와 같은 딥 뉴럴 네트워크(DNN)를 사용하여 전경 예측(310)을 수행할 수 있다. 다른 예들에서, 이미지 프로세싱 시스템(100)은 예를 들어, 그래프-기반 매니폴드 랭킹과 같은 다른 기술들을 사용하여 전경 예측(310)을 수행할 수 있다. 일부 예들에서, 그래프-기반 매니폴드 랭킹을 사용하여, 이미지 프로세싱 시스템(100)은 입력 이미지(예를 들어, 이미지(302), 이미지(304))에서의 각각의 픽셀 또는 슈퍼픽셀과 전경(및/또는 전경의 일부인 것으로 추정되는 영역들) 사이의 관련성을 랭킹화할 수 있다. 일부 경우에, 매니폴드 랭킹은 보다 효율적인 계산을 가능하게 하기 위해 폐쇄 형태를 가질 수 있다.
이미지(302)로부터 전경 예측(310)에 의해 생성된 확률 맵(312)은 전경의 일부로서 전체 타겟(306)을 포함하고 식별하지만, 또한 타겟(306)의 윤곽들 외부의 이미지(302)의 부분들로부터의 거짓 양성들을 포함한다. 이미지(304)로부터 전경 예측(310)에 의해 생성된 확률 맵(314)은 확률 맵(312)보다 더 적은 노이즈(예를 들어, 더 적은 거짓 양성)을 포함하지만, 전체 타겟(306)을 포함하지 않는다. 확률 맵(312) 및 확률 맵(314)은 서로 상보적이기 때문에, 이미지 프로세싱 시스템(100)은 본 명세서에서 추가로 설명되는 바와 같이, 리파이닝된 확률 맵 및 세그먼트화 결과를 생성하기 위해 확률 맵(312) 및 확률 맵(314) 둘 모두를 사용할 수 있다.
이미지 프로세싱 시스템(100)은 이미지(302)의 FOV를 갖는 확률 맵(312)으로부터, 이미지(304)의 FOV를 갖는 확률 맵(318)을 추론하기 위해 확률 맵(312)을 크로핑 및 업샘플링(316)할 수 있다. 크로핑 및 업샘플링은 확률 맵(312)의 크기를 감소시키고 그 공간 해상도를 동일한(또는 확률 맵(314)과 유사한 크기 및 해상도) 크기로 증가시킬 수 있다. 일부 예들에서, 크로핑 및 업샘플링에 기초하여, 추론된 확률 맵(318)은 이미지 프로세싱 시스템(100)이 확률 맵(314) 및 추론된 확률 맵(318)을 퓨징하는 것(또는 퓨징을 최적화하는 것)을 허용하기 위해 이미지(304)에 대해 생성된 확률 맵(314)과 동일한(또는 유사한) 크기 및 해상도를 가질 수 있다. 추론된 확률 맵(318)은 이미지(302)로부터 예측된 전경 정보를 포함하고 확률 맵(314)은 이미지(304)로부터 예측된 전경 정보를 포함하기 때문에, 추론된 확률 맵(318) 및 확률 맵(314)은 정제된 전경 예측 결과를 획득하기 위해 이미지(302) 및 이미지(304)로부터의 전경 정보를 레버리지하기 위해 함께 사용될 수 있다.
일부 예들에서, (예를 들어, 크로핑 및 업샘플링 후에) 추론된 확률 맵(318)을 생성할 때, 이미지 프로세싱 시스템(100)은 이미지 향상 및/또는 텍스처 평활화를 위해 (예를 들어, 이미지(304) 및/또는 확률 맵(314)에 기초하여) 가이드된 필터링을 수행할 수 있다. 일부 예들에서, 이미지 프로세싱 시스템(100)은 또한 픽셀 강도 값들의 범위를 조정하기 위해 정규화를 수행할 수 있다.
이미지 프로세싱 시스템(100)은 확률 맵(314) 및 추론된 확률 맵(318)을 퓨징하여(320), 퓨징된 확률 맵(322)을 생성할 수 있다. 퓨징된 확률 맵(322)은 이미지(304)로부터 생성된 확률 맵(314)으로부터의 전경 정보 및 이미지(302)로부터 생성된 추론된 확률 맵(318)으로부터의 전경 정보를 결합, 포함, 반영 및/또는 리파이닝할 수 있다. 일부 예들에서, 확률 맵(314) 및 추론된 확률 맵(318)을 퓨징하기(320) 위해, 이미지 프로세싱 시스템(100)은 확률 맵(314) 및 추론된 확률 맵(318)에서의 값들에 기초하여 엘리먼트별 가산을 수행할 수 있다. 일부 경우들에서, 이미지 프로세싱 시스템(100)은 평균화된 확률 맵을 생성하기 위해 확률 맵(314) 및 추론된 확률 맵(318)에서의 값들을 평균화할 수 있다.
이미지 처리 시스템(100)은 퓨징된 확률 맵(322)을 센터 프라이어 맵(326)과 멀티플라잉할 수 있다(324). 센터 프라이어 맵(326)은 공간 사전 정보를 포함할 수 있다. 일부 예들에서, 센터 프라이어 맵(326)은 타겟(306)이 이미지의 경계 영역(들)과 대조적으로 이미지의 중심 영역에 위치될 확률 또는 가능성을 나타낼 수 있다. 전경 객체들/형상들은 이미지의 중심 주위 또는 근처에 위치될 가능성이 더 높기 때문에, 센터 프라이어 맵(326)은 이미지의 중심 및/또는 이미지의 중심 주위/근처의 영역들에 대한 더 높은 확률들을 포함할 수 있다. 확률들은 이미지의 중심으로부터 더 멀리 떨어진 영역들에 대해 감소할 수 있다.
이미지 중심(및 인근/주변 영역들)에 대한 더 높은 확률들이 주어지면, 센터 프라이어 맵(326)은 퓨징된 확률 맵(322) 내의 측면 영역들(예를 들어, 퓨징된 확률 맵(322)의 둘레 상의/근처에 그리고/또는 퓨징된 확률 맵(322)의 중심으로부터 더 먼 영역들)로부터 원하지 않는 정보를 제거하는 것을 도울 수 있다. 일부 예들에서, 퓨징된 확률 맵(322)과 센터 프라이어 맵(326)의 멀티플라잉은 퓨징된 확률 맵(322)의 중심에 있는(그리고 중심에 더 가까운) 픽셀들 또는 슈퍼픽셀들이 퓨징된 확률 맵(322)의 측면들 상의 픽셀들 또는 슈퍼픽셀들보다 더 가중되게 하고 그리고/또는 퓨징된 확률 맵(322)의 중심으로부터 멀어지게 하는 결과를 초래할 수 있다.
일부 예들에서, 이미지 프로세싱 시스템(100)은 확률 맵(314)과 연관된 원래 이미지(예를 들어, 이미지(304))를 시간 또는 픽셀 기반 표현으로 세그먼트화함으로써 센터 프라이어 맵(326)을 생성할 수 있다. 이어서, 이미지 처리 시스템(100)은 세그먼트화된 이미지의 중심까지의 각각의 슈퍼픽셀의 거리를 계산할 수 있다.
일부 경우들에서, 센터 프라이어 맵(326)은 이미지 중심 O 에 대한 슈퍼픽셀의 평균 x-y 좌표들의 거리에 기초하여 각각의 슈퍼픽셀 vi 에 센터 프라이어를 통합함으로써 퓨징 확률 맵(322)을 향상시키는데 사용될 수 있다. 이 예에서 이론적 근거는 전경 물체/형상이 이미지 중심 주위에 배치될 가능성이 더 크다는 것일 수 있다. 예시하자면, 이미지에 대한 센터 프라이어 CP 를 고려하여, 각각의 슈퍼픽셀 vi 의 값은 다음과 같이 계산될 수 있다:
Figure pct00001
식 (1)
퓨징된 확률 맵(322)과 센터 프라이어 맵(326)의 멀티플라잉의 출력은 리파이닝된 확률 맵(328)일 수 있다. 이미지 프로세싱 시스템(100)은 리파이닝된 확률 맵(328)에 기초하여 세그먼트화 마스크(330)를 생성할 수 있다. 일부 예들에서, 이미지 프로세싱 시스템(100)은 세그먼트화 마스크(330)를 생성하기 위해 리파이닝된 확률 맵(328)을 추가로 리파이닝할 수 있다. 일부 구현들에서, 이미지 프로세싱 시스템(100)은 완전히 연결된 조건부 랜덤 필드(CRF) 또는 denseCRF에 기초하여 추가 리파이닝을 수행할 수 있다. 예를 들어, 이미지 프로세싱 시스템(100)은 추가 리파이닝을 위해 denseCRF 모듈을 통해 리파이닝된 확률 맵(328)을 파싱할 수 있다.
일부 경우에, 이미지 프로세싱 시스템(100)은 세그먼트화 마스크(330)를 생성하기 위한 입력으로서 리파이닝된 확률 맵(328) 및 이미지(304)를 사용할 수 있다. 이미지 프로세싱 시스템(100)은 이미지(304) 및 리파이닝된 확률 맵(328)을 사용하여 리파이닝된 확률 맵(328) 내의 각각의 픽셀을 배경 픽셀 또는 전경 픽셀로서 분류할 수 있다. 세그먼트화 마스크(330)의 백색 부분들은 전경 픽셀들로서 분류된 픽셀들에 대응할 수 있고, 세그먼트화 마스크(330)의 흑색 부분들은 배경 픽셀들로서 분류된 픽셀들에 대응할 수 있다.
일부 예들에서, 세그먼트화 마스크(330)는 이미지의 배경 및 전경 영역들을 나타내는 이진 맵일 수 있다. 예를 들어, 세그먼트화 마스크(330)를 생성하기 위해, 이미지 프로세싱 시스템(100)은 배경 픽셀들 및 전경 픽셀들에 각각 대응하는 0 및 1 값들을 포함하도록 리파이닝된 확률 맵(328)을 이진화할 수 있다.
일부 경우들에서, 이미지 프로세싱 시스템(100)은 특정 이미지 프로세싱 작업들 및/또는 시각적 효과들에 대한 전경 분리를 위해 세그먼트화 마스크(330)를 사용할 수 있다. 이 예에서, 이미지 프로세싱 시스템(100)은 세그먼트화 마스크(330)를 사용하여 피사계 심도 효과를 갖는 출력 이미지(334)를 생성할 수 있다. 이미지 프로세싱 시스템(100)은 세그먼트화 마스크(330) 및 이미지(304)를 사용하여 출력 이미지(334)를 블러링 및 합성(332)할 수 있다. 예를 들어, 이미지 프로세싱 시스템(100)은 이미지(304)에 세그먼트화 마스크(330)를 적용하여 전경(예를 들어, 타겟(306)) 외부의 이미지(304)의 영역을 블러링하고 출력 이미지(334)를 피사계 심도 효과로 합성할 수 있다. 일부 경우들에서, 이미지 프로세싱 시스템(100)은 가우시안 함수(예를 들어, 가우시안 블러)를 사용하여 이미지(304)의 영역들을 블러링할 수 있다.
일부 예들에서, 이미지 프로세싱 시스템(100)은 출력 이미지(334)를 생성하기 위해 세그먼트화 마스크(330) 및 깊이 정보를 사용할 수 있다. 예를 들어, 이미지 프로세싱 시스템(100)은 이미지(304)에서 픽셀들 또는 슈퍼픽셀들의 깊이를 계산하고 이미지(304)에서 영역들을 블러링하기 위해 세그먼트화 마스크(330) 및 깊이 정보를 사용할 수 있다. 일부 경우에, 이미지 프로세싱 시스템(100)은 이미지 쌍(302 및 304)에 기초하여 깊이 예측을 수행할 수 있다. 다른 경우들에서, 이미지 프로세싱 시스템(100)은 이미지(302) 및/또는 이미지(304)에 대한 하나 이상의 깊이 센서들(예를 들어, 다른 센서(106))로부터 획득된 측정들에 기초하여 깊이 예측을 수행할 수 있다.
도 3a 의 흐름(300)이 상이한 FOV들을 갖는 2개의 입력 이미지들에 대해 설명되지만, 다른 예들은 2개보다 많은 입력 이미지들 및/또는 FOV들을 사용할 수 있다. 예를 들어, 일부 경우들에서, 흐름(300)에 대한 입력 이미지들은 하나 이상의 광각 렌즈들을 사용하여 생성된 하나 이상의 광각 이미지들, 하나 이상의 초광각 렌즈들을 사용하여 생성된 하나 이상의 초광각 이미지들, 하나 이상의 망원 렌즈들(예를 들어, 짧은 망원 렌즈, 중간 망원 렌즈, 초망원 렌즈 등)을 사용하여 생성된 하나 이상의 망원 이미지들, 하나 이상의 표준 렌즈들을 사용하여 생성된 (예를 들어, 하나 이상의 광각 이미지들 및/또는 망원 이미지들에 대한) 하나 이상의 상이한 및/또는 동일한 FOV들을 갖는 하나 이상의 이미지들, 하나 이상의 줌 렌즈들을 사용하여 생성된 하나 이상의 줌 이미지들, 임의의 다른 타입들의 렌즈들로부터 생성된 임의의 다른 타입들의 이미지들, 및/또는 이들의 임의의 조합을 포함할 수 있다. 도 3a 의 입력 이미지들(302 및 304)은 설명을 위해 제공되는 비제한적인 예들이다.
도 3b는 상이한 FOV들을 갖는 이미지들을 사용하는 이미지 세그먼트화를 위한 다른 예시적인 흐름(350)을 예시하는 도면이다. 이 예에서, 이미지들(352 및 354)은 전경 형상을 나타내는 타겟(356)을 캡처한다. 이미지들(352 및 354)은 또한 전경 형상의 일부가 아닌 측면 객체(360)를 캡처한다. 이미지(352)는 이미지(354)보다 더 넓은 FOV를 가지며, 이미지(354)는 더 큰 타겟 크기 대 이미지 크기 비율을 갖는다. 타겟(356)은 이미지(352)보다 이미지(354)에서 더 가깝게 나타난다. 더 넓은 FOV(및 더 작은 타겟 크기 대 이미지 크기 비율)가 주어지면, 이미지(352)는 전경의 더 큰 부분(예를 들어, 타겟(356))을 캡처하지만, 또한 더 많은 배경 및/또는 추가 정보(예를 들어, 타겟(356)에 대응하지 않는 정보)를 캡처한다. 예를 들어, 이미지(352) 내의 타겟(356)은 이미지(354)(예를 들어, 전체 이미지(354))에 의해 캡처된 콘텐츠(예를 들어, 장면)를 나타내는 경계 박스(358) 내에 도시된다. 경계 박스(358)의 외부(예를 들어, 이미지(354)의 외부)로부터의 정보의 일부 또는 전부는 이미지(352)에 의해 캡처된 배경 및/또는 추가 정보를 나타낸다.
이 예에서 알 수 있는 바와 같이, 이미지(352)는 이미지(354)보다 더 많은 배경 및/또는 추가 정보(예를 들어, 경계 박스(358) 외부의 더 많은 정보)를 캡처한다. 그러나, 이미지(354)는 이미지(352)보다 더 적은 배경 및/또는 추가 정보를 캡처하지만, 더 좁은 FOV가 주어지면, 이미지(354)는 또한 더 적은 전경 정보(예를 들어, 더 적은 타겟(356))를 캡처한다. 예를 들어, 이미지(352)는 타겟(356)의 전체 윤곽을 캡처하는 반면, 이미지(354)는 타겟(356)의 일부를 절단하거나 절단한다. 본 명세서에서 추가로 설명되는 바와 같이, 흐름(350)은 더 정확하고 일관된 세그먼트화 결과들을 생성하기 위해 이미지들 둘 모두로부터의 정보를 활용할 수 있다.
이미지 프로세싱 시스템(100)은 이미지(352) 및 이미지(354)를 사용하여 전경 예측(362)을 수행할 수 있다. 전경 예측(362)에 기초하여, 이미지 프로세싱 시스템(100)은 이미지(352)에 대한 확률 맵(364) 및 이미지(354)에 대한 확률 맵(366)을 생성할 수 있다. 확률 맵(364)은 이미지(352) 내의 각각의 픽셀 또는 슈퍼픽셀이 전경으로서 및/또는 배경으로부터 분리될 타겟(356)에 속할 확률을 포함할 수 있다. 확률 맵(366)은 이미지(354) 내의 각각의 픽셀 또는 슈퍼픽셀이 전경으로서 및/또는 배경으로부터 분리될 타겟(356)에 속할 확률을 포함할 수 있다.
이 예에서, 전경 예측(362)은 이미지들(352 및 354)에서 관심 영역(예를 들어, 타겟(356))을 결정하기 위해 두드러진 객체 검출을 구현한다. 일부 예들에서, 이미지 프로세싱 시스템(100)은 뉴럴 네트워크(122)와 같은 딥 뉴럴 네트워크(DNN)를 사용하여 현저한 객체 검출을 포함하는 전경 예측(362)을 수행할 수 있다. 두드러진 객체 검출은 시각적 주의 메커니즘을 사용하여 이미지에서 관심 영역(예를 들어, 타겟(356))을 결정할 수 있다. 예를 들어, 두드러진 객체 검출은 이미지에서 가장 눈에 띄는/눈에 띄는 그리고 눈을 끄는 영역들(예를 들어, 객체들, 형상들 등)을 위치시키려고 시도할 수 있다.
일부 예들에서, 확률 맵(364) 및 확률 맵(366)은 각각 이미지들(352 및 354)의 배경 및/또는 다른 영역들로부터 분리될 타겟(356)에 속하는 각각의 픽셀의 확률을 포함할 수 있다. 일부 경우들에서, 확률은 현저성(예를 들어, 현저성 객체 검출에 기초함)으로서 표현되거나 이를 포함할 수 있으며, 이는 사용자의 주의가 이미지 내에 있을 가능성이 있는 가능성을 나타낼 수 있다.
도 3b에 예시된 바와 같이, 이미지(352)로부터 전경 예측(362)에 의해 생성된 확률 맵(364)은 전경의 일부로서 전체 타겟(356)을 포함하고 식별하지만, 또한 타겟(356)의 윤곽들 외부의 이미지(352)의 부분들로부터의 거짓 양성들을 포함한다. 예를 들어, 전경의 일부로서 전체 타겟(356)을 포함하는 것에 더하여, 확률 맵(364)은 전경의 일부로서 측면 객체(360)를 포함한다. 이미지(354)로부터 전경 예측(362)에 의해 생성된 확률 맵(366)은 확률 맵(364)보다 더 적은 노이즈(예를 들어, 더 적은 거짓 양성)을 포함하지만, 전체 타겟(356)을 포함하지 않는다. 예를 들어, 확률 맵(366)은 전경의 일부로서 측면 객체(360)를 포함하지 않지만, 타겟(356)의 일부(368)(예를 들어, 타겟 사용자의 팔의 일부)로부터 상세들을 누락한다. 확률 맵(364)은 타겟(356)의 부분(368)을 포함하여, 타겟(356)에 대한 세부사항들을 더 잘 복구 및/또는 보존할 수 있지만, 이전에 언급된 바와 같이, 또한 측면 객체(360)를 포함하고 식별한다.
확률 맵(364) 및 확률 맵(366)은 서로 상보적이기 때문에, 이미지 프로세싱 시스템(100)은 본 명세서에서 추가로 설명되는 바와 같이, 리파이닝된 확률 맵 및 세그먼트화 결과를 생성하기 위해 확률 맵(364) 및 확률 맵(366) 둘 모두를 사용할 수 있다. 이미지 프로세싱 시스템(100)은 이미지(354)의 FOV를 갖는 확률 맵을 나타내는 출력 맵(370)을 생성하기 위해 확률 맵(364)을 크로핑하고 업샘플링(316)할 수 있다. 출력 맵(370)은 이미지(352)의 FOV를 갖는 확률 맵(364)으로부터 추론될 수 있다. 크로핑 및 업샘플링은 확률 맵(364)의 크기를 감소시키고 그 공간 해상도를 동일한(또는 확률 맵(366)과 유사한 크기 및 해상도) 크기로 증가시킬 수 있다. 일부 예들에서, 크로핑 및 업샘플링에 기초하여, 출력 맵(370)은 이미지(354)에 대해 생성된 확률 맵(366)과 동일한(또는 유사한) 크기 및 해상도를 가질 수 있다.
이미지 프로세싱 시스템(100)은 퓨징된 확률 맵(372)을 생성하기 위해 확률 맵(366) 및 출력 맵(370)을 퓨징할 수 있다(320). 퓨징된 확률 맵(372)은 이미지(354)로부터 생성된 확률 맵(366)으로부터의 전경 정보 및 이미지(352)로부터 생성된 출력 맵(370)으로부터의 전경 정보를 결합, 포함, 반사 및/또는 리파이닝할 수 있다. 일부 예들에서, 확률 맵(366) 및 출력 맵(370)을 퓨징하기(320) 위해, 이미지 프로세싱 시스템(100)은 확률 맵(366) 및 출력 맵(370)에서의 값들에 기초하여 엘리먼트별 가산을 수행할 수 있다. 일부 경우에, 이미지 프로세싱 시스템(100)은 평균화된 확률 맵을 생성하기 위해 확률 맵(366) 및 출력 맵(370) 내의 값들을 평균화할 수 있다.
도 3b에 예시된 바와 같이, 측면 객체(360)는 퓨징된 확률 맵(372)에서 흐릿한 외양 및/또는 강도를 갖는다. 사이드 객체(360)의 흐릿한 외관 및/또는 강도는 사이드 객체(360)에 대해 복구된 더 적은 양의 세부사항들 및/또는 사이드 객체(360)가 관심 전경 영역(예를 들어, 타겟(356))의 부분일 감소된 확률을 반영한다. 출력 맵(370) 및 확률 맵(366)이 퓨징될 때, 확률 맵(364) 및 출력 맵(370)에서 측면 객체(360)와 연관된 확률(및/또는 복구된 세부사항들)은, 측면 객체(360)에 대한 더 낮거나 0의 확률 및/또는 측면 객체(360)의 복구된 더 적은 세부사항들을 계산한 확률 맵(366)에서의 전경 예측 정보에 기초하여 감소될 수 있다.
퓨징된 확률 맵 (372) 은 또한 확률 맵 (366) 보다 타겟 (356) 의 부분 (368) 의 더 많은 상세들을 복구하였다. 이는 확률 맵(364) 및 확률 맵(366)과 퓨징된 출력 맵(370)이 타겟(356)의 부분(368)의 세부사항들을 포함하기 때문이다. 확률 맵(366)과 출력 맵(370)을 퓨징함으로써, 타겟(356)의 부분(368)의 세부사항들은 출력 맵(370)으로부터 복구되고, 확률 맵(366)에서 정확하게 배제된 측면 객체(360)의 세부사항들은 퓨징된 확률 맵(372)에서 감소된다.
이미지 프로세싱 시스템(100)은 세그먼트화 마스크(374)를 생성하기 위해 퓨징된 확률 맵(372)을 리파이닝할 수 있다. 도 3b에 예시된 바와 같이, 측면 객체(360)는 세그먼트화 마스크(374)에서 훨씬 더 흐릿한 외양 및/또는 강도를 갖고, 타겟(356)의 부분(368)은 (예를 들어, 확률 맵(366) 및 퓨징된 확률 맵(372)에 대한) 추가적인 세부사항들을 포함한다. 여기서, 측면 객체(360)는 확률 맵(364)으로부터 퓨징된 확률 맵(372) 및 세그먼트화 마스크(374)로 점진적으로 희미해지고, 타겟(356)의 부분(368)의 세부사항들은 확률 맵(366)으로부터 퓨징된 확률 맵(372) 및 세그먼트화 마스크(374)로 점점 더 복구되었다.
일부 구현들에서, 이미지 프로세싱 시스템(100)은 완전 연결 조건부 랜덤 필드(CRF) 또는 denseCRF에 기초하여 퓨징된 확률 맵(372)을 리파이닝할 수 있다. 예를 들어, 이미지 프로세싱 시스템(100)은 추가 리파이닝을 위해 denseCRF 모듈을 통해 퓨징된 확률 맵(372)을 파싱할 수 있다. 일부 경우에, 이미지 프로세싱 시스템(100)은 세그먼트화 마스크(374)를 생성하기 위한 입력으로서 퓨징된 확률 맵(372) 및 이미지(354)를 사용할 수 있다. 이미지 프로세싱 시스템(100)은 이미지(354) 및 퓨징된 확률 맵(372)을 사용하여 퓨징된 확률 맵(372) 내의 각각의 픽셀을 배경 픽셀 또는 전경 픽셀로서 분류할 수 있다. 세그먼트화 마스크(374)의 백색 부분들은 전경 픽셀들로서 분류된 픽셀들에 대응할 수 있고, 세그먼트화 마스크(374)의 흑색 부분들은 배경 픽셀들로서 분류된 픽셀들에 대응할 수 있다.
일부 경우들에서, 이미지 프로세싱 시스템(100)은 특정 이미지 프로세싱 작업들 및/또는 시각적 효과들에 대한 전경 분리를 위해 세그먼트화 마스크(374)를 사용할 수 있다. 이 예에서, 이미지 프로세싱 시스템(100)은 세그먼트화 마스크(374)를 사용하여 피사계 심도 효과를 갖는 출력 이미지(378)를 생성할 수 있다. 이미지 프로세싱 시스템(100)은 세그먼트화 마스크(374) 및 이미지(354)를 사용하여 출력 이미지(378)를 블러링 및 합성(374)할 수 있다. 예를 들어, 이미지 프로세싱 시스템(100)은 이미지(354)에 세그먼트화 마스크(374)를 적용하여 전경(예를 들어, 타겟(356)) 외부의 이미지(354)의 영역을 블러링하고 출력 이미지(378)를 피사계 심도 효과로 합성할 수 있다. 일부 경우들에서, 이미지 프로세싱 시스템(100)은 가우시안 함수(예를 들어, 가우시안 블러)를 사용하여 이미지(354)의 영역들을 블러링할 수 있다.
일부 예들에서, 이미지 프로세싱 시스템(100)은 출력 이미지(378)를 생성하기 위해 세그먼트화 마스크(374) 및 깊이 정보를 사용할 수 있다. 예를 들어, 이미지 프로세싱 시스템(100)은 이미지(354)에서 픽셀들 또는 슈퍼픽셀들의 깊이를 계산하고 이미지(354)에서 영역들을 블러링하기 위해 세그먼트화 마스크(374) 및 깊이 정보를 사용할 수 있다. 일부 경우에, 이미지 프로세싱 시스템(100)은 이미지 쌍(352 및 354)에 기초하여 깊이 예측을 수행할 수 있다. 다른 경우들에서, 이미지 프로세싱 시스템(100)은 이미지(352) 및/또는 이미지(354)에 대한 하나 이상의 깊이 센서들(예를 들어, 다른 센서(106))로부터 획득된 측정들에 기초하여 깊이 예측을 수행할 수 있다.
도 3b 의 흐름(350)이 상이한 FOV들을 갖는 2개의 입력 이미지들에 대해 설명되지만, 다른 예들은 2개보다 많은 입력 이미지들 및/또는 FOV들을 사용할 수 있다. 예를 들어, 일부 경우들에서, 흐름(350)에 대한 입력 이미지들은 하나 이상의 광각 렌즈들을 사용하여 생성된 하나 이상의 광각 이미지들, 하나 이상의 초광각 렌즈들을 사용하여 생성된 하나 이상의 초광각 이미지들, 하나 이상의 망원 렌즈들(예를 들어, 짧은 망원 렌즈, 중간 망원 렌즈, 초망원 렌즈 등)을 사용하여 생성된 하나 이상의 망원 이미지들, 하나 이상의 표준 렌즈들을 사용하여 생성된 (예를 들어, 하나 이상의 광각 이미지들 및/또는 망원 이미지들에 대한) 하나 이상의 상이한 및/또는 동일한 FOV들을 갖는 하나 이상의 이미지들, 하나 이상의 줌 렌즈들을 사용하여 생성된 하나 이상의 줌 이미지들, 임의의 다른 타입들의 렌즈들로부터 생성된 임의의 다른 타입들의 이미지들, 및/또는 이들의 임의의 조합을 포함할 수 있다. 도 3b 의 입력 이미지들(352 및 354)은 설명을 위해 제공되는 비제한적인 예들이다.
도 4 는 전경 예측을 위한 예시적인 기계 학습 모델(400)을 예시하는 도면이다. 이 예에서, 기계 학습 모델(400)은 입력 이미지(402)에서 전경 영역들(예를 들어, 전경 형상들, 객체들, 픽셀들 등)을 검출하고 분리하기 위해 입력 이미지(402)를 처리하는 딥 뉴럴 네트워크(DNN)(122)을 포함할 수 있다. DNN(122)은 검출된 전경 영역들을 식별하는 세그먼트화 마스크(408)를 생성할 수 있다.
일부 예들에서, DNN(122)은 상호연결된 노드들의 다수의 계층들을 포함할 수 있다. 각 노드는 한 가지 정보를 나타낼 수 있다. 노드들과 연관된 정보는 레이어들 사이에서 공유될 수 있다. 각 레이어는 처리되는 정보를 유지할 수 있다. 일부 경우들에서, 각각의 노드 또는 노드들 사이의 상호연결은 DNN(122)의 트레이닝으로부터 도출된 파라미터들의 세트인 가중치를 가질 수 있다. 예를 들어, 노드들 사이의 상호연결은 상호연결된 노드들에 관하여 학습된 한 가지 정보를 나타낼 수 있다. 상호연결은 (예를 들어, 훈련 데이터세트에 기초하여) 튜닝될 수 있는 수치 가중치를 가질 수 있어, DNN(122)이 입력들에 적응될 수 있게 하고 더 많은 데이터가 처리됨에 따라 학습할 수 있게 한다.
DNN(122)은 입력 이미지(402)와 연관된 데이터로부터 특징들을 처리하도록 사전 트레이닝될 수 있다. DNN(122)이 이미지에서 전경 영역들을 검출하는 데 사용되는 예에서, DNN(122)은 이미지 데이터를 포함하는 트레이닝 데이터를 사용하여 트레이닝될 수 있다. DNN(122)은 이미지 데이터와 같은 더 많은 입력 데이터가 수신될 때 추가로 트레이닝될 수 있다. 일부 경우들에서, DNN(122)은 지도 학습 및/또는 강화 훈련을 사용하여 훈련될 수 있다. DNN(122)이 트레이닝됨에 따라, DNN(122)은 노드들의 가중치들 및/또는 바이어스들을 조정하여 그 성능을 최적화할 수 있다.
일부 경우들에서, DNN(122)은 역전파와 같은 트레이닝 프로세스를 사용하여 노드들의 가중치들을 조정할 수 있다. 역전파는 순방향 패스, 손실 함수, 역방향 패스, 및 가중치 업데이트를 포함할 수 있다. 순방향 패스, 손실 함수, 역방향 패스, 및 파라미터 업데이트는 하나의 훈련 반복을 위해 수행된다. 프로세스는 DNN(122)에서의 계층들의 가중치들이 정확하게 튜닝될 때까지 트레이닝 데이터(예를 들어, 이미지 데이터)의 각각의 세트에 대해 특정 횟수의 반복들에 대해 반복될 수 있다.
DNN(122)은 임의의 적절한 뉴럴 네트워크를 포함할 수 있다. 일 예는 입력 계층과 출력 계층을 포함하고 입력 계층과 출력 계층 사이에 다수의 히든 계층을 갖는 컨볼루션 뉴럴 네트워크(CNN)를 포함한다. CNN의 히든 계층들은 일련의 컨볼루션, 비선형, 풀링, 완전 연결 및 정규화 계층들을 포함한다. DNN(122)은 다른 것들 중에서도, 오토인코더, DBN들(deep belief nets), RNN들(Recurrent Neural Networks)과 같은 임의의 다른 딥 네트워크를 포함할 수 있다.
도 4에 도시된 예시적인 기계 학습 모델(400)에서, DNN(122)은 인코더(404) 및 디코더(406) 구조를 갖는다. 인코더(404) 및 디코더(406)는 각각 다수의 계층을 갖는다. 예를 들어, 인코더(404)는 다수의 컨볼루션 계층들 및 풀링 계층들을 포함할 수 있다. 컨볼루션 계층들은 입력 데이터를 분석할 수 있다. 컨볼루션 계층의 각각의 노드는 입력 데이터(예를 들어, 입력 이미지(402))의 노드들(예를 들어, 픽셀들)의 영역에 연결될 수 있다. 컨볼루션 계층은 하나 이상의 필터들(각각의 필터는 상이한 활성화 또는 특징 맵에 대응함)로서 간주될 수 있으며, 필터의 각각의 컨볼루션 반복은 컨볼루션 계층의 노드 또는 뉴런이 된다. 노드와 그 노드에 대한 수용 필드 (노드들의 영역 (예를 들면, 픽셀들)) 사이의 각각의 연결은 가중치, 그리고 일부 경우들에서는, 전체 바이어스를 학습하여 각각의 노드가 입력 이미지(402)에서의 그 특정 로컬 수용 필드를 분석하도록 학습하게 한다.
일부 예들에서, 각각의 컨볼루션 반복에서, 필터의 값들은 이미지의 원래 픽셀 값들의 대응하는 수와 곱해질 수 있다. 각각의 컨볼루셔널 반복으로부터의 승산들은 그 반복 또는 노드에 대한 총 합산을 획득하기 위해 함께 합산될 수 있다. 프로세스는 컨볼루션 계층 내의 다음 노드의 수용 필드에 따라 입력 데이터(예를 들어, 이미지(402))의 다음 위치에서 계속될 수 있다. 입력 볼륨의 각각의 고유 위치에서 필터를 처리하는 것은 그 위치에 대한 필터 결과들을 나타내는 수를 생성할 수 있으며, 그 결과 컨볼루션 계층의 각각의 노드에 대해 결정되는 총 합 값이 된다.
일부 경우들에서, 컨볼루션 계층들은 데이터의 각각의 배치(batch)에 대한 계층들에 대한 입력들을 정규화하기 위해 배치 정규화를 수행할 수 있다. 배치 정규화는 활성화를 조정 및 스케일링함으로써 DNN(122)을 더 빠르고 더 안정하게 할 수 있다. 컨볼루션 계층들은 또한 정류기 선형 유닛(ReLU) 함수와 같은 계층 활성화 함수를 적용할 수 있다. 일부 예들에서, 풀링 계층은 특정 컨볼루션 계층들 후에 적용될 수 있다. 풀링 계층은 컨볼루션 계층들로부터의 출력에서 정보를 단순화하기 위해 사용될 수 있다. 예를 들어, 풀링 계층은 컨볼루션 계층으로부터 출력된 각각의 활성화 맵을 취하고, 풀링 함수를 사용하여 응축된 활성화 맵(또는 특징 맵)을 생성할 수 있다. 맥스 풀링은 풀링 계층에 의해 수행되는 함수의 일 예이다. 평균 풀링 또는 다른 적절한 풀링 함수들과 같은 다른 형태들의 풀링 함수들이 풀링 계층에 의해 사용될 수 있다.
풀링 함수(예를 들어, 최대 풀링 필터)는 컨볼루션 계층들에 포함된 활성화 맵들에 적용될 수 있다. 풀링 함수(예를 들어, 최대 풀링)는 입력(예를 들어, 이미지(402))에서 출력들 또는 특징 표현들을 감소, 집계 또는 연쇄시킬 수 있다. 최대 풀링(및 다른 풀링 방법)은 풀링된 기능이 더 적다는 이점을 제공하며, 이후 계층에서 필요한 파라미터의 수를 줄일 수 있다.
디코더(406)는 다수의 업샘플링, 컨볼루션, 및 소프트맥스 계층들을 포함할 수 있다. 업샘플링 계층들은 입력 데이터의 치수들을 증가시킬 수 있다. 각각의 업샘플링 계층에는 업샘플링 계층들로부터의 업샘플링된 데이터에 대해 컨볼루션들을 수행하는 다수의 컨볼루션 계층들이 뒤따를 수 있다. 일부 예들에서, 디코더(406)의 마지막 계층은 소프트맥스 계층일 수 있다. 소프트맥스 계층은 분류를 수행하기 위해 소프트맥스 기능을 수행할 수 있다. 일부 예들에서, 소프트맥스 계층은 입력 이미지(402)의 픽셀들, 슈퍼픽셀들, 및/또는 영역들을 전경 또는 배경으로서 분류할 수 있다. 일부 예들에서, 소프트맥스 계층은 전경 예측 확률들을 결정할 수 있다. 디코더(406)의 출력은 입력 이미지(402)에 대한 전경 예측을 제공하는 세그먼트화 마스크(408)일 수 있다.
도 5는 매니폴드 랭킹에 기초한 예시적인 전경 예측 프로세스(500)를 예시하는 도면이다. 이 예에서, 이미지 프로세싱 시스템(100)은 입력 이미지(502)로부터 슈퍼픽셀들(504)을 추출할 수 있다. 예를 들어, 이미지 프로세싱 시스템(100)은 이미지(502)를 다수의 슈퍼픽셀들로 세그먼트화하거나 분할할 수 있다. 일부 구현들에서, 이미지 프로세싱 시스템(100)은 픽셀들의 로컬 클러스터링을 수행할 수 있는 SLIC(simple linear iterative clustering) 알고리즘과 같은 슈퍼픽셀 세그먼트화 알고리즘을 사용하여 이미지(502)에서 슈퍼픽셀들을 추출할 수 있다. 일부 예들에서, 슈퍼픽셀 추출은 불필요한 세부사항들을 추출하면서 이미지 구조들을 보존하는 것을 도울 수 있다. 슈퍼픽셀들은 또한 아래에서 더 설명되는 바와 같이 랭킹을 위한 계산 유닛으로서 기능할 수 있다.
슈퍼픽셀들은 이미지(502)의 상이한 세그먼트들 또는 영역들을 나타낼 수 있다. 일부 경우에, 슈퍼픽셀은 이미지(502) 내의 픽셀 그룹을 포함할 수 있다. 예를 들어, 슈퍼픽셀은 이미지(502)에서 균질하거나 거의 균질한 픽셀들의 그룹을 포함할 수 있다. 다른 예들에서, 슈퍼픽셀은 슈퍼픽셀이 렌더링될 때 슈퍼픽셀이 컬러, 텍스처, 밝기, 시맨틱스 등과 같은 하나 이상의 균일하거나 일관된 특성들을 가질 수 있도록 하나 이상의 특성들을 갖는 픽셀들의 그룹을 포함할 수 있다. 일부 경우들에서, 슈퍼픽셀들은 이미지 내의 픽셀들의 지각적 그룹화를 제공할 수 있다.
위에서 참조된 균질하거나 거의 균질한 픽셀들은 텍스처, 컬러, 밝기, 시맨틱스, 및/또는 임의의 다른 특성(들)에서 일관되거나, 균일하거나, 또는 상당히 유사한 픽셀들을 포함할 수 있다. 일부 구현들에서, 이미지 내의 객체들이 다수의 슈퍼픽셀들로 분할될 수 있지만, 특정 슈퍼픽셀은 객체의 경계에 의해 분할되지 않을 수 있다. 일부 구현들에서, 슈퍼픽셀 내의 픽셀들 중 일부 또는 전부는 공간적으로 관련될 수 있다(예를 들어, 공간적으로 인접함). 예를 들어, 슈퍼픽셀 내의 픽셀들은 이미지로부터 이웃하는 또는 인접한 픽셀들을 포함할 수 있다.
이미지 프로세싱 시스템(100)은 이미지(502)로부터 추출된 슈퍼픽셀들에 기초하여 쿼리들(506)을 계산할 수 있다. 이미지 프로세싱 시스템(100)은 확률 맵들(518, 520, 522)을 생성하는 데 사용되는 쿼리들(508, 510, 512)을 생성할 수 있다. 일부 예들에서, 쿼리들(508, 510 및 512)은 추출된 슈퍼픽셀들을 포함하는 이미지들을 포함할 수 있다. 이미지들은 또한 콘트라스트 슈퍼픽셀 영역들(514)을 포함할 수 있다. 콘트라스트 슈퍼픽셀 영역들(514)은 예를 들어, 컬러, 텍스처, 밝기, 및/또는 임의의 다른 특성들과 같은 하나 이상의 구별되는 속성들을 갖는 이미지 프로세싱 시스템(100)에 의해 마킹된 슈퍼픽셀들을 포함할 수 있다. 특유의 속성들은 콘트라스트 슈퍼픽셀 영역들(514) 내의 슈퍼픽셀들을 쿼리들(508, 510, 및 512) 내의 다른 슈퍼픽셀들과 구별하는 것을 도울 수 있다.
도 5의 예시적인 예에서, 쿼리들(508, 510 및 512)은 상부 시드(예를 들어, 쿼리(508)), 좌측 시드(예를 들어, 쿼리(510)) 및 우측 시드(예를 들어, 쿼리(512))를 포함할 수 있다. 다른 예들에서, 쿼리들(508, 510 및 512)은 더 많거나 더 적은 쿼리들, 및/또는 예를 들어, 하부 시드와 같은 다른 타입들의 시드들을 포함할 수 있다. 상부 시드(예를 들어, 쿼리(508))는 상부 시드의 상부 에지(예를 들어, 둘레) 상에 콘트라스트 슈퍼픽셀 영역(514)을 포함할 수 있다. 콘트라스트 슈퍼픽셀 영역(514)은 콘트라스트 슈퍼픽셀 영역(514) 내의 슈퍼픽셀들을 상부 시드 내의 다른 슈퍼픽셀들과 구별하는 구별되는 컬러에 의해 마킹된 슈퍼픽셀들을 포함할 수 있다.
좌측 시드(예를 들어, 쿼리(510))는 좌측 시드의 좌측 에지(예를 들어, 둘레) 상에 콘트라스트 슈퍼픽셀 영역(514)을 포함할 수 있다. 콘트라스트 슈퍼픽셀 영역(514)은 콘트라스트 슈퍼픽셀 영역(514) 내의 슈퍼픽셀들을 좌측 시드 내의 다른 슈퍼픽셀들과 구별하는 구별되는 컬러에 의해 마킹된 슈퍼픽셀들을 포함할 수 있다.
우측 시드(예를 들어, 쿼리(512))는 우측 시드의 우측 에지(예를 들어, 둘레) 상에 콘트라스트 슈퍼픽셀 영역(514)을 포함할 수 있다. 콘트라스트 슈퍼픽셀 영역(514)은 콘트라스트 슈퍼픽셀 영역(514) 내의 슈퍼픽셀들을 우측 시드 내의 다른 슈퍼픽셀들과 구별하는 구별되는 컬러에 의해 마킹된 슈퍼픽셀들을 포함할 수 있다.
일부 경우들에서, 이미지 프로세싱 시스템(100)은 확률맵들(518, 520 및 522)을 추정하기 위해 쿼리들(508, 510 및 512)에서의 콘트라스트 슈퍼픽셀 영역들(514)과 쿼리들(508, 510 및 512)의 나머지(예를 들어, 쿼리들(508, 510 및 512)에서의 다른 슈퍼픽셀들) 사이의 콘트라스트 차이를 이용할 수 있다. 일부 예들에서, 이미지 프로세싱 시스템(100)은 확률 맵들(518, 520 및 522)을 추정하기 위해 매니폴드 랭킹을 수행할 수 있다. 매니폴드 랭킹을 수행할 때, 이미지 프로세싱 시스템(100)은 콘트라스트 슈퍼픽셀 영역들(514)과 쿼리들(508, 510 및 512) 내의 다른 슈퍼픽셀들 사이의 콘트라스트 차이를 사용하여 확률 맵들(518, 520 및 522)을 추정할 수 있다. 콘트라스트 차이는 확률 맵들(518, 520, 및 522)에 대한 랭킹 스코어들을 계산하는 것을 도울 수 있다.
일부 예들에서, 매니폴드 랭킹은 확률 맵들(518, 520, 및 522)을 계산하는데 사용되는 그래프-기반 랭킹 알고리즘을 포함할 수 있다. 예를 들어, 일부 경우들에서, 이미지 프로세싱 시스템(100)은 매니폴드 랭킹 결과(예를 들어, 확률 맵들(518, 520 및 522))를 생성하기 위해 쿼리들(508, 510 및 512)과 함께 사용되는 그래프를 구성할 수 있다. 일부 경우에, 이미지 프로세싱 시스템(100)은 그래프
Figure pct00002
를 구성할 수 있으며, 여기서
Figure pct00003
Figure pct00004
각각은 이미지(예를 들어, 쿼리(508), 쿼리(510), 쿼리(512))의 정점 및 에지를 나타낸다. 그래프
Figure pct00005
에서, 각각의 정점
Figure pct00006
은 슈퍼픽셀로 정의될 수 있다. 에지
Figure pct00007
는 슈퍼픽셀들 vi 및 vj 가 이미지에서 공간적으로 접속되면 추가될 수 있고, 슈퍼픽셀들 vi 및 vj 에 대해 계산된 특징 거리에 기초하여 가중될 수 있다. 일부 예들에서, 에지 가중치는 다음과 같이 슈퍼픽셀들 vi 및 vj 에 대해 계산된 특징 거리 또는 유사도에 의해 결정될 수 있다:
Figure pct00008
식 (2)
여기서, pi 및 qi 는 각각 슈퍼픽셀 vi 내의 픽셀들의 평균화된 컬러 및 시맨틱 표현들을 나타내고, pj 및 qj 는 각각 슈퍼픽셀 vj 내의 픽셀들의 평균화된 컬러 및 시맨틱 표현들을 나타내고, d() 는
Figure pct00009
특징 거리이고,
Figure pct00010
는 시맨틱 특징들에 적용되는 가중치를 나타낸다.
일부 예들에서, 예시적인 식 (2)에서, 상수
Figure pct00011
의 값은 그들의 컬러 특징들 아래의 모든 슈퍼픽셀들 사이의 평균 쌍별 거리로 설정될 수 있고, 상수
Figure pct00012
의 값은 그들의 시맨틱 특징들 아래의 모든 슈퍼픽셀들 사이의 평균 쌍별 거리로 설정될 수 있다. 컬러 및 의미론적 특징들은 설명 목적들을 위해 여기에 제공된 비제한적인 예들이고, 다른 구현들은 더 많거나, 더 적거나, 또는 상이한 타입들의 특징들을 이용할 수 있다는 점에 유의해야 한다. 예를 들어, 일부 경우들에서, 식 (2)는 컬러 또는 시맨틱 특징들과 같은 단지 하나의 유형의 특징들, 또는 컬러, 시맨틱, 및/또는 텍스처 특징들과 같은 특징들의 상이한 조합을 사용하여 구현될 수 있다.
일부 경우에, 이미지 프로세싱 시스템(100)은 친화도 행렬
Figure pct00013
을 갖는 그래프
Figure pct00014
의 라플라시안 행렬
Figure pct00015
을 구성할 수 있으며, 여기서 N은 이미지 내의 슈퍼픽셀의 총 수를 나타낸다. 또한, 일부 구현들에서, 이미지 프로세싱 시스템(100)은 그래프 상의 노드들(예를 들어, 슈퍼픽셀들)에 대한 라벨들을 추론하고 데이터(예를 들어, 이미지)의 매니폴드 구조에서 그래프 라벨링을 사용할 수 있다. 주어진 데이터 세트
Figure pct00016
에서, 여기서 M은 각각의 데이터 포인트의 특징 치수들을 나타내고, 일부 데이터 포인트들은 쿼리들로 라벨링될 수 있고 나머지는 쿼리들에 대한 그들의 관련성에 따라 랭크될 수 있다.
예를 들어,
Figure pct00017
는 각 데이터 포인트 xi 에 값 fi 를 할당하는 랭킹 함수라고 가정하고, 여기서 0은 배경 데이터 포인트 값이고 1은 전경 데이터 포인트 값이다. 여기서 f는 벡터
Figure pct00018
로 볼 수 있다. 또한,
Figure pct00019
는 표시 벡터를 표시하며, 여기서
Figure pct00020
가 쿼리이면
Figure pct00021
이고, 그렇지 않으면
Figure pct00022
이다. 그래프
Figure pct00023
가 주어지면, 차수 행렬은
Figure pct00024
일 수 있고, 여기서
Figure pct00025
Figure pct00026
는 가중 상수이다. 이 예에서, 질의들의 최적 순위는 다음의 최소화 또는 최적화 문제를 해결함으로써 계산될 수 있다:
Figure pct00027
식 (3)
위의 식 (3)을 푸는 것은 랭킹된 결과들을 원래의 표시 벡터
Figure pct00028
에 가깝게 유지하면서 유사한 데이터 포인트들이 유사한 랭킹 값들을 할당받는 것을 보장하는 것을 도울 수 있다. 일부 예들에서, 최소 해는 식 (3)의 도함수를 0으로 설정함으로써 계산될 수 있다. 일부 경우에, 랭킹 함수의 폐쇄형 솔루션은 다음과 같이 표현될 수 있다:
Figure pct00029
식 (4)
일부 경우들에서, 표시자 벡터
Figure pct00030
가 형성되고 식 (4)를 사용하여 랭킹 벡터
Figure pct00031
를 계산하는 데 사용될 수 있다.
매니폴드 랭킹은 이미지(502)의 잠재적 전경(예를 들어, 확률 맵들(518, 520, 및 522))을 추론하기 위해 공간 정보를 레버리징할 수 있다. 일부 경우들에서, 매니폴드 랭킹은 전경 예측을 돕기 위해 사용자로부터 추출된 정보를 차용할 수 있으며, 이는 실제 현저한 객체를 예측하는 것을 도울 수 있다. 예를 들어, 매니폴드 랭킹은, 이미지 내의 하나 이상의 형상들 및/또는 객체들의 표시, 하나 이상의 배경 영역들의 표시, 하나 이상의 전경 영역들의 표시, 및/또는 이미지, 이미지 콘텐츠들, 및/또는 이미지 특성들에 관한 임의의 다른 정보와 같이, 세그먼트화되는 이미지에 관하여 사용자에 의해 제공되는 정보를 사용할 수 있다.
개시된 예시적인 시스템들, 기술들, 및 개념들을 가지고, 본 개시는 이제 도 6 에 도시된 예시적인 프로세스(600)로 넘어간다. 본 명세서에 설명된 단계들은 예들이고, 특정 단계들을 배제하거나, 추가하거나, 수정하는 조합들을 포함하여, 이들의 임의의 조합으로 구현될 수 있다.
프로세스(600)는 다양한 이미지 처리 태스크 및/또는 효과를 수행하도록 구현될 수 있다. 예를 들어, 일부 경우들에서, 프로세스(600)는 세그먼트화(예를 들어, 전경 예측)을 수행하고 특히, 심도 효과, 크로마 키잉 효과, 이미지 스타일화 효과, 예술적 효과, 계산적 사진술 효과와 같은 이미지 세그먼트화 기반 효과를 생성하도록 구현될 수 있다. 다른 예들에서, 프로세스(600)는, 예를 들어 및 제한 없이, 특징 추출, 이미지 인식(예를 들어, 객체 또는 얼굴 인식), 머신 비전, XR, 자동화, 및/또는 임의의 다른 이미지 세그먼트화 기반 효과들 및/또는 프로세싱 태스크들과 같은 다른 이미지 세그먼트화 기반 효과들 또는 프로세싱 태스크들을 수행하도록 구현될 수 있다.
블록(602)에서, 프로세스(600)는 타겟(예를 들어, 타겟(306 또는 356))의 제1 이미지(예를 들어, 이미지(302 또는 352)) 및 타겟의 제2 이미지(예를 들어, 이미지(304 또는 354))를 획득하는 단계를 포함할 수 있다. 제1 이미지는 제1 FOV를 가질 수 있고, 제2 이미지는 제1 FOV와 상이한 제2 FOV를 가질 수 있다.
일부 예들에서, 제1 이미지 및 제2 이미지는 상이한 FOV들 또는 초점 길이들을 갖는 상이한 이미지 캡처링 디바이스들(예컨대, 이미지 캡처링 디바이스(102 및 104))을 사용하여 캡처될 수 있다. 일부 예들에서, 제1 이미지 및 제2 이미지는 상이한 이미지 센서들 및/또는 렌즈들을 사용하여 캡처될 수 있다. 상이한 이미지 센서들 및/또는 렌즈들은 상이한 FOV들을 갖는 이미지들을 생성할 수 있다. 일부 경우에, 제1 이미지 및 제2 이미지는 상이한 렌즈들을 사용하여 캡처될 수 있고, 상이한 렌즈들은 하나 이상의 망원 렌즈, 광각 렌즈, 초광각 렌즈, 표준 렌즈, 및/또는 줌 렌즈를 포함할 수 있다. 일부 경우에, 제1 이미지 및 제2 이미지는 동일한 이미지 캡처 디바이스를 사용하여 캡처될 수 있다. 예를 들어, 서로 다른 FOV를 갖는 이미지 캡처 디바이스는 서로 다른 FOV를 이용하여 상기 제1 및 제2 이미지를 캡처할 수 있다.
블록(604)에서, 프로세스(600)는, 제1 이미지에 기초하여, 제1 이미지 내의 제1 추정된 전경 영역과 연관된 전경 예측 값들을 포함하는 제1 세그먼트화 맵(예를 들어, 제1 확률 맵(312 또는 364))을 결정하는 단계를 포함할 수 있다.
일부 예들에서, 제1 세그먼트화 맵을 결정하는 것은 제1 이미지로부터 슈퍼픽셀들을 추출하는 것; 이미지 쿼리들의 세트(예를 들어, 쿼리들(508, 510, 512))를 생성하는 것 - 각각의 이미지 쿼리는 추출된 슈퍼픽셀들 및 하나 이상의 구별되는 픽셀 속성들(예를 들어, 컬러, 텍스처, 밝기 등)에 의해 마킹된 슈퍼픽셀들의 상이한 경계 영역을 포함함 -; 이미지 쿼리들의 세트에 기초하여 세그먼트화 확률 맵들의 세트(예를 들어, 확률 맵들(518, 520, 522))를 생성하는 것; 및 세그먼트화 확률 맵들의 세트를 멀티플라잉함으로써 제1 세그먼트화 맵을 생성하는 것을 포함할 수 있다.
일부 예들에서, 각각의 이미지 쿼리의 세그먼트화 확률 맵은 이미지 쿼리와 연관된 슈퍼픽셀들의 하나 이상의 다른 영역들과 슈퍼픽셀들의 상이한 경계 영역 사이의 차이에 적어도 부분적으로 기초하여 전경 확률들을 추정하기 위해 하나 이상의 매니폴드 랭킹 함수들을 사용하여 생성된다.
블록(606)에서, 프로세스(600)는, 제2 이미지에 기초하여, 제2 이미지 내의 제2 추정된 전경 영역과 연관된 전경 예측 값들을 포함하는 제2 세그먼트화 맵(예를 들어, 제2 확률 맵(314 또는 366))을 결정하는 단계를 포함할 수 있다.
일부 예들에서, 제2 세그먼트화 맵을 결정하는 것은 제2 이미지로부터 슈퍼픽셀들을 추출하는 것; 이미지 쿼리들의 추가 세트(예를 들어, 쿼리들(508, 510, 512))를 생성하는 것 - 각각의 추가 이미지 쿼리는 제2 이미지로부터의 추출된 슈퍼픽셀들 및 하나 이상의 구별되는 픽셀 속성들(예를 들어, 컬러, 텍스처, 밝기 등)에 의해 마킹된 슈퍼픽셀들의 상이한 경계 영역을 포함함 -; 이미지 쿼리들의 추가 세트에 기초하여 세그먼트화 확률 맵들의 추가 세트(예를 들어, 확률 맵들(518, 520, 522))를 생성하는 것; 및 세그먼트화 확률 맵들의 추가 세트를 멀티플라잉함으로써 제2 세그먼트화 맵을 생성하는 것을 포함할 수 있다.
일부 예들에서, 각각의 추가적인 이미지 쿼리의 세그먼트화 확률 맵은 추가적인 이미지 쿼리와 연관된 슈퍼픽셀들의 하나 이상의 다른 영역들과 슈퍼픽셀들의 상이한 경계 영역 사이의 차이에 적어도 부분적으로 기초하여 전경 확률들을 추정하기 위해 하나 이상의 매니폴드 랭킹 함수들을 사용하여 생성된다.
일부 예들에서, 제1 세그먼트화 맵 및/또는 제2 세그먼트화 맵은 딥 뉴럴 네트워크(예를 들어, DNN(122))를 사용하여 생성될 수 있다. 일부 경우들에서, 제1 세그먼트화 맵 및/또는 제2 세그먼트화 맵은 트레이닝된 뉴럴 네트워크를 사용하여 생성될 수 있다. 일부 경우에, 트레이닝된 뉴럴 네트워크는 딥 뉴럴 네트워크일 수 있다. 다른 예들에서, 제1 세그먼트화 맵 및/또는 제2 세그먼트화 맵은 그래프 기반 매니폴드 랭킹과 같은 비-DNN 기술을 사용하여 생성될 수 있다.
블록(608)에서, 프로세스(600)는 제 1 세그먼트화 맵 및 제 2 세그먼트화 맵에 기초하여 제 3 세그먼트화 맵(예를 들어, 추론된 제 2 확률 맵(318) 또는 출력 맵(370))을 생성하는 단계를 포함할 수 있다. 일부 예들에서, 제3 세그먼트화 맵은 제2 이미지의 크기 및/또는 제2 이미지의 해상도에 따라 수정된 제1 세그먼트화 맵을 포함할 수 있다.
일부 예들에서, 제3 세그먼트화 맵을 생성하는 것은 제1 세그먼트화 맵을 제2 이미지의 크기로 크로핑하는 것을 포함할 수 있다. 일부 예들에서, 제 3 세그먼트화 맵을 생성하는 것은 또한, 제 1 세그먼트화 맵을 크로핑한 후에, 제 2 이미지의 해상도에 따라 제 1 세그먼트화 맵을 업샘플링하는 것을 포함할 수 있다.
블록(610)에서, 프로세스(600)는, 제2 세그먼트화 맵 및 제3 세그먼트화 맵을 사용하여, 타겟의 적어도 일부를 제1 이미지 및/또는 제2 이미지의 전경 영역으로서 식별하는 리파이닝된 세그먼트화 마스크(예를 들어, 리파이닝된 세그먼트화 마스크(330 또는 374))를 생성하는 것을 포함할 수 있다.
일부 예들에서, 리파이닝된 세그먼트화 마스크를 생성하는 것은 제2 세그먼트화 맵 및 제3 세그먼트화 맵을 퓨징(예를 들어, 결합, 연결, 병합 등)함으로써 퓨징된 세그먼트화 맵(예를 들어, 퓨징된 확률 맵(322) 또는 퓨징된 확률 맵(372))을 생성하는 것, 및 퓨징된 세그먼트화 맵에 기초하여 리파이닝된 세그먼트화 마스크를 생성하는 것을 포함할 수 있다. 일부 예들에서, denseCRF 모델은 리파이닝된 세그먼트화 마스크를 생성하기 위해 퓨징된 세그먼트화 맵에 적용될 수 있다. 일부 경우들에서, 제 2 세그먼트화 맵과 제 3 세그먼트화 맵을 퓨징하는 것은, 제 2 세그먼트화 맵에서의 전경 예측 값들 및 제 3 세그먼트화 맵에서의 전경 예측 값들을 평균화하는 것을 포함할 수 있다. 일부 예들에서, 퓨징된 세그먼트화 맵은 평균화된 전경 예측 값들을 포함할 수 있다.
일부 경우들에서, 퓨징된 세그먼트화 맵을 생성하는 것은 제2 세그먼트화 맵 및 제3 세그먼트화 맵을 퓨징하는 것, 및 센터 프라이어 맵(예를 들어, 센터 프라이어 맵(326))을 제2 세그먼트화 맵 및 제3 세그먼트화 맵의 퓨징의 출력과 멀티플라잉하는 것을 포함할 수 있다.
일부 양태들에서, 프로세스(600)는 제1 이미지 및/또는 제2 이미지 내의 슈퍼픽셀들에 대한 전경 확률들을 계산하는 단계, 및 전경 확률들에 기초하여 센터 프라이어 맵을 생성하는 단계를 포함할 수 있다. 일부 예들에서, 각각의 전경 확률은 연관된 슈퍼픽셀의 이미지 중심까지의 거리에 기초하여 계산된다.
일부 양태들에서, 프로세스(600)는 리파이닝된 세그먼트화 마스크에 기초하여 편집된 이미지를 생성하는 단계를 포함할 수 있다. 일부 예들에서, 편집된 이미지는 제 1 이미지 또는 제 2 이미지에 기초할 수 있다. 일부 경우들에서, 편집된 이미지는, 예를 들어, 제한 없이, 시각적 효과, 확장된 현실 효과, 이미지 프로세싱 효과, 블러링 효과, 이미지 인식 효과, 세그먼트화 효과, 컴퓨터 그래픽 효과, 크로마 키잉 효과, 이미지 스타일화 효과 등과 같은 하나 이상의 효과들을 포함할 수 있다. 예시적인 예로, 편집된 이미지에 블러링 효과가 포함될 수 있다.
일부 양태들에서, 프로세스(600)는 블러링 효과를 포함하도록 수정된 제1 이미지 또는 제2 이미지를 포함하는 출력 이미지(예를 들어, 출력 이미지(334 또는 378))를 생성하는 단계를 포함할 수 있다. 일부 예들에서, 블러링 효과는 리파이닝된 세그먼트화 마스크에 기초할 수 있다. 일부 경우들에서, 출력 이미지를 생성하는 것은, 리파이닝된 세그먼트화 마스크에 기초하여, 전경 영역의 외부에 위치된 하나 이상의 이미지 영역들(예를 들어, 하나 이상의 배경 영역들)에 블러링 효과를 적용하는 것을 포함할 수 있다. 일부 예들에서, 블러링 효과는 하나 이상의 이미지 영역이 적어도 부분적으로 블러링되고 전경 영역이 적어도 부분적으로 초점이 맞는 피사계 심도 효과를 포함할 수 있다.
일부 경우들에서, 피사계 심도 효과는 하나 이상의 LIDAR들, 레이더들, 광 센서들, 심도 센서들 등과 같은 하나 이상의 센서들로부터의 심도 정보 및/또는 측정들을 사용하여 생성될 수 있다. 일부 예들에서, 심도 정보 및/또는 측정들은 스테레오 비전, LIDAR 기술들, 및/또는 위상 검출(PD)을 사용하여 도출될 수 있다.
일부 양태들에서, 프로세스(600)는 제3 이미지에 기초하여, 제4 세그먼트화 맵을 결정하는 단계를 포함할 수 있다. 일부 예들에서, 제4 세그먼트화 맵은 제3 이미지에서 추정된 전경 영역과 연관된 전경 값들을 포함할 수 있다. 제3 이미지는 제1 및/또는 제2 이미지들과 동일하거나 상이한 이미지 캡처 디바이스로부터 캡처될 수 있다. 일부 예들에서, 프로세스(600)는 이미징 모드(예를 들어, 초상 모드, 녹색 스크리닝 등)의 사용자 선택에 응답하여 세그먼트화 맵들을 생성하는 것을 포함할 수 있다.
프로세스(600)가 상이한 FOV들을 갖는 제1 이미지 및 제2 이미지에 대해 설명되지만, 다른 예들은 2개보다 많은 이미지들 및/또는 FOV들을 사용할 수 있다. 예를 들어, 일부 경우들에서, 프로세스(600)는 하나 이상의 광각 렌즈들을 사용하여 생성된 하나 이상의 광각 이미지들, 하나 이상의 초광각 렌즈들을 사용하여 생성된 하나 이상의 초광각 이미지들, 하나 이상의 망원 렌즈들(예를 들어, 짧은 망원 렌즈, 중간 망원 렌즈, 초망원 렌즈 등)을 사용하여 생성된 하나 이상의 망원 이미지들, 하나 이상의 표준 렌즈들을 사용하여 생성된 (예를 들어, 하나 이상의 광각 이미지들 및/또는 망원 이미지들에 대한) 하나 이상의 상이한 및/또는 동일한 FOV들을 갖는 하나 이상의 이미지들, 하나 이상의 줌 렌즈들을 사용하여 생성된 하나 이상의 줌 이미지들, 임의의 다른 타입들의 렌즈들로부터 생성된 임의의 다른 타입들의 이미지들, 및/또는 이들의 임의의 조합을 사용할 수 있다.
일부 예들에서, 프로세스(600)는 하나 이상의 컴퓨팅 디바이스들 또는 장치들에 의해 수행될 수 있다. 하나의 예시적인 예에서, 프로세스(600)는 도 1에 도시된 이미지 프로세싱 시스템(100) 및/또는 도 7에 도시된 컴퓨팅 디바이스 아키텍처(700)를 갖는 하나 이상의 컴퓨팅 디바이스에 의해 수행될 수 있다. 일부 경우들에서, 그러한 컴퓨팅 디바이스 또는 장치는 프로세스 (600) 의 단계들을 수행하도록 구성되는 프로세서, 마이크로프로세서, 마이크로컴퓨터, 또는 디바이스의 다른 컴포넌트를 포함할 수도 있다. 일부 예들에서, 이러한 컴퓨팅 디바이스 또는 장치는 이미지 데이터를 캡처하도록 구성된 하나 이상의 센서들을 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스는 스마트폰, 헤드 마운트 디스플레이, 모바일 디바이스, 카메라, 태블릿 컴퓨터, 또는 다른 적절한 디바이스를 포함할 수 있다. 일부 예들에서, 이러한 컴퓨팅 디바이스 또는 장치는 하나 이상의 이미지 또는 비디오를 캡처하도록 구성된 카메라를 포함할 수 있다. 일부 경우들에서, 이러한 컴퓨팅 디바이스는 이미지들을 디스플레이하기 위한 디스플레이를 포함할 수 있다. 일부 예들에서, 하나 이상의 센서들 및/또는 카메라는 컴퓨팅 디바이스로부터 분리되며, 이 경우 컴퓨팅 디바이스는 감지된 데이터를 수신한다. 이러한 컴퓨팅 디바이스는 데이터를 통신하도록 구성된 네트워크 인터페이스를 더 포함할 수 있다.
컴퓨팅 디바이스의 컴포넌트들은 회로에서 구현될 수 있다. 예를 들어, 컴포넌트들은 본 명세서에서 설명된 다양한 동작들을 수행하기 위해, 하나 이상의 프로그래밍가능 전자 회로들 (예컨대, 마이크로프로세서들, 그래픽스 프로세싱 유닛들 (GPU들), 디지털 신호 프로세서들 (DSP들), 중앙 프로세싱 유닛들 (CPU들), 및/또는 다른 적합한 전자 회로들) 을 포함할 수 있는 전자 회로들 또는 다른 전자 하드웨어를 포함할 수 있고/있거나 이들을 사용하여 구현될 수 있고, 및/또는 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합을 포함할 수 있고/있거나 이들을 사용하여 구현될 수 있다. 컴퓨팅 디바이스는 (출력 디바이스의 예로서 또는 출력 디바이스에 추가하여) 디스플레이, 데이터를 통신 및/또는 수신하도록 구성된 네트워크 인터페이스, 이들의 임의의 조합, 및/또는 다른 컴포넌트(들)를 더 포함할 수 있다. 네트워크 인터페이스는 인터넷 프로토콜(IP) 기반 데이터 또는 다른 유형의 데이터를 통신 및/또는 수신하도록 구성될 수 있다.
프로세스 (600) 는 논리 흐름도로서 나타나 있고, 그의 동작들은 하드웨어, 컴퓨터 명령들또는 이들의 조합으로 구현될 수 있는 동작들의 시퀀스를 표현한다. 컴퓨터 명령들의 맥락에서, 그 동작들은, 하나 이상의 프로세서들에 의해 실행될 경우, 기재된 동작들을 수행하는 하나 이상의 컴퓨터 판독가능 저장 매체들 상에 저장된 컴퓨터 실행가능 명령들을 나타낸다. 일반적으로, 컴퓨터 실행가능 명령들은, 특정 기능들을 수행하거나 또는 특정 데이터 타입들을 구현하는 루틴들, 프로그램들, 오브젝트들, 컴포넌트들, 데이터 구조들 등을 포함한다. 동작들이 설명되는 순서는 제한으로서 해석되도록 의도되지 않으며, 임의의 수의 설명된 동작들은 프로세스들을 구현하기 위해 임의의 순서로 및/또는 병렬로 결합될 수 있다.
추가적으로, 프로세스 (600) 는 실행가능 명령들로 구성된 하나 이상의 컴퓨터 시스템들의 제어 하에서 수행될 수도 있고, 집합적으로 하나 이상의 프로세서 상에서 실행하는 코드 (예를 들어, 실행가능 명령들, 하나 이상의 컴퓨터 프로그램들, 또는 하나 이상의 애플리케이션들) 로서, 하드웨어에 의해, 또는 이들의 조합으로 구현될 수도 있다. 앞서 언급된 바와 같이, 코드는 컴퓨터 판독가능 또는 머신 판독가능 저장 매체 상에, 예를 들어, 하나 이상의 프로세서들에 의해 실행가능한 복수의 명령들을 포함하는 컴퓨터 프로그램의 형태로 저장될 수도 있다. 컴퓨터 판독가능 또는 머신 판독가능 저장 매체는 비일시적일 수도 있다.
도 7은 본 명세서에 설명된 다양한 기술을 구현할 수 있는 예시적인 컴퓨팅 디바이스의 예시적인 컴퓨팅 디바이스 아키텍처(700)를 도시한다. 예를 들어, 컴퓨팅 디바이스 아키텍처(700)는 도 1에 도시된 이미지 프로세싱 시스템(100)의 적어도 일부 부분들을 구현할 수 있다. 컴퓨팅 디바이스 아키텍처 (700) 의 컴포넌트들은 버스와 같은 커넥션 (705) 을 사용하여 서로 전기적으로 통신하는 것으로 도시된다. 예시적인 컴퓨팅 디바이스 아키텍처 (700) 는 프로세싱 유닛 (CPU 또는 프로세서) (710), 및 판독 전용 메모리 (ROM) (720) 및 랜덤 액세스 메모리 (RAM) (725) 와 같은 컴퓨팅 디바이스 메모리 (715) 를 포함하는 다양한 컴퓨팅 디바이스 컴포넌트들을 프로세서 (710) 에 커플링하는 컴퓨팅 디바이스 커넥션 (705) 을 포함한다.
컴퓨팅 디바이스 아키텍처 (700) 는 프로세서 (710) 와 직접 연결되거나, 매우 근접하거나, 또는 프로세서 (910) 의 일부로서 통합된 고속 메모리의 캐시를 포함할 수 있다. 컴퓨팅 디바이스 아키텍처 (700) 는 프로세서 (710) 에 의한 빠른 액세스를 위해 메모리 (715) 및/또는 저장 디바이스 (730) 로부터 캐시 (712) 로 데이터를 복사할 수 있다. 이러한 방식으로, 캐시는 데이터를 기다리는 동안 프로세서 (710) 지연을 방지하는 성능 부스트를 제공할 수 있다. 이들 및 다른 모듈들은 다양한 액션들을 수행하도록 프로세서 (710) 를 제어하거나 제어하도록 구성될 수 있다. 다른 컴퓨팅 디바이스 메모리 (715) 가 또한 사용가능할 수도 있다. 메모리 (715) 는 상이한 성능 특성들을 갖는 다수의 상이한 타입들의 메모리를 포함할 수 있다.
프로세서 (710) 는, 임의의 범용 프로세서 및 프로세서 (710) 를 제어하도록 구성된, 저장 디바이스(730) 에 저장된, 서비스 1 (732), 서비스 2 (734), 및 서비스 3 (736)과 같은, 하드웨어 또는 소프트웨어 서비스뿐만 아니라, 소프트웨어 명령들이 프로세서 설계에 통합되는 특수 목적 프로세서를 포함할 수 있다. 프로세서 (710) 는 다중 코어 또는 프로세서, 버스, 메모리 컨트롤러, 캐시 등을 포함하는 독립형 시스템일 수도 있다. 다중 코어 프로세서는 대칭 또는 비대칭일 수도 있다.
컴퓨팅 디바이스 아키텍처 (700) 와의 사용자 상호작용을 가능하게 하기 위해, 입력 디바이스 (745) 는 스피치를 위한 마이크로폰, 제스처 또는 그래픽 입력을 위한 터치 감지 스크린, 키보드, 마우스, 모션 입력, 스피치 등과 같은 임의의 수의 입력 메커니즘을 나타낼 수 있다. 출력 디바이스(735)는 또한 디스플레이, 프로젝터, 텔레비전, 스피커 디바이스와 같은, 당업자에게 공지된 다수의 출력 메커니즘 중 하나 이상일 수 있다. 일부 경우들에서, 멀티모달 컴퓨팅 디바이스들은 사용자가 컴퓨팅 디바이스 아키텍처(700)와 통신하기 위해 다수의 유형들의 입력을 제공하는 것을 가능하게 할 수 있다. 통신 인터페이스 (740) 는 일반적으로 사용자 입력 및 컴퓨팅 디바이스 출력을 제어하고 관리할 수 있다. 임의의 특정 하드웨어 배열에 대해 동작하는 것에 대한 제한은 없으며, 따라서 여기서 기본 특징들은 이들이 개발됨에 따라 개선된 하드웨어 또는 펌웨어 배열들을 쉽게 대체할 수도 있다.
저장 디바이스 (730) 는 비휘발성 메모리이고, 하드 디스크 또는 자기 카세트, 플래시 메모리 카드, 고체 상태 메모리 디바이스, 디지털 다기능 디스크, 카트리지, 랜덤 액세스 메모리들 (RAM들) (175), 판독 전용 메모리 (ROM) (720) 및 이들의 하이브리드와 같은, 컴퓨터에 의해 액세스가능한 데이터를 저장할 수 있는 다른 유형의 컴퓨터 판독가능 매체일 수 있다. 저장 디바이스 (730) 는 프로세서 (710) 를 제어하기 위한 서비스들 (732, 734, 736) 을 포함할 수 있다. 다른 하드웨어 또는 소프트웨어 모듈들이 고려된다. 저장 디바이스 (730) 는 컴퓨팅 디바이스 커넥션 (705) 에 접속될 수 있다. 일 양태에서, 특정 기능을 수행하는 하드웨어 모듈은, 그 기능을 수행하기 위해, 프로세서 (710), 커넥션 (705), 출력 디바이스 (735) 등과 같은 필요한 하드웨어 컴포넌트들과 관련하여 컴퓨터 판독가능 매체에 저장된 소프트웨어 컴포넌트를 포함할 수 있다.
용어 "컴퓨터 판독가능 매체" 는 휴대용 또는 비-휴대용 저장 디바이스들, 광학 저장 디바이스들, 및 명령(들) 및/또는 데이터를 저장, 포함, 또는 수록 가능한 다양한 다른 매체들을 포함하지만 이에 한정되지 않는다. 컴퓨터 판독가능 매체는, 데이터가 저장될 수 있고 그리고 무선으로 또는 유선 커넥션들 상으로 전파하는 일시적인 전자 신호들 및/또는 캐리어파들을 포함하지 않는 비일시적인 매체를 포함할 수도 있다. 비일시적인 매체의 예들은 자기 디스크 또는 테이프, 컴팩트 디스크 (CD) 또는 디지털 다기능 디스크 (DVD) 와 같은 광학 저장 매체들, 플래시 메모리, 메모리 또는 메모리 디바이스들을 포함할 수도 있지만 이에 한정되지 않는다. 컴퓨터 판독가능 매체는, 절차, 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령들, 데이터 구조들, 또는 프로그램 스테이트먼트들의 임의의 조합을 나타낼 수도 있는 코드 및/또는 머신 실행가능 명령들이 저장될 수도 있다. 코드 세그먼트는, 정보, 데이터, 인수들 (arguments), 파라미터들, 또는 메모리 컨텐츠를 전달 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 커플링될 수도 있다. 정보, 인수들, 파라미터들, 데이터 등은 메모리 공유, 메시지 전달, 토큰 전달, 네트워크 전송 등을 포함한 임의의 적합한 수단을 통해 전달, 포워딩, 또는 전송될 수도 있다.
일부 실시형태들에 있어서, 컴퓨터 판독가능 저장 디바이스들, 매체들, 및 메모리들은 비트 스트림 등을 포함하는 무선 신호 또는 케이블을 포함할 수 있다. 하지만, 언급될 때, 비일시적인 컴퓨터 판독가능 저장 매체들은 에너지, 캐리어 신호들, 전자기 파들, 및 신호들 그 자체와 같은 매체들을 명시적으로 배제한다.
특정 상세들이, 본 명세서에서 제공된 실시형태들 및 예들의 철저한 이해를 제공하기 위해 상기 설명에서 제공된다. 하지만, 실시형태들은 이들 특정 상세들없이 실시될 수도 있음이 당업자에 의해 이해될 것이다. 설명의 명료성을 위해, 일부 사례들에서, 본 기술은 디바이스들, 디바이스 컴포넌트들, 소프트웨어로 구체화된 방법의 단계들 또는 루틴들, 또는 하드웨어와 소프트웨어의 조합들을 포함하는 개별의 기능적 블록들을 포함하는 것으로서 제시될 수도 있다. 도면들에서 도시되고/되거나 본 명세서에서 설명된 것들 이외의 추가적인 컴포넌트들이 사용될 수도 있다. 예를 들어, 회로들, 시스템들, 네트워크들, 프로세스들 및 다른 컴포넌트들은, 실시형태들을 불필요한 상세로 불명료하게 하지 않기 위하여 블록 다이어그램 형태의 컴포넌트들로서 도시될 수도 있다. 다른 사례들에 있어서, 널리 공지된 회로들, 프로세스들, 알고리즘들, 구조들, 및 기법들은 실시형태들을 불명료하게 하는 것을 회피하기 위하여 불필요한 상세없이 도시될 수도 있다.
개별 실시형태들은, 플로우차트, 플로우 다이어그램, 데이터 플로우 다이어그램, 구조 다이어그램, 또는 블록 다이어그램으로서 도시되는 프로세스 또는 방법으로서 상기 설명될 수도 있다. 비록 플로우차트가 동작들을 순차적인 프로세스로서 기술할 수도 있지만, 동작들 중 다수는 병렬로 또는 동시에 수행될 수 있다. 부가적으로, 동작들의 순서는 재배열될 수도 있다. 프로세스는, 그의 동작들이 완료될 때 종료되지만, 도면에 포함되지 않은 추가적인 단계들을 가질 수 있다. 프로세스는 방법, 함수, 절차, 서브루틴, 서브프로그램 등에 대응할 수도 있다. 프로세스가 함수에 대응할 경우, 그의 종료는 그 함수의 호출 함수 또는 메인 함수로의 복귀에 대응할 수 있다.
전술한 예들에 따른 프로세스들 및 방법들은 컴퓨터 판독가능 매체들에 저장되거나 또는 다르게는 그로부터 이용가능한 컴퓨터 실행가능 명령들을 사용하여 구현될 수 있다. 이러한 명령들은, 예를 들어, 범용 컴퓨터, 특수 목적 컴퓨터, 또는 프로세싱 디바이스가 소정의 기능 또는 기능들의 그룹을 수행하게 하거나 또는 다르게는 수행하도록 구성하는 명령들 및 데이터를 포함할 수 있다. 사용되는 컴퓨터 리소스들의 부분들은 네트워크를 통해 액세스가능할 수 있다. 컴퓨터 실행 가능 명령들은 예를 들어 바이너리, 중간 형식 명령, 예컨대 어셈블리 언어, 펌웨어, 소스 코드일 수도 있다. 설명된 예들에 따른 방법들 동안 명령들, 사용된 정보, 및/또는 생성된 정보를 저장하기 위해 사용될 수도 있는 컴퓨터 판독가능 매체들의 예들은 자기 또는 광학 디스크들, 플래시 메모리, 비휘발성 메모리가 제공된 USB 디바이스들, 네트워킹된 저장 디바이스들 등을 포함한다.
이들 개시들에 따른 프로세스들 및 방법들을 구현하는 디바이스들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션 언어들, 또는 이들의 임의의 조합을 포함할 수 있으며, 다양한 폼 팩터들 중 임의의 것을 취할 수 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드에서 구현될 경우, 필요한 태스크들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들 (예컨대, 컴퓨터 프로그램 제품) 은 컴퓨터 판독가능 또는 머신 판독가능 매체에 저장될 수도 있다. 프로세서(들)는 필요한 태스크들을 수행할 수도 있다. 폼 팩터들의 통상적인 예들은 랩탑들, 스마트 폰들, 모바일 폰들, 태블릿 디바이스들 또는 다른 소형 폼 팩터 개인용 컴퓨터들, 개인용 디지털 보조기들, 랙마운트 디바이스들, 자립형 디바이스들 등을 포함한다. 본 명세서에서 설명된 기능은 또한, 주변기기들 또는 애드-인 (add-in) 카드들에서 구현될 수 있다. 그러한 기능은 또한, 추가의 예에 의해, 단일 디바이스에서 실행되는 상이한 칩들 또는 상이한 프로세스들 중에서 회로 보드 상에서 구현될 수 있다.
명령들, 그러한 명령들을 운반하기 위한 매체들, 그것들을 실행하기 위한 컴퓨팅 리소스들, 및 그러한 컴퓨팅 리소스들을 지원하기 위한 다른 구조들은 본 개시에서 설명된 기능들을 제공하기 위한 예시적인 수단들이다.
전술한 설명에 있어서, 본 출원의 양태들은 그의 특정 실시형태들을 참조하여 설명되지만, 당업자는 본 출원이 그에 한정되지 않음을 인식할 것이다. 따라서, 본 출원의 예시적인 실시형태들이 본 명세서에서 상세히 설명되었지만, 발명적 개념들은 달리 다양하게 구현되고 채용될 수도 있으며, 첨부된 청구항들은 종래 기술에 의해 한정되는 것을 제외하고는 그러한 변동들을 포함하는 것으로 해석되도록 의도됨이 이해되어야 한다. 상기 설명된 어플리케이션의 다양한 특징들 및 양태들은 개별적으로 또는 공동으로 사용될 수도 있다. 추가로, 실시형태들은 본 명세서의 더 넓은 사상 및 범위로부터 일탈함없이 본 명세서에서 설명된 것들을 넘어서는 임의의 수의 환경들 및 어플리케이션들에서 활용될 수 있다. 본 명세서 및 도면들은, 이에 따라, 제한적이라기 보다는 예시적인 것으로서 간주되어야 한다. 예시의 목적으로, 방법들은 특정 순서로 설명되었다. 대안적인 실시형태들에 있어서, 방법들은 설명된 것과는 상이한 순서로 수행될 수도 있음이 인식되어야 한다.
당업자는 본 명세서에 사용된 미만 ("<") 및 초과 (">") 심볼들 또는 용어가 본 설명의 범위로부터 일탈함없이 각각 이하 ("≤") 및 이상 ("≥") 심볼들로 교체될 수 있음을 인식할 것이다.
컴포넌트들이 특정 동작들을 수행하도록 "구성된" 것으로서 설명되는 경우, 그러한 구성은 예를 들어, 전자 회로들 또는 다른 하드웨어를 설계하여 그 동작을 수행하는 것에 의해, 프로그래밍가능 전자 회로들 (예컨대, 마이크로프로세서들 또는 다른 적합한 전자 회로들) 을 프로그래밍하여 그 동작을 수행하는 것에 의해, 또는 이들의 임의의 조합에 의해, 달성될 수 있다.
어구 "에 커플링된 (coupled to)" 은 직접 또는 간접적으로 중 어느 하나로 다른 컴포넌트에 물리적으로 접속된 임의의 컴포넌트, 및/또는 직접 또는 간접적으로 중 어느 하나로 다른 컴포넌트와 통신하는 (예컨대, 유선 또는 무선 접속, 및/또는 다른 적합한 통신 인터페이스를 통해 다른 컴포넌트에 접속된) 임의의 컴포넌트를 지칭한다.
세트 "중 적어도 하나" 또는 세트 "중 하나 이상" 을 인용하는 청구항 언어 또는 다른 언어는 그 세트의 하나의 멤버 또는 그 세트의 다중의 멤버들 (임의의 조합) 이 청구항을 충족하는 것을 나타낸다. 예를 들어, "A 및 B 중 적어도 하나" 또는 "A 또는 B 중 적어도 하나"를 인용하는 청구항 언어는 A, B, 또는 A 및 B 를 의미한다. 다른 예에서, "A, B, 및 C 중 적어도 하나" 또는 "A, B, 또는 C 중 적어도 하나"를 인용하는 청구항 언어는 A, B, C, 또는 A 및 B, 또는 A 및 C, 또는 B 및 C, 또는 A 및 B 및 C 를 의미한다. 언어 세트 “중 적어도 하나” 및/또는 세트 중 "하나 이상" 은 세트를 그 세트에 열거된 항목들로 제한하지 않는다. 예를 들어, "A 및 B 중 적어도 하나" 또는 "A 또는 B 중 적어도 하나" 를 인용하는 청구항 언어는 A, B, 또는 A 및 B 를 의미할 수 있으며, A 및 B 의 세트에 열거되지 않은 항목들을 추가적으로 포함할 수 있다.
본 명세서에 개시된 예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 조합들로서 구현될 수도 있다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 분명히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 일반적으로 그들의 기능의 관점에서 상기 설명되었다. 이러한 기능이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지는 전체 시스템에 부과된 설계 제약들 및 특정 애플리케이션에 의존한다. 당업자는 설명된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수도 있지만, 그러한 구현 결정들이 본 출원의 범위로부터의 일탈을 야기하는 것으로서 해석되지는 않아야 한다.
본 명세서에서 설명된 기법들은 또한 전자 하드웨어, 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수도 있다. 그러한 기법들은 범용 컴퓨터들, 무선 통신 디바이스 핸드셋들, 또는 무선 통신 디바이스 핸드셋들 및 다른 디바이스들에서의 애플리케이션을 포함한 다중 사용들을 갖는 집적 회로 디바이스들과 같은 다양한 디바이스들 중 임의의 것에서 구현될 수도 있다. 모듈들 또는 컴포넌트들로서 설명된 임의의 특징들은 집적된 로직 디바이스에서 함께 또는 별개지만 상호운용가능한 로직 디바이스들로서 별도로 구현될 수도 있다. 소프트웨어에서 구현되는 경우, 그 기법들은, 실행될 경우, 전술한 방법들, 알고리즘들, 및/또는 동작들 중 하나 이상을 수행하는 명령들을 포함하는 프로그램 코드를 포함하는 컴퓨터 판독가능 데이터 저장 매체에 의해 적어도 부분적으로 실현될 수도 있다. 컴퓨터 판독가능 데이터 저장 매체는 패키징 재료들을 포함할 수도 있는 컴퓨터 프로그램 제품의 부분을 형성할 수도 있다. 컴퓨터 판독가능 매체는 메모리 또는 데이터 저장 매체, 이를테면 RAM (random access memory) 이를테면, SDRAM (synchronous dynamic random access memory), ROM (read-only memory), NVRAM (non-volatile random access memory), EEPROM (electrically erasable programmable read-only memory), FLASH 메모리, 자기 또는 광학 데이터 저장 매체 등을 포함할 수도 있다. 그 기법들은, 추가적으로 또는 대안적으로, 전파된 신호들 또는 파들과 같이, 명령들 또는 데이터 구조들의 형태로 프로그램 코드를 운반 또는 통신하고 그리고 컴퓨터에 의해 액세스, 판독, 및/또는 실행될 수 있는 컴퓨터 판독가능 통신 매체에 의해 적어도 부분적으로 실현될 수도 있다.
프로그램 코드는 하나 이상의 프로세서들, 이를테면 하나 이상의 디지털 신호 프로세서들(DSP들), 범용 마이크로프로세서들, 주문형 집적회로들(ASIC들), 필드 프로그램가능 로직 어레이들(FPGA들), 또는 다른 동등한 집적 또는 개별 로직 회로를 포함할 수도 있는 프로세서에 의해 실행될 수도 있다. 이러한 프로세서는 본 개시물에서 설명되는 기법들 중 임의의 것을 수행하도록 구성될 수도 있다. 범용 프로세서가 마이크로프로세서일 수도 있지만, 대체예에서, 그 프로세서는 기존의 임의의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들면, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 연계한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성으로서 구현될 수도 있다. 따라서, 본 명세서에서 사용된 바와 같은 용어 "프로세서" 는 전술한 구조, 전술한 구조의 임의의 조합, 또는 본 명세서에서 설명된 기법들의 구현에 적합한 임의의 다른 구조 또는 장치 중 임의의 것을 지칭할 수도 있다.
본 개시의 예시적 양태들들은 다음을 포함한다:
양태 1: 하나 이상의 이미지들을 프로세싱하기 위한 장치로서, 메모리; 및 상기 메모리에 커플링된 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은, 타겟의 제1 이미지 및 상기 타겟의 제2 이미지를 획득하는 것으로서, 상기 제1 이미지는 제1 FOV를 갖고 상기 제2 이미지는 상기 제1 FOV와 상이한 제2 FOV를 갖는, 상기 타겟의 제1 이미지 및 상기 타겟의 제2 이미지를 획득하는 것을 수행하도록; 상기 제1 이미지에 기초하여, 상기 제1 이미지에서의 제1 추정된 전경 영역과 연관된 전경 값들을 포함하는 제1 세그먼트화 맵을 결정하도록; 상기 제2 이미지에 기초하여, 상기 제2 이미지에서의 제2 추정된 전경 영역과 연관된 전경 값들을 포함하는 제2 세그먼트화 맵을 결정하도록; 상기 제1 세그먼트화 맵 및 상기 제2 세그먼트화 맵에 기초하여 제3 세그먼트화 맵을 생성하도록; 그리고 상기 제2 세그먼트화 맵 및 상기 제3 세그먼트화 맵을 사용하여, 상기 타겟의 적어도 일부를 상기 제1 이미지 및 상기 제2 이미지 중 적어도 하나의 전경 영역으로서 식별하는 리파이닝된 세그먼트화 마스크를 생성하도록 구성되는, 장치.
양태 2: 양태 1 에 있어서, 상기 리파이닝된 세그먼트화 마스크를 생성하는 단계는, 상기 제2 세그먼트화 맵 및 상기 제3 세그먼트화 맵을 퓨징함으로써 퓨징된 세그먼트화 맵을 생성하는 단계; 및 상기 퓨징된 세그먼트화 맵에 기초하여 상기 리파이닝된 세그먼트화 마스크를 생성하는 단계를 포함하는, 장치.
양태 3: 양태 1 내지 양태 2 중 어느 하나에 있어서, 상기 하나 이상의 프로세서들은, 상기 리파이닝된 세그먼트화 마스크에 기초하여 편집된 이미지를 생성하도록 구성되는, 장치.
양태 4: 양태 3 에 있어서, 편집된 이미지는 제 1 이미지 또는 제 2 이미지 중 하나에 기초하는, 장치.
양태 5: 양태 3 또는 4 에 있어서, 편집된 이미지는 시각적 효과, 확장된 현실 효과, 이미지 프로세싱 효과, 블러링 효과, 이미지 인식 효과, 세그먼트화 효과, 컴퓨터 그래픽 효과, 크로마 키잉 효과, 및 이미지 스타일화 효과 중 적어도 하나를 포함하는, 장치.
양태 6: 양태 3 또는 4 에 있어서, 편집된 이미지는 블러링 효과를 포함하는, 장치.
양태 7: 양태 1 내지 6 중 어느 하나에 있어서, 상기 제3 세그먼트화 맵을 생성하는 단계는: 상기 제1 세그먼트화 맵을 상기 제2 이미지의 크기로 크로핑하는 단계; 및 상기 제1 세그먼트화 맵을 크로핑한 후에, 상기 제2 이미지의 해상도에 따라 상기 제1 세그먼트화 맵을 업샘플링하는 단계를 포함하는, 장치.
양태 8: 양태 1 내지 7 중 어느 하나에 있어서, 상기 제 1 세그먼트화 맵 및 상기 제 2 세그먼트화 맵은 트레이닝된 뉴럴 네트워크를 사용하여 생성되는, 장치.
양태 9: 양태 8 에 있어서, 상기 트레이닝된 뉴럴 네트워크는 딥 뉴럴 네트워크를 포함하는, 장치.
양태 10: 양태 1 내지 9 중 어느 하나에 있어서, 제 1 이미지는 제 1 카메라로부터 수신되고 제 2 이미지는 제 2 카메라로부터 수신되는, 장치.
양태 11: 양태 10 에 있어서, 제1 카메라 및 제2 카메라를 더 포함하는, 장치.
양태 12: 양태 10 또는 11 에 있어서, 제1 카메라는 가시광에 응답하고, 제2 카메라는 적외광에 응답하는, 장치.
양태 13: 양태 1 내지 12 중 어느 하나에 있어서, 제1 이미지 및 제2 이미지는 제1 카메라로부터 수신되는, 장치.
양태 14: 양태 1 내지 13 중 어느 하나에 있어서, 상기 하나 이상의 프로세서들은, 제3 이미지에 기초하여, 상기 제3 이미지 내의 제3 추정된 전경 영역과 연관된 전경 값들을 포함하는 제4 세그먼트화 맵을 결정하도록 구성되는, 장치.
양태 15: 양태 14 에 있어서, 제1 이미지는 제1 카메라로부터 수신되고, 제2 이미지는 제2 카메라로부터 수신되고, 제3 이미지는 제3 카메라로부터 수신되는, 장치.
양태 16: 양태 1 내지 15 중 어느 하나에 있어서, 상기 하나 이상의 프로세서들은 이미징 모드의 사용자 선택에 응답하여 세그먼트화 마스크들을 생성하도록 구성되는, 장치.
양태 17: 타겟의 제 1 이미지 및 타겟의 제 2 이미지를 획득하는 단계 - 제 1 이미지는 제 1 FOV 를 갖고 제 2 이미지는 제 1 FOV 와는 상이한 제 2 FOV 를 가짐 -; 제 1 이미지에 기초하여, 제 1 이미지에서 제 1 추정된 전경 영역을 식별하는 제 1 세그먼트화 맵을 결정하는 단계; 제 2 이미지에 기초하여, 제 2 이미지에서 제 2 추정된 전경 영역을 식별하는 제 2 세그먼트화 맵을 결정하는 단계; 제 1 세그먼트화 맵 및 제 2 세그먼트화 맵에 기초하여 제 3 세그먼트화 맵을 생성하는 단계; 및 제 2 세그먼트화 맵 및 제 3 세그먼트화 맵을 사용하여, 타겟의 적어도 일부를 제 1 이미지 및 제 2 이미지 중 적어도 하나의 전경 영역으로서 식별하는 리파이닝된 세그먼트화 마스크를 생성하는 단계를 포함하는, 방법.
양태 18: 양태 17 에 있어서, 상기 리파이닝된 세그먼트화 마스크를 생성하는 단계는, 상기 제2 세그먼트화 맵 및 상기 제3 세그먼트화 맵을 퓨징함으로써 퓨징된 세그먼트화 맵을 생성하는 단계; 및 상기 퓨징된 세그먼트화 맵에 기초하여 상기 리파이닝된 세그먼트화 마스크를 생성하는 단계를 포함하는, 방법.
양태 19: 양태 17 내지 18 중 어느 하나에 있어서, 리파이닝된 세그먼트화 마스크에 기초하여 편집된 이미지를 생성하는 단계를 더 포함하는, 방법.
양태 20: 양태 19 에 있어서, 편집된 이미지는 제 1 이미지 또는 제 2 이미지 중 하나에 기초하는, 방법.
양태 21: 양태 19 또는 20 에 있어서, 편집된 이미지는 시각적 효과, 확장된 현실 효과, 이미지 프로세싱 효과, 블러링 효과, 이미지 인식 효과, 세그먼트화 효과, 컴퓨터 그래픽 효과, 크로마 키잉 효과, 및 이미지 스타일화 효과 중 적어도 하나를 포함하는, 방법.
양태 22: 양태 19 또는 20 에 있어서, 편집된 이미지는 블러링 효과를 포함하는, 방법.
양태 23: 양태 17 내지 22 중 어느 하나에 있어서, 상기 제3 세그먼트화 맵을 생성하는 단계는: 상기 제1 세그먼트화 맵을 상기 제2 이미지의 크기로 크로핑하는 단계; 및 상기 제1 세그먼트화 맵을 크로핑한 후에, 상기 제2 이미지의 해상도에 따라 상기 제1 세그먼트화 맵을 업샘플링하는 단계를 포함하는, 방법.
양태 24: 양태 17 내지 23 중 어느 하나에 있어서, 상기 제 1 세그먼트화 맵 및 상기 제 2 세그먼트화 맵은 트레이닝된 뉴럴 네트워크를 사용하여 생성되는, 방법.
양태 25: 양태 17 내지 24 중 어느 하나에 있어서, 트레이닝된 뉴럴 네트워크는 딥 뉴럴 네트워크를 포함하는, 방법.
양태 26: 양태 17 내지 25 중 어느 하나에 있어서, 제 1 이미지는 제 1 카메라로부터 수신되고 제 2 이미지는 제 2 카메라로부터 수신되는, 방법.
양태 27: 양태 26 에 있어서, 제1 카메라는 가시광에 응답하고, 제2 카메라는 적외선에 응답하는, 방법.
양태 28: 양태들 17 내지 27 중 어느 하나에 있어서, 제3 이미지에 기초하여, 상기 제3 이미지 내의 제3 추정된 전경 영역과 연관된 전경 값들을 포함하는 제4 세그먼트화 맵을 결정하는 단계를 더 포함하는, 방법.
양태 29: 양태 17 내지 양태 28 중 어느 하나에 있어서, 제 1 세그먼트화 맵, 제 2 세그먼트화 맵, 및 제 3 세그먼트화 맵 중 적어도 하나는 이미징 모드의 사용자 선택에 응답하여 생성되는, 방법.
양태 30: 명령들을 저장한 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 명령들은, 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 하여금 양태 1 내지 29 중 어느 하나에 따른 동작들을 수행하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
양태 31: 양태 1 내지 29 중 어느 하나에 따른 동작들을 수행하기 위한 하나 이상의 수단을 포함하는 장치.

Claims (30)

  1. 하나 이상의 이미지들을 프로세싱하기 위한 장치로서,
    메모리; 및
    상기 메모리에 커플링된 하나 이상의 프로세서들을 포함하고,
    상기 하나 이상의 프로세서들은,
    타겟의 제 1 이미지 및 타겟의 제 2 이미지를 획득하는 것으로서, 상기 제 1 이미지는 제 1 FOV (field-of-view) 를 갖고 상기 제 2 이미지는 상기 제 1 FOV 와 상이한 제 2 FOV를 가지는, 상기 타겟의 제 1 이미지 및 타겟의 제 2 이미지를 획득하는 것을 수행하도록,
    상기 제 1 이미지에 기초하여, 상기 제 1 이미지 내의 제 1 추정된 전경 영역과 연관된 전경 값들을 포함하는 제 1 세그먼트화 맵을 결정하도록,
    상기 제 2 이미지에 기초하여, 상기 제 2 이미지 내의 제 2 추정된 전경 영역과 연관된 전경 값들을 포함하는 제 2 세그먼트화 맵을 결정하도록,
    상기 제 1 세그먼트화 맵 및 상기 제 2 세그먼트화 맵에 기초하여 제 3 세그먼트화 맵을 생성하도록, 그리고
    상기 제 2 세그먼트화 맵 및 상기 제 3 세그먼트화 맵을 사용하여, 타겟의 적어도 일부를 상기 제 1 이미지 및 상기 제 2 이미지 중 적어도 하나의 이미지의 전경 영역으로서 식별하는 리파인드 (refined) 세그먼트화 마스크를 생성하도록 구성되는, 장치.
  2. 제 1 항에 있어서,
    상기 리파인드 세그먼트화 마스크를 생성하는 것은,
    상기 제 2 세그먼트화 맵 및 상기 제 3 세그먼트화 맵을 퓨징함으로써 퓨징된 세그먼트화 맵을 생성하는 것; 및
    상기 퓨징된 세그먼트화 맵에 기초하여 상기 리파인드 세그먼트화 마스크를 생성하는 것을 포함하는, 장치.
  3. 제 1 항에 있어서,
    상기 하나 이상의 프로세서들은,
    상기 리파인드 세그먼트화 마스크에 기초하여 편집된 이미지를 생성하도록 구성되는, 장치.
  4. 제 3 항에 있어서,
    상기 편집된 이미지는, 상기 제 1 이미지 또는 상기 제 2 이미지 중 하나에 기초하는, 장치.
  5. 제 3 항에 있어서,
    상기 편집된 이미지는, 시각적 효과, 확장현실 효과, 이미지 처리 효과, 블러링 효과, 이미지 인식 효과, 세그멘트화 효과, 컴퓨터 그래픽 효과, 크로마 키잉 효과, 및 이미지 스타일화 효과 중 적어도 하나를 포함하는, 장치.
  6. 제 3 항에 있어서,
    상기 편집된 이미지는 블러링 효과를 포함하는, 장치.
  7. 제 1 항에 있어서,
    상기 제 3 세그먼트화 맵을 생성하는 것은,
    상기 제 1 세그먼트화 맵을 상기 제 2 이미지의 크기로 크로핑 (cropping) 하는 것; 및
    상기 제 1 세그먼트화 맵을 크로핑한 후, 상기 제 2 이미지의 해상도에 따라 상기 제 1 세그먼트화 맵을 업샘플링하는 것을 포함하는, 장치.
  8. 제 1 항에 있어서,
    상기 제 1 세그먼트화 맵 및 상기 제 2 세그먼트화 맵은 트레이닝된 뉴럴 네트워크를 사용하여 생성되는, 장치.
  9. 제 8 항에 있어서,
    상기 트레이닝된 뉴럴 네트워크는 딥 뉴럴 네트워크를 포함하는, 장치.
  10. 제 1 항에 있어서,
    상기 제 1 이미지는 제 1 카메라로부터 수신되고, 상기 제 2 이미지는 제 2 카메라로부터 수신되는, 장치.
  11. 제 10 항에 있어서,
    상기 제 1 카메라 및 상기 제 2 카메라를 더 포함하는, 장치.
  12. 제 11 항에 있어서,
    상기 제 1 카메라는 가시광에 응답하고, 상기 제 2 카메라는 적외선 광에 응답하는, 장치.
  13. 제 1 항에 있어서,
    상기 제 1 이미지 및 상기 제 2 이미지는 제 1 카메라로부터 수신되는, 장치.
  14. 제 1 항에 있어서,
    상기 하나 이상의 프로세서들은,
    제 3 이미지에 기초하여, 상기 제 3 이미지 내의 제 3 추정된 전경 영역과 연관된 전경 값들을 포함하는 제 4 세그먼트화 맵을 결정하도록 구성되는, 장치.
  15. 제 14 항에 있어서,
    상기 제 1 이미지는 제 1 카메라로부터 수신되고, 상기 제 2 이미지는 제 2 카메라로부터 수신되고, 상기 제 3 이미지는 제 3 카메라로부터 수신되는, 장치.
  16. 제 1 항에 있어서,
    상기 하나 이상의 프로세서들은 이미징 모드의 사용자 선택에 응답하여 세그먼트화 마스크들을 생성하도록 구성되는, 장치.
  17. 하나 이상의 이미지들을 프로세싱하는 방법으로서,
    타겟의 제 1 이미지 및 타겟의 제 2 이미지를 획득하는 단계로서, 상기 제 1 이미지는 제 1 FOV 를 갖고 상기 제 2 이미지는 상기 제 1 FOV 와 상이한 제 2 FOV를 가지는, 상기 타겟의 제 1 이미지 및 타겟의 제 2 이미지를 획득하는 단계,
    상기 제 1 이미지에 기초하여, 상기 제 1 이미지 내의 제 1 추정된 전경 영역과 연관된 전경 값들을 포함하는 제 1 세그먼트화 맵을 결정하는 단계,
    상기 제 2 이미지에 기초하여, 상기 제 2 이미지 내의 제 2 추정된 전경 영역과 연관된 전경 값들을 포함하는 제 2 세그먼트화 맵을 결정하는 단계,
    상기 제 1 세그먼트화 맵 및 상기 제 2 세그먼트화 맵에 기초하여 제 3 세그먼트화 맵을 생성하는 단계, 및
    상기 제 2 세그먼트화 맵 및 상기 제 3 세그먼트화 맵을 사용하여, 타겟의 적어도 일부를 상기 제 1 이미지 및 상기 제 2 이미지 중 적어도 하나의 이미지의 전경 영역으로서 식별하는 리파인드 세그먼트화 마스크를 생성하는 단계를 포함하는, 방법.
  18. 제 17 항에 있어서,
    상기 리파인드 세그먼트화 마스크를 생성하는 단계는,
    상기 제 2 세그먼트화 맵 및 상기 제 3 세그먼트화 맵을 퓨징함으로써 퓨징된 세그먼트화 맵을 생성하는 것; 및
    상기 퓨징된 세그먼트화 맵에 기초하여 상기 리파인드 세그먼트화 마스크를 생성하는 것을 포함하는, 방법.
  19. 제 17 항에 있어서, 추가로
    상기 리파인드 세그먼트화 마스크에 기초하여 편집된 이미지를 생성하는 단계를 포함하는, 방법.
  20. 제 19 항에 있어서,
    상기 편집된 이미지는, 상기 제 1 이미지 또는 상기 제 2 이미지 중 하나에 기초하는, 방법.
  21. 제 19 항에 있어서,
    상기 편집된 이미지는, 시각적 효과, 확장현실 효과, 이미지 처리 효과, 블러링 효과, 이미지 인식 효과, 세그멘트화 효과, 컴퓨터 그래픽 효과, 크로마 키잉 효과, 및 이미지 스타일화 효과 중 적어도 하나를 포함하는, 방법.
  22. 제 19 항에 있어서,
    상기 편집된 이미지는 블러링 효과를 포함하는, 방법.
  23. 제 17 항에 있어서,
    상기 제 3 세그먼트화 맵을 생성하는 단계는,
    상기 제 1 세그먼트화 맵을 상기 제 2 이미지의 크기로 크로핑하는 것; 및
    상기 제 1 세그먼트화 맵을 크로핑한 후, 상기 제 2 이미지의 해상도에 따라 상기 제 1 세그먼트화 맵을 업샘플링하는 것을 포함하는, 방법.
  24. 제 17 항에 있어서,
    상기 제 1 세그먼트화 맵 및 상기 제 2 세그먼트화 맵은 트레이닝된 뉴럴 네트워크를 사용하여 생성되는, 방법.
  25. 제 17 항에 있어서,
    상기 트레이닝된 뉴럴 네트워크는 딥 뉴럴 네트워크를 포함하는, 방법.
  26. 제 17 항에 있어서,
    상기 제 1 이미지는 제 1 카메라로부터 수신되고, 상기 제 2 이미지는 제 2 카메라로부터 수신되는, 방법.
  27. 제 26 항에 있어서,
    상기 제 1 카메라는 가시광에 응답하고, 상기 제 2 카메라는 적외선 광에 응답하는, 방법.
  28. 제 17 항에 있어서, 추가로
    제 3 이미지에 기초하여, 상기 제 3 이미지 내의 제 3 추정된 전경 영역과 연관된 전경 값들을 포함하는 제 4 세그먼트화 맵을 결정하는 단계를 포함하는, 방법.
  29. 제 17 항에 있어서,
    상기 제 1 세그먼트화 맵, 상기 제 2 세그먼트화 맵, 및 상기 제 3 세그먼트화 맵 중 적어도 하나는 이미징 모드의 사용자 선택에 응답하여 생성되는, 방법.
  30. 명령들을 저장한 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 명령들은, 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 하여금,
    타겟의 제 1 이미지 및 타겟의 제 2 이미지를 획득하는 것으로서, 상기 제 1 이미지는 제 1 FOV 를 갖고 상기 제 2 이미지는 상기 제 1 FOV 와 상이한 제 2 FOV를 가지는, 상기 타겟의 제 1 이미지 및 타겟의 제 2 이미지를 획득하는 것을 수행하게 하고,
    상기 제 1 이미지에 기초하여, 상기 제 1 이미지 내의 제 1 추정된 전경 영역과 연관된 전경 값들을 포함하는 제 1 세그먼트화 맵을 결정하게 하고,
    상기 제 2 이미지에 기초하여, 상기 제 2 이미지 내의 제 2 추정된 전경 영역과 연관된 전경 값들을 포함하는 제 2 세그먼트화 맵을 결정하게 하고,
    상기 제 1 세그먼트화 맵 및 상기 제 2 세그먼트화 맵에 기초하여 제 3 세그먼트화 맵을 생성하게 하고, 그리고
    상기 제 2 세그먼트화 맵 및 상기 제 3 세그먼트화 맵을 사용하여, 타겟의 적어도 일부를 상기 제 1 이미지 및 상기 제 2 이미지 중 적어도 하나의 이미지의 전경 영역으로서 식별하는 리파인드 세그먼트화 마스크를 생성하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
KR1020237010519A 2020-10-05 2021-09-07 이미지 효과를 위한 세그먼트화 KR20230084486A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/063,541 2020-10-05
US17/063,541 US11276177B1 (en) 2020-10-05 2020-10-05 Segmentation for image effects
PCT/US2021/049278 WO2022076116A1 (en) 2020-10-05 2021-09-07 Segmentation for image effects

Publications (1)

Publication Number Publication Date
KR20230084486A true KR20230084486A (ko) 2023-06-13

Family

ID=78078386

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237010519A KR20230084486A (ko) 2020-10-05 2021-09-07 이미지 효과를 위한 세그먼트화

Country Status (6)

Country Link
US (1) US11276177B1 (ko)
EP (1) EP4226322A1 (ko)
KR (1) KR20230084486A (ko)
CN (1) CN116324878A (ko)
BR (1) BR112023005338A2 (ko)
WO (1) WO2022076116A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11797601B2 (en) * 2015-08-26 2023-10-24 Incogna Inc. System and method for image processing for identifying trends
US11335004B2 (en) * 2020-08-07 2022-05-17 Adobe Inc. Generating refined segmentation masks based on uncertain pixels
US20220138957A1 (en) * 2020-10-30 2022-05-05 Shanghai United Imaging Healthcare Co., Ltd. Methods and systems for medical image segmentation
CN112508964B (zh) * 2020-11-30 2024-02-20 北京百度网讯科技有限公司 图像分割方法、装置、电子设备和存储介质
US11676279B2 (en) 2020-12-18 2023-06-13 Adobe Inc. Utilizing a segmentation neural network to process initial object segmentations and object user indicators within a digital image to generate improved object segmentations
US11875510B2 (en) 2021-03-12 2024-01-16 Adobe Inc. Generating refined segmentations masks via meticulous object segmentation
US12020400B2 (en) 2021-10-23 2024-06-25 Adobe Inc. Upsampling and refining segmentation masks
US11790041B2 (en) * 2021-12-01 2023-10-17 Midea Group Co., Ltd. Method and system for reducing false positives in object detection neural networks caused by novel objects
CN114708464B (zh) * 2022-06-01 2022-08-30 广东艺林绿化工程有限公司 一种基于道路垃圾分类的市政环卫清扫垃圾车清扫方法
CN115063335B (zh) * 2022-07-18 2024-10-01 北京字跳网络技术有限公司 特效图的生成方法、装置、设备及存储介质
WO2024072835A1 (en) * 2022-09-28 2024-04-04 Google Llc Removing distortion from real-time video using a masked frame
WO2024117433A1 (en) * 2022-11-30 2024-06-06 Samsung Electronics Co., Ltd. Method and electronic device for performing color correction
CN117237397B (zh) * 2023-07-13 2024-05-28 天翼爱音乐文化科技有限公司 基于特征融合的人像分割方法、系统、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105684440A (zh) * 2013-11-18 2016-06-15 诺基亚技术有限公司 用于增强数字成像的方法和装置
US10298864B2 (en) * 2016-06-10 2019-05-21 Apple Inc. Mismatched foreign light detection and mitigation in the image fusion of a two-camera system
US10504274B2 (en) * 2018-01-05 2019-12-10 Microsoft Technology Licensing, Llc Fusing, texturing, and rendering views of dynamic three-dimensional models
US10997433B2 (en) * 2018-02-27 2021-05-04 Nvidia Corporation Real-time detection of lanes and boundaries by autonomous vehicles
US10839517B2 (en) * 2019-02-21 2020-11-17 Sony Corporation Multiple neural networks-based object segmentation in a sequence of color image frames
US10949960B2 (en) * 2019-06-20 2021-03-16 Intel Corporation Pose synthesis in unseen human poses

Also Published As

Publication number Publication date
US20220108454A1 (en) 2022-04-07
EP4226322A1 (en) 2023-08-16
WO2022076116A1 (en) 2022-04-14
BR112023005338A2 (pt) 2023-04-25
US11276177B1 (en) 2022-03-15
CN116324878A (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
US11276177B1 (en) Segmentation for image effects
US20210004962A1 (en) Generating effects on images using disparity guided salient object detection
US11882357B2 (en) Image display method and device
US11457138B2 (en) Method and device for image processing, method for training object detection model
US20210073953A1 (en) Method for applying bokeh effect to image and recording medium
CN110889851B (zh) 针对深度和视差估计的语义分割的稳健用途
CN113286194A (zh) 视频处理方法、装置、电子设备及可读存储介质
CN114764868A (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
CN112446380A (zh) 图像处理方法和装置
US11810256B2 (en) Image modification techniques
US12118810B2 (en) Spatiotemporal recycling network
KR102262671B1 (ko) 비디오 영상에 보케 효과를 적용하는 방법 및 기록매체
US11381743B1 (en) Region of interest capture for electronic devices
CN107194948B (zh) 基于集成式预测与时空域传播的视频显著性检测方法
US11941822B2 (en) Volumetric sampling with correlative characterization for dense estimation
CN114372931A (zh) 一种目标对象虚化方法、装置、存储介质及电子设备
US20160140748A1 (en) Automated animation for presentation of images
WO2023097576A1 (en) Segmentation with monocular depth estimation
US12125144B2 (en) Image modification techniques
CN117671473B (zh) 基于注意力和多尺度特征融合的水下目标检测模型及方法
US20240031512A1 (en) Method and system for generation of a plurality of portrait effects in an electronic device
CN118043859A (zh) 高效视觉感知