KR20210135358A - Image sensor architecture - Google Patents
Image sensor architecture Download PDFInfo
- Publication number
- KR20210135358A KR20210135358A KR1020217035827A KR20217035827A KR20210135358A KR 20210135358 A KR20210135358 A KR 20210135358A KR 1020217035827 A KR1020217035827 A KR 1020217035827A KR 20217035827 A KR20217035827 A KR 20217035827A KR 20210135358 A KR20210135358 A KR 20210135358A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- neural network
- images
- integrated circuit
- circuit layer
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 claims abstract description 210
- 238000012545 processing Methods 0.000 claims abstract description 157
- 238000001514 detection method Methods 0.000 claims abstract description 56
- 238000004458 analytical method Methods 0.000 claims abstract description 23
- 238000004891 communication Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 64
- 238000013527 convolutional neural network Methods 0.000 claims description 17
- 230000009471 action Effects 0.000 claims description 15
- 230000000306 recurrent effect Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000004927 fusion Effects 0.000 claims description 5
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 30
- 238000004590 computer program Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 229910052710 silicon Inorganic materials 0.000 description 4
- 239000010703 silicon Substances 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 239000004020 conductor Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H04N5/379—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/067—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/067—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
- G06N3/0675—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means using electro-optical, acousto-optical or opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/14—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components sensitive to infrared radiation, light, electromagnetic radiation of shorter wavelength or corpuscular radiation and specially adapted either for the conversion of the energy of such radiation into electrical energy or for the control of electrical energy by such radiation
- H01L27/144—Devices controlled by radiation
- H01L27/146—Imager structures
- H01L27/14601—Structural or functional details thereof
- H01L27/14603—Special geometry or disposition of pixel-elements, address-lines or gate-electrodes
- H01L27/14605—Structural or functional details relating to the position of the pixel elements, e.g. smaller pixel elements in the center of the imager compared to pixel elements at the periphery
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/14—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components sensitive to infrared radiation, light, electromagnetic radiation of shorter wavelength or corpuscular radiation and specially adapted either for the conversion of the energy of such radiation into electrical energy or for the control of electrical energy by such radiation
- H01L27/144—Devices controlled by radiation
- H01L27/146—Imager structures
- H01L27/14601—Structural or functional details thereof
- H01L27/14609—Pixel-elements with integrated switching, control, storage or amplification elements
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/14—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components sensitive to infrared radiation, light, electromagnetic radiation of shorter wavelength or corpuscular radiation and specially adapted either for the conversion of the energy of such radiation into electrical energy or for the control of electrical energy by such radiation
- H01L27/144—Devices controlled by radiation
- H01L27/146—Imager structures
- H01L27/14601—Structural or functional details thereof
- H01L27/14634—Assemblies, i.e. Hybrid structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/50—Constructional details
- H04N23/54—Mounting of pick-up tubes, electronic image sensors, deviation or focusing coils
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/617—Upgrading or updating of programs or applications for camera control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/665—Control of cameras or camera modules involving internal camera communication with the image sensor, e.g. synchronising or multiplexing SSIS control signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/40—Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/76—Addressed sensors, e.g. MOS or CMOS sensors
- H04N25/77—Pixel circuitry, e.g. memories, A/D converters, pixel amplifiers, shared circuits or shared components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/76—Addressed sensors, e.g. MOS or CMOS sensors
- H04N25/78—Readout circuits for addressed sensors, e.g. output amplifiers or A/D converters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/79—Arrangements of circuitry being divided between different or multiple substrates, chips or circuit boards, e.g. stacked image sensors
-
- H04N5/2253—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/73—Means for bonding being of different types provided for in two or more of groups H01L2224/10, H01L2224/18, H01L2224/26, H01L2224/34, H01L2224/42, H01L2224/50, H01L2224/63, H01L2224/71
- H01L2224/732—Location after the connecting process
- H01L2224/73251—Location after the connecting process on different surfaces
- H01L2224/73261—Bump and TAB connectors
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Neurology (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Electromagnetism (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Facsimile Heads (AREA)
- Transforming Light Signals Into Electric Signals (AREA)
Abstract
이미지 센서는 포지션에 기초하여 픽셀 센서 그룹들로 그룹화되는 픽셀 센서들을 포함하는 제1 집적 회로 층; 제1 집적 회로 층과 전기적으로 통신하는 제2 집적 회로 층 - 제2 집적 회로 층은 대응하는 픽셀 센서 그룹으로부터 픽셀 정보를 각각 수신하도록 구성되는 이미지 프로세싱 회로망 그룹들을 포함하고, 이미지 프로세싱 회로망 그룹들은 이미지 센서의 동작 동안 프로세싱된 픽셀 정보를 제공하기 위해 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하도록 추가로 구성됨 -; 제2 집적 회로 층과 전기적으로 통신하는 제3 집적 회로 층 - 제3 집적 회로 층은 대응하는 이미지 프로세싱 회로망 그룹으로부터 프로세싱된 픽셀 정보를 각각 수신하고 이미지 센서의 동작 동안 프로세싱된 픽셀 정보에 대해 객체 검출을 위한 분석을 수행하도록 구성되는 신경망 회로망 그룹들을 포함함 - 을 포함한다.The image sensor comprises: a first integrated circuit layer comprising pixel sensors grouped into pixel sensor groups based on position; a second integrated circuit layer in electrical communication with the first integrated circuit layer, the second integrated circuit layer comprising image processing circuitry groups each configured to receive pixel information from a corresponding pixel sensor group, the image processing circuitry groups comprising: further configured to perform image processing operations on the pixel information to provide processed pixel information during operation of the sensor; a third integrated circuit layer in electrical communication with the second integrated circuit layer, the third integrated circuit layer each receiving processed pixel information from a corresponding image processing network group and object detection for the processed pixel information during operation of the image sensor containing groups of neural networks configured to perform analysis for
Description
<관련 출원에 대한 상호 참조><Cross-Reference to Related Applications>
본 출원은 2019년 4월 5일에 출원된 미국 특허 출원 번호 제16/376,634호에 대한 우선권을 주장하며, 그 전체가 본 명세서에서 참조로 포함된다.This application claims priority to U.S. Patent Application Serial No. 16/376,634, filed April 5, 2019, which is incorporated herein by reference in its entirety.
<기술분야><Technology>
본 명세서는 이미지 센서들 및 이미지 센서들을 포함하는 시스템들에 관한 것이다.BACKGROUND This disclosure relates to image sensors and systems including image sensors.
본 명세서는 이미지들을 캡처하고, 객체들을 검출하기 위해 이미지 센서 상에서 프로세싱을 수행하는 이미지 센서에 관한 기술들을 설명한다. 본 명세서는 이미지 센서로부터 원격 프로세서로 데이터를 송신하기 위한 데이터 송신 프로토콜들을 추가로 설명한다.This specification describes techniques for an image sensor that captures images and performs processing on the image sensor to detect objects. This specification further describes data transmission protocols for transmitting data from an image sensor to a remote processor.
일반적으로, 본 명세서에서 설명되는 대상의 하나의 혁신적인 양태는 포지션에 기초하여 픽셀 센서 그룹들로 그룹화되는 픽셀 센서들을 포함하는 제1 집적 회로 층; 제1 집적 회로 층과 전기적으로 통신하는 제2 집적 회로 층 - 제2 집적 회로 층은 대응하는 픽셀 센서 그룹으로부터 픽셀 정보를 각각 수신하도록 구성되는 이미지 프로세싱 회로망 그룹들을 포함하고, 이미지 프로세싱 회로망 그룹(image processing circuitry group)들은 이미지 센서의 동작 동안 프로세싱된 픽셀 정보를 제공하기 위해 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하도록 추가로 구성됨 -; 제2 집적 회로 층과 전기적으로 통신하는 제3 집적 회로 층 - 제3 집적 회로 층은 대응하는 이미지 프로세싱 회로망 그룹으로부터 프로세싱된 픽셀 정보를 각각 수신하도록 구성되는 신경망 회로망 그룹들을 포함하고, 신경망 회로망 그룹들은 이미지 센서의 동작 동안 프로세싱된 픽셀 정보에 대해 객체 검출을 위한 분석을 수행하도록 추가로 구성됨 -; 및 신경망 회로망 그룹들에 의한 객체 검출을 위한 분석의 결과들을 나타내는 정보를 출력하는 회로망을 포함하고, 제1 집적 회로 층은 제2 집적 회로 층 상에 적층되고, 제2 집적 회로 층은 제3 집적 회로 층 상에 적층되는, 이미지 센서에서 구체화될 수 있다.Generally, one innovative aspect of the subject matter described herein includes: a first integrated circuit layer comprising pixel sensors grouped into pixel sensor groups based on position; a second integrated circuit layer in electrical communication with the first integrated circuit layer, the second integrated circuit layer comprising image processing circuitry groups each configured to receive pixel information from a corresponding pixel sensor group; processing circuitry groups further configured to perform image processing operations on the pixel information to provide processed pixel information during operation of the image sensor; a third integrated circuit layer in electrical communication with the second integrated circuit layer, the third integrated circuit layer comprising neural network groups each configured to receive processed pixel information from a corresponding image processing network group, the neural network groups comprising: further configured to perform analysis for object detection on the pixel information processed during operation of the image sensor; and a network for outputting information representing results of analysis for object detection by neural network groups, wherein a first integrated circuit layer is stacked on a second integrated circuit layer, and the second integrated circuit layer is a third integrated circuit layer It can be embodied in an image sensor, which is laminated on a circuit layer.
이 양태의 다른 실시예들은 이미지 센서에 대응하는 액션들을 수행하고 이미지 센서를 형성하기 위한 액션들을 수행하는 대응하는 방법들을 포함한다.Other embodiments of this aspect include corresponding methods of performing actions corresponding to an image sensor and performing actions to form an image sensor.
이들 및 다른 실시예들은 각각 다음의 특징들 중 하나 이상을 임의적으로 포함할 수 있다. 일부 양태들에서, 객체 검출을 위한 분석의 결과들은 검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들; 시간 및 기하학적 위치 정보를 포함하는 메타데이터; 객체 검출 이전의 중간 계산 결과(intermediate computational result)들; 네트워크 확실성 레벨(network certainty level)에 관한 통계 정보; 및 검출된 객체들의 분류들로 구성되는 그룹 중 적어도 하나를 포함한다. 특정 양태들에서, 신경망 회로망 그룹들은 각각 컨볼루션 신경망(convolutional neural network)을 구현하도록 구성되는 회로망을 포함한다.Each of these and other embodiments may optionally include one or more of the following features. In some aspects, the results of the analysis for object detection include selected regions of interest for pixels representing the detections; metadata including time and geometric location information; intermediate computational results before object detection; statistical information regarding network certainty level; and at least one of a group consisting of classifications of detected objects. In certain aspects, the neural network network groups each include circuitry configured to implement a convolutional neural network.
일부 양태들에서, 컨볼루션 신경망들은 각각 신경망 회로망 그룹에 대응하는 이미지 프로세싱 회로망 그룹에 대응하는 픽셀 센서 그룹에 의해 감지된 객체들을 검출한다. 일부 구현들에서, 제3 집적 회로 층은 순환 신경망(recurrent neural network)을 구현하도록 구성되는 회로망을 포함한다. 특정 양태들에서, 순환 신경망은 신경망 회로망 그룹들 모두에 의해 검출된 객체들에 관한 정보를 수신하고, 픽셀 센서 그룹들 중 다수의 것들에 걸쳐 감지된 객체들을 검출한다.In some aspects, convolutional neural networks detect objects sensed by a pixel sensor group corresponding to an image processing network group, each corresponding to a neural network network group. In some implementations, the third integrated circuit layer includes circuitry configured to implement a recurrent neural network. In certain aspects, the recurrent neural network receives information about objects detected by all of the neural network groups, and detects objects sensed across multiple of the pixel sensor groups.
일부 양태들에서, 신경망 회로망 그룹들 각각은 신경망 회로망 그룹에 프로세싱된 픽셀 정보를 제공하는 이미지 프로세싱 회로망 그룹 바로 아래에 위치된다. 특정 양태들에서, 이미지 프로세싱 회로망 그룹들 각각은 이미지 프로세싱 회로망 그룹에 픽셀 정보를 제공하는 픽셀 센서 그룹의 바로 아래에 또는 바로 근처에 위치된다. 일부 구현들에서, 제1 집적 회로 층, 제2 집적 회로 층 및 제3 집적 회로 층은 단일 집적 칩에 통합된다.In some aspects, each of the neural network groups is located directly below an image processing network group that provides processed pixel information to the neural network group. In certain aspects, each of the image processing circuitry groups is located directly below or in the immediate vicinity of a pixel sensor group that provides pixel information to the image processing circuitry group. In some implementations, the first integrated circuit layer, the second integrated circuit layer, and the third integrated circuit layer are integrated into a single integrated chip.
일부 양태들에서, 픽셀 센서 그룹들 각각은 동일한 개수의 픽셀 센서를 포함한다. 특정 양태들에서, 픽셀 정보에 대해 수행되는 이미지 프로세싱 동작들은 프로세싱 이전에 높은 동적 범위 융합(high dynamic range fusion)을 포함한다. 일부 양태들에서, 이미지 프로세싱 회로망 그룹들 각각은 아날로그 디지털 변환기를 포함한다.In some aspects, each of the pixel sensor groups includes the same number of pixel sensors. In certain aspects, image processing operations performed on pixel information include high dynamic range fusion prior to processing. In some aspects, each of the image processing circuitry groups includes an analog-to-digital converter.
일반적으로, 본 명세서에서 설명되는 대상의 하나의 혁신적인 양태는 이미지 센서의 픽셀 센서들에 의해 캡처된 다수의 이미지들을 획득하는 액션; 이미지 센서에 통합된 신경망 회로망을 사용하여, 객체 검출을 위해 다수의 이미지들을 분석하는 액션; 이미지 센서에 통합된 신경망 회로망을 사용하여 다수의 이미지들 각각에 대해, 객체 검출을 위해 다수의 이미지들의 분석의 결과들과 관련된 신경망 출력 데이터를 생성하는 액션; 및 이미지 센서로부터, 다수의 이미지들 각각의 이미지 데이터 대신 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 액션을 포함하는 방법으로 구체화될 수 있다.Generally, one innovative aspect of the subject matter described herein is an action of acquiring a plurality of images captured by pixel sensors of an image sensor; analyzing the plurality of images for object detection using neural network circuitry integrated in the image sensor; generating, for each of the plurality of images using neural network circuitry integrated in the image sensor, neural network output data related to results of analysis of the plurality of images for object detection; and transmitting, from the image sensor, neural network output data for each of the plurality of images and image data for a subset of the plurality of images instead of image data of each of the plurality of images.
이 양태의 다른 실시예들은 본 방법의 액션들을 수행하도록 구성되는 대응하는 이미지 센서들을 포함한다.Other embodiments of this aspect include corresponding image sensors configured to perform the actions of the method.
이들 및 다른 실시예들은 각각 다음의 특징들 중 하나 이상을 임의적으로 포함할 수 있다. 일부 양태들에서, 다수의 이미지들 각각의 이미지 데이터 대신 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 액션은 다수의 이미지들의 제1 이미지에 대한 이미지 데이터 및 제1 이미지에 대한 신경망 출력 데이터를 송신하고, 제2 이미지에 대한 신경망 출력 데이터를 송신하고, 제2 이미지에 대한 이미지 데이터의 송신 전에 및 이를 송신하지 않고 다수의 이미지들의 제3 이미지에 대한 이미지 데이터 및 제3 이미지에 대한 신경망 출력 데이터를 송신하는 액션을 포함한다.Each of these and other embodiments may optionally include one or more of the following features. In some aspects, the action of transmitting the neural network output data for each of the plurality of images and image data for the subset of the plurality of images instead of image data of each of the plurality of images comprises an image for a first image of the plurality of images. data and neural network output data for the first image, and neural network output data for the second image, before and without sending the image data for the second image, for the third image of the plurality of images. and sending the image data and neural network output data for the third image.
특정 양태들에서, 액션들은 다수의 이미지들의 제1 이미지에 대한 이미지 데이터 및 제1 이미지에 대한 신경망 출력 데이터를 송신하면서, 객체 검출을 위해 다수의 이미지들의 제2 이미지를 분석하는 액션을 포함한다. 일부 구현들에서, 액션들은 제3 이미지를 캡처하면서, 객체 검출을 위해 다수의 이미지들의 분석의 결과들과 관련된 신경망 출력 데이터를 생성하는 액션을 포함한다. 일부 양태들에서, 이미지 센서로부터, 다수의 이미지들 각각의 이미지 데이터 대신 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 액션은 다수의 이미지들의 서브세트의 이미지 데이터를 초당 특정 수의 프레임들로 송신하고, 다수의 이미지들의 서브세트에 대한 이미지 데이터가 송신되고 있지 않는 동안 이미지들에 대한 신경망 출력 데이터를 송신하는 액션을 포함한다.In certain aspects, the actions include analyzing the second image of the plurality of images for object detection, while transmitting image data for the first image of the plurality of images and neural network output data for the first image. In some implementations, the actions include generating neural network output data related to results of analysis of the plurality of images for object detection, while capturing the third image. In some aspects, the action of transmitting, from the image sensor, neural network output data for each of the plurality of images and image data for the subset of the plurality of images instead of image data of each of the plurality of images, is the subset of the plurality of images. sending the image data of , at a certain number of frames per second, and sending neural network output data for the images while image data for the subset of the plurality of images is not being transmitted.
특정 양태들에서, 다수의 이미지들의 서브세트는 이미지 센서에 의해 캡처된 모든 제N 이미지를 포함하며, N은 1보다 큰 정수이다. 일부 구현들에서, 이미지들의 특정 이미지에 대한 이미지 데이터는 이미지 내의 각각의 픽셀에 대한 값들을 나타내는 데이터를 포함한다. 일부 양태들에서, 이미지들의 특정 이미지에 대한 신경망 출력 데이터는 검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들; 시간 및 기하학적 위치 정보를 포함하는 메타데이터; 객체 검출 이전의 중간 계산 결과들; 네트워크 확실성 레벨에 관한 통계 정보; 및 검출된 객체들의 분류들 중 하나 이상을 포함한다.In certain aspects, the subset of the plurality of images includes all Nth images captured by the image sensor, where N is an integer greater than one. In some implementations, the image data for a particular image of the images includes data representing values for each pixel in the image. In some aspects, the neural network output data for a particular image of images includes selected regions of interest for pixels representing detections; metadata including time and geometric location information; intermediate calculation results before object detection; statistical information about the level of network certainty; and one or more of the classifications of the detected objects.
특정 양태들에서, 이미지들의 특정 이미지에 대한 신경망 출력 데이터는 추가 프로세싱을 위해 프로세서에 제공되는 부분적으로 프로세싱된 데이터를 표현한다. 일부 구현들에서, 신경망 출력 데이터 및 이미지 데이터를 송신하는 액션은 신경망 출력 데이터 및 이미지 데이터를 중앙 프로세싱 유닛에 송신하는 액션을 포함한다.In certain aspects, the neural network output data for a particular image of the images represents partially processed data provided to a processor for further processing. In some implementations, the action of sending the neural network output data and the image data includes sending the neural network output data and the image data to the central processing unit.
본 명세서에서 설명되는 대상의 특정 실시예들은 다음의 이점들 중 하나 이상을 실현하도록 구현될 수 있다. 이 기술의 이점은, 이미지 데이터를 프로세싱하기 위해 이미지 센서로부터 멀리 떨어진 프로세서들을 독점적으로 사용하는 것과 대조적으로, 이미지 센서에 다수의 적층된 집적 회로 층들을 포함하면 층들 간에 프로세싱이 분산될 수 있고, 이로 인해 이미지 센서 상에서 층들에 의한 병렬 프로세싱 및/또는 더 많은 프로세싱이 발생할 수 있다는 것일 수 있다.Certain embodiments of the subject matter described herein may be implemented to realize one or more of the following advantages. An advantage of this technology is that inclusion of multiple stacked integrated circuit layers in an image sensor allows processing to be distributed among the layers, as opposed to exclusively using processors remote from the image sensor to process the image data. It may be that parallel processing by layers and/or more processing may occur on the image sensor.
이미지 센서 외부 대신 이미지 센서의 층들에서 추가 프로세싱을 수행하면 이미지 센서 외부에서 특정 데이터를 프로세싱할 필요를 제거할 수 있으며, 이는 이미지 센서로부터 정보를 출력하는 데 사용되는 대역폭의 양을 감소시킬 수 있다. 예를 들어, 프레임들에 대해 이미지 센서 상에서 일부 프로세싱이 이미 수행되었을 수 있으므로, 이미지 센서에 의해 캡처된 프레임들의 서브세트만 출력될 필요가 있을 수 있다. 또 다른 이점은 정보가 층들 사이에서 짧은 거리로 전송될 수 있도록 다수의 층들이 배열될 수 있고, 이로 인해 데이터의 더 빠른 송신을 허용할 수 있다는 것일 수 있다.Performing additional processing in layers of the image sensor instead of outside the image sensor may eliminate the need to process specific data outside the image sensor, which may reduce the amount of bandwidth used to output information from the image sensor. For example, since some processing may have already been performed on the image sensor for the frames, only a subset of the frames captured by the image sensor may need to be output. Another advantage may be that multiple layers may be arranged such that information may be transmitted over short distances between the layers, thereby allowing for faster transmission of data.
본 명세서에서 설명되는 대상의 하나 이상의 실시예의 세부 사항은 첨부 도면들 및 아래의 설명에서 설명된다. 대상의 다른 특징들, 양태들 및 이점들은 설명, 도면들 및 청구범위로부터 명백해질 것이다.The details of one or more embodiments of the subject matter described herein are set forth in the accompanying drawings and the description below. Other features, aspects and advantages of the subject matter will become apparent from the description, drawings and claims.
도 1은 3개의 집적 회로 층을 갖는 예시적인 이미지 센서의 블록도이다.
도 2는 이미지 센서의 3개의 집적 회로 층을 이용한 객체의 검출을 위한 예시적인 프로세스의 흐름도이다.
도 3은 픽셀 센서 그룹들을 갖는 예시적인 집적 회로 층의 블록도이다.
도 4는 이미지 프로세싱 회로망 그룹들을 갖는 예시적인 집적 회로 층의 블록도이다.
도 5는 신경망 회로망 그룹들을 갖는 예시적인 집적 회로 층의 블록도이다.
도 6은 신경망 회로망이 없는 예시적인 이미지 센서에 대한 타이밍의 다이어그램이다.
도 7은 신경망 회로망을 갖는 예시적인 이미지 센서에 대한 타이밍의 다이어그램이다.
도 8은 신경망 회로망을 갖는 이미지 센서로부터 신경망 출력 데이터 및 이미지 데이터를 송신하기 위한 예시적인 프로세스의 흐름도이다.
도 9는 자율 주행 차량(autonomous vehicle)에 의해 사용되는 이미지 센서를 포함하는 예시적인 시스템의 블록도이다.
도 10은 별개의 칩들 상에 픽셀 센서 그룹들 및 신경망 회로망을 포함하는 예시적인 시스템의 블록도이다.
다양한 도면들에서 유사한 참조 번호들 및 명칭들은 유사한 요소들을 나타낸다.1 is a block diagram of an exemplary image sensor having three integrated circuit layers.
2 is a flow diagram of an exemplary process for detection of an object using three integrated circuit layers of an image sensor.
3 is a block diagram of an exemplary integrated circuit layer having pixel sensor groups.
4 is a block diagram of an exemplary integrated circuit layer having groups of image processing circuitry.
5 is a block diagram of an exemplary integrated circuit layer having groups of neural networks.
6 is a diagram of timing for an exemplary image sensor without neural network circuitry.
7 is a diagram of timing for an exemplary image sensor having neural network circuitry.
8 is a flow diagram of an exemplary process for transmitting neural network output data and image data from an image sensor having neural network circuitry.
9 is a block diagram of an exemplary system including an image sensor used by an autonomous vehicle.
10 is a block diagram of an exemplary system including groups of pixel sensors and neural network circuitry on separate chips.
Like reference numbers and designations in the various drawings indicate like elements.
도 1은 3개의 집적 회로 층을 갖는 예시적인 이미지 센서(100)의 블록도이다. 이미지 센서(100)는 3개의 집적 회로 층을 사용하여 객체들을 검출할 수 있다. 예를 들어, 이미지 센서(100)는 인물을 포함하는 이미지를 캡처하고 "검출된 인물"의 표시를 출력할 수 있다. 다른 예로서, 이미지 센서(100)는 이미지를 캡처하고, 이미지 센서(100)에 의해 검출된 차량을 포함하는 이미지의 일부를 출력할 수 있다.1 is a block diagram of an
3개의 집적 회로 층은 제1 집적 회로 층(110), 제2 집적 회로 층(120) 및 제3 집적 회로 층(130)을 포함한다. 제1 집적 회로 층(110)은 제2 집적 회로 층(120) 상에 적층되고, 제2 집적 회로 층(120)은 제3 집적 회로 층(130) 상에 적층된다. 예를 들어, 제1 집적 회로 층(110)은 제2 집적 회로 층(120)의 상부와 직접 접촉하고, 제3 집적 회로 층(130)은 제2 집적 회로 층(120)의 하부와 직접 접촉한다.The three integrated circuit layers include a first integrated circuit layer 110 , a second
제1 집적 회로 층(110)은 제2 집적 회로 층(120)과 전기적으로 통신할 수 있다. 예를 들어, 제1 집적 회로 층(110)과 제2 집적 회로 층(120)은 인터커넥트들에 의해 서로 물리적으로 연결될 수 있다. 제2 집적 회로 층(120)은 제3 집적 회로 층(130)과 전기적으로 통신할 수 있다. 예를 들어, 제2 집적 회로 층(120)과 제3 집적 회로 층(130)은 인터커넥트들에 의해 서로 물리적으로 연결될 수 있다.The first integrated circuit layer 110 may be in electrical communication with the second
제1 집적 회로 층(110)은 제2 집적 회로 층(120)과 동일한 면적을 가질 수 있다. 예를 들어, 제1 집적 회로 층(110) 및 제2 집적 회로 층(120)의 길이 및 폭은 동일할 수 있지만, 높이들은 상이할 수 있다. 제3 집적 회로 층(130)은 제1 및 제2 집적 회로 층(110, 120)보다 더 큰 면적을 가질 수 있다. 예를 들어, 제3 집적 회로 층(130)은 제1 및 제2 집적 회로 층(110, 120)의 길이 및 폭보다 둘 다 20% 더 큰 길이 및 폭을 가질 수 있다.The first integrated circuit layer 110 may have the same area as the second
제1 집적 회로 층(110)은 포지션에 의해 픽셀 센서 그룹들(각각의 픽셀 센서 그룹은 도 1에서 "픽셀 그룹"으로 지칭됨)(112A-112C)(집합적으로 112로 참조됨)로 그룹화되는 픽셀 센서들의 어레이를 포함할 수 있다. 예를 들어, 제1 집적 회로 층(110)은 320x240 픽셀 센서 그룹들로 그룹화된 픽셀 센서들의 6400x4800 어레이를 포함할 수 있으며, 각각의 픽셀 센서 그룹은 20x20 픽셀 센서들의 어레이를 포함한다.The first integrated circuit layer 110 groups by position into pixel sensor groups (each pixel sensor group is referred to as a “pixel group” in FIG. 1 ) 112A- 112C (collectively referred to as 112 ). and an array of pixel sensors. For example, the first integrated circuit layer 110 may include a 6400x4800 array of pixel sensors grouped into 320x240 pixel sensor groups, each pixel sensor group containing an array of 20x20 pixel sensors.
픽셀 센서 그룹들(112) 각각은 2x2 픽셀 센서 서브-그룹들을 포함할 수 있다. 예를 들어, 20x20 픽셀 센서들의 픽셀 센서 그룹들 각각은 10x10 픽셀 센서 서브-그룹들을 포함할 수 있으며, 각각의 픽셀 센서 서브-그룹은 좌측 상단에 적색 픽셀 센서를, 우측 하단에 녹색 픽셀 센서를, 좌측 하단에 제1 투명 픽셀 센서(clear pixel sensor)를, 우측 상단에 제2 투명 픽셀 센서를 포함하며, 각각의 서브-그룹은 적색-투명-투명-녹색(Red-Clear-Clear-Green)(RCCG) 서브-그룹들로도 지칭된다.Each of the pixel sensor groups 112 may include 2x2 pixel sensor sub-groups. For example, each of the pixel sensor groups of 20x20 pixel sensors may include 10x10 pixel sensor sub-groups, each pixel sensor sub-group having a red pixel sensor in the upper left, a green pixel sensor in the lower right, a first clear pixel sensor on the lower left and a second transparent pixel sensor on the upper right, each sub-group being Red-Clear-Clear-Green ( RCCG) sub-groups.
일부 구현들에서, 픽셀 센서 그룹들의 사이즈는 실리콘 활용을 증가시키도록 선택될 수 있다. 예를 들어, 픽셀 센서 그룹들의 사이즈는 더 많은 실리콘이 동일한 패턴의 픽셀 센서들을 갖는 픽셀 센서 그룹들에 의해 덮이도록 할 수 있다.In some implementations, the size of the pixel sensor groups can be selected to increase silicon utilization. For example, the size of the pixel sensor groups may allow more silicon to be covered by pixel sensor groups having the same pattern of pixel sensors.
제2 집적 회로 층(120)은 이미지 프로세싱 회로망 그룹들(각각의 이미지 프로세싱 회로망 그룹은 도 1에서 "프로세스 그룹"으로 지칭됨)(122A-122C)(집합적으로 122로 참조됨)을 포함할 수 있다. 예를 들어, 제2 집적 회로 층(120)은 320x240 이미지 프로세싱 회로망 그룹들을 포함할 수 있다.The second
이미지 프로세싱 회로망 그룹들(122)은 대응하는 픽셀 센서 그룹으로부터 픽셀 정보를 각각 수신하도록 구성될 수 있고, 이미지 센서(100)의 동작 동안 프로세싱된 픽셀 정보를 제공하기 위해 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하도록 추가로 구성될 수 있다.The image processing circuitry groups 122 may each be configured to receive pixel information from a corresponding pixel sensor group, and perform image processing operations on the pixel information to provide processed pixel information during operation of the
일부 구현들에서, 각각의 이미지 프로세싱 회로망 그룹(122)은 단일 대응하는 픽셀 센서 그룹(112)으로부터 픽셀 정보를 수신할 수 있다. 예를 들어, 이미지 프로세싱 회로망 그룹(122A)은 픽셀 센서 그룹(112A)으로부터 픽셀 정보를 수신하고 임의의 다른 픽셀 그룹으로부터는 수신하지 않을 수 있고, 이미지 회로망 프로세싱 그룹(122B)은 픽셀 센서 그룹(112B)으로부터 픽셀 정보를 수신하고 임의의 다른 픽셀 그룹으로부터는 수신하지 않을 수 있다.In some implementations, each image processing circuitry group 122 may receive pixel information from a single corresponding pixel sensor group 112 . For example, image
일부 구현들에서, 각각의 이미지 프로세싱 회로망 그룹(122)은 다수의 대응하는 픽셀 센서 그룹들(112)로부터 픽셀 정보를 수신할 수 있다. 예를 들어, 이미지 프로세싱 회로망 그룹(122A)은 픽셀 센서 그룹들(112A 및 112B) 둘 다로부터 픽셀 픽셀 정보를 수신하고 다른 픽셀 그룹들로부터는 수신하지 않을 수 있고, 이미지 프로세싱 회로망 그룹(122B)은 픽셀 그룹(112C) 및 다른 픽셀 그룹으로부터 픽셀 정보를 수신하고 다른 픽셀 그룹들로부터는 수신하지 않을 수 있다.In some implementations, each image processing circuitry group 122 can receive pixel information from a number of corresponding pixel sensor groups 112 . For example, image
이미지 프로세싱 회로망 그룹들(122)은 대응하는 픽셀 센서 그룹들(112)에 물리적으로 가까울 수 있기 때문에, 이미지 프로세싱 회로망 그룹들(122)이 대응하는 픽셀 그룹들로부터 픽셀 정보를 수신하게 하면 제1 집적 회로 층(110)으로부터 제2 층(120)으로 픽셀 정보가 빠르게 전송되게 할 수 있다. 정보가 전송되는 거리가 더 멀수록 전송에 더 오래 걸릴 수 있다. 예를 들어, 픽셀 센서 그룹(112A)은 이미지 프로세싱 회로망 그룹(122A) 바로 위에 있을 수 있고, 픽셀 센서 그룹(112A)은 이미지 프로세싱 회로망 그룹(122C) 바로 위에 있지 않을 수 있으므로, 픽셀 센서 그룹(112A)과 이미지 프로세싱 회로망 그룹(122C) 사이에 인터커넥트들이 있는 경우, 픽셀 센서 그룹(112A)으로부터 이미지 프로세싱 회로망 그룹(122A)으로 픽셀 정보를 전송하면 픽셀 센서 그룹(112A)으로부터 이미지 프로세싱 회로망 그룹(122C)으로 픽셀 정보를 전송하는 것보다 더 빠를 수 있다.Because the image processing circuitry groups 122 may be physically close to the corresponding pixel sensor groups 112 , allowing the image processing circuitry groups 122 to receive pixel information from the corresponding pixel groups causes the first integration Pixel information may be rapidly transmitted from the circuit layer 110 to the
이미지 프로세싱 회로망 그룹들(122)은 이미지 프로세싱 회로망 그룹들(122)이 픽셀 그룹들로부터 수신하는 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하도록 구성될 수 있다. 예를 들어, 이미지 프로세싱 회로망 그룹(122A)은 픽셀 센서 그룹(112A)으로부터의 픽셀 정보에 대해 높은 동적 범위 융합(high dynamic range fusion)을 수행할 수 있고, 이미지 프로세싱 회로망 그룹(122B)은 픽셀 센서 그룹(112B)으로부터의 픽셀 정보에 대해 높은 동적 범위 융합을 수행할 수 있다. 다른 이미지 프로세싱 동작들은, 예를 들어, 아날로그 대 디지털(analog to digital) 신호 변환 및 디-모자이크(de-mosaicing)를 포함할 수 있다.The image processing circuitry groups 122 may be configured to perform image processing operations on pixel information that the image processing circuitry groups 122 receive from the pixel groups. For example, image
이미지 프로세싱 회로망 그룹들(122)이 대응하는 픽셀 센서 그룹들(112)로부터의 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하게 하면 이미지 프로세싱 동작들이 이미지 프로세싱 회로망 그룹들(122)에 의해 병렬로 분산 방식으로 수행되게 할 수 있다. 예를 들어, 이미지 프로세싱 회로망 그룹(122A)은 이미지 프로세싱 회로망 그룹(122B)이 픽셀 그룹(122B)으로부터의 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하는 것과 동시에 픽셀 센서 그룹(112A)으로부터의 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행할 수 있다.Having the image processing circuitry groups 122 perform image processing operations on pixel information from the corresponding pixel sensor groups 112 causes the image processing operations to be performed in parallel by the image processing circuitry groups 122 in a distributed fashion. can be done For example, the image
제3 집적 회로 층(130)은 신경망 회로망 그룹들(132A-132C)(각각의 신경망 회로망 그룹은 도 1에서 "NN 그룹"으로 지칭됨)(132A-132C)(집합적으로 132로 참조됨) 및 전체 이미지 신경망 회로망(134)을 포함할 수 있다. 예를 들어, 제3 집적 회로 층(130)은 320x240 신경망 회로망 그룹들을 포함할 수 있다.The third
신경망 회로망 그룹들(132)은 대응하는 이미지 프로세싱 회로망 그룹으로부터 프로세싱된 픽셀 정보를 각각 수신하도록 구성될 수 있고, 이미지 센서(100)의 동작 동안 프로세싱된 픽셀 정보에 대해 객체 검출을 위한 분석을 수행하도록 추가로 구성될 수 있다. 일부 구현들에서, 신경망 회로망 그룹들(132)은 각각 컨볼루션 신경망(convolutional neural network)(CNN)을 구현할 수 있다.Neural network groups 132 may each be configured to receive processed pixel information from a corresponding image processing network group, and perform analysis for object detection on the processed pixel information during operation of
일부 구현들에서, 각각의 신경망 회로망 그룹(132)은 단일 대응하는 이미지 프로세싱 회로망 그룹(122)으로부터 프로세싱된 픽셀 정보를 수신할 수 있다. 예를 들어, 신경망 회로망 그룹(132A)은 이미지 프로세싱 회로망 그룹(122A)으로부터 프로세싱된 픽셀 정보를 수신하고 임의의 다른 이미지 프로세싱 회로망 그룹으로부터는 수신하지 않을 수 있고, 신경망 회로망 그룹(132B)은 이미지 프로세싱 회로망 그룹(122B)으로부터 프로세싱된 픽셀 정보를 수신하고 임의의 다른 이미지 프로세싱 회로망 그룹으로부터는 수신하지 않을 수 있다.In some implementations, each neural network group 132 may receive processed pixel information from a single corresponding image processing network group 122 . For example,
일부 구현들에서, 각각의 신경망 회로망 그룹(132)은 다수의 대응하는 이미지 프로세싱 회로망 그룹들(122)로부터 프로세싱된 픽셀 정보를 수신할 수 있다. 예를 들어, 신경망 회로망 그룹(132A)은 이미지 프로세싱 회로망 그룹들(122A 및 122B) 둘 다로부터 프로세싱된 픽셀 정보를 수신하고 다른 이미지 프로세싱 회로망 그룹들로부터는 수신하지 않을 수 있고, 신경망 회로망 그룹(132B)은 이미지 프로세싱 회로망 그룹(122C) 및 다른 픽셀 그룹 둘 다로부터 프로세싱된 픽셀 정보를 수신하고 다른 픽셀 그룹들로부터는 프로세싱된 픽셀 정보를 수신하지 않을 수 있다.In some implementations, each neural network group 132 can receive processed pixel information from a number of corresponding image processing network groups 122 . For example,
신경망 회로망 그룹들(132)은 대응하는 이미지 프로세싱 회로망 그룹들(122)에 물리적으로 가까울 수 있기 때문에, 신경망 회로망 그룹들(132)이 대응하는 이미지 프로세싱 회로망 그룹들로부터 프로세싱된 픽셀 정보를 수신하게 하면 제2 집적 회로 층(120)으로부터 제3 집적 회로 층(130)으로 프로세싱된 픽셀 정보가 빠르게 전송되게 할 수 있다. 정보가 전송되는 거리가 더 멀수록 전송에 더 오래 걸릴 수 있다. 예를 들어, 이미지 프로세싱 회로망 그룹(122A)은 신경망 회로망 그룹(132A) 바로 위에 있을 수 있으므로, 이미지 프로세싱 회로망 그룹(122A)과 신경망 회로망 그룹(132C) 사이에 인터커넥트들이 있는 경우, 이미지 프로세싱 회로망 그룹(122A)으로부터 신경망 회로망 그룹(132A)으로 프로세싱된 픽셀 정보를 전송하면 이미지 프로세싱 회로망 그룹(122A)으로부터 신경망 회로망 그룹(132C)으로 프로세싱된 픽셀 정보를 전송하는 것보다 더 빠를 수 있다.Because the neural network groups 132 may be physically close to the corresponding image processing network groups 122, allowing the neural network groups 132 to receive processed pixel information from the corresponding image processing network groups The processed pixel information may be rapidly transferred from the second
신경망 회로망 그룹들(132)은 신경망 회로망 그룹들(132)이 이미지 프로세싱 회로망 그룹들(122)로부터 수신하는 프로세싱된 픽셀 정보로부터 객체들을 검출하도록 구성될 수 있다. 예를 들어, 신경망 회로망 그룹(132A)은 이미지 프로세싱 회로망 그룹(122A)으로부터의 프로세싱된 픽셀 정보로부터 객체들을 검출할 수 있고, 신경망 회로망 그룹(132B)은 이미지 프로세싱 회로망 그룹(122B)으로부터의 프로세싱된 픽셀 정보로부터 객체들을 검출할 수 있다.Neural network groups 132 may be configured to detect objects from processed pixel information that neural network groups 132 receive from image processing network groups 122 . For example,
신경망 회로망 그룹들(132)이 대응하는 이미지 프로세싱 회로망 그룹(122)으로부터의 프로세싱된 픽셀 정보로부터 객체들을 검출하게 하면 검출이 신경망 회로망 그룹들(132) 각각에 의해 병렬로 분산 방식으로 수행되게 할 수 있다. 예를 들어, 신경망 회로망 그룹(132A)은 신경망 회로망 그룹(132B)이 이미지 프로세싱 회로망 그룹(122B)으로부터의 프로세싱된 픽셀 정보로부터 객체들을 검출하는 것과 동시에 이미지 프로세싱 회로망 그룹(122A)으로부터의 프로세싱된 픽셀 정보로부터 객체들을 검출할 수 있다.Allowing the neural network groups 132 to detect objects from processed pixel information from the corresponding image processing network group 122 may cause the detection to be performed by each of the neural network groups 132 in a distributed manner in parallel. have. For example,
일부 구현들에서, 신경망 회로망 그룹들(132)은 중간 프로세싱(intermediate processing)을 수행할 수 있다. 따라서, 이미지 센서(100)는 3개의 집적 회로 층(110, 120 및 130)을 사용하여 일부 중간 프로세싱을 수행하고 중간 결과만 출력할 수 있다. 예를 들어, 이미지 센서(100)는 인물을 포함하는 이미지를 캡처하고, 관심 객체(인물)를 분류하지 않고, "이미지의 일부 영역에서의 관심 영역"의 표시를 출력할 수 있다. 이미지 센서(100) 외부에서 수행되는 다른 프로세싱이 관심 영역을 인물로서 분류할 수 있다.In some implementations, neural network groups 132 may perform intermediate processing. Accordingly, the
따라서, 이미지 센서(100)로부터의 출력은 일부 컨볼루션 신경망의 출력을 표현하는 일부 데이터를 포함할 수 있다. 이 데이터 자체는 해독하기 어려울 수 있지만, 이미지 센서(100) 외부에서 계속 프로세싱되면, 데이터가 영역을 인물을 포함하는 것으로 분류하는 데 사용될 수 있다. 이 하이브리드 접근 방식은 필요한 대역폭을 감소시키는 이점을 갖는다. 따라서, 신경망 회로망 그룹들(132)로부터의 출력은 검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들, 시간 및 기하학적 위치 정보를 포함하는 메타데이터, 객체 검출 이전의 중간 계산 결과들, 네트워크 확실성 레벨에 관한 통계 정보, 및 검출된 객체들의 분류들 중 하나 이상을 포함할 수 있다.Accordingly, the output from the
일부 구현들에서, 신경망 회로망 그룹들(132)은 높은 재현율(recall) 및 낮은 정밀도(precision)들로 CNN들을 구현하도록 구성될 수 있다. 신경망 회로망 그룹들(132)은 각각 검출된 객체들의 리스트, 객체가 검출된 곳, 및 객체의 검출 타이밍을 출력할 수 있다.In some implementations, neural network groups 132 may be configured to implement CNNs with high recall and low precision. The neural network groups 132 may respectively output a list of detected objects, where the object was detected, and the detection timing of the object.
전체 이미지 신경망 회로망(134)은, 신경망 회로망 그룹들(132) 각각으로부터, 신경망 회로망 그룹들(132)이 검출한 객체들을 나타내는 데이터를 수신하고, 데이터로부터 객체들을 검출하도록 구성될 수 있다. 예를 들어, 신경망 회로망 그룹들(132)은 각각의 개별 신경망 회로망 그룹이 객체에 대응하는 프로세싱된 픽셀 정보의 일부만 수신할 수 있기 때문에 다수의 픽셀 그룹들에 의해 캡처되는 객체들을 검출할 수 없을 수 있지만, 전체 이미지 신경망 회로망(134)은 다수의 신경망 회로망 그룹들(132)로부터 데이터를 수신하여 다수의 픽셀 그룹들에 의해 감지된 객체들을 검출할 수 있다. 일부 구현들에서, 전체 이미지 신경망 회로망(134)은 순환 신경망(RNN)을 구현할 수 있다. 신경망들은 그들의 아키텍처(층들의 수 및 타입, 활성화 함수(activation function)들 등)뿐만 아니라, 신경망 컴포넌트들의 실제 값들(예를 들어, 가중치들, 바이어스들 등)과 관련하여 구성 가능할 수 있다.The full image
일부 구현들에서, 이미지 센서(100)가 프로세싱을 수행하게 하면 프로세싱 파이프라인 아키텍처를 단순화하게 하고, 더 높은 대역폭 및 더 낮은 레이턴시를 제공하게 하고, 선택적 프레임 레이트 동작들을 허용하게 하고, 적층된 아키텍처로 비용을 절감하게 하고, 집적 회로가 더 적은 잠재적인 실패 지점들을 가질 수 있음에 따라 더 높은 시스템 신뢰성을 제공하게 하고, 계산 리소스들에 대한 상당한 비용 및 전력 절감들을 제공하게 할 수 있다.In some implementations, letting the
일부 구현들에서, 제3 집적 회로 층(130)은 실리콘 대 실리콘 직접 본딩 방법 또는 "플립 칩" 접근 방식을 사용하여 제2 집적 회로 층(120)에 본딩될 수 있으며, 여기서 층들 사이에 기판이 개재되고 실리콘으로부터 기판으로의 와이어 본딩을 사용하여 연결들이 구현된다.In some implementations, the third
도 2는 이미지 센서의 3개의 집적 회로 층을 이용한 객체의 검출을 위한 예시적인 프로세스(200)의 흐름도이다. 프로세스(200)는 도 1의 이미지 센서(100) 또는 일부 다른 이미지 센서에 의해 수행될 수 있다.2 is a flow diagram of an
프로세스(200)는, 제1 집적 회로 층에 있고 포지션에 기초하여 픽셀 센서 그룹들로 그룹화되는 픽셀 센서들에 의해, 픽셀 정보를 획득하는 단계(210)를 포함할 수 있다. 예를 들어, 제1 집적 회로 층(110)의 픽셀 센서 그룹들(112)의 픽셀 센서들 각각은 픽셀 센서에 의해 감지된 광의 강도를 표현하는 아날로그 신호들인 픽셀 정보를 생성할 수 있다. 일부 구현들에서, 픽셀 센서 그룹들 각각은 동일한 수의 픽셀 센서를 포함한다. 예를 들어, 픽셀 센서 그룹들(112) 각각은 20x20 RCCG 서브-그룹들을 형성하는 400개의 픽셀 센서를 포함할 수 있다.The
프로세스(200)는, 제2 집적 회로 층의 이미지 프로세싱 회로망 그룹들에 의해, 프로세싱된 픽셀 정보를 제공하기 위해 대응하는 픽셀 센서 그룹으로부터의 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하는 단계(220)를 포함할 수 있다. 예를 들어, 이미지 프로세싱 회로망 그룹(122A)은 픽셀 센서 그룹(112A)으로부터 픽셀 정보를 수신하고 픽셀 센서 그룹(112A)으로부터의 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행할 수 있는 반면, 이미지 프로세싱 회로망 그룹(122B)은 픽셀 센서 그룹(112B)으로부터 픽셀 정보를 수신하고 픽셀 센서 그룹(112B)으로부터의 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행할 수 있다.The
일부 구현들에서, 이미지 프로세싱 회로망 그룹들 각각은 이미지 프로세싱 회로망 그룹에 픽셀 정보를 제공하는 픽셀 센서 그룹 바로 아래에 위치된다. 예를 들어, 이미지 프로세싱 회로망 그룹(122A)은 픽셀 센서 그룹(112A) 바로 아래에 위치될 수 있고, 이미지 프로세싱 회로망 그룹(122B)은 픽셀 센서 그룹(112B) 바로 아래에 위치될 수 있다. 일부 구현들에서, 이미지 프로세싱 회로망 그룹들 각각은 이미지 프로세싱 회로망 그룹에 픽셀 정보를 제공하는 픽셀 센서 그룹의 바로 근처에 위치될 수 있다. 일부 구현들에서, 제2 집적 회로 층은 제1 집적 회로 층과 전기적으로 통신할 수 있다. 예를 들어, 제2 집적 회로 층(120)은 전기 전도성 재료로 형성된 인터커넥트들에 의해 제1 집적 회로 층(110)에 연결될 수 있다.In some implementations, each of the image processing circuitry groups is located directly below a pixel sensor group that provides pixel information to the image processing circuitry group. For example, image
프로세스(200)는, 제3 집적 회로 층의 신경망 회로망 그룹들에 의해, 대응하는 이미지 프로세싱 회로망 그룹으로부터의 프로세싱된 픽셀 정보에 대해 객체 검출을 위한 분석을 수행하는 단계(230)를 포함할 수 있다. 예를 들어, 신경망 회로망 그룹(132A)은 이미지 프로세싱 회로망 그룹(122A)으로부터 프로세싱된 픽셀 정보를 수신하고 이미지 프로세싱 회로망 그룹(122A)으로부터의 프로세싱된 픽셀 정보로부터 객체들을 검출할 수 있는 반면, 신경망 회로망 그룹(132B)은 이미지 프로세싱 회로망 그룹(122B)으로부터 픽셀 정보를 수신하고 이미지 프로세싱 회로망 그룹(122B)으로부터의 프로세싱된 픽셀 정보로부터 객체들을 검출할 수 있다. 다른 예에서, 신경망 회로망 그룹들(132)은 대응하는 이미지 프로세싱 회로망 그룹들(122)로부터 프로세싱된 픽셀 정보를 수신하고, 검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들, 시간 및 기하학적 위치 정보를 포함하는 메타데이터, 객체 검출 이전의 중간 계산 결과들, 네트워크 확실성 레벨에 관한 통계 정보, 및 검출된 객체들의 분류들 중 하나 이상을 출력할 수 있다.The
일부 구현들에서, 신경망 회로망 그룹들은 각각 CNN을 구현하도록 구성되는 회로망을 포함한다. 예를 들어, 신경망 회로망 그룹(132A)은 제1 CNN을 구현하기 위한 회로망을 포함할 수 있고, 신경망 회로망 그룹(132B)은 제2의 상이한 CNN을 구현하기 위한 회로망을 포함할 수 있다.In some implementations, the neural network network groups each include a circuitry configured to implement a CNN. For example,
컨볼루션 신경망들은 각각 신경망 회로망 그룹에 대응하는 이미지 프로세싱 회로망 그룹에 대응하는 픽셀 센서 그룹에 의해 감지된 객체들을 검출할 수 있다. 예를 들어, 신경망 회로망 그룹(132A)의 CNN은 픽셀 센서 그룹(112A)의 픽셀 센서들에 의해 캡처된 제1 객체를 검출할 수 있고, 신경망 회로망 그룹(132B)의 CNN은 픽셀 센서 그룹(112B)의 픽셀 센서들에 의해 캡처된 제2 객체를 검출할 수 있다.The convolutional neural networks may each detect objects sensed by the pixel sensor group corresponding to the image processing network group corresponding to the neural network network group. For example, the CNN of the
일부 구현들에서, 제3 집적 회로 층은 RNN을 구현하도록 구성되는 회로망을 포함한다. 예를 들어, 제3 집적 회로 층(130)은 신경망 회로망 그룹들 모두에 의해 검출된 객체들에 관한 정보를 수신하고 픽셀 센서 그룹들 중 다수의 것들에 걸쳐 감지된 객체들을 검출하는 RNN에 대해 구성되는 회로망을 포함할 수 있다.In some implementations, the third integrated circuit layer includes circuitry configured to implement the RNN. For example, the third
일부 구현들에서, 신경망 회로망 그룹들 각각은 신경망 회로망 그룹에 프로세싱된 픽셀 정보를 제공하는 이미지 프로세싱 회로망 그룹 바로 아래에 위치된다. 예를 들어, 신경망 회로망 그룹(132A)은 이미지 프로세싱 회로망 그룹(122A) 바로 아래에 위치될 수 있고, 신경망 회로망 그룹(132B)은 이미지 프로세싱 회로망 그룹(122B) 바로 아래에 위치될 수 있다.In some implementations, each of the neural network groups is located directly below an image processing network group that provides processed pixel information to the neural network group. For example,
일부 구현들에서, 제3 집적 회로 층은 제2 집적 회로 층과 전기적으로 통신할 수 있다. 예를 들어, 제3 집적 회로 층(130)은 전기 전도성 재료로 형성된 인터커넥트들에 의해 제2 집적 회로 층(120)에 연결될 수 있다.In some implementations, the third integrated circuit layer can be in electrical communication with the second integrated circuit layer. For example, the third
프로세스(200)는 신경망 회로망 그룹들에 의한 객체 검출을 위한 분석의 결과들을 나타내는 정보를 출력하는 단계(240)를 포함할 수 있다. 예를 들어, 제3 집적 회로 층(130)은 이미지 센서(100)로부터 이미지 센서(100) 외부의 중앙 프로세싱 유닛으로 메타데이터를 출력하도록 구성되는 회로망을 포함할 수 있으며, 메타데이터는 신경망 회로망 그룹들(132)에 의해 검출된 객체들을 지정한다.
일부 구현들에서, 프로세스(200)는 제1 집적 회로 층이 제2 집적 회로 층 상에 적층되고 제2 집적 회로 층이 제3 집적 회로 층 상에 적층되는 경우 수행될 수 있다. 예를 들어, 프로세스(200)는 제1 집적 회로 층(110)의 하부가 제2 집적 회로 층(120)의 상부와 직접 접촉하고 제2 집적 회로 층(120)의 하부가 제3 집적 회로 층(130)의 상부와 직접 접촉하는 이미지 센서(100)에 의해 수행될 수 있다.In some implementations,
일부 구현들에서, 프로세스(200)는 제1 집적 회로 층, 제2 집적 회로 층 및 제3 집적 회로 층이 단일 집적 칩에 통합되는 경우 수행될 수 있다. 예를 들어, 프로세스(200)는 단일 집적 칩인 이미지 센서(100)에 의해 수행될 수 있다.In some implementations,
도 3은 픽셀 센서 그룹들을 갖는 예시적인 집적 회로 층(300)의 블록도이다. 일부 구현들에서, 집적 회로 층(300)은 도 1에 도시된 제1 집적 회로 층(110)일 수 있다. 집적 회로 층(300)은 픽셀 센서 그룹들(310), 행 드라이버들, 타이밍 및 자동차 안전 무결성 레벨(automotive safety integrity level)을 위한 회로망(320), 및 인터커넥트들(330)을 포함한다. 도 3에 도시된 바와 같이, 픽셀 센서 그룹들(310) 각각은 RCCG 서브-그룹들의 다수의 2x2 어레이들을 포함하고, 픽셀 센서 그룹들(310) 각각은 RCCG 서브-그룹들의 동일한 수의 2x2 어레이들을 포함한다. 그러나, 집적 회로 층(300)의 다른 구현들은 상이한 픽셀 센서 그룹들을 포함할 수 있다. 예를 들어, 각각의 픽셀 그룹은 RCCG 서브-그룹들의 3x3 어레이들을 포함할 수 있다.3 is a block diagram of an exemplary
도 4는 이미지 프로세싱 회로망 그룹들을 갖는 예시적인 집적 회로 층(400)의 블록도이다. 일부 구현들에서, 집적 회로 층(400)은 도 1에 도시된 제2 집적 회로 층(120)일 수 있다. 집적 회로 층(400)은 이미지 프로세싱 회로망 그룹들(410), 로직 및 자동차 안전 무결성 레벨을 위한 회로망(420), 및 인터커넥트들(430)을 포함할 수 있다. 도 3에 도시된 바와 같이, 이미지 프로세싱 회로망 그룹(410) 각각은 하이/로우 아날로그-대-디지털 컨버터(analog-to-digital converter)들(ADCS), 높은 동적 범위 융합을 위한 회로망, 자동차 안전 무결성 레벨을 위한 회로망, 픽셀 메모리를 위한 회로망, 및 멀티플렉서를 위한 회로망을 포함할 수 있다. 멀티플렉서는 신경망 회로망 그룹이 있는 집적 회로 층(500)을 향해 단일 픽셀(다수의 픽셀당 비트(bits per pixel)) 또는 단일 링크(연결) 상에 직렬화된 픽셀들의 그룹들로서 층들 사이의 정보를 라우팅하는 데 있어서 유연성을 허용할 수 있다. 이미지 프로세싱 회로망 그룹들(410) 각각은 이미지 프로세싱 회로망 그룹(410)에 픽셀 정보를 제공하는 픽셀 센서 그룹(310)과 동일한 영역을 커버할 수 있다.4 is a block diagram of an exemplary integrated circuit layer 400 having image processing circuitry groups. In some implementations, the integrated circuit layer 400 can be the second
도 5는 신경망 회로망 그룹들을 갖는 예시적인 집적 회로 층(500)의 블록도이다. 일부 구현들에서, 집적 회로 층(500)은 도 1에 도시된 제3 집적 회로 층(130)일 수 있다. 집적 회로 층(400)은 신경망 회로망 그룹들(510), 로직 및 자동차 안전 무결성 레벨을 위한 회로망(520), 인터커넥트들(530) 및 RNN을 포함할 수 있다.5 is a block diagram of an exemplary integrated circuit layer 500 having groups of neural networks. In some implementations, the integrated circuit layer 500 may be the third
도 5에 도시된 바와 같이, 신경망 회로망 그룹들(510) 각각은 메모리, CNN 및 디-멀티플렉서(de-multiplexor)를 위한 회로망을 포함할 수 있다. 디-멀티플렉서는 캡처된 픽셀 구성을 복원하기 위해 비트들 및 픽셀들을 역직렬화(deserialize)할 수 있다. 신경망 회로망 그룹들(510) 각각은 신경망 회로망 그룹(410)에 프로세싱된 픽셀 정보를 제공하는 이미지 프로세싱 회로망 그룹(410)과 동일한 영역을 커버할 수 있다.As shown in FIG. 5 , each of the neural network network groups 510 may include circuitry for a memory, a CNN, and a de-multiplexer. The de-multiplexer may deserialize the bits and pixels to recover the captured pixel configuration. Each of the neural network groups 510 may cover the same area as the image processing network group 410 that provides the processed pixel information to the neural network group 410 .
도 6은 신경망 회로망이 없는 예시적인 이미지 센서에 대한 타이밍의 다이어그램(600)이다. 다이어그램(600)은 프레임들의 전송 타이밍을 표현하는 제1 행(610), 프레임들의 캡처 타이밍을 표현하는 제2 행(620), 및 상기 액션들과 관련된 예시적인 시간 프레임들을 나타내는 제3 행(630)을 포함할 수 있다.6 is a diagram 600 of timing for an exemplary image sensor without neural network circuitry. Diagram 600 shows a
다이어그램(600)은 이미지로도 지칭되는 프레임이 10밀리초 동안 100밀리초마다 이미지 센서에 의해 캡처될 수 있고 그 후 전송되는 프레임이 20밀리초 동안 전송되는 방법을 도시한다. 이미지 센서는 100밀리초 중 나머지 80밀리초 동안 유휴 상태일 수 있다. 프레임에 대한 프로세싱이 이미지 센서 외부에서 수행되고 프레임당 80밀리초가 걸리기 때문에, 이미지 센서는 100밀리초마다 단일 이미지만 전송할 수 있다. 예를 들어, 이미지 센서 외부의 중앙 프로세싱 유닛에 의해 전체 이미지에서 객체를 검출하는 데 80밀리초가 걸릴 수 있다. 따라서, 다이어그램(600)은 100밀리초마다 단일 프레임만이 사용되는 방법을 도시할 수 있다.Diagram 600 shows how a frame, also referred to as an image, can be captured by the image sensor every 100 milliseconds for 10 milliseconds and then the transmitted frame is transmitted for 20 milliseconds. The image sensor may be idle for the remaining 80 milliseconds of the 100 milliseconds. Because the processing of the frames is done outside the image sensor and takes 80 milliseconds per frame, the image sensor can only send a single image every 100 milliseconds. For example, it may take 80 milliseconds to detect an object in the entire image by a central processing unit external to the image sensor. Accordingly, diagram 600 may show how only a single frame is used every 100 milliseconds.
도 7은 신경망 회로망을 갖는 예시적인 이미지 센서에 대한 타이밍의 다이어그램(700)이다. 예를 들어, 다이어그램(700)은 도 1의 이미지 센서(100)에 대한 타이밍을 도시할 수 있다.7 is a diagram 700 of timing for an exemplary image sensor having neural network circuitry. For example, diagram 700 may depict timing for
다이어그램(700)은 프레임들의 전송 타이밍을 표현하는 제1 행(710), 프레임들 내에서 검출된 객체들과 관련된 신경망 출력 데이터를 생성하는 타이밍을 표현하는 제2 행(720), 프레임들을 캡처하는 타이밍을 표현하는 제3 행(730), 및 상기 액션들과 관련된 예시적인 시간 프레임들을 나타내는 제4 행(740)을 포함할 수 있다.The diagram 700 shows a
다이어그램(700)은 10밀리초마다 이미지 센서에 의해 프레임들이 캡처되는 방법을 도시할 수 있으며, 100밀리초마다 이미지 센서는 20밀리초 동안 프레임을 전송하고 나머지 80밀리초 동안 이미지 센서에 의해 캡처된 10개의 프레임에 대해 생성된 신경망 출력 데이터가 전송된다. 따라서, 다이어그램(700)에서는 단일 프레임에 대한 이미지 데이터가 여전히 100밀리초당 전송되긴 하지만, 10개의 프레임에 대한 신경망 출력 데이터도 100밀리초마다 제공되기 때문에, 이미지 센서는 다이어그램(600)에서보다 10배 많은 프레임들에 대한 정보를 제공할 수 있다.Diagram 700 may show how frames are captured by the image sensor every 10 milliseconds, where every 100 milliseconds the image sensor transmits a frame for 20 milliseconds and the remaining 80 milliseconds captured by the image sensor. The neural network output data generated for 10 frames is transmitted. Thus, although in diagram 700 the image data for a single frame is still transmitted per 100 milliseconds, since the neural network output data for 10 frames is also provided every 100 milliseconds, the image sensor is 10 times larger than in diagram 600 . It can provide information about many frames.
이미지 센서로부터의 신경망 출력 데이터는 이미 프레임 및 다른 프레임들에서 객체들이 검출되었는지를 나타낼 수 있으므로, 이미지 센서가 신경망 출력 데이터와 함께 추가 프로세싱을 위해 프레임을 전송하게 하면 이미지 센서 외부에서의 프로세싱의 양이 줄어들 수 있다.Since the neural network output data from the image sensor can already indicate whether objects have been detected in the frame and other frames, having the image sensor send the frame for further processing along with the neural network output data reduces the amount of processing outside the image sensor. can be reduced
다이어그램(700)에 도시된 바와 같이, 프레임이 캡처되면, 프레임에 대한 신경망 출력 데이터가 생성된다. 예를 들어, 프레임 A가 캡처되면, 신경망 출력 데이터가 프레임 A로부터 생성될 수 있다. 다른 예에서, 프레임 B가 캡처되면, 신경망 출력 데이터가 프레임 B로부터 생성될 수 있다.As shown in diagram 700, when a frame is captured, neural network output data for the frame is generated. For example, if frame A is captured, neural network output data may be generated from frame A. In another example, once frame B is captured, neural network output data may be generated from frame B.
프레임에 대한 신경망 출력 데이터는 다른 프레임이 캡처되고 있는 동안 생성된다. 예를 들어, 프레임 B는 프레임 A에 대한 신경망 출력 데이터가 생성되는 동안 캡처될 수 있다. 이미지 센서(100)를 사용하여, 제3 집적 회로 층(130)이 객체들을 검출하고 검출된 객체들을 나타내는 신경망 출력 데이터를 생성하는 동안, 제1 집적 회로 층(110)은 프레임 B를 캡처한다.Neural output data for a frame is generated while another frame is being captured. For example, frame B may be captured while neural network output data for frame A is being generated. Using the
다이어그램(700)에 도시된 바와 같이, 프레임에 대한 신경망 출력 데이터는 생성된 후 전송된다. 예를 들어, 프레임 A로부터의 신경망 출력 데이터는 일단 생성되고 프레임 A가 전송되는 것이 종료되면 전송될 수 있다. 일부 구현들에서, 신경망 출력 데이터의 전송은 그룹이 프로세싱되는 것이 완료되면 시작할 수 있다. 이것은 롤링 셔터 센서(rolling shutter sensor)들에 효과적일 수 있다.As shown in diagram 700, neural network output data for a frame is generated and then transmitted. For example, neural network output data from frame A may be generated and transmitted once frame A has finished transmitting. In some implementations, transmission of the neural network output data may begin once the group is finished processing. This can be effective for rolling shutter sensors.
일부 구현들에서, 송신과 관련하여, 이미지 센서(100)는 또한 이미지 그레이스케일 또는 컬러 데이터를 신경망 출력 데이터와 멀티플렉싱할 수 있다. 예를 들어, 객체 및 시간 정보가 사전-프로세싱된 전체 이미지 그레이스케일 또는 컬러 데이터가 단일 데이터 스트림으로 멀티플렉싱될 수 있다. 멀티플렉싱된 데이터 스트림들은 전체 이미지 스트림 정보보다 훨씬 더 낮은 출력 대역폭 요구 사항들을 가질 수 있으며, 예를 들어, 4배 이상 더 적을 수 있다. 다수의 링크들 대신 카메라 출력으로서 멀티플렉싱된 정보의 단일 직렬 링크를 갖는 멀티플렉싱은 물리적 링크들의 수가 감소될 수 있으므로 차량 레벨 아키텍처를 크게 단순화할 수 있다.In some implementations, with respect to transmission,
도 8은 신경망 회로망을 갖는 이미지 센서로부터 신경망 출력 데이터 및 이미지 데이터를 송신하기 위한 예시적인 프로세스(800)의 흐름도이다. 프로세스(800)는 도 1의 이미지 센서(100) 또는 일부 다른 이미지 센서에 의해 수행될 수 있다.8 is a flow diagram of an
프로세스(800)는 이미지 센서의 픽셀 센서들에 의해 캡처된 다수의 이미지들을 획득하는 단계(810)를 포함할 수 있다. 예를 들어, 이미지 센서(100)의 제1 집적 회로 층(110)의 픽셀 그룹들(112C)의 픽셀 센서들은 10밀리초마다 상이한 프레임을 캡처할 수 있다.
프로세스(800)는, 이미지 센서에 통합된 신경망 회로망을 사용하여, 객체 검출을 위해 다수의 이미지들을 분석하는 단계(820)를 포함할 수 있다. 예를 들어, 이미지 센서(100)의 제3 집적 회로 층(130)의 신경망 회로망 그룹들(132)은 신경망 회로망 그룹이 프로세싱된 픽셀 정보를 수신한 프레임의 부분들 각각 내에서 객체들을 검출할 수 있다.
프로세스(800)는, 이미지 센서에 통합된 신경망 회로망을 사용하여 다수의 이미지들 각각에 대해, 객체 검출을 위해 다수의 이미지들의 분석의 결과들과 관련된 신경망 출력 데이터를 생성하는 단계(830)를 포함할 수 있다. 예를 들어, 제1 신경망 회로망 그룹(132A)은 프레임 A의 일부에서 제1 객체가 검출되었음을 나타내는 메타데이터를 생성할 수 있고, 제2 신경망 회로망 그룹(132B)은 프레임 A의 다른 부분에서 객체가 검출되지 않았음을 나타내는 메타데이터를 생성할 수 있다.
프로세스(800)는, 이미지 센서로부터, 다수의 이미지들 각각의 이미지 데이터 대신 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 단계(840)를 포함할 수 있다. 예를 들어, 이미지 센서(100)는 신경망 회로망 그룹이 이미지 센서(100)에 의해 캡처된 프레임들 각각의 개개의 부분들에서 객체들을 검출했는지 여부를 나타내는 신경망 회로망 그룹들 각각에 의해 생성된 메타데이터에 대응하는 데이터, 및 이미지 센서에 의해 캡처된 모든 제10 프레임만의 이미지 데이터를 송신할 수 있다.
일부 구현들에서, 다수의 이미지들 각각의 이미지 데이터 대신 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 단계는, 다수의 이미지들의 제1 이미지에 대한 이미지 데이터 및 제1 이미지에 대한 신경망 출력 데이터를 송신하고, 제2 이미지에 대한 신경망 출력 데이터를 송신하고, 제2 이미지에 대한 이미지 데이터의 송신 전에 및 이를 송신하지 않고 다수의 이미지들의 제3 이미지에 대한 이미지 데이터 및 제3 이미지에 대한 신경망 출력 데이터를 송신하는 단계를 포함한다. 예를 들어, 이미지 센서(100)는 프레임 A의 이미지 데이터를 송신하고, 프레임들 A-I에 대한 신경망 출력 데이터를 송신하고, 프레임 K에 대한 이미지 데이터를 송신하고, 프레임들 J-T에 대한 신경망 출력 데이터를 송신할 수 있다.In some implementations, transmitting the neural network output data for each of the plurality of images and image data for the subset of the plurality of images instead of image data of each of the plurality of images comprises: Send the image data and neural network output data for the first image, send the neural network output data for the second image, before and without sending the image data for the second image to the third image of the plurality of images and transmitting the neural network output data for the image data and the third image. For example, the
일부 구현들에서, 이미지 센서로부터, 다수의 이미지들 각각의 이미지 데이터 대신 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 단계는, 다수의 이미지들의 서브세트의 이미지 데이터를 초당 특정 수의 프레임들로 송신하고, 다수의 이미지들의 서브세트에 대한 이미지 데이터가 송신되고 있지 않는 동안 이미지들에 대한 신경망 출력 데이터를 송신하는 단계를 포함한다. 예를 들어, 이미지 센서(100)는 각각의 프레임에 대한 이미지 데이터가 10밀리초 동안 송신되는 경우 이미지 데이터를 초당 10프레임으로 송신할 수 있으며, 이미지 데이터가 송신되고 있지 않는 동안 초당 나머지 900밀리초 동안 다른 이미지들에 대한 신경망 출력 데이터를 송신할 수 있다.In some implementations, transmitting, from the image sensor, neural network output data for each of the plurality of images and image data for a subset of the plurality of images instead of image data of each of the plurality of images, comprises: transmitting the set of image data at a specific number of frames per second, and transmitting neural network output data for the images while image data for the subset of the plurality of images is not being transmitted. For example, the
일부 구현들에서, 신경망 출력 데이터 및 이미지 데이터를 송신하는 단계는 신경망 출력 데이터 및 이미지 데이터를 중앙 프로세싱 유닛에 송신하는 단계를 포함한다. 예를 들어, 이미지 센서(100)는 프레임 A에 대한 이미지 데이터 및 프레임들 A-I에 대한 신경망 출력 데이터를 컴퓨터에 송신하여, 컴퓨터가 프레임 A 및 프레임들 A-I에 대한 신경망 출력 데이터를 사용하여 추가적인 객체 검출을 수행하게 할 수 있다.In some implementations, transmitting the neural network output data and image data includes sending the neural network output data and image data to the central processing unit. For example, the
일부 구현들에서, 프로세스(800)는 다수의 이미지들의 제1 이미지에 대한 이미지 데이터 및 제1 이미지에 대한 신경망 출력 데이터를 송신하면서, 객체 검출을 위해 다수의 이미지들의 제2 이미지를 분석하는 단계를 포함한다. 예를 들어, 제3 집적 회로 층(130)의 신경망 회로망 그룹들(132)은 프레임 A에 대해 생성된 신경망 출력 데이터가 이미지 센서(100)로부터 출력되고 있는 동안 프레임 B의 객체들을 검출할 수 있다.In some implementations,
일부 구현들에서, 프로세스(800)는 제3 이미지를 캡처하면서, 객체 검출을 위해 다수의 이미지들의 분석의 결과들과 관련된 신경망 출력 데이터를 생성하는 단계를 포함한다. 예를 들어, 제3 집적 회로 층(130)의 신경망 회로망 그룹들(132)은 제1 집적 회로 층(110)의 픽셀 그룹들이 프레임 C를 캡처하고 있는 동안 프레임 B 내의 객체들을 검출하는 것과 관련된 신경망 출력 데이터를 생성할 수 있다.In some implementations,
일부 구현들에서는, 프로세스(800)에서, 이미지 데이터가 전송되는 다수의 이미지들의 서브세트는 이미지 센서에 의해 캡처된 모든 제N 이미지를 포함하며, N은 1보다 큰 정수이다. 예를 들어, 다수의 이미지들의 서브세트는 이미지 센서(100)에 의해 캡처된 모든 제10 이미지일 수 있다. 일부 구현들에서는, 프로세스(800)에서, 이미지들의 특정 이미지에 대한 이미지 데이터가 이미지 내의 각각의 픽셀에 대한 값들을 나타내는 데이터를 포함한다. 예를 들어, 이미지 데이터는 이미지의 각각의 픽셀에 대한 적색-녹색-청색(red-green-blue)(RGB) 강도 값들일 수 있다.In some implementations, in
일부 구현들에서는, 프로세스(800)에서, 이미지들의 특정 이미지에 대한 신경망 출력 데이터는 검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들, 시간 및 기하학적 위치 정보를 포함하는 메타데이터, 객체 검출 이전의 중간 계산 결과들, 네트워크 확실성 레벨에 관한 통계 정보, 및 검출된 객체들의 분류들 중 하나 이상을 포함한다. 예를 들어, 프레임 A에 대한 신경망 출력 데이터는 사람이 프레임 A의 특정 좌표에서 검출되었음을 나타낼 수 있다. 일부 구현들에서는, 프로세스(800)에서, 이미지들의 특정 이미지에 대한 신경망 출력 데이터는 추가 프로세싱을 위해 프로세서에 제공되는 부분적으로 프로세싱된 데이터를 표현한다. 예를 들어, 신경망 출력 데이터는, 검출된 객체들을 표현하는 대신, 객체들을 검출하기 위해 이미지 센서(100) 외부에서 추가로 프로세싱되어야 하는 부분적으로 프로세싱된 데이터를 표현할 수 있다.In some implementations, in
도 9는 자율 주행 차량(910)에 의해 사용되는 이미지 센서(100)를 포함하는 예시적인 시스템(900)의 블록도이다. 자율 주행 차량(autonomous vehicle)(910)은 이미지들을 캡처하고 이미지들에서 객체들을 검출한 다음 자율 주행 차량(910)이 검출하는 객체들에 기초하여 주행하는 자동-운전 차량(self-driving vehicle)일 수 있다. 예를 들어, 자율 주행 차량(910)은 자율 주행 차량(910)의 전방에서 이동하는 다른 차량을 검출하고, 해당 차량 바로 뒤에서 페이스를 유지할 수 있다. 다른 예에서, 자율 주행 차량(910)은 자율 주행 차량(910)의 전방에 있는 사람을 검출하고 정지할 수 있다.9 is a block diagram of an
자율 주행 차량(910)은 카메라 광학계(camera optics)(920), 이미지 센서(100) 및 컴퓨터 프로세싱 모듈(940)을 포함할 수 있다. 카메라 광학계(920)는 광을 수정하는 렌즈를 포함할 수 있다. 예를 들어, 카메라 광학계(920)는 파노라마 렌즈를 포함할 수 있다. 이미지 센서(100)는 카메라 광학계(920)에 의해 수정된 광을 수신하고, 이미지 센서(100)에 비치는 광에 기초하여 이미지들을 캡처할 수 있다.The
이미지 센서(100)는 이미지 센서(100)와 컴퓨터 프로세싱 모듈(940)을 전기적으로 커플링하는 데이터 송신 케이블을 통해 컴퓨터 프로세싱 모듈(940)에 데이터를 송신할 수 있다. 예를 들어, 이미지 센서(100)는 100밀리초마다 10밀리초 동안 프레임을 캡처하고, 데이터 송신 케이블을 통해 컴퓨터 프로세싱 모듈(940)에, 캡처된 모든 제10 프레임에 대한 이미지 데이터 및 이미지 센서(100)에 의해 캡처된 모든 프레임들에 대한 신경망 출력 데이터를 송신할 수 있다. 컴퓨터 프로세싱 모듈(940)은 이미지 센서(100)로부터 이미지 데이터 및 신경망 출력 데이터를 수신하고, 임의적으로 이미지 데이터 및 신경망 출력 데이터를 사용하여 추가 객체 검출을 수행하고, 검출되는 객체들에 기초하여 자율 주행 차량(910)이 이동해야 하는 방법을 결정할 수 있다.The
이미지 센서(100) 상에서 객체 검출을 위해 적어도 일부 프로세싱을 수행하는 이미지 센서(100)를 사용하면, 컴퓨터 프로세싱 모듈(940)은 10밀리초마다 획득된 이미지들에 기초하여 이동하는 방법을 결정할 수 있는 반면, 다른 이미지 센서를 사용하면, 컴퓨터 프로세싱 모듈(940)은 단지 100밀리초마다 획득된 이미지들에 기초하여 이동하는 방법을 결정할 수 있다. 따라서, 다른 이미지 센서 대신 이미지 센서(100)를 사용함으로써, 자율 주행 차량(940)은 더 빨리 객체들을 검출하고 해당 객체들에 반응하여 이동할 수 있다.Using the
도 10은 별개의 칩들 상에 픽셀 센서 그룹들 및 신경망 회로망을 포함하는 예시적인 시스템(1000)의 블록도이다. 시스템(1000)은 픽셀 센서 그룹들을 포함하는 제1 칩(1110) 및 신경망 회로망을 포함하는 제2 칩(1120)을 포함하는 카메라일 수 있다. 픽셀 센서 그룹들 및 신경망 회로망은 단일 집적 칩 내의 상이한 층들에 포함되지 않고 대신 제1 칩(1110) 및 제2 칩(1120)에 있다는 점을 제외하고는 위에서 설명한 것들과 유사할 수 있다. 예를 들어, 제1 칩(1110) 및 제2 칩(1120)은 시스템(1000)에서 서로의 상부 상에 위치 결정될 수 있고 전기 전도성 재료에 의해 연결되어, 데이터가 대응하는 픽셀 센서 그룹들과 신경망 회로망 사이에서 전송되게 할 수 있다.10 is a block diagram of an
본 명세서에서 설명되는 대상 및 동작들의 실시예들은 본 명세서에서 개시되는 구조물들 및 이들의 구조적 등가물들을 포함하여 디지털 전자 회로망으로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로, 또는 이들 중 하나 이상의 것의 조합들로 구현될 수 있다. 본 명세서에서 설명되는 대상의 실시예들은 하나 이상의 컴퓨터 프로그램, 즉, 데이터 프로세싱 장치에 의한 실행을 위해 또는 그 동작을 제어하기 위해 컴퓨터 저장 매체 상에 인코딩되는 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다.Embodiments of the objects and operations described herein, including the structures disclosed herein and structural equivalents thereof, may be implemented in digital electronic circuitry, or in computer software, firmware or hardware, or combinations of one or more of these. can be implemented. Embodiments of the subject matter described herein may be implemented as one or more computer programs, ie, one or more modules of computer program instructions encoded on a computer storage medium for execution by or for controlling the operation of a data processing apparatus. have.
컴퓨터 저장 매체는 컴퓨터 판독 가능 저장 디바이스, 컴퓨터 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스, 또는 이들 중 하나 이상의 것의 조합일 수도 있고, 또는 이에 포함될 수도 있다. 또한, 컴퓨터 저장 매체는 전파 신호가 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파 신호로 인코딩되는 컴퓨터 프로그램 명령어들의 소스 또는 목적지가 될 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 개별 물리적 컴포넌트 또는 매체(예를 들어, 다수의 CD들, 디스크들 또는 기타 저장 디바이스들)일 수도 있고, 또는 이에 포함될 수도 있다.A computer storage medium may be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of these. Further, while a computer storage medium is not a propagated signal, a computer storage medium may be a source or destination of computer program instructions encoded in an artificially generated propagated signal. A computer storage medium may also be, or be included in, one or more separate physical components or media (eg, multiple CDs, disks, or other storage devices).
본 명세서에서 설명되는 동작들은 하나 이상의 컴퓨터 판독 가능 저장 디바이스 상에 저장되거나 또는 다른 소스들로부터 수신되는 데이터에 대해 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다.The operations described herein may be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
"데이터 프로세싱 장치"라는 용어는, 예를 들어, 프로그래밍 가능 프로세서, 컴퓨터, 시스템 온 칩, 또는 상기한 것들 중 다수의 것들 또는 이들의 조합들을 포함하여 데이터를 프로세싱하기 위한 모든 종류들의 장치, 디바이스들 및 머신들을 포함한다. 장치는 특수 목적 로직 회로망, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)를 포함할 수 있다. 장치는 또한, 하드웨어에 추가하여, 해당 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 플랫폼 간 런타임 환경, 가상 머신 또는 이들 중 하나 이상의 것의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라스트럭처들과 같은 다양한 상이한 컴퓨팅 모델 인프라스트럭처들을 실현할 수 있다.The term "data processing apparatus" refers to all kinds of apparatus, devices for processing data, including, for example, a programmable processor, a computer, a system on a chip, or many of the foregoing or combinations thereof. and machines. The device may include special purpose logic circuitry, for example, a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). The device may also include, in addition to hardware, code that creates an execution environment for the computer program in question, eg, processor firmware, protocol stack, database management system, operating system, cross-platform runtime environment, virtual machine, or one or more of these. It may contain code that constitutes a combination of things. The device and execution environment may realize a variety of different computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은 컴파일된 또는 해석된 언어들, 선언적 또는 절차적 언어들을 포함한 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 이것은 독립형 프로그램(stand-alone program), 또는 모듈, 컴포넌트, 서브루틴, 객체 또는 컴퓨팅 환경에서 사용하기에 적절한 다른 유닛을 포함한 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만, 반드시 그런 것은 아니다. 프로그램은 다른 프로그램들 또는 데이터를 보유하는 파일의 일부(예를 들어, 마크업 언어 문서에 저장되는 하나 이상의 스크립트)로, 해당 프로그램 전용 단일 파일로, 또는 다수의 조정된 파일(coordinated file)들(예를 들어, 하나 이상의 모듈, 서브-프로그램들 또는 코드의 일부들을 저장하는 파일들)로 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에 또는 하나의 사이트에 위치되거나 다수의 사이트들에 분산되어 있고 통신 네트워크에 의해 상호 연결되는 다수의 컴퓨터들 상에서 실행되도록 배치될 수 있다.A computer program (also referred to as a program, software, software application, script or code) may be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, which alone program), or in any form, including modules, components, subroutines, objects, or other units suitable for use in a computing environment. A computer program may, but does not necessarily, correspond to a file in a file system. A program may be a part of a file that holds other programs or data (eg, one or more scripts stored in a markup language document), as a single file dedicated to that program, or as multiple coordinated files ( for example, one or more modules, sub-programs, or files that store portions of code). The computer program may be deployed to run on one computer or on multiple computers located at one site or distributed over multiple sites and interconnected by a communication network.
본 명세서에서 설명되는 프로세스들 및 로직 흐름들은 입력 데이터에 대해 동작하여 출력을 생성함으로써 액션들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능 프로세서에 의해 수행될 수 있다. 프로세스들 및 로직 흐름들은 특수 목적 로직 회로망, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)에 의해 수행될 수도 있고, 장치가 이것으로서 구현될 수도 있다.The processes and logic flows described herein may be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows may be performed by a special purpose logic circuitry, for example, a field programmable gate array (FPGA) or application-specific integrated circuit (ASIC), and an apparatus may be implemented as such.
컴퓨터 프로그램의 실행에 적절한 프로세서들은 예로서 범용 및 특수 목적 마이크로프로세서들, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령어들에 따라 액션들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어, 자기, 광-자기 디스크(magneto-optical disk), 또는 광 디스크를 포함하거나, 또는 이들로부터 데이터를 수신하거나 이들로 데이터를 전송하거나 둘 다를 위해 동작 가능하게 커플링될 것이다. 그러나, 컴퓨터는 이러한 디바이스들을 가질 필요가 없다. 또한, 컴퓨터는 다른 디바이스, 예를 들어, 몇 가지만 말하자면, 이동 전화, 개인 휴대 정보 단말기(personal digital assistant)(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, 글로벌 포지셔닝 시스템(Global Positioning System)(GPS) 수신기, 또는 휴대용 저장 디바이스(예를 들어, 범용 직렬 버스(universal serial bus)(USB) 플래시 드라이브)에 임베딩될 수있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적절한 디바이스들은, 예를 들어, 반도체 메모리 디바이스들, 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들; 광-자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함한 모든 형태들의 비-휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로망에 의해 보완되거나 이에 통합될 수 있다.Processors suitable for the execution of a computer program include, by way of example, general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from either read-only memory or random access memory or both. The essential elements of a computer are a processor for performing actions according to the instructions and one or more memory devices for storing instructions and data. In general, a computer also includes one or more mass storage devices for storing data, eg, magnetic, magneto-optical disks, or optical disks to receive data from, or to transfer data thereto. may be operatively coupled to transmit data or both. However, the computer need not have these devices. Computers can also be used with other devices, such as mobile phones, personal digital assistants (PDAs), mobile audio or video players, game consoles, Global Positioning Systems (GPSs), to name just a few. ) receiver, or a portable storage device (eg, a universal serial bus (USB) flash drive). Devices suitable for storing computer program instructions and data include, for example, semiconductor memory devices such as EPROM, EEPROM and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and all forms of non-volatile memory, media and memory devices including CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by or integrated with special purpose logic circuitry.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에서 설명되는 대상의 실시예들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터, 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스, 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류들의 디바이스들도 사용자와의 상호 작용을 제공하기 위해 사용될 수 있으며, 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각적 피드백, 예를 들어, 시각적 피드백, 청각적 피드백 또는 촉각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자에 의해 사용되는 디바이스로 문서들을 전송하고 이로부터 문서들을 수신함으로써, 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 사용자 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써 사용자와 상호 작용할 수 있다.To provide interaction with a user, embodiments of the subject matter described herein include a display device for displaying information to the user, such as a cathode ray tube (CRT) or liquid crystal display (LCD) monitor, and It may be implemented on a computer with a keyboard and pointing device, such as a mouse or trackball, through which a user can provide input to the computer. Other types of devices may also be used to provide interaction with a user, eg, the feedback provided to the user may be any form of sensory feedback, eg, visual feedback, auditory feedback or tactile feedback. may be, and the input from the user may be received in any form including acoustic, voice, or tactile input. In addition, the computer sends documents to and receives documents from the device used by the user, for example, by sending web pages to a web browser on the user's user device in response to requests received from the web browser. can interact with
본 명세서에서 설명되는 대상의 실시예들은, 예를 들어, 데이터 서버로서 백-엔드 컴포넌트를 포함하거나, 또는 미들웨어 컴포넌트, 예를 들어, 애플리케이션 서버를 포함하거나, 또는 프론트-엔드 컴포넌트, 예를 들어, 사용자가 본 명세서에서 설명되는 대상의 구현과 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 사용자 컴퓨터를 포함하거나, 또는 하나 이상의 이러한 백-엔드, 미들웨어, 또는 프론트-엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템으로 구현될 수 있다. 시스템의 컴포넌트들은 임의의 형태 또는 매체의 디지털 데이터 통신, 예를 들어, 통신 네트워크에 의해 상호 연결될 수 있다. 통신 네트워크들의 예들은 근거리 네트워크(local area network)("LAN") 및 광역 네트워크(wide area network)("WAN"), 인터-네트워크(예를 들어, 인터넷) 및 피어-투-피어 네트워크들(예를 들어, 애드 혹(ad hoc) 피어-투-피어 네트워크들)을 포함한다.Embodiments of the subject matter described herein include, for example, a back-end component as a data server, or a middleware component, such as an application server, or a front-end component, for example, including a user computer having a graphical user interface or web browser through which a user may interact with an implementation of the subject matter described herein, or including any combination of one or more such back-end, middleware, or front-end components It can be implemented as a computing system that The components of the system may be interconnected by digital data communication in any form or medium, for example, a communication network. Examples of communication networks include local area networks (“LANs”) and wide area networks (“WANs”), inter-networks (eg, the Internet), and peer-to-peer networks ( for example, ad hoc peer-to-peer networks).
컴퓨팅 시스템은 사용자들 및 서버들을 포함할 수 있다. 사용자와 서버는 일반적으로 서로 멀리 떨어져 있으며, 통상적으로 통신 네트워크를 통해 상호 작용한다. 사용자와 서버의 관계는 개개의 컴퓨터들 상에서 실행되고 서로에 대한 사용자-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다. 일부 실시예들에서, 서버는 (예를 들어, 사용자 디바이스와 상호 작용하는 사용자에게 데이터를 디스플레이하고 이로부터 사용자 입력을 수신할 목적으로) 데이터(예를 들어, HTML 페이지)를 사용자 디바이스에 송신한다. 사용자 디바이스에서 생성된 데이터(예를 들어, 사용자 상호 작용의 결과)는 서버에서 사용자 디바이스로부터 수신될 수 있다.A computing system may include users and servers. A user and a server are generally remote from each other and typically interact through a communication network. The user-server relationship arises by virtue of computer programs running on individual computers and having a user-server relationship to each other. In some embodiments, the server sends data (eg, an HTML page) to the user device (eg, for the purpose of displaying data to, and receiving user input from, a user interacting with the user device) . Data generated at the user device (eg, a result of a user interaction) may be received from the user device at a server.
이 명세서는 많은 특정 구현 세부 사항들을 포함하지만, 이들은 임의의 특징들 또는 청구될 수 있는 것의 범위에 대한 제한들로서 해석되어서는 안되며, 오히려 특정 실시예들에 특정한 특징들에 대한 설명으로서 해석되어야 한다. 별도의 실시예들의 맥락에서 본 명세서에서 설명되는 특정 특징들은 또한 단일 실시예에서 조합하여 구현될 수도 있다. 역으로, 단일 실시예의 맥락에서 설명되는 다양한 특징들은 또한 개별적으로 다수의 실시예들에서 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 또한, 특징들이 특정 조합들로 작용하는 것으로 위에서 설명될 수 있고 심지어 초기에 그렇게 청구될 수도 있지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 경우들에서 조합으로부터 제거될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것일 수 있다.While this specification contains many specific implementation details, these should not be construed as limitations on the scope of what may be claimed or any features, but rather as descriptions of features specific to particular embodiments. Certain features that are described herein in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments individually or in any suitable sub-combination. Also, although features may be described above as acting in particular combinations and may even initially be claimed as such, one or more features from a claimed combination may in some cases be eliminated from the combination, and the claimed combination is a sub-combination. or to a variant of a sub-combination.
유사하게, 동작들이 도면들에 특정 순서로 도시되어 있지만, 이는 바람직한 결과들을 달성하기 위해 이러한 동작들이 도시된 특정 순서 또는 순차적인 순서로 수행되거나 또는 모든 예시된 동작들이 수행되어야 함을 요구하는 것으로 이해되어서는 안된다. 특정 상황들에서는, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 또한, 위에서 설명된 실시예들에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해되어서는 안 되며, 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 또는 다수의 소프트웨어 제품들로 패키징화될 수 있다는 것이 이해되어야 한다.Similarly, while acts are shown in a particular order in the figures, it is understood that this requires that such acts be performed in the particular order shown or sequential order or that all illustrated acts be performed to achieve desirable results. shouldn't be In certain circumstances, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the embodiments described above should not be construed as requiring such separation in all embodiments, that the described program components and systems are generally integrated together into a single software product or It should be understood that it may be packaged into multiple software products.
따라서, 대상의 특정 실시예들이 설명되었다. 다른 실시예들은 다음의 청구항의 범위 내에 있다. 일부 경우들에서, 청구항에 인용된 액션들은 상이한 순서로 수행될 수 있으며, 여전히 바람직한 결과들을 달성할 수 있다. 또한, 첨부된 도면들에 도시된 프로세스들은 바람직한 결과들을 달성하기 위해 도시된 특정 순서 또는 순차적인 순서를 반드시 필요로 하는 것은 아니다. 특정 구현들에서는, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다.Accordingly, specific embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims may be performed in a different order and still achieve desirable results. Moreover, the processes depicted in the appended drawings do not necessarily require the specific order shown or sequential order to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.
Claims (40)
포지션에 기초하여 픽셀 센서 그룹들로 그룹화되는 픽셀 센서들을 포함하는 제1 집적 회로 층;
상기 제1 집적 회로 층과 전기적으로 통신하는 제2 집적 회로 층 - 상기 제2 집적 회로 층은 대응하는 픽셀 센서 그룹으로부터 픽셀 정보를 각각 수신하도록 구성되는 이미지 프로세싱 회로망 그룹들을 포함하고, 상기 이미지 프로세싱 회로망 그룹(image processing circuitry group)들은 상기 이미지 센서의 동작 동안 프로세싱된 픽셀 정보를 제공하기 위해 상기 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하도록 추가로 구성됨 -;
상기 제2 집적 회로 층과 전기적으로 통신하는 제3 집적 회로 층 - 상기 제3 집적 회로 층은 대응하는 이미지 프로세싱 회로망 그룹으로부터 상기 프로세싱된 픽셀 정보를 각각 수신하도록 구성되는 신경망 회로망 그룹들을 포함하고, 상기 신경망 회로망 그룹들은 상기 이미지 센서의 동작 동안 상기 프로세싱된 픽셀 정보에 대해 객체 검출을 위한 분석을 수행하도록 추가로 구성됨 -; 및
상기 신경망 회로망 그룹들에 의한 객체 검출을 위한 분석의 결과들을 나타내는 정보를 출력하는 회로망
을 포함하고,
상기 제1 집적 회로 층은 상기 제2 집적 회로 층 상에 적층되고, 상기 제2 집적 회로 층은 상기 제3 집적 회로 층 상에 적층되는, 이미지 센서.As an image sensor,
a first integrated circuit layer comprising pixel sensors grouped into pixel sensor groups based on position;
a second integrated circuit layer in electrical communication with the first integrated circuit layer, the second integrated circuit layer comprising image processing circuitry groups each configured to receive pixel information from a corresponding pixel sensor group; groups (image processing circuitry groups) further configured to perform image processing operations on the pixel information to provide pixel information processed during operation of the image sensor;
a third integrated circuit layer in electrical communication with the second integrated circuit layer, the third integrated circuit layer comprising groups of neural networks each configured to receive the processed pixel information from a corresponding group of image processing networks; neural network groups further configured to perform analysis for object detection on the processed pixel information during operation of the image sensor; and
A network for outputting information representing results of analysis for object detection by the neural network groups
including,
wherein the first integrated circuit layer is laminated on the second integrated circuit layer, and the second integrated circuit layer is laminated on the third integrated circuit layer.
검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들;
시간 및 기하학적 위치 정보를 포함하는 메타데이터;
객체 검출 이전의 중간 계산 결과(intermediate computational result)들;
네트워크 확실성 레벨(network certainty level)에 관한 통계 정보; 및
검출된 객체들의 분류들
로 구성되는 그룹 중 적어도 하나를 포함하는, 이미지 센서.According to claim 1, wherein the results of the analysis for the object detection,
selected regions of interest for pixels representing detections;
metadata including time and geometric location information;
intermediate computational results before object detection;
statistical information regarding network certainty level; and
Classifications of detected objects
At least one of the group consisting of, the image sensor.
제1 집적 회로 층에 있고 포지션에 기초하여 픽셀 센서 그룹들로 그룹화되는 픽셀 센서들에 의해, 픽셀 정보를 획득하는 단계;
상기 제1 집적 회로 층과 전기적으로 통신하는 제2 집적 회로 층의 이미지 프로세싱 회로망 그룹들에 의해, 프로세싱된 픽셀 정보를 제공하기 위해 대응하는 픽셀 센서 그룹으로부터의 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하는 단계;
상기 제2 집적 회로 층과 전기적으로 통신하는 제3 집적 회로 층의 신경망 회로망 그룹들에 의해, 대응하는 이미지 프로세싱 회로망 그룹으로부터의 프로세싱된 픽셀 정보에 대해 객체 검출을 위한 분석을 수행하는 단계; 및
상기 신경망 회로망 그룹들에 의한 객체 검출을 위한 분석의 결과들을 나타내는 정보를 출력하는 단계
를 포함하고,
상기 제1 집적 회로 층은 상기 제2 집적 회로 층 상에 적층되고, 상기 제2 집적 회로 층은 상기 제3 집적 회로 층 상에 적층되는, 방법.As a method,
obtaining pixel information by pixel sensors in the first integrated circuit layer and grouped into pixel sensor groups based on position;
performing image processing operations on pixel information from a corresponding pixel sensor group to provide pixel information processed by image processing circuitry groups of a second integrated circuit layer in electrical communication with the first integrated circuit layer step;
performing, by neural network groups of a third integrated circuit layer in electrical communication with the second integrated circuit layer, analysis for object detection on processed pixel information from a corresponding image processing network group; and
outputting information representing results of analysis for object detection by the neural network groups
including,
wherein the first integrated circuit layer is laminated on the second integrated circuit layer, and the second integrated circuit layer is laminated on the third integrated circuit layer.
검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들;
시간 및 기하학적 위치 정보를 포함하는 메타데이터;
객체 검출 이전의 중간 계산 결과들;
네트워크 확실성 레벨(network certainty level)에 관한 통계 정보; 및
검출된 객체들의 분류들
로 구성되는 그룹 중 적어도 하나를 포함하는, 방법.The method of claim 13, wherein the results of the analysis for object detection are:
selected regions of interest for pixels representing detections;
metadata including time and geometric location information;
intermediate calculation results before object detection;
statistical information regarding network certainty level; and
Classifications of detected objects
A method comprising at least one of the group consisting of
포지션에 기초하여 픽셀 센서 그룹들로 그룹화되는 픽셀 센서들을 포함하는 제1 집적 회로 층을 형성하는 단계;
상기 제1 집적 회로 층과 제2 집적 회로 층을 전기적으로 커플링하는 단계 - 상기 제2 집적 회로 층은 대응하는 픽셀 센서 그룹으로부터 픽셀 정보를 각각 수신하도록 구성되는 이미지 프로세싱 회로망 그룹들을 포함하고, 상기 이미지 프로세싱 회로망 그룹들은 상기 이미지 센서의 동작 동안 프로세싱된 픽셀 정보를 제공하기 위해 상기 픽셀 정보에 대해 이미지 프로세싱 동작들을 수행하도록 추가로 구성됨 -;
상기 제2 집적 회로 층과 제3 집적 회로 층을 전기적으로 커플링하는 단계 - 상기 제3 집적 회로 층은 대응하는 이미지 프로세싱 회로망 그룹으로부터 상기 프로세싱된 픽셀 정보를 각각 수신하도록 구성되는 신경망 회로망 그룹들을 포함하고, 상기 신경망 회로망 그룹들은 상기 이미지 센서의 동작 동안 상기 프로세싱된 픽셀 정보로부터의 검출 객체들에 대해 객체 검출을 위한 분석을 수행하도록 추가로 구성됨 -; 및
상기 신경망 회로망 그룹들에 상기 신경망 회로망 그룹들에 의한 객체 검출을 위한 분석의 결과들을 나타내는 정보를 출력하는 회로망을 전기적으로 커플링하는 단계
를 포함하고,
상기 제1 집적 회로 층은 상기 제2 집적 회로 층 상에 적층되고, 상기 제2 집적 회로 층은 상기 제3 집적 회로 층 상에 적층되는, 방법.A method of forming an image sensor, comprising:
forming a first integrated circuit layer comprising pixel sensors grouped into pixel sensor groups based on position;
electrically coupling the first integrated circuit layer and the second integrated circuit layer, the second integrated circuit layer comprising groups of image processing circuitry each configured to receive pixel information from a corresponding pixel sensor group; image processing circuitry groups further configured to perform image processing operations on the pixel information to provide pixel information processed during operation of the image sensor;
electrically coupling the second integrated circuit layer and a third integrated circuit layer, the third integrated circuit layer comprising neural network groups each configured to receive the processed pixel information from a corresponding image processing network group. and the neural network groups are further configured to perform analysis for object detection on detection objects from the processed pixel information during operation of the image sensor; and
electrically coupling a network for outputting information representing results of analysis for object detection by the neural network groups to the neural network groups;
including,
wherein the first integrated circuit layer is laminated on the second integrated circuit layer, and the second integrated circuit layer is laminated on the third integrated circuit layer.
이미지 센서의 픽셀 센서들에 의해 캡처된 다수의 이미지들을 획득하는 단계;
상기 이미지 센서에 통합된 신경망 회로망을 사용하여, 객체 검출을 위해 상기 다수의 이미지들을 분석하는 단계;
상기 이미지 센서에 통합된 신경망 회로망을 사용하여 상기 다수의 이미지들 각각에 대해, 객체 검출을 위해 상기 다수의 이미지들의 분석의 결과들과 관련된 신경망 출력 데이터를 생성하는 단계; 및
상기 이미지 센서로부터, 상기 다수의 이미지들 각각의 이미지 데이터 대신 상기 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 상기 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 단계
를 포함하는, 방법.As a method,
acquiring a plurality of images captured by pixel sensors of the image sensor;
analyzing the plurality of images for object detection using a neural network integrated in the image sensor;
generating, for each of the plurality of images using a neural network integrated in the image sensor, neural network output data related to results of analysis of the plurality of images for object detection; and
transmitting, from the image sensor, neural network output data for each of the plurality of images and image data for a subset of the plurality of images instead of image data for each of the plurality of images;
A method comprising
상기 다수의 이미지들의 제1 이미지에 대한 이미지 데이터 및 상기 제1 이미지에 대한 신경망 출력 데이터를 송신하고, 제2 이미지에 대한 신경망 출력 데이터를 송신하고, 상기 제2 이미지에 대한 이미지 데이터의 송신 전에 및 이를 송신하지 않고 상기 다수의 이미지들의 제3 이미지에 대한 이미지 데이터 및 상기 제3 이미지에 대한 신경망 출력 데이터를 송신하는 단계
를 포함하는, 방법.22. The method of claim 21, wherein transmitting neural network output data for each of the plurality of images and image data for a subset of the plurality of images instead of image data for each of the plurality of images comprises:
before transmitting image data for a first image of the plurality of images and neural network output data for the first image, and transmitting neural network output data for a second image, before transmitting image data for the second image; Transmitting image data for a third image of the plurality of images and neural network output data for the third image without transmitting this
A method comprising
상기 다수의 이미지들의 제1 이미지에 대한 이미지 데이터 및 상기 제1 이미지에 대한 신경망 출력 데이터를 송신하면서, 객체 검출을 위해 상기 다수의 이미지들의 제2 이미지를 분석하는 단계
를 포함하는, 방법.23. The method of claim 22,
analyzing a second image of the plurality of images for object detection while transmitting image data for the first image of the plurality of images and neural network output data for the first image;
A method comprising
상기 제3 이미지를 캡처하면서, 객체 검출을 위해 상기 다수의 이미지들의 분석의 결과들과 관련된 신경망 출력 데이터를 생성하는 단계
를 포함하는, 방법.23. The method of claim 22,
generating neural network output data related to results of analysis of the plurality of images for object detection while capturing the third image;
A method comprising
상기 다수의 이미지들의 서브세트의 이미지 데이터를 초당 특정 수의 프레임들로 송신하고, 상기 다수의 이미지들의 서브세트에 대한 이미지 데이터가 송신되고 있지 않는 동안 상기 이미지들에 대한 신경망 출력 데이터를 송신하는 단계
를 포함하는, 방법.22. The method of claim 21, wherein transmitting, from the image sensor, neural network output data for each of the plurality of images and image data for a subset of the plurality of images instead of image data for each of the plurality of images, comprises:
transmitting image data of the subset of the plurality of images at a specified number of frames per second, and transmitting neural network output data for the images while image data for the subset of the plurality of images is not being transmitted;
A method comprising
검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들;
시간 및 기하학적 위치 정보를 포함하는 메타데이터;
객체 검출 이전의 중간 계산 결과들;
네트워크 확실성 레벨에 관한 통계 정보; 및
검출된 객체들의 분류들
중 하나 이상을 포함하는, 방법.The method of claim 21, wherein the neural network output data for a specific image of the images,
selected regions of interest for pixels representing detections;
metadata including time and geometric location information;
intermediate calculation results before object detection;
statistical information about the level of network certainty; and
Classifications of detected objects
A method comprising one or more of
동작들은,
상기 이미지 센서의 픽셀 센서들에 의해 캡처된 다수의 이미지들을 획득하는 동작;
상기 이미지 센서에 통합된 신경망 회로망을 사용하여, 객체 검출을 위해 다수의 이미지들을 분석하는 동작;
상기 이미지 센서에 통합된 신경망 회로망을 사용하여 상기 다수의 이미지들 각각에 대해, 객체 검출을 위해 상기 다수의 이미지들의 분석의 결과들과 관련된 신경망 출력 데이터를 생성하는 동작; 및
상기 이미지 센서로부터, 상기 다수의 이미지들 각각의 이미지 데이터 대신 상기 다수의 이미지들 각각에 대한 신경망 출력 데이터 및 상기 다수의 이미지들의 서브세트에 대한 이미지 데이터를 송신하는 동작
을 포함하는, 이미지 센서,An image sensor having circuitry configured to perform operations, the image sensor comprising:
actions are,
acquiring a plurality of images captured by pixel sensors of the image sensor;
analyzing a plurality of images for object detection using a neural network integrated in the image sensor;
generating, for each of the plurality of images, neural network output data related to results of analysis of the plurality of images for object detection using a neural network integrated in the image sensor; and
transmitting, from the image sensor, neural network output data for each of the plurality of images and image data for a subset of the plurality of images instead of image data for each of the plurality of images
comprising, an image sensor,
상기 다수의 이미지들의 제1 이미지에 대한 이미지 데이터 및 상기 제1 이미지에 대한 신경망 출력 데이터를 송신하고, 제2 이미지에 대한 신경망 출력 데이터를 송신하고, 상기 제2 이미지에 대한 이미지 데이터의 송신 전에 및 이를 송신하지 않고 상기 다수의 이미지들의 제3 이미지에 대한 이미지 데이터 및 상기 제3 이미지에 대한 신경망 출력 데이터를 송신하는 동작
을 포함하는, 이미지 센서.The method of claim 31 , wherein transmitting neural network output data for each of the plurality of images and image data for a subset of the plurality of images instead of image data for each of the plurality of images comprises:
before transmitting image data for a first image of the plurality of images and neural network output data for the first image, and transmitting neural network output data for a second image, before transmitting image data for the second image; Transmitting image data for a third image of the plurality of images and neural network output data for the third image without transmitting this
Including, an image sensor.
상기 다수의 이미지들의 제1 이미지에 대한 이미지 데이터 및 상기 제1 이미지에 대한 신경망 출력 데이터를 송신하면서, 객체 검출을 위해 상기 다수의 이미지들의 제2 이미지를 분석하는 동작
을 포함하는, 이미지 센서.33. The method of claim 32,
Analyze the second image of the plurality of images for object detection while transmitting image data for the first image of the plurality of images and neural network output data for the first image
Including, an image sensor.
상기 제3 이미지를 캡처하면서, 객체 검출을 위해 상기 다수의 이미지들의 분석의 결과들과 관련된 신경망 출력 데이터를 생성하는 동작
을 포함하는, 이미지 센서.34. The method of claim 33,
generating neural network output data related to results of analysis of the plurality of images for object detection while capturing the third image;
Including, an image sensor.
상기 다수의 이미지들의 서브세트의 이미지 데이터를 초당 특정 수의 프레임들로 송신하고, 상기 다수의 이미지들의 서브세트에 대한 이미지 데이터가 송신되고 있지 않는 동안 상기 이미지들에 대한 신경망 출력 데이터를 송신하는 동작
을 포함하는, 이미지 센서.The method of claim 31 , wherein transmitting, from the image sensor, neural network output data for each of the plurality of images and image data for a subset of the plurality of images instead of image data for each of the plurality of images, comprises:
transmitting image data of the subset of the plurality of images at a specified number of frames per second, and transmitting neural network output data for the images while the image data for the subset of the plurality of images is not being transmitted;
Including, an image sensor.
검출들을 표현하는 픽셀들에 대한 선택된 관심 영역들;
시간 및 기하학적 위치 정보를 포함하는 메타데이터;
객체 검출 이전의 중간 계산 결과들;
네트워크 확실성 레벨에 관한 통계 정보; 및
검출된 객체들의 분류들
중 하나 이상을 포함하는, 이미지 센서.The method of claim 31 , wherein the neural network output data for a specific image of the images comprises:
selected regions of interest for pixels representing detections;
metadata including time and geometric location information;
intermediate calculation results before object detection;
statistical information about the level of network certainty; and
Classifications of detected objects
An image sensor comprising one or more of:
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/376,634 | 2019-04-05 | ||
US16/376,634 US11037968B2 (en) | 2019-04-05 | 2019-04-05 | Image sensor architecture |
PCT/US2020/025734 WO2020205743A1 (en) | 2019-04-05 | 2020-03-30 | Image sensor architecture |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210135358A true KR20210135358A (en) | 2021-11-12 |
Family
ID=72662052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217035827A KR20210135358A (en) | 2019-04-05 | 2020-03-30 | Image sensor architecture |
Country Status (8)
Country | Link |
---|---|
US (2) | US11037968B2 (en) |
EP (1) | EP3949382A4 (en) |
JP (1) | JP7275307B2 (en) |
KR (1) | KR20210135358A (en) |
CN (1) | CN113647096B (en) |
IL (1) | IL286944A (en) |
TW (1) | TWI788652B (en) |
WO (1) | WO2020205743A1 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11284021B1 (en) * | 2019-12-30 | 2022-03-22 | Waymo Llc | Smart sensor scheduler |
US11861337B2 (en) * | 2020-08-26 | 2024-01-02 | Micron Technology, Inc. | Deep neural networks compiler for a trace-based accelerator |
US20220097690A1 (en) * | 2020-09-30 | 2022-03-31 | Toyota Motor Engineering & Manufacturing North America, Inc. | Optical sense-compute solution for real-time navigation involving multiple vehicles |
US11756283B2 (en) | 2020-12-16 | 2023-09-12 | Waymo Llc | Smart sensor implementations of region of interest operating modes |
US11706546B2 (en) * | 2021-06-01 | 2023-07-18 | Sony Semiconductor Solutions Corporation | Image sensor with integrated single object class detection deep neural network (DNN) |
US20230032925A1 (en) * | 2021-07-29 | 2023-02-02 | Meta Platforms Technologies, Llc | Improved architecture for coupling digital pixel sensors and computing components |
TWI786992B (en) | 2021-12-14 | 2022-12-11 | 國立清華大學 | Image sensor integrated with convolutional neural network computation circuit |
EP4221188A1 (en) * | 2022-01-27 | 2023-08-02 | VoxelSensors SRL | Efficient image sensor |
US11979674B2 (en) * | 2022-09-08 | 2024-05-07 | Micron Technology, Inc. | Image enhancement using integrated circuit devices having analog inference capability |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2617798B2 (en) | 1989-09-22 | 1997-06-04 | 三菱電機株式会社 | Stacked semiconductor device and method of manufacturing the same |
US20030206236A1 (en) | 2002-05-06 | 2003-11-06 | Agfa Corporation | CMOS digital image sensor system and method |
US6894265B2 (en) | 2003-01-31 | 2005-05-17 | Foveon, Inc. | Vertical color filter sensor group and semiconductor integrated circuit fabrication method for fabricating same |
JP5500007B2 (en) * | 2010-09-03 | 2014-05-21 | ソニー株式会社 | Solid-state imaging device and camera system |
US9185307B2 (en) * | 2012-02-21 | 2015-11-10 | Semiconductor Components Industries, Llc | Detecting transient signals using stacked-chip imaging systems |
US8981511B2 (en) * | 2012-02-29 | 2015-03-17 | Semiconductor Components Industries, Llc | Multi-chip package for imaging systems |
US9350928B2 (en) | 2012-05-02 | 2016-05-24 | Semiconductor Components Industries, Llc | Image data compression using stacked-chip image sensors |
RU2018109081A (en) | 2012-05-02 | 2019-02-26 | Никон Корпорейшн | DEVICE FOR IMAGE FORMATION |
KR102159256B1 (en) | 2013-11-25 | 2020-09-23 | 삼성전자 주식회사 | Pixel array and image sensor including the same |
US10078791B2 (en) * | 2014-01-09 | 2018-09-18 | Irvine Sensors Corporation | Methods and devices for cognitive-based image data analytics in real time |
MX2017008086A (en) | 2014-12-17 | 2017-10-31 | Nokia Technologies Oy | Object detection with neural network. |
WO2016121523A1 (en) | 2015-01-30 | 2016-08-04 | ソニー株式会社 | Solid-state image pickup element and control method, and electronic equipment |
US9740959B2 (en) | 2015-03-13 | 2017-08-22 | Trimble Inc. | Acceleration of exposure fusion with pixel shaders |
US9819889B2 (en) * | 2015-08-07 | 2017-11-14 | Omnivision Technologies, Inc. | Method and system to implement a stacked chip high dynamic range image sensor |
KR102147361B1 (en) | 2015-09-18 | 2020-08-24 | 삼성전자주식회사 | Method and apparatus of object recognition, Method and apparatus of learning for object recognition |
US10460231B2 (en) | 2015-12-29 | 2019-10-29 | Samsung Electronics Co., Ltd. | Method and apparatus of neural network based image signal processor |
US9830709B2 (en) * | 2016-03-11 | 2017-11-28 | Qualcomm Incorporated | Video analysis with convolutional attention recurrent neural networks |
EP3439288B1 (en) * | 2016-03-30 | 2024-04-10 | Nikon Corporation | Feature extraction element, feature extraction system, and determination apparatus |
KR20210134066A (en) * | 2016-08-03 | 2021-11-08 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | Imaging device, imaging module, electronic device, and imaging system |
CN206139527U (en) * | 2016-09-14 | 2017-05-03 | 郑州轻工业学院 | Panoramic vision potato is selected separately and defect detecting device |
JP6731819B2 (en) | 2016-09-26 | 2020-07-29 | 日立オートモティブシステムズ株式会社 | Mobile body trajectory prediction system |
US10013773B1 (en) * | 2016-12-16 | 2018-07-03 | Waymo Llc | Neural networks for object detection |
US20180247199A1 (en) * | 2017-02-24 | 2018-08-30 | Qualcomm Incorporated | Method and apparatus for multi-dimensional sequence prediction |
DE102017204347A1 (en) * | 2017-03-15 | 2018-09-20 | Audi Ag | Method and system for determining a kinematic property of an object, method for controlling an assistance system of a motor vehicle and motor vehicle |
US20180278868A1 (en) * | 2017-03-21 | 2018-09-27 | The Charles Stark Draper Laboratory, Inc. | Neuromorphic Digital Focal Plane Array |
KR102415508B1 (en) | 2017-03-28 | 2022-07-01 | 삼성전자주식회사 | Convolutional neural network processing method and apparatus |
JP2018182569A (en) | 2017-04-14 | 2018-11-15 | 株式会社メガチップス | Image processing device, image processing system, information processing system, and image processing method |
TWI614624B (en) | 2017-04-24 | 2018-02-11 | 太豪生醫股份有限公司 | System and method for cloud medical image analyzing |
US10726627B2 (en) * | 2017-07-25 | 2020-07-28 | Facebook Technologies, Llc | Sensor system based on stacked sensor layers |
US10217028B1 (en) * | 2017-08-22 | 2019-02-26 | Northrop Grumman Systems Corporation | System and method for distributive training and weight distribution in a neural network |
CN108806243B (en) * | 2018-04-24 | 2020-09-29 | 东南大学 | Traffic flow information acquisition terminal based on Zynq-7000 |
US11888002B2 (en) * | 2018-12-17 | 2024-01-30 | Meta Platforms Technologies, Llc | Dynamically programmable image sensor |
-
2019
- 2019-04-05 US US16/376,634 patent/US11037968B2/en active Active
-
2020
- 2020-03-30 KR KR1020217035827A patent/KR20210135358A/en not_active Application Discontinuation
- 2020-03-30 JP JP2021556590A patent/JP7275307B2/en active Active
- 2020-03-30 CN CN202080027350.0A patent/CN113647096B/en active Active
- 2020-03-30 EP EP20782893.0A patent/EP3949382A4/en active Pending
- 2020-03-30 WO PCT/US2020/025734 patent/WO2020205743A1/en unknown
- 2020-04-01 TW TW109111283A patent/TWI788652B/en active
-
2021
- 2021-06-14 US US17/346,738 patent/US11972342B2/en active Active
- 2021-10-04 IL IL286944A patent/IL286944A/en unknown
Also Published As
Publication number | Publication date |
---|---|
TWI788652B (en) | 2023-01-01 |
JP7275307B2 (en) | 2023-05-17 |
JP2022525794A (en) | 2022-05-19 |
US20200321374A1 (en) | 2020-10-08 |
TW202105985A (en) | 2021-02-01 |
US11972342B2 (en) | 2024-04-30 |
CN113647096B (en) | 2024-07-19 |
EP3949382A4 (en) | 2022-10-26 |
US11037968B2 (en) | 2021-06-15 |
CN113647096A (en) | 2021-11-12 |
EP3949382A1 (en) | 2022-02-09 |
US20210305295A1 (en) | 2021-09-30 |
WO2020205743A1 (en) | 2020-10-08 |
IL286944A (en) | 2021-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20210135358A (en) | Image sensor architecture | |
US11888002B2 (en) | Dynamically programmable image sensor | |
US20220076402A1 (en) | High bandwidth camera data transmission | |
US11631246B2 (en) | Method for outputting a signal from an event-based sensor, and event-based sensor using such method | |
KR101792866B1 (en) | Method and Apparatus for Motion Recognition using event sensor and color sensor | |
CN114586076A (en) | Image sensing and processing using neural networks to track regions of interest | |
US10313610B2 (en) | Image sensors with dynamic pixel binning | |
RU2017143910A (en) | METHOD AND DEVICE FOR DETERMINING THE LOCATION OF THE WEAR DETAIL ON THE IMAGE OF THE WORKING TOOL | |
JP2020038410A (en) | Solid state image pickup apparatus, information processing apparatus, information processing system, information processing method and program | |
CN114026846A (en) | Dynamic programmable image sensor | |
Gómez-Rodríguez et al. | Real time multiple objects tracking based on a bio-inspired processing cascade architecture | |
CN114582009A (en) | Monocular fixation point estimation method and system based on mixed attention mechanism | |
TW202321991A (en) | Sparse image processing | |
EP3833008B1 (en) | Active pixel sensor array, display panel and electronic device | |
US20180366139A1 (en) | Employing vehicular sensor information for retrieval of data | |
Gómez-Rodríguez et al. | Neuromorphic real-time objects tracking using address event representation and silicon retina | |
Delbruck | Fun with asynchronous vision sensors and processing | |
JP7482011B2 (en) | Information Processing System | |
US20240080573A1 (en) | In-plane preprocessor and multiplane hardware neural network | |
US20220405553A1 (en) | Sparse image processing | |
CN107454316B (en) | Motion detection method and device | |
CN117099019A (en) | Information processing apparatus | |
JP2005141400A (en) | Perception processor and robot therewith |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |