Rose-Hulman Robotics Team

Changeset 647

Show
Ignore:
Timestamp:
01/31/10 23:53:42 (2 years ago)
Author:
mosttw
Message:

Final project plan

Location:
branches/2010-image-rec
Files:
1 added
2 modified

Legend:

Unmodified
Added
Removed
  • branches/2010-image-rec/docs/project-plan.tex

    r645 r647  
    2222\section*{Project Plan} 
    2323 
    24 %\begin{multicols}{2} 
     24\begin{multicols}{2} 
    2525 
    2626\subsection*{Status Report} 
     
    2828At this point we have gathered a number of test images, examined the suitability of texture for differentiating grass and obstacles, and completed a simple color histogram-based prototype implementation in Matlab.  The test images we have gathered were taken at previous IGVC competitions, both using a handheld digital camera and the Elphel camera actually used on the robot.  The different color qualities of these image sets will help us test that our algorithm can handle different lighting conditions and color tones.  A small script has been written to apply a Sobel filter to all of these images, allowing us to see the texture of the images.  This has been done with images in the RGB and HSV colorspaces.  We determined that the Sobel of the hue band is most suitable for this, as shown in Figure \ref{fig:h-sobel}. 
    2929 
    30 \begin{figure}[htb] 
     30\begin{figure*}[htb] 
    3131        \centering 
    32                 \includegraphics[width=0.5\textwidth]{figures/cam-000080-hsv-sobel-h.png} 
    33         \caption{The hue band of a test image with the Sobel filter applied.} 
     32                \includegraphics[width=0.6\textwidth]{figures/cam-000080-hsv-sobel-h.png} 
     33        \caption{The hue band of a test image with the Sobel filter applied.  This image shows a stark difference between the grass (including the lines) and obstacles, which are smooth plastic with relatively little texture.} 
    3434        \label{fig:h-sobel} 
    35 \end{figure} 
     35\end{figure*} 
    3636 
    3737Finally, a preliminary Matlab implementation of the algorithm presented by Ulrich and Nourbakhsh has been written.  This is purely based on color (in the HSV space) at this point.  The next step will be to integrate a measure of texture (likely a regional average of the Sobelized image) into the algorithm.  The full text of this script is presented in Appendix \ref{appendix:hist-test}. 
     
    4848 
    4949\subsection*{Timeline} 
     50\paragraph{Friday, 5 February} Status report. 
     51\paragraph{Saturday, 6 February} Easy goal accomplished. 
     52\paragraph{Friday, 12 February} Status report. 
     53\paragraph{Saturday, 13 February} Reasonable goal accomplished. 
     54\paragraph{Sunday, 14 February} Presentation preparation. 
     55\paragraph{Thursday, 18 February} Stretch goal accomplished. 
     56\paragraph{Friday, 19 February} Project complete. 
    5057 
    5158 
    52  
    53 %\end{multicols} 
     59\end{multicols} 
    5460 
    5561\pagebreak 
  • branches/2010-image-rec/hist_test.m

    r634 r647  
    22 
    33% Test how well histogramming works with our test images 
    4 fn = 'images/elphel/cam-000086.jpeg'; % Hard image 
    54fn = 'images/course-walk/cimg4943.jpg'; 
    65fn = 'images/course-walk/cimg4921.jpg'; 
     6fn = 'images/elphel/cam-000078.jpeg'; 
     7fn = 'images/elphel/cam-000086.jpeg'; % Hard image 
     8fn = 'images/course-walk/cimg4989.jpg'; 
     9fn = 'images/elphel/cam-000094.jpeg'; 
    710fn = 'images/elphel/cam-000081.jpeg'; 
    8 fn = 'images/course-walk/cimg4989.jpg'; 
    9 fn = 'images/elphel/cam-000078.jpeg'; 
    10 fn = 'images/elphel/cam-000094.jpeg'; 
    1111 
    1212% Number of bins in the histogram. 
     
    1919% less restrictive in its definition of "grass". 
    2020h_mean_factor = 0.0; % Mainly effects grass 
    21 s_mean_factor = 0.4; % Seems to most effect obstacle detection 
     21s_mean_factor = 0.2; % Seems to most effect obstacle detection 
    2222v_mean_factor = 0.1; % Obstacles and lines 
    2323 
     
    3131 
    3232% Area at the bottom of the image assumed to be grass, clear of obstacles 
    33 clear_area = im(round(clear_area_top * rows):end, round(clear_area_left * cols):round((1 - clear_area_left) * cols), :); 
     33clear_area = im(round(clear_area_top * rows):end, ... 
     34                round(clear_area_left * cols): ... 
     35                    round((1 - clear_area_left) * cols), :); 
    3436 
    3537% Histograms of each channel 
     
    6365% Clean things up a bit 
    6466se = strel('square', 4); 
    65 %mask = imclose(mask, se); 
     67mask = imclose(mask, se); 
    6668 
    6769% Display