6 Results and Analysis
6.1 Image Processing
6.1.1 Results
As truck setups are all different and the methods or marking are slightly different a variety of different images were chosen to test the algorithm on. Slightly different angles and zooms were used to simulate these different setups along with a variety of different images of lines including worn, dirty, and cracked lines, and partly shaded images along with images of lines in various positions. Figure 6.1 shows some of the images used for testing normal situations and figure 6.2 shows some of the more difficult situations.
68
The process followed by the algorithm generates a set of quadrilaterals that can be used to approximate the line. In the normal road marking situations, such as those shown in figure 6.1, the algorithm picked up the line accurately and well. The quadrilateral models can be seen imposed on the original images in figure 6.3. Where there are cases of line being repainted not exactly over each other the algorithm is able to ignore the old line and only focus on the newer line for the next remarking.
The fact that this algorithm works well in normal road marking situations is very good, but the point of road remarking is to repaint dirty, faded and otherwise degraded lines. In situations where the line has been completely wiped out or covered over, such as when a small part of the road has been repaired, the algorithm is able to fill in the gap and assume the line is present, figure 6.4. This depends on the size of the quadrilaterals used in the model and the size of the gap in the line. The algorithm also works well with cracked lines, ignoring the cracks and finding the edges very well, figure 6.5.
Figure 6.2 - Difficult situations for road marking recognition
69 Figure 6.4 – Ignoring small holes in the line.
70
The biggest test of the algorithm is with very faded lines and faded lines with shadows on them. Figure 6.6 shows the result of the algorithm working on an image with varied shading all over the faded line. Despite the regions of high intensity caused by a lack of shade in some areas, the algorithm manages to detect where the line is most of the time. The errors that are visible occur when the shade less areas bound the edge of the line, causing the algorithm to extend the width of the line beyond the actual boundaries. Similarly with very faded lines the algorithm detects lines to be wider than they should be, but still manages to detect where the line is, figure 6.7. The time taken to process these images was not looked at, as factors such as the regions of interest were not able to be used for the processing. Hence the time taken for these images would be larger than for a continual video stream.
71 Along with the images being used for analysis it was important to also look at how the algorithm responds to video or sequences of images following one after the other. Looking at images in isolation gives a good idea as to how the algorithm works in various situations and under difficult conditions. Each of the images took between 0.3 and 0.5 seconds to process and for remarking that is far too slow. Ideally it would be able to work at 20 to 30 times per second or between 0.03 and 0.05 seconds per image. Fortunately the similarity between frames in the actual application of road remarking mimics those from a video of a line and so these can be used to determine the speed of the algorithm. Video was taken at a resolution of 640 x 480 and at 30 frames per second in colour. The algorithm was then asked to work through these sequences of images and an average of the time taken was calculated, the first value was ignored each time as there was no Region of Interest information for this frame. The sequences of frames were all around 100 frames in length.
72
The results were obtained from within Matlab, without compiling the program and with only a small amount of optimisation. Running the full algorithm gave results around 0.11 seconds per frame. As the information required from the algorithm is obtainable from the bottom of the image, it is not necessary to perform the full algorithm and model the entire line, if all that is required is in the bottom section. How far up the image the algorithm will need to go will depend on the speed of marking, by decreasing the amount the algorithm will need to model, the algorithm will be sped up. Limiting the algorithm to the lower half of the image gave results around 0.067 seconds per frame or 15 frames per second and limiting it to the lower third gave results of 0.051 seconds per frame or 19.5 frames per second. The output from one of these frames can be seen in figure 6.8.
73