44 research outputs found
Local Accuracy and Global Consistency for Efficient SLAM
This thesis is concerned with the problem of Simultaneous Localisation and
Mapping (SLAM) using visual data only. Given the video stream of a moving
camera, we wish to estimate the structure of the environment and the motion
of the device most accurately and in real-time.
Two effective approaches were presented in the past. Filtering methods
marginalise out past poses and summarise the information gained over time
with a probability distribution. Keyframe methods rely on the optimisation
approach of bundle adjustment, but computationally must select only a small
number of past frames to process. We perform a rigorous comparison between
the two approaches for visual SLAM. Especially, we show that accuracy comes
from a large number of points, while the number of intermediate frames only
has a minor impact. We conclude that keyframe bundle adjustment is superior
to ltering due to a smaller computational cost.
Based on these experimental results, we develop an efficient framework for
large-scale visual SLAM using the keyframe strategy. We demonstrate that
SLAM using a single camera does not only drift in rotation and translation,
but also in scale. In particular, we perform large-scale loop closure correction
using a novel variant of pose-graph optimisation which also takes scale drift
into account. Starting from this two stage approach which tackles local motion
estimation and loop closures separately, we develop a unified framework
for real-time visual SLAM. By employing a novel double window scheme, we
present a constant-time approach which enables the local accuracy of bundle
adjustment while ensuring global consistency. Furthermore, we suggest a new
scheme for local registration using metric loop closures and present several improvements
for the visual front-end of SLAM. Our contributions are evaluated
exhaustively on a number of synthetic experiments and real-image data-set from
single cameras and range imaging devices
Local Accuracy and Global Consistency for Efficient SLAM
This thesis is concerned with the problem of Simultaneous Localisation and
Mapping (SLAM) using visual data only. Given the video stream of a moving
camera, we wish to estimate the structure of the environment and the motion
of the device most accurately and in real-time.
Two effective approaches were presented in the past. Filtering methods
marginalise out past poses and summarise the information gained over time
with a probability distribution. Keyframe methods rely on the optimisation
approach of bundle adjustment, but computationally must select only a small
number of past frames to process. We perform a rigorous comparison between
the two approaches for visual SLAM. Especially, we show that accuracy comes
from a large number of points, while the number of intermediate frames only
has a minor impact. We conclude that keyframe bundle adjustment is superior
to ltering due to a smaller computational cost.
Based on these experimental results, we develop an efficient framework for
large-scale visual SLAM using the keyframe strategy. We demonstrate that
SLAM using a single camera does not only drift in rotation and translation,
but also in scale. In particular, we perform large-scale loop closure correction
using a novel variant of pose-graph optimisation which also takes scale drift
into account. Starting from this two stage approach which tackles local motion
estimation and loop closures separately, we develop a unified framework
for real-time visual SLAM. By employing a novel double window scheme, we
present a constant-time approach which enables the local accuracy of bundle
adjustment while ensuring global consistency. Furthermore, we suggest a new
scheme for local registration using metric loop closures and present several improvements
for the visual front-end of SLAM. Our contributions are evaluated
exhaustively on a number of synthetic experiments and real-image data-set from
single cameras and range imaging devices
Flow2Code - From Hand-Drawn Flowchart to Code Execution
Flowcharts play an important role when learning to program by conveying algorithms graphically and making them easy to read and understand. When learning how to code with flowcharts and transitioning between the two, people often use computer based software to design and execute the algorithm conveyed by the flowchart. This requires the users to learn how to use the computer-based software first, which often leads to a steep learning curve.
We claim that the learning curve can be decremented by using off-line sketch recognition and computer vision algorithms on a mobile device. This can be done by drawing the flowchart on a piece of paper and using a mobile device with a camera to capture an image of the flowchart. Flow2Code is a code flowchart recognizer that allows the users to code simple scripts on a piece of paper by drawing flowcharts. This approach attempts to be more intuitive since the user does not need to learn how to use a system to design the flowchart. Only a pencil, a notebook with white pages, and a mobile device are needed to achieve the same result.
The main contribution of this thesis is to provide a more intuitive and easy-to-use tool for people to translate flowcharts into code and then execute the code
Utilizing educational technology in computer science and programming courses : theory and practice
There is one thing the Computer Science Education researchers seem to agree: programming is a difficult skill to learn. Educational technology can potentially solve a number of difficulties associated with programming and computer science education by automating assessment, providing immediate feedback and by gamifying the learning process. Still, there are two very important issues to solve regarding the use of technology: what tools to use, and how to apply them?
In this thesis, I present a model for successfully adapting educational technology to computer science and programming courses. The model is based on several years of studies conducted while developing and utilizing an exercise-based educational tool in various courses. The focus of the model is in improving student performance, measured by two easily quantifiable factors: the pass rate of the course and the average grade obtained from the course.
The final model consists of five features that need to be considered in order to adapt technology effectively into a computer science course: active learning and continuous assessment, heterogeneous exercise types, electronic examination, tutorial-based learning, and continuous feedback cycle. Additionally, I recommend that student mentoring is provided and cognitive load of adapting the tools considered when applying the model. The features are classified as core components, supportive components or evaluation components based on their role in the complete model.
Based on the results, it seems that adapting the complete model can increase the pass rate statistically significantly and provide higher grades when compared with a “traditional” programming course. The results also indicate that although adapting the model partially can create some improvements to the performance, all features are required for the full effect to take place.
Naturally, there are some limits in the model. First, I do not consider it as the only possible model for adapting educational technology into programming or computer science courses. Second, there are various other factors in addition to students’ performance for creating a satisfying learning experience that need to be considered when refactoring courses. Still, the model presented can provide significantly better results, and as such, it works as a base for future improvements in computer science education.Ohjelmoinnin oppimisen vaikeus on yksi harvoja asioita, joista lähes kaikki tietojenkäsittelyn opetuksen tutkijat ovat jokseenkin yksimielisiä. Opetusteknologian avulla on mahdollista ratkaista useita ohjelmoinnin oppimiseen liittyviä ongelmia esimerkiksi hyödyntämällä automaattista arviointia, välitöntä palautetta ja pelillisyyttä. Teknologiaan liittyy kuitenkin kaksi olennaista kysymystä: mitä työkaluja käyttää ja miten ottaa ne kursseilla tehokkaasti käyttöön?
Tässä väitöskirjassa esitellään malli opetusteknologian tehokkaaseen hyödyntämiseen tietojenkäsittelyn ja ohjelmoinnin kursseilla. Malli perustuu tehtäväpohjaisen oppimisjärjestelmän runsaan vuosikymmenen pituiseen kehitys- ja tutkimusprosessiin. Mallin painopiste on opiskelijoiden suoriutumisen parantamisessa. Tätä arvioidaan kahdella kvantitatiivisella mittarilla: kurssin läpäisyprosentilla ja arvosanojen keskiarvolla.
Malli koostuu viidestä tekijästä, jotka on otettava huomioon tuotaessa opetusteknologiaa ohjelmoinnin kursseille. Näitä ovat aktiivinen oppiminen ja jatkuva arviointi, heterogeeniset tehtävätyypit, sähköinen tentti, tutoriaalipohjainen oppiminen sekä jatkuva palautesykli. Lisäksi opiskelijamentoroinnin järjestäminen kursseilla ja järjestelmän käyttöönottoon liittyvän kognitiivisen kuorman arviointi tukevat mallin käyttöä. Malliin liittyvät tekijät on tässä työssä lajiteltu kolmeen kategoriaan: ydinkomponentteihin, tukikomponentteihin ja arviontiin liittyviin komponentteihin.
Tulosten perusteella vaikuttaa siltä, että mallin käyttöönotto parantaa kurssien läpäisyprosenttia tilastollisesti merkittävästi ja nostaa arvosanojen keskiarvoa ”perinteiseen” kurssimalliin verrattuna. Vaikka mallin yksittäistenkin ominaisuuksien käyttöönotto voi sinällään parantaa kurssin tuloksia, väitöskirjaan kuuluvien tutkimusten perusteella näyttää siltä, että parhaat tulokset saavutetaan ottamalla malli käyttöön kokonaisuudessaan.
On selvää, että malli ei ratkaise kaikkia opetusteknologian käyttöönottoon liittyviä kysymyksiä. Ensinnäkään esitetyn mallin ei ole tarkoituskaan olla ainoa mahdollinen tapa hyödyntää opetusteknologiaa ohjelmoinnin ja tietojenkäsittelyn kursseilla. Toiseksi tyydyttävään oppimiskokemukseen liittyy opiskelijoiden suoriutumisen lisäksi paljon muitakin tekijöitä, jotka tulee huomioida kurssien uudelleensuunnittelussa. Esitetty malli mahdollistaa kuitenkin merkittävästi parempien tulosten saavuttamisen kursseilla ja tarjoaa sellaisena perustan entistä parempaan opetukseen