Kamerakalibrering er opgaven med at opnå de interne og eksterne parametre for kameraet fra de tilgængelige fotos eller videoer, der er taget af det.
Kamerakalibrering bruges ofte i den indledende fase af løsningen af mange problemer i computersyn og især i augmented reality . Derudover hjælper kamerakalibrering med at korrigere forvrængning i fotos og videoer [1] .
Som regel bruges en kolonnevektor af formen til at repræsentere 2D-koordinaterne for et punkt på planet , og til at angive positionen af et 3D-punkt i verdenskoordinaterne . Det skal bemærkes, at disse udtryk er skrevet i den udvidede notation af homogene koordinater , som er den mest almindelige i robotteknologi og problemer med transformation af stive kroppe. Specielt i camera obscura -modellen bruges kameramatrixen til at projicere punkter af tredimensionelt rum på billedplanet:
Den interne kalibreringsmatrix A indeholder 5 væsentlige parametre. Disse parametre svarer til brændvidden , hældningsvinklen for pixels og hovedpunktet (skæringspunktet mellem billedplanet og den optiske akse, der falder sammen med midten af fotografiet. I rigtige kameraer er det som regel er lidt forskudt på grund af optiske forvrængninger). Især og svarer til brændvidden målt i bredden og højden af en pixel, og svarer til koordinaterne for det principielle punkt , og , hvor er hældningsvinklen for pixlen [2] . Ikke-lineære interne kalibreringsparametre såsom forvrængningskoefficienter er også vigtige, selvom de ikke kan inkluderes i den lineære model beskrevet af den interne kalibreringsmatrix. De fleste moderne kamerakalibreringsalgoritmer bestemmer dem sammen med parametrene for den lineære del af modellen.
De interne kalibreringsparametre er kameraspecifikke, ikke scenespecifikke, så de ændres kun, når de tilsvarende kameraindstillinger ændres.
(hvor er en 1 × 3 vektor eller en 3 × 3 rotationsmatrix, er en 3 × 1 translationsvektor) er eksterne kalibreringsparametre , der bestemmer koordinattransformationen , der overfører koordinaterne for scenepunkterne fra verdenskoordinatsystemet til koordinatsystemet forbundet med kameraet [2] . Eller svarende til den tidligere definition, de eksterne kalibreringsparametre indstiller kameraets position i verdenskoordinatsystemet.
Eksterne kalibreringsparametre er direkte relateret til scenen, der fotograferes, derfor (i modsætning til interne kalibreringsparametre) har hvert foto sit eget sæt af disse parametre.
Når du bruger kameraet, fokuseres og fanges lyset fra scenen, der filmes. Denne proces reducerer antallet af dimensioner af de data, kameraet modtager fra tre til to (lys fra en 3D-scene konverteres til et 2D-billede). Derfor svarer hver pixel i det resulterende billede til en lysstråle i den originale scene. Under kamerakalibrering søges der efter et match mellem scenens tredimensionelle punkter og billedets pixels.
I tilfælde af en ideel camera obscura er en projektionsmatrix nok til at indstille en sådan korrespondance. Men i tilfælde af mere komplekse kameraer kan den forvrængning, som objektiverne indfører, i høj grad påvirke resultatet. Således antager projektionsfunktionen en mere kompleks form og skrives ofte som en sekvens af transformationer, for eksempel: , hvor
Der er flere forskellige tilgange til at løse kalibreringsproblemet.
Enkeltkamera-kalibreringsalgoritmen såvel som stereokalibreringsalgoritmen er implementeret i OpenCV-biblioteket .
De vigtigste trin i denne metode: