Ein Problem bei der Bildverarbeitung und 3D-Rekonstruktion besteht darin, die Eigenparameter der Kamera abzurufen. Eine übliche Lösung besteht darin, ein Objekt zu verwenden, bei dem die Maße der Form vorab bekannt sind, z. B. ein Schachbrett. Das Problem bei dieser Methode ist, dass sie jedes Mal durchgeführt werden muss, wenn sich der Kameraparameter ändert, z. B. Brennweite und Vergrößerung.
Ich versuche, die in A Simple Technique for Self-Calibration beschriebene Selbstkalibrierung der Kamera zu implementieren . Die essentielle Matrix wird durch ihre zwei Singularwerte eingeschränkt. Dies kann verwendet werden, um die Eigenschaften der Kamera wiederherzustellen, ohne eine manuelle Kalibrierung durchzuführen (dh mit einem Schachbrett). Ich bin ein wenig verwirrt darüber, wie die Kostenfunktion minimiert werden kann. Folgendes verstehe ich bisher:
essentielle Matrix
intrinsische Matrix
- Produkt aus Brennweite und Vergrößerungsfaktor [lösen]
- Seitenverhältnis [vorausgesetzt vorausgesetzt, ich denke von Kamera- oder EXIF-Daten?]
- sind die Koordinaten des Hauptpunktes [0, 0 annehmen]
- Schrägstellung [0 annehmen]
Kostenfunktion
Frage: Wie wird diese Kostenfunktion minimiert?
Antworten:
Ich denke, dies ist ein einfaches nichtlineares Optimierungsproblem (das mit Newton-Variationen wie Trust-Region-Methoden gelöst werden muss), bei dem Sie den Jacobi nicht einmal analytisch berechnen müssen. Es scheint mir, dass das Optimierungsproblem überschrieben istK.ich und ist somit die Eingabe in die Kostenfunktion. Um die Kosten zu berechnen, berechnen Sie bei jedem Aufruf dieser Funktion grundsätzlich die Singularwerte vonK.ich und berechnen Sie die Kosten gemäß der Gleichung 4 (in der Zeitung). Wie Ihr Eingabeparameter istK. werden die Ableitungen über die Elemente von berechnet K. . Das macht Ihre Optimierung4 dimensional (oder 5 wenn Sie den Versatz berücksichtigen) pro Kamera. Die Ableitungen werden automatisch berechnet, und Sie müssen sich nicht darum kümmern. Wenn Sie MATLAB verwenden,
lsqnonlin
würde für Sie arbeiten.Die Gewichtsberechnung wird im Artikel ausführlich erläutert, daher überspringe ich diesen Teil.
Nachdem ich das Papier noch einmal überprüft habe , habe ich festgestellt, dass die Autoren tatsächlich das von mir erwähnte numerische Differenzierungsschema verwenden. Wenn Sie möchten , tiefer verstehen , wie eine SVD zu unterscheiden, können Sie gerne prüfen , dieses eine oder diese .
quelle