SlideShare a Scribd company logo
1 of 1
Creating Algorithms to Develop a Sense of Color Constancy in
a Robot
Cheyenne Sokkappa1 Jenna Permut2 Patrick Lancaster3 Joshua Smith3, 4
Introduction Euclidean Clustering Method
Discussion
References
1 Sequim High School; 2 Mercer Island High School; 3 Department of Computer Science and Engineering, University of Washington; 4 Department of Electrical Engineering,
University of Washington
Acknowledgements
AEOP REAP Program
Patrick Lancaster and the Sensor Systems Laboratory
CSNE and the Young Scholars Program
Kristen Bergsman, Lise Johnson, and Eric Chudler
This project was supported by Award Number EEC-1028725 from the National Science
Foundation (NSF). The content is solely the responsibility of the authors and does not
necessarily represent the official views of the NSF.
What is Euclidean Clustering?
• Euclidean clustering sorts data into groups and in our case,
sorts pixels into groups based on a color threshold.
• We want to sort pixels based on color and closeness to
each other.
Started by Clustering Similar Pixels
• Started by choosing a random pixel.
• Found neighbors with similar color (Used color threshold)
• Added neighbors to a cluster
• Each cluster added all the pixels that have a similar color
to the cluster until it reached pixels with different colors
on all borders
Gave average color to each cluster
• Added up the colors of all the pixels in each cluster
• Average the colors and assign the pixels in each cluster to
the average color.
Color Constancy is the process which humans use to
differentiate colors under different lighting. For cameras, it is
the ability to track colors in an image or video frame. Color
Constancy gives a robot the ability to determine colors under
different amounts of lighting. This allows the robot to simulate
human vision and memory.
Objectives:
• Code an algorithm in the development environment,
Processing, that allows our PR2 robot, Hobbes, to determine
and assign the colors of squares in a Rubik’s cube while
solving the cube. Our algorithm uses Euclidean Clustering
and test images were taken using a Kinect.
• Test Euclidean Clustering with a mapping program that finds
the squares based on color and put the square’s information
into a data structure.
Results
Example
Original Rubik's
Cube Image
Clustered Output
RGBValues
Time of the Day
Figure A: Testing RGB values over a 24 hour time period in
direct sunlight. Values were taken from the same red,
green and blue squares on the Rubik’s cube. The values
vary about 20 points within the RGB range with the
exception of images taken at night and early morning
which were outliers.
Motivation: RGB
values of the same
image change under
different lighting
(see Figure A).
Therefore our
solution was to take
into account a color
threshold in which
the camera
determined colors
on the Rubik’s cube.
We tested our
Euclidean Clustering
under 4 shades of
lighting to see if we
could track the
squares (see Figure
B). We found that
the Euclidean
Clustering algorithm
clustered dark colors
with the background
in low light and
therefore, our
mapping algorithm
was unable to track
those squares.
Figure B: We loaded all 6 faces of the Rubik’s
cube in the mapping algorithm to track the
squares. Each column corresponds to the
percent of squares tracked based on the lighting
in the picture below it.
%Squaresfound
We found out that while the algorithm was mostly successful, our
Euclidean Clustering algorithm had a limit at which the color
threshold was unable to cluster similar colors (see Figure B).
We also planned on making objective functions that would take the
place of our current tracking algorithm. Or we would also use K-
Means Clustering to track and identify the squares.
We think that if we could implement Multi-Scale Retinex
(brightening of the picture), then our problems with the Euclidean
Clustering would be solved and our tracking algorithms would be
able to work to their full extent.
Eventually, we think that this process may allow for real life
applications such as self driving cars and personal robotics for
identifying objects in different lighting.
Results (continued)
Euclidean
Clustering
Tracking
Squares
Mapping
Accomplished:
• Cluster colors using Euclidean Clustering
• Test accuracy in mapping system
Yet to finish:
• Implement Multi-Scale Retinex to maximize the accuracy of
Euclidean Clustering’s output.
Jobson, Daniel J., Zia-ur Rahman, and Glenn A. Woodell. "A Multiscale Retinex for Bridging the Gap Between Color
Images and the Human Observation of Scenes." IEEE 6.7 (1997): 965-76. Web.
"Euclidean Cluster Exctraction." Point Cloud Library. Open Perception Foundation, n.d. Web. 17 Aug. 2015.

More Related Content

What's hot

Ijdmta v1i1
Ijdmta v1i1Ijdmta v1i1
Ijdmta v1i1IJDMTA
 
Remotely Sensed Image (RSI) Analysis for feature extraction using Color map I...
Remotely Sensed Image (RSI) Analysis for feature extraction using Color map I...Remotely Sensed Image (RSI) Analysis for feature extraction using Color map I...
Remotely Sensed Image (RSI) Analysis for feature extraction using Color map I...ijdmtaiir
 
search engine for images
search engine for imagessearch engine for images
search engine for imagesAnjani
 
Object detection - RCNNs vs Retinanet
Object detection - RCNNs vs RetinanetObject detection - RCNNs vs Retinanet
Object detection - RCNNs vs RetinanetRishabh Indoria
 
MediaEval 2016 - Placing Images with Refined Language Models and Similarity S...
MediaEval 2016 - Placing Images with Refined Language Models and Similarity S...MediaEval 2016 - Placing Images with Refined Language Models and Similarity S...
MediaEval 2016 - Placing Images with Refined Language Models and Similarity S...multimediaeval
 
Knowing when to look
Knowing when to lookKnowing when to look
Knowing when to lookJaeHo Jang
 
Deep image retrieval - learning global representations for image search - ub ...
Deep image retrieval - learning global representations for image search - ub ...Deep image retrieval - learning global representations for image search - ub ...
Deep image retrieval - learning global representations for image search - ub ...Universitat de Barcelona
 
Infinum Android Talks #04 - Google Maps Android API utility library
Infinum Android Talks #04 - Google Maps Android API utility libraryInfinum Android Talks #04 - Google Maps Android API utility library
Infinum Android Talks #04 - Google Maps Android API utility libraryDenis_infinum
 
Convolutional Patch Representations for Image Retrieval An unsupervised approach
Convolutional Patch Representations for Image Retrieval An unsupervised approachConvolutional Patch Representations for Image Retrieval An unsupervised approach
Convolutional Patch Representations for Image Retrieval An unsupervised approachUniversitat de Barcelona
 
Advanced deep learning based object detection methods
Advanced deep learning based object detection methodsAdvanced deep learning based object detection methods
Advanced deep learning based object detection methodsBrodmann17
 
Image enhancement with the application of local and global enhancement method...
Image enhancement with the application of local and global enhancement method...Image enhancement with the application of local and global enhancement method...
Image enhancement with the application of local and global enhancement method...Venkat Projects
 
Deep learning based object detection basics
Deep learning based object detection basicsDeep learning based object detection basics
Deep learning based object detection basicsBrodmann17
 
Articulated human pose estimation by deep learning
Articulated human pose estimation by deep learningArticulated human pose estimation by deep learning
Articulated human pose estimation by deep learningWei Yang
 
Deep convolutional neural fields for depth estimation from a single image
Deep convolutional neural fields for depth estimation from a single imageDeep convolutional neural fields for depth estimation from a single image
Deep convolutional neural fields for depth estimation from a single imageWei Yang
 
Introduction to object detection
Introduction to object detectionIntroduction to object detection
Introduction to object detectionBrodmann17
 

What's hot (19)

Ijdmta v1i1
Ijdmta v1i1Ijdmta v1i1
Ijdmta v1i1
 
Remotely Sensed Image (RSI) Analysis for feature extraction using Color map I...
Remotely Sensed Image (RSI) Analysis for feature extraction using Color map I...Remotely Sensed Image (RSI) Analysis for feature extraction using Color map I...
Remotely Sensed Image (RSI) Analysis for feature extraction using Color map I...
 
search engine for images
search engine for imagessearch engine for images
search engine for images
 
Hog
HogHog
Hog
 
Object detection - RCNNs vs Retinanet
Object detection - RCNNs vs RetinanetObject detection - RCNNs vs Retinanet
Object detection - RCNNs vs Retinanet
 
MediaEval 2016 - Placing Images with Refined Language Models and Similarity S...
MediaEval 2016 - Placing Images with Refined Language Models and Similarity S...MediaEval 2016 - Placing Images with Refined Language Models and Similarity S...
MediaEval 2016 - Placing Images with Refined Language Models and Similarity S...
 
Deep Learning for Computer Vision: Object Detection (UPC 2016)
Deep Learning for Computer Vision: Object Detection (UPC 2016)Deep Learning for Computer Vision: Object Detection (UPC 2016)
Deep Learning for Computer Vision: Object Detection (UPC 2016)
 
Knowing when to look
Knowing when to lookKnowing when to look
Knowing when to look
 
Deep image retrieval - learning global representations for image search - ub ...
Deep image retrieval - learning global representations for image search - ub ...Deep image retrieval - learning global representations for image search - ub ...
Deep image retrieval - learning global representations for image search - ub ...
 
Infinum Android Talks #04 - Google Maps Android API utility library
Infinum Android Talks #04 - Google Maps Android API utility libraryInfinum Android Talks #04 - Google Maps Android API utility library
Infinum Android Talks #04 - Google Maps Android API utility library
 
Convolutional Patch Representations for Image Retrieval An unsupervised approach
Convolutional Patch Representations for Image Retrieval An unsupervised approachConvolutional Patch Representations for Image Retrieval An unsupervised approach
Convolutional Patch Representations for Image Retrieval An unsupervised approach
 
Advanced deep learning based object detection methods
Advanced deep learning based object detection methodsAdvanced deep learning based object detection methods
Advanced deep learning based object detection methods
 
Image enhancement with the application of local and global enhancement method...
Image enhancement with the application of local and global enhancement method...Image enhancement with the application of local and global enhancement method...
Image enhancement with the application of local and global enhancement method...
 
Deep learning based object detection basics
Deep learning based object detection basicsDeep learning based object detection basics
Deep learning based object detection basics
 
Articulated human pose estimation by deep learning
Articulated human pose estimation by deep learningArticulated human pose estimation by deep learning
Articulated human pose estimation by deep learning
 
Deep convolutional neural fields for depth estimation from a single image
Deep convolutional neural fields for depth estimation from a single imageDeep convolutional neural fields for depth estimation from a single image
Deep convolutional neural fields for depth estimation from a single image
 
OntoGen Extension for Exploring Image Collections
OntoGen Extension for Exploring Image CollectionsOntoGen Extension for Exploring Image Collections
OntoGen Extension for Exploring Image Collections
 
Deep Learning for Computer Vision: Attention Models (UPC 2016)
Deep Learning for Computer Vision: Attention Models (UPC 2016)Deep Learning for Computer Vision: Attention Models (UPC 2016)
Deep Learning for Computer Vision: Attention Models (UPC 2016)
 
Introduction to object detection
Introduction to object detectionIntroduction to object detection
Introduction to object detection
 

Similar to Poster rough draft

Week06 bme429-cbir
Week06 bme429-cbirWeek06 bme429-cbir
Week06 bme429-cbirIkram Moalla
 
Image Segmentation from RGBD Images by 3D Point Cloud Attributes and High-Lev...
Image Segmentation from RGBD Images by 3D Point Cloud Attributes and High-Lev...Image Segmentation from RGBD Images by 3D Point Cloud Attributes and High-Lev...
Image Segmentation from RGBD Images by 3D Point Cloud Attributes and High-Lev...CSCJournals
 
Quality and size assessment of quantized images using K-Means++ clustering
Quality and size assessment of quantized images using K-Means++ clusteringQuality and size assessment of quantized images using K-Means++ clustering
Quality and size assessment of quantized images using K-Means++ clusteringjournalBEEI
 
Color Detection & Segmentation based Invisible Claok
Color Detection & Segmentation based Invisible ClaokColor Detection & Segmentation based Invisible Claok
Color Detection & Segmentation based Invisible ClaokAviral Chaurasia
 
Research Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and ScienceResearch Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and Scienceresearchinventy
 
LCD Characterization Report
LCD Characterization ReportLCD Characterization Report
LCD Characterization ReportTanmay Mondal
 
Presentation on Feature Detection of Image-1.pptx
Presentation on Feature Detection of Image-1.pptxPresentation on Feature Detection of Image-1.pptx
Presentation on Feature Detection of Image-1.pptxSohamShinde25
 
Towards Accurate Multi-person Pose Estimation in the Wild (My summery)
Towards Accurate Multi-person Pose Estimation in the Wild (My summery)Towards Accurate Multi-person Pose Estimation in the Wild (My summery)
Towards Accurate Multi-person Pose Estimation in the Wild (My summery)Abdulrahman Kerim
 
Web Image Retrieval Using Visual Dictionary
Web Image Retrieval Using Visual DictionaryWeb Image Retrieval Using Visual Dictionary
Web Image Retrieval Using Visual Dictionaryijwscjournal
 
Web Image Retrieval Using Visual Dictionary
Web Image Retrieval Using Visual DictionaryWeb Image Retrieval Using Visual Dictionary
Web Image Retrieval Using Visual Dictionaryijwscjournal
 
Pixelor presentation slides for SIGGRAPH Asia 2020
Pixelor presentation slides for SIGGRAPH Asia 2020Pixelor presentation slides for SIGGRAPH Asia 2020
Pixelor presentation slides for SIGGRAPH Asia 2020Ayan Das
 
User Interactive Color Transformation between Images
User Interactive Color Transformation between ImagesUser Interactive Color Transformation between Images
User Interactive Color Transformation between ImagesIJMER
 
Visual hull construction from semitransparent coloured silhouettes
Visual hull construction from semitransparent coloured silhouettesVisual hull construction from semitransparent coloured silhouettes
Visual hull construction from semitransparent coloured silhouettesijcga
 
Breadth first algorithm for solving Image based maze problem
Breadth first algorithm for solving Image based maze problemBreadth first algorithm for solving Image based maze problem
Breadth first algorithm for solving Image based maze problemNavin Kumar
 
The Importance of Terminology and sRGB Uncertainty - Notes - 0.5
The Importance of Terminology and sRGB Uncertainty - Notes - 0.5The Importance of Terminology and sRGB Uncertainty - Notes - 0.5
The Importance of Terminology and sRGB Uncertainty - Notes - 0.5Thomas Mansencal
 

Similar to Poster rough draft (20)

PPT s12-machine vision-s2
PPT s12-machine vision-s2PPT s12-machine vision-s2
PPT s12-machine vision-s2
 
lecture_07.pptx
lecture_07.pptxlecture_07.pptx
lecture_07.pptx
 
Week06 bme429-cbir
Week06 bme429-cbirWeek06 bme429-cbir
Week06 bme429-cbir
 
CBIR_white.ppt
CBIR_white.pptCBIR_white.ppt
CBIR_white.ppt
 
I0351053058
I0351053058I0351053058
I0351053058
 
Image Segmentation from RGBD Images by 3D Point Cloud Attributes and High-Lev...
Image Segmentation from RGBD Images by 3D Point Cloud Attributes and High-Lev...Image Segmentation from RGBD Images by 3D Point Cloud Attributes and High-Lev...
Image Segmentation from RGBD Images by 3D Point Cloud Attributes and High-Lev...
 
Quality and size assessment of quantized images using K-Means++ clustering
Quality and size assessment of quantized images using K-Means++ clusteringQuality and size assessment of quantized images using K-Means++ clustering
Quality and size assessment of quantized images using K-Means++ clustering
 
Color Detection & Segmentation based Invisible Claok
Color Detection & Segmentation based Invisible ClaokColor Detection & Segmentation based Invisible Claok
Color Detection & Segmentation based Invisible Claok
 
Research Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and ScienceResearch Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and Science
 
LCD Characterization Report
LCD Characterization ReportLCD Characterization Report
LCD Characterization Report
 
Presentation on Feature Detection of Image-1.pptx
Presentation on Feature Detection of Image-1.pptxPresentation on Feature Detection of Image-1.pptx
Presentation on Feature Detection of Image-1.pptx
 
Towards Accurate Multi-person Pose Estimation in the Wild (My summery)
Towards Accurate Multi-person Pose Estimation in the Wild (My summery)Towards Accurate Multi-person Pose Estimation in the Wild (My summery)
Towards Accurate Multi-person Pose Estimation in the Wild (My summery)
 
Web Image Retrieval Using Visual Dictionary
Web Image Retrieval Using Visual DictionaryWeb Image Retrieval Using Visual Dictionary
Web Image Retrieval Using Visual Dictionary
 
Web Image Retrieval Using Visual Dictionary
Web Image Retrieval Using Visual DictionaryWeb Image Retrieval Using Visual Dictionary
Web Image Retrieval Using Visual Dictionary
 
DIP-CHAPTERs-GOPAL SIR.pptx
DIP-CHAPTERs-GOPAL SIR.pptxDIP-CHAPTERs-GOPAL SIR.pptx
DIP-CHAPTERs-GOPAL SIR.pptx
 
Pixelor presentation slides for SIGGRAPH Asia 2020
Pixelor presentation slides for SIGGRAPH Asia 2020Pixelor presentation slides for SIGGRAPH Asia 2020
Pixelor presentation slides for SIGGRAPH Asia 2020
 
User Interactive Color Transformation between Images
User Interactive Color Transformation between ImagesUser Interactive Color Transformation between Images
User Interactive Color Transformation between Images
 
Visual hull construction from semitransparent coloured silhouettes
Visual hull construction from semitransparent coloured silhouettesVisual hull construction from semitransparent coloured silhouettes
Visual hull construction from semitransparent coloured silhouettes
 
Breadth first algorithm for solving Image based maze problem
Breadth first algorithm for solving Image based maze problemBreadth first algorithm for solving Image based maze problem
Breadth first algorithm for solving Image based maze problem
 
The Importance of Terminology and sRGB Uncertainty - Notes - 0.5
The Importance of Terminology and sRGB Uncertainty - Notes - 0.5The Importance of Terminology and sRGB Uncertainty - Notes - 0.5
The Importance of Terminology and sRGB Uncertainty - Notes - 0.5
 

Poster rough draft

  • 1. Creating Algorithms to Develop a Sense of Color Constancy in a Robot Cheyenne Sokkappa1 Jenna Permut2 Patrick Lancaster3 Joshua Smith3, 4 Introduction Euclidean Clustering Method Discussion References 1 Sequim High School; 2 Mercer Island High School; 3 Department of Computer Science and Engineering, University of Washington; 4 Department of Electrical Engineering, University of Washington Acknowledgements AEOP REAP Program Patrick Lancaster and the Sensor Systems Laboratory CSNE and the Young Scholars Program Kristen Bergsman, Lise Johnson, and Eric Chudler This project was supported by Award Number EEC-1028725 from the National Science Foundation (NSF). The content is solely the responsibility of the authors and does not necessarily represent the official views of the NSF. What is Euclidean Clustering? • Euclidean clustering sorts data into groups and in our case, sorts pixels into groups based on a color threshold. • We want to sort pixels based on color and closeness to each other. Started by Clustering Similar Pixels • Started by choosing a random pixel. • Found neighbors with similar color (Used color threshold) • Added neighbors to a cluster • Each cluster added all the pixels that have a similar color to the cluster until it reached pixels with different colors on all borders Gave average color to each cluster • Added up the colors of all the pixels in each cluster • Average the colors and assign the pixels in each cluster to the average color. Color Constancy is the process which humans use to differentiate colors under different lighting. For cameras, it is the ability to track colors in an image or video frame. Color Constancy gives a robot the ability to determine colors under different amounts of lighting. This allows the robot to simulate human vision and memory. Objectives: • Code an algorithm in the development environment, Processing, that allows our PR2 robot, Hobbes, to determine and assign the colors of squares in a Rubik’s cube while solving the cube. Our algorithm uses Euclidean Clustering and test images were taken using a Kinect. • Test Euclidean Clustering with a mapping program that finds the squares based on color and put the square’s information into a data structure. Results Example Original Rubik's Cube Image Clustered Output RGBValues Time of the Day Figure A: Testing RGB values over a 24 hour time period in direct sunlight. Values were taken from the same red, green and blue squares on the Rubik’s cube. The values vary about 20 points within the RGB range with the exception of images taken at night and early morning which were outliers. Motivation: RGB values of the same image change under different lighting (see Figure A). Therefore our solution was to take into account a color threshold in which the camera determined colors on the Rubik’s cube. We tested our Euclidean Clustering under 4 shades of lighting to see if we could track the squares (see Figure B). We found that the Euclidean Clustering algorithm clustered dark colors with the background in low light and therefore, our mapping algorithm was unable to track those squares. Figure B: We loaded all 6 faces of the Rubik’s cube in the mapping algorithm to track the squares. Each column corresponds to the percent of squares tracked based on the lighting in the picture below it. %Squaresfound We found out that while the algorithm was mostly successful, our Euclidean Clustering algorithm had a limit at which the color threshold was unable to cluster similar colors (see Figure B). We also planned on making objective functions that would take the place of our current tracking algorithm. Or we would also use K- Means Clustering to track and identify the squares. We think that if we could implement Multi-Scale Retinex (brightening of the picture), then our problems with the Euclidean Clustering would be solved and our tracking algorithms would be able to work to their full extent. Eventually, we think that this process may allow for real life applications such as self driving cars and personal robotics for identifying objects in different lighting. Results (continued) Euclidean Clustering Tracking Squares Mapping Accomplished: • Cluster colors using Euclidean Clustering • Test accuracy in mapping system Yet to finish: • Implement Multi-Scale Retinex to maximize the accuracy of Euclidean Clustering’s output. Jobson, Daniel J., Zia-ur Rahman, and Glenn A. Woodell. "A Multiscale Retinex for Bridging the Gap Between Color Images and the Human Observation of Scenes." IEEE 6.7 (1997): 965-76. Web. "Euclidean Cluster Exctraction." Point Cloud Library. Open Perception Foundation, n.d. Web. 17 Aug. 2015.