Sleeper pose recognition from point cloud frame
Vastamäki, Rasmus (2025)
Vastamäki, Rasmus
2025
Teknisten tieteiden kandidaattiohjelma - Bachelor's Programme in Engineering Sciences
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ä
2025-11-26
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-2025112610945
https://urn.fi/URN:NBN:fi:tuni-2025112610945
Tiivistelmä
In this thesis it is experimented how to implement a solution for object detection and pose recognition in a 3D point cloud image without using machine learning solutions. The object of interest is a sleeper on the ground. The problem is split into two parts: clustering for the object of interest and pose recognition. In Theory three different clustering algorithms, K-Means, OPTICS and DBSCAN are presented along with Principal Component Analysis, which is chosen for the pose recognition task.
Since there are various powerful machine learning methods for this kind of a task, two such alternative solutions are also represented: Foundation Pose and Template matching.
In Experiments, the three clustering algorithms are compared and the one producing the best result, DBSCAN, is chosen. A pipeline is programmed in Python in which the OOI is separated from the original point cloud by clustering and PCA is applied to calculate the pose. Lastly, the pose is visualized on the original point cloud frame. Tässä työssä tutkitaan, miten toteutetaan esineen tunnistus sekä sen asennon tunnistus kolmiulotteisesta pistepilvestä käyttämättä koneoppimisratkaisuja. Haettu esine on maassa makaava ratapölkky. Ongelma on jaettu kahteen osaan, haetun esineen klusterointiin ja sen asennon tunnistukseen. Kohdassa teoria esitellään kolme erilaista klusterointialgoritmia, K-Means, OPTICS ja DBSCAN sekä esineen asennon tunnistukseen käytettävä Pääkomponenttianalyysi.
Koska nykyään on olemassa useita koneoppimisratkaisuja tämänkaltaisen ongelman ratkaisemiseksi, myös kaksi sellaista vaihtoehtoa on esitelty: Foundation Pose ja Template matching.
Käytännön vaiheessa mainittuja klusterointialgoritmejä vertaillaan ja valitaan niistä parhaan tuloksen antava DBSCAN. Pythonilla koodataan ohjelma, jossa haluttu esine erotellaan alkuperäisestä pistepilvestä klusteroimalla ja tämän jälkeen käyttämällä Pääkomponenttianalyysiä lasketaan erotellun esineen asento. Lopuksi havainnollistetaan tunnistettu esine ja piirretään sen asento alkuperäisessä pistepilvikuvassa.
Since there are various powerful machine learning methods for this kind of a task, two such alternative solutions are also represented: Foundation Pose and Template matching.
In Experiments, the three clustering algorithms are compared and the one producing the best result, DBSCAN, is chosen. A pipeline is programmed in Python in which the OOI is separated from the original point cloud by clustering and PCA is applied to calculate the pose. Lastly, the pose is visualized on the original point cloud frame.
Koska nykyään on olemassa useita koneoppimisratkaisuja tämänkaltaisen ongelman ratkaisemiseksi, myös kaksi sellaista vaihtoehtoa on esitelty: Foundation Pose ja Template matching.
Käytännön vaiheessa mainittuja klusterointialgoritmejä vertaillaan ja valitaan niistä parhaan tuloksen antava DBSCAN. Pythonilla koodataan ohjelma, jossa haluttu esine erotellaan alkuperäisestä pistepilvestä klusteroimalla ja tämän jälkeen käyttämällä Pääkomponenttianalyysiä lasketaan erotellun esineen asento. Lopuksi havainnollistetaan tunnistettu esine ja piirretään sen asento alkuperäisessä pistepilvikuvassa.