Forum: Mikrocontroller und Digitale Elektronik Auto_Exposure Algorithmus für nichtlineare Kamera -> PID Regler? Oder anderer Ansatz?


von Max H. (steoerenfried)


Lesenswert?

Test

: Bearbeitet durch User
von Max H. (steoerenfried)


Lesenswert?

Mangelt es an Informationen oder ist das Thema einfach zu schwierig für 
das Forum hier? :-)

von Mr. Tom (Gast)


Lesenswert?

Max Habermehl schrieb:
> Welche Möglichkeiten gibt es hierbei?

Arbeitspunktabhängige Reglerparameter helfen, wenn sich die Strecke 
nicht ausreichend gut linear approximieren läßt.

von Max H. (steoerenfried)


Lesenswert?

Klingt schonmal nicht schlecht - dahingehend muss ich dann wohl mal eine 
Recherche betreiben. Ginge es nicht theoretisch, dass ich direkt von 
meinen aktuellen Messwerten auf die perfekte Belichtungszeit schließe, 
wenn ich die Kennlinie kenne? Also sozusagen garkeine Regelung, sondern 
eine Steuerung? Diese wäre dann ja auch von der Geschwindigkeit her viel 
besser!

von Martin S. (strubi)


Lesenswert?

Hi Max,

vor Jahren haben zwei Studenten an der Hochschule Rapperswil einen 
Auto-Linlog-Prototypen umgesetzt. Am besten fragst Du dort eine Kopie 
der Arbeit an, oder direkt bei Photonfocus.
Das Projekt ist aber schon eine ganze Weile her. Habe eine ähnliche 
Sache für einen andern Sensor mit Histogramm-Entzerrung gemacht, aber 
das ist sehr projektspezifisch und Veröffentlichung leider nicht 
möglich.
Ich würde mich nicht zwingend auf PID fixieren sondern einfach eine 
intelligente fuzzy-logic-Sache implementieren und dann schauen, wie sie 
am besten auf deine Belichtungssituation konvergiert.

Grüsse,

- Strubi

von chris (Gast)


Lesenswert?

Ich wuerde so einen Ansatz machen:
Aufnahme eines Bildes mit fixer Belichtungszeit Linear.
Ist es zu ueberbelichtet, dann eine logaritmische Aufnahme.
Ev. mit anderer Belichtungszeit wiederholen.
Aus diesen lassen sich die Parameter extrapolieren fuer die Einstellung
der Kompression sowie dem Umschaltpunkt des Akkumulationsmodus.
Dann optional eine Aufnahme machen mit 2 - 4 Blenden Unterbelichtung,
dies evaluieren und dann die richtige Aufnahme machen.
Ich kenne den Dynamikbereich des Sensors nicht, dieser sollte evaluiert 
werden.

von Wolfgang (Gast)


Lesenswert?

Max Habermehl schrieb:
> Ich kenne zwar einige qualitative Verläufe aus dem Manual, aber da die
> Kurve von einstellbaren Parametern abhängt, kann diese sich
> dementsprechend ändern.
So viele Paramter gibt es doch gar nicht. Lichtwert und Empfindlichkeit 
beschreiben das ganze doch schon recht gut.

von Max H. (steoerenfried)


Lesenswert?

Martin S. schrieb:
> Hi Max,
>
> vor Jahren haben zwei Studenten an der Hochschule Rapperswil einen
> Auto-Linlog-Prototypen umgesetzt. Am besten fragst Du dort eine Kopie
> der Arbeit an, oder direkt bei Photonfocus.
> Das Projekt ist aber schon eine ganze Weile her. Habe eine ähnliche
> Sache für einen andern Sensor mit Histogramm-Entzerrung gemacht, aber
> das ist sehr projektspezifisch und Veröffentlichung leider nicht
> möglich.
> Ich würde mich nicht zwingend auf PID fixieren sondern einfach eine
> intelligente fuzzy-logic-Sache implementieren und dann schauen, wie sie
> am besten auf deine Belichtungssituation konvergiert.
>
> Grüsse,
>
> - Strubi
Danke für Deine Antwort. Weißt Du auch an welchem Institut, dann kann 
ich dort besser und gezielt anfragen. (Edit: Habe sogar etwas gefunden: 
http://www.hsr.ch/Dozierende.2633.0.html?&tx_icscrm_pi4%5Bcontent%5D=5907&tx_icscrm_pi4%5Bid_studienarbeit%5D=1047 
mal schauen, ob ich dort auf eine Anfrage eine Antwort erhalte :-) // 
Edit: Ach, cool, Strubi! Habe Dich auch mal mit auf die E-Mail gesetzt!! 
Cool, dass Du hier auch auf das Thema gestoßen bist!) Ja Fuzzy klingt 
auch gut, erfordert am meinse Wissens ziemlich viel Erfahrungsschatz, 
den ich leider (noch) nicht habe und der, um gute und konsistente Regeln 
aufzustellen, dringend notwendig ist. Da das Projekt auch nur auf 
vielleicht 3 Monate ausgelegt ist, ist es fragwürdig, ob ich bis dahin 
wirklich schon solch gute Erfahrungswerte erhalte.
Oder gibt es eine andere Möglichkeit?


chris schrieb:
> Ich wuerde so einen Ansatz machen:
> Aufnahme eines Bildes mit fixer Belichtungszeit Linear.
> Ist es zu ueberbelichtet, dann eine logaritmische Aufnahme.
> Ev. mit anderer Belichtungszeit wiederholen.
> Aus diesen lassen sich die Parameter extrapolieren fuer die Einstellung
> der Kompression sowie dem Umschaltpunkt des Akkumulationsmodus.
> Dann optional eine Aufnahme machen mit 2 - 4 Blenden Unterbelichtung,
> dies evaluieren und dann die richtige Aufnahme machen.
> Ich kenne den Dynamikbereich des Sensors nicht, dieser sollte evaluiert
> werden.
Danke chris für Deine Antwort - jedoch kann ich damit leider nicht so 
viel anfangen. Wie ich aus 2 Aufnahmen direkt die Parameter 
extrapolieren kann ist mir unklar. Außerdem hat die Kamera immer einen 
linlog-spezifischen Verlauf in der Kennlinie - eine rein "lineare" oder 
"logarithmische" Aufnahme ist nicht möglich.

Wolfgang schrieb:
> Max Habermehl schrieb:
>> Ich kenne zwar einige qualitative Verläufe aus dem Manual, aber da die
>> Kurve von einstellbaren Parametern abhängt, kann diese sich
>> dementsprechend ändern.
> So viele Paramter gibt es doch gar nicht. Lichtwert und Empfindlichkeit
> beschreiben das ganze doch schon recht gut.
???
Es gibt neben der Belichtungszeit 4 Parametern, mit denen die 
Kamerakennlinie eingestellt werden kann. Wir reden nicht von einer 
herkömmlichen Kamera.


Mal ganz allgemein gefragt: Wie wär es denn, wenn man eine Regression 
auf die Kamerakennlinie anwendet, um eine grobe mathematische 
Modellgleichung zu erhalten. Könnte man mit dieser nicht statt einer 
Regelung eine recht schnelle Steuerung bauen, da man das Verhalten der 
Kamera ja dann ausgehend vom aktuellen "Betriebspunkt" ganz gut 
hervorsehen kann. Die Feinabstimmung könnte man dann ja trotzdem noch 
über eine Regelung nachregeln. Vorsteuerung hätte eben den Vorteil der 
Geschwindigkeit...

: Bearbeitet durch User
von chris (Gast)


Lesenswert?

Hast du dir die AN 1 mal angesehen ?

von Martin S. (strubi)


Lesenswert?

Hallo nochmal,

>
> Wolfgang schrieb:
>> Max Habermehl schrieb:
>>> Ich kenne zwar einige qualitative Verläufe aus dem Manual, aber da die
>>> Kurve von einstellbaren Parametern abhängt, kann diese sich
>>> dementsprechend ändern.
>> So viele Paramter gibt es doch gar nicht. Lichtwert und Empfindlichkeit
>> beschreiben das ganze doch schon recht gut.
> ???
> Es gibt neben der Belichtungszeit 4 Parametern, mit denen die
> Kamerakennlinie eingestellt werden kann. Wir reden nicht von einer
> herkömmlichen Kamera.
>

Genau das ist der Knackpunkt, der's kompliziert macht. Es gibt in dem 
Sinne nicht direkt einen linearen Zusammenhang, ich würde fast mal 
befürchten, dass eine PID-Lösung unartig bei gewissen Szenarien 
rumschwingt. Die Frage nach der "Pixelformel", die man für eine 
Simulation nutzen könnte, kam übrigens auch schon auf, aber wo die 
Antwort dazu liegt...ist schon eine Weile her.

>
> Mal ganz allgemein gefragt: Wie wär es denn, wenn man eine Regression
> auf die Kamerakennlinie anwendet, um eine grobe mathematische
> Modellgleichung zu erhalten. Könnte man mit dieser nicht statt einer
> Regelung eine recht schnelle Steuerung bauen, da man das Verhalten der
> Kamera ja dann ausgehend vom aktuellen "Betriebspunkt" ganz gut
> hervorsehen kann. Die Feinabstimmung könnte man dann ja trotzdem noch
> über eine Regelung nachregeln. Vorsteuerung hätte eben den Vorteil der
> Geschwindigkeit...

Die Idee finde ich schon mal gut. Du kannst auf jeden Fall von einer 
gewissen Krümmung im Histogram einen Parameter rausdestillieren, der dir 
im nächsten Frame schon ein besseres Ergebnis liefert. Die "fuzzy logic" 
ist eigentlich keine riesige Hexerei. Manche hauen da das Schlagwort 
"neuronales Netz" raus, aber es ist ansich viel einfacher, du hast 
einfach ein paar Entscheidungsknotenpunkte in der State machine, 
dazwischen kann man recht gut linear arbeiten. Du kannst natürlich das 
NN mit vielen Bildern einfach einlernen.
Vom rein akademischen Standpunkt her wäre das spannend, Du könntest da 
ev. auch auf den freien SNNS (NN-Simulator) aufbauen.

Grüsse,

- Strubi

von Mr. Tom (Gast)


Lesenswert?

Max Habermehl schrieb:
> Es gibt neben der Belichtungszeit 4 Parametern, mit denen die
> Kamerakennlinie eingestellt werden kann.

Dann erzähl mal. Je besser die Vorkenntnisse über das System sind, um so 
besser läßt sich eine passende Steuerung/Regelung konzipieren.

von chris (Gast)


Lesenswert?

AN 1 lesen, da ist ein einfacher Algh spezifiziert, wie es geht, mit 
Beispielsbildern, sowie es gibt auch einen Simulator welcher je nach 
Parametern das visuelle Ergebnis liefert. Wenn man Ahnung von 
Bildverarbeitung hat, dann kann man auch vieles automatisch optimieren.

von Max H. (steoerenfried)


Lesenswert?

Mr. Tom schrieb:
> Max Habermehl schrieb:
>> Es gibt neben der Belichtungszeit 4 Parametern, mit denen die
>> Kamerakennlinie eingestellt werden kann.
>
> Dann erzähl mal. Je besser die Vorkenntnisse über das System sind, um so
> besser läßt sich eine passende Steuerung/Regelung konzipieren.
Also zum einen gibt es die Belichtungszeit und zum anderen 4 Parameter, 
mit der man die Kennlinie der Kamera (d.h. die Abbildung zwischen 
Lichteingangsintensität und Helligkeitswert des Pixels) steuern kann. 
Hier mal beispielhaft drei Verläufe:
http://i.imgur.com/Y8tPTSf.png
http://i.imgur.com/KSsgNVe.jpg
http://i.imgur.com/3zTj3p3.jpg
http://i.imgur.com/HPCV58Y.jpg
man sieht schon: Anfangs immer linear und danach meist eine Art von 
logarithmischem Verlauf. Hier die Beschreibung aus dem Manual, da ich 
sie treffender auch nicht hinbekomme:

"[...]LinLog® is controlled by up to 4 parameters (Time1, Time2, Value1 
and Value2). Value1 and Value2
correspond to the LinLog® voltage that is applied to the sensor. The 
higher the parameters
Value1 and Value2 respectively, the stronger the compression for the 
high light intensities (Anmerkung: d.h. desto flacher die logarithmische 
Kurve, siehe 1. gelinktes Bild). Time1
and Time2 are normalised to the exposure time. They can be set to a 
maximum value of 1000,
which corresponds to the exposure time. [...]".
Eine mathematische Formel gibt es, auch in Form einer Regression oder 
einer Schätzung, leider nicht. Die 4 Verläufe der Kennlinie sind alles, 
was man im ersten Moment besitzt und diese sind aus Messungen der Firma 
entstanden.


chris schrieb:
> AN 1 lesen, da ist ein einfacher Algh spezifiziert, wie es geht,
> mit
> Beispielsbildern, sowie es gibt auch einen Simulator welcher je nach
> Parametern das visuelle Ergebnis liefert. Wenn man Ahnung von
> Bildverarbeitung hat, dann kann man auch vieles automatisch optimieren.
Was meinst Du mit AN1? Antwort 1? Wenn ja, da steht:
> Arbeitspunktabhängige Reglerparameter helfen, wenn sich die Strecke
> nicht ausreichend gut linear approximieren läßt.
da erkenne ich jetzt nicht genau, worauf Du chris damit hinauswillst!? 
Sorry dass ich gerade auf dem Schlauch stehe...?

von Mr. Tom (Gast)


Lesenswert?

Max Habermehl schrieb:
> Eine mathematische Formel gibt es, auch in Form einer Regression oder
> einer Schätzung, leider nicht.

T1 und T2 scheinen zu beschreiben, wie stark sich der Grauwert mit der 
Belichtungszeit ändert, d.h. das sind auf jeden Fall gute Kandidaten, um 
bei einem Regler die Verstärkung adaptiv zu steuern. V1 und V2 könnten 
Grenzwerte sein, mit denen festgelegt wird, ab welchem Grauwert T1 bzw. 
T2 zum Tragen kommt.

von chris (Gast)


Lesenswert?

AN, also Application Note, in der Elektronik uebliche Abkuerzung.
 http://www.photonfocus.com/html/de/support/applicationNotes.php
AN 1 sowie 24 sind fuer das Verstàndnis der Kamera und Entwicklung einer 
automatischen Belichtung relevant.

von Max H. (steoerenfried)


Lesenswert?

chris schrieb:
> AN, also Application Note, in der Elektronik uebliche Abkuerzung.
>  http://www.photonfocus.com/html/de/support/applica...
> AN 1 sowie 24 sind fuer das Verstàndnis der Kamera und Entwicklung einer
> automatischen Belichtung relevant.
Oh okay, danke, das war mir neu, komme eigentlich aus dem Maschinenbau 
;-) Ich werd mal reinschauen!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.