Skip to content
Snippets Groups Projects
Commit b010f1ba authored by Jan Wille's avatar Jan Wille
Browse files

Kalibirerung: Reprojektions-Fehler

parent 078e53d4
Branches
No related tags found
No related merge requests found
No preview for this file type
......@@ -237,6 +237,37 @@
\end{figure}
\subsubsection*{Reprojektions-Fehler}
Um eine Aussage über die Genauigkeit der gefundenen Kalibrierungs-Parameter treffen zu können, wird der Reprojektions-Fehler bestimmt.
Dieser gibt den Abstand zwischen einem im Kalibriermuster gefundenen Kreuzungspunkt und den mittels der Kalibrierung Ergebnisse
berechneten \gls{Welt-coords}. Der Mittelwert aller Abweichungen in allen verwendeten Bilder gibt den Reprojektions-Fehler für den
ganzen Kalibriervorgang an.
Der \autoref{code: reprojektions fehler} zeigt die Berechnung mittels von OpenCV zur Verfügung gestellten Funktionen und den zuvor
ermittelten Kalibrierdaten. Für jeden Satz an theoretischen \gls{Welt-coords} des Kalibriermusters in \lstinline{objpoints} werden
die Punkte im Bild mit der OpenCV Funktion \lstinline{projectPoints()} bestimmt und mit den gefundenen Punkten verglichen. Dazu wird
die OpenCV Funktion \lstinline{norm()} verwendet, die direkt die summe aller Differenzen zweigen den beiden Punktelisten liefert.
Das Ergebnis wird auf dem Bildschirm ausgegeben.
\begin{lstlisting}[
float,
style=example,
caption=Bererchnen des Reprojektions-Fehlers,
label=code: reprojektions fehler,
language=Python
]
# calculate re-projection error
mean_error = 0
for i in range(len(objpoints)):
imgpoints2, _ = cv.projectPoints(objpoints[i], rvecs[i], tvecs[i], mtx, dist)
error = cv.norm(imgpoints[i], imgpoints2, cv.NORM_L2)/len(imgpoints2)
mean_error += error
print(f"total error: {mean_error/len(objpoints)}")
\end{lstlisting}
Mit dem verwendeten Datensatz ergibt sich ein Reprojektions-Fehler von $0,049$, was genau genug für diesen Anwendungsfall ist.
\subsection{Anwenden der Kalibrierung in einem \gls{ROS Nodelet}}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment