KR20220156905A - 이미지 데이터에 대한 분석을 수행하기 위한 방법 및 장치 - Google Patents

이미지 데이터에 대한 분석을 수행하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20220156905A
KR20220156905A KR1020227036564A KR20227036564A KR20220156905A KR 20220156905 A KR20220156905 A KR 20220156905A KR 1020227036564 A KR1020227036564 A KR 1020227036564A KR 20227036564 A KR20227036564 A KR 20227036564A KR 20220156905 A KR20220156905 A KR 20220156905A
Authority
KR
South Korea
Prior art keywords
data
dla
sensor
processing
sensor data
Prior art date
Application number
KR1020227036564A
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 KR20220156905A publication Critical patent/KR20220156905A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/143Sensing or illuminating at different wavelengths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/166Detection; Localisation; Normalisation using acquisition arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Biophysics (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Neurology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)

Abstract

딥 러닝 알고리즘과 같은 데이터 분석을 센서 데이터에 적용하는 방법 및 장치. 일 실시예에서, 이미지 센서와 통신하는 딥 러닝 가속기(DLA)를 포함하는 카메라 장치와 같은 전자 장치가 개시되며, 카메라 장치는 하나의 변형에서 DLA를 사용하여 이미지 센서로부터 처리되지 않은 센서 데이터를 평가하도록 구성되고, 카메라 장치는 DLA의 효율성을 향상시키기 위해 이미지 신호 처리를 우회하여 DLA에 직접 센서 데이터를 제공하고, 기존의 방법을 사용하는 것보다 더 빨리 DLA 결과를 얻을 수 있으며, 또한 카메라 장치가 전력을 절약할 수 있도록 한다.

Description

이미지 데이터에 대한 분석을 수행하기 위한 방법 및 장치
우선권
본 출원은 공동 소유 및 공동 계류 중인 "이미지 데이터에 대한 분석을 수행하기 위한 방법 및 장치"라는 명칭으로 2020년 5월 14일에 출원된 미국 특허 출원 번호 제16/874,504호에 대한 우선권을 주장한다.
기술 분야
본 개시는 일반적으로 이미지 센서에 의해 캡처된 데이터를 처리하는 방법 및 장치에 관한 것으로, 보다 구체적으로 하나의 예시적인 양태에서 원시 센서 데이터에 대한 딥 러닝 알고리즘(deep learning algorithm)과 같은 분석을 수행하는 것에 관한 것이다.
최근 몇 년 동안 수많은 유형의 데이터 분석이 등장하였다. 예를 들어, 소위 "딥 러닝"(또는 딥 구조화 러닝) 알고리즘은 작업을 수행하기 위해 인공 신경망에 의존하는 일종의 머신 러닝이다.
딥 러닝 네트워크는 예를 들어 오브젝트를 검출하고 식별하는 데 사용되는 컴퓨터 비전 어플리케이션을 포함하여 다양한 인공 지능 어플리케이션에서 매우 효과적인 것으로 입증되었다. 따라서 컴퓨터 비전 능력이 필요한 시스템은 딥 러닝 기반 컴퓨터 비전을 구현하는 하드웨어 또는 소프트웨어와 카메라 디바이스를 통합할 수 있다.
딥 러닝 기반을 포함한 현재의 컴퓨터 비전 방법은 주로 표시를 위해 포맷화 및 처리된 디지털 이미지들(즉, 사람이 볼 수 있는 디지털 이미지들)에 일반적으로 적용된다. 대부분의 디지털 카메라 디바이스는 초기 센서 데이터를 (i) 표시할 이미지를 생성하는 데 사용할 수 있는 포멧(예를 들어, JPEG)이고 (ii) 인간의 인식(즉, 인간이 시각적으로 바람직하게 찾는 것)과 연관된 이미지 데이터로 변환하기 위해 다양한 동작들을 수행하는 온보드 이미지 신호 처리(ISP)를 포함한다. 예를 들어 일부 일반적인 ISP 동작들은 디모자이싱, 색 공간 변환, 색 균형, 감마 교정 및 광학 교정을 포함한다. 이미지 신호 프로세서는 일반적으로 카메라 센서들에 직접 연결되어 카메라 센서에 의해 수집된 센서 데이터가 즉시 "이미지 데이터"로 변환되도록 한다. 따라서 카메라 디바이스와 연관된 임의의 딥 러닝 방법은 ISP에 의해 이미 처리된 이미지 데이터에 대해 일반적으로 수행된다.
도 1a는 카메라(112) 내에 통합된 이미지 신호 프로세서(ISP)(104) 및 딥 러닝 가속기(DLA)(110) 둘 모두를 갖는 종래의 카메라 시스템(100)의 블록도이다.
도 1b는 도 1a의 카메라 시스템(100)을 사용하는 방법(120)을 도시한다. 구체적으로, 방법(120)의 단계(122)에서, 이미지 센서(102)는 먼저 센서 데이터를 획득하고 이미지 또는 비디오를 나타내는 센서 데이터를 ISP(104)에 송신한다.
단계(124)에서, ISP(104)는 하나 이상의 이미지 파일들을 생성하기 위해 센서 데이터에 대한 다양한 이미지 처리 기능들을 수행한다. 예를 들어, ISP 동작은 이미지 파일의 개별 픽셀들과 연관된 레드/그린/블루(RGB) 값들로 개별 광센서 데이터를 변환하기 위해 디모자이싱 및 색 공간 변환을 수행할 수 있다. 예를 들어, 이미지 센서(102)의 광센서들이 직사각형이 아닌 그리드로 배열되면, ISP는 직사각형 매트릭스로 배열된 이미지 픽셀들에 대한 값들을 계산한다.
단계(126)에서 인코더(106)는 이미지 파일을 인코딩하고, 단계(128)에서 인코딩된 이미지 파일은 출력 모듈(108)을 통해 외부 디바이스(예를 들어, CPU, GPU 또는 DSP와 같은 기저대역 프로세서 유닛)로 송신된다.
단계(130)에서, DLA(110) 내의 딥 러닝 알고리즘이 포스트 ISP 이미지 파일(들)에 적용된다. 단계(132)에서, DLA의 결과는 카메라로부터 외부 디바이스로 송신될 수 있다.
도 2a는 ISP(204)가 카메라(214)와 통합되고 딥 러닝 프로그램(210)이 카메라(214) 외부의 디바이스(216)에 위치하는 종래의 카메라 시스템(200)의 다른 구성의 블록도를 도시한다. 도 2b는 도 2a의 카메라 시스템(200)을 사용하는 방법(220)을 도시한다.
방법(220)의 단계들(222 내지 226)은 도 1a의 방법(120)의 단계들(122 내지 126)과 유사한 방식으로 수행된다.
단계(228)에서, 인코딩된 이미지 파일은 출력 모듈(208)을 통해 외부 디바이스(216)로 송신된다. 외부 디바이스는 이미지 파일을 디코딩하고(단계 230), 디코딩된 이미지 파일 데이터에 딥 러닝 알고리즘(210)을 적용한다.
상술한 종래의 각각의 카메라 시스템 및 방법은 이미지 신호 처리를 거친 이미지/비디오 데이터에 딥 러닝 알고리즘을 적용한다. 또한, 도 2a 및 도 2b의 예에서, 이미지 데이터도 인코딩/압축을 거치며, 그 동안 추가 데이터가 손실될 수 있다(예를 들어, 정의에 따라 데이터 손실을 초래하는 "손실" 인코딩 또는 압축 방법으로 인해).
이러한 현재 카메라 솔루션과 관련된 잠재적인 장애 중 하나는 이미지 신호 처리가 종종 상당한 시간과 리소스를 소비한다는 것이다. 이는 예를 들어 오브젝트를 빠르게 검출/식별해야 하는 컴퓨터 비전 시스템과 제한된 배터리 전력으로 동작하는 카메라 시스템에서 치명적일 수 있다.
다른 잠재적인 문제는 이미지 신호 처리 동안, (i) 원래 캡처된 센서 데이터 중 일부가 압축/변환으로 인해 손실될 수 있으며(위에서 논의된 도 2a 및 2b의 구성에서와 같이), 및 (ii) 이미지/비디오가 시각적으로 사람의 눈을 즐겁게 하기 위해 일부 "추가" 데이터가 경우에 따라 센서 데이터에 추가될 수 있다는 점이다(예를 들어, 그러한 파장 또는 가시광선에 대한 인간의 눈의 향상된 감도로 인해 추가 "그린" 데이터가 추가되는 경우). 특히 머신 러닝 방법은 특정 포멧이거나 특정 피쳐의 데이터 입력이 필요하지 않으므로 "처리된" 이미지 데이터를 딥 러닝 동작에 공급하는 데 특별한 이점이 없다. 반면에 딥 러닝 알고리즘의 성능은 일반적으로 기본 딥 러닝 네트워크에 입력되는 관련 정보의 양에 크게 의존한다. 딥 러닝 알고리즘에 제공되는 관련 데이터가 많을수록 성능이 향상된다. 포스트-ISP 이미지 파일은 (i) 손실 압축 또는 기타 손실 프로세스로 인해 원래 캡처된 모든 센서 데이터가 포함되지 않고, (ii) 단순히 시각적 표시를 위해 도입된 관련 없는 추가 데이터를 포함할 수 있기 때문에, 포스트-ISP 이후 이미지 파일을 사용하여 딥 러닝 네트워크를 구동하면 차선의(suboptimal) 결과를 생성할 수 있다.
게다가 현재의 이미지 센서들은 종종 ISP 처리(그리고 인간 뷰어에 대한 후속 표시)를 염두에 두고 설계 및 제작된다. 예를 들어, 카메라 센서들은 종종 광센서 어레이를 오버레이하는 컬러 필터 어레이를 포함한다. 컬러 필터 어레이를 사용하면 상이한 광센서들에 의해 상이한 빛의 색상들(예를 들어, 레드, 블루 및 그린 파장 빛)이 검출될 수 있다. 일반적으로 사용되는 컬러 필터 중 하나는 바이엘 필터(Bayer filter)로, 이전에 언급했듯이 레드 또는 블루 센서보다 두 배 많은 그린 광센서들을 생성한다. 그러나 카메라 시스템의 목적이 표시용 이미지를 캡처하는 것이 아니라 컴퓨터 알고리즘(예를 들어, 머신 러닝 프로그램과 같은 분석 프로세스에)에 최대한의 정보를 제공하는 것이라면, 너무 많은 그린 광 정보를 캡처하는 것은 불필요하고 낭비일 수 있으며, 향상되지 않은 데이터에 비해 왜곡되거나 편향된 결과를 생성한다.
이를 바탕으로 딥 러닝 알고리즘과 같은 데이터 분석의 성능을 보다 최적화할 수 있는 개선된 방법 및 장치가 요구된다. 예를 들어, 카메라 기술의 예시적인 콘텍스트에서, 머신 러닝 알고리즘을 사용하여 이미지 데이터를 처리하고 평가하는 보다 최적의 방법을 제공하는 개선이 필요하다.
본 개시는 특히 딥 러닝 알고리즘과 같은 분석을 처리되지 않은 센서 데이터에 직접 적용하기 위한 방법 및 장치를 제공함으로써 전술한 요구를 해결한다.
본 개시의 일 양태에서, 향상된 분석이 가능한 개선된 전자 장치가 설명된다. 일 실시예에서, 전자 장치는 적어도 하나의 이미지 센서 및 적어도 하나의 하드웨어 가속기를 갖는 카메라 장치를 포함한다. 일 변형에서 하드웨어 가속기는 딥 러닝 가속기(DLA)와 같은 머신 러닝 가속기를 포함한다. 이미지 센서는 이미지 신호 처리를 거치지 않은 데이터와 같은 센서 데이터를 DLA에 제공하도록 구성된다. 일 구현예에서, 센서 데이터는 이미지 센서의 개별 광센서 요소(즉, 아날로그-디지털 변환을 거친 광센서 신호)에서 검출된 광량에 대응하는 디지털 값을 포함한다. 다른 변형에서, 센서 데이터는 개별 광센서 요소들에서 검출된 광량에 비례하는 아날로그 신호를 포함한다.
다른 변형에서, DLA에 제공된 센서 데이터는 원시 포멧 이미지 데이터(즉, 이미지 센서로부터의 최소 처리된 데이터)를 포함한다. 다른 변형에서 DLA에 제공된 센서 데이터는 원시 포멧 이미지 데이터(즉, 이미지 센서로부터 완전히 처리되지 않은 데이터)를 포함한다.
카메라 장치의 일 실시예에서, DLA는 센서 데이터를 평가하도록 구성된 적어도 하나의 딥 러닝 알고리즘을 포함한다. 그것의 한 변형에서, DLA는 2개의 상이한 동작들을 수행하도록 구성된 2개 이상의 딥 러닝 알고리즘들을 포함한다. 일 구현예에서, 제1 DLA 동작은 센서 데이터(즉, 원시 또는 프리-원시 포멧)를 평가하도록 구성되고, 제2 동작은 적어도 부분적으로 처리된 이미지 데이터(즉, 적어도 하나의 이미지 신호 처리 동작을 거친 데이터)를 평가하도록 구성된다.
다른 실시예에서, DLA는 부분적으로 처리된 센서 데이터를 평가하도록 구성된 적어도 하나의 딥 러닝 알고리즘을 포함한다. 일 변형에서, 부분적으로 처리된 센서 데이터는 이용 가능한 이미지 신호 프로세서(ISP) 동작의 규정된 부분을 거친 데이터를 포함한다. 예를 들어, 일 구현예에서 ISP는 원시 포멧 이미지 데이터에 대해 디모자이싱/디 바이어링(de­Bayering)을 수행하지만 추가 기능(예를 들어, 감마 교정, 노이즈 감소, 색 공간 변환 등)은 수행하지 않음으로써 부분적으로 처리된 센서 데이터를 생성할 수 있다. 따라서 ISP 내에서 임의의 동작이 완료되면(논리적 순서 관계를 준수하면서) DLA 프로세스(들)에 대한 입력을 위한 "점핑 오프 포인트(jumping off point)"로 사용될 수 있다.
일 변형에서, DLA는 오브젝트 검출 및/또는 오브젝트 인식 알고리즘을 포함한다. 알고리즘(들)은 얼굴, 사람, 동물, 행동/동작 유형, 거동 유형, 자연 현상 유형과 같은 하나 이상의 피사체 및 오브젝트를 검출/인식하도록 구성된다. 일 구현예에서, DLA 알고리즘은 얼굴 검출, 피쳐 추출 및 얼굴 매칭을 위해 구성된다.
다른 실시예에서, 적어도 하나의 이미지 센서는 2개 이상의 이미지 센서들을 포함하고, 그 중 하나의 이미지 센서는 DLA에 의한 평가를 위한 센서 데이터(이미지 신호 처리 후 표시/인간 인식을 위한 센서 데이터 생성에 최적화되지 않음)를 생성하도록 최적화된다는 점에서 전문화되고, 일반적으로 과다 노출 또는 노출 부족으로 간주되는 센서 데이터(즉, 정상적인 표시에 너무 어둡거나/밝은 이미지를 생성하는 값)를 생성하도록 구성된 적어도 일부 광센서를 포함한다. 일 변형에서, "특수" 이미지 센서는 인간의 지각에 최적이 아닌 셔터 속도 또는 프레임 속도로 동작하도록 구성된다.
다른 변형에서 이미지 센서는 검출된 빛의 양에 대응하는 센서 데이터를 제공하도록 구성되며, 광량의 매우 작은 차이(즉, 인간의 눈에 감지되지 않는 차이)가 검출되고 센서 데이터에 설명된다(및 그 값에 반영된다).
또 다른 변형에서, 이미지 센서는 가시 스펙트럼 외부의 빛; 예를 들어, 자외선 범위 및/또는 적외선 범위에 민감한 적어도 일부 광센서를 포함한다.
추가 변형에서, 이미지 센서는 인간의 지각 이외의 하나 이상의 프로세스에 최적화되지 않은 파장/컬러 필터 어레이를 포함한다. 일 구현예에서, 파장 필터 어레이의 적어도 일부 부분은 (인간) 가시 스펙트럼의 외부에 있는 파장을 허용한다.
카메라 장치의 다른 실시예에서, 이미지 센서는 복수의 개별 광센서들/광센서 요소들을 포함하는 적어도 하나의 광센서 어레이를 포함한다. 광센서는 2차원 표면에 그리드로 배열된다. 일 변형에서 광센서는 직사각형 그리드로 배열된다. 다른 변형에서, 광센서는 육각 그리드로 배열된다. 다른 변형에서, 2차원 표면은 직사각형, 원, 타원 또는 다각형의 형상이다. 일 구현예에서, 2차원 표면은 편평한 반면, 다른 2차원 표면에서는 만곡(예를 들어, 볼록, 오목)된다.
또 다른 변형에서, 광센서들은 3차원 그리드로 배열된다(예를 들어, 일부 광센서 요소들은 다른 것보다 더 깊다).
카메라 장치의 다른 실시예에서, 적어도 하나의 이미지 센서는 ISP에 의한 정상 처리 및 인간에게 표시하기 위한 이미지/비디오의 생성에 최적화된 적어도 하나의 이미지 센서를 더 포함한다. 하나의 변형에서, 이미지 센서는 바이엘 필터 또는 RGB 필터와 같은 인간 지각을 위한 센서 데이터의 생성을 위해 최적화된 컬러 필터 어레이(CFA)를 포함한다.
카메라 장치의 또 다른 실시예에서, 적어도 하나의 이미지 센서는 둘 이상의 상이한 모드들; 예를 들어, 센서 데이터를 ISP에 제공하기 위한 제1 모드 및 DLA에 센서 데이터를 제공하도록 구성된 제2 모드에서에서 동작할 수 있는 이미지 센서를 포함한다. 일 변형에서, 이미지 센서는 2개의 별개의 영역들을 포함한다(하나는 제1 모드용, 하나는 제2 모드용). 다른 변형에서, 두 모드들과 관련된 광센서들은 규정된 패턴(예를 들어, 오프셋이 있는 로우-컬럼)으로 서로 혼합된다.
일 구현예에서, 제1 모드의 이미지 센서의 동작은 제2 모드의 이미지 센서의 동작보다 더 많은 전력을 요구/소비하고, 제2 모드로부터 상이한 출력을 산출한다. 예를 들어, 제1 모드의 이미지 센서는 표시에 허용되는 디지털 이미지를 생성하는 데 사용할 수 있는 센서 데이터를 생성하고(즉, 이미지의 하나 이상의 인간 지각 관련 파라미터가 해당 파라미터의 미리 결정된 임계치(들)보다 높은 레벨에 있음), 제2 모드의 이미지 센서는 표시에 허용되는 디지털 이미지를 생성하는 데 사용할 수 없는 센서 데이터를 생성한다(그러나 DLA를 통한 처리와 같은 하나 이상의 분석에 최적화됨).
다른 변형에서, 제1 모드에서 이미지 센서를 동작시키는 것은 인간 지각에 대해 허용 가능한 한계/범위 내에 있는 것으로 간주되는 광 노출에 대응하는 센서 데이터를 생성하는 것을 포함하고, 제2 모드에서 이미지 센서를 동작시키는 것은 허용 가능한 범위 밖에 있는 것으로 간주되는 광 노출에 대응하는 적어도 일부 센서 데이터(예를 들어, 노출 과다 또는 노출 부족 센서 데이터)를 생성하는 것을 포함한다. 일 구현예에서, 이미지 센서의 적어도 일부 광센서 요소들은 광센서 요소의 광 감도를 조정하는 데 사용될 수 있는 이득 및 관련 회로부를 포함한다.
다른 변형에서, 제1 모드에서 이미지 센서를 동작시키는 것은 가시 스펙트럼 내의 광에만 대응하는 센서 데이터를 생성하는 것을 포함하고, 제2 모드에서 이미지 센서를 동작시키는 것은 가시 스펙트럼 외부의 광에 대응하는 센서 데이터의 적어도 일부를 생성하는 것을 포함한다.
추가 변형에서 제1 모드의 센서 데이터는 3개 이상의 파장 범위들(예를 들어, RGB)과 관련된 데이터를 포함하고 제2 모드의 센서 데이터는 하나 또는 두 개의 파장 범위와 관련된 데이터만 포함한다.
일 변형에서, 광센서 어레이의 제1 모드에서 동작하는 것은 광센서 어레이의 모든 광센서 요소들(또는 광센서 요소들과 관련된 회로부)에 제1 전력량을 제공하는 것을 포함하고, 제2 모드에서 동작하는 것은 광센서 어레이의 광센서 요소들의 전부 또는 일부에 제2 전력량을 제공하는 것을 포함하며, 예를 들어 제1 전력량이 제2 전력량보다 크다.
일 실시예에서, 센서 데이터에 ISP 기능(들)을 적용하는 것은 이미지/비디오 데이터를 생성한다. 일 실시예에서, 방법은 인코딩된 이미지/비디오 파일을 생성하기 위해 인코더를 사용하여 이미지/비디오 데이터를 인코딩/압축하는 단계를 더 포함한다. 이미지 데이터의 인코딩은 이미지 데이터에 대한 인코딩 알고리즘을 사용하여 수행된다. 인코딩 알고리즘은 적어도 DLA 결과에 기초하여 복수의 인코딩 알고리즘들로부터 선택된다. 특정 DLA 결과에 따라 이 방법은 이미지 데이터에 대해 압축/인코딩을 수행하지 않는다.
일 양태에서, 얼굴 인식을 수행하는 방법이 개시된다. 일 실시예에서, 방법은 이미지 센서 데이터를 획득하는 단계; 및 딥 러닝 알고리즘을 사용하여 이미지 센서 데이터를 평가하는 단계를 포함하고, 센서 데이터는 이미지 신호 프로세서에 의해 처리되지 않은 광센서 어레이에 의해 생성된 데이터(즉, 원시 포멧 데이터 또는 프리-원시 데이터)를 포함한다.
일 실시예에서, 방법은 센서 데이터를 사용하여 얼굴 인식 동작의 적어도 일부를 초기에 수행하도록 구성된다. 하나의 접근법에서, 방법은 센서 데이터를 사용하여 얼굴 인식 동작의 제1 부분을 수행하고; 얼굴 인식 동작의 제1 부분의 결과에 기초하여, 이미지 데이터를 획득하기 위해 이미지 신호 프로세서를 사용하여 센서 데이터를 처리하고; 및 이미지 신호 프로세서에 의해 생성된 이미지 데이터(예를 들어, 이미지 파일)를 사용하여 얼굴 인식 동작의 제2 부분을 수행하도록 구성된다. 일 구현예에서, 얼굴 인식 동작의 제1 부분은 얼굴 검출을 포함하고 얼굴 인식 동작의 제2 부분은 얼굴 매칭을 포함한다. 얼굴 인식 동작의 제1 부분과 제2 부분은 이미지 센서에 연결된 딥 러닝 가속기(DLA)를 사용하여 수행된다. 다른 구성에서, 얼굴 인식 동작의 제1 부분은 카메라 장치 내부의 DLA를 사용하여 수행되고 얼굴 인식의 제2 부분은 카메라 장치 외부에서 수행된다.
다른 양태에서, 센서 데이터의 딥 러닝 기반 평가를 수행하도록 구성된 딥 러닝 가속기(DLA)가 개시된다. 일 실시예에서, 센서 데이터는 하나 이상의 이미지 센서에 의해 제공되는 원시 포맷 이미지 데이터이다. 다른 실시예에서 센서 데이터는 하나 이상의 이미지 센서로부터의 완전히 처리되지 않은 센서 데이터(프리-원시)이다.
다른 양태에서, 수집된 이미지 센서 데이터에 대해 이미지 신호 처리를 선택적으로 수행하도록 구성된 카메라 장치가 개시된다. 일 변형에서, 카메라 장치는 적어도 DLA 결과에 기초하여 하나 이상의 이미지 신호 처리 동작을 활성화/비활성화하기 위한 로직을 포함한다. 일 변형에서, 카메라 장치는 이미지 신호 처리 동작을 수행하도록 구성된 이미지 신호 처리(ISP) 칩을 포함한다.
또 다른 양태에서, 이미지 센서 데이터에 대한 이미지 신호 처리를 선택적으로 수행하는 방법이 개시된다. 일 실시예에서, 방법은 센서 데이터를 수집하는 단계, 하나 이상의 딥 러닝 알고리즘을 센서 데이터에 적용하는 단계, 적어도 딥러닝 알고리즘 결과를 획득하는 단계, 딥러닝 알고리즘 결과를 평가하는 단계, 및 평가를 기반으로 이미지 신호 처리를 센서 데이터에 적용할지 여부를 결정하는 단계를 포함한다.
다른 양태에서, 카메라 배터리 전력을 보존하는 방법이 개시된다. 일 실시예에서, 방법은 복수의 카메라 기능들을 비활성화 상태로 유지하는 단계; 및 특정 딥 러닝 평가 결과에 응답하여 복수의 카메라 기능들 중 하나 이상을 활성화하는 단계를 포함한다. 일 변형에서, 방법은 이미지 센서 데이터를 수집하고 이미지 센서 데이터에 대해 적어도 하나의 딥 러닝 평가를 수행하여 딥 러닝 평가 결과를 획득하는 단계를 포함한다.
추가 양태에서, 적어도 하나의 카메라 장치를 포함하는 시스템이 개시된다. 적어도 하나의 카메라 장치는 이미지 센서 및 머신 러닝 가속기를 포함한다. 일 실시예에서, 시스템은 감시 시스템이다. 일 구현예에서, 감시 시스템은 가정 감시, 상업 또는 정부 자산 감시, 및/또는 거리 감시의 일부이다. 일 실시예에서, 시스템은 자율 또는 반자율 주행 차량의 일부이다. 일 실시예에서, 시스템은 원격 연구 또는 검사 시스템이다. 일 변형에서, 원격 연구 시스템은 야생동물 연구로 구성된다. 일 구현예에서, 카메라 장치는 수중 동작을 위해 구성된다.
다른 양태에서, 전술한 양태들 중 하나 이상을 구현하는 집적 회로(IC) 디바이스가 개시되고 설명된다. 일 실시예에서, IC 디바이스는 SoC(시스템 온 칩) 디바이스로서 구현된다. 다른 실시예에서, ASIC(주문형 IC)가 디바이스의 기초로서 사용된다. 또 다른 실시예에서 칩셋(즉, 조정된 방식으로 사용되는 다중 IC들)이 개시된다. 또 다른 실시예에서, 디바이스는 다중-로직 블록 FPGA 디바이스를 포함한다. 일부 변형에서, 전술한 IC는 전술한 DLA 로직을 포함한다.
추가 양태에서, 센서 장치로부터 생성된 데이터를 처리하는 방법이 개시된다. 일 실시예에서, 방법은 센서 장치로부터 센서 데이터를 획득하는 단계; 비결정론적 결과를 생성하기 위해 제1 처리 엔티티를 사용하여 센서 데이터를 처리하는 단계; 및 결정론적 결과를 생성하기 위해 제2 처리 엔티티를 사용하여 센서 데이터를 선택적으로 처리하는 단계를 포함한다. 일 변형에서, 결정론적 결과를 생성하기 위해 제2 처리 엔티티를 사용하여 센서 데이터를 선택적으로 처리하는 것은 비결정론적 결과에 적어도 부분적으로 기초한다.
본 개시의 다른 양태에서, 별도의 FPGA(DLA 로직으로 구성됨) 및 메모리/저장소를 포함하는 DLA-가능 디바이스가 개시된다.
또 다른 양태에서, DLA-가능 ASIC이 개시된다. 일 실시예에서, ASIC은 메모리 및 저장소와 밀접하게 결합된다(예를 들어, 하나의 구현예에서 동일한 인터포저 상에서).
추가 양태에서, 동일한 칩 상에 상주하는 메모리/저장소를 갖는 단일 칩 솔루션이 개시된다.
다른 양태에서, 동일한 칩 또는 하나 이상의 인접한 실리콘 피스에 상주하는 메모리/저장소를 갖는 다중 칩, 단일 패키지 솔루션이 개시된다.
이들 및 다른 양태는 본 명세서에 제공된 개시에 비추어 고려될 때 명백해질 것이다.
도 1a는 딥 러닝 가속기(DLA) 및 이미지 신호 프로세서(ISP)를 포함하는 종래의 카메라 장치의 블록도이다.
도 1b는 도 1a의 카메라 장치를 사용하여 이미지 센서 데이터를 처리하는 방법의 흐름도이다.
도 2a는 ISP와 통합된 카메라를 포함하는 종래의 카메라 시스템의 블록도이다.
도 2b는 도 2a의 카메라 시스템을 사용하여 이미지 센서 데이터를 처리하는 방법의 흐름도이다.
도 3은 본 개시의 양태들에 따른 카메라 장치의 일 실시예의 기능 블록도이다.
도 4는 본 개시의 양태들에 따른 카메라 장치의 다른 실시예의 다른 예시적인 실시예의 기능 블록도이다.
도 5는 예를 들어, 도 3 또는 4의 카메라 장치를 사용하여 이미지 센서 데이터를 처리하는 방법의 흐름도이다.
도 6은 본 개시의 양태들에 따른 카메라 장치의 다른 예시적인 실시예의 기능 블록도이다.
도 7은 도 6의 카메라 장치를 사용하여 이미지 센서 데이터를 처리하는 방법의 흐름도이다.
도 8은 도 7의 방법의 특정 어플리케이션의 흐름도이다.
도 9는 본 개시의 양태들에 따른 카메라 장치의 추가의 예시적인 실시예를 도시하는 기능 블록도이다.
도 10은 도 9의 카메라 장치를 사용하여 이미지 센서 데이터를 처리하는 방법의 흐름도이다.
도 11은 본 개시의 양태들에 따른 카메라 장치의 다른 예시적인 실시예를 도시하는 기능 블록도이다.
도 12는 도 11의 카메라 장치를 사용하여 이미지 센서 데이터를 처리하는 방법의 흐름도이다.
도 13은 본 개시의 양태들에 따른 카메라 장치의 또 다른 예시적인 실시예를 도시하는 기능 블록도이다.
도 14는 도 13의 카메라 장치를 사용하여 이미지 센서 데이터를 처리하는 방법의 흐름도이다.
도 15a 내지 도 15c는 본 개시에 따라 구성된 이미징 디바이스에 사용될 수 있는 광센서 어레이들의 다양한 예시적인 실시예들을 도시한다.
도 16a 내지 도 16e는 본 개시의 하나 이상의 방법을 이용하여 선택될 수 있는 예시적인 광센서 어레이의 상이한 구성들을 도시한다.
도 17a 내지 도 17d는 본 개시의 방법 및 장치를 구현하는 물리적 디바이스들의 다양한 예시적인 구성들을 예시한다.
모든 도면들 ⓒ Copyright 2018-2021 Micron Technology, Inc. 모든 권리 소유.
이제 전체에 걸쳐 유사한 번호가 유사한 부분을 나타내는 도면을 참조한다.
본 명세서에 사용된 바와 같이, "컴퓨터 프로그램" 또는 "소프트웨어"라는 용어는 기능을 수행하는 인간 또는 머신이 인식할 수 있는 단계들의 임의의 시퀀스를 포함하는 것을 의미한다. 이러한 프로그램은 예를 들어 C/C++, 포트란, 코볼, 파스칼, 파이썬, 루비, 어셈블리 언어, 마크업 언어(예를 들어, HTML SGML, XML, VoXML) 등뿐만 아니라 객체 지향 환경, 예를 들어 CORBA(Common Object Request Broker Architecture), JavaTM(J2ME, Java Beans 등 포함) 등을 포함하는 거의 모든 프로그래밍 언어 또는 환경에서 렌더링될 수 있고, 스크립팅 언어로 작성된 스크립트를 포함하되 이에 국한되지 않는 스크립트도 포함할 수 있다.
본 명세서에서 사용되는 바와 같이, "메모리" 또는 "메모리 디바이스"라는 용어는 ROM, PROM, EEPROM, DRAM, SDRAM, DDR/2/3 /4/5/6 SDRAM, GDDRx, EDO/FPMS, FeRAM, ReRAM, RLDRAM, SRAM, "플래시" 메모리(예를 들어, NAND/NOR), 3D 메모리, HBM/HBM2, 및 PSRAM을 포함하지만 이에 제한되지 않는 디지털 데이터를 저장하도록 구성된 임의의 유형의 집적 회로 또는 다른 저장 디바이스를 포함할 수 있다.
본 명세서에 사용된 바와 같이, "마이크로프로세서", "프로세서" 또는 "디지털 프로세서"라는 용어는 일반적으로 디지털 신호 프로세서(DSP), 감소된 명령어 세트 컴퓨터(RISC), 범용(CISC) 프로세서, 마이크로프로세서, 게이트 어레이(예를 들어, FPGA), PLD, 재구성 가능한 컴퓨터 패브릭(RCF), 어레이 프로세서, 그래픽 프로세서(GPU), 보안 마이크로프로세서(SM) 및 주문형 집적 회로(ASIC)를 포함하나 이에 제한되지 않는 임의의 유형의 디지털 처리 디바이스를 포함하는 것을 의미한다. 이러한 디지털 프로세서들은 단일 IC 다이에 포함되거나 여러 컴포넌트들에 분산될 수 있다.
본 명세서에 사용된 바와 같이, "광 센서", "광센서", "광센서 요소" 또는 "광검출기"라는 용어는 일반적으로 단일 위치(즉, 단일 센서 픽셀)에서 입사하는 빛의 양을 감지하고 정보를 전류/전압으로 변환할 수 있는 개별 광 감지 요소를 포함하는 것을 의미한다. 하나의 광 센서는 일반적으로 광자 감지를 위해 구성된 하나의 p-n 접합 영역을 포함합니다.
본 명세서에 사용된 바와 같이, "이미저", "카메라 이미저", "이미지 센서", "이미지 검출기" 또는 "카메라 센서"라는 용어는 일반적으로 이미지를 생성하는 데 사용할 수 있는 정보를 검출하고 전달할 수 있는 카메라 장치의 일부를 포함하는 것을 의미한다. 그리고 이미지 센서는 일반적으로 적어도 하나의 광센서들의 어레이 및 수반되는 필터들/렌즈들을 포함한다.
본 명세서에 사용된 바와 같이, "센서 데이터", "감지된 데이터", "처리되지 않은 센서 데이터", 또는 ''직접 센서 데이터'라는 용어는 일반적으로 이미저의 광센서들로부터 직접 얻은 처리되지 않은 데이터/정보를 포함하는 것을 의미한다. 센서 데이터는 개별 위치들에서 개별 광센서들에 의해 검출된 빛의 양에 대응한다. 원시 포멧 이미지 데이터 및 프리-원시 센서 데이터.
본 명세서에서 사용된 "처리되지 않은 데이터"라는 용어는 완전히 처리되지 않았거나 데이터의 하나 이상의 특성이 유지되도록 "가벼운" 처리 또는 사전 처리되었을 수 있는 데이터를 제한 없이 나타낸다(예를 들어, 상당한 수준의 데이터 손실 또는 보조 또는 향상 데이터 추가를 경험하지 않은 데이터).
개요
하나의 예시적인 양태에서, 본 개시는 센서 데이터를 처리하고 평가하기 위한 개선된 방법 및 장치를 제공한다. 구체적으로, 본 개시는 특히 분석의 동작을 향상시키고 및/또는 감소된 처리 오버헤드와 같은 다른 이점을 제공하기 위해 머신 러닝 알고리즘과 같은 데이터 분석을 처리되지 않은 센서 데이터에 직접 적용하기 위한 방법 및 장치를 포함한다.
하나의 예시적인 실시예에서, 본 발명에 따라 구성된 카메라 장치와 같은 전자 장치는 유리하게 기존의 이미지 신호 처리(ISP)를 바이패스하여 카메라 장치에 상주하는 딥 러닝 가속기(DLA) 디바이스에 직접 센서 데이터를 제공할 수 있다. DLA 디바이스는 오브젝트/얼굴 검출, 오브젝트/얼굴 식별 또는 인식, 모션 검출, 모션 식별, 또는 오브젝트 카운팅과 같은 임의의 수의 딥 러닝/머신 러닝 작업들을 수행(또는 다른 디바이스의 성능을 지원)하도록 구성될 수 있다.
ISP를 사용하여 센서 데이터를 먼저 처리하는 것과는 반대로 DLA에 직접 센서 데이터를 제공하면 많은 경우에 카메라 장치가: (i) (최소한 초기에는) ISP 및 이와 관련된 레이턴시를 바이패싱함으로써 딥 러닝 결과를 더 빨리 얻을 수 있고, (ii) ISP 이후에 제공되는 것보다 최소한 DLA에 더 관련성 높은 데이터를 제공함으로써 딥 러닝 작업을 보다 효과적으로 수행하고, (iii) 필요할 때만(DLA에서 적어도 부분적으로 결정) 특정 카메라 기능을 활성화하여 처리 오버헤드 및/또는 배터리 전력을 절약할 수 있다.
본 발명의 카메라 장치는 다른 실시예에서 (i) 딥 러닝 프로세스와 같은 분석에 특히 유용한 데이터를 생성하고 및/또는 (ii) 분석이 아닌 기존의 이미지 신호 처리 및 표시에 특히 유용한 데이터를 생성하지 않거나 데이터 생성을 줄이도록 구성된 것과 같은 특수 이미지 센서를 포함할 수 있다.
마지막으로, 이미지 센서 데이터를 초기에 DLA(및 선택적으로 ISP)에 제공하면 디바이스가 이미지 파일을 선택적으로 생성할 수 있다. 특히, 카메라 장치는 (i) 센서 데이터의 빠른 딥 러닝 평가를 수행하여 예를 들어 기록된 장면에 관련성이 있는지 여부를 결정할 수 있고 및 (i) DLA 결정에 기초하여 표시용 이미지 생성과 관련된 다양한 기능을 활성화하거나 활성화하지 않을 수 있다. 표시할 이미지 생성과 관련된 기능은 ISP, 인코딩 및 추가 이미지 센서 또는 이미지 센서 모드 활성화를 포함할 수 있다. 이미지 생성 기능의 선택적 활성화는 카메라 장치가 적어도 배터리 전력을 절약할 수 있게 할 수 있다.
본 개시의 다른 피쳐 및 이점은 첨부된 도면 및 하기에 주어진 예시적인 실시예의 상세한 설명을 참조하여 당업자에 의해 즉시 인식될 것이다.
예시적인 실시예의 상세한 설명
이제 본 개시의 장치 및 방법의 예시적인 실시예가 상세히 설명된다. 이러한 예시적인 실시예는 주로 머신 또는 딥 러닝의 콘텍스트에서 설명되지만, 본 개시의 일반 원칙 및 이점은 다른 유형의 머신 러닝 및 인공 지능 알고리즘으로, 그리고 사실 더 일반적으로 다른 유형의 컴퓨터화된 분석 프로세스로 확장될 수 있다.
본 개시의 예시적인 실시예는 주로 디지털 카메라와 같은 이미지 캡처 또는 처리 디바이스의 콘텍스트에서 설명되지만, 본 명세서에 설명된 다양한 피쳐와 기능은 예를 들어 고해상도 도플러 소나 시스템(예를 들어, 수중 오브젝트 감지 또는 이미징, 또는 현재 프로필 또는 흐름의 특성화)에서 사용될 수 있는 것과 같은 음향 데이터 분석, 뿐만 아니라 레이더, 레이저 또는 비가시 스펙트럼 전자기 복사 분석을 기반으로 하는 기타 유사한 시스템과 같은 다른 유형의 센서 패러다임에도 동일하게 적용 가능하다는 것이 이해될 수 있다.
본 개시의 다른 피쳐 및 이점은 첨부된 도면 및 이하에 주어진 예시적인 실시예의 상세한 설명을 참조하여 당업자에 의해 즉시 인식될 것이다.
예시적인 이미지 시스템 및 동작 방법
도 3은 집적 회로 또는 "칩"(314)과 같은 딥 러닝 가속기(DLA) 장치에 직접 연결된 적어도 하나의 이미지 센서(302)를 갖는 예시적인 이미징(예를 들어, 카메라) 장치(300)의 논리 블록도이다. 아래에서 더 자세히 설명되는 바와 같이, 도 3은 DLA, ISP, 및 다양한 다른 카메라 컴포넌트들 사이의 논리적/신호 상호연결을 포함하는 카메라 장치(300)의 예시적인 실시예를 도시한다. 그러나, 카메라 장치의 더 간단한 버전이 또한 본 개시에서 고려된다(예를 들어, 도 4의 단순화된 실시예 참조).
일 구성에서, 도 3의 카메라 장치(300)는 또한 ISP(304), 인코더(306), 데이터 출력 모듈(308), 하나 이상의 제어기(들)(316), 및 추가적인(비-이미저) 호스트 장치 컴포넌트들(318)을 포함한다.
일 실시예에서, 이미지 센서(들)(302)는 DLA(314) 및 ISP(304)와 데이터 통신하고 DLA(314) 및 ISP(304)에 직접 센서 데이터를 제공하도록 구성된다. 일 변형에서, 센서 데이터가 DLA와 ISP에 동시에 병렬로 제공될 수 있다. 다른 변형에서 이미지 센서(들)는 (i) 자동으로 DLA에 직접 센서 데이터를 제공하고, 및 (ii) 제어기(들)(316)로부터의 지시에 대한 응답으로만 ISP에 센서 데이터를 제공하도록 구성될 수 있다.
간단히 말해서, DLA에 의해 수신된 데이터와 관련하여, 이미지 센서가 이미지 생성에 유용하거나 필요한 것보다 더 넓은 범위의 광 색상/파장을 캡처하거나 주어진 센서들에 대한 광량의 더 작은 차이를 검출할 수 있음을 인식할 것이다. 기존 ISP는 허용 가능한 색상의 허용 가능한 값만 남을 때까지 센서 데이터를 제거하거나 변환하는 경우가 많다(예를 들어, 0-255 범위의 정수 RGB 값들). 이와 같이 센서(들)에 의해 캡처된 데이터 중 일부는 잘리거나 필터링되거나 제거되어, 결과적으로 원시 데이터 또는 가볍게 처리된 데이터와 관련된 "풍부함" 또는 정보를 잃게 된다.
또한, 이전에 논의된 바와 같이 이미지 신호 처리는 결과 이미지/비디오가 사람의 눈을 즐겁게 하도록 센서 데이터를 변환한다. 이 프로세스는 (i) 원본 센서 데이터의 일부를 제거/변환하고 (ii) 카메라 이미지 센서가 캡처하는 장면에 대한 새로운 정보를 추가하지 않는다(오히려 예를 들어 그린 파장 데이터의 경우, 동일한 데이터의 가중치나 다중도(multiplicity)만 증가시키는 경우가 많다). 딥 러닝 알고리즘 및 기타 유형의 분석은 일반적으로 더 관련성 높은 데이터가 제공되면 더 효과적으로 동작하여(즉, 카메라 이미저에 의해 캡처된 실제 장면과 관련된 데이터 대 어떤 형태로 조작된 데이터), DLA가 원래 카메라 센서에 의해 캡처된 모든 감지된 데이터(ISP에 대해 "범위를 벗어난" 것을 포함)를 평가할 수 있도록 하면 포스트-ISP 데이터를 기반으로 하는 것과 비교하여 딥 러닝 결과가 유리하게 향상될 수 있다.
다시 도 3으로 돌아가서, 각 엔티티에 제공된 데이터는 일 구현예에서 사실상 동일하다; 그러나 DLA 대 ISP에 제공되는 데이터 세트들은 예를 들어 한 프로세스 또는 디바이스에 제공된 데이터 중 일부가 다른 프로세스 또는 디바이스에 제공된 데이터의 서브세트인 경우와 같이 본질적으로 이질적일 수 있음을 이해해야 한다. 예를 들어 "원시" 센서 데이터를 처리하기 위해 ISP가 요구하는 특정 데이터가 DLA가 최적으로 동작하는 데 필요하지 않은 응용 프로그램이나 동작이 있을 수 있다. 따라서 프리-ISP 처리의 레벨(존재하는 경우)도 DLA와 ISP 분기들 간에 이질적일 수 있다.
또한, 각 디바이스에 제공되는 데이터의 포맷은 동일하거나 선택적으로 차별화될 수 있다. 앞서 논의된 바와 같이 DLA 로직 또는 알고리즘은 일부 경우에 데이터 포멧에 둔감할 수 있지만 ISP는 그렇지 않을 수 있다(그리고 예를 들어 데이터가 규정된 포멧 또는 시간적 관계/순서로 ISP에 제공되도록 요구할 수 있음).
일 실시예에서, 이미지 센서(들)(302)는 DLA 및 ISP에 동일한 센서 데이터를 제공하도록 구성된 단일 이미지 센서를 포함한다. 다른 실시예에서, 단일 이미지 센서는 다중 이미지 센서 모드들에서 동작하도록 구성될 수 있고, 카메라 장치(300)는 제1 이미지 센서 모드를 사용하여 ISP(304)에 대한 센서 데이터를 생성하고, 제2 이미지 센서 모드를 사용하여 DLA(314)에 대한 센서 데이터를 생성하도록 구성된다. 이것은 예를 들어 일괄 처리 또는 인터리브 프로세스에서 수행되거나 지원 회로부가 두 모드들의 데이터를 병렬로 처리하도록 구성된 경우에도 동시에 수행될 수 있다.
또 다른 실시예에서 다수의 이미지 센서들이 카메라 장치(300)에 사용되며, 제1 이미지 센서는 ISP(304)에 대한 센서 데이터를 생성하도록 구성되고 제2 이미지 센서는 DLA(314)에 대한 센서 데이터를 생성하도록 구성된다.
장치의 다양한 실시예에 유용한 상이한 이미지 센서들 및 이미지 센서 구성들의 예는 도 15a 내지 15c 및 16a 내지 16e와 관련하여 본 개시의 다른 곳에서 설명된다.
일 실시예에서, DLA(314)는 얼굴, 오브젝트, 생물, 모션 유형, 거동 유형 등을 검출, 인식 및/또는 인식하는 것과 같은 하나 이상의 딥 러닝 작업들을 수행하도록 구성된다. 다른 실시예에서, 딥 러닝 알고리즘(들)은 다른 유형의 머신 러닝 작업들을 수행하도록 구성된다. DLA(314)는 하나 이상의 딥 러닝 작업들을 수행하기 위해 이미지 센서(들)(302)에 의해 직접 제공되는 센서 데이터(원시 포멧 이미지 데이터 또는 프리-원시 이미지 데이터)를 사용하도록 구성된다. 즉, DLA는 센서 데이터를 수용(즉, 이미지 센서(들)(302)에 의해 캡처된 장면과 관련된 광센서 값들)하고 센서 데이터를 기반으로 하나 이상의 결과/결론을 생성하도록 구성된 딥 러닝 아키텍처를 포함한다. DLA/알고리즘의 활용은 DLA 어셋(asset)을 가장 효과적으로 활용하기 위해 논리적 루프 등의 반복과 같이 병렬로 또는 순차적으로 발생할 수 있음을 이해할 것이다. 예를 들어, DLA는 논리적/명령 스레드(thread)들에서 병렬로 동작하는 여러 개별 프로세서 코어들(또는 입력 데이터에 대해 다수의 상이한 SIMT/SIMD 동작들을 수행하는 데 고도로 최적화된 GPU를 포함한 코어들의 그룹)로 구성될 수 있다. 반대로 한 스레드 또는 프로세스로부터의 출력이 다른 것의 입력으로 필요할 수 있다. 또한, 상이한 유형의 프로세스들(예를 들어, 이기종 유형의 DL 또는 ML 알고리즘 수행)를 주어진 어플리케이션에 적용 가능한 병렬 또는 직렬로 실행할 수 있다.
일 예로 얼굴 검출/식별 작업을 수행하는 딥 러닝 알고리즘의 경우 결과는 다음 중 하나일 수 있다: 1) 얼굴이 검출되었음; 2) 얼굴이 검출되었지만 인식되지 않음; 3) 얼굴이 검출되어 사람 A로 식별되었음; 4) 사람이 검출되었지만 얼굴이 보이지 않음; 5) 얼굴이 검출되었지만 식별을 수행하기에 충분한 데이터가 없음; 또는 6) 얼굴이나 사람이 검출되지 않음 등. 일 구현예에서, DLA 결과 데이터는 또한 특정 결론의 신뢰도 레벨을 포함하여(예를 들어, 경험적(heuristic) 또는 퍼지 논리 변수, 또는 기타 체계에 기초함). 결과가 예를 들어 얼굴이 사람 A로 검출되고 인식되었지만 "낮음"(낮음/중간/높음) 레벨의 신뢰도로 표시될 수 있다. 일 구현예에서, DLA 결과는 또한 중요한 정보를 제공한 것으로서 개별 광센서들 또는 이미지 센서(들)(302)의 광센서들의 세트/어레이의 식별을 포함한다. 예를 들어, DLA 결과는 얼굴이 위치한 장면의 영역에 해당하는 데이터를 캡처한 광센서들을 식별할 수 있다. 이 정보는 DLA에 의한 후속 처리 또는 이미지 처리에 초점을 맞춰야 하는 위치에 대한 "힌트" 또는 이미지 자르기 유형 기능과 같은 후속 프로세스(예를 들어, 추가 식별 개선 및 이미지 센서 분기(예를 들어, ISP)에 대한 입력) 모두에 사용될 수 있다. 예를 들어, 앞서 언급된 "그린" 향상은 다른 유형의 동작(또는 반대로 ROI에 대해 제거되거나 회피되는 동작)과 마찬가지로 관심 영역(ROI)에만 적용될 수 있다.
또 다른 예에서, 의심스러운 거동 검출 작업을 수행하는 딥 러닝 알고리즘의 경우, DLA 결과는 단순히 바이너리일 수 있다; 예를 들어: 1) 의심스러운 거동이 검출되었음, 또는 2) 의심스러운 거동이 검출되지 않았음. 이전 예와 마찬가지로 DLA는 신뢰도 레벨 및/또는 특정 광센서를 식별할 수도 있다.
다른 예에서 동물/오브젝트 인식 작업을 수행하는 딥 러닝 알고리즘에서, DLA 결과는 다음을 포함할 수 있다: 생물 A가 발견되었는지 여부에 대한 결정, 결과에 대한 신뢰 레벨 및/또는 잠재적으로 관련 광센서의 식별.
다양한 다른 딥 러닝 작업이 카메라 장치(300)의 특정 어플리케이션에 따라 DLA(314)에서 구현될 수 있다.
또한, DLA(314)는 딥 러닝 기반 작업들 중 하나 이상을 수행하기 위해 이미지 센서(들)(302)에 의해 제공된 센서 데이터보다 많은 것을 사용할 수 있다. 예를 들어, 일부 변형에서, 카메라 센서 또는 다른 컴포넌트(318)로부터, 또는 외부 소스로부터와 같은 외부 데이터가 DLA/분석 처리를 보조하는데 사용될 수 있다. 그러한 예 중 하나는 DLA가 검출/인식을 위한 기반으로 사용할 특성 및 오브젝트 유형을 "학습"할 수 있는 오브젝트, 얼굴 등의 참조 라이브러리 또는 템플릿이다. 예를 들어, DLA는 사람이 얼굴 마스크, 안경 또는 기타 유형의 얼굴 장치 또는 모자를 착용하고 있는지 여부를 학습할 수 있다. 이러한 템플릿 또는 라이브러리 데이터는 예를 들어 카메라 또는 장치(300)가 데이터 통신하는 클라우드 프로세스에 배치될 수 있거나, 대안적으로 이러한 데이터는 적절한 크기의 저장 장치를 가정하여 로컬로 저장될 수도 있다.
본 개시의 다양한 실시예에서, DLA(314)는 또한 시간, 위치, 온도, 압력에 대한 정보와 같은 추가 데이터를 사용하도록 구성된다. 일 구현예에서, 추가 데이터는 카메라 장치(300)에 미리 저장되거나 현재 제공되는 센서 또는 이미지 데이터를 포함한다. 예를 들어, 얼굴 식별 작업에는 DLA(314)가 비교에 사용할 수 있는 식별된 얼굴의 데이터베이스가 최소한 필요하다. 추가 데이터는 카메라의 추가 컴포넌트들(318) 중 하나 이상으로부터 DLA에 제공될 수 있다(아래에 설명됨).
본 개시의 일 양태에서, 카메라 장치(300)는 하나 이상의 추가적인 카메라 컴포넌트들(318)을 포함한다. 추가 컴포넌트들(318)은 예를 들어 다음 중 하나 이상을 포함할 수 있다: 비-이미저 센서, 무선 수신기(들), 저장 디바이스, 클록/달력, GPS 추적기, 가속도계 및 플래시/조명 장치. 일 변형에서, 비-이미저 센서는 다음 중 하나 이상을 포함한다: 온도 센서, 습도 센서, 압력 센서 및 마이크.
일부 실시예에서, 추가 컴포넌트들(318) 중 하나 이상은 DLA(314)에 데이터를 제공하도록 구성된다. 추가 컴포넌트들(318)는 또한 데이터/명령어를 하나 이상의 카메라 제어기(들)(316)(아래에서 설명됨)에 제공하도록 구성될 수 있다. DLA(314) 및/또는 제어기(들)(316)는 그 다음 추가 데이터/명령어를 처리하도록 구성된다.
일부 구성에서, DLA(314)는 그 기능의 적어도 일부를 수행하기 위해 추가 데이터의 적어도 일부와 조합하여 이미지 센서(들)로부터의 데이터를 사용하도록 구성된다. 예를 들어, 일 구현예에서, 고정식 카메라 장치(300)의 DLA(314)는 현재 시간 정보와 함께 이미지 센서 데이터를 사용하여 의심스러운 거동을 검출하도록 구성될 수 있다. 센서 및 시간 정보를 모두 사용하여 의심스러운 거동을 식별하도록 훈련된 딥 러닝 아키텍처 시스템은 시간, 요일에 의존하여(또는 훈련 중 DLA에 의해 인식되는 다른 시간 종속 패턴 사용하여) 유사한 거동을 의심스러운 거동 또는 의심스럽지 않은 거동으로 구별할 수 있다. 다른 구현예에서, 비-고정식 카메라 장치(300)의 DLA(314)는 현재 시간 및 현재 위치 정보와 함께 이미지 센서 데이터를 사용하여 의심스러운 거동을 검출하도록 구성될 수 있다.
다른 예에서, 지진 활동은 예를 들어 DLA에 의해 카메라 장치를 통해 식별된 이벤트와 시간적으로 상관될 수 있는 USGS에 의해 동작되는 외부 지진 센서들로부터 획득된 S 및/또는 P파 데이터를 기반으로 DLA에 의해 검출될 수 있다(예를 들어, 모니터링되는 사무실 건물에서 책장이 흔들리는 것은 국지적 지진으로 인한 S파 또는 P파 과도 현상과 상관 관계가 있을 수 있음).
다른 예에서, 원격 야생동물 카메라의 DLA(314)는 (i) 이미지 센서 데이터, (ii) 현재 시간, 위치 및 온도 정보 및 (iii) 동물들에 대응하는 이미지 또는 센서 파일의 데이터베이스에 기초하여 동물의 수를 검출하도록 구성될 수 있다. 적외선 센서 데이터(사용 가능한 경우)는 검출을 확인하거나 DLA 프로세스에 대한 입력으로 사용하는 데 유용할 수도 있다. 위의 모든 정보를 사용하여 훈련된 딥 러닝 시스템은 특정 동물이 시간, 위치 및 온도의 특정 조합에서 검출될 가능성이 더 높다는 것을 인식하고 IR 이미지를 통해 그 존재를 확인하도록(후자는 예를 들어 DLA 분석과 병렬로 장치의 ISP 처리 체인을 통해 생성될 수 있음) 학습할 수 있다. 다른 구현예에서, 원격 야생동물 카메라의 DLA(314)는 (i) 이미지 센서 데이터, (ii) 센서 데이터 파일의 데이터베이스, 및 (iii) 카메라 마이크에 의해 포착된 소리에 기초하여 특정 동물들을 검출하도록 구성될 수 있다.
일 실시예에서, 카메라 장치(300)의 제어기(들)(316)는 추가 카메라 컴포넌트(318)로부터의 명령어 또는 데이터에 기초하여 하나 이상의 카메라 기능을 활성화/비활성화 및/또는 수정하기 위한 로직을 포함한다. 예를 들어, 카메라 장치(300)는 하루 중 특정 시간에만 이미지 센서 데이터를 수집하도록 구성될 수 있다. 다른 예로, 카메라 장치(300)는 특정 날짜에만 데이터를 송신하도록 구성될 수 있다. 다른 예에서, 송신기(312)는 하루 중 시간 및 현재 대기 조건에 따라 특정 주파수 채널을 사용하도록 구성될 수 있다. 다양한 다른 카메라 구성이 아래에서 추가로 설명된다.
본 개시의 일 양태에서, ISP(304)는 종래의 ISP 기능을 사용하여 센서 데이터를 처리하도록 구성된다. 일 실시예에서, ISP(304)는 디모자이싱(예를 들어, 각 픽셀에 대한 RGB 값들의 보간), 색 공간 변환, 색 균형, 감마 교정, 광학/렌즈 교정, 샤프닝 및 노이즈 감소 중 하나 이상을 포함한다. 일 변형에서, ISP 기능의 일부 또는 전부는 제어기(들)(316)에 의해 활성화되거나 수정될 수 있다. 예를 들어, 제어기(들)(316)은 DLA 처리의 특정 중간 단계로부터의 출력 또는 DLA 결과에 적어도 부분적으로 기초하여 ISP(304)를 활성화/수정할 수 있다. 일 구현예에서, 제어기(들)(316)은 추가 컴포넌트들(318) 중 하나 이상으로부터 획득된 추가 데이터에 적어도 부분적으로 기초하여 ISP(304)를 활성화/수정한다.
일 실시예에서, 인코더(306)는 ISP(304)에 의해 제공되는 이미지 데이터를 인코딩/압축하고 공지된 포맷(예를 들어, MPEG, JPEG, AVC, HEVC)으로 인코딩된 이미지 또는 비디오 파일을 출력하도록 구성된다. 일 변형에서, 인코딩 프로세스의 적어도 일부는 제어기(들)(316)에 의해 활성화되거나 수정될 수 있다. 예를 들어, 제어기(들)(316)은 DLA 결과 및/또는 다른 온보드 또는 외부 소스로부터 획득된 추가 데이터에 대해 적어도 부분적으로 인코더 베이스를 활성화/수정할 수 있다.
일 실시예에서, 카메라 장치(300)는 데이터 출력 모듈(308)을 포함하고, 여기서 카메라 장치(300)에 의해 수집/생성된 데이터는 저장 및/또는 송신될 수 있다. 출력 모듈(318)은 적어도 하나의 저장 유닛(310)(예를 들어, 플래시 메모리, 착탈식 저장 카드 등) 및 적어도 하나의 송신기(312)를 포함한다. 저장소(310)와 송신기(312)가 도 3에서 논리적으로 함께 그룹화되었지만, 그들은 반드시 물리적으로 동일한 카메라 컴포넌트 내에 위치하거나 서로 논리적으로 결합될 필요는 없다는 점에 유의해야 한다. 일 실시예에서, 적어도 송신기(312)는 기저대역 유닛 및 안테나를 포함한다. 일 실시예에서, 송신기(312)는 무선 PAN(예를 들어, IEEE 표준. 802.15.4, BLE 등) 또는 WLAN 인터페이스와 같은 송신기/수신기 유닛의 일부이다. 대안적으로, 무선 인터페이스는 인가된 또는 비인가된 스펙트럼(예를 들어, NR-U)을 사용하는 것과 같은 3GPP 호환 4G/4.5G/5G 인터페이스일 수 있다.
본 개시의 일 양태에서, 하나 이상의 제어기(들)(316)은 다음 중 하나 이상을 구성/활성화할 수 있다: 이미지 센서(들)(302), ISP(304), 인코더(306), 출력 모듈(308), DLA(314), 및 카메라 장치의 추가 컴포넌트들(318).
카메라 제어기(들)(316)는 또한 일부 실시예에서 DLA(314)에 의해 제공된 결과에 기초하여 카메라 장치(300)의 상이한 부분들을 구성하기 위한 로직을 포함할 수 있다. 예를 들어, 일 실시예에서, 제1 DLA 결과는 제어기(들)(316)가 특정 카메라 기능을 활성화(예를 들어, ISP(304) 또는 인코더(306)를 활성화)하거나 활성 상태로 유지하기 위한 커맨드를 발행하게 할 수 있고, 제2 DLA 결과는 제어기(316)가 특정 카메라 기능을 비활성화하거나 비활성화된 상태를 유지하도록 할 수 있다. 제어기(들)(316)는 또한 DLA(314)로부터 저장소, 추가의 전용 프로세서, 또는 무선 인터페이스와 같은 다른 기능 유닛과 같은 다른 카메라 컴포넌트들 중 하나로 (직접적으로 또는 수정된) 데이터를 송신하도록 구성될 수 있다.
DLA 결과에 기초하여 ISP(304), 인코더(306) 및 출력 모듈(308)을 구성하는 제어기(들)(316)의 추가 예는 도 6 및 7의 설명에 제공된다.
일 실시예에서, 하나 이상의 제어기(들)(316)은 DLA 결과에 기초하여 이미지 센서(들)(302)에 전력을 공급하거나 차단할 수 있다. 일부 구성에서, 카메라 장치(300)는 2개 이상의 이미지 센서들(302)을 포함하고, 제어기(316)는 DLA 결과 또는 출력에 기초하여 개별 이미지 센서의 전력을 선택적으로 공급/차단할 수 있다.
더욱이, 일부 실시예에서, 제어기들(316)은 특정 모드에서 기능하도록 이미지 센서(들)(302)를 구성할 수 있다. 예를 들어, 이미지 센서(들)(302)는 저전력 모드, 고전력 모드, 저 이득/노출 모드, 고 이득/노출 모드 등에서 동작될 수 있다.
일부 변형에서, 이미지 센서(들)(302)는 예를 들어 제어기 입력에 기초하여 활성 광센서들의 특정 세트들과 함께 기능하도록 구성될 수 있다. 그러한 일 실시예에서, 제어기(들)(316)은 이미지 센서(들)(302) 중 적어도 하나에게 센서 데이터를 카메라 ISP 칩(304)에 송신하거나 송신하지 않도록 지시한다. DLA 결과에 기초하여 이미지 센서(들)(302)를 구성하는 제어기(들)(316)의 추가 예는 도 11 및 12의 설명에서 제공된다.
도 3(그리고 실제로 본 명세서의 후속 실시예들)의 많은 DLA, ISP 또는 인코더 기능을 구현하는 로직이 하드웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있다는 것을 이해할 것이다. 예를 들어, FPGA와 같은 재프로그래밍 가능한 로직은 DLA 기능 또는 DLA의 지시에 따라 ISP 기능을 구현하는 데 사용될 수 있다. 대안적으로, 고속 하드웨어 로직(예를 들어, ASIC을 통해)은 재프로그래밍 또는 재구성이 제한적이거나/없음을 대가로 전술한 기능을 구현하는 데 사용될 수 있다. ASIC과 같은 하드웨어 기반 솔루션과 소프트웨어 기반 솔루션(예를 들어, FPGA에서 동작하는 프로세서 코어 내에서 구현될 수 있음) 사이의 트레이드오프는 주어진 어플리케이션의 요구사항에 따라 균형을 이룰 수 있으며, 이는 본 개시에서 제공되는 통상의 기술자에 의해 용이하게 달성될 것이다.
도 4는 본 개시의 이미징 장치의 다른 예시적인 실시예를 도시하며; 즉, 단순화된 카메라 장치(400)의 형태로 도시한다. 카메라(400)는 DLA(414) 및 ISP(404) 디바이스들과 직접 통신하는 하나 이상의 이미지 센서(들)(402)를 포함한다. 일 변형에서, 카메라 장치(400)의 DLA(414)는 이미지 센서(들)(402)에 의해 제공되는 센서 데이터에만 의존(즉, 처리만)한다. 다른 변형에서, DLA(414)에 의한 처리는 이미지 센서(들)(402)의 데이터뿐만 아니라 아래에서 더 자세히 논의되는 추가 카메라 컴포넌트들(418)에 의해 제공되는 추가 데이터에 의존한다. 더욱이, 도 4의 단순화된 카메라 장치(400)의 카메라 기능들 중 어느 것도 DLA(414)의 결과 또는 출력에 의존하지 않는다. 오히려 카메라는 이미지/비디오 데이터와 딥 러닝 평가 결과를 별도로 생성하고 둘 모두 출력하도록 구성된다(예를 들어, 저장 및/또는 전송, 추가 처리를 위해 다른 모듈 또는 프로세스에 제출).
도 5는 도 4의 카메라(400)에 의해 수행될 수 있는 방법(500)의 일 실시예를 도시하는 논리적 흐름도이다.
구체적으로, 단계(502)에서, 이미지 센서(들)(402)는 센서 데이터를 생성한다. 이미지 센서(들)(402)는 DLA(414) 및 ISP(404)에 동일한 데이터를 제공하는 단일 이미지 센서를 포함할 수 있다. 다른 변형에서, 이미지 센서(들)(402)는 DLA(414) 및 ISP(404) 각각에 연결된 2개의 상이한 이미지 센서들을 포함한다. 또 다른 변형에서, 센서(들)는 DLA 또는 ISP 중 하나에 제공되는 출력의 서브세트만을 사용하여 동일한 데이터를 출력할 수 있고 다른 하나(예를 들어, ISP)는 출력 데이터의 전체 보완을 수신한다.
일 실시예에서, 센서 데이터는 다음을 포함한다: (i) 이미지 센서의 광센서 어레이에 있는 개별 광센서들과 연관되거나 그로부터 파생된 디지털 값, 및 (ii) 선택적으로, 광센서 어레이 상의 개별 광센서들의 각각에 관한 위치 데이터. 디지털 값들은 일 구현예에서 개별 광센서 요소에서 검출된 광량(예를 들어, 강도 레벨)에 대응한다. 이전에 설명된 바와 같이, 개별 광센서 요소들에 대한 컬러 필터들은 미리 결정된 파장 범위의 빛만이 광센서 요소들과 상호작용할 수 있도록 할 수 있으며, 따라서 다양한 파장들에서 다양한 강도들이 어레이에 걸쳐 발생할 것이다.
단계들(504 및 510)에서, 이미지 센서(들)(402)는 DLA(414) 및 ISP(404)에 센서 데이터를 제공한다. 단순화된 카메라 장치(400)의 일 구현예에서, 이미지 센서(들)(402)는 특정 프롬프트 또는 지시를 기다리지 않고 직접 수집/생성한 센서 데이터를 DLA(414) 및 ISP(404)에 자동으로 송신하도록 구성되어 장치의 복잡성을 줄인다.
일 실시예에서(예를 들어, 방법(500)의 선택적 단계(505)로서), 추가의 비-이미저 센서 데이터가 하나 이상의 선택적 비 이미저 카메라 컴포넌트들(418)로부터 DLA(414)로 제공된다. 일 변형에서, 추가 데이터는 다음 중 하나 이상을 포함한다: (i) 위치 정보(예를 들어, GPS 수신기 또는 유사한 포지셔닝 디바이스에 의해 생성된 카메라 장치의 GPS 위치); (ii) 당시의 시간 값 또는 스탬프; (iii) 당시의 주변 온도; (iv) 고유(indigenous) 가속도계의 데이터, 및/또는 (v) 기준 센서 데이터(예를 들어, 데이터가 생성된 센서를 구체적으로 식별하는 데이터). 일 구현예에서, 추가 데이터의 적어도 일부는 카메라에 의해 생성 및/또는 그렇지 않으면 획득된다. 예를 들어, 데이터의 일부는 국부적으로 생성될 수 있는 반면, 다른 데이터는 카메라 외부의 엔티티 또는 프로세스로부터 (예를 들어, 카메라의 무선 인터페이스를 통해) 카메라 장치(400)에 의해 수신된다. 예를 들어, 추가/보충 데이터는 카메라 장치(400)의 하나 이상의 비-이미징 센서들에 의해 획득되거나 카메라 장치 외부의 소스로부터 수신된 타임-스탬핑된 비-이미저 센서 데이터를 포함할 수 있다.
일 구현예에서, 기준 센서 데이터는 이미지 센서(들)(402)에 의해 이전에 수집된 데이터이다. 다른 구현예에서, 기준 센서 데이터는 다른 이미지 센서(예를 들어, 카메라 장치(400) 외부에 있는 것)에 의해 이전에 또는 현재 수집된 데이터이다.
DLA에 추가 데이터를 제공하는 것(단계(505))은 DLA에 센서 데이터를 제공(단계(504))하기 전, 후에, 및/또는 동시에 수행될 수 있음을 이해할 것이다. 다른 실시예에서, DLA(414)에 추가 데이터가 제공되지 않으므로, 딥 러닝 프로세스는 전적으로 이미지 센서(402) 데이터를 사용하여 수행된다.
단계들(506 및 512)에서 센서 데이터는 DLA(414) 및 ISP(404)에 의해 독립적으로 처리된다. 방법(500A)의 단계들(506 및 512)는 서로 완전히 독립적이다.
단계(506)에서, DLA(414)는 적어도 하나의 딥 러닝 작업을 수행하기 위해 센서 데이터 및 선택적으로 추가 데이터의 일부를 딥 러닝 시스템에 입력한다.
일 실시예에서, 딥 러닝 알고리즘(들)은 얼굴 인식을 수행하도록 구성된다. 알고리즘은 (i) 센서 데이터만을 사용하여 수행되는 얼굴 검출 부분, 및 (ii) 센서 데이터 및 추가 기준 센서/이미지 데이터를 사용하여 수행되는 얼굴 매칭 부분을 포함할 수 있다.
다른 실시예에서, 딥 러닝 알고리즘은 다양한 다른 오브젝트를 검출/인식하도록 구성된다. 일 변형에서 DLA(414)는 다음을 검출/식별하도록 구성된다: 인간, 인체의 무리, 동물/유기체, 지형의 종류, 도로 표지판, 차량, 스포츠 관련 오브젝트(예를 들어, 공, 퍽, 골), 특정 움직임/동작, 스포츠 관련 동작(예를 들어, 던지기, 안타), 불, 천체 등.
단계(510)에서, ISP(404)는 이미지로 변환될 수 있는 데이터를 생성하기 위해(예를 들어, 직사각형 이미지의 각각의 픽셀에 대한 RGB 또는 CNYK 값을 생성하기 위해) 센서 데이터에 대한 통상적인 신호 처리를 수행한다. 다양한 ISP 기능은 본 개시의 다른 곳에서 설명된다.
단계(514)에서, 인코더(406)는 ISP(404)로부터 이미지 데이터를 획득하고 그것을 인식가능/표준화된 이미지 또는 비디오 포맷(예를 들어, JPEG, H.264, H.265 등)으로 인코딩/압축한다.
단계들(508 및 516)에서 카메라 장치(400)는 DLA(414)의 결과를 저장 및/또는 송신하고(단계(508)), ISP(404) 및 인코더(406) 프로세스들에 의해 생성된 이미지/비디오 파일을 저장 및/또는 송신한다(단계(516)). 일 실시예에서, DLA 결과 및 이미지/비디오 파일은 추후 처리 또는 송신을 위해 로컬 카메라 저장소(410)에 저장된다. 다른 실시예에서, DLA 결과 및 이미지/비디오 파일은 미리 선택된 캐리어 채널 또는 OFDM 파형으로 변조되어 장치(400) 외부로 송신될 수 있다.
방법의 일 변형에서 DLA 결과는 선택적으로만 저장/송신된다. 예를 들어, DLA가 관련 있는 무언가를 식별했다면(예를 들어, 관련 오브젝트를 식별한 경우), 이 결과는 카메라(400)에 의해 저장 및/또는 송신될 수 있다. 그러나 DLA가 특정 센서 데이터 세트와 관련된 것을 찾지 못한 경우 "아무" 결과가 삭제되거나 저장되지 않는다. 이와 같이 해당 출력만 저장/송신하거나 추가 처리하므로 저장 공간/처리를 절약할 수 있다.
일 실시예에서, 단계들(508 및 516)은 독립적으로, 잠재적으로, 상이한 시간에 수행된다.
다른 실시예에서, 동일한 센서 데이터로부터(또는 동시에 취해진 센서 데이터로부터) 생성된 이미지/비디오 파일 및 DLA 결과는 함께 연관되고, 그 다음 함께 저장/전송되는 DLA 결과 및 이미지 파일은 둘 다 연관을 생성하는 데 사용되는 타임스탬프를 포함할 수 있다. 일 변형에서 DLA 결과는 이미지/비디오 파일에 메타데이터로 추가된다. 예를 들어, 관련 오브젝트가 존재함을 나타내는 DLA 생성 라벨이 비디오 프레임들의 세트에 추가될 수 있다. 따라서 연속 비디오 스트림이 저장/송신될 때 비디오 스트림의 일부에 "관련" 라벨이 포함될 수 있다.
도 6은 DLA(614) 및 ISP(604) 디바이스들, 및 제어기(들)(616)에 직접 연결된 이미지 센서(들)(602)를 갖는 카메라 장치(600)의 논리적 블록도이다. 카메라 장치(600)의 제어기(들)(616)는 DLA(614)의 결과 및/또는 추가 카메라 컴포넌트들(618)의 데이터를 기초로 DLA(614), ISP(604), 인코더(606) 및 출력(608) 기능들을 구성/영향을 줄 수 있다.
도 7은 도 3의 장치(300) 및 도 6의 카메라(600)에 의해 수행될 수 있는 방법(700)의 논리적 흐름도이다.
도 6 및 7의 카메라(600) 및 방법(700)은 일반적으로 도 4 및 5의 카메라(400) 및 방법(500)과 유사하며, 카메라(600)의 무선 링크를 통한 것과 같은 외부 프로세스로부터 데이터 또는 수신된 커맨드 또는 로컬 로직을 기반으로 하든 간에 ISP, 인코더 및/또는 아웃룩 프로세스를 수정할 수 있는 하나 이상의 제어기(들)(616)가 추가된다.
일 실시예에서, 도 7의 방법(700)의 단계들(702, 704, 708, 710)는 일반적으로 도 5의 방법(500)에서와 동일한 방식으로 수행된다.
방법(700)의 단계(705)에서, 추가 카메라 컴포넌트들(618)로부터의 데이터(추가 데이터)는 DLA(614) 및 제어기(들)(616) 모두에 제공된다.
선택적으로, 단계(705)에 도시된 바와 같이, 제어기(들)(616)는 추가 데이터에 기초하여 DLA(614)를 구성할 수 있고, 즉, 제어기(들)(616)는 사전 훈련된 DLA 알고리즘 세트로부터 DLA(614)의 하나 이상의 딥 러닝 알고리즘들을 선택하고 활성화하는 데 사용될 수 있다.
예를 들어, 카메라(600)는 (i) 얼굴 인식을 수행하고 평일 오전 6시와 오후 9시 사이에 승인된 직원에게 구내 액세스를 제공하고 (ii) 다른 시간에 건물에 액세스하려는 사람의 사진이나 비디오를 촬영하도록 구성된 보안 시스템의 일부일 수 있다. 제어기(들)(616)은 DLA(614)가 (i) 지정된 시간 동안 얼굴 검출 및 얼굴 식별을 수행하고 (ii) 나머지 시간 동안만 얼굴 검출을 수행하도록 할 수 있다. 이러한 보안 시스템에서 카메라(600)를 사용하는 방법은 도 8에 대한 명세서에서 후술한다.
단계(706)에서, 카메라 장치(600)는 센서 데이터 및 선택적으로 추가 컴포넌트(618)에 의해 제공되는 추가 데이터를 사용하여 하나 이상의 딥 러닝 작업들을 수행한다. 딥 러닝 작업들은 카메라 장치(600)에 대해 설정 및 미리 결정될 수 있거나 단계(705)에서 설명된 바와 같이 제어기(들)(616)에 의해 선택될 수 있다. 딥 러닝 작업들은 해당 시점의 결과/분석 및/또는 외부 입력을 기반으로 적응적으로 수정될 수도 있다.
단계(707)에서 딥 러닝 프로세스의 결과가 제어기(들)(616)에 제공된다. 이러한 결과는 송신된 데이터, 신호 또는 기타 형식일 수 있다.
단계(709)에서, 제어기(들)(616)는 제어기 로직을 사용하여 추가 데이터(단계(705)에서 획득) 및 DLA 결과(단계(707)에서 획득) 중 적어도 일부를 평가하고; 평가에 기초하여, ISP(604), 인코더(606) 및 출력 모듈(608)과 같은 다양한 기능 또는 컴포넌트들이 구성, 활성화 또는 비활성화될 수 있다. 일부 실시예에서, 제어기 로직은 또한 존재하는 경우 추가 컴포넌트들(318 또는 618)로부터 수신된 데이터에 기초하는 것을 포함하여, 예를 들어 우세한 환경 또는 동작 조건에 기초하여 동적으로 업데이트된다.
선택적 단계(712)에서, 센서 데이터는 ISP(604)에 의해 처리된다. 일 실시예에서, ISP(604)는 DLA 결과 및/또는 추가 데이터에 기초하여 제어기(들)(616)에 의해 활성화/턴온된다. 예를 들어, 일 구현예에서, DLA(614)가 현재 센서 데이터 세트를 사용하여 관련 오브젝트(DLA 프로그래머/제조업체 또는 기타 입력에 의해 미리 결정됨)를 검출하거나 그렇지 않으면 현재 센서 데이터 세트를 "중요"로 라벨을 지정한 경우, 제어기(들)(616)은 카메라(600)가 저장, 표시 및 소비를 위해 센서 데이터의 현재 세트를 처리하기 시작하도록 ISP(604)를 활성화할 수 있다. DLA(614)가 관련 오브젝트를 검출하지 못하거나 현재 센서 데이터 세트가 중요하지 않다고 결정하는 경우, 제어기(들)(616)은 처리 오버헤드 및/또는 전력을 보존하기 위해 ISP(604)를 비활성화(또는 비활성화된 상태로 유지)할 수 있다. 다른 구현예에서, 센서 데이터의 현재 세트가 중요하지 않다는 결정에 기초하여, 제어기(616)는 ISP를 활성화할 수 있지만 현재 센서 데이터에 대한 최소 처리를 사용하도록 지시할 수 있다. 대안적으로, 제어기는 DLA에 의한 특정 오브젝트 또는 이벤트의 분류 또는 검출을 기반으로 특정 유형의 센서 또는 광센서의 서브세트를 활성화할 수 있다(예를 들어, 살아있는 오브젝트가 식별될 때 IR 대역 센서 요소들을 활성화하여 예를 들어 열 추적을 가능하게 함).
다른 변형에서, DLA(614)는 센서 데이터의 현재 세트에 대한 중요도의 레벨(또는 미리 결정된 랭크)을 결정할 수 있다. 예를 들어, DLA(614)는 카메라 장치(600)가 (i) 높은 중요도, (ii) 중간 중요도, 또는 (iii) 낮은 중요도를 갖는 것을 관찰하고 있다고 결정할 수 있다. 일 구현예에서, 현재 센서 데이터의 중요도 랭킹에 기초하여, 제어기(616)는 (i) 활성화/비활성화하고; (ii) 더 많거나 적은 처리를 제공하고; 또는 (iii) 특정 종류의 처리를 제공하도록 ISP(604)에 지시할 수 있다. 예를 들어 가장 중요한 데이터는 최대 처리가 필요한 반면 가장 덜 중요한 데이터는 최소한의 처리가 필요할 수 있다.
다른 변형에서, DLA는 관련되거나 관련되지 않은 여러 매개변수들을 기반으로 현재 센서 데이터를 분류할 수 있다. 예를 들어, DLA는 (i) DLA(614)에 의해 결정된 바와 같은 중요도 및 (ii) DLA 결정의 확실성/신뢰도에 기초하여 센서 데이터를 분류할 수 있다. 일 구현예에서, 낮은 신뢰도의 DLA 평가를 초래하는 센서 데이터는 원래 데이터의 대부분이 보존되도록 처리될 수 있어서---예를 들어 고품질 이미지가 나중에 다른 머신 러닝 프로세스 또는 인간 사용자에 의해 재생산/표시되고 평가되게 할 수 있다.
다른 변형에서, DLA(614)는 하나 이상의 이미지 영역들에 대응하는 캡처된 센서 데이터의 하나 이상의 부분들에서 관련 오브젝트를 식별할 수 있다. 일 구현예에서, 제어기(들)(616)은 이미지의 해당 영역에 대응하는 개별 광센서들에 의해 제공된 데이터만을 사용하도록(즉, 데이터 세트를 "자르기"하도록) ISP(604)에 지시할 수 있다. 다른 구현예에서, 제어기(들)(616)는 이미지의 해당 영역에만 해당하는 센서 데이터에 더 많은 전력/메모리/시간 집약적인 알고리즘(들)을 적용하고 전력/메모리/시간을 덜 요구하는 알고리즘(들)을 나머지 센서 데이터에 적용하도록 ISP(604)에 지시할 수 있다.
추가 구현예에서, 제어기(들)(616)은 이미지의 관련 영역에 대응하는 센서 데이터에 추가 또는 상이한 처리를 적용하도록 ISP(604)에 지시할 수 있다. 예를 들어, 제어기(들)(616)은 ISP가 전체 데이터 세트에 대해 디모자이싱 및 색 공간 변환을 수행하지만 이미지의 관련 영역에 대응하는 센서 데이터에만 감마 교정 및 광학 교정을 적용하도록 강제할 수 있다. 일 실시예에서 DLA는 ISP(604)의 일부 기능에 도움이 되는 데이터/정보를 추가로 생성한다. 예를 들어, DLA는 윤곽/에지가 포함된 영역을 찾을 수 있으며, 이는 ISP 선명화 기능(sharpening function)에 도움이 될 수 있다.
다른 구현예에서, ISP 알고리즘은 감마 교정 알고리즘(예를 들어,
Figure pct00001
으로 표현됨)이고 ISP 알고리즘을 구성하는 것은 DLA 및/또는 제어기(들)로부터의 데이터 또는 출력을 기반으로 감마 값
Figure pct00002
을 설정하는 것을 포함한다. ISP는 또한, 선택적으로 DLA 출력 및/또는 제어기 커맨드 또는 데이터를 기초로 하는 것을 포함하여, 결함 있는 픽셀 제거, 컬러 밸런싱(즉, 화이트 밸런싱), 색 공간 변환, 노이즈 감소, 광학 교정(예를 들어, 렌즈 왜곡에 대한 교정) 등과 관련된 하나 이상의 동작들을 수행하도록 구성될 수 있다.
선택적 단계(714)에서, ISP(604)로부터의 이미지 데이터는 인코더(606)에 의해 인코딩/압축된다. 일 실시예에서, 인코더(606)는 DLA 결과 및/또는 추가 데이터에 기초하여 제어기(들)(616)에 의해 활성화/구성된다.
일 변형에서, 더 중요한 센서 데이터(DLA에 의해 결정됨)에서 파생된 이미지는 덜 압축되는 반면 덜 중요한 센서 데이터에서 파생된 이미지는 더 압축된다. 중요도가 상이한(DLA에 의해 결정됨) 다른 변형 이미지들은 다른 인코딩 표준으로 인코딩된다. 예를 들어, 인식/식별된 얼굴에 해당하는 이미지/비디오는 제1 표준으로 인코딩될 수 있으며, 미확인 얼굴에 해당하는 이미지/비디오는 제2 표준으로 인코딩될 수 있고, 및 특정 거동에 해당하는 이미지/비디오는 제3 표준으로 인코딩된다. 상이한 인코딩 표준들은 예를 들어 특정 이미지들을 수신할 것으로 예상되는 외부 디바이스(디스플레이, 저장소)의 유형에 따라 달라질 수 있다. 일 구현예에서, 제어기(616)는 특정 이미지 데이터를 전혀 압축하지 않도록 인코더(606)에 지시할 수 있다(예를 들어, 그것이 매우 중요한 정보에 대응하는 경우).
선택적 단계(716)에서, 압축된 이미지/비디오 파일은 카메라 장치(600) 외부로 저장 및/또는 송신된다. 일 실시예에서, 저장 및/또는 송신 단계는 또한 DLA 결과 및/또는 추가 데이터에 의존한다.
일 변형에서 DLA 결과에 따라 이미지 파일은 특정 유형의 메모리(예를 들어, 영구, 임시 또는 다른 수준의 오류 또는 성능 수준을 가짐)에 저장되거나 메모리의 특정 부분에 저장되거나 로컬 메모리에 전혀 저장되지 않을 수 있다. 예를 들어, 카메라 장치(600)는 DLA가 특정 오브젝트를 갖는 것으로 식별한 센서 데이터에 대응하는 이미지/비디오만을 저장하도록 구성될 수 있다. 다른 예에서, 상이한 유형의 오브젝트들에 대응하는 이미지들은 메모리의 상이한 부분들에 저장될 수 있다.
일 변형에서 DLA 결과는 이미지의 전송 대상(예를 들어, 특정 외부 디바이스, 서버 등)을 결정하는 데 사용된다. 예를 들어, 카메라 장치(600)는 (i) 높은 우선순위 결과(DLA(614)에 의해 결정됨)를 (모바일 장치의 사용자에 의한 즉각적인 정독을 위해) 모바일 디바이스로 발송하고 (ii) 낮은 우선 순위 결과를 서버(저장용)로 발송하도록 하도록 구성될 수 있다. 일 변형에서, 이미지 파일이 송신되는 방식을 결정하기 위해 추가 데이터가 사용된다(예를 들어, 주파수 채널은 대기 조건에 기초하여 선택될 수 있음).
일 실시예에서, 단계들(712, 714, 716)의 조합(들)은 DLA 결과 및/또는 추가 데이터에 기초하여 활성화/구성된다. 또한, 도 5의 방법(500)의 단계(516)와 관련하여 설명된 바와 같이, 이미지/비디오 파일은 대응하는 DLA 결과와 링크/연관될 수 있다.
도 8은 구내의 보안 시스템에서 카메라(600)를 사용하는 방법(800)의 특정 구현예의 논리적 흐름도이다.
단계(802)에서 카메라 장치(600)는 센서 데이터를 획득한다. 이는 도 7의 단계(702)에 대응한다.
단계(804)에서 DLA(614)는 센서 데이터를 이용하여 얼굴을 검출한다.
단계(806)에서 얼굴이 검출되지 않은 경우 카메라(600)는 계속해서 데이터를 획득하고 DLA 동작을 수행한다. 얼굴이 검출되면 방법은 단계(808)로 이동한다.
단계(808)에서, 카메라(600)는 추가 카메라 컴포넌트(618)(즉, 클록)로부터 현재 시간 정보를 획득하고 제어기(들)(616)를 사용하여 현재 시간이 승인된 시간 프레임(즉, 평일 오전 6시에서 오후 9시 사이) 내에 있는지 결정한다.
현재 시간이 승인된 시간 프레임을 벗어난 경우 카메라 장치(600)는 허가되지 않은 시간에 구내에 액세스하려는 사람의 이미지를 획득하도록 구성된다. 이를 위해, 제어부(들)는 단계(809)에서 카메라 장치(600)의 ISP, 인코더 및 출력 컴포넌트들을 활성화한다. 특정 품질의 이미지를 획득하기 위해, 도 8의 방법(800)은 예를 들어 이미지 파일을 최소로 압축(즉, 제1 레벨에서 인코딩)하도록 구성된다. 카메라(600)는 ISP/인코딩을 수행한 후 DLA에 의해 검출된 얼굴을 포함하는 이미지/비디오 파일을 저장 및/또는 송신한다(단계(804)).
현재 시간이 승인된 시간 프레임 내에 있으면 방법은 단계(810)로 이동한다. 단계(810)에서, DLA(614)는 센서 데이터(이미지 센서(들)(602)로부터) 및 기준 데이터(추가 컴포넌트(618)로부터의)를 사용하여 얼굴 식별을 수행하도록 구성된다. 이 단계는 도 7의 방법(700)의 단계들(705 및 706)에 대응한다.
단계(812)에서, DLA(614)가 승인된 사람을 식별하지 않으면, 카메라 장치(600)는 건물에 액세스를 시도하는 허가되지 않은 사람의 이미지를 획득하도록 구성된다. 이를 수행하기 위해, 방법(800)은 단계(809)와 유사한 방식으로 단계(813)를 수행할 수 있다.
단계(812)에서, DLA(614)가 승인된 사람을 식별하면, 방법은 단계(814)로 이동한다. 단계(814)에서 보안 시스템은 승인된 사람이 구내에 액세스할 수 있도록 허용한다.
마지막으로, 선택적 단계(816)에서, 보안 시스템은 구내에 대한 액세스를 획득한 승인된 사람의 이미지를 획득하도록 구성된다. 본 예시에서, 카메라(600)는 압축된 이미지를 생성하기 위해 ISP 및 인코더를 활성화하도록 구성된다. 그러나 승인된 사람의 이미지는 덜 중요한 것으로 간주될 수 있으므로 단계(816)의 인코더는 인코딩의 제1 레벨보다 더 압축적인(더 많은 손실이 있는) 제2 레벨에서 활성화될 수 있다.
도 8의 방법(800)은 딥 러닝 알고리즘의 결과에 기초하여 여러 카메라 기능들(예를 들어, ISP 및 인코더)이 활성화되고 구성되는 본 개시의 카메라 장치를 사용하는 하나의 특정 예를 예시한다. 방법(800)의 한 가지 가능한 이점은 이미지 생성 기능이 사람/얼굴의 존재에 응답하여만 사용되고 그렇지 않으면 비활성화된다는 점이다.
본 개시의 다른 양태에서, 도 9는 어떠한 ISP도 포함하지 않는 또 다른 (단순화된) 카메라 장치(900)의 논리적 블록도이다. 카메라 장치(900)는 DLA(914)에 직접 연결된 하나 이상의 이미지 센서(들)(902)를 포함한다.
일 실시예에서, 카메라 장치(900)는 표시/인간 소비에 사용될 데이터를 획득하도록 최적화되지 않는다. 일 변형에서, 이미지 센서(들)(902)는 적어도 부분적으로 가시 스펙트럼 밖에 있는 및/또는 적어도 부분적으로 과다 노출 또는 노출 부족인 센서 데이터를 수집하도록 구성된다. 표시에 최적화되지 않은 이미지 센서의 예는 도 15a 내지 15c 및 16a 내지 16e와 관련하여 설명된다.
도 10은 도 9의 카메라(900)에 의해 수행될 수 있는 방법(1000)의 흐름도를 도시한다. 도 10의 방법(1000)의 단계들(1002 내지 1008)은 일반적으로 도 5와 관련하여 설명된 방법(500)의 단계들(502 내지 508)과 유사하게 수행될 수 있다.
도 11은 이미지 센서(들)(1102), 출력 모듈(1108) 및 추가 카메라 기능들(1118)을 구성하는 데 사용될 수 있는 하나 이상의 제어기(들)(1116) 및 DLA(1114)에 직접 연결된 하나 이상의 이미지 센서(들)(1102)를 포함하는 카메라 장치(1100)의 논리적 블록도이다.
도 6의 카메라(600)의 제어기(들)(616)과 유사하게, 제어기(들)(1116)은 DLA(1114) 및 추가 데이터의 결과에 적어도 부분적으로 기초하여 추가 카메라 컴포넌트들(1118) 및 출력 모듈(1108)을 포함하는 다양한 카메라 기능을 구성할 수 있다. 또한, 카메라 장치(1100)에서, 제어기(들)(1116)은 DLA 결과 및/또는 추가 데이터에 기초하여 이미지 센서(들)(1102)를 활성화 및/또는 구성할 수 있다.
도 12는 도 11의 카메라(1100)에 의해 수행될 수 있는 방법(1200)의 논리적 흐름도이다. 도 12의 방법(1200)의 단계들(1202, 1204, 1206_은 도 5와 관련하여 설명된 방법(500)의 단계들(502, 504, 506)과 유사하게 수행될 수 있다.
선택적 단계(1205)에서, 추가 데이터가 제어기(들)(1116) 및 DLA(1114)에 제공된다. 일 실시예에서, 단계(1205)는 도 7의 방법(700)의 단계(705)와 유사하다.
단계(1218)에서, DLA 결과는 선택적으로 하나 이상의 제어기(들)(1116)로 송신된다. 단계(1218)는 일 실시예에서 일반적으로 도 7의 방법(700)의 단계(707)와 유사하다.
단계(1220)에서, 제어기(들)(1116)은 다양한 카메라 기능들을 켜고/끄고, 활성화하고 및/또는 구성한다. 방법(1200)의 단계(1220)는 ISP, 인코더, 및 출력 모듈의 활성화/구성을 포함한다(단계들(712, 714, 716)과 유사).
그러나, 도 12의 단계(1220)는 또한 이미지 센서(들)(1102) 및 추가 카메라 컴포넌트(1118)의 선택적 활성화/구성을 포함한다. 일 실시예에서, 단계(1220)는 DLA(1114)로부터 획득된 결과/데이터 및 추가 카메라 컴포넌트(118)로부터 획득된 명령어/데이터 중 하나 이상에 적어도 부분적으로 의존한다.
일 실시예에서, 하나 이상의 추가 카메라 컴포넌트들(1118)(예를 들어, 무선 송수신기, 비-이미지 센서, GPS 추적기)은 추가 카메라 컴포넌트들(1118)로부터 획득된 데이터(예를 들어, 특정 시간 또는 대기 판독치)에 기초하여 활성화되거나 구성된다. 일 실시예에서, 하나 이상의 추가 카메라 컴포넌트들(1118)은 DLA 결과에 기초하여 활성화되거나 구성된다.
방법(1200)의 단계(1220)의 일 실시예에서, 제어기(들)(1116)은 이미지 센서(들)(1112)의 적어도 일부를 구성하거나 활성화한다. 일 변형에서 이미지 센서(들)는 기본적으로 활성화되는 제1 이미지 센서 및 DLA 결과에 응답하여 제어기(들)(1116)에 의해 활성화될 수 있는 제2 이미지 센서를 포함한다. 예를 들어, 충분한 데이터가 수집되지 않는다는 DLA(1114)의 결정에 응답하여 제2 이미지 센서가 활성화될 수 있다.
일 변형에서, 이미지 센서(들)는 제1 및 제2 구성들을 포함하는 하나 이상의 광센서 어레이들을 포함하고; 및 제어기(들)는 DLA 결과에 따라 제1 또는 제2 구성을 활성화한다. 활성 광센서의 다중(예를 들어, 3개 이상)의 상이한 구성들이 DLA 결과에 기초하여 제어기들(1116)에 의해 선택될 수 있다. 제어기들(1116)은 또한 이미지 센서(1102)에 특정 필터를 선택적으로 적용하고, 카메라 셔터 속도를 구성하고, 카메라 플래시를 활성화할 수 있다.
단계(1208)에서, DLA 결과는 저장, 송신 또는 폐기된다. 메모리 장치(1110) 및 송신기(1112)는 DLA 결과 및/또는 추가 데이터에 기초하여 (단계(1220)에서) 제어기(1116)에 의해 구성될 수 있다.
도 13은 다중(여기서는 2개의) 개별 딥 러닝 프로세스들을 갖는 DLA(1314), 및 DLA(1314)의 기능에 적어도 부분적으로 영향을 미치는 ISP(1304)를 포함하는 카메라 장치(1300)의 다른 실시예의 논리 블록도이다. 일 변형에서, 2개의 딥 러닝 프로세스들이 2개의 상이한 딥 러닝 가속기 디바이스들(1314A 및 1314B)에서 수행되지만, 다른 구성(예를 들어, 여러 DLA 알고리즘들을 병렬로 실행할 수 있는 다중 코어 디바이스)이 사용될 수 있다. 카메라(1300)의 제어기(1316)는 이미지 센서(들)(1312), DLA(1314), 및 ISP(1304)를 구성 및/또는 활성화할 수 있다.
도 14는 도 13의 카메라(1300)에 의해 수행될 수 있는 방법(1400)의 일 실시예를 도시하는 논리적 흐름도이다.
단계(1402)에서, 이미지 센서(들)(1402)는 센서 데이터를 획득한다. 단계(1402)는 도 5의 방법(500)과 관련하여 설명된 센서 데이터를 획득하는 단계(502)와 유사하게 구현될 수 있다.
방법(1400)의 단계들(1404 및 1405)는 이전 방법들(예를 들어, 도 5의 방법(500)) 중 하나의 단계들(504 및 505)과 유사하게 수행될 수 있다. 추가 데이터는 도 14의 방법(1400)에서 제어기(들)(1416)에 제공되지 않으며; 그러나, 방법은 단계(1405)가 도 7의 방법(700)과 관련하여 설명된 단계(705)와 유사하게 수행되도록 수정될 수 있다는 것에 유의한다.
단계(1422)에서, 적어도 단계(1404)에서 획득된 센서 데이터를 사용하여 제1 딥 러닝 프로세스가 수행된다. 일 구현예에서, 제1 딥 러닝 프로세스는 제1 DLA(1314)에 의해 수행되는 얼굴 검출 프로세스이다.
단계(1424)에서, 제1 딥 러닝 프로세스 결과는 저장 및/또는 제어기(들)에 제공될 수 있다. 예를 들어, DLA(1314)는 얼굴이 이미지 센서(1302)에 의해 검출되었다고 결정할 수 있고 이 결과를 제어기(1316)에 제공할 수 있다.
선택적 단계(1420)에서, 제1 딥 러닝 프로세스 결과에 기초하여 제어기(1316)에 의해 다양한 카메라 기능이 켜짐/꺼짐 또는 구성된다. 이 단계는 도 12와 관련하여 설명된 방법(1200)의 단계(1220)와 유사할 수 있다. 즉, 제1 딥 러닝 프로세스 결과에 적어도 부분적으로 기초하여, 제어기(들)(1316)은 이미지 센서(들)(1302), 추가 카메라 컴포넌트들(1318), ISP(1304), 인코더(1306), 및 출력 모듈(1308)을 선택적으로 활성화, 비활성화 또는 구성한다.
단계(1426)에서, 센서 데이터는 ISP(1304)에 의해 처리된다. 일 실시예에서, 단계(1426)는 제어기(1316)에 의한 간섭 없이 수행되고 DLA 결과(단계(1424)에서 획득됨)에 의존하지 않는다. 다른 실시예에서, 단계(1426)은 단계(1424)에서 획득된 제1 DLA 결과에 적어도 부분적으로 의존한다. 이러한 유형의 잠재적 의존성은 방법(700)의 단계(712)와 관련하여 위에서 설명되었다. 일 실시예에서, ISP(1304)는 기본적으로 비활성화되고 제1 딥 러닝 프로세스로부터의 특정 결과(예를 들어, 얼굴이 검출됨)에 응답하여만 활성화된다. 단계(1414)에서 이미지 데이터는 카메라 인코더(1306)에 의해 인코딩되고 단계(1416)에서 인코딩된 이미지/비디오 파일은 카메라 장치(1300)에 의해 저장 및/또는 송신된다.
병렬 단계(1428)에서, ISP(1304)는 처리된 이미지 데이터를 DLA(1314)로 송신한다(직접적으로 또는 제어기(들)(1316)를 통해). 일 실시예에서, 처리된 이미지 데이터는 인식 가능한 이미지 파일 포멧이고 다른 표준 디지털 이미지와 쉽게 비교될 수 있다.
단계(1430)에서 제2 딥 러닝 프로세스가 수행된다. 제2 딥 러닝 프로세스는 ISP(1304)에 의해 제공된 이미지 데이터를 사용한다. 일 실시예에서, 제2 딥 러닝 프로세스는 제2 DLA(1314B)에 의해 수행된다. 일 구현예에서, 제2 딥 러닝 프로세스는 얼굴 식별/인증을 포함한다.
단계(1432)에서, 제2 딥 러닝 프로세스의 결과가 저장 및/또는 송신된다.
도 14에 도시된 센서 처리 방법(1400)에서, 초기의 비교적 간단하고 빠른 딥 러닝 프로세스(예를 들어, 얼굴 검출)는 직접 센서 데이터를 사용하는 딥 러닝 가속기에 의해 수행될 수 있다.
초기 딥 러닝 프로세스에서 관련성을 찾지 못하면, 다른 카메라 기능이 활성화될 필요가 없다. 일 실시예에서, 이미지 센서(들)(1302) 및 제1 DLA(1314A)만이 기본적으로 활성화되고, 초기 딥 러닝 프로세스가 관련성을 찾은 경우에만 다른 카메라 기능들 중 하나 이상이 활성화된다. 일 변형에서, 다른 카메라 기능들은 적어도 하나의 다른 딥 러닝 프로세스(예를 들어, 얼굴 식별)를 포함한다. 일 구현예에서, 적어도 하나의 다른 딥 러닝 프로세스는 이미지 데이터(즉, 포스트-ISP 데이터)를 평가하도록 구성된다. 일 변형에서, 이미지 센서(들)(1302) 및 제1 DLA(1314A)의 저전력 구성은 기본적으로 활성화되고, 이미지 센서(들)(1302)의 적어도 더 높은 전력 구성은 제1 DLA(1314A)의 특정 결과(예를 들어, 얼굴이 검출됨)에 기초하여 활성화될 수 있다.
예시적인 이미지 센서
본 개시에 따라 구성된 이미징(예를 들어, 카메라) 장치는 또한 다양한 실시예에서 (i) 하나 이상의 종래의 이미지 센서들(즉, 인간에게 표시를 위해 최적화된 것) 및/또는 (ii) 하나 이상의 특수 이미지 센서들(즉, 컴퓨터 또는 인간 표시에 최적화되지 않고 이전에 설명된 유형의 분석을 위한 것임)을 포함할 수 있다. 도 15a 내지 도 15c는 이러한 특수 이미지 센서들 (ii)에 사용될 수 있는 광센서 어레이들의 예시적인 실시예를 도시한다.
예를 들어, 도 15a는 3가지 상이한 종류의 광센서 요소들(1512A/1512B/1512C)를 포함하는 광센서 어레이(1510)를 도시한다. 상이한 광센서 요소들은 예를 들어 개별 광센서들의 광 감지 접합 영역 위에 형성된 상이한 파장 필터들을 통해 또는 광 감지 접합을 형성하는 반도체 재료의 상이한 속성들을 통해 상이한 주파수/파장 범위의 광을 검출할 수 있다.
간단히 말해서, 기존의 광센서 어레이는 컴퓨터 디스플레이에 해당하는 색상 범위 내에서 빛을 검출하는 세 가지 종류, 예를 들어, 레드/그린/블루(RGB) 또는 청록/노랑/자홍(CYM)의 광센서 요소들을 포함할 수 있다. 이러한 종래의 광센서 어레이는 또한 인간의 눈이 앞서 언급한 바와 같이 그린 광에 더 민감하다는 사실을 설명하기 위해 비례적으로 더 많은 그린 광 검출기들을 포함할 수 있다.
더욱이, 종래의 이미지 센서는 특히 컴퓨터 디스플레이 표준 및/또는 인간의 지각을 염두에 두고 데이터를 획득하도록 구성된 컬러 필터 어레이를 포함할 수 있다(예를 들어, 베이어(Bayer) 필터, RGB 필터 등). 이는 컴퓨터 디스플레이(RGB 또는 CYM)로 쉽게 변환되는 색상 범위의 빛을 검출하는 컬러 필터 어레이들과 다른 유형의 조명보다 그린 광을 더 잘 검출하는 컬러 필터 어레이를 포함할 수 있다. 기존의 이미지 센서는 또한 특정 범위의 광센서 광감도(즉, 사람의 눈으로 쉽게 인지할 수 있는 노출 범위 내)와 표시용으로 수용 가능한 이미지를 생성하기에 충분히 조밀한 광센서 어레이를 가질 수 있다.
그러나 표시용이 아닌 DLA 평가용 센서 데이터를 생성하는 데 사용되는 광센서 어레이는 위의 규칙을 따를 필요가 없으며, 실제로 이러한 피쳐는 출력이 DLA 또는 기타 분석 프로세스에 대한 입력으로 사용되는 어플리케이션에서 이러한 특수 센서 구성의 효능 및/또는 효율성을 저하시킬 수 있다. 컴퓨터 표시용 데이터를 얻는 것이 카메라의 주요 작업이 아닌 경우 특수 이미지 센서는 새로운(unconventional) 컬러 필터 어레이, 광센서 감도 범위 및/또는 광센서 요소 밀도를 포함할 수 있다.
도 15a는 본 개시에 따라 사용될 수 있는 제1 유형의 특수 광센서 어레이(1510)를 예시한다. 일 실시예에서 광센서 어레이(1510)는 RGB 광센서 요소들(1512A/1512B/1512C)을 동일한 비율로 포함한다. 일 실시예에서, 광센서 어레이(1510)는 비전통적인 파장 범위에 대응하는 광센서 요소들(1512A/1512B/1512C)을 포함한다. 일 구현예에서, 제1 광센서 요소(1512A)는 400 내지 450nm(블루)의 파장을 갖는 광을 검출하고, 제2 광센서 요소(1512B)는 450 내지 550nm(블루 및 그린)의 파장을 가진 빛을 검출하고 제3 광센서 요소(1512C)는 550 내지 700nm(노란색, 주황색, 빨간색)의 파장을 가진 광을 검출한다.
다른 변형에서, 광센서 어레이(1510)는 비가시광을 검출하는 광센서 요소를 포함한다. 예를 들어, 일 구현예에서, 제1 광센서 요소(1512A)는 파장 10E-7m 내지 400nm(UV 스펙트럼의 일부)를 갖는 전자기파를 검출하고, 제2 광센서 요소(1512B)는 파장 400 내지 700nm(전체 가시 스펙트럼)를 갖는 전자기파를 검출하고, 제3 광센서 요소(1512C)는 파장 700nm 내지 10E-5(IR 스펙트럼의 일부)를 갖는 전자기파를 검출한다. 특수 광센서 어레이(1510)는 전통적인 컴퓨터 표시와 관련된 색상으로 제한되지 않기 때문에, 파장 범위들의 임의의 조합은 다양한 광센서들(1512A, 1512B, 1512C)에서 성공적으로 사용될 수 있다. 예를 들어, 검출된 범위는 제조 용이성 또는 비용, 특정 광센서 접합, 및/또는 컬러 필터 가용성 및 구성을 기반으로 선택될 수 있다.
도 15b는 본 개시에 따라 사용될 수 있는 제2 예시적인 유형의 특수화된 광센서 어레이(1520)를 도시한다. 광센서 어레이(1520)는 2가지 유형의 광센서 요소들(1522A/1522B)만을 포함한다. 도 15b는 동일한 비율로 형성된 상이한 광센서 요소들을 도시하지만, 광센서 어레이(1520)는 제2 광센서 요소(1522B)보다 더 많은 제1 광센서 요소(1522A)를 포함하거나 그 반대의 경우도 마찬가지이다. 일 구현예에서, 제1 광센서 요소(1522A)는 400 내지 550nm 파장 범위의 광을 검출하고, 제2 광센서 요소(1522B)는 550 내지 700nm 파장 범위의 광을 검출하지만, 이러한 값들은 순전히 예시적이며 다른 값이 선택될 수 있다.
도 15c는 본 개시에 따라 사용될 수 있는 다른 유형의 특수화된 광센서 어레이(1530)를 예시한다. 광센서 어레이(1530)는 컬러 필터 어레이가 없는 동일한 광센서 요소들(1532)을 포함한다. 이 "단순화된" 광센서 어레이(1530)는 인간 표시 목적과 같은 완전한 기능을 갖춘 컬러 이미지/비디오를 생성하는 데 사용될 수 없지만; 딥 러닝 가속기 또는 적어도 일부 다른 분석 프로세스에는 색상 정보가 반드시 필요한 것은 아니며(적어도 기존 센서 어레이 레벨) 보상과 같은 다른 목적을 위해 각각의 광센서 픽셀에서 검출된 광량에 대응하는 추가 데이터를 사용하도록 구성될 수 있다.
또 다른 유형의 특수 광센서 어레이(미도시)는 상이한 컬러 필터의 랜덤 또는 반-랜덤 배치를 갖는 컬러 필터 어레이를 포함할 수 있다. 이러한 유형의 광센서 어레이 구성은 표시할 이미지를 생성하는 데 거의 쓸모가 없다. 그러나 특수 광센서 어레이를 통해 특별히 "훈련된" 딥 러닝 가속기(DLA)가 있는 카메라 장치는 워터마킹 또는 라이브 녹화 인증/검증과 같은 다른 목적에 유용할 수 있다. 보안 및 개인 정보 보호 목적이 대안적으로 또는 추가로 지원될 수 있다.
도 16a 내지 도 16e는 본 개시의 양태에 따르면 예시적인 광센서 어레이(도 16a)의 픽셀 배열, 및 카메라 장치에서와 같이 이와 함께 사용될 수 있는 활성 광센서 픽셀들(도 16b 내지 16e)의 상이한 구성을 도시한다. 상이한 컬러 광센서들은 도 16a 내지 16e에 나타내지 않았지만; 컬러 필터 어레이의 임의의 구성이 적용될 수 있음을 이해할 것이다. 일 실시예에서, 도 16a의 디바이스(1600)에서 능동 광센서 요소의 구성은 표시를 위한 이미지를 생성하는 데 사용될 수 있는 데이터의 수집을 포함하는 더 높은 전력 사용량에 대응하는 제1 이미지 센서 모드를 나타낸다. 능동 광센서(도 16b 내지 e)의 임의의 구성들(1602, 1604, 1606, 1608)은 각각 카메라 장치에 의한 더 낮은 전력 사용에 대응하는 가능한 대체 이미지 센서 모드를 나타낸다(데이터 수집 및 처리 요구 사항 감소로 인해). 예시된 대체 이미지 센서 모드들 중 하나에서 동작하는 광센서 어레이는 표시용 이미지를 성공적으로 생성하는 데 사용할 수 있는 데이터 또는 데이터의 종류를 충분히 생성하지 못할 수 있다(또는 일반 표시 이미지들에 대해 인간이 원하는 모든 속성을 갖는 적어도 하나). 그러나 대체 센서 모드들은 저전력 모드에서 동작하고 DLA에 의한 평가 및/또는 표시용이 아닐 수 있는 이미지 생성을 위해 센서 데이터를 수집하는 카메라 장치에 의해 사용될 수 있다(예를 들어, 이는 DLA 이외의 다른 프로세스 또는 알고리즘에 의해 처리될 수 있고 및 일반적인 표시 이미지에 필요한 데이터의 완전한 보완을 요구하지 않을 수 있음).
일 변형에서, 제1 모드에서 이미지 센서(들)의 동작은 어레이(들) 내의 광센서 요소들의 제1 세트를 사용하는 것을 포함하고, 제2 모드에서 이미지 센서의 동작은 광센서 요소들의 제2 세트를 사용하는 것을 포함한다. 일 구현예에서, 제1 세트는 제2 세트의 전부 또는 일부를 포함한다(즉, 제2 세트는 제1 세트의 서브세트이다). 예를 들어, 광센서 요소들의 제1 세트는 광센서 어레이의 모든 광센서 요소들을 포함할 수 있고, 제2 세트는 모든 광센서 요소들의 일부/퍼센티지를 포함할 수 있다.
다른 구현예에서, 광센서 요소들의 제1 및 제2 세트들은 부분적으로만 중첩되는 반면, 다른 구현예에서는 제1 및 제2 세트들이 전혀 중첩되지 않는다(즉, 세트들은 논리적으로 서로 완전히 별개이지만 반드시 공간적으로는 아니다).
일부 구현예들에서, 광센서 요소들의 제1 세트는 (예를 들어, 표시/인간 지각을 위해) 미리 결정된 수용가능한 광 감도 범위 내에서 작동하는 광센서 요소들을 포함하고, 광센서 요소들의 제2 세트는 미리 결정된 허용 가능한 광 감도 범위 외부(즉, 과다 또는 과소 노출)에서 동작하는 적어도 일부 광센서 요소를 포함한다. 일부 구성에서 이러한 레벨들은 재프로그래밍 가능하(예를 들어, 커맨드 또는 예를 들어 카메라 장치 내에서 동작하는 마이크로제어기와 같은 제어기 하에 센서 요소 또는 그 부분에 인가된 제어 또는 바이어스 전압을 기반으로 함).
광센서 요소들의 제1 세트는 또한 광센서 요소들의 제2 세트보다 더 많은 광센서 요소들을 포함할 수 있다.
일부 구현예들에서, 요소들의 제2 세트는 광센서 어레이의 모든 N번째 광센서 요소를 포함하며, 여기서 N
Figure pct00003
2이다. 제2 세트는 또한 광센서 어레이의 하나 이상의 특정 영역(들)(예를 들어, 중간 영역, 상부 영역, 측면 영역, 주변 등) 내의 광센서 요소들만을 이용할 수 있다.
어플리케이션
본 개시의 양태는 예를 들어, 카메라 또는 다른 센서 데이터의 인공 지능 또는 머신 러닝 평가와 같은 분석을 필요로 하는 다양한 시스템에 적용될 수 있다. 디바이스 내 딥 러닝 또는 AI 가속기를 사용하여 직접 센서 데이터를 평가하는 일반적인 개념은 평가를 신속하게 및/또는 매우 전력 효율적인 방식으로 수행해야 하는 카메라 시스템과 같은 격리된 디바이스에서 특히 유용할 수 있다.
하나의 예시적인 어플리케이션에서, 보안 카메라는 센서 데이터를 지속적으로 캡처하고 이미지 센서 데이터를 딥 러닝 가속기(DLA)에 직접 송신하도록 구성된다. 보안 카메라는 스마트 홈 네트워크, 상업 건물, 정부/군사 건물, 도로/고속도로 카메라 시스템 등의 일부일 수 있다. 일 실시예에서, 보안 카메라는 이미지/비디오 파일을 생성하고 DLA가 하나 이상의 미리 결정된 매개변수 또는 기준에 따라 이미지/비디오가 "관련성"있다고 결정하는 경우에만 이미지/비디오를 저장 및 송신하도록 구성된다. 예를 들어, 보안 카메라의 DLA는 다음 중 하나 이상을 수행하도록 구성될 수 있다: (i) 얼굴/사람 검출, (ii) 의심스러운 활동 검출, (iii) 위험한 활동의 검출, (iv) 위험한 오브젝트 검출, 및/또는 (v) 프레임 내에서 검출된 물체의 특정 유형의 움직임 검출(예를 들어, S 또는 P 파 편위(excursion)로 인한 지진 이벤트).
일 구현예에서, 보안 카메라는 (i) 직접 센서 데이터를 사용하여 얼굴 검출을 수행하고 (ii) 얼굴 검출에 응답하여 포스트-ISP 이미지 데이터를 사용하여 얼굴 식별을 수행하도록 구성된다.
다른 구성에서 "도용 방지(anti-spoof)" 카메라는 이미지/비디오를 캡처하고 캡처된 이미지에 (i) 라이브로 녹화되었으며(즉, 인공 지능에 의해 제조되지 않음) (ii) 디지털 방식으로 변경되거나 조작되지 않은 것으로 라벨링되거나 스탬핑하도록 구성된다. 이러한 접근 방식 중 하나에서, 도용 방지 카메라는 DLA와 ISP 모두에 직접 연결된 하나 이상의 이미지 센서들을 포함한다. 일 실시예에서, DLA는 DLA에 제공된 센서 데이터가 또한 카메라의 특정 이미지 센서에 의해 수집되었음을 결정하도록 구성되며, 따라서 데이터의 유효성을 제공한다. 일 변형에서, 도용 방지 카메라는 DLA 결정에 기초하여 대응하는 이미지/비디오(ISP에 의해 처리됨)에 진위 또는 검증된 것으로 라벨을 지정하도록 구성된다. 두 데이터 처리 체인들(즉, ISP 및 DLA) 간의 다른 유형의 비교 처리도 수행될 수 있다.
본 개시의 양태는 예를 들어 (예를 들어, 야생에서 또는 동물원/보호구역에서 사용하기 위한) 원격 야생동물 카메라에 추가로 적용될 수 있다. 일 실시예에서, 원격 야생동물 카메라는 드론에 부착될 수 있다. 다른 실시예에서, 원격 야생동물 카메라는 랜드 로버(land rover)에 부착된다. 다른 실시예에서, 원격 야생동물 카메라는 나무 또는 블라인드에 장착된 것과 같은 고정식 카메라일 수 있다. 또 다른 실시예에서, 원격 야생동물 카메라는 수중 차량에 부착되거나 고정 수중 카메라로서 부착된 수중 카메라이다.
위에서 언급된 원격 야생동물 카메라(들)의 하나 이상의 이미지 센서들은 일 실시예에서 DLA에 직접 센서 데이터를 제공하고 직접 센서 데이터에 대해 하나 이상의 DLA 알고리즘들을 수행하도록 구성된다. 특히 DLA는 다음 중 하나 이상을 수행하도록 구성된다: (i) 특정 동물/조류/기타 유기체의 검출, (ii) 특정 동물 거동의 검출, 또는 (iii) 특정 지질 구조 또는 피쳐의 검출.
일 구현예에서, 원격 카메라는 DLA가 관련 오브젝트를 검출하거나 식별할 때까지 저전력 모드 또는 "절전 상태(sleep state)"에서 동작하도록 구성된다. 예를 들어, 이미지 센서는 (예를 들어, 미리 정해진 샘플링 주파수에서) 이미지 데이터를 주기적으로 수집하고 하나 이상의 관심 오브젝트를 검출하기 위해 데이터의 적어도 일부를 DLA-처리할 수 있다. 일부 변형에서, 원격 카메라는 관련 오브젝트의 검출에 응답하여 더 높은 전력 모드로 스위칭하도록 구성된다. 예를 들어, 저전력 모드에서의 동작은 DLA의 동작과 저전력 이미지 센서/이미지 센서 구성을 포함하며, 더 높은 전력 모드에서의 동작은 ISP의 추가 동작을 포함한다. 더 높은 전력 모드로 스위칭하는 것은 또한 무선 송신기를 켜고 다음 중 하나 이상을 송신하는 것을 포함할 수 있다: (i) 캡처된 이미지/비디오, (ii) DLA 결과 데이터, (iii) 비-이미저 센서 데이터, (iv) 이전에 저장된 데이터, 및/또는 (v) 위치 정보. 더 높은 전력 모드로의 스위칭은 또한 무선 수신기를 켜고 미리 결정된 신호를 청취하는 것(listening)을 포함할 수 있다.
본 개시의 양태는 또한 사용자 디바이스 카메라(예를 들어, 스마트폰/모바일 디바이스, 랩탑 및 웹캠 카메라 디바이스)에 적용될 수 있다. 일 실시예에서, 사용자 디바이스 카메라는 기본적으로 저전력 모드에서 동작하도록 구성되며, 저전력 모드는 이미지 센서 데이터를 수집하고 하나 이상의 DLA를 사용하여 직접 센서 데이터를 평가하는 것을 포함한다. 일 변형에서, 사용자 디바이스 카메라는 특정 DLA 결과에 응답하여 더 높은 전력 모드로 스위칭하도록 구성되며, 예를 들어 저전력 모드는 ISP를 통한 이미지 생성/처리가 포함되지 않고 더 높은 전력 모드에는 하나 이상의 ISP 활성화가 포함된다. 다른 변형에서, 저전력 모드는 제1 유형 또는 정도의 이미지 신호 처리의 활용을 포함하고, 더 높은 전력 모드는 제1 유형/레벨 이미지 신호 처리보다 더 많은 시간 및/또는 전력을 필요로 하는 제2 및/또는 정도의 이미지 신호 처리(예를 들어, 더 복잡한 필터링, 디모자이싱, 스티칭 또는 기타 계산 집약적인 프로세스)를 포함한다.
또 다른 어플리케이션에서, 본 개시의 양태는 시각 장애가 있는 사용자를 위해 사용되는 카메라 또는 다른 디바이스에 적용될 수 있다. 일 실시예에서, 카메라/디바이스는 직접 이미지 센서 데이터에 대한 최소 전력을 사용하여 및/또는 신속하게 수행되는 연속 DLA 평가를 포함한다. 예를 들어, 카메라는 특정 오브젝트 및/또는 위험한 상황(예를 들어, 번화한 거리, 사용자 집의 횡단 경로에 있는 가구 등)을 빠르게 검출하고 검출에 기반하여 특정 기능을 수행하도록(예를 들어, 사용자에게 경고/통지 발송) 구성될 수 있다. 그러한 구성 중 하나에서, 카메라/디바이스는 임의의 이미지 신호 처리를 포함하지 않고 및/또는 이미지 센서는 이미지 표시에 사용되는 데이터를 캡처하도록 구성되지 않는다. 일 구현예에서, 도 9 및 10에 각각 설명된 카메라 장치 및 방법은 이러한 사용자를 위한 카메라 또는 다른 디바이스에 적용될 수 있다.
본 개시의 양태는 또한 차량 카메라(예를 들어, 자동 운전을 위해 오브젝트/사람을 검출하기 위해), 위성 카메라(예를 들어, 기상 패턴, 자연 현상, 군사 움직임 검출을 위해), 기업 자동화된 검사 카메라, 원격 장비/인프라 검사 카메라, 스포츠 이벤트 카메라(예를 들어, 선수 또는 스포츠 오브젝트를 추적/분석하기 위해), 다른 유형의 "비 카메라" 어플리케이션, 예를 들어 음향 도플러 시스템, 레이더 시스템, X선 분광기(예를 들어, 별, 블랙홀 또는 기타 우주 오브젝트 또는 피쳐를 검출하기 위한 천체 물리학 기반 어플리케이션), 그리고 심지어 전자 현미경에 적용될 수 있다.
예시적인 물리적 구현
이제 도 17a 내지 도 17d를 참조하면, 본 명세서에 개시된 다양한 방법 및 장치의 물리적 구현의 다양한 예시적인 실시예가 도시되고 설명된다. 이러한 실시예는 물리적 디바이스를 실현하는 가능한 방법의 일부일 뿐이며, 따라서 본 개시는 이에 제한되지 않는다는 것을 이해할 것이다.
도 17a를 참조하면, 예를 들어 PCB(1707)와 같은 공통 기판 상에 각각 장착될 수 있는 메모리/저장 디바이스(1706)와 함께 별도의 FPGA(1702)(재프로그래밍 가능한 FPGA 로직 블록 등의 형태와 같이 DLA 로직(1704)으로 구성됨)를 포함하는 DLA-가능 디바이스(1700)가 도시되어 있다. 이 실시예는 특히 메모리 또는 저장 디바이스의 상이한 유형 및/또는 구성을 사용한 테스트를 포함하여, 테스트 동안 재프로그래밍 가능성 및 실질적인 유용성의 이점을 갖는다. 예를 들어, 표준화된 프로토콜 또는 인터페이스를 사용하여 다양한 유형의 메모리, 예를 들어 GDDR6, HBM2, 다른 유형의 3D 메모리(예를 들어, X 포인트)와 함께 DLA-가능 FPGA(1702) 내에서 다양한 유형의 로직을 테스트할 수 있다.
다른 실시예(도 17b)에서, DLA-가능 ASIC(1710)은 디바이스 아키텍처(1708)의 일부로서 사용된다. 일 실시예에서, ASIC(1710)은 (예를 들어, 일 구현예에서 동일한 인터포저(1714) 상에서) 메모리 및 저장소(1712)와 밀접하게 결합된다. FPGA와 대조적으로 ASIC은 특히 로직 동작을 위한 훨씬 더 빠른 속도의 장점을 가지고 있지만 일부 재프로그래밍 가능성/재구성 가능성은 손실된다. 이러한 ASIC은 예를 들어 더 높은 다이/영역 효율성 및 신호 타이밍 등과 같은 실제 구현의 보다 정확한 모델링을 포함하여 테스트 디바이스와 실제 생산 DLA-기반 디바이스 사이에서 FPGA 기반 디바이스보다 더 발전된 것을 나타날 수 있다.
또 다른 실시예에서(도 17c), DLA 로직(1726)과 동일한 칩(다이)(1724)에 상주하는 메모리/저장소(1722)를 갖는 단일 칩 DLA 기반 솔루션(1720)이 개시되고, 예를 들어 ISP 및 제어기 기능을 위한 별도의 IC가 적용 가능하다. 예를 들어, 일 변형에서, 센서 입력 및 기타 인터페이스를 포함하여 다양한 IC를 모 PCB(1707)와 인터페이스하기 위해 BGA 유형 IC 인터페이스가 사용될 수 있다.
유사하게, 도 17d의 실시예에서, 하나 이상의 인접한 실리콘 피스들(1734) 상에 상주하는 메모리/저장소를 갖는 다중 칩, 단일 패키지 솔루션(1730)이 도시된다. 도 17c 및 17d의 이러한 후자의 실시예는 예를 들어 DLA-기반 디바이스; 즉, 카메라-장착 모바일 디바이스, DLA-기반 GPU, 슈퍼컴퓨터 및 기타 플랫폼과 같은 고객 컴퓨터 플랫폼에서 사용할 수 있는 실제 생산 디바이스의 생산 진화에서 최종 또는 거의 최종 단계를 나타내고;
클라우드 기반 또는 오프-디바이스 프로세스에서 구현되는 것을 포함하여 본 명세서에 도시된 다양한 구성들의 하나 이상의 기능이 "가상화"될 수 있음을 또한 인식할 것이다. 예를 들어, 소위 5G NR은 최대 잠재력에 도달할 때 1ms 왕복 대기 시간을 충족하도록 설계되었다. 이와 같이 이전에는 하드웨어적으로 서로 결합되어야 하는 기능이 오프-칩 및 오프-디바이스에 실행 가능하게 배치될 수 있다. 예를 들어, 필요한 DLA 또는 ISP 처리 기능이 네트워크 프로세스에서 구현될 수 있고 최종 또는 중간 결과가 필요에 따라 디바이스에 리턴된다.
추가 고려 사항
본 개시의 특정 양태들이 방법의 특정 순서의 단계의 관점에서 설명되지만, 이러한 설명은 본 개시의 보다 광범위한 방법을 예시할 뿐이며 특정 어플리케이션에 의해 요구되는 대로 수정될 수 있음을 인지할 것이다. 특정 단계는 특정 상황에서 불필요하거나 선택 사항이 될 수 있다. 추가로, 특정 단계 또는 기능이 개시된 실시예에 추가되거나 둘 이상의 단계들의 수행 순서가 치환될 수 있다. 이러한 모든 변형들은 본 명세서에 개시되고 청구된 개시 내용 내에 포함되는 것으로 간주된다. 또한 두 가지 이상의 방법들의 피쳐들이 결합될 수 있다.
상기 상세한 설명은 다양한 실시예에 적용되는 본 개시의 신규한 피쳐를 도시, 기재 및 지적하였지만, 예시된 디바이스 또는 프로세스의 형태 및 세부사항의 다양한 생략, 대체 및 변경이 본 개시를 벗어나지 않고 당업자에 의해 이루어질 수 있음을 이해할 것이다. 이 설명은 제한하려는 것이 아니라 본 개시의 일반적인 원리를 설명하는 것으로 간주되어야 한다. 본 개시의 범위는 청구범위를 참조하여 결정되어야 한다.
본 명세서에 기술된 다양한 방법 및 장치의 특정 단계 및 양태가 인간에 의해 수행될 수 있지만, 개시된 양태 및 개별 방법 및 장치는 일반적으로 컴퓨터화/컴퓨터 구현된다는 것이 추가로 이해될 것이다. 상업적 실행 가능성, 실용성 및 실행 가능성(즉, 특정 단계/프로세스는 인간이 실행 가능한 방식으로 수행할 수 없음)을 포함하지만 이에 제한되지 않는 여러 가지 이유로 이러한 양태를 완전히 구현하려면 컴퓨터화된 장치 및 방법이 필요하다.
본 명세서에 설명된 정보 및 신호는 다양한 기술 및 기법을 사용하여 표시될 수 있다. 예를 들어, 위의 설명 전체에서 참조될 수 있는 데이터, 명령어, 커맨드, 정보, 신호, 비트, 기호 및 칩은 전압, 전류, 전자기파, 자기장 또는 입자, 광학 필드 또는 입자, 또는 이들의 조합으로 나타낼 수 있다. 일부 도면은 신호를 단일 신호로 나타낼 수 있지만; 당업자는 신호가 신호의 버스를 나타낼 수 있고, 여기서 버스는 다양한 비트 폭을 가질 수 있음을 이해할 것이다.
첨부된 도면과 관련하여 본 명세서에 기재된 설명은 예시적인 구성을 설명하고 구현될 수 있거나 청구범위의 범위 내에 있는 모든 예시를 나타내지는 않는다. 본 명세서에서 사용된 "예시적인"이라는 용어는 "예시, 예 또는 실례로 작용하는 것"을 의미하며, "바람직한" 또는 "다른 예보다 유리한"'이 아니다. 상세한 설명은 설명된 기술의 이해를 제공하기 위한 목적으로 특정 세부사항을 포함한다. 그러나 이러한 기술은 이러한 특정 세부 사항 없이 실행될 수 있다. 일부 예에서, 잘 알려진 구조 및 디바이스는 설명된 예의 개념을 모호하게 하는 것을 피하기 위해 블록도 형식으로 표시된다.
본 명세서에 설명된 기능은 하드웨어, 프로세서에 의해 실행되는 소프트웨어, 펌웨어 또는 이들의 조합으로 구현될 수 있다. 프로세서에 의해 실행되는 소프트웨어로 구현되는 경우, 기능은 컴퓨터 판독가능 매체에 하나 이상의 명령어 또는 코드로서 저장되거나 송신될 수 있다. 다른 예 및 구현은 본 개시 및 첨부된 청구범위의 범위 내에 있다. 예를 들어, 소프트웨어의 특성으로 인해 위에서 설명된 기능은 프로세서, 하드웨어, 펌웨어, 하드웨어 배선 또는 이들 중 임의의 조합에 의해 실행되는 소프트웨어를 사용하여 구현될 수 있다. 기능을 구현하는 피쳐는 또한 기능의 일부가 다른 물리적 위치에서 구현되도록 분산되는 것을 포함하여 다양한 위치들에 물리적으로 위치할 수 있다.
컴퓨터 판독 가능 매체는 비일시적 컴퓨터 저장 매체 및 컴퓨터 프로그램을 한 장소에서 다른 장소로 전송하는 것을 용이하게 하는 임의의 매체를 포함하는 통신 매체를 모두 포함한다. 비일시적 저장 매체는 범용 또는 특수 목적 컴퓨터에 의해 액세스될 수 있는 모든 사용 가능한 매체일 수 있다. 예로서, 비 일시적 컴퓨터 판독가능 매체는 임의의 유형의 RAM 또는 ROM, 전기적으로 소거 가능한 프로그래밍 가능한 판독 전용 메모리(EEPROM), 콤팩트 디스크(CD) ROM 또는 기타 광 디스크 저장소, 자기 디스크 저장소 또는 기타 자기 저장 디바이스, 솔리드 스테이트 저장소(예를 들어, SSD), 또는 명령어 또는 데이터 구조의 형태로 원하는 프로그램 코드 수단을 운반하거나 저장하는 데 사용할 수 있고 범용 또는 특수 목적 컴퓨터, 범용 또는 특수 목적 프로세서 또는 프로세서 어레이에 의해 액세스될 수 있는 기타 비일시적 매체를 포함할 수 있다. 또한 임의의 연결이 컴퓨터 판독 가능 매체라고 적절히 지칭된다.

Claims (22)

  1. 적어도 하나의 머신 러닝 작업(machine learning task)을 수행하도록 구성된 전자 장치에 있어서,
    센서 장치(sensor apparatus); 및
    상기 센서 장치와 데이터 통신하는 머신 러닝 가속기 로직(machine learning accelerator logic)을 포함하고, 상기 머신 러닝 가속기 로직은 머신 러닝 결과를 생성하기 위해 상기 센서 장치로부터의 처리되지 않은 데이터를 활용하도록 구성된 적어도 하나의 머신 러닝 알고리즘(algorithm)을 포함하는, 전자 장치.
  2. 제1항에 있어서,
    머신 러닝 가속기 장치는 딥 러닝 가속기(DLA)로 구성된 집적 회로를 포함하고;
    상기 전자 장치는 제어기 로직 및 카메라 장치를 더 포함하고; 및
    상기 머신 러닝 가속기 로직은:
    적어도 상기 카메라 장치로부터 데이터를 획득하고;
    적어도 상기 획득된 데이터에 기초하여, 상기 제어기 로직이 복수의 러닝 알고리즘들 중 하나 이상을 선택하게 하고; 및
    상기 DLA가 정해진 기간 동안 상기 선택된 하나 이상의 러닝 알고리즘들을 수행하도록 강제하도록 구성되는, 전자 장치.
  3. 제2항에 있어서,
    상기 머신 러닝 결과는 (i) 상기 수행된 선택된 하나 이상의 러닝 알고리즘들로부터의 출력 데이터, 또는 (ii) 추가 입력 데이터 중 하나 이상을 포함하고; 및
    상기 머신 러닝 가속기 로직은, 적어도 상기 획득된 출력 데이터 또는 상기 추가 입력 데이터에 기초하여, 상기 하나 이상의 러닝 알고리즘들의 적어도 일부를 적응적으로 수정하도록 더 구성되는, 전자 장치.
  4. 제1항에 있어서,
    상기 전자 장치는 카메라 장치를 포함하고; 및
    상기 DLA는 오브젝트 인식 알고리즘 또는 얼굴 인식 알고리즘 중 적어도 하나 이상을 포함하는, 전자 장치.
  5. 제4항에 있어서,
    상기 머신 러닝 가속기 로직은 각각 오브젝트 또는 얼굴 인식 중 적어도 하나를 수행하기 위해 적어도 하나의 오브젝트 또는 얼굴 인식 알고리즘을 구현하도록 구성되며; 및
    상기 적어도 하나의 오브젝트 또는 얼굴 인식 알고리즘은:
    적어도 상기 센서 장치로부터 획득된 데이터에 적어도 기초하여, 하나 이상의 오브젝트 피쳐들 또는 얼굴 피쳐들을 각각 검출하기 위한 제1 로직;
    시간 데이터가 규정된 시간 조건과 매칭되는지를 결정하기 위한 제2 로직: 및
    기준 데이터에 대한 적어도 상기 하나 이상의 오브젝트 피쳐들 또는 얼굴 피쳐들 각각의 상관관계(correlation)에 기초하여 오브젝트 또는 얼굴 중 적어도 하나를 각각 식별하도록 구성된 제3 로직을 포함하는, 전자 장치.
  6. 제5항에 있어서,
    상기 오브젝트 인식 알고리즘 또는 얼굴 인식 알고리즘 중 적어도 하나는 얼굴 인식 알고리즘을 포함하고; 및
    상기 얼굴 인식 알고리즘은, (i) 상기 시간 데이터가 상기 규정된 시간 조건과 매칭되지 않거나, 또는 (ii) 상기 식별된 얼굴이 규정된 생체 조건과 매칭되지 않음 중 적어도 하나에 응답하여, 상기 적어도 센서 장치로부터 획득된 상기 데이터의 적어도 일부를 인코딩하고, 상기 데이터의 상기 인코딩된 적어도 일부를 저장하게 하는 것을 더 포함하는, 전자 장치.
  7. 제1항에 있어서,
    상기 센서 장치는 적어도 제1 복수의 광센서 요소들 및 제2 복수의 광센서 요소들을 포함하는 적어도 하나의 광센서 어레이를 포함하고; 및
    상기 제1 또는 제2 복수의 광센서 요소들의 각각은 자외선 또는 적외선 중 적어도 하나를 검출하도록 구성되는, 전자 장치.
  8. 제1항에 있어서, 적어도 상기 머신 러닝 결과에 기초하여 상기 처리되지 않은 데이터에 적어도 하나의 이미지 처리 기능을 적용하도록 구성된 이미지 신호 프로세서(ISP) 장치를 더 포함하는, 전자 장치.
  9. 제8항에 있어서, 상기 ISP 장치로부터 출력된 처리 데이터에 적어도 하나의 이미지 인코딩 기능을 적용하도록 구성된 이미지 인코딩 장치를 더 포함하고, 상기 인코딩은 상기 머신 러닝 가속기 로직으로부터의 데이터 출력에 의해 적어도 부분적으로 결정되는, 전자 장치.
  10. 센서 장치로부터 생성된 데이터를 처리하는 방법에 있어서,
    센서 장치로부터 센서 데이터를 획득하는 단계;
    비결정론적(non-deterministic) 결과를 생성하기 위해 제1 처리 엔티티(processing entity)를 사용하여 상기 센서 데이터를 처리하는 단계; 및
    결정론적 결과를 생성하기 위해 제2 처리 엔티티를 사용하여 상기 센서 데이터를 선택적으로 처리하는 단계를 포함하는, 방법.
  11. 제10항에 있어서, 결정론적 결과를 생성하기 위해 제2 처리 엔티티를 사용하여 상기 센서 데이터를 선택적으로 처리하는 단계는 상기 비결정론적 결과에 적어도 부분적으로 기초하는, 방법.
  12. 제10항에 있어서, 제1 처리 엔티티를 사용하여 상기 센서 데이터를 처리하는 단계는 머신 러닝(ML) 기반 처리 엔티티를 사용하여 상기 센서 데이터를 처리하는 단계를 포함하는, 방법.
  13. 제12항에 있어서, 상기 머신 러닝 기반 처리 엔티티를 사용하여 상기 센서 데이터를 처리하는 단계는 학습 가설(learning hypothesis)에 수렴하기 위해 센서 데이터의 복수의 연속적인 세트들의 반복적 또는 업데이트 처리를 포함하는, 방법.
  14. 제10항에 있어서, 제1 처리 엔티티를 사용하여 상기 센서 데이터를 처리하는 단계는 비압축, 비손실 포멧으로 상기 센서 데이터를 처리하는 단계를 포함하는, 방법.
  15. 제14항에 있어서, 결정론적 결과를 생성하기 위해 제2 처리 엔티티를 사용하여 상기 센서 데이터를 선택적으로 처리하는 단계는(i) 상기 센서 데이터의 적어도 일부를 삭제하는 단계, 및 (ii) 손실 압축 알고리즘을 사용하여 상기 센서 데이터의 삭제되지 않은 남은 부분을 압축하는 단계를 포함하는, 방법.
  16. 제10항에 있어서, 결정론적 결과를 생성하기 위해 제2 처리 엔티티를 사용하여 상기 센서 데이터를 선택적으로 처리하는 단계는 (i) 상기 센서 데이터의 적어도 일부를 삭제하는 단계, 및 (ii) 손실 압축 알고리즘을 사용하여 상기 센서 데이터의 삭제되지 않은 남은 부분을 압축하는 단계를 포함하는, 방법.
  17. 집적 회로 장치에 있어서,
    제1 데이터의 하나 이상의 양태들에 관한 출력을 생성하기 위해 센서 장치로부터 획득된 상기 제1 데이터에 대해 비결정론적 머신-기반 지능 알고리즘을 실행하도록 구성된 제1 프로세서 장치; 및
    상기 하나 이상의 양태들에 대응하는 사람이 인식할 수 있는 데이터를 생성하기 위해 상기 제1 데이터에 대해 결정론적 센서 데이터 처리 알고리즘을 실행하도록 구성된 제2 프로세서 장치를 포함하는, 집적 회로 장치.
  18. 제17항에 있어서, 상기 제1 프로세서 장치는 그의 처리를 위해 최적화된 마이크로아키텍처(microarchitecture)를 갖는 집적 회로를 포함하는, 집적 회로 장치.
  19. 제18항에 있어서, 그의 처리에 최적화된 상기 마이크로아키텍처는 상기 제1 데이터의 적어도 부들의 병렬 처리를 위해 구성된 단일 명령어, 다중 데이터(SIMD) 기반 아키텍처를 포함하는, 집적 회로 장치.
  20. 제18항에 있어서, 상기 제1 및 제2 처리 장치는 각각은 그의 개별 처리에 최적화된 적어도 하나의 집적 회로를 포함하는, 집적 회로 장치.
  21. 제20항에 있어서, 그의 개별 처리에 최적화된 상기 적어도 하나의 집적 회로는 이미지 신호 프로세서(ISP) 및 필드 프로그래밍 가능 게이트 어레이(FPGA)를 각각 포함하는, 집적 회로 장치.
  22. 제20항에 있어서, 그의 개별 처리에 최적화된 상기 적어도 하나의 집적 회로는 각각 이미지 신호 프로세서 및 주문형 집적 회로(ASIC)을 포함하는, 집적 회로 장치.
KR1020227036564A 2020-05-14 2021-05-06 이미지 데이터에 대한 분석을 수행하기 위한 방법 및 장치 KR20220156905A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/874,504 2020-05-14
US16/874,504 US11620476B2 (en) 2020-05-14 2020-05-14 Methods and apparatus for performing analytics on image data
PCT/US2021/031170 WO2021231183A1 (en) 2020-05-14 2021-05-06 Methods and apparatus for performing analytics on image data

Publications (1)

Publication Number Publication Date
KR20220156905A true KR20220156905A (ko) 2022-11-28

Family

ID=78512501

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227036564A KR20220156905A (ko) 2020-05-14 2021-05-06 이미지 데이터에 대한 분석을 수행하기 위한 방법 및 장치

Country Status (5)

Country Link
US (2) US11620476B2 (ko)
KR (1) KR20220156905A (ko)
CN (1) CN115605880A (ko)
DE (1) DE112021002756T5 (ko)
WO (1) WO2021231183A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11620476B2 (en) 2020-05-14 2023-04-04 Micron Technology, Inc. Methods and apparatus for performing analytics on image data
US11474743B2 (en) * 2020-08-13 2022-10-18 Micron Technology, Inc. Data modification

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9554100B2 (en) * 2014-09-30 2017-01-24 Qualcomm Incorporated Low-power always-on face detection, tracking, recognition and/or analysis using events-based vision sensor
US10460231B2 (en) * 2015-12-29 2019-10-29 Samsung Electronics Co., Ltd. Method and apparatus of neural network based image signal processor
US10956723B2 (en) * 2016-06-03 2021-03-23 Pillar Vision, Inc. Systems and methods for determining reduced player performance in sporting events
US10740658B2 (en) * 2016-09-08 2020-08-11 Mentor Graphics Corporation Object recognition and classification using multiple sensor modalities
US10614332B2 (en) * 2016-12-16 2020-04-07 Qualcomm Incorportaed Light source modulation for iris size adjustment
KR20180075913A (ko) * 2016-12-27 2018-07-05 삼성전자주식회사 신경망 연산을 이용한 입력 처리 방법 및 이를 위한 장치
US10699189B2 (en) * 2017-02-23 2020-06-30 Cerebras Systems Inc. Accelerated deep learning
DE102017111215B4 (de) * 2017-05-23 2024-02-08 Infineon Technologies Ag Vorrichtung und Verfahren zum Detektieren einer Eigenschaft aus elektromagnetischen Strahlungssensordaten
US10643306B2 (en) * 2017-10-11 2020-05-05 Qualcomm Incoporated Image signal processor for processing images
WO2019161300A1 (en) * 2018-02-18 2019-08-22 Nvidia Corporation Detecting objects and determining confidence scores
US10839266B2 (en) 2018-03-30 2020-11-17 Intel Corporation Distributed object detection processing
US10735675B2 (en) 2018-04-13 2020-08-04 Cornell University Configurable image processing system and methods for operating a configurable image processing system for multiple applications
US11966838B2 (en) * 2018-06-19 2024-04-23 Nvidia Corporation Behavior-guided path planning in autonomous machine applications
US11574659B2 (en) * 2018-09-11 2023-02-07 Micron Technology, Inc. Parallel access to volatile memory by a processing device for machine learning
US10904637B2 (en) * 2018-12-17 2021-01-26 Qualcomm Incorporated Embedded rendering engine for media data
WO2020140047A1 (en) * 2018-12-28 2020-07-02 Nvidia Corporation Distance to obstacle detection in autonomous machine applications
EP3900327A1 (en) * 2019-02-27 2021-10-27 Huawei Technologies Co., Ltd. An image processing apparatus and method
US20210049839A1 (en) * 2019-08-12 2021-02-18 Micron Technology, Inc. Automotive predictive maintenance
US11635893B2 (en) * 2019-08-12 2023-04-25 Micron Technology, Inc. Communications between processors and storage devices in automotive predictive maintenance implemented via artificial neural networks
US11144754B2 (en) * 2019-08-19 2021-10-12 Nvidia Corporation Gaze detection using one or more neural networks
US11694314B2 (en) * 2019-09-25 2023-07-04 The Regents Of The University Of Michigan Digital foveation for machine vision
US12020149B2 (en) * 2019-10-28 2024-06-25 Micron Technology, Inc. Distributed neural network processing on an intelligent image sensor stack
JP2023503355A (ja) * 2019-11-27 2023-01-27 シンハ,パーヴェル 画像センサデータの画像解析への直接変換を実行するためのシステム及び方法
US11161456B1 (en) * 2020-03-17 2021-11-02 Ambarella International Lp Using the image from a rear view camera in a three-camera electronic mirror system to provide early detection of on-coming cyclists in a bike lane
US20210325898A1 (en) * 2020-04-21 2021-10-21 Micron Technology, Inc. Using drone data to generate high-definition map for autonomous vehicle navigation
US11620476B2 (en) 2020-05-14 2023-04-04 Micron Technology, Inc. Methods and apparatus for performing analytics on image data

Also Published As

Publication number Publication date
US20210357691A1 (en) 2021-11-18
US11620476B2 (en) 2023-04-04
CN115605880A (zh) 2023-01-13
DE112021002756T5 (de) 2023-03-02
WO2021231183A1 (en) 2021-11-18
US20230237383A1 (en) 2023-07-27

Similar Documents

Publication Publication Date Title
US10728436B2 (en) Optical detection apparatus and methods
US20230237383A1 (en) Methods and apparatus for performing analytics on image data
US20230298141A1 (en) Bright Spot Removal Using A Neural Network
US11146747B1 (en) Dynamic driver mechanism for rolling shutter sensor to acquire the structured light pattern
US11843760B2 (en) Timing mechanism to derive non-contaminated video stream using RGB-IR sensor with structured light
US11935257B2 (en) Adding an adaptive offset term using convolution techniques to a local adaptive binarization expression
US20190371144A1 (en) Method and system for object motion and activity detection
US11704908B1 (en) Computer vision enabled smart snooze home security cameras
US20220094847A1 (en) Smart ip camera with color night mode
CN115797666A (zh) 用于使用卷积技术来加速散斑图像块匹配
Janveja et al. Insight: monitoring the state of the driver in low-light using smartphones
Li et al. Emergent visual sensors for autonomous vehicles
CN116721141A (zh) 自适应面部深度图生成
CN112926367B (zh) 一种活体检测的设备及方法
Jayasuriya et al. Software-Defined Imaging: A Survey
US20230419505A1 (en) Automatic exposure metering for regions of interest that tracks moving subjects using artificial intelligence
US11574484B1 (en) High resolution infrared image generation using image data from an RGB-IR sensor and visible light interpolation
US11284022B2 (en) Driver mechanism for rolling shutter sensor to acquire structured light pattern
Wetzstein et al. Deep optics: Learning cameras and optical computing systems
US11935377B1 (en) Security cameras integrating 3D sensing for virtual security zone
CN116962886A (zh) 用于rgb-ir传感器的智能自动曝光控制
CN117422646B (zh) 去反光模型的训练方法、去反光模型和去反光方法
WO2022201973A1 (ja) 情報処理システム及び学習モデルの生成方法
TWI775801B (zh) 低功率虹膜掃描初始化
Caulfield et al. Performance of image processing techniques for efficient data management on the focal plane