Keypoint Detection And Feature Matching as a Part of a Visual SLAM System
Juntti, Kristoffer (2024)
Juntti, Kristoffer
2024
Automaatiotekniikan DI-ohjelma - Master's Programme in Automation Engineering
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2024-10-29
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202410259497
https://urn.fi/URN:NBN:fi:tuni-202410259497
Tiivistelmä
Visual simultaneous localization and mapping (VSLAM) systems use visual data obtained with a camera to localize it in the environment, as well as creating a global map of the work area. VSLAM systems consist of two main modules. The front-end of the system uses the visual data and identifies high interest regions known as keypoints or features from the images. These detected features are matched between consecutive frames to find the movement between frames. The matched features are used by the back-end to generate the map and estimate the pose.
This thesis focuses on the front-end of a VSLAM system using a stereo camera. The created front-end is capable of fast and efficient real-time detection of features using ORB algorithm. These features are matched between the simultaneous left and right frames, as well as the consecutive frames. The created system is also capable of estimating the pose of the camera.
The system was tested with offline and online data. The tests were done in a laboratory environment with an artificial rock wall. The results were validated by comparing them with a pose estimated by OptiTrack motion tracking cameras. The accuracy achieved by online tests is highly dependent on the used parameters. With optimal parameters the results are fairly accurate, but with longer sets, the error starts to accumulate. These results only validate the performance of the front-end itself, as it was used without the intended separate back-end. With the addition of the back-end and inertial data, the accuracy should significantly improve. Visuaalista samanaikaista lokalisointia ja kartoitusta (VSLAM) käyttävät järjestelmät hyödyntävät kameran tuottamaa visuaalista dataa kameran lokalisoinnissa ja ympäristön kartoittamisessa. VSLAM järjestelmät koostuvat kahdesta päämoduulista. Järjestelmän front-end käyttää kameran dataa ja tunnistaa kuvista merkittävät alueet eli avainpisteet tai piirteet. Näitä tunnistettuja piirteitä vertaillaan peräkkäisissä kuvissa, jotta kuvien välinen liike voidaan arvioida. Toinen päämoduuleista eli back-end käyttää näitä sovitettuja piirteitä kartoituksessa ja asennon arvioinnissa.
Tämä diplomityö keskittyy VSLAM järjestelmän front-endiin, käyttämällä stereo kameraa. Luotu front-end kykenee nopeaan ja tehokkaaseen reaaliaikaiseen piirteiden tunnistamiseen käyttämällä ORB algoritmia. Samanaikaisista vasemmasta ja oikeasta kuvasta löydetyt piirteet sovitetaan keskenään, ja sama toistetaan peräkkäisten kuvien piirteille. Luotu järjestelmä voi myös arvioida kameran asentoa sen liikkeiden perustella.
Järjestelmää testattiin sekä etukäteen tallennetuilla videoilla, että reaaliaikaisella datalla. Testit suoritettiin laboratoriossa, jossa on keinotekoinen kiviseinä. Tulokset validoidaan vertailemalla arvioitua asentoa OptiTrack liikkeenseuraus kameroiden tunnistamaan liikkeeseen. Reaaliaikaisen testauksen saavuttama tarkkuus riippuu vahvasti koodissa käytetyistä parametreista. Optimaalisilla parametreilla tulokset ovat suhteellisen tarkkoja, mutta pidemmillä liikeradoilla virhe alkaa akkumuloitua. Saadut tulokset osoittavat vain luodun front-endin suorituskyvyn, ilman erillistä back-endiä. Front-endin käyttö back-endin ja inertiadatan kanssa pitäisi huomattavasti parantaa arvioinnin tarkkuutta.
This thesis focuses on the front-end of a VSLAM system using a stereo camera. The created front-end is capable of fast and efficient real-time detection of features using ORB algorithm. These features are matched between the simultaneous left and right frames, as well as the consecutive frames. The created system is also capable of estimating the pose of the camera.
The system was tested with offline and online data. The tests were done in a laboratory environment with an artificial rock wall. The results were validated by comparing them with a pose estimated by OptiTrack motion tracking cameras. The accuracy achieved by online tests is highly dependent on the used parameters. With optimal parameters the results are fairly accurate, but with longer sets, the error starts to accumulate. These results only validate the performance of the front-end itself, as it was used without the intended separate back-end. With the addition of the back-end and inertial data, the accuracy should significantly improve.
Tämä diplomityö keskittyy VSLAM järjestelmän front-endiin, käyttämällä stereo kameraa. Luotu front-end kykenee nopeaan ja tehokkaaseen reaaliaikaiseen piirteiden tunnistamiseen käyttämällä ORB algoritmia. Samanaikaisista vasemmasta ja oikeasta kuvasta löydetyt piirteet sovitetaan keskenään, ja sama toistetaan peräkkäisten kuvien piirteille. Luotu järjestelmä voi myös arvioida kameran asentoa sen liikkeiden perustella.
Järjestelmää testattiin sekä etukäteen tallennetuilla videoilla, että reaaliaikaisella datalla. Testit suoritettiin laboratoriossa, jossa on keinotekoinen kiviseinä. Tulokset validoidaan vertailemalla arvioitua asentoa OptiTrack liikkeenseuraus kameroiden tunnistamaan liikkeeseen. Reaaliaikaisen testauksen saavuttama tarkkuus riippuu vahvasti koodissa käytetyistä parametreista. Optimaalisilla parametreilla tulokset ovat suhteellisen tarkkoja, mutta pidemmillä liikeradoilla virhe alkaa akkumuloitua. Saadut tulokset osoittavat vain luodun front-endin suorituskyvyn, ilman erillistä back-endiä. Front-endin käyttö back-endin ja inertiadatan kanssa pitäisi huomattavasti parantaa arvioinnin tarkkuutta.