2012-10-02 9 views
7

Ich muss meine 3D-Punkte neu projizieren (ich habe bereits Daten von Bundler).Kamerakalibrierung MATLAB Toolbox

Ich verwende Camera Calibration Toolbox in MATLAB, um die intrinsischen Kameraparameter zu erhalten. Ich habe so aus 27 Bildern (Schachbrett, Bilder aus verschiedenen Blickwinkeln) ausgegeben.

Calibration results after optimization (with uncertainties): 

Focal Length:  fc = [ 2104.11696 2101.75357 ] ± [ 23.13283 22.92478 ] 
Principal point: cc = [ 969.15779 771.30555 ] ± [ 21.98972 15.25166 ] 
Skew:  alpha_c = [ 0.00000 ] ± [ 0.00000 ] 
Distortion:  kc = [ 0.11555 -0.55754 -0.00100 -0.00275 0.00000 ] ± 
         [ >0.05036 0.59076 0.00307 0.00440 0.00000 ] 
Pixel error:  err = [ 0.71656 0.63306 ] 

Hinweis: Die numerischen Fehler sind etwa das Dreifache der Standardabweichungen (als Referenz).

Ich wundere mich über die numerischen Fehler, z. B. Brennweite Fehler + - [23.13283 22.92478], Hauptpunkt Fehler usw. Was diese Fehlerzahlen tatsächlich darstellen und was sind ihre Auswirkungen?

Der Pixelfehler ist wirklich weniger.

Bisher verwende ich die folgende Matrix von oben Daten für meine Wieder Projektion:

K=[ 2104.11696 0 969.15779; 0 2101.75357 771.30555;0 0 1]

Die obige Matrix „K“ Recht auf mich scheint. Korrigieren Sie mich, wenn ich etwas falsch mache ...

Warten auf Ihre Antworten.

+1

Ich denke, Sie können die Brennweite und den Hauptpunkt durch die geschätzten Fehler ändern, projizieren zurück die Punkte und schätzen den Pixelfehler. Dann werden Sie die Auswirkungen dieser Fehler kennen. –

+0

hi, meiner Meinung nach ist die Hauptsache der Pixelfehler, der Neuprojektionsfehler von Punkten ist. . . . – user1388142

+0

Verwenden Sie OpenCV oder Matlab, um Ihre Kalibrierung durchzuführen? Sehen Sie sich diese Toolbox (die Matlab-Version des OpenCV) an: http://www.vision.caltech.edu/bouguetj/calib_doc/ – Vuwox

Antwort

1

Hier gibt es zwei Arten von Fehlern.

Einer ist der Reprojektionsfehler. Sobald Sie eine Kamera kalibriert haben, verwenden Sie die resultierenden Kameraparameter, um die Schachbrettpunkte in Weltkoordinaten in das Bild zu projizieren. Dann sind die Reprojektionsfehler die Abstände zwischen diesen projizierten Punkten und den detektierten Schachbrettpunkten. Der akzeptable Wert für die Reprojektionsfehler hängt von Ihrer Anwendung ab, aber eine gute Faustregel besagt, dass der mittlere Reprojektionsfehler weniger als 0,5 Pixel betragen sollte.

Die andere Art von Fehlern sind jene +/- Intervalle, die Sie für jeden Schätzungsparameter erhalten. Diese basieren auf dem standard errors, der sich aus dem Optimierungsalgorithmus ergibt.Die Werte, die Ihnen die Kamera-Kalibrierungs-Toolbox von Bouguet zuweist, sind tatsächlich dreimal so hoch wie der Standardfehler, was 99,73% Konfidenzintervall entspricht. Mit anderen Worten, wenn die Toolbox Kamerakalibrierung den Brennweitenfehler als + - [23.13283 22.92478] meldet, liegt die tatsächliche Brennweite innerhalb des Intervalls Ihrer Schätzung mit der Wahrscheinlichkeit von 99,73%.

Die Reprojektionsfehler geben Ihnen ein schnelles Maß für die Genauigkeit Ihrer Kalibrierung. Die Standardfehler - nennen wir sie Schätzfehler - sind nützlich für eine genauere Analyse Ihrer Ergebnisse. Zum Beispiel sollten Sie versuchen, Kalibrierungsbilder auszuschließen, die einen hohen mittleren Reprojektionsfehler aufweisen. Auf der anderen Seite, wenn Ihre Schätzfehler hoch sind, können Sie versuchen, weitere Kalibrierungsbilder hinzuzufügen.

Übrigens, die Computer Vision System Toolbox enthält jetzt eine GUI Camera Calibrator app, die Kamera-Kalibrierung viel einfacher macht. Es gibt auch eine gute Erklärung der Reprojektionsfehler in der Dokumentation.

0

Die Kamera-Kalibrierungs-Toolbox extrahiert Gitterpunkte aus den Schachbrettbildern und verwendet sie zum Auffinden von Kalibrierungsparametern.

Die Pixelfehler sind mittlere Neuprojektionsfehler für extrahierte Gitterpunkte, d. H. Die tatsächliche Pixelposition und die durch Verwendung der berechneten K-Matrix. Diese Zahlen liegen also meist innerhalb von 1 (1 Pixelfehler), obwohl Ihre Zahlen recht sind. Der Fehler in der Brennweite ist die Varianz der berechneten Brennweite.

Sie benötigen nur 3 oder 4 Bilder, um die Kalibrierung einer Kamera zu finden (ich vergesse die tatsächliche Anzahl). Wenn Sie mehrere Bilder zur Verfügung stellen, wird K für alle Kombinationen von 3-4 Bildern berechnet und ein K berechnet. Die Fehler sind die Varianz aller berechneten K

Ihre Zahlen sind ziemlich hoch (es sollte innerhalb von 3 liegen) -4 Pixel im Vergleich zu Ihren 22-23 Pixeln). Der Grund ist schlechte Bilder für die Kalibrierung und falsche erste Schätzung der Gitterpunkte (das tun Sie manuell, indem Sie 4 Ecken im Bild auswählen). Auch in der Regel sind f_x und f_y in modernen Kameras gleich und Sie sollten beide Mittelwerte (f_x + f_y)/2 verwenden.

In Bezug auf Ihren Hauptpunkt scheint es, Ihre Kameraauflösung in 1920 x 1600 und Sie sollten [980 800] anstelle der durch toolbox angegebenen verwenden. In der Regel wird die ccd jetzt vorsichtig-Tage platziert und Sie haben Ihren Hauptpunkt genau in der Mitte.