Monocular Visual Odometry for a Mini ROV
Master thesis
Permanent lenke
http://hdl.handle.net/11250/2622900Utgivelsesdato
2019Metadata
Vis full innførselSamlinger
- Institutt for marin teknikk [3437]
Sammendrag
Denne oppgaven presenterer en estimering av bevegelsen til en liten fjernstyrt undervannsfarkost (ROV) i sanntid, ved bruk at et enkelt kamera og en trykksensor. Dette, for å øke nivået av automasjon, og for å forenkle navigasjon av undervannsfarkoster. Estimering av bevegelse er gjort gjennom såkalt monokulær visuell odometri (MVO), som estimerer endringen i posisjon og orientering ved bruk av kamerabilder. Dette gjøres ved å estimere kameraets relative bevegelse, og dermed ROV-bevegelsen, fra ett kamerabilde til det neste. Estimatene er ment å brukes for dynamisk posisjonering.
Bevegelsesinformasjonen blir hentet ut gjennom en metode basert på kjennetegn i bildet, ved bruk av ORB (oriented Features from Accelerated Segment Test and rotated Binary Robust Independent Elementary Features). ORB blir brukt til å hente ut og beskrive kjennetegn i bildet. Sammenligningen av kjennetegn er gjort gjennom Brute-Force matching ved å sammenligne Hamming-distansen til de binære beskrivelsene. Basert på sammenligning av kjennetegn mellom to påfølgende bilder brukes Nistér's fem-punkts algoritme med Random Sample Consensus (RANSAC) til å beregne den essensielle matrisen som relativ translasjon og rotasjon kan hentes ut ifra.
Den implementerte MVO-algoritmen klarer å kjøre med et gjennomsnitt på 10 bilder i sekundet. Ytelsen til algoritmen er testet både på ferdige datasett og i Marin kybernetikk sitt laboratorium. Resultatene viser at algoritmen klarer å estimere relativ bevegelse over vann, men ikke under vann. På grunn av store feil i rotasjonsestimatene blir posisjonsestimatene for ustabile til å bli brukt i en dynamisk posisjoneringsimplementasjon.
En visuell odometri metode ved bruk av treghetssensoren om bord i ROVen ble forsøkt implementert. På grunn av et ukalibrert akselerometer er bevegelsesestimatene og måledata fra treghetssensoren slått sammen gjennom et error-state Kalman Filter (ESKF). Ettersom det ikke ble klart å skille mellom bias og målinger i den forsøkte ESKF implementeringen ble denne tilnærmingen ikke brukt i den endelige implementasjonen av algoritmen.
For å forbedre bevegelsesestimatene bør en tilnærming gjennom ”structure from motion” eller en simultan lokalisering og karlegging (SLAM) vurderes. Beregning av farkostens posisjon i forhold til kjente kjennetegn eller gjenstander vil redusere avvik og drift akkumulert gjennom en visuell odometri-tilnærming. This thesis presents a real-time motion estimation of a small sized remotely operated vehicle (ROV) using a single camera and a pressure sensor. This in order to increase the level of automation and ease for navigation for underwater vehicles. The motion estimation is performed through so-called monocular visual odometry, which estimates the change in position and attitude with the use of camera images. This is done by estimating the cameras relative motion, and thus the ROV motion, from one camera image to the next. The estimations is to be used for dynamic positioning.
The motion information from the images is extracted with a feature-based method using oriented Features from Accelerated Segment Test and rotated Binary Robust Independent Elementary Features (ORB). ORB is used to extract and describe features in the images, while matching of the features is performed with Brute-Force matching comparing the Hamming distances of the binary descriptors. Based on the matches between two consecutive frames, Nistér's five-point algorithm with Random Sample Consensus (RANSAC) is used to obtain the essential matrix, from which the relative translation and rotation is computed.
The implemented monocular visual odometry algorithm is able to run with at an average of 10 frames per second. The performance of the monocular visual odometry algorithm is tested on both prerecorded datasets and real-time tests in the Marine Cybernetics Laboratory. The results shows that the algorithm is able to estimate the relative motion in air, but not in the underwater environment. Due to high errors in the rotational estimates, the resulting position estimates becomes too unstable to be used in a dynamic positioning implementation.
A visual inertial odometry method using the inertial measurement unit (IMU) onboard the ROV was tried implemented. Due to an uncalibrated accelerometer, the motion estimations and IMU measurements were fused through an error state Kalman Filter (ESKF). Not being able to distinguish the measurement bias from the real values in the ESKF, the implementation ended up with not being used in the final presented algorithm.
In order to improve the motion estimation, a structure from motion or simultaneous localisation and mapping approach should be considered. Estimating the vehicles position with respect to known features or objects would reduce the errors and drifts accumulated through a visual odometry approach.