Goal:
To improve on the boundary detection results produced by the canny edge detection method by mapping texture distributions,
and computing texture and brightness gradients to distinguish true boundaries from edges in a surface texture.
Method:
Generating a Filter Bank
Creating a Texton Map
Generating a Half Disk Masks
Calculating Texture and Brightness Gradient Distribution
Combining Gradient Distributions and Evaluating Results
Results:
Pblite more accurately determines object boundaries than Canny or Sobel. Sobel often misses object boundaries or mislabels high contrast textures as boundaries. For example, the top left boundary of the birds head and the upper wing of the airplane appear only as faint lines when Sobel is run. Canny is more adept at determining object boundaries than Sobel, the results displayed below show that the true boundaries of the plane and bird are well mapped by Canny. However, canny also is prone to labeling non-boundary, object features as boundaries. For example, many more lines are present on the body of the plane in the Canny result than in the result produced by pblite. Pblite is better able to distinguish textures from true boundaries, this is seen especially in the reduction of cloud outlines in the airplane image.
![]() |
![]() |
![]() |
![]() |
Original Image | Sobel Edge Detection Result | Canny Edge Detection Result | My Pb-Lite Result |
![]() |
![]() |
![]() |
![]() |
Original Image | Sobel Edge Detection Result | Canny Edge Detection Result | My Pb-Lite Result |
Discussion:
By including texture and brightness gradient information, it was possible to outperform both the Sobel and Canny edge detection methods. Below are the evaluations of the results produced. The first graph was created by including the results from the Canny and Sobel methods. An increase in performance was observed by omitting the Sobel results. This is to be expected, as Sobel is the worst performing method and so by including it we are dragging down our performance. A minor increase in performace was obtained by including color gradient information.
![]() |
![]() |
![]() |
Result Including Sobel (Fscore=.59) | Excluding Sobel (Fscore=.60) | Including Color Gradient (Fscore=.61) |