Difference between revisions of "Kyla Bouldin"

From WLCS
(First and Second Quarter)
Line 30: Line 30:
 
http://www.pages.drexel.edu/~weg22/edge.html <br>
 
http://www.pages.drexel.edu/~weg22/edge.html <br>
 
http://users.ecs.soton.ac.uk/msn/book/new_demo/sobel/<br>
 
http://users.ecs.soton.ac.uk/msn/book/new_demo/sobel/<br>
 +
http://www.developer.com/java/other/article.php/3484591/Convolution-and-Frequency-Filtering-in-Java.htm <br>
  
 
Convolution using a convolution kernel is a spatial operation that computes the output pixel from an input pixel by multiplying the kernel with the surround of the input pixel. This allows the output pixel to be affected by the immediate neighborhood in a way that can be mathematically specified with a kernel.  
 
Convolution using a convolution kernel is a spatial operation that computes the output pixel from an input pixel by multiplying the kernel with the surround of the input pixel. This allows the output pixel to be affected by the immediate neighborhood in a way that can be mathematically specified with a kernel.  

Revision as of 15:50, 8 November 2010

First and Second Quarter

Goals

  • Create a Java-based application that uses edge detection and shape recognition to images from a camera
  • Design and implement a shape detection algorithm in Java.
  • Integrate shape recognition algorithm in application and test its effectiveness against image noise.

Algorithm:

  • Changes image to grey scale and edge detected
  • Scans the “edge detected” image for shape patterns
  • Possible matches are assigned scores;High scores = good match, low scores = poor match.
  • Computes the difference (in intensity) between pixels along horizontal and vertical axes of the input image.

(The greater the difference in intensity, the greater the resulting intensity of the highlighted edges.)

  • Uses vectors from lines found in an image and matches with a group of vectors to identify shapes


  1. Input from camera
  2. Process Image from camera
  3. Scan for and identify edges (use vectors)
  4. Analyse vectors and identify shapes

work on my science project:sept 9 - dec 17
Links on other Document..


http://download.oracle.com/javase/1.4.2/docs/api/java/awt/image/ConvolveOp.html
http://users.ecs.soton.ac.uk/msn/book/new_demo/sobel/
http://www.pages.drexel.edu/~weg22/can_tut.html
http://fourier.eng.hmc.edu/e161/lectures/canny/node1.html
http://www.pages.drexel.edu/~weg22/edge.html
http://users.ecs.soton.ac.uk/msn/book/new_demo/sobel/
http://www.developer.com/java/other/article.php/3484591/Convolution-and-Frequency-Filtering-in-Java.htm

Convolution using a convolution kernel is a spatial operation that computes the output pixel from an input pixel by multiplying the kernel with the surround of the input pixel. This allows the output pixel to be affected by the immediate neighborhood in a way that can be mathematically specified with a kernel.

  1. Finish research and write proposal - due sept 16
  2. Go through simple image processing tutorials
  3. Write program that detects and outlines edges on an image that is input from file
  4. To detect circle.. go through each point and measure distance from that point to the first point of an edge. once one point if found.... measure distance in all directs to see if the length is the same.. if it is, then it is a circle
  5. Write part of program that says if it detects that it is a circle.. print out “this is a circle”
  6. write part of program that “looks” at the image from the file and takes out the noise then runs to see what shape it is
  7. Start writing intro in paragraph form
  8. Intro, Procedure, & lit citation- due oct 11
  9. Decide how to detect sound and how to take data.
  10. Think of way to print images with sound. what paper, what size, thickness of shape.. etc.
  11. Find how to use web cam with computer and upload directly to program
  12. Find place to set up camera and images
  13. If time write program to detect squares
  14. Set up web cam with robot
  15. Set up robot or plain camera to detect where the picture is
  16. run experiment
  17. set up data in computer
  18. Data collection & results - due dec 6
  19. Start writing final paper
  20. Finish research Paper - due Dec 17

Science Project Proposal

Step 1: Project Ideas:

  1. Machine Vision
  2.  ?
  3.  ?
  4.  ?
  5.  ?

Step 2: My Decision
""How does noise affect an algorithm's ability to recognize a shape?""
"Title: The effect of noise on pattern recognition algorithms"

Step 3: Variables
IV - Noise level on image
DV - Correct reading of image
Constants - Algorithm, language, type of camera, color and size of image, lighting, location

Step 4: Questions to Research

  1. How does image processing work?
  2. What is machine vision?
  3. How does a computer read a picture?
  4. What is edge detection?
  5. What is noise?

Step 5: Research (2 must be books, magazines, or online journals)
1st Source -Knudsen, JavaWorld.com, 09/01/98, Day and Jonathan. "Image Processing with Java 2D - JavaWorld." Welcome to JavaWorld.com. 01 Sept. 1998. Web. 15 Sept. 2010. <http://www.javaworld.com/javaworld/jw-09-1998/jw-09-media.html?page=1>.
Notes:

Convolution - allows you to combine the colors of a source pixel and its neighbors to determine the color of a destination pixel.
Blur, Edge Detection, Invert color, Negative Color, Thresholding

2st Source - Warren E. Smith, "Image processing," in AccessScience, ©McGraw-Hill Companies, 2008, http://www.accessscience.com
Notes:

Image Processing - manipulating data in the form of an image through several possible techniques. An image is usually interpreted as a two-dimensional array of brightness values.
To digitally process an image- reduce the image to a series of numbers that can be manipulated by the computer. Each point or pixel has a number according to the color it shows, which differs in light.(256 gray levels)The point is then moved a distance usually equal to its width, and the process is repeated. The smaller the spot and the finer the scan , the more accurate the description of the transparency will be.
pixel - each number representing the brightness value of the image at a particular location. Also called a picture element.
It compares each pixel with its eight neighbours and if the pixel is larger or smaller in value than all eight, replaces it by the largest or smallest of the neighbours. This is good for removing single noisy pixels from an image.
An image is enhanced when it is modified so that the information it contains is more clearly evident, but enhancement can also include making the image more visually appealing. An example is noise smoothing
To create noise- replace the value of randomly chosen pixels by 150 (bight gray) or 0 (black). To smooth the image, a median filter can be aplied with a 3X3 pixel window.This means that the value of every pixel in the noisy image is recorded, along with the values of its nearest eight neighbors. These nine numbers are then ordered according to size, and the median is selected as the value for the pixel in the new image. As the 3 × 3 window is moved one pixel at a time across the noisy image, the filtered image is formed. This is a local operation, since the value of a pixel in the new image depends on the values of nine pixels in the old image.


3st Source - "Machine Vision." How the New Technology Works: A Guide to High-tech Concepts. 2 ed. 18 Sep. 1991. eLibrary Science. Web. 09 Sep 2010.
Notes:

Machine vision is the process by which a computer-driven device optically senses external objects and, from its analysis of the sensed data, infers accurate information about those objects. The sensing device is usually a video camera that is linked to a computer that digitizes the captured images and analyzes them.
For INTRODUCTION: machine vision is used for small tasks like checking for correct size or shape for automobiles, in medical diagnosing(x-rays, photographs,chromosome slides, cancer smears), military - photos.
note- we don’t “see” everything that our eyes sense. The mind filters out the irrelevant things. The eye-mind combo allows us to focus(zoom in) on the surroundings that interest us and then ignore the rest

4st Source -.Hester, Josiah. "Ultimate Java Image Manipulation." Javalobby | The Heart of the Java Developer Community. 11 Sept. 2007. Web. 13 Sept. 2010. http://www.javalobby.org/articles/ultimate-image/.
Notes:

-Loading an image,drawing an image on the screen,Creating on image, saving Image, Translucency, Certain color Transparent,Flipping,Rotating,Resizing, Splitting, Animation

5st Source - Levine, Martin D. Vision in Man and Machine. New York: McGraw-Hill, 1985. Print.
Notes:

Page 12 - the black and white image seen by the computer “eye”: The sampling and quantification process in these applications results in an array on numbers, each of which represents how gray the image is in the small sampled area. This degree of grayness can vary from white to black as specified by an appropriate intensity value assigned according to a linear scale.
Page 170 - An edge in a picture may be defined as a discontinuity of abrupt change in the gray level or color. In general, pictures may contain a variety of edge sizes, some short and other long. These contrasting segments may occur at any orientation. An efficient edge-detection procedure would necessarily have to be able to distinguish contrast at different angles. Analyzing edge contest at a particular point in a picture by observing the local date at a set of frequency bandwidths.
Page 170 - Idealized edge models can be represented by the conventional singularity functions in math. An abrupt change in intensity can be defined by an ideal step.
Page 480 - There exist many theories of shape description and recognition, each attempting to explain some specific aspect of the problem. This is so because it is possible to conceptualize shape as a high-level perceptual function.
Principle of visual perception: “the human visual system is designed to produce organized perception. Information consisting of a variety of such spatial features as size, shape, distance, relative position, and texture is structured by the mind to represent visual scenes. These spatial features are not perceived as properties of things, objects in the scene, and not merely as abstract lines of surfaces. We do not perceives line of unattached extents; we perceive objects. All parts of each object are perceived together in one construction - not as separate, independent, and free-floating elements. All all the objects are perceived as related to each other near, far, behind, adjoining, and so fourth”
page 481 - “A contour is a one-dimensional interface between figure and ground” This is only acceptable in the very restricted sense in which an object is superimpose on a background. We shall assume that a contour is made up of a set of edges connected to each other but not necessarily forming a closed curve.
page 485 - We create a binary image by assigning a 1 to the set of pixels in the object set and a 0 to all the exterior pixels.Therefore, the elements of the border set must all touch at least one pixel in the exterior set, conceptually separating it from the interior
Image --> Photoelectric Transduction --> scanner and digitizer (Picture input mechanism) --> image processor --> pictorial or symbolic output
PRODUCE BINARY OBJECT FROM THE ORIGINAL GRAY-LEVEL IMAGE

Step 6: Hypothesis
If the amount of noise increases then the correct reading of the image decreases because the algorithm will not be able to detect the shape.

Step 7: Procedure

  1. What materials will be needed for the project and how will you obtain them?
    • Computer with java
    • Webcam
    • Printer and Paper
    • Room with fixed lighting
    • Shape Recognition Algorithm
  1. Where will you do your work?
    • At home or in class
  2. How will you measure the dependent variable?
    • If the machine gets the shape correct or not based on amount of noise
  3. Describe your procedure in detail
    • First i write the Shape Recognition Algorithm with edge detection and all the math to recognize a circle
    • Print out 5-10 pictures with different amounts of noise by changing amount of random numbers to make the image have noise.
    • Set up room with camera and fixed light
    • Run experiment

Step 8: Reactions
Let us know how you are feeling about this project in a “Reactions” paragraph.
Are you anxious? Excited? Comfortable? Do you have questions about anything?
Tell us your thoughts/feelings at this point.

I am not very anxious, I think it is very doable. I am slightly excited. I just want to get going and i will be more excited. At the moment i do not have questions, i just need to start coding. I feel that right now i have only a small clue as to what to do, but once i get on the computer i will pick it up and it will end up being fun and challenging for me.

Step 9: Honor Pledge
Pledge your assignment, by writing in ink: “On my honor, I have neither given nor received unauthorized aid in doing this project,” and sign it in ink.




Third Quarter

Third Quarter/End of Science Proj - Start learning objective C
Links - http://my.safaribooksonline.com/9780321670113
Plus books at home

  1. Go through safaribooksonline objective c tutorial
  2. Transfer Games from Java to Objective C
  3. Put a program on iPhone



Fourth Quarter

1/2 objective C... 1/2 Java



Kylambouldin 19:49, 15 September 2010 (EDT) Kyla BouldinKylambouldin 19:49, 15 September 2010 (EDT)