Nothing Special   »   [go: up one dir, main page]

DE102021105869B4 - CORRECTION AND CALIBRATION OF A SPECTRAL SENSOR OUTPUT - Google Patents

CORRECTION AND CALIBRATION OF A SPECTRAL SENSOR OUTPUT Download PDF

Info

Publication number
DE102021105869B4
DE102021105869B4 DE102021105869.4A DE102021105869A DE102021105869B4 DE 102021105869 B4 DE102021105869 B4 DE 102021105869B4 DE 102021105869 A DE102021105869 A DE 102021105869A DE 102021105869 B4 DE102021105869 B4 DE 102021105869B4
Authority
DE
Germany
Prior art keywords
spectral
scene
optical
spectral sensor
sensor system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102021105869.4A
Other languages
German (de)
Other versions
DE102021105869A1 (en
Inventor
Jonathan Borremanns
Jakub Raczkowski
Maarten De Bock
Ward van der Tempel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spectricity
Original Assignee
Spectricity
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/170,127 external-priority patent/US11493387B2/en
Application filed by Spectricity filed Critical Spectricity
Publication of DE102021105869A1 publication Critical patent/DE102021105869A1/en
Application granted granted Critical
Publication of DE102021105869B4 publication Critical patent/DE102021105869B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J3/00Spectrometry; Spectrophotometry; Monochromators; Measuring colours
    • G01J3/02Details
    • G01J3/0278Control or determination of height or angle information for sensors or receivers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J3/00Spectrometry; Spectrophotometry; Monochromators; Measuring colours
    • G01J3/28Investigating the spectrum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J3/00Spectrometry; Spectrophotometry; Monochromators; Measuring colours
    • G01J3/12Generating the spectrum; Monochromators
    • G01J2003/1226Interference filters
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J3/00Spectrometry; Spectrophotometry; Monochromators; Measuring colours
    • G01J3/12Generating the spectrum; Monochromators
    • G01J2003/1226Interference filters
    • G01J2003/1239Interference filters and separate detectors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J3/00Spectrometry; Spectrophotometry; Monochromators; Measuring colours
    • G01J3/28Investigating the spectrum
    • G01J3/2803Investigating the spectrum using photoelectric array detector
    • G01J2003/2806Array and filter array

Landscapes

  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Spectrometry And Color Measurement (AREA)

Abstract

Spektralsensorsystem, umfassend:eine Vielzahl von optischen Sensoren (100), die auf einer integrierten Schaltung angeordnet sind und die einen Spektralsensor (10) bilden, wobei die Vielzahl von optischen Sensoren (100) in einem Array (170) angeordnet sind;eine Schnittstelle zwischen der Vielzahl von optischen Sensoren (100) und einer ersten Verarbeitungsvorrichtung, die konfiguriert ist, um Informationen dazwischen zu übertragen;eine Vielzahl von Sätzen von optischen Filtern (110, 120, 130, 160), die als eine Schicht konfiguriert sind, die auf der Vielzahl von optischen Sensoren (100) angeordnet ist, wobei ein Satz von optischen Filtern (110, 120, 130, 160) der Vielzahl von Sätzen von optischen Filtern (110, 120, 130, 160) eine Vielzahl von optischen Filtern (110, 120, 130, 160) umfasst, wobei jedes optische Filter (110, 120, 130, 160) der Vielzahl von optischen Filtern (110, 120, 130, 160) konfiguriert ist, um Licht (180) in einem anderen Wellenlängenbereich durchzulassen;einen Speicher, der konfiguriert ist, um eine Schnittstelle mit der ersten Verarbeitungsvorrichtung herzustellen und mit dieser zu kommunizieren, wobei der Speicher konfiguriert ist, um Kalibrierungsdaten (250, 350) zu speichern, die der Vielzahl von Sätzen optischer Sensoren (100) zugeordnet sind;ein Spektrometermodell (510), das die Nichtidealität des Spektralsensors (10) widerspiegelt;eine zweite Verarbeitungsvorrichtung, die ein künstliches neuronales Netzwerk (370) umfasst, das konfiguriert ist, um eine spektrale Antwort zu korrigieren, die durch die Vielzahl von optischen Sensoren (100) erzeugt wird; basierend auf einem Fehler (530), der für künstliche Spektren (560) bestimmt und in das künstliche neuronale Netzwerk (370) eingegeben wurde um Koeffizienten als Gewichte des künstlichen neuronalen Netzwerks (370) zu erzeugen, die die Differenz zwischen den künstlichen Spektren (560) und dem Spektrometermodell (510) widerspiegeln; undeine Schnittstelle zwischen der ersten Verarbeitungsvorrichtung und der zweiten Verarbeitungsvorrichtung, die konfiguriert ist, um Informationen dazwischen zu übertragen.A spectral sensor system comprising:a plurality of optical sensors (100) arranged on an integrated circuit and forming a spectral sensor (10), the plurality of optical sensors (100) arranged in an array (170);an interface between the plurality of optical sensors (100) and a first processing device configured to transmit information therebetween;a plurality of sets of optical filters (110, 120, 130, 160) configured as a layer arranged on the plurality of optical sensors (100), wherein a set of optical filters (110, 120, 130, 160) of the plurality of sets of optical filters (110, 120, 130, 160) comprises a plurality of optical filters (110, 120, 130, 160), each optical filter (110, 120, 130, 160) of the plurality of optical filters (110, 120, 130, 160) is configured to transmit light (180) in a different wavelength range;a memory configured to interface and communicate with the first processing device, the memory configured to store calibration data (250, 350) associated with the plurality of sets of optical sensors (100);a spectrometer model (510) reflecting the non-ideality of the spectral sensor (10);a second processing device comprising an artificial neural network (370) configured to correct a spectral response generated by the plurality of optical sensors (100); based on an error (530) determined for artificial spectra (560) and input to the artificial neural network (370) to generate coefficients as weights of the artificial neural network (370) that reflect the difference between the artificial spectra (560) and the spectrometer model (510); andan interface between the first processing device and the second processing device configured to transmit information therebetween.

Description

HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION

WO 2015/015493 A2 , CA 2 954 625 A1 und WO 2018/056976 A1 beschreiben konventionelle Spektrometer bzw. spektral auflösende, bildgebende Systeme. WO 2015/015493 A2 , CA 2 954 625 A1 and WO 2018/056976 A1 describe conventional spectrometers or spectrally resolving imaging systems.

TECHNISCHES GEBIET DER ERFINDUNGTECHNICAL FIELD OF THE INVENTION

Diese Erfindung betrifft allgemein die Spektroskopie und insbesondere die Spektralkorrektur für Spektralsensoren unter Verwendung interferenzbasierter Filter.This invention relates generally to spectroscopy and, more particularly, to spectral correction for spectral sensors using interference-based filters.

Spektroskopiegeräte haben sich für Anwendungen in verschiedenen Branchen als nützlich erwiesen, darunter beispielsweise Gesundheit, Biometrie, Landwirtschaft, Chemie und Fitness. Im Allgemeinen funktionieren Spektroskopiegeräte durch Erfassen und/oder Erfassen von einfallendem Licht in Bezug auf mehrere Wellenlängenbereiche und Extrahieren von Spektralinformationen. Es wurde gezeigt, dass interferenzbasierte Filter wie Fabry-Pérot-Filter in Verbindung mit Spektralsensoren kontrollierte Lichtwellenlängen liefern können.Spectroscopy devices have proven useful for applications in various industries, including, for example, health, biometrics, agriculture, chemistry, and fitness. In general, spectroscopy devices work by detecting and/or sensing incident light with respect to multiple wavelength ranges and extracting spectral information. It has been shown that interference-based filters such as Fabry-Pérot filters can provide controlled wavelengths of light when coupled with spectral sensors.

Wie weiter bekannt ist, unterliegt Licht, das durch interferenzbasierte Filter wandert, verschiedenen nicht idealen Bedingungen sowie einer nicht idealen Sensorleistung, von denen sich jede negativ auf die Leistung eines bestimmten Spektroskopiegeräts auswirken kann.As is further known, light passing through interference-based filters is subject to various non-ideal conditions as well as non-ideal sensor performance, each of which can negatively affect the performance of a particular spectroscopy instrument.

BESCHREIBUNG DER VERWANDTEN TECHNIKDESCRIPTION OF RELATED TECHNOLOGY

KURZE BESCHREIBUNG DER MEHREREN ANSICHTEN DER ZEICHNUNG(EN)BRIEF DESCRIPTION OF THE MULTIPLE VIEWS OF THE DRAWING(S)

  • 1A stellt eine Darstellung von oben nach unten eines beispielhaften optischen Sensors bereit, der mit Filtern gemäß der vorliegenden Erfindung überlagert ist; 1A provides a top-down illustration of an exemplary optical sensor overlaid with filters in accordance with the present invention;
  • 1B zeigt eine Seitenansicht eines beispielhaften optischen Sensors, der mit Filtern gemäß der vorliegenden Erfindung überlagert ist; 1B shows a side view of an exemplary optical sensor overlaid with filters according to the present invention;
  • 2 stellt die beispielhaften Filterantworten eines CMOS-Sensors dar, der mit Filtern überlagert ist; 2 shows the example filter responses of a CMOS sensor overlaid with filters;
  • 3 stellt eine Darstellung eines Vergleichs von Rohausgangsdaten und den idealen Ausgangsdaten eines beispielhaften Spektralsensors bereit; 3 provides a comparison of raw output data and the ideal output data of an example spectral sensor;
  • 4 ist ein schematisches Blockdiagramm einer Ausführungsform eines Spektralsensors gemäß der vorliegenden Erfindung; 4 is a schematic block diagram of an embodiment of a spectral sensor according to the present invention;
  • 5A stellt ein schematisches Blockdiagramm einer Ausführungsform eines Spektralsensors bereit, der ein künstliches neuronales Netzwerk gemäß der vorliegenden Erfindung enthält; 5A provides a schematic block diagram of an embodiment of a spectral sensor incorporating an artificial neural network according to the present invention;
  • 5B stellt ein schematisches Blockdiagramm einer anderen Ausführungsform eines Spektralsensors bereit, der ein künstliches neuronales Netzwerk gemäß der vorliegenden Erfindung enthält; 5B provides a schematic block diagram of another embodiment of a spectral sensor incorporating an artificial neural network according to the present invention;
  • 6A stellt eine vereinfachte Darstellung eines künstlichen neuronalen Netzwerks bereit, das in einen Spektralsensor gemäß der vorliegenden Erfindung eingebaut ist; 6A provides a simplified representation of an artificial neural network incorporated into a spectral sensor according to the present invention;
  • 6B stellt eine vereinfachte Darstellung eines mehrschichtigen künstlichen neuronalen Netzwerks gemäß der vorliegenden Erfindung bereit; 6B provides a simplified representation of a multilayer artificial neural network according to the present invention;
  • 7A ist ein Logikdiagramm, das ein beispielhaftes Verfahren zum Korrigieren der rohen Spektralausgabe in korrigierte Spektren gemäß der vorliegenden Erfindung darstellt; 7A is a logic diagram illustrating an exemplary method for correcting the raw spectral output into corrected spectra in accordance with the present invention;
  • 7B ist ein Logikdiagramm, das ein beispielhaftes Verfahren zum adaptiven Korrigieren der Spektralausgabe von einem Sensorarray gemäß der vorliegenden Erfindung darstellt; 7B is a logic diagram illustrating an exemplary method for adaptively correcting the spectral output from a sensor array in accordance with the present invention;
  • 7C stellt ein Logikdiagramm bereit, das ein anderes beispielhaftes Verfahren zum adaptiven Korrigieren der Spektralausgabe von einem Sensorarray gemäß der vorliegenden Erfindung darstellt; 7C provides a logic diagram illustrating another exemplary method for adaptively correcting the spectral output from a sensor array in accordance with the present invention;
  • 8A stellt eine Darstellung eines beispielhaften Spektralsensors bereit, bei dem ein Durchlauf von monochromatischem Licht und Eingangsleistung gemäß der vorliegenden Erfindung bereitgestellt wird; 8A provides an illustration of an exemplary spectral sensor in which a sweep of monochromatic light and input power is provided in accordance with the present invention;
  • 8B stellt einen beispielhaften Spektralsensor bereit, der ein künstliches neuronales Netzwerk gemäß der vorliegenden Erfindung enthält; 8B provides an exemplary spectral sensor incorporating an artificial neural network according to the present invention;
  • 8C stellt eine Darstellung eines Beispiels einer physikalischen Szene bereit, die einem Spektralsensor bereitgestellt und gemäß der vorliegenden Erfindung an ein trainiertes künstliches neuronales Netzwerk ausgegeben wird; 8C provides an illustration of an example of a physical scene provided to a spectral sensor and output to a trained artificial neural network in accordance with the present invention;
  • 8D stellt einen beispielhaften Spektralsensor bereit, bei dem dem künstlichen neuronalen Netzwerk gemäß der vorliegenden Erfindung Metadaten einer physikalischen Szene zur Verfügung gestellt werden. 8D provides an exemplary spectral sensor in which metadata of a physical scene is provided to the artificial neural network according to the present invention.

DETAILLIERTE BESCHREIBUNG DER ERFINDUNGDETAILED DESCRIPTION OF THE INVENTION

In verschiedenen Ausführungsformen werden Spektralsensoren mit Interferenzfiltern kombiniert, um spektrale Informationen über eine Szene und/oder Lichtquelle bereitzustellen. Interferenzbasierte Filter wie Fabry-Pérot-Filter können eine nicht ideale Filterreaktion auf einen zugrunde liegenden Sensor aufweisen. Beispielsweise kann die Filterantwort ein Übersprechen zwischen Filtern, unerwünschte Antworten zweiter Ordnung auf einfallendes Licht, Winkelabhängigkeiten zu einfallendem Licht umfassen, und einfallendes Licht kann Licht von Quellen enthalten, die nicht ausgewertet werden sollen. Sensoren selbst können auch eine nicht ideale Leistung aufweisen, einschließlich Nichtlinearitäten, Übersprechen, elektronischem Rauschen usw. 1A zeigt von oben nach unten einen beispielhaften integrierten optischen Sensor 100, der mit Filtern 110, 120 und 130 überlagert ist, die für eines von drei Spektralbändern optimiert sind. Wie gezeigt, wiederholen sich die Filter 110, 120 und 130 als Array über die Oberfläche des optischen Sensors 100. Alternativ könnten sich die Filter 110, 120 und 130 unter Verwendung eines anderen Musters oder sogar in einem zufälligen Muster wiederholen, um Filterantworten an Sensoren weiterzuleiten, die dem Filterarray zugrunde liegen. In einem Beispiel (nicht gezeigt) könnten Spektralbänder größer als 3 verwendet werden, um Sensoren wie gewünscht in jeder praktischen Ausrichtung zu überlagern. In einer Ausführungsform ist der optische Sensor 100 ein Beispiel eines Spektralsensors, der für die diffuse optische Spektroskopie nützlich ist, wobei Arrays von Spektralfiltern optischen Sensoren zugeordnet sind, um eine diffuse Spektralerfassung bereitzustellen. 1B zeigt eine Seitenansicht eines beispielhaften optischen Sensors, der mit einem Filterarray überlagert ist. In dem Beispiel wird einfallendes Licht 180 durch die Filteranordnung 160 auf das Sensorarray 170 gerichtet.In various embodiments, spectral sensors are combined with interference filters to obtain spectral information about a scene and/or light source. Interference-based filters such as Fabry-Pérot filters may exhibit a non-ideal filtering response to an underlying sensor. For example, the filtering response may include crosstalk between filters, unwanted second-order responses to incident light, angular dependencies to incident light, and incident light may include light from sources that are not intended to be evaluated. Sensors themselves may also exhibit non-ideal performance, including nonlinearities, crosstalk, electronic noise, etc. 1A shows, from top to bottom, an example integrated optical sensor 100 overlaid with filters 110, 120, and 130 optimized for one of three spectral bands. As shown, filters 110, 120, and 130 repeat as an array across the surface of optical sensor 100. Alternatively, filters 110, 120, and 130 could repeat using a different pattern or even in a random pattern to route filter responses to sensors underlying the filter array. In one example (not shown), spectral bands greater than 3 could be used to overlay sensors in any practical orientation as desired. In one embodiment, optical sensor 100 is an example of a spectral sensor useful for diffuse optical spectroscopy, where arrays of spectral filters are associated with optical sensors to provide diffuse spectral sensing. 1B shows a side view of an exemplary optical sensor overlaid with a filter array. In the example, incident light 180 is directed through the filter assembly 160 to the sensor array 170.

Idealerweise würden die Filter des integrierten optischen Sensors in den 1A und 1B nur einfallendes Licht innerhalb der gewünschten spektralen Wellenlängen an den darunter liegenden Sensor weiterleiten, so dass ein idealer Sensor dann Filterantworten ausgeben könnte, die genau das Spektrum des einfallenden Lichts darstellen. In der Praxis sind weder die Interferenzfilter noch die Sensoren ideal, wenn daher die Ausgabe eines gegebenen optischen Sensors, wie der in den 1A und 1B dargestellte, gemessen wird, ist es unwahrscheinlich, dass das resultierende Spektrum das Spektrum des einfallenden Lichts korrekt darstellt. In der Tat kann das resultierende Spektrum eine nichtlineare Beziehung zur Intensität des Eingangslichts, zum Spektrum eines zu messenden Objekts und/oder zum Beleuchtungsspektrum des Eingangslichts aufweisen. Darüber hinaus können mit der Herstellung verbundene Fehler wie Herstellungstoleranzen und Gleichmäßigkeit zwischen integrierten optischen Sensoren, wie beispielsweise dem integrierten optischen Sensor 100, zu einer nicht idealen Leistung beitragen.Ideally, the filters of the integrated optical sensor in Figures 1A and 1B would only pass incident light within the desired spectral wavelengths to the underlying sensor, so that an ideal sensor could then output filter responses that accurately represent the spectrum of the incident light. In practice, neither the interference filters nor the sensors are ideal, so if the output of a given optical sensor, such as the one in Figures 1A and 1B shown, the resulting spectrum is unlikely to accurately represent the spectrum of the incident light. Indeed, the resulting spectrum may have a non-linear relationship with the intensity of the input light, the spectrum of an object being measured, and/or the illumination spectrum of the input light. In addition, manufacturing-related errors such as manufacturing tolerances and uniformity between integrated optical sensors, such as integrated optical sensor 100, may contribute to non-ideal performance.

2 zeigt die Filterantworten eines CMOS-Sensors (in diesem Fall unter Verwendung von Fabry-Pérot-Filtern), die ein Übersprechen benachbarter Sensoren aufweisen. In einem idealen Sensor würde die Filterantwort eines bestimmten Sensorpixels, wie die von Pixel #13, nur von Pixel #13 kommen, ohne zu anderen Pixeln innerhalb des Arrays beizutragen. Wie dargestellt, zeigen benachbarte Pixel #8, #12, #14 und #18 zumindest eine unerwünschte Reaktion von der auf Pixel #13 zentrierten Wellenlänge zusammen mit anderen Nichtidealitäten. Die Rekonstruktion eines „sauberen“ Ausgangsspektrums (eines, das das Spektrum des auf den optischen Sensor einfallenden Lichts angemessen darstellt) ist nicht trivial, selbst wenn die gezeigten Filterantwortformen bekannt sind. In der Darstellung von 2 spiegeln die Antworten nicht die perfekten „Fabry-Pérot“-Reaktionen wider, und die Erzeugung von Übersprechen aus den benachbarten Filtern ist problematisch und trägt zum Antwortfehler bei. In Anbetracht der Tatsache, dass jedes Pixel nicht ideale Antworten und Übersprechfehler aufweisen kann, kann leicht verstanden werden, dass die Korrektur und/oder Kalibrierung eines gegebenen optischen Sensors außerordentlich schwierig und/oder ungenau werden kann. Zusätzlich sorgen Materialeigenschaften der Filter selbst, Qualitätsunterschiede und Teil-zu-Teil-Unterschiede für zusätzliche Komplexität. 2 shows the filter responses of a CMOS sensor (in this case using Fabry-Pérot filters) that exhibit crosstalk from neighboring sensors. In an ideal sensor, the filter response of a particular sensor pixel, such as that of pixel #13, would come only from pixel #13, without contributing to other pixels within the array. As shown, neighboring pixels #8, #12, #14, and #18 show at least an undesirable response from the wavelength centered on pixel #13, along with other nonidealities. Reconstructing a “clean” output spectrum (one that adequately represents the spectrum of light incident on the optical sensor) is not trivial, even if the filter response shapes shown are known. In the plot of 2 the responses do not reflect the perfect "Fabry-Pérot" responses, and the generation of crosstalk from the neighboring filters is problematic and contributes to the response error. Considering that each pixel can have non-ideal responses and crosstalk errors, it is easy to understand that correcting and/or calibrating a given optical sensor can become extremely difficult and/or inaccurate. In addition, material properties of the filters themselves, quality differences, and part-to-part differences add additional complexity.

3 stellt eine Darstellung der Ausgangsdaten 190 einer Reflexionsmessung (Filterantwort) von ungefähr 740 bis 1020 nm eines beispielhaften optischen Sensors zusammen mit einem idealen oder „korrigierten“ Spektrum 192 für die Messung bereit. In dem Beispiel können die rohen Ausgangsdaten nicht mit einer komplexen Korrekturübung angepasst werden, um sie in ein „reales“ Spektrum umzuwandeln (d.h. ein Spektrum, das für das Spektrum des einfallenden einfallenden Lichts repräsentativ ist). 3 provides a representation of the output data 190 of a reflectance measurement (filter response) from approximately 740 to 1020 nm of an exemplary optical sensor, along with an ideal or "corrected" spectrum 192 for the measurement. In the example, the raw output data cannot be adjusted with a complex correction exercise to convert it to a "real" spectrum (i.e., a spectrum representative of the spectrum of the incident light).

In einem Beispiel kann die Rohleistung eines Spektralsensors ORAW als Matrix von [1xN]-Werten gemessen werden. Es kann durch eine Matrixmultiplikation korrigiert werden, so dass: O=ORAWxC wobei O das korrigierte Spektrum ist und C [NxM] eine Korrekturmatrix ist, wobei M die gewünschte (n) Ausgangswellenlängenantwort (en) ist (in einem linearen Korrekturschritt). C ist eine „Korrekturmatrix“, die aus gemessenem und/oder abgeleitetem Wissen über den Sensor und die Filter oder der werkseitigen Messung/Kalibrierung der Filtereigenschaften des Sensors oder einer Kombination aus beiden aufgebaut ist.In an example, the raw power of a spectral sensor ORAW can be measured as a matrix of [1xN] values. It can be corrected by a matrix multiplication so that: O=O RAW xC where O is the corrected spectrum and C [NxM] is a correction matrix where M is the desired output wavelength response(s) (in a linear correction step). C is a "correction matrix" constructed from measured and/or derived knowledge of the sensor and filters, or factory measurement/calibration of the sensor's filter characteristics, or a combination of both.

In einem Beispiel wird ORAW aus N (z.B. mit N = 64 in einem 64-Kanal-Spektrometer, das aus N lichtempfindlichen Elementen und N Filtern über den Elementen aufgebaut ist) Werten aus den Filterausgängen aufgebaut. In dem Beispiel von 3 sind die 64 Ausgänge auf die Sensorausgänge beschränkt und repräsentieren die vollständig integrierte Antwort jedes einzelnen Filters auf jeder Fotodiode. Bezugnehmend auf 1A kann ein Spektralsensor eine Vielzahl von optischen Sensoren mit einer Vielzahl von Sätzen optischer Filter enthalten, die als Schicht mit einer oberen Oberfläche und einer unteren Oberfläche konfiguriert sind, die sich auf der Vielzahl von optischen Sensoren befinden. In dem Beispiel umfasst ein Satz von optischen Filtern der Vielzahl von Sätzen von optischen Filtern eine Vielzahl von optischen Filtern, wobei jedes optische Filter der Vielzahl von optischen Filtern konfiguriert ist, um Licht in einem anderen Wellenlängenbereich durchzulassen. In einem Beispiel kann eine Vielzahl von optischen Filtern, die konfiguriert sind, um Licht in demselben Wellenlängenbereich durchzulassen, in einem Array bereitgestellt werden, so dass in einem gegebenen Array jeder Wellenlängenbereich redundant dargestellt wird. Es sind unzählige Layoutoptionen für die optischen Filter möglich. In einem speziellen Beispiel können die optischen Filter jedes Satzes von optischen Filtern in einem Muster angeordnet sein, das sich über ein Sensorarray wiederholt. In einem anderen Beispiel kann jeder Satz optischer Filter in mehreren unterschiedlichen Mustern innerhalb desselben Sensorarrays konfiguriert werden. Dementsprechend kann sich zumindest teilweise aufgrund der Nichtidealitäten, die unter Bezugnahme auf die 1A, 1B und 2 diskutiert wurden, jedes der Vielzahl von optischen Filtern, die konfiguriert sind, um Licht in demselben Wellenlängenbereich durchzulassen, unterschiedlich verhalten.In one example, O RAW is constructed from N (eg with N = 64 in a 64-channel spectrometer built from N light-sensitive elements and N filters over the elements) values from the filter outputs. In the example of 3 the 64 outputs are limited to the sensor outputs and represent the fully integrated response of each individual filter on each photodiode. Referring to 1A a spectral sensor may include a plurality of optical sensors having a plurality of sets of optical filters configured as a layer having a top surface and a bottom surface located on the plurality of optical sensors. In the example, a set of optical filters of the plurality of sets of optical filters comprises a plurality of optical filters, each optical filter of the plurality of optical filters being configured to transmit light in a different wavelength range. In one example, a plurality of optical filters configured to transmit light in the same wavelength range may be provided in an array such that, in a given array, each wavelength range is represented redundantly. Numerous layout options for the optical filters are possible. In one particular example, the optical filters of each set of optical filters may be arranged in a pattern that repeats across a sensor array. In another example, each set of optical filters may be configured in multiple different patterns within the same sensor array. Accordingly, due at least in part to the non-idealities discussed with reference to the 1A , 1B and 2 discussed, each of the plurality of optical filters configured to transmit light in the same wavelength range behaves differently.

Unter erneuter Bezugnahme auf 3 enthält eine gegebene Sensorausgabe nicht notwendigerweise den vollen Einfluss der spektralen Antworten von jedem Filter auf den Sensor, wobei dieses Verhalten (wie in 2 oben dargestellt) äußerst komplex ist und in nur 64 abgetasteten Datenpunkten nicht ausreichend erfasst werden kann. Darüber hinaus werden die anderen mit dem Sensor verbundenen Nichtidealitäten nicht in der Ausgabe erfasst, einschließlich beispielsweise seiner inhärenten Nichtlinearitäten und der Nichtlinearitäten, die unter anderem das Übersprechen beeinflussen. Dementsprechend kann das Bereitstellen einer einzelnen Korrekturmatrix, die ein korrigiertes Spektrum über alle Bedingungen der Eingangsleistung, des Beleuchtungsspektralprofils und des Szenenspektralprofils bereitstellen kann, schwierig, wenn nicht mathematisch unmöglich sein. In einem Beispiel wird die Korrekturmatrix C aus der obigen Gleichung unter Verwendung eines Ansatzes der kleinsten Quadrate „optimiert“, um gewünschte und/oder erwartete Spektralprofile bei Spektralmessungen bereitzustellen. Es können komplexere mathematische Korrekturmatrizen erstellt werden, die jedoch, wie dargestellt, ein äußerst komplexes mathematisches Problem darstellen können.Referring again to 3 a given sensor output does not necessarily contain the full influence of the spectral responses from each filter on the sensor, and this behavior (as in 2 shown above) is extremely complex and cannot be adequately captured in just 64 sampled data points. In addition, the other non-idealities associated with the sensor are not captured in the output, including, for example, its inherent non-linearities and the non-linearities that affect crosstalk, among other things. Accordingly, providing a single correction matrix that can provide a corrected spectrum over all conditions of input power, illumination spectral profile, and scene spectral profile can be difficult, if not mathematically impossible. In one example, the correction matrix C from the above equation is "optimized" using a least squares approach to provide desired and/or expected spectral profiles in spectral measurements. More complex mathematical correction matrices can be created, but as shown, they can present an extremely complex mathematical problem.

4 ist ein schematisches Blockdiagramm einer Ausführungsform eines Spektralsensors 10, der ein Spektralsensoraarray 220, einen Analog-Digital-Wandler (ADC) 240, eine Steuermaschine 230 und Kalibrierungsdaten 250 enthält. Der Spektralsensor 10 kann als einzelne integrierte Schaltung, Multi-Chip-Modul, als Chipsatz oder als enthaltene Elemente konfiguriert sein, die in einer einzelnen integrierten Schaltung enthalten sind. In einem Beispiel wird das Spektralsensorarray 220 während des Herstellungs- und/oder Testprozesses des Spektralsensorarrays 220 kalibriert, um Abweichungen zu korrigieren, die Herstellungsprozessen inhärent sind, wie z.B. Abweichungen zwischen den Form-Werkzeugen von Sensoren (Inter-Die Abweichungen), sowie Varianz zwischen den Form-Werkzeugen (Intra-Die-Varianz). In einem Beispiel werden die Kalibrierungsdaten in einem Speicher (wie einem Flash-Speicher) gespeichert, der in dem Spektralsensor 10 enthalten ist, oder in einem Speicher, der in derselben integrierten Schaltung wie das Spektralsensorarray 220 enthalten ist. 4 is a schematic block diagram of one embodiment of a spectral sensor 10 that includes a spectral sensor array 220, an analog-to-digital converter (ADC) 240, a control engine 230, and calibration data 250. The spectral sensor 10 may be configured as a single integrated circuit, a multi-chip module, a chipset, or as contained elements included in a single integrated circuit. In one example, the spectral sensor array 220 is calibrated during the manufacturing and/or testing process of the spectral sensor array 220 to correct for variations inherent in manufacturing processes, such as variations between the mold tools of sensors (inter-die variations), as well as variance between the mold tools (intra-die variance). In one example, the calibration data is stored in a memory (such as flash memory) included in the spectral sensor 10 or in a memory included in the same integrated circuit as the spectral sensor array 220.

In einer Ausführungsform wird der analoge Ausgang des Spektralsensorarrays 220 durch einen Analog-Digital-Wandler (ADC) 240 zur Eingabe in die Steuermaschine 230 umgewandelt. In einem Beispiel werden Kalibrierungsdaten, die während der Herstellung und/oder des Testens des Spektralsensorarrays 220 gesammelt wurden, als Kalibrierungsdaten 250 im Speicher gespeichert, und die Steuermaschine 230 verwendet Kalibrierungsdaten 250, um die vom ADC 240 empfangene Ausgabe zu „korrigieren“. In einem anderen Beispiel können Kalibrierungsdaten 250 auch von der Implementierung des Spektralsensors 10 gesammelt und/oder heuristisch geändert werden. In einem weiteren Beispiel können Kalibrierungsdaten 250 während der Herstellung, Prüfung oder Verwendung einer Benutzervorrichtung, in der der Spektralsensor 10 aktiviert ist, gesammelt und/oder geändert werden.In one embodiment, the analog output of the spectral sensor array 220 is converted by an analog-to-digital converter (ADC) 240 for input to the control engine 230. In one example, calibration data collected during manufacture and/or testing of the spectral sensor array 220 is stored in memory as calibration data 250, and the control engine 230 uses calibration data 250 to "correct" the output received from the ADC 240. In another example, calibration data 250 may also be collected and/or heuristically modified by the implementation of the spectral sensor 10. In another example, calibration data 250 may be collected and/or modified during manufacture, testing, or use of a user device in which the spectral sensor 10 is enabled.

In einem weiteren Beispiel besteht der Spektralsensor aus einer Vielzahl von Einzelphotonendetektoren, wie Einzelphotonen-Lawinendioden (SPADS) oder anderen Mikrophotonenvorrichtungen, die in einem Spektralerfassungsarray oder Pseudoarray konfiguriert sind. Die digitalen Informationen aus dem resultierenden Spektralerfassungsarray können dann direkt in die Steuermaschine 230 eingegeben werden. Die Beispiele für SPADS umfassen, ohne darauf beschränkt zu sein, Einzelpixel-Silizium, InGaAs-Detektoren und zweidimensionale Arrays von CMOS-Detektoren.In another example, the spectral sensor consists of a plurality of single photon detectors, such as single photon avalanche diodes (SPADS) or other microphoton devices, configured in a spectral sensing array or pseudoarray. The digital information from the resulting spectral sensing array can then be input directly to the control engine 230. Examples of SPADS include, but are not limited to, single pixel silicon, InGaAs detectors, and two-dimensional arrays of CMOS detectors.

In dem Beispiel von 4 werden Kalibrierungsdaten 250, wie oben in Bezug auf 3 diskutiert, verwendet, um die Ausgabe des Spektralsensorarrays 220 über eine Vielzahl von Eingangs-/Betriebsbedingungen zu korrigieren. In dem Beispiel stellt die Steuermaschine 230 eine kalibrierte Sensorausgabe von dem Spektralsensorarray 220 unter Verwendung von Kalibrierungsdaten 250 bereit. Das Kalibrieren des Ausgangs des Spektralsensorarrays 220 auf diese Weise beinhaltet eine mathematische Korrektur, die eine Matrix erfordert, die eine vergleichsweise komplexe Mathematik erfordert. Zum Beispiel kann eine Matrixinversion verwendet werden, um eine Korrekturmatrix für das Beispiel zu konstruieren, jedoch wäre die resultierende Korrekturmatrix wahrscheinlich relativ unvollkommen, während sie auch außerordentlich komplex zu entwickeln und/oder auszuführen ist.In the example of 4 Calibration data 250, as above with respect to 3 discussed, to correct the output of the spectral sensor array 220 over a variety of input/operating conditions. In the example, the control engine 230 provides a calibrated sensor output from the spectral sensor array 220 using calibration data 250. Calibrating the output of the spectral sensor array 220 in this manner involves mathematical correction requiring a matrix that requires comparatively complex mathematics. For example, matrix inversion can be used to construct a correction matrix for the example, however, the resulting correction matrix would likely be relatively imperfect while also being extremely complex to develop and/or implement.

5A stellt ein schematisches Blockdiagramm einer Ausführungsform eines Spektralsensors 10 bereit, wobei Hardware und/oder Software, die künstliche neuronale Netzwerkfunktionen bereitstellen kann, die als künstliches neuronales Netzwerk 370 bezeichnet sind, in dem Spektralsensor 10 enthalten sind. In einem Beispiel ist das künstliche neuronale Netzwerk 370 in einem Spektralsensor 10 in einem Modul enthalten oder in ein oder mehrere Elemente des Spektralsensors 10 integriert und ist konfiguriert, um eine korrigierte Ausgabe basierend auf einer koordinierten Ausgabe des künstlichen neuronalen Netzwerks 370 bereitzustellen. In einem Beispiel können Kalibrierungsdaten 350 direkt an das künstliche neuronale Netzwerk 370 geliefert werden. In einem anderen Beispiel können Kalibrierungsdaten 350 von der in 4 dargestellten Steuermaschine 230 verwendet werden, um eine kalibrierte Ausgabe von dem Sensorarray 320 an das künstliche neuronale Netzwerk 370 bereitzustellen. 5A provides a schematic block diagram of an embodiment of a spectral sensor 10, wherein hardware and/or software capable of providing artificial neural network functions, referred to as artificial neural network 370, is included in the spectral sensor 10. In one example, the artificial neural network 370 in a spectral sensor 10 is included in a module or integrated into one or more elements of the spectral sensor 10 and is configured to provide a corrected output based on a coordinated output of the artificial neural network 370. In one example, calibration data 350 may be provided directly to the artificial neural network 370. In another example, calibration data 350 may be used by the control engine 230 shown in 4 to provide a calibrated output from the sensor array 320 to the artificial neural network 370.

In einem anderen Beispiel wird das künstliche neuronale Netzwerk 370 von einer externen Rechenvorrichtung implementiert. In einem anderen Beispiel wird das künstliche neuronale Netzwerk 370 in einer anderen physikalischen Schicht oder einem anderen Element eines „gestapelten Sensors“ unter Verwendung von 3D-Integrationsverfahren implementiert. In einem Beispiel kann das künstliche neuronale Netzwerk durch 3D-Stapelung massiv parallel mit dem Spektralsensor verbunden werden. Beispielsweise kann jedes Pixel oder Filterfeld so konfiguriert werden, dass es eine direkte Verbindung zu einem oder mehreren künstlichen neuronalen Netzwerkknoten enthält.In another example, the artificial neural network 370 is implemented by an external computing device. In another example, the artificial neural network 370 is implemented in another physical layer or another element of a "stacked sensor" using 3D integration techniques. In one example, the artificial neural network may be massively connected in parallel to the spectral sensor using 3D stacking. For example, each pixel or filter field may be configured to include a direct connection to one or more artificial neural network nodes.

Das künstliche neuronale Netzwerk 370 umfasst eine miteinander verbundene Struktur von „künstlichen Neuronen“, die als Weg für die Datenübertragung fungieren. Ein herkömmliches Computersystem kann aus einer Anzahl einfacher, stark miteinander verbundener Verarbeitungselemente bestehen, die Informationen mit ihrer dynamischen Zustandsantwort an externe Eingaben verarbeiten. Im Gegensatz dazu kann ein Neuron im Kontext des künstlichen neuronalen Netzwerks 370 eine lineare oder eine nichtlineare Antwort erzeugen. In einem Beispiel wird ein nichtlineares künstliches Netzwerk durch die Verbindung nichtlinearer Neuronen hergestellt; ein solches nichtlineares System kann Eingänge umfassen, die nicht proportional zu den Ausgängen sind.The artificial neural network 370 includes an interconnected structure of "artificial neurons" that act as a path for data transmission. A conventional computer system may consist of a number of simple, highly interconnected processing elements that process information with their dynamic state response to external inputs. In contrast, in the context of the artificial neural network 370, a neuron may produce a linear or a nonlinear response. In one example, a nonlinear artificial network is created by connecting nonlinear neurons; such a nonlinear system may include inputs that are not proportional to the outputs.

In einem Beispiel wird das künstliche neuronale Netzwerk 370 mit Gewichten oder Koeffizienten „geladen“, die aus einem Trainingsprozess abgeleitet sind, wie dem in 8B dargestellten und im zugehörigen Text beschriebenen. Die Koeffizienten können direkt in das künstliche neuronale Netzwerk 370 geladen oder mit Kalibrierungsdaten 350 zur Eingabe in das künstliche neuronale Netzwerk 370 gespeichert werden.In one example, the artificial neural network 370 is “loaded” with weights or coefficients derived from a training process such as that in 8B and described in the accompanying text. The coefficients may be loaded directly into the artificial neural network 370 or stored with calibration data 350 for input to the artificial neural network 370.

5B zeigt ein schematisches Blockdiagramm einer Ausführungsform eines Spektralsensors 10, wobei ein künstliches neuronales Netzwerk Temperaturdaten bereitgestellt wird, um die Genauigkeit und/oder Präzision einer korrigierten Ausgabe zu verbessern. In einer Ausführungsform werden dem künstlichen neuronalen Netzwerk 370 Temperaturdaten 390 bereitgestellt. In einem Beispiel werden Temperaturdaten 390 von einer Temperaturerfassungsvorrichtung außerhalb des Spektralsensors 10 gesammelt und können kontinuierlich oder intermittierend unter Verwendung eines Arbeitszyklus an das Sensorarray übertragen werden, wobei das Temperatursignal nur für einen Bruchteil eines bestimmten Zeitraums aktiv ist. Die Temperaturdaten 390 können auch kontinuierlich oder unter Verwendung eines Arbeitszyklus für das künstliche neuronale Netzwerk 370 bereitgestellt werden. 5B shows a schematic block diagram of an embodiment of a spectral sensor 10 wherein an artificial neural network is provided with temperature data to improve the accuracy and/or precision of a corrected output. In one embodiment, temperature data 390 is provided to the artificial neural network 370. In one example, temperature data 390 is collected from a temperature sensing device external to the spectral sensor 10 and may be transmitted to the sensor array continuously or intermittently using a duty cycle where the temperature signal is active for only a fraction of a certain period of time. The temperature data 390 may also be provided continuously or using a duty cycle to the artificial neural network 370.

Die Temperaturdaten 390 können in einem dedizierten Speicher oder in einem Speicher gespeichert werden, der mit anderen Spektralsensorelementen geteilt wird. In einem Beispiel werden Temperaturdaten 390 als numerische Werte gespeichert, die für die tatsächliche Temperatur repräsentativ sind, wie beispielsweise ein Spannungs- oder Widerstandswert. In einem anderen Beispiel werden die Temperaturdaten 390 in einen Temperaturwert umgewandelt, bevor sie an das künstliche neuronale Netzwerk 370 übertragen werden. The temperature data 390 may be stored in a dedicated memory or in a memory shared with other spectral sensor elements. In one example, temperature data 390 is stored as numerical values representative of the actual temperature, such as a voltage or resistance value. In another example, the temperature data 390 is converted to a temperature value before being transmitted to the artificial neural network 370.

6A liefert eine vereinfachte Darstellung eines künstlichen neuronalen Netzwerks wie eines künstlichen neuronalen Netzwerks 370 im Kontext eines Spektralsensors wie eines Spektralsensors 10. In dem Beispiel wird eine gemessene Ausgangsantwort 410, wie der kalibrierte Sensorausgang 260, auf den in 4 Bezug genommen wird, in eine Eingangsschicht 400 des künstlichen neuronalen Netzwerks 470 eingegeben, wobei die Eingangsschicht 400 künstliche Neuronen (Knoten) 450 enthält, die mit einem oder mehreren Knoten der verborgenen Schicht 402 und einer Ausgangsschicht 420 von Knoten verbunden sind. In einem anderen Beispiel gibt es keine verborgene Schicht 402, wobei Knoten der Eingangsschicht 400 mit Knoten der Ausgangsschicht ohne eine verborgene Schicht von Knoten verbunden sind. In einem weiteren Beispiel eines sogenannten einschichtigen neuronalen Netzwerks werden die Eingaben in das künstliche neuronale Netzwerk 470 unter Verwendung einer Reihe von Gewichten direkt den Knoten der Ausgabeschicht zugeführt, wobei die Summe der Produkte der Gewichte und der Eingaben in jedem Knoten berechnet wird, und wenn der Wert über einem Schwellenwert liegt (typischerweise 0), wird das Neuron ausgelöst und nimmt den aktivierten Wert (typischerweise 1) an; andernfalls wird der deaktivierte Wert (normalerweise -1) verwendet. 6A provides a simplified representation of an artificial neural network such as an artificial neural network 370 in the context of a spectral sensor such as a spectral sensor 10. In the example, a measured output response 410, such as the calibrated sensor output 260, is mapped to the 4 reference is made to a input layer 400 of the artificial neural network 470, where the input layer 400 includes artificial neurons (nodes) 450 connected to one or more nodes of the hidden layer 402 and an output layer 420 of nodes. In another example, there is no hidden layer 402, with nodes of the input layer 400 connected to nodes of the output layer without a hidden layer of nodes. In another example of a so-called single-layer neural network, the inputs to the artificial neural network 470 are fed directly to the nodes of the output layer using a series of weights, the sum of the products of the weights and the inputs in each node is calculated, and if the value is above a threshold (typically 0), the neuron is triggered and takes the activated value (typically 1); otherwise, the deactivated value (typically -1) is used.

6B stellt eine vereinfachte Darstellung eines künstlichen neuronalen Netzwerks bereit, das manchmal als mehrschichtiges Perzeptron bezeichnet wird, wobei jeder Knoten in einer Schicht Verbindungen zu den Knoten der nachfolgenden Schicht gerichtet hat, wobei mehrere Schichten von Recheneinheiten in einer Vorwärtskopplungsanordnung miteinander verbunden sind. Wenn beispielsweise ein Wert innerhalb der Perzeptronknoten 510 (Knoten) den expliziten Schwellenwert jedes Knotens darstellt (der herausgerechnet werden kann, so dass alle Knoten dieselben Schwellenwerte haben, die mit Pfeilen versehen sind, die das Gewicht der Eingaben darstellen. Dieses Netz geht davon aus, dass, wenn der Schwellenwert nicht erreicht wird, Null (nicht -1) ausgegeben wird. Dementsprechend kann in dem Beispiel ein zweischichtiges neuronales Netzwerk XOR berechnen. 6B provides a simplified representation of an artificial neural network, sometimes referred to as a multilayer perceptron, where each node in one layer has directed connections to the nodes of the subsequent layer, with multiple layers of computational units interconnected in a feedforward arrangement. For example, if a value within the perceptron nodes 510 (nodes) represents the explicit threshold of each node (which can be factored out so that all nodes have the same thresholds, marked with arrows representing the weight of the inputs. This network assumes that if the threshold is not met, zero (not -1) is output. Accordingly, in the example, a two-layer neural network can compute XOR.

In einem vereinfachten Beispiel wird eine Eingabe 500 für das neuronale Netzwerk bereitgestellt und eine erforderliche Zielantwort wird an der Ausgabe 520 eingestellt, und aus der Differenz der gewünschten Antwort zusammen mit der Ausgabe des realen Systems wird ein Fehler erhalten. In a simplified example, an input 500 is provided to the neural network and a required target response is set at the output 520, and an error is obtained from the difference of the desired response together with the output of the real system.

Die Fehlerinformationen werden an das System zurückgemeldet und nehmen viele Anpassungen an ihren Parametern in einer systematischen Reihenfolge vor. Nachdem dieser Vorgang für eine ausreichend große Anzahl von Trainingszyklen wiederholt wurde, kann das Netzwerk in einen Zustand konvergieren, in dem der Fehler der Berechnungen gering ist und das Netzwerk „gelernt“ hat. In einem Beispiel wird eine allgemeine Methode zur nichtlinearen Optimierung angewendet, wobei das Netzwerk die Ableitung der Fehlerfunktion in Bezug auf die Netzwerkkoeffizienten oder -gewichte berechnet und die Koeffizienten so ändert, dass der Fehler abnimmt.The error information is fed back to the system, and it makes many adjustments to its parameters in a systematic order. After repeating this process for a sufficiently large number of training cycles, the network can converge to a state where the error of the calculations is small and the network has "learned." One example applies a general method of nonlinear optimization, where the network calculates the derivative of the error function with respect to the network coefficients or weights and changes the coefficients so that the error decreases.

Verschiedene Formen von neuronalen Netzen können verwendet werden, um eine Spektralkorrektur bereitzustellen, einschließlich, aber nicht beschränkt auf künstliche neuronale Rückkopplungsnetze, künstliche neuronale Vorwärtskopplungsnetze, künstliche neuronale Netze mit Klassifizierungsvorhersage und andere.Various forms of neural networks can be used to provide spectral correction, including but not limited to feedback artificial neural networks, feedforward artificial neural networks, classification prediction artificial neural networks, and others.

7A ist ein Logikdiagramm, das ein beispielhaftes Verfahren zum Trainieren eines künstlichen neuronalen Netzwerks darstellt, um korrigierte Spektren bereitzustellen. In Schritt 600 wird die spektrale Ausgabe von einem Sensorarray, wie beispielsweise dem Sensorarray 220, über einen Bereich von Eingangsleistung und Wellenlängen gesammelt, wie in der Tabelle gezeigt, die 7A zugeordnet ist. In einem Beispiel kann dem Sensorarray ein Durchlauf von monochromatischem Licht über einen gewünschten Wellenlängenbereich präsentiert werden, während die Eingangsleistung festgelegt ist; die Eingangsleistung kann dann schrittweise erhöht und bei jeder gewünschten Eingangsleistungseinstellung für den gewünschten Wellenlängenbereich gewobbelt werden. In einem alternativen Beispiel kann die Eingangsleistung in festen Schritten für jede feste Wellenlänge eines gewünschten Wellenlängenbereichs erhöht werden. In einem weiteren alternativen Beispiel können ausgewählte Wellenlängen- und Eingangsleistungspaare, wie die in der Tabelle aus 7A gezeigten, statistisch oder zufällig (oder pseudozufällig) ausgewählt werden, um eine Matrix auszufüllen. In einem anderen Beispiel kann eine Matrix, wie die in 7A dargestellte Matrix, unter Verwendung eines fraktionalen faktoriellen Designs modifiziert werden, um Trainingsläufe und Ressourcen zu reduzieren. 7A is a logic diagram illustrating an exemplary method for training an artificial neural network to provide corrected spectra. In step 600, the spectral output from a sensor array, such as sensor array 220, is collected over a range of input power and wavelengths as shown in the table that 7A In one example, the sensor array may be presented with a sweep of monochromatic light over a desired wavelength range while the input power is fixed; the input power may then be increased in steps and swept at each desired input power setting for the desired wavelength range. In an alternative example, the input power may be increased in fixed steps for each fixed wavelength of a desired wavelength range. In another alternative example, selected wavelength and input power pairs such as those shown in the table of 7A shown, can be chosen statistically or randomly (or pseudorandomly) to fill a matrix. In another example, a matrix such as the one in 7A The matrix shown can be modified using a fractional factorial design to reduce training runs and resources.

In dem Beispiel von 7A werden Lichtwellenlängen und Eingangsleistung berücksichtigt. In anderen Beispielen können Eingabefaktoren vielfältig sein. Beispielhafte Eingangsfaktoren können beispielsweise ein Signal oder eine andere Anzeige eines Beleuchtungsquellentyps (wie Laser, natürliches Licht, LED-Licht (Light Emitting Diode) usw.), einen abgetasteten Objekttyp (z.B. menschliche Haut, Außenszene usw.) und/oder eine beabsichtigte Verwendung für die spektrale Ausgabe (wie Gesundheitsanalysen, Weißabgleich usw.) enthalten. Weitere Eingabefaktoren finden Sie in und im Begleittext. In einem Beispiel können mehrdimensionale Matrizen verwendet werden, um eine Vielzahl von Eingabefaktoren aufzunehmen. In einem verwandten Beispiel können mehrdimensionale Matrizen, die für mehrere Eingabefaktoren ausgelegt sind, vollständige und gebrochene faktorielle Designs verwenden.In the example of 7A light wavelengths and input power are considered. In other examples, input factors can be varied. Example input factors can include, for example, a signal or other indication of an illumination source type (such as laser, natural light, light emitting diode (LED) light, etc.), an object type being sensed (e.g. human skin, outdoor scene, etc.), and/or an intended use for the spectral output (such as health analytics, white balance, etc.). For other input factors, see and in the accompanying text. In one example, multidimensional matrices can be used to accommodate a variety of input factors. In a related example, multidimensional matrices designed for multiple input factors can use full and fractional factorial designs.

In dem Beispiel enthält die Matrix von 7A monochromatisches Licht bei Wellenlängen von 720 nm bis xxx nm in Schritten von 10 nm für jedes der 1-y-Eingangsleistungseinheiten. In der Praxis könnten Wellenlängen in kleineren Inkrementen wie 1 nm oder in Inkrementen > 10 nm inkrementiert werden, und die Eingangsleistung kann auf ähnliche Weise inkrementiert werden.In the example, the matrix of Figure 7A contains monochromatic light at wavelengths from 720 nm to xxx nm in 10 nm steps for each of the 1-y input power units. In practice, wavelengths could be incremented in smaller increments such as 1 nm or in increments > 10 nm, and the input power can be incremented in a similar manner.

Das Verfahren von 7A führt zu einem Charakterisierungsmodell eines hypothetischen Spektrometers M mit den Abmessungen L x S x N, wobei L die Anzahl (#) der Eingangsleistungsinkremente, S die # der Wellenlängeninkremente und N die Anzahl der Filter-„Patches“ ist. Ein Filterpatch ist im Beispiel die Anzahl der Filterelemente über das Sensorarray, die für dieselbe Wellenlängenübertragung auswählen. In einem Beispiel kann dieses Spektrometer-„Modell“ Spektren mit voller Auflösung (Einzelwellenlängeninkremente von monochromatischem Licht) bereitstellen und N-Werte ausgeben. Zum Beispiel würde es für ein 64-Kanal-Spektrometer 64 Ausgänge geben. Das Verfahren beginnt in Schritt 600, wobei eine Ausgabe für mehrere Paare von Eingangsleistung und Wellenlänge gesammelt wird, und setzt sich in Schritt 610 fort, wo eine große Anzahl von synthetischen Eingangsspektren erzeugt werden. In einem speziellen Beispiel 100 Millionen Spektren, die im Wesentlichen alle denkbaren Permutationen abdecken, denen das Spektrometer ausgesetzt sein könnte. In einem anderen speziellen Beispiel können die synthetischen Eingangsspektren für gezielte Permutationen der Belichtungsbedingungen des Spektrums ausgewählt werden. Diese synthetischen Eingangsspektren können dann verwendet werden, um ein korrigiertes Spektrum zu trainieren, wie oben diskutiert.The procedure of 7A results in a characterization model of a hypothetical spectrometer M of dimensions L x S x N, where L is the number (#) of input power increments, S is the # of wavelength increments, and N is the number of filter "patches." A filter patch in the example is the number of filter elements across the sensor array that select for the same wavelength transmission. In one example, this spectrometer "model" can provide full resolution spectra (single wavelength increments of monochromatic light) and output N values. For example, for a 64-channel spectrometer, there would be 64 outputs. The method begins in step 600, where output is collected for several pairs of input power and wavelength, and continues in step 610 where a large number of synthetic input spectra are generated. In one specific example, 100 million spectra, covering essentially all conceivable permutations the spectrometer could be subjected to. In another specific example, the synthetic input spectra can be selected for targeted permutations of the spectrum's exposure conditions. These synthetic input spectra can then be used to train a corrected spectrum, as discussed above.

In Schritt 620 wird das künstliche neuronale Netzwerk trainiert (d.h. die Koeffizienten oder Gewichte des neuronalen Netzwerks werden bestimmt), so dass, wenn dem Spektrometer synthetische Spektren zur Verfügung gestellt werden, das künstliche neuronale Netzwerk die künstlichen Spektren ausgibt (d.h. der Fehler im Spektrometer wird auf einen akzeptablen Betrag minimiert). In Schritt 630 werden die Koeffizienten oder Gewichte in das künstliche neuronale Netzwerk (wie das künstliche neuronale Netzwerk 370 von 5) geladen. Das Spektrometer kann dann jegliches Eingangslicht in das Spektralarray korrigieren, um ein korrigiertes Spektrum zu erzeugen.In step 620, the artificial neural network is trained (i.e., the coefficients or weights of the neural network are determined) such that when synthetic spectra are provided to the spectrometer, the artificial neural network outputs the synthetic spectra (i.e., the error in the spectrometer is minimized to an acceptable amount). In step 630, the coefficients or weights are fed into the artificial neural network (such as the artificial neural network 370 of 5 ). The spectrometer can then correct any input light into the spectral array to produce a corrected spectrum.

7B ist ein Logikdiagramm, das ein beispielhaftes Verfahren zum adaptiven Korrigieren der Spektralausgabe von einem Sensorarray darstellt. Das Verfahren beginnt in Schritt 640, wobei das abgetastete Spektrum von einem Objekt oder einer Szene aufgezeichnet wird. In einem Beispiel kann die Aufzeichnung eines oder mehrere von Speichern des abgetasteten Spektrums im Speicher, Halten des abgetasteten Spektrums in einem Puffer und Bereitstellen von Auslesungen, wie sie an ein Verarbeitungsmodul empfangen werden, umfassen. Das Verfahren wird in Schritt 642 fortgesetzt, wobei das aufgezeichnete Spektrum analysiert wird. In einem Beispiel kann die Analyse das Analysieren des aufgezeichneten Spektrums umfassen, um eine oder mehrere von Intensitäten bei ausgewählten Wellenlängen, Gesamtenergie, Verhältnissen für aufgezeichnete Peaks im Spektrum umfassen (wie Peak/Valley-Verhältnisse oder Verhältnisse zwischen Peaks), relative Glätte oder zu bestimmen relatives Stacheligkeitssignal usw.). 7B is a logic diagram illustrating an example method for adaptively correcting spectral output from a sensor array. The method begins in step 640, where the sampled spectrum from an object or scene is recorded. In one example, recording may include one or more of storing the sampled spectrum in memory, holding the sampled spectrum in a buffer, and providing readings as received to a processing module. The method continues in step 642, where the recorded spectrum is analyzed. In one example, analysis may include analyzing the recorded spectrum to determine one or more of intensities at selected wavelengths, total energy, ratios for recorded peaks in the spectrum (such as peak/valley ratios or ratios between peaks), relative smoothness or relative spikiness signal, etc.).

In Schritt 644 wird das Verfahren fortgesetzt, wobei ein Kalibrierungsverfahren basierend auf dem analysierten Spektrum und einem oder mehreren zusätzlichen Eingabefaktoren bestimmt wird. Zusätzliche Eingangsfaktoren können beispielsweise ein Signal oder eine andere Anzeige einer Art von Beleuchtungsquelle (wie Laser, natürliches Licht, LED-Leuchtdiodenlicht usw.), eine Art von Objekt, das abgetastet wird (wie z.B. menschliche Haut, Außenszene usw.) und/oder eine beabsichtigte Verwendung für die spektrale Ausgabe (wie Gesundheitsanalysen, Weißabgleich usw.). Siehe 8D und den Begleittext für weitere Eingabefaktoren. In einem Beispiel kann das Kalibrierungsverfahren eine Matrix enthalten, wie beispielsweise die in 7A dargestellte Matrix. Andere Kalibrierungsverfahren umfassen eine oder mehrere Kalibrierungen unter Verwendung einer oder mehrerer von zwei Wellenlängen (wie z.B. zwei Wellenlängen, die für die Messung der peripheren Sauerstoffsättigung (SpO2) nützlich sind), Kalibrierungen unter Verwendung der Hauptkomponentenanalyse und Kalibrierungen unter Verwendung anderer Schemata. In Schritt 644 wird das bestimmte Kalibrierungsverfahren auf das abgetastete Spektrum angewendet. In Schritt 648 wird, wenn die Korrektur abgeschlossen ist, das korrigierte abgetastete Spektrum analysiert, um zu bestimmen, ob es innerhalb vorbestimmter Grenzen liegt, und wenn das korrigierte Abtastspektrum nicht innerhalb vorbestimmter Grenzen liegt, kann Schritt 642 wiederholt werden und/oder eine andere Kalibrierung kann verwendet werden, bis das korrigierte Abtastspektrum innerhalb vorbestimmter Grenzen liegt. In einem Beispiel können die vorbestimmten Grenzen auf einem oder mehreren Eingabefaktoren basieren, wie beispielsweise einem oder mehreren Metadaten, die einem Objekt oder einer Szene zugeordnet sind, einer Klassifizierungsgrenze, einer Nachschlagetabelle, einer Formel oder einer verwendeten Kalibrierungsmethode.In step 644, the method continues, determining a calibration method based on the analyzed spectrum and one or more additional input factors. Additional input factors may include, for example, a signal or other indication of a type of illumination source (such as laser, natural light, LED light-emitting diode light, etc.), a type of object being scanned (such as human skin, outdoor scene, etc.), and/or an intended use for the spectral output (such as health analytics, white balance, etc.). See 8D and the accompanying text for additional input factors. In an example, the calibration procedure may include a matrix such as that shown in 7A Other calibration methods include one or more calibrations using one or more of two wavelengths (such as two wavelengths useful for measuring peripheral oxygen saturation (SpO2)), calibrations using principal component analysis, and calibrations using other schemes. In step 644, the particular calibration method is applied to the sampled spectrum. In step 648, when the correction is complete, the corrected sampled spectrum is analyzed to determine if it is within predetermined limits, and if the corrected sampled spectrum is not within predetermined limits, step 642 may be repeated and/or another calibration may be used until the corrected sampled spectrum is within predetermined limits. In one example, the predetermined limits may be based on one or more input factors, such as one or more metadata associated with an object or scene, a classification boundary, a lookup table, a formula, or a calibration method used.

7C stellt ein Logikdiagramm bereit, das ein anderes beispielhaftes Verfahren zum adaptiven Korrigieren der Spektralausgabe von einem Sensorarray darstellt. Das Verfahren beginnt in Schritt 650 mit einem optischen Sensorarray, das dem Spektralsensorsystem zugeordnet ist, das Licht mit N Eingangsleistungen für jede Lichtwellenlänge von M Lichtwellenlängen empfängt, um N x M Wellenlängen- und Eingangsleistungspaare zu erzeugen. In einem Beispiel wird jede Wellenlänge des Lichts der M Wellenlängen des Lichts und jede Eingangsleistung des Lichts der N Eingangsleistungen des Lichts von dem optischen Sensorarray in einer vorbestimmten Sequenz empfangen. In einem anderen Beispiel ist jeder optische Sensor des optischen Sensorarrays einem optischen Filter aus mehreren Sätzen optischer Filter zugeordnet, und jeder optische Filter eines Satzes optischer Filter ist konfiguriert, um Licht in einem anderen Wellenlängenbereich durchzulassen. Das Verfahren wird in Schritt 652 fortgesetzt, wobei das Spektralsensorsystem mehrere Signale erzeugt, um ein erzeugtes Signal für jedes Wellenlängen- und Eingangsleistungspaar zu erzeugen, wobei jedes der Vielahl von Signalen für das empfangene Licht bei jedem Wellenlängen- und Eingangsleistungspaar der N x M-Wellenlängen- und Eingangsleistungspaare repräsentativ ist. In Schritt 654 bestimmt das Spektralsensorsystem eine Vielzahl von Fehlerkoeffizienten, wobei jeder Fehlerkoeffizient der Vielzahl von Fehlerkoeffizienten repräsentativ für die Differenz zwischen einem erzeugten Signal und einem Zielwert für ein Wellenlängen- und Eingangsleistungspaar ist. In Schritt 656 verwendet das Sensorsystem die Vielzahl von Fehlerkoeffizienten, um ein künstliches neuronales Netzwerk zu trainieren, das konfiguriert ist, um eine von dem optischen Sensorarray erzeugte spektrale Antwort anzupassen, und in Schritt 658 kann die Ausgabe des trainierten künstlichen neuronalen Netzwerks verwendet werden, um die von einem anderen optischen Sensorarray erzeugte spektrale Antwort einzustellen. 7C provides a logic diagram illustrating another exemplary method for adaptively correcting the spectral output from a sensor array. The method begins in step 650 an optical sensor array associated with the spectral sensor system that receives light at N input powers for each wavelength of light of M wavelengths of light to generate N x M wavelength and input power pairs. In one example, each wavelength of light of the M wavelengths of light and each input power of light of the N input powers of light are received by the optical sensor array in a predetermined sequence. In another example, each optical sensor of the optical sensor array is associated with an optical filter of a plurality of sets of optical filters, and each optical filter of a set of optical filters is configured to pass light in a different range of wavelengths. The method continues in step 652, wherein the spectral sensor system generates a plurality of signals to produce a generated signal for each wavelength and input power pair, each of the plurality of signals being representative of the received light at each wavelength and input power pair of the N x M wavelength and input power pairs. In step 654, the spectral sensor system determines a plurality of error coefficients, each error coefficient of the plurality of error coefficients representative of the difference between a generated signal and a target value for a wavelength and input power pair. In step 656, the sensor system uses the plurality of error coefficients to train an artificial neural network configured to adjust a spectral response generated by the optical sensor array, and in step 658, the output of the trained artificial neural network may be used to adjust the spectral response generated by another optical sensor array.

In einem speziellen Implementierungsbeispiel kann das in 7C genannte künstliche neuronale Netzwerk konfiguriert werden, um Informationen zu empfangen, die einer Szene zugeordnet sind, die von einem anderen Spektralsensor abgetastet wird. In einem weiteren Beispiel wird die Ausgabe des trainierten künstlichen neuronalen Netzwerks einem anderen künstlichen neuronalen Netzwerk bereitgestellt, das einem anderen optischen Sensorarray (in einem anderen Spektralsensorsystem) zugeordnet ist, wobei das andere künstliche neuronale Netzwerk so konfiguriert ist, dass es Informationen empfängt, die einer Szene zugeordnet sind, die von dem anderen Spektralsensorsystem abgetastet wird.In a specific implementation example, this can be 7C called an artificial neural network may be configured to receive information associated with a scene sensed by a different spectral sensor. In another example, the output of the trained artificial neural network is provided to another artificial neural network associated with a different optical sensor array (in a different spectral sensor system), the other artificial neural network configured to receive information associated with a scene sensed by the different spectral sensor system.

In einem Beispiel kann das in 7C erwähnte künstliche neuronale Netzwerk mit Koeffizienten für N × M Wellenlängen- und Eingangsleistungspaare zusammen mit Korrekturen trainiert werden, die auf anderen Eingangsfaktoren basieren, wie beispielsweise den Eingangsfaktoren, auf die unter Bezugnahme auf 7A Bezug genommen wird. In einem anderen Beispiel kann ein trainiertes künstliches neuronales Netzwerk verwendet werden, um eine Gewichtung für ein oder mehrere künstliche neuronale Netzwerke bereitzustellen, die anderen Spektralsensorsystemen zugeordnet sind, die selbst basierend auf verschiedenen Eingabefaktoren trainiert werden können.In an example, this can be 7C The artificial neural network mentioned may be trained with coefficients for N × M wavelength and input power pairs together with corrections based on other input factors, such as the input factors referred to with reference to 7A In another example, a trained artificial neural network may be used to provide weighting for one or more artificial neural networks associated with other spectral sensor systems, which may themselves be trained based on various input factors.

8A zeigt einen beispielhaften Spektralsensor, wobei die Eingangsparameter 310, wie beispielsweise ein Abtasten von monochromatischem Licht über ausgewählte Wellenlängen bei ausgewählten Eingangsleistungseinheiten, am Spektralsensor 10 bereitgestellt werden und eine unkorrigierte Ausgangsantwort 500 gesammelt wird (wie L × S × N aus Schritt 600 von 7A). In einem Beispiel enthält ein Spektralsensor 10 Kalibrierungsdaten, die während des Testens und/oder der Herstellung des Spektralsensors 10 gesammelt wurden, wobei die Kalibrierungsdaten spezifisch für das Spektralarray 220 des Spektralsensors 10 sind. In einem Beispiel werden die Kalibrierungsdaten in einem dem Spektralsensor 10 zugeordneten Flash-Speicher gespeichert. 8A shows an exemplary spectral sensor, where input parameters 310, such as a sampling of monochromatic light over selected wavelengths at selected input power units, are provided to the spectral sensor 10 and an uncorrected output response 500 is collected (such as L × S × N from step 600 of 7A) . In one example, a spectral sensor 10 includes calibration data collected during testing and/or manufacturing of the spectral sensor 10, where the calibration data is specific to the spectral array 220 of the spectral sensor 10. In one example, the calibration data is stored in a flash memory associated with the spectral sensor 10.

In dem Beispiel ist die unkorrigierte Ausgangsantwort 500 ein Maß dafür, wie sich der Spektralsensor 10 verhält, wenn er mit monochromatischem Licht bei inkrementellen Eingangsleistungspegeln gewobbelt wird. In einem „idealen“ Spektralsensor erzeugt jeder Sensor oder jedes Pixel in Kombination mit einem zugehörigen Filterelement ein Signal, das eine im Wesentlichen perfekte Darstellung der Eingangsleistung und des am Spektralsensor 10 bereitgestellten Lichts darstellt, so dass eine lineare Folge von Wellenlängen bei einer gegebenen Eingangsleistung zu einer spektralen Ausgangsantwort führt, die im Wesentlichen mit der Eingangsleistung und dem am Spektralsensor 10 bereitgestellten Licht übereinstimmt (d.h. die spektrale Ausgangsantwort wäre „ideal“). Da kein Spektralsensor auf solch ideale Weise arbeitet, weicht die unkorrigierte Ausgangsantwort 500 von der idealen spektralen Ausgangsantwort ab und erfordert eine Korrektur, um die Eingangsparameter 310 genau darzustellen.In the example, the uncorrected output response 500 is a measure of how the spectral sensor 10 behaves when swept with monochromatic light at incremental input power levels. In an "ideal" spectral sensor, each sensor or pixel in combination with an associated filter element produces a signal that is a substantially perfect representation of the input power and light provided to the spectral sensor 10, such that a linear sequence of wavelengths at a given input power results in a spectral output response that substantially matches the input power and light provided to the spectral sensor 10 (i.e., the spectral output response would be "ideal"). Since no spectral sensor operates in such an ideal manner, the uncorrected output response 500 deviates from the ideal spectral output response and requires correction to accurately represent the input parameters 310.

In 8B ist ein beispielhafter Spektralsensor dargestellt, der ein künstliches neuronales Netzwerk verwendet. In einem Beispiel werden rohe Spektraldaten, wie die unkorrigierte Ausgangsantwort 500 aus 8A, verwendet, um ein Spektrometer-Modell 510 für den Spektralsensor 10 zu erstellen, so dass das Spektrometer-Modell 510 die Nichtidealität des Spektralsensors 10 für alle Eingabeparameter 310 widerspiegelt, die dem Spektralsensor 10 bereitgestellt werden, wie im Beispiel von 8A.In 8B An example spectral sensor using an artificial neural network is shown. In one example, raw spectral data, such as the uncorrected output response 500 from 8A , used to create a spectrometer model 510 for the spectral sensor 10, such that the spectrometer model 510 reflects the non-ideality of the spectral sensor 10 for all input parameters 310 provided to the spectral sensor 10, as in the example of 8A .

In dem Beispiel werden künstliche Spektren 560 am Spektrometermodell 510 empfangen, dessen Ausgabe dann in ein künstliches neuronales Netzwerk wie das künstliche neuronale Netzwerk 370 eingegeben und mit einer gewünschten oder erwarteten spektralen Ausgabe für künstliche Spektren 560 verglichen wird. In einem Beispiel wird der Fehler 530 wiederholt für die künstlichen Spektren 560 bestimmt und in das künstliche neuronale Netzwerk 370 eingegeben, um Koeffizienten zu erzeugen, die die Differenz zwischen den künstlichen Spektren 560 und dem Spektrometermodell 510 widerspiegeln. Die erzeugten Koeffizienten können dann gespeichert und anschließend in ein generisches künstliches neuronales Netzwerk geladen werden, um das Spektrum in einem zugeordneten Spektralsensor zu korrigieren. In einem Beispiel wird eine Anzahl von künstlichen Spektren 560 basierend auf der gewünschten Präzision und Genauigkeit für den Spektralsensor 10 bestimmt und kann beispielsweise 100 Millionen Spektren überschreiten.In the example, artificial spectra 560 are received at spectrometer model 510, the output of which is then input to an artificial neural network such as artificial neural network 370 and compared to a desired or expected spectral output for artificial spectra 560. In one example, error 530 is repeatedly determined for the artificial spectra 560 and input to artificial neural network 370 to generate coefficients that reflect the difference between the artificial spectra 560 and spectrometer model 510. The generated coefficients may then be stored and subsequently loaded into a generic artificial neural network to correct the spectrum in an associated spectral sensor. In one example, a number of artificial spectra 560 is determined based on the desired precision and accuracy for spectral sensor 10 and may, for example, exceed 100 million spectra.

In einer Ausführungsform kann der Spektralsensor 10 Filtermuster über die räumlichen Bereiche eines Sensorarrays (wie des Spektralsensorarrays 100 aus 1) bereitstellen, um eine korrigierte spektrale Ausgangsantwort 520 zu optimieren. Beispielsweise kann das Filtermuster über das Spektralsensorarray (wie das Spektralsensorarray 100 aus 1) verschlüsselt und/oder über das Spektralarray hinweg mehrfach wiederholt werden. Die wiederholten Muster können beispielsweise Schattierungseffekte und andere Effekte aufgrund von Ungleichmäßigkeiten reduzieren, die das Ergebnis anderer Elemente sein können, die dem Spektralsensor 10 zugeordnet sind, wie beispielsweise Kollimationsoptiken.In one embodiment, the spectral sensor 10 may filter patterns over the spatial regions of a sensor array (such as the spectral sensor array 100 of 1 ) to optimize a corrected spectral output response 520. For example, the filter pattern can be applied across the spectral sensor array (such as the spectral sensor array 100 of 1 ) and/or repeated multiple times across the spectral array. For example, the repeated patterns may reduce shading effects and other effects due to non-uniformities that may be the result of other elements associated with the spectral sensor 10, such as collimation optics.

In einer anderen Ausführungsform kann der Effekt von Änderungen der Beleuchtung und/oder der Neigung der Szene durch das künstliche neuronale Netzwerk 370 behoben und/oder geändert werden. Die Neigung der Szene kann als die Beziehung zwischen einer Szene oder einem Objekt auf einer vertikalen und/oder horizontalen Achse relativ zu einem Imager wie einem Spektral-Imager beschrieben werden. Beispielsweise könnte eine Szene, die in einer vertikalen und horizontalen Achse relativ senkrecht zur Sichtlinie eines Bildgebungssystems (wie einer Kamera) ist, so beschrieben werden, dass sie eine Neigung von null Grad (0 Grad) aufweist. Wenn die Sichtlinie als eine Linie beschrieben wird, die sich vom Blickwinkel eines Bildgebers zu einem abgetasteten Objekt oder Bereich (z.B. einer Bühne) erstreckt, könnte dann eine Neigung von 20 Grad anzeigen, dass das abgetastete Objekt um 20 Grad von der Senkrechten zur Sichtlinie abweicht.In another embodiment, the effect of changes in lighting and/or tilt of the scene may be corrected for and/or modified by the artificial neural network 370. Scene tilt may be described as the relationship between a scene or object on a vertical and/or horizontal axis relative to an imager, such as a spectral imager. For example, a scene that is perpendicular to the line of sight of an imaging system (such as a camera) in a vertical and horizontal axis could be described as having a tilt of zero degrees (0 degrees). If the line of sight is described as a line extending from the viewpoint of an imager to a scanned object or area (e.g., a stage), then a tilt of 20 degrees could indicate that the scanned object deviates 20 degrees from perpendicular to the line of sight.

In einem Beispiel enthalten synthetische Spektren, wie beispielsweise künstliche Spektren 560, gemessene Parameter für verschiedene Neigungs- und Beleuchtungsinkremente, die im Training verwendet werden können, um die Auswirkungen dieser Parameter zu minimieren. In einem Beispiel kann die Korrektur der Neigung und/oder Beleuchtung die Anforderung zum Kollimieren von Elementen in dem Sensorarray verringern. In einem speziellen Beispiel könnten gemessene Parameter wie eine Szenenneigung oder eine Beleuchtungsänderung mit einem künstlichen neuronalen Netzwerk 370 verwendet werden, das konfiguriert ist, um es einem Benutzer zu ermöglichen, einem Bild einen Effekt aufzuerlegen, wie beispielsweise eine Szenenneigung. In einem Beispiel könnte ein Neigungsverschiebungseffekt bereitgestellt werden, so dass ein Bild mit 0 Neigungsgraden einen variablen Neigungsbetrag widerspiegeln könnte, um einen Neigungsverschiebungseffekt bereitzustellen. In einem speziellen verwandten Beispiel könnte eine gemessene Szenenneigung mit einem künstlichen neuronalen Netzwerk 370 verwendet werden, um es einem Benutzer zu ermöglichen, die Brennebene eines Bildes zu manipulieren, um eine Verzerrung aufgrund einer Neigung zu korrigieren. In einem anderen spezifischen verwandten Beispiel könnte eine gemessene Szenenneigung mit einem künstlichen neuronalen Netzwerk 370 verwendet werden, um es einem Benutzer zu ermöglichen, die Brennebene eines Bildes zu manipulieren, um die Konvergenz vertikaler und/oder horizontaler Linien eines weiteren Merkmals im Bild abzuschwächen.In one example, synthetic spectra, such as artificial spectra 560, include measured parameters for various tilt and illumination increments that can be used in training to minimize the effects of those parameters. In one example, correcting for tilt and/or illumination can reduce the requirement to collimate elements in the sensor array. In a specific example, measured parameters such as a scene tilt or illumination change could be used with an artificial neural network 370 configured to allow a user to impose an effect on an image, such as a scene tilt. In one example, a tilt shift effect could be provided so that an image with 0 degrees of tilt could reflect a variable amount of tilt to provide a tilt shift effect. In a specific related example, measured scene tilt could be used with an artificial neural network 370 to allow a user to manipulate the focal plane of an image to correct for distortion due to tilt. In another specific related example, a measured scene tilt could be used with an artificial neural network 370 to allow a user to manipulate the focal plane of an image to soften the convergence of vertical and/or horizontal lines of another feature in the image.

In einer weiteren Ausführungsform kann der Effekt von Änderungen des Umgebungslichts und/oder Temperaturänderungen durch das künstliche neuronale Netzwerk 370 behoben werden. In einem Beispiel enthalten die synthetischen Spektren, wie beispielsweise die künstlichen Spektren 560, gemessene Parameter für verschiedene Umgebungslichtbedingungen und - temperaturen, die im Training verwendet werden können, um die Auswirkungen dieser Parameter zu minimieren.In another embodiment, the effect of changes in ambient light and/or temperature changes may be corrected by the artificial neural network 370. In one example, the synthetic spectra, such as the artificial spectra 560, include measured parameters for various ambient light conditions and temperatures that may be used in training to minimize the effects of these parameters.

In einem spezifischen Beispiel der Implementierung und des Betriebs umfasst ein Spektralsensorsystem eine Vielzahl von optischen Sensoren, die auf einer integrierten Schaltung angeordnet sind. wobei die Vielzahl von optischen Sensoren in einem Array und einer Schnittstelle zwischen der Vielzahl von optischen Sensoren und einer ersten Verarbeitungsvorrichtung angeordnet sind, die konfiguriert ist, um Informationen untereinander zu übertragen. In einem Beispiel sind mehrere Sätze von optischen Filtern als eine Schicht konfiguriert, die sich auf der Vielzahl von optischen Sensoren befindet, wobei ein Satz von optischen Filtern der Vielzahl von Sätzen von optischen Filtern eine Vielzahl von optischen Filtern umfasst, und jedes optische Filter der Vielzahl von optischen Filtern konfiguriert ist, um Licht in einem anderen Wellenlängenbereich durchzulassen. In dem Beispiel ist ein Speicher enthalten, der konfiguriert ist, um eine Schnittstelle mit der ersten Verarbeitungsvorrichtung herzustellen und mit dieser zu kommunizieren und Kalibrierungsdaten zu speichern, die mit der Vielzahl von Sätzen optischer Sensoren verbunden sind, wobei eine zweite Verarbeitungsvorrichtung ein künstliches neuronales Netzwerk umfasst, das konfiguriert ist, um eine durch die Vielzahl von optischen Sensoren erzeugte spektrale Antwort zu korrigieren, zusammen mit einer Schnittstelle zwischen der ersten Verarbeitungsvorrichtung und der zweiten Verarbeitungsvorrichtung.In a specific example of implementation and operation, a spectral sensor system comprises a plurality of optical sensors arranged on an integrated circuit, wherein the plurality of optical sensors are arranged in an array and an interface between the plurality of optical sensors and a first processing device configured to communicate information between them. In an example, a plurality of sets of optical filters are configured as a layer located on the plurality of optical sensors, wherein a set of optical filters of the plurality of sets of optical filters comprises a plurality of optical filters, and each optical filter of the plurality of optical filters to pass light in a different wavelength range. Included in the example is a memory configured to interface and communicate with the first processing device and store calibration data associated with the plurality of sets of optical sensors, wherein a second processing device comprises an artificial neural network configured to correct a spectral response generated by the plurality of optical sensors, along with an interface between the first processing device and the second processing device.

8C zeigt einen beispielhaften Spektralsensor, bei dem eine physikalische Szene 160 einem Spektralsensor 10 bereitgestellt wird, der dann an ein trainiertes künstliches neuronales Netzwerk 370 ausgegeben wird, um eine korrigierte spektrale Ausgangsantwort 520 für die physikalische Szene 560 bereitzustellen. 8D zeigt einen beispielhaften Spektralsensor, bei dem Metadaten einer physikalischen Szene für das künstliche neuronale Netzwerk wie das künstliche neuronale Netzwerk 370 bereitgestellt werden. In einem Beispiel sind Metadaten 570 der physischen Szene zur Verwendung durch das künstliche neuronale Netzwerk 370 vorbestimmt. In einem Beispiel können, wenn eine bestimmte Pflanze Gegenstand einer Analyse ist, bekannte spektrale Antworten für diese Pflanze verwendet werden, um die Effizienz des künstlichen neuronalen Netzwerks 370 zu erhöhen. Dies könnte erreicht werden, indem einer oder mehrere der Messbereiche optimiert, die Granularität der Messungen in einem Teil der physischen Szene erhöht oder die Analyse auf der Grundlage der Metadaten 570 auf andere Weise manipuliert werden. Die Metadaten 570 für physikalische Szenen können Daten enthalten, die von zusätzlichen Sensoren wie Gyroskopen, Magnetometern, Beschleunigungsmessern, Temperatursensoren und Bildsensoren bereitgestellt werden, sind jedoch nicht darauf beschränkt. 8C shows an example spectral sensor in which a physical scene 160 is provided to a spectral sensor 10, which is then output to a trained artificial neural network 370 to provide a corrected spectral output response 520 for the physical scene 560. 8D shows an example spectral sensor where physical scene metadata is provided to the artificial neural network, such as artificial neural network 370. In one example, physical scene metadata 570 is predetermined for use by artificial neural network 370. In one example, if a particular plant is the subject of analysis, known spectral responses for that plant may be used to increase the efficiency of artificial neural network 370. This could be accomplished by optimizing one or more of the measurement regions, increasing the granularity of measurements in a portion of the physical scene, or otherwise manipulating the analysis based on metadata 570. Physical scene metadata 570 may include data provided by additional sensors, such as, but not limited to, gyroscopes, magnetometers, accelerometers, temperature sensors, and image sensors.

In einem spezifischen Beispiel der Implementierung und des Betriebs können die Metadaten 570 Informationen über eine physikalische Szene 560 enthalten, die das künstliche neuronale Netzwerk 370 entweder nicht korrigieren kann oder eine korrigierte spektrale Ausgangsantwort 520 außerhalb akzeptabler Grenzen erzeugen würde. In einem Beispiel kann das künstliche neuronale Netzwerk 370 konfiguriert sein, um eine Benachrichtigung, wie beispielsweise ein Signal, bereitzustellen, die anzeigt, dass eine Korrektur nicht innerhalb akzeptabler Grenzen liegt. In einem anderen Beispiel kann das künstliche neuronale Netzwerk 370 konfiguriert sein, um eine Benachrichtigung, wie beispielsweise ein Signal, bereitzustellen, die anzeigt, dass eine Korrektur innerhalb akzeptabler Grenzen liegt, wodurch ein Benutzer effektiv informiert wird, dass der korrigierten spektralen Ausgangsantwort 520 vertraut werden kann. Beispiele für Metadaten 570 Informationen, die das künstliche neuronale Netzwerk 370 entweder nicht korrigieren kann oder außerhalb akzeptabler Grenzen liegen würde, umfassen eine oder mehrere von zu geringem Eingangslicht, Sensorsättigung oder dem Einfallswinkel für einfallendes Licht, um durch das künstliche neuronale Netzwerk 370 korrigiert zu werden.In a specific example of implementation and operation, the metadata 570 may include information about a physical scene 560 that the artificial neural network 370 either cannot correct or would produce a corrected spectral output response 520 outside of acceptable limits. In one example, the artificial neural network 370 may be configured to provide a notification, such as a signal, indicating that a correction is not within acceptable limits. In another example, the artificial neural network 370 may be configured to provide a notification, such as a signal, indicating that a correction is within acceptable limits, effectively informing a user that the corrected spectral output response 520 can be trusted. Examples of metadata 570 information that the artificial neural network 370 either cannot correct or would be outside acceptable limits include one or more of too little input light, sensor saturation, or the angle of incidence for incoming light to be corrected by the artificial neural network 370.

In einem anderen spezifischen Beispiel der Implementierung und des Betriebs kann das künstliche neuronale Netzwerk 370 mit einer Vielzahl von Betriebsmodi konfiguriert werden. In einem Beispiel kann das künstliche neuronale Netzwerk 370 mit einem Modus mit hoher Genauigkeit und höherer Leistung konfiguriert werden, der eine spektrale Ausgabe von relativ hoher Qualität erzeugt, aber einen relativ höheren Energieverbrauch aufweist oder das künstliche neuronale Netzwerk 370 kann mit einem Modus mit geringerer Genauigkeit und geringerer Leistung konfiguriert werden, wobei weniger Berechnungen durchgeführt werden, um den Energieverbrauch auf relativer Basis zu reduzieren. In einem anderen speziellen Beispiel für Implementierung und Betrieb kann ein Vorgang mit reduzierter Komplexität konfiguriert werden, um ein oder mehrere Szenarien zu korrigieren. Beispielsweise kann das künstliche neuronale Netzwerk 370 konfiguriert sein, um eine Bedingung oder einen Satz von Bedingungen auszuwählen, wie beispielsweise eine mittlere Lichtintensität, und Einfallswinkel für einfallendes Licht, das in einem Winkel von 6 Grad kollimiert ist, bevor die Korrektur durch das künstliche neuronale Netzwerk 370 ausgeführt wird. In einem Beispiel kann der reduzierte Satz von Bedingungen beispielsweise einen reduzierten Stromverbrauch bereitstellen. In einem verwandten Beispiel kann eine spezifische Korrektur von einem künstlichen neuronalen Netzwerk 370 zur Verwendung in einem nicht auf neuronalen basierenden Prozessor bereitgestellt werden, um die relative Leistung oder die Kosten für die Spektralkorrektur zu reduzieren.In another specific example of implementation and operation, the artificial neural network 370 may be configured with a variety of operating modes. In one example, the artificial neural network 370 may be configured with a high accuracy, higher performance mode that produces a relatively high quality spectral output but has a relatively higher power consumption, or the artificial neural network 370 may be configured with a lower accuracy, lower performance mode where fewer calculations are performed to reduce power consumption on a relative basis. In another specific example of implementation and operation, a reduced complexity operation may be configured to correct one or more scenarios. For example, the artificial neural network 370 may be configured to select a condition or set of conditions, such as a mean light intensity, and angle of incidence for incident light collimated at an angle of 6 degrees, before the correction is performed by the artificial neural network 370. In one example, the reduced set of conditions may provide, for example, reduced power consumption. In a related example, a specific correction may be provided by an artificial neural network 370 for use in a non-neural-based processor to reduce the relative performance or cost of spectral correction.

In einem anderen spezifischen Beispiel der Implementierung und des Betriebs kann das künstliche neuronale Netzwerk 370 konfiguriert werden, um einen Vertrauens- oder Genauigkeitswert mit einer korrigierten spektralen Ausgangsantwort 520 bereitzustellen. Wenn beispielsweise ein roter Fleck (oder eine rote Kachel) bei 50% Eingangsleistung gemessen wird, enthält die resultierende korrigierte spektrale Ausgangsantwort 520 für die Messung eine absolute/relative Genauigkeit von 1% bei der Wellenlänge von 700 nm und eine absolute/relative Genauigkeit von 5 % bei 500 nm. Wenn beispielsweise ein roter Fleck (oder eine rote Kachel) bei 50% Eingangsleistung gemessen wird, enthält die resultierende korrigierte spektrale Ausgangsantwort 520 für die Messung eine absolute/relative Genauigkeit von 1% bei der Wellenlänge von 700 nm und eine absolute/relative Genauigkeit von 5 % bei 500 nm. Wenn in einem Beispiel die korrigierte spektrale Ausgangsantwort 520 zwischen 500 nm und 550 nm einen relativ niedrigen Konfidenzwert aufweist, um genau zu sein, könnte die nachfolgende Anwendungsschicht diesem Teil des korrigierten Spektrums eine geringere Bedeutung zuweisen.In another specific example of implementation and operation, the artificial neural network 370 may be configured to provide a confidence or accuracy value with a corrected spectral output response 520. For example, if a red spot (or red tile) is measured at 50% input power, the resulting corrected spectral output response 520 for the measurement includes an absolute/relative accuracy of 1% at the wavelength of 700 nm and an absolute/relative accuracy of 5% at 500 nm. For example, if a red spot (or red tile) is measured at 50% input power, the resulting corrected spectral output response 520 for the measurement has an absolute/relative accuracy of 1% at the wavelength of 700 nm and an absolute/relative accuracy of 5% at 500 nm. In an example, if the corrected spectral output response 520 has a relatively low confidence value between 500 nm and 550 nm to be accurate, the subsequent application layer could assign less importance to that portion of the corrected spectrum.

In einem Beispiel kann ein neuronaler Netzwerkkorrekturalgorithmus eine oder mehrere gewichtete Verlustfunktionen (manchmal als gewichtete Kostenfunktionen bezeichnet) enthalten, die einem Bereich und/oder einem interessierenden Bereich zugeordnet sind, wie beispielsweise einem Teil der physischen Szene 560 oder einem oder mehreren identifizierten Objekten oder Bereiche aus der physischen Szene 560. In einem Beispiel kann eine gewichtete Verlustfunktion verwendet werden, um die Empfindlichkeit eines Spektralerfassungssystems, wie beispielsweise des Spektralsensors 10, für einen bestimmten Bereich und/oder Bereich, der abgetastet wird, zu erhöhen. In einem speziellen Beispiel für Implementierung und Betrieb können eine oder mehrere gewichtete Verlustfunktionen ermöglichen, dass die Hardware des Spektralsensorsystems (wie der Spektralsensor 10) für den Einsatz in Bereichen mit unterschiedlichen Anforderungen und Leistungserwartungen anpassbar ist. In einem Beispiel sind die eine oder mehreren gewichteten Verlustfunktionen bei der Herstellung festgelegt. In einem anderen Beispiel können die eine oder mehreren gewichteten Verlustfunktionen manuell ausgewählt werden. In einem weiteren Beispiel werden die eine oder mehreren gewichteten Verlustfunktionen basierend auf einem Algorithmus bestimmt, beispielsweise einem Mustererkennungsalgorithmus.In one example, a neural network correction algorithm may include one or more weighted loss functions (sometimes referred to as weighted cost functions) associated with a region and/or area of interest, such as a portion of the physical scene 560 or one or more identified objects or areas from the physical scene 560. In one example, a weighted loss function may be used to increase the sensitivity of a spectral sensing system, such as spectral sensor 10, for a particular region and/or area being sampled. In a specific example of implementation and operation, one or more weighted loss functions may enable the hardware of the spectral sensor system (such as spectral sensor 10) to be adaptable for use in areas with different requirements and performance expectations. In one example, the one or more weighted loss functions are fixed at manufacture. In another example, the one or more weighted loss functions may be manually selected. In another example, the one or more weighted loss functions are determined based on an algorithm, such as a pattern recognition algorithm.

In einem speziellen verwandten Beispiel kann die Messung der Hydratation, wie beispielsweise der Hydratationsgrad in der Haut, unter Verwendung von Daten aus räumlich getrennten Bereichen eines Sensors implementiert werden, um die Genauigkeit und/oder Präzision an 5 bestimmten Abschnitten des für die Hydratationsanalyse verwendeten Spektrums zu erhöhen. In dem Beispiel kann die Genauigkeit und/oder Präzision des Spektrums in anderen Spektralbereichen relativ weniger relevant sein, somit kann das Spektralsensorsystem die Proben aus diesen Spektralbereichen reduzieren oder eliminieren.In a specific related example, the measurement of hydration, such as the level of hydration in the skin, may be implemented using data from spatially separated regions of a sensor to increase the accuracy and/or precision at 5 specific portions of the spectrum used for hydration analysis. In the example, the accuracy and/or precision of the spectrum may be relatively less relevant in other spectral regions, thus the spectral sensor system may reduce or eliminate samples from those spectral regions.

In einem anderen Beispiel kann der Spektralsensor 10 in Kombination mit dem künstlichen neuronalen Netzwerk 370 verwendet werden, um ein Vertrauensbild zu erzeugen, wobei das Konfidenzbild Informationen bereitstellt, die ausreichen, um zu bestimmen, ob das tatsächlich gemessene Spektrum angemessen ist. Beispielsweise kann das künstliche neuronale Netzwerk 370 einen Hinweis auf die Abweichung des gemessenen Spektrums von den bereits bestimmten Trainingsdaten bereitstellen. Die Abweichung kann dann verwendet werden, um abnormale Spektren anzuzeigen (Spektren, die normalerweise nicht auftreten können), die eine falsche Messung anzeigen.In another example, the spectral sensor 10 may be used in combination with the artificial neural network 370 to generate a confidence image, where the confidence image provides information sufficient to determine whether the actual measured spectrum is reasonable. For example, the artificial neural network 370 may provide an indication of the deviation of the measured spectrum from the already determined training data. The deviation may then be used to indicate abnormal spectra (spectra that cannot normally occur) that indicate an incorrect measurement.

In einem anderen Beispiel kann der Spektralsensor in Kombination mit dem künstlichen neuronalen Netzwerk 370 konfiguriert werden, umer als Zwischenschritt eine Korrektur der Spektralantwort bereitzustellen, bevor ein korrigiertes Spektrum ausgegeben wird. In dem Beispiel wird eine künstliche neuronale netzwerkkorrigierte Spektralantwort an die nachfolgende Schicht weitergeleitet, und ein Algorithmus oder das künstliche neuronale Netzwerk wird verwendet, um eine Eigenschaft oder Eigenschaften zu bestimmen, die aus dem gemessenen Spektrum abgeleitet sind. Beispielsweise kann eine Eigenschaft wie der Wassergehalt und/oder der Sauerstoffgehalt in einem zu analysierenden Medium bestimmt werden, wobei die Bestimmung auf der korrigierten spektralen Antwort basiert, die vom künstlichen neuronalen Netzwerk bereitgestellt wird, ohne dass ein korrigiertes Spektrum erforderlich ist.In another example, the spectral sensor in combination with the artificial neural network 370 may be configured to provide a correction of the spectral response as an intermediate step before outputting a corrected spectrum. In the example, an artificial neural network corrected spectral response is passed to the subsequent layer and an algorithm or the artificial neural network is used to determine a property or properties derived from the measured spectrum. For example, a property such as the water content and/or the oxygen content in a medium to be analyzed may be determined, the determination being based on the corrected spectral response provided by the artificial neural network without the need for a corrected spectrum.

In einer Ausführungsform werden physische Szenen-Metadaten 570 und/oder andere Daten, die in das künstliche neuronale Netzwerk 370 eingegeben werden, im Wesentlichen in Echtzeit (live) bereitgestellt, so dass das künstliche neuronale Netzwerk 370 die korrigierte Ausgabe ständig überarbeiten kann. In einer anderen Ausführungsform werden Metadaten 570 der physischen Szene und/oder andere Daten zuvor gespeichert und ein künstliches neuronales Netzwerk 370 bereitgestellt, wie erforderlich und/oder machbar.In one embodiment, physical scene metadata 570 and/or other data input to artificial neural network 370 is provided in substantially real-time (live) so that artificial neural network 370 can continually revise the corrected output. In another embodiment, physical scene metadata 570 and/or other data is previously stored and provided to artificial neural network 370 as required and/or feasible.

Es wird angemerkt, dass Terminologien, wie sie hier verwendet werden können, wie Bitstrom, Strom, Signalsequenz usw. (oder deren Äquivalente), austauschbar verwendet wurden, um digitale Informationen zu beschreiben, deren Inhalt einem beliebigen von einer Anzahl von gewünschten Typen entspricht (z.B. Daten, Video, Sprache, Text, Grafiken, Audio usw., von denen jedes allgemein als „Daten“ bezeichnet werden kann).It is noted that terminologies as may be used herein, such as bit stream, stream, signal sequence, etc. (or their equivalents), have been used interchangeably to describe digital information whose content corresponds to any of a number of desired types (e.g., data, video, voice, text, graphics, audio, etc., each of which may be referred to generically as "data").

Wie hierin verwendet werden kann, bieten die Begriffe „im Wesentlichen“ und „ungefähr“ eine branchenweit akzeptierte Toleranz für den entsprechenden Begriff und/oder die Relativität zwischen Elementen. Für einige Branchen beträgt eine von der Industrie akzeptierte Toleranz weniger als ein Prozent und für andere Branchen beträgt die von der Industrie akzeptierte Toleranz 10 Prozent oder mehr. Andere Beispiele für branchenübliche Toleranz reichen von weniger als einem Prozent bis fünfzig Prozent. Von der Industrie akzeptierte Toleranzen entsprechen, ohne darauf beschränkt zu sein, Komponentenwerten, Prozessschwankungen bei integrierten Schaltkreisen, Temperaturschwankungen, Anstiegs- und Abfallzeiten, thermischem Rauschen, Abmessungen, Signalisierungsfehlern, verworfenen Paketen, Temperaturen, Drücken, Materialzusammensetzungen und/oder Leistungsmetriken. Innerhalb einer Branche können Toleranzabweichungen akzeptierter Toleranzen mehr oder weniger als ein Prozentniveau betragen (z.B. Dimensionstoleranz von weniger als +/- 1%). Eine gewisse Relativität zwischen Elementen kann von einer Differenz von weniger als einem Prozentsatz bis zu einigen Prozent reichen. Die andere Relativität zwischen Elementen kann von einer Differenz von einigen Prozent bis zur Größe der Unterschiede reichen.As used herein, the terms "substantially" and "approximately" provide an industry-accepted tolerance for the corresponding term and/or the relativity between elements. For some industries, an industry-accepted tolerance is less than one percent and for other industries, the industry-accepted tolerance is 10 percent or more. Other examples of industry-accepted tolerance include chen from less than one percent to fifty percent. Industry accepted tolerances correspond to, but are not limited to, component values, integrated circuit process variations, temperature variations, rise and fall times, thermal noise, dimensions, signaling errors, discarded packets, temperatures, pressures, material compositions, and/or performance metrics. Within an industry, tolerance variations of accepted tolerances can be more or less than a percentage level (e.g. dimensional tolerance of less than +/- 1%). Some relativity between elements can range from a difference of less than a percentage to a few percent. Other relativity between elements can range from a difference of a few percent to the magnitude of the differences.

Wie auch hierin verwendet werden kann, umfassen die Begriffe „konfiguriert, um“, „funktionsfähig gekoppelt an“, „gekoppelt an“ und/oder „Kopplung“ eine direkte Kopplung zwischen Elementen und/oder eine indirekte Kopplung zwischen Elementen über ein dazwischenliegendes Element, (z.B. umfasst ein Gegenstand eine Komponente, ein Element, eine Schaltung und/oder ein Modul, ist aber nicht darauf beschränkt), wenn zum Beispiel für eine indirekte Kopplung das dazwischenliegende Element die Informationen eines Signals nicht ändert, sondern dessen Strompegel, Spannungspegel und/oder Leistungspegel anpassen kann. Wie hierin weiter verwendet werden kann, umfasst die abgeleitete Kopplung (d.h. wenn ein Element durch Inferenz mit einem anderen Element gekoppelt ist) eine direkte und indirekte Kopplung zwischen zwei Elementen auf die gleiche Weise wie „gekoppelt mit“.As may also be used herein, the terms “configured to,” “operably coupled to,” “coupled to,” and/or “coupling” include direct coupling between elements and/or indirect coupling between elements via an intervening element (e.g., an article includes, but is not limited to, a component, element, circuit, and/or module), for example, for indirect coupling, the intervening element does not change the information of a signal, but can adjust its current level, voltage level, and/or power level. As may further be used herein, inferred coupling (i.e., when an element is coupled to another element by inference) includes direct and indirect coupling between two elements in the same manner as “coupled to.”

Wie hier noch weiter verwendet werden kann, zeigt der Begriff „konfigurier, um“, „bedienbar an“, „gekoppelt an“ oder „betriebsfähig gekoppelt an“ an, dass ein Gegenstand einen oder mehrere von Stromanschlüssen, Eingang/Eingängen, Ausgang/Ausgängen usw., um bei Aktivierung eine oder mehrere seiner entsprechenden Funktionen auszuführen, und kann ferner eine abgeleitete Kopplung an ein oder mehrere andere Elemente umfassen. Wie hier noch weiter verwendet werden kann, umfasst der Begriff "verknüpft mit die direkte und/oder indirekte Kopplung von getrennten Elementen und/oder einem Element, das in ein anderes Element eingebettet ist.As may be further used herein, the term "configurable to," "operable to," "coupled to," or "operably coupled to" indicates that an item includes one or more of power ports, input(s), output(s), etc., to perform one or more of its respective functions when activated, and may further include a derivative coupling to one or more other items. As may be further used herein, the term "linked to" includes the direct and/or indirect coupling of separate items and/or an item embedded within another item.

Wie hierin verwendet werden kann, zeigt der Begriff „günstig vergleichen“ an, dass ein Vergleich zwischen zwei oder mehr Elementen, Signalen usw. eine gewünschte Beziehung bereitstellt. Wenn beispielsweise die gewünschte Beziehung darin besteht, dass das Signal 1 eine größere Größe als das Signal 2 hat, kann ein günstiger Vergleich erzielt werden, wenn die Größe des Signals 1 größer als die des Signals 2 ist oder wenn die Größe des Signals 2 kleiner als die von Signal 1 ist. Wie hierin verwendet werden kann, zeigt der Begriff „ungünstig vergleichen“ an, dass ein Vergleich zwischen zwei oder mehr Elementen, Signalen usw. nicht die gewünschte Beziehung liefert.As may be used herein, the term "compare favorably" indicates that a comparison between two or more elements, signals, etc., provides a desired relationship. For example, if the desired relationship is that signal 1 has a larger magnitude than signal 2, a favorable comparison may be achieved if the magnitude of signal 1 is larger than that of signal 2 or if the magnitude of signal 2 is smaller than that of signal 1. As may be used herein, the term "compare unfavorably" indicates that a comparison between two or more elements, signals, etc. does not provide the desired relationship.

Wie hierin verwendet werden kann, können ein oder mehrere Ansprüche in einer spezifischen Form dieser generischen Form den Ausdruck „mindestens eines von a, b und c“ oder von dieser generischen Form „mindestens eines von a, b oder c“ mit mehr oder weniger Elementen als „a“, „b“ und „c“ enthalten. In beiden Formulierungen sind die Phrasen identisch zu interpretieren. Insbesondere ist „mindestens eines von a, b und c“ gleichbedeutend mit „mindestens eines von a, b oder c“ und bedeutet a, b und/oder c. Als Beispiel bedeutet es: nur „a“, nur „b“, nur „c“, „a“ und „b“, „a“ und „c“, „b“ und „c“ und/oder „a” „, „b” und „c".As used herein, one or more claims may contain the phrase "at least one of a, b, and c" in a specific form of this generic form, or of this generic form "at least one of a, b, or c" with more or fewer elements than "a," "b," and "c." In either formulation, the phrases are to be interpreted identically. In particular, "at least one of a, b, and c" is synonymous with "at least one of a, b, or c" and means a, b, and/or c. As an example, it means: "a" only, "b" only, "c" only, "a" and "b," "a" and "c," "b" and "c," and/or "a," "b," and "c."

Wie auch hierin verwendet werden kann, können die Begriffe „Verarbeitungsmodul“, „Verarbeitungsschaltung“, „Prozessor“, „Verarbeitungsschaltkreis“ und/oder „Verarbeitungseinheit“ eine einzelne Verarbeitungsvorrichtung oder mehrere Verarbeitungsvorrichtungen sein. Eine solche Verarbeitungsvorrichtung kann ein Mikroprozessor, eine Mikrosteuerung, ein digitaler Signalprozessor, ein Mikrocomputer, eine Zentralverarbeitungseinheit, ein vor Ort programmierbares Gate-Array, eine programmierbare Logikvorrichtung, eine Zustandsmaschine, eine Logikschaltung, eine analoge Schaltung, eine digitale Schaltung und/oder eine beliebige Vorrichtung sein, die Signale (analog und/oder digital) basierend auf einer harten Codierung der Schaltung und/oder Betriebsanweisungen manipuliert. Das Verarbeitungsmodul, das Modul, die Verarbeitungsschaltung, der Verarbeitungsschaltkreis und/oder die Verarbeitungseinheit können ein Speicher und/oder ein integriertes Speicherelement sein oder ferner einen Speicher und/oder ein integriertes Speicherelement umfassen, das eine einzelne Speichervorrichtung, mehrere Speichervorrichtungen und/oder eine eingebettete Schaltung eines anderen Verarbeitungsmoduls, Moduls, einer Verarbeitungsschaltung, eines Verarbeitungsschaltkreises und/oder einer Verarbeitungseinheit sein kann. Eine solche Speichervorrichtung kann ein Nur-Lese-Speicher, ein Direktzugriffsspeicher, ein flüchtiger Speicher, ein nichtflüchtiger Speicher, ein statischer Speicher, ein dynamischer Speicher, ein Flash-Speicher, ein Cache-Speicher und/oder eine beliebige Vorrichtung sein, die digitale Informationen speichert. Es ist zu beachten, dass, wenn das Verarbeitungsmodul, das Modul, die Verarbeitungsschaltung, der Verarbeitungsschaltkreis und/oder die Verarbeitungseinheit mehr als eine Verarbeitungsvorrichtung enthält, können die Verarbeitungsvorrichtungen zentral angeordnet sein (z.B. direkt über eine drahtgebundene und/oder drahtlose Busstruktur miteinander verbunden sein) oder verteilt angeordnet sein (z.B. Cloud Computing über indirekte Kopplung über ein lokales Netzwerk und/oder ein Weitverkehrsnetzwerk). Ferner ist zu beachten, dass, wenn das Verarbeitungsmodul, das Modul, die Verarbeitungsschaltung, der Verarbeitungsschaltkreis und/oder die Verarbeitungseinheit eine oder mehrere ihrer Funktionen über eine Zustandsmaschine, eine analoge Schaltung, eine digitale Schaltung und/oder eine Logikschaltung implementiert, können der Speicher und/oder das Speicherelement, in dem die entsprechenden Betriebsanweisungen gespeichert sind, in oder außerhalb der Schaltung eingebettet sein, die die Zustandsmaschine, die analoge Schaltung, die digitale Schaltung und/oder die Logikschaltung umfasst. Es ist noch weiter zu beachten, dass das Speicherelement speichern kann und das Verarbeitungsmodul, Modul, Verarbeitungsschaltkreis, Verarbeitungsschaltkreis und/oder Verarbeitungseinheit hartcodierte und/oder Betriebsanweisungen ausführt, die mindestens einigen der dargestellten Schritte und/oder Funktionen in einer oder mehreren der Figuren entsprechen. Eine solche Speichervorrichtung oder ein solches Speicherelement kann in einem Herstellungsgegenstand enthalten sein.As may also be used herein, the terms "processing module,""processingcircuit,""processor,""processingcircuit," and/or "processing unit" may refer to a single processing device or multiple processing devices. Such a processing device may be a microprocessor, a microcontroller, a digital signal processor, a microcomputer, a central processing unit, a field programmable gate array, a programmable logic device, a state machine, a logic circuit, an analog circuit, a digital circuit, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuit and/or operating instructions. The processing module, module, processing circuit, processing circuit, and/or processing unit may be a memory and/or an integrated storage element, or may further comprise a memory and/or an integrated storage element that may be a single storage device, multiple storage devices, and/or embedded circuitry of another processing module, module, processing circuit, processing circuit, and/or processing unit. Such a storage device may be a read-only memory, a random access memory, a volatile memory, a non-volatile memory, a static memory, a dynamic memory, a flash memory, a cache memory, and/or any device that stores digital information. It should be noted that if the processing module, module, processing circuit, processing circuit, and/or processing unit includes more than one processing device, the processing processing devices may be centrally located (e.g. directly interconnected via a wired and/or wireless bus structure) or distributed (e.g. cloud computing via indirect coupling via a local area network and/or a wide area network). Further, it should be noted that if the processing module, module, processing circuit, processing circuit and/or processing unit implements one or more of its functions via a state machine, an analog circuit, a digital circuit and/or a logic circuit, the memory and/or the storage element in which the corresponding operating instructions are stored may be embedded in or outside of the circuit comprising the state machine, the analog circuit, the digital circuit and/or the logic circuit. It should be further noted that the storage element may store and the processing module, module, processing circuit, processing circuit and/or processing unit executes hard-coded and/or operating instructions that correspond to at least some of the illustrated steps and/or functions in one or more of the figures. Such a storage device or element may be included in an article of manufacture.

Eine oder mehrere Ausführungsformen wurden oben mit Hilfe von Verfahrensschritten beschrieben, die die Leistung spezifizierter Funktionen und Beziehungen davon veranschaulichen. Die Grenzen und die Reihenfolge dieser funktionalen Bausteine und Verfahrensschritte wurden hier zur Vereinfachung der Beschreibung willkürlich definiert. Alternative Grenzen und Sequenzen können definiert werden, solange die angegebenen Funktionen und Beziehungen ordnungsgemäß ausgeführt werden. Ferner wurden die Grenzen dieser funktionalen Bausteine zur Vereinfachung der Beschreibung willkürlich definiert. Alternative Grenzen könnten definiert werden, solange die bestimmten signifikanten Funktionen angemessen ausgeführt werden. In ähnlicher Weise können Flussdiagrammblöcke hierin auch willkürlich definiert worden sein, um bestimmte signifikante Funktionen zu veranschaulichen. One or more embodiments have been described above using method steps that illustrate the performance of specified functions and relationships thereof. The boundaries and sequence of these functional building blocks and method steps have been arbitrarily defined herein for ease of description. Alternative boundaries and sequences may be defined so long as the specified functions and relationships are properly performed. Further, the boundaries of these functional building blocks have been arbitrarily defined for ease of description. Alternative boundaries could be defined so long as the particular significant functions are properly performed. Similarly, flowchart blocks may also have been arbitrarily defined herein to illustrate particular significant functions.

In dem verwendeten Umfang könnten die Blockgrenzen und die Sequenz des Flussdiagramms anders definiert worden sein und dennoch die bestimmte signifikante Funktionalität ausführen. Ein Durchschnittsfachmann wird auch erkennen, dass die funktionellen Bausteine und andere veranschaulichende Blöcke, Module und Komponenten hierin wie dargestellt oder durch diskrete Komponenten, anwendungsspezifische integrierte Schaltungen, Prozessoren, die geeignete Software und dergleichen oder eine beliebige Kombination davon ausführen, implementiert werden können.To the extent utilized, the block boundaries and sequence of the flowchart could have been defined differently and still perform the particular significant functionality. One of ordinary skill in the art will also recognize that the functional building blocks and other illustrative blocks, modules, and components herein may be implemented as shown or by discrete components, application specific integrated circuits, processors executing appropriate software, and the like, or any combination thereof.

Zusätzlich kann ein Flussdiagramm eine Anzeige „Start“ und/oder „Weiter“ enthalten. Die Anzeigen „Start“ und „Weiter“ geben an, dass die dargestellten Schritte optional in eine oder mehrere andere Routinen integriert oder anderweitig in Verbindung mit diesen verwendet werden können. Zusätzlich kann ein Flussdiagramm eine Anzeige „Ende“ und/oder „Weiter“ enthalten. Die Anzeigen „Ende“ und/oder „Weiter“ spiegeln wider, dass die dargestellten Schritte wie beschrieben und gezeigt enden oder optional in eine oder mehrere andere Routinen integriert oder anderweitig in Verbindung damit verwendet werden können. In diesem Zusammenhang gibt „Start“ den Beginn des ersten vorgestellten Schritts an und kann von anderen Aktivitäten vorangestellt werden, die nicht speziell gezeigt werden. Ferner spiegelt die Anzeige „Weiter“ wider, dass die dargestellten Schritte mehrmals ausgeführt werden können und/oder von anderen Aktivitäten gefolgt werden können, die nicht speziell gezeigt sind. Während ein Flussdiagramm eine bestimmte Reihenfolge von Schritten anzeigt, sind andere Ordnungen ebenfalls möglich, vorausgesetzt, die Prinzipien der Kausalität werden beibehalten.Additionally, a flowchart may include a "start" and/or "next" indicator. The "start" and "next" indicators indicate that the steps depicted may optionally be incorporated into or otherwise used in conjunction with one or more other routines. Additionally, a flowchart may include a "finish" and/or "next" indicator. The "finish" and/or "next" indicators reflect that the steps depicted terminate as described and shown, or may optionally be incorporated into or otherwise used in conjunction with one or more other routines. In this context, "start" indicates the beginning of the first step presented and may be preceded by other activities not specifically shown. Furthermore, the "next" indicator reflects that the steps depicted may be performed multiple times and/or followed by other activities not specifically shown. While a flowchart indicates a particular order of steps, other orderings are also possible, provided the principles of causality are maintained.

Die eine oder mehreren Ausführungsformen werden hier verwendet, um einen oder mehrere Aspekte, ein oder mehrere Merkmale, ein oder mehrere Konzepte und/oder ein oder mehrere Beispiele zu veranschaulichen. Eine physikalische Ausführungsform einer Vorrichtung, eines Herstellungsartikels, einer Maschine und/oder eines Verfahrens kann einen oder mehrere der Aspekte, Merkmale, Konzepte, Beispiele usw. umfassen, die unter Bezugnahme auf eine oder mehrere der hier diskutierten Ausführungsformen beschrieben wurden. Ferner können die Ausführungsformen von Figur zu Figur die gleichen oder ähnlich benannten Funktionen, Schritte, Module usw. enthalten, die die gleichen oder unterschiedliche Referenznummern verwenden können, und als solche können die Funktionen, Schritte, Module usw. die gleichen oder ähnliche Funktionen, Schritte, Module usw. oder verschiedene sein.The one or more embodiments are used herein to illustrate one or more aspects, one or more features, one or more concepts, and/or one or more examples. A physical embodiment of an apparatus, article of manufacture, machine, and/or method may include one or more of the aspects, features, concepts, examples, etc. described with reference to one or more of the embodiments discussed herein. Further, the embodiments may include from figure to figure the same or similarly named functions, steps, modules, etc., which may use the same or different reference numbers, and as such, the functions, steps, modules, etc. may be the same or similar functions, steps, modules, etc., or different.

Sofern nicht ausdrücklich anders angegeben, können Signale an, von und/oder zwischen Elementen in einer Figur einer der hier dargestellten Figuren analog oder digital, kontinuierliche Zeit oder diskrete Zeit und Single-Ended oder Differential sein. Wenn beispielsweise ein Signalpfad als Single-Ended-Pfad angezeigt wird, repräsentiert er auch einen Differenzsignalpfad. In ähnlicher Weise repräsentiert ein Signalpfad, wenn er als Differenzpfad angezeigt wird, auch einen Single-Ended-Signalpfad. Während eine oder mehrere bestimmte Architekturen hierin beschrieben sind, können ebenfalls andere Architekturen implementiert werden, die einen oder mehrere nicht ausdrücklich gezeigte Datenbusse, eine direkte Konnektivität zwischen Elementen und/oder eine indirekte Kopplung zwischen anderen Elementen verwenden, wie dies von einem Durchschnittsfachmann erkannt wird.Unless expressly stated otherwise, signals to, from, and/or between elements in a figure of any of the figures shown herein may be analog or digital, continuous time or discrete time, and single-ended or differential. For example, when a signal path is shown as a single-ended path, it also represents a differential signal path. Similarly, when a signal path is shown as a differential path, it also represents a single-ended signal path. While one or more particular architectures are described herein, other architectures may also be implemented that include one or more data buses not expressly shown, direct connectivity between elements and/or indirect coupling between other elements, as would be recognized by one of ordinary skill in the art.

Der Begriff „Modul“ wird in der Beschreibung einer oder mehrerer der Ausführungsformen verwendet. Ein Modul implementiert eine oder mehrere Funktionen über ein Gerät wie einen Prozessor oder ein anderes Verarbeitungsgerät oder eine andere Hardware, die einen Speicher enthalten oder in Verbindung mit diesem arbeiten kann, in dem Betriebsanweisungen gespeichert sind. Ein Modul kann unabhängig und/oder in Verbindung mit Software und/oder Firmware arbeiten. Wie auch hierin verwendet, kann ein Modul ein oder mehrere Untermodule enthalten, von denen jedes ein oder mehrere Module sein kann.The term "module" is used in the description of one or more of the embodiments. A module implements one or more functions via a device such as a processor or other processing device or other hardware that may include or operate in conjunction with a memory in which operating instructions are stored. A module may operate independently and/or in conjunction with software and/or firmware. As also used herein, a module may include one or more submodules, each of which may be one or more modules.

Wie hierin weiter verwendet werden kann, enthält ein computerlesbarer Speicher ein oder mehrere Speicherelemente. Ein Speicherelement kann eine separate Speichervorrichtung, mehrere Speichervorrichtungen oder ein Satz von Speicherstellen innerhalb einer Speichervorrichtung sein. Eine solche Speichervorrichtung kann ein Nur-Lese-Speicher, ein Direktzugriffsspeicher, ein flüchtiger Speicher, ein nichtflüchtiger Speicher, ein statischer Speicher, ein dynamischer Speicher, ein Flash-Speicher, ein Cache-Speicher und/oder eine beliebige Vorrichtung sein, die digitale Informationen speichert. Die Speichervorrichtung kann in Form eines Festkörperspeichers, eines Festplattenspeichers, eines Cloud-Speichers, eines USB-Sticks, eines Serverspeichers, eines Computerspeichers und/oder eines anderen physischen Mediums zum Speichern digitaler Informationen vorliegen.As may be further used herein, a computer-readable storage includes one or more storage elements. A storage element may be a separate storage device, multiple storage devices, or a set of storage locations within a storage device. Such a storage device may be read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information. The storage device may be in the form of solid-state memory, hard disk storage, cloud storage, USB flash drive, server storage, computer memory, and/or other physical medium for storing digital information.

Während bestimmte Kombinationen verschiedener Funktionen und Merkmale der einen oder mehreren Ausführungsformen hierin ausdrücklich beschrieben wurden, sind andere Kombinationen dieser Merkmale und Funktionen ebenfalls möglich. Die vorliegende Offenbarung ist nicht auf die hier offenbarten besonderen Beispiele beschränkt und beinhaltet ausdrücklich diese anderen Kombinationen.While certain combinations of various functions and features of the one or more embodiments have been expressly described herein, other combinations of these features and functions are also possible. The present disclosure is not limited to the particular examples disclosed herein and expressly includes these other combinations.

Claims (20)

Spektralsensorsystem, umfassend: eine Vielzahl von optischen Sensoren (100), die auf einer integrierten Schaltung angeordnet sind und die einen Spektralsensor (10) bilden, wobei die Vielzahl von optischen Sensoren (100) in einem Array (170) angeordnet sind; eine Schnittstelle zwischen der Vielzahl von optischen Sensoren (100) und einer ersten Verarbeitungsvorrichtung, die konfiguriert ist, um Informationen dazwischen zu übertragen; eine Vielzahl von Sätzen von optischen Filtern (110, 120, 130, 160), die als eine Schicht konfiguriert sind, die auf der Vielzahl von optischen Sensoren (100) angeordnet ist, wobei ein Satz von optischen Filtern (110, 120, 130, 160) der Vielzahl von Sätzen von optischen Filtern (110, 120, 130, 160) eine Vielzahl von optischen Filtern (110, 120, 130, 160) umfasst, wobei jedes optische Filter (110, 120, 130, 160) der Vielzahl von optischen Filtern (110, 120, 130, 160) konfiguriert ist, um Licht (180) in einem anderen Wellenlängenbereich durchzulassen; einen Speicher, der konfiguriert ist, um eine Schnittstelle mit der ersten Verarbeitungsvorrichtung herzustellen und mit dieser zu kommunizieren, wobei der Speicher konfiguriert ist, um Kalibrierungsdaten (250, 350) zu speichern, die der Vielzahl von Sätzen optischer Sensoren (100) zugeordnet sind; ein Spektrometermodell (510), das die Nichtidealität des Spektralsensors (10) widerspiegelt; eine zweite Verarbeitungsvorrichtung, die ein künstliches neuronales Netzwerk (370) umfasst, das konfiguriert ist, um eine spektrale Antwort zu korrigieren, die durch die Vielzahl von optischen Sensoren (100) erzeugt wird; basierend auf einem Fehler (530), der für künstliche Spektren (560) bestimmt und in das künstliche neuronale Netzwerk (370) eingegeben wurde um Koeffizienten als Gewichte des künstlichen neuronalen Netzwerks (370) zu erzeugen, die die Differenz zwischen den künstlichen Spektren (560) und dem Spektrometermodell (510) widerspiegeln; und eine Schnittstelle zwischen der ersten Verarbeitungsvorrichtung und der zweiten Verarbeitungsvorrichtung, die konfiguriert ist, um Informationen dazwischen zu übertragen. A spectral sensor system comprising: a plurality of optical sensors (100) arranged on an integrated circuit and forming a spectral sensor (10), the plurality of optical sensors (100) arranged in an array (170); an interface between the plurality of optical sensors (100) and a first processing device configured to transmit information therebetween; a plurality of sets of optical filters (110, 120, 130, 160) configured as a layer disposed on the plurality of optical sensors (100), wherein a set of optical filters (110, 120, 130, 160) of the plurality of sets of optical filters (110, 120, 130, 160) comprises a plurality of optical filters (110, 120, 130, 160), each optical filter (110, 120, 130, 160) of the plurality of optical filters (110, 120, 130, 160) being configured to transmit light (180) in a different wavelength range; a memory configured to interface and communicate with the first processing device, the memory configured to store calibration data (250, 350) associated with the plurality of sets of optical sensors (100); a spectrometer model (510) reflecting the non-ideality of the spectral sensor (10); a second processing device comprising an artificial neural network (370) configured to correct a spectral response generated by the plurality of optical sensors (100); based on an error (530) determined for artificial spectra (560) and input to the artificial neural network (370) to generate coefficients as weights of the artificial neural network (370) reflecting the difference between the artificial spectra (560) and the spectrometer model (510); and an interface between the first processing device and the second processing device configured to transfer information therebetween. Spektralsensorsystem nach Anspruch 1, wobei die Vielzahl von optischen Filtern (110, 120, 130, 160) jedes Satzes der Vielzahl von Sätzen von optischen Filtern (110, 120, 130, 160) in einem Muster angeordnet sind, wobei das Muster für mindestens einige der Sätze der Vielzahl von Sätzen von optischen Filtern (110, 120, 130, 160) über das Array (170) wiederholt wird.Spectral sensor system according to Claim 1 , wherein the plurality of optical filters (110, 120, 130, 160) of each set of the plurality of sets of optical filters (110, 120, 130, 160) are arranged in a pattern, the pattern being repeated for at least some of the sets of the plurality of sets of optical filters (110, 120, 130, 160) across the array (170). Spektralsensorsystem nach Anspruch 1 oder Anspruch 2, wobei die optischen Filter (110, 120, 130, 160) in mindestens einigen der Sätze der Vielzahl von Sätzen von optischen Filtern (110, 120, 130, 160) Interferenzfilter sind.Spectral sensor system according to Claim 1 or Claim 2 wherein the optical filters (110, 120, 130, 160) in at least some of the sets of the plurality of sets of optical filters (110, 120, 130, 160) are interference filters. Spektralsensorsystem nach Anspruch 1 oder Anspruch 3, wobei die Interferenzfilter Fabry-Perot-Filter sind.Spectral sensor system according to Claim 1 or Claim 3 , where the interference filters are Fabry-Perot filters. Spektralsensorsystem nach Anspruch 1, wobei die zweite Verarbeitungsvorrichtung konfiguriert ist, um Informationen zu empfangen, die einer Szene zugeordnet sind, die von dem Spektralsensorsystem abgetastet wird.Spectral sensor system according to Claim 1 wherein the second processing device is configured to receive information associated with a scene sensed by the spectral sensor system. Spektralsensorsystem nach Anspruch 5, wobei die der Szene zugeordneten Informationen Metadaten enthalten, die der Szene zugeordnet sind.Spectral sensor system according to Claim 5 , where the information associated with the scene includes metadata associated with the scene. Spektralsensorsystem nach Anspruch 5 oder Anspruch 6, wobei die der Szene zugeordneten Informationen mindestens eines der folgenden Elemente umfassen: 1) eine Temperatur; 2) ein Maß für das Umgebungslicht; 3) ein Maß für die Beleuchtung der Szene; 4) eine Neigung für die Szene, wobei die Neigung eine Abweichung der Szene auf mindestens einer vertikalen oder horizontalen Achse von der Senkrechten relativ zu einer Sichtlinie des Spektralsensorsystems ist; 5) eine Ausrichtung des Spektralsensorsystems; 6) eine Ausrichtung der Szene; 7) eine Winkelgeschwindigkeit des Spektralsensorsystems; 8) eine Winkelgeschwindigkeit eines oder mehrerer Objekte in der Szene; 9) ein der Szene zugeordnetes Magnetfeld; 10) ein dem Spektralsensorsystem zugeordnetes Magnetfeld; und 11) ein magnetisches Dipolmoment des Spektralsensorsystems.Spectral sensor system according to Claim 5 or Claim 6 , wherein the information associated with the scene comprises at least one of the following: 1) a temperature; 2) a measure of ambient light; 3) a measure of illumination of the scene; 4) a slope for the scene, where the slope is a deviation of the scene on at least one vertical or horizontal axis from vertical relative to a line of sight of the spectral sensor system; 5) an orientation of the spectral sensor system; 6) an orientation of the scene; 7) an angular velocity of the spectral sensor system; 8) an angular velocity of one or more objects in the scene; 9) a magnetic field associated with the scene; 10) a magnetic field associated with the spectral sensor system; and 11) a magnetic dipole moment of the spectral sensor system. Spektralsensorsystem nach Anspruch 5 oder Anspruch 6, wobei die der Szene zugeordneten Informationen von einem Benutzer bereitgestellt werden, wobei die vom Benutzer bereitgestellten Informationen Informationen enthalten, die ausreichen, um ein Objekt in der Szene zu identifizieren, wobei die zweite Verarbeitungsvorrichtung konfiguriert ist, um die spektrale Antwort zu korrigieren, die durch die Vielzahl von optischen Sensoren (100) erzeugt wird, die zumindest teilweise auf dem Objekt basieren.Spectral sensor system according to Claim 5 or Claim 6 , wherein the information associated with the scene is provided by a user, wherein the user-provided information includes information sufficient to identify an object in the scene, wherein the second processing device is configured to correct the spectral response generated by the plurality of optical sensors (100) based at least in part on the object. Spektralsensorsystem nach Anspruch 1 oder Anspruch 5, ferner umfassend: einen Benutzerbenachrichtigungsmechanismus, wobei die zweite Verarbeitungsvorrichtung konfiguriert ist, um eine Darstellung einer korrigierten spektralen Antwort an einen Benutzer unter Verwendung des Benutzerbenachrichtigungsmechanismus bereitzustellen.Spectral sensor system according to Claim 1 or Claim 5 , further comprising: a user notification mechanism, wherein the second processing device is configured to provide a representation of a corrected spectral response to a user using the user notification mechanism. Verfahren zur Ausführung durch eine oder mehrere Vorrichtungen eines Spektralsensorsystems, wobei das Verfahren Folgendes umfasst: Empfangen von Licht (180) mit N Eingangsleistungen für jede Lichtwellenlänge von M Wellenlängen des Lichts (180) durch ein dem Spektralsensorsystem zugeordnetes optisches Sensorarray (170), um N x M Wellenlängen- und Eingangsleistungspaare zu erzeugen, wobei jede Wellenlänge des Lichts (180) der M Wellenlängen des Lichts (180) und jede Eingangsleistung des Lichts (180) der N Eingangsleistungen des Lichts (180) von dem optischen Sensorarray (170) in einer vorbestimmten Sequenz empfangen wird, wobei jeder optische Sensor des optischen Sensorarrays (170) einem optischen Filter (110, 120, 130, 160) aus einer Vielzahl von Sätzen optischer Filter (110, 120, 130, 160) zugeordnet ist und jeder optische Filter (110, 120, 130, 160) eines Satzes optischer Filter (110, 120, 130, 160) konfiguriert ist, um Licht (180) in einem anderen Wellenlängenbereich durchzulassen; Erzeugen einer Vielzahl von Signalen, wobei jedes Signal der Vielzahl von Signalen für das empfangene Licht (180) bei jedem Wellenlängen- und Eingangsleistungspaar des N x M-Wellenlängen- und Eingangsleistungspaars repräsentativ ist, um ein erzeugtes Signal für jedes Wellenlängen- und Eingangsleistungspaar zu erzeugen; Bestimmen einer Vielzahl von Fehlerkoeffizienten, wobei jeder Fehlerkoeffizient der Vielzahl von Fehlerkoeffizienten für eine Differenz zwischen einem erzeugten Signal und einem Zielwert für ein Wellenlängen- und Eingangsleistungspaar repräsentativ ist; Verwenden der Vielzahl von Fehlerkoeffizienten zum Trainieren eines künstlichen neuronalen Netzwerks (370), wobei das künstliche neuronale Netzwerk (370) konfiguriert ist, um eine von dem optischen Sensorarray (170) erzeugte spektrale Antwort anzupassen, um ein korrigiertes Spektrum zu erzeugen.A method for performance by one or more devices of a spectral sensor system, the method comprising: receiving light (180) having N input powers for each wavelength of light of M wavelengths of light (180) by an optical sensor array (170) associated with the spectral sensor system to generate N x M wavelength and input power pairs, each wavelength of light (180) of the M wavelengths of light (180) and each input power of light (180) of the N input powers of light (180) being received by the optical sensor array (170) in a predetermined sequence, each optical sensor of the optical sensor array (170) being associated with an optical filter (110, 120, 130, 160) of a plurality of sets of optical filters (110, 120, 130, 160), each optical filter (110, 120, 130, 160) of a set of optical filters (110, 120, 130, 160) configured to pass light (180) in a different wavelength range; generating a plurality of signals, each signal of the plurality of signals representative of the received light (180) at each wavelength and input power pair of the N x M wavelength and input power pair to generate a generated signal for each wavelength and input power pair; determining a plurality of error coefficients, each error coefficient of the plurality of error coefficients representative of a difference between a generated signal and a target value for a wavelength and input power pair; Using the plurality of error coefficients to train an artificial neural network (370), the artificial neural network (370) configured to adjust a spectral response generated by the optical sensor array (170) to generate a corrected spectrum. Verfahren nach Anspruch 10, wobei die optischen Filter (110, 120, 130, 160) in jedem Satz der Vielzahl von Sätzen von optischen Filtern (110, 120, 130, 160) in einem Muster angeordnet sind, wobei das Muster für mindestens einige der Sätze der Vielzahl von Sätzen von optischen Filtern (110, 120, 130, 160) über das Array (170) wiederholt wird.Procedure according to Claim 10 wherein the optical filters (110, 120, 130, 160) in each set of the plurality of sets of optical filters (110, 120, 130, 160) are arranged in a pattern, the pattern being repeated for at least some of the sets of the plurality of sets of optical filters (110, 120, 130, 160) across the array (170). Verfahren nach Anspruch 10 oder Anspruch 11, wobei die optischen Filter (110, 120, 130, 160) in mindestens einigen der Sätze der Vielzahl von Sätzen von optischen Filtern (110, 120, 130, 160) Interferenzfilter sind.Procedure according to Claim 10 or Claim 11 wherein the optical filters (110, 120, 130, 160) in at least some of the sets of the plurality of sets of optical filters (110, 120, 130, 160) are interference filters. Verfahren nach Anspruch 12, wobei die Interferenzfilter (110, 120, 130, 160) Fabry-Pérot-Filter sind.Procedure according to Claim 12 , where the interference filters (110, 120, 130, 160) are Fabry-Pérot filters. Verfahren nach Anspruch 10 oder Anspruch 12, wobei das künstliche neuronale Netzwerk (370) konfiguriert ist, um Informationen zu empfangen, die einer Szene zugeordnet sind, die von einem anderen Spektralsensor (10) abgetastet wird.Procedure according to Claim 10 or Claim 12 wherein the artificial neural network (370) is configured to receive information associated with a scene sensed by another spectral sensor (10). Verfahren nach Anspruch 14, wobei die der Szene zugeordneten Informationen Metadaten enthalten, die der Szene zugeordnet sind.Procedure according to Claim 14 , where the information associated with the scene includes metadata associated with the scene. Verfahren nach Anspruch 14 oder Anspruch 15, wobei die der Szene zugeordneten Informationen mindestens eine der folgenden Eigenschaften umfassen: 1) eine Temperatur; 2) ein Maß für das Umgebungslicht; 3) ein Maß für die Beleuchtung der Szene; 4) eine Neigung für die Szene, wobei die Neigung eine Abweichung der Szene auf mindestens einer vertikalen oder horizontalen Achse von der Senkrechten relativ zu einer Sichtlinie des Spektralsensorsystems ist; 5) eine Ausrichtung des Spektralsensorsystems; 6) eine Ausrichtung der Szene; 7) eine Winkelgeschwindigkeit des Spektralsensorsystems; 8) eine Winkelgeschwindigkeit eines oder mehrerer Objekte in der Szene; 9) ein der Szene zugeordnetes Magnetfeld; 10) ein dem Spektralsensorsystem zugeordnetes Magnetfeld; und 11) ein magnetisches Dipolmoment des Spektralsensorsystems.Procedure according to Claim 14 or Claim 15 , wherein the information associated with the scene comprises at least one of the following properties: 1) a temperature; 2) a measure of ambient light; 3) a measure of illumination of the scene; 4) a slope for the scene, where the slope is a deviation of the scene on at least one vertical or horizontal axis from vertical relative to a line of sight of the spectral sensor system; 5) an orientation of the spectral sensor system; 6) an orientation of the scene; 7) an angular velocity of the spectral sensor system; 8) an angular velocity of one or more objects in the scene; 9) a magnetic field associated with the scene; 10) a magnetic field associated with the spectral sensor system; and 11) a magnetic dipole moment of the spectral sensor system. Verfahren nach Anspruch 14 oder Anspruch 15, wobei die der Szene zugeordneten Informationen von einem Benutzer bereitgestellt werden, wobei die vom Benutzer bereitgestellten Informationen Informationen enthalten, die ausreichen, um ein Objekt in der Szene zu identifizieren, wobei das künstliche neuronale Netzwerk (370) konfiguriert ist, um die von dem optischen Sensorarray (170) erzeugte spektrale Antwort zu korrigieren, die zumindest teilweise auf dem Objekt basiert.Procedure according to Claim 14 or Claim 15 , wherein the information associated with the scene is provided by a user, wherein the user-provided information includes information sufficient to identify an object in the scene, wherein the artificial neural network (370) is configured to correct the spectral response generated by the optical sensor array (170) based at least in part on the object. Verfahren nach Anspruch 10, ferner umfassend: Übertragen der Vielzahl von Signalen an einen ersten Prozessor, der dem Spektralsensor zugeordnet ist; Kalibrieren der Vielzahl von Signalen durch den ersten Prozessor, um die erzeugten Signale zu produzieren, wobei das Kalibrieren der Vielzahl von Signalen auf Kalibrierungsdaten (250, 350) basiert, wobei die Kalibrierungsdaten (250, 350) auf gemessenen Variationen basieren, die mit der Herstellung des optischen Sensorarrays (170) verbunden sind.Procedure according to Claim 10 , further comprising: transmitting the plurality of signals to a first processor associated with the spectral sensor; calibrating the plurality of signals by the first processor to produce the generated signals, wherein the calibrating of the plurality of signals is based on calibration data (250, 350), the calibration data (250, 350) is based on measured variations associated with the manufacture of the optical sensor array (170). Verfahren nach Anspruch 18, wobei das künstliche neuronale Netzwerk (370) einem zweiten Prozessor zugeordnet ist, wobei der erste Prozessor konfiguriert ist, um die erzeugten Signale an den zweiten Prozessor zu übertragen.Procedure according to Claim 18 , wherein the artificial neural network (370) is associated with a second processor, the first processor configured to transmit the generated signals to the second processor. Verfahren nach Anspruch 19, ferner umfassend: einen Benutzerbenachrichtigungsmechanismus, wobei der zweite Prozessor konfiguriert ist, um eine Darstellung einer korrigierten spektralen Antwort an einen Benutzer unter Verwendung des Benutzerbenachrichtigungsmechanismus bereitzustellen.Procedure according to Claim 19 , further comprising: a user notification mechanism, wherein the second processor is configured to provide a representation of a corrected spectral response to a user using the user notification mechanism.
DE102021105869.4A 2020-03-12 2021-03-10 CORRECTION AND CALIBRATION OF A SPECTRAL SENSOR OUTPUT Active DE102021105869B4 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062988759P 2020-03-12 2020-03-12
US62/988,759 2020-03-12
US17/170,127 US11493387B2 (en) 2020-03-12 2021-02-08 Correction and calibration of spectral sensor output
US17/170,127 2021-02-08

Publications (2)

Publication Number Publication Date
DE102021105869A1 DE102021105869A1 (en) 2021-09-16
DE102021105869B4 true DE102021105869B4 (en) 2024-09-26

Family

ID=77457393

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021105869.4A Active DE102021105869B4 (en) 2020-03-12 2021-03-10 CORRECTION AND CALIBRATION OF A SPECTRAL SENSOR OUTPUT

Country Status (1)

Country Link
DE (1) DE102021105869B4 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021130043A1 (en) 2021-11-17 2023-05-17 Endress+Hauser SE+Co. KG Computer-implemented method for compensating a sensor
DE102022130045A1 (en) 2022-11-14 2024-05-16 Carl Zeiss Spectroscopy Gmbh Technical design of a spectral analysis device and machine learning system
DE102022130044A1 (en) 2022-11-14 2024-05-16 Carl Zeiss Spectroscopy Gmbh Technical design of an analysis device for spectral analysis

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015015493A2 (en) 2013-08-02 2015-02-05 Verifood, Ltd. Spectrometry system and method, spectroscopic devices and systems
CA2954625A1 (en) 2014-06-18 2015-12-23 Innopix, Inc. Spectral imaging system for remote and noninvasive detection of target substances using spectral filter arrays and image capture arrays
WO2018056976A1 (en) 2016-09-22 2018-03-29 Halliburton Energy Services, Inc. Methods and systems for obtaining high-resolution spectral data of formation fluids from optical computing device measurements

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015015493A2 (en) 2013-08-02 2015-02-05 Verifood, Ltd. Spectrometry system and method, spectroscopic devices and systems
CA2954625A1 (en) 2014-06-18 2015-12-23 Innopix, Inc. Spectral imaging system for remote and noninvasive detection of target substances using spectral filter arrays and image capture arrays
WO2018056976A1 (en) 2016-09-22 2018-03-29 Halliburton Energy Services, Inc. Methods and systems for obtaining high-resolution spectral data of formation fluids from optical computing device measurements

Also Published As

Publication number Publication date
DE102021105869A1 (en) 2021-09-16

Similar Documents

Publication Publication Date Title
DE102021105869B4 (en) CORRECTION AND CALIBRATION OF A SPECTRAL SENSOR OUTPUT
EP3560185B1 (en) System and method for capturing measurement images of an object to be measured
DE10314071B3 (en) Procedure for the qualitative assessment of a material with at least one identifier
DE112013005127T5 (en) High precision imaging colorimeter using closed loop calibration with specially designed patterns supported by a spectrograph
DE602005002739T2 (en) FRACTAL SCR METHOD FOR EVALUATING PICTURE QUALITY
WO2016041944A1 (en) Method for generating a result image and optical device
WO2020126720A1 (en) Optical correction via machine learning
DE112019004873T5 (en) Correction of the variation between instruments
DE102021111112A1 (en) Imaging System and Method
DE102013214468A1 (en) Object detection device and method for a vehicle
US20210285821A1 (en) Correction and calibration of spectral sensor output
DE102017111215A1 (en) Apparatus and method for detecting a property of electromagnetic radiation sensor data
Stathakis et al. Neuro-fuzzy modeling for crop yield prediction
WO2020136037A2 (en) Method and processing device for processing measured data of an image sensor
CN115731191A (en) Narrow-band spectral imaging method based on neural network
EP1695029B1 (en) Method and device for the at least semi-automated evaluation of remote sensing data
DE102023111914A1 (en) LAMP CORRECTION FOR A SPECTRAL IMAGER
CN117115669B (en) Object-level ground object sample self-adaptive generation method and system with double-condition quality constraint
KR100991146B1 (en) Satelite image correction method and apparatus using neural network
DE112019005521T5 (en) PHOTO SENSORS FOR COLOR MEASUREMENT
US11890094B2 (en) Illuminant correction for a spectral imager
DE10117833C1 (en) Fixed pattern noise correction method for image sensor signals selects transformation equation for calculation of correction value dependent on identified value range of image signal
DE10255021A1 (en) Method and device for generating homogenized image data in scanning imaging devices
DE102019133516B4 (en) Method and device for determining wavelength deviations from recordings of a multi-lens camera system
DE102022207239B4 (en) Computer-implemented method for noise adjustment of an X-ray image, X-ray device, computer program and electronically readable data carrier

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE

R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R130 Divisional application to

Ref document number: 102021006758

Country of ref document: DE