Classifying Laser Range Data Images Supervisor: Elin Anna Topp - - PowerPoint PPT Presentation

classifying laser range data images
SMART_READER_LITE
LIVE PREVIEW

Classifying Laser Range Data Images Supervisor: Elin Anna Topp - - PowerPoint PPT Presentation

Classifying Laser Range Data Images Supervisor: Elin Anna Topp Fredrik Paulsson Shan Senanayake Lund University Faculty of Engineering May 25, 2015 F. Paulsson, S. Senanayake (LTH) Classifying Laser Range Data Images May 25,


slide-1
SLIDE 1

Classifying Laser Range Data ”Images”

Supervisor: Elin Anna Topp Fredrik Paulsson Shan Senanayake

Lund University Faculty of Engineering

May 25, 2015

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 1 / 15

slide-2
SLIDE 2

Project Description

Purpose and Goals

The main task of the project was to make a robot identify certain elements in its surroundings, for example, doors, , open room, clutter and maybe chairs, tables, humans, e.t.c. Thus we divided the project into three parts:

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 2 / 15

slide-3
SLIDE 3

Project Description

Purpose and Goals

The main task of the project was to make a robot identify certain elements in its surroundings, for example, doors, , open room, clutter and maybe chairs, tables, humans, e.t.c. Thus we divided the project into three parts: Create a parser for the laser range data and transform the data into a more suitable coordinate system

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 2 / 15

slide-4
SLIDE 4

Project Description

Purpose and Goals

The main task of the project was to make a robot identify certain elements in its surroundings, for example, doors, , open room, clutter and maybe chairs, tables, humans, e.t.c. Thus we divided the project into three parts: Create a parser for the laser range data and transform the data into a more suitable coordinate system Develop an algorithm that can classify laser range measurements

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 2 / 15

slide-5
SLIDE 5

Project Description

Purpose and Goals

The main task of the project was to make a robot identify certain elements in its surroundings, for example, doors, , open room, clutter and maybe chairs, tables, humans, e.t.c. Thus we divided the project into three parts: Create a parser for the laser range data and transform the data into a more suitable coordinate system Develop an algorithm that can classify laser range measurements If time is available, port the programs into ROS (Robot Operating System)

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 2 / 15

slide-6
SLIDE 6

Project Description

Purpose and Goals

The main task of the project was to make a robot identify certain elements in its surroundings, for example, doors, , open room, clutter and maybe chairs, tables, humans, e.t.c. Thus we divided the project into three parts: Create a parser for the laser range data and transform the data into a more suitable coordinate system Develop an algorithm that can classify laser range measurements If time is available, port the programs into ROS (Robot Operating System) Offline data to be used during development and if ported into ROS maybe test on online data.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 2 / 15

slide-7
SLIDE 7

Laser Range Data

Parser

The laser scanner took measurements with 4-5 Hz. Each measurement was stored in the following format: <unknown> <unknown> <number_of_points> <timestamp_seconds> <timestamp_microseconds> <unknown> <unknown> <unknown> <unknown> <unknown> <unknown> <angle_between_points> <unknown> <unknown> <unknown> <distance_in_meters>^(number_of_points) 1 measurement = 1 line 1 round of measurements = 1 file

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 3 / 15

slide-8
SLIDE 8

Laser Range Data

Parser

The laser scanner took measurements with 4-5 Hz. Each measurement was stored in the following format: <unknown> <unknown> <number_of_points> <timestamp_seconds> <timestamp_microseconds> <unknown> <unknown> <unknown> <unknown> <unknown> <unknown> <angle_between_points> <unknown> <unknown> <unknown> <distance_in_meters>^(number_of_points) 1 measurement = 1 line 1 round of measurements = 1 file The parser yields polar coordinates which are hard to work with.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 3 / 15

slide-9
SLIDE 9

Laser Range Data

Transformation

When we have parsed the measurements we transform the data from polar coordinates to our own cartesian-coordinates.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 4 / 15

slide-10
SLIDE 10

Laser Range Data

Transformation

When we have parsed the measurements we transform the data from polar coordinates to our own cartesian-coordinates. The robot is located at (0,0) and the robot forward is along the y-axis.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 4 / 15

slide-11
SLIDE 11

Laser Range Data

Transformation

When we have parsed the measurements we transform the data from polar coordinates to our own cartesian-coordinates. The robot is located at (0,0) and the robot forward is along the y-axis. Having this coordinate-system makes it much easier to plot the data for us to visually analyze the measurements as well as to process the data.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 4 / 15

slide-12
SLIDE 12

Laser Range Data

Transformation

When we have parsed the measurements we transform the data from polar coordinates to our own cartesian-coordinates. The robot is located at (0,0) and the robot forward is along the y-axis. Having this coordinate-system makes it much easier to plot the data for us to visually analyze the measurements as well as to process the data. For instance, we can use well-known algorithms and mathematical formulas to interpolate the data or find patterns in the data.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 4 / 15

slide-13
SLIDE 13

Laser Range Data

Example Plots

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 5 / 15

slide-14
SLIDE 14

Algorithm

Approach

We are both very interested in the Machine Learning division of Artificial Intelligence.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 6 / 15

slide-15
SLIDE 15

Algorithm

Approach

We are both very interested in the Machine Learning division of Artificial Intelligence. Therefore, our original vision was to try to implement the classifier using unsupervised learning. Thereby letting the classifier improve itself.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 6 / 15

slide-16
SLIDE 16

Algorithm

Approach

We are both very interested in the Machine Learning division of Artificial Intelligence. Therefore, our original vision was to try to implement the classifier using unsupervised learning. Thereby letting the classifier improve itself. However, we eventually realized that we needed to use supervised learning in order to have a starting ground.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 6 / 15

slide-17
SLIDE 17

Algorithm

Approach

We are both very interested in the Machine Learning division of Artificial Intelligence. Therefore, our original vision was to try to implement the classifier using unsupervised learning. Thereby letting the classifier improve itself. However, we eventually realized that we needed to use supervised learning in order to have a starting ground. Eventually we had to only use supervised learning as we had to change the way the whole classifier was going to work.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 6 / 15

slide-18
SLIDE 18

Algorithm

Directly Comparing Measurements

The first approach that we tried to implement was the following:

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 7 / 15

slide-19
SLIDE 19

Algorithm

Directly Comparing Measurements

The first approach that we tried to implement was the following: Maintaining a list of measurements and their classifications

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 7 / 15

slide-20
SLIDE 20

Algorithm

Directly Comparing Measurements

The first approach that we tried to implement was the following: Maintaining a list of measurements and their classifications Have some kind of algorithm that directly compares two measurements

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 7 / 15

slide-21
SLIDE 21

Algorithm

Directly Comparing Measurements

The first approach that we tried to implement was the following: Maintaining a list of measurements and their classifications Have some kind of algorithm that directly compares two measurements Using the above algorithm to find the best match in the maintained list

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 7 / 15

slide-22
SLIDE 22

Algorithm

Directly Comparing Measurements

The first approach that we tried to implement was the following: Maintaining a list of measurements and their classifications Have some kind of algorithm that directly compares two measurements Using the above algorithm to find the best match in the maintained list Assign the same classification of the best match to the new measurement

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 7 / 15

slide-23
SLIDE 23

Algorithm

Directly Comparing Measurements

The first approach that we tried to implement was the following: Maintaining a list of measurements and their classifications Have some kind of algorithm that directly compares two measurements Using the above algorithm to find the best match in the maintained list Assign the same classification of the best match to the new measurement Add our newly classified measurement to the list

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 7 / 15

slide-24
SLIDE 24

Algorithm

Directly Comparing Measurements

The first approach that we tried to implement was the following: Maintaining a list of measurements and their classifications Have some kind of algorithm that directly compares two measurements Using the above algorithm to find the best match in the maintained list Assign the same classification of the best match to the new measurement Add our newly classified measurement to the list This approach combines supervised and unsupervised learning. We must have a starting list, this is supervised learning, and as the list grows we have unsupervised learning.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 7 / 15

slide-25
SLIDE 25

Algorithm

Directly Comparing Measurements

The first approach that we tried to implement was the following: Maintaining a list of measurements and their classifications Have some kind of algorithm that directly compares two measurements Using the above algorithm to find the best match in the maintained list Assign the same classification of the best match to the new measurement Add our newly classified measurement to the list This approach combines supervised and unsupervised learning. We must have a starting list, this is supervised learning, and as the list grows we have unsupervised learning. However, this approach has some problems.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 7 / 15

slide-26
SLIDE 26

Algorithm

Directly Comparing Measurements

The first approach that we tried to implement was the following: Maintaining a list of measurements and their classifications Have some kind of algorithm that directly compares two measurements Using the above algorithm to find the best match in the maintained list Assign the same classification of the best match to the new measurement Add our newly classified measurement to the list This approach combines supervised and unsupervised learning. We must have a starting list, this is supervised learning, and as the list grows we have unsupervised learning. However, this approach has some problems. Difficult to find an algorithm to compare measurements

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 7 / 15

slide-27
SLIDE 27

Algorithm

Directly Comparing Measurements

The first approach that we tried to implement was the following: Maintaining a list of measurements and their classifications Have some kind of algorithm that directly compares two measurements Using the above algorithm to find the best match in the maintained list Assign the same classification of the best match to the new measurement Add our newly classified measurement to the list This approach combines supervised and unsupervised learning. We must have a starting list, this is supervised learning, and as the list grows we have unsupervised learning. However, this approach has some problems. Difficult to find an algorithm to compare measurements Since the list grows, the classifier can introduce small errors that will accumulate

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 7 / 15

slide-28
SLIDE 28

Algorithm

Directly Comparing Measurements

The simple interpolation-algorithm to do comparisons:

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 8 / 15

slide-29
SLIDE 29

Algorithm

Directly Comparing Measurements

The simple interpolation-algorithm to do comparisons: Draw even lines between all the points in a dataset

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 8 / 15

slide-30
SLIDE 30

Algorithm

Directly Comparing Measurements

The simple interpolation-algorithm to do comparisons: Draw even lines between all the points in a dataset Output a new dataset consisting of evenly distributed points in a dataset

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 8 / 15

slide-31
SLIDE 31

Algorithm

Directly Comparing Measurements

The simple interpolation-algorithm to do comparisons: Draw even lines between all the points in a dataset Output a new dataset consisting of evenly distributed points in a dataset However this is quite an unstable solution since slightest shift will become an error.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 8 / 15

slide-32
SLIDE 32

Algorithm

Line Finding

The next approach was to go up a abstraction level and try to locate interesting characteristics of the data set. Which led us to the line finding algorithm.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 9 / 15

slide-33
SLIDE 33

Algorithm

Line Finding

The next approach was to go up a abstraction level and try to locate interesting characteristics of the data set. Which led us to the line finding algorithm. y = kx + m yupper = kx + m + err ylower = kx + m − err (1)

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 9 / 15

slide-34
SLIDE 34

Algorithm

Line Finding

The next approach was to go up a abstraction level and try to locate interesting characteristics of the data set. Which led us to the line finding algorithm. y = kx + m yupper = kx + m + err ylower = kx + m − err (1)

1 Find the first line between startpoint and the next point 2 Check if the next point is in bounds of yupper and ylower 3 If 2 Adjust the original line with weight to the new point 4 When done check if line length > 0.25 m and has at least 3 points 5 Repeat 1 until no more points can be checked

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 9 / 15

slide-35
SLIDE 35

Algorithm

Line Finding

Ran linefinding with 0.2 m thick line, and 10 degrees of margin of error for finding perpendicular and parallell lines. Number of lines: 5 Mean length of lines: 0.892474 m Parallel: 4 Perpendicular: 3

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 10 / 15

slide-36
SLIDE 36

Algorithm

The Decision Tree

Now that we had a way to represent data we could chose a machine learning algorithm to learn patterns.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 11 / 15

slide-37
SLIDE 37

Algorithm

The Decision Tree

Now that we had a way to represent data we could chose a machine learning algorithm to learn patterns. The algorithm we chose was the ID3 (Decision tree algorithm) which was a perfect algorithm to represent this abstract data structure.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 11 / 15

slide-38
SLIDE 38

Algorithm

The Decision Tree

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 12 / 15

slide-39
SLIDE 39

Conclusion

There are a lot of parameters that can be tweaked to get better results.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 13 / 15

slide-40
SLIDE 40

Conclusion

There are a lot of parameters that can be tweaked to get better results. The attributes we have might not be enough.

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 13 / 15

slide-41
SLIDE 41

Improvements

Add more classifiers and implementing a one-vs-rest validation

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 14 / 15

slide-42
SLIDE 42

Improvements

Add more classifiers and implementing a one-vs-rest validation Making the robot use unsupervised learning after the initial supervised

  • ne
  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 14 / 15

slide-43
SLIDE 43

Improvements

Add more classifiers and implementing a one-vs-rest validation Making the robot use unsupervised learning after the initial supervised

  • ne

Port it to a ROS node and use online running

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 14 / 15

slide-44
SLIDE 44

Improvements

Add more classifiers and implementing a one-vs-rest validation Making the robot use unsupervised learning after the initial supervised

  • ne

Port it to a ROS node and use online running Introduce more layers to the classifier, identify other structures and based on this make a classification

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 14 / 15

slide-45
SLIDE 45

Thanks for listening Any questions?

  • F. Paulsson, S. Senanayake (LTH)

Classifying Laser Range Data ”Images” May 25, 2015 15 / 15