Autokalibrering av kamera ved bruk av rotasjon og vinkelmåling
Abstract
Dette arbeidet er utført med tanke på kameraer som skal brukes for Augmented Reality (AR). AR
innebærer at man viser virtuell informasjon plassert på korrekt sted i en reell scene. For å få til
dette, må man vite hvor kameraet befinner seg, og hvilken retning det peker i. Men man må også
kjenne kameraets egenskaper, dvs hvordan det overfører en 3-dimensjonal scene til et 2-
dimensjonalt bildeplan. For et “vanlig” digitalt kamera er aktuelle parametere fokallengde,
beskrivelse av kameraets forvrengning og hvilket pixel i bildet som tilsvarer det optiske sentrum.
Vi ønsket en metode for å finne kameraets parametere, og metoden må ikke være for omfattende
eller ta for lang tid. Den skulle heller ikke kreve at man tok bilde av spesielle mønstre. Metoden
vi kom frem til, baserer seg på at man holder kameraet i samme posisjon og tar bilder mens man
roterer kameraet om to akser normalt på optisk akse. Bildene med tilhørende vinkelverdier brukes
så i et dataprogram.
Programmet gjenkjenner automatisk punkter i scenen i de forskjellige bildene. Med et bestemt
parametersett skal ett punkt i ett bilde avbildes til ett bestemt punkt i et annet bilde. Avviket
mellom dette beregnede punktet og det faktisk, målte punktet i det nye bildet er en “feil”. Gitt den
matematiske kameramodellen, finner algoritmen det parametersettet som gir den minste totale
feilen for alle gjenkjente punkter i alle bildene, og angir dette som det beste estimatet for
kameraets parametere. We have conducted this work on camera calibration with Augmented Reality (AR) in mind. AR
means displaying virtual information placed in correct positions in a real world, usually viewed
through a camera. In order to achieve this, one must know the camera’s position and orientation.
In addition, one needs to know the basic camera properties. For “ordinary” digital cameras, such
parameters are focal length, a description of the camera’s distortion and which pixel that
corresponds to the camera’s optical center.
We looked for a method for finding these camera parameters that was reasonably user friendly,
did not require too long processing time, and did not require taking pictures of specific patterns.
The method we decided on, is based on a camera in a fixed position, taking pictures while it is
being rotated around two axes normal to the optical axis. The images, along with their
corresponding recorded viewing angles, are then used as input to a computer program.
The program automatically recognizes points in the scene in the various images. With a certain
set of parameters, one such point should be mapped to a specific location in another image. The
difference between this location and the actually observed location, is an “error”. Given the
mathematical model, the algorithm finds the set of parameters that yields the smallest total error
for all recognized points in all the images, and outputs this as the best estimate for the camera
parameters.