1 / 18

Color O pponent C hannels

Color O pponent C hannels. Roger S. Gaborski. Observations. First, for the Red-Green receptive field there must be green photoreceptors in the center connected to the ganglion cell otherwise it wouldn’t be possible to reduce the firing rate by shining green light in the center

tanner
Download Presentation

Color O pponent C hannels

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Color Opponent Channels Roger S. Gaborski

  2. Observations • First, for the Red-Green receptive field there must be green photoreceptors in the center connected to the ganglion cell otherwise it wouldn’t be possible to reduce the firing rate by shining green light in the center • Same for the green surround, there must be red photoreceptor connected to the ganglion cell from this region

  3. Implication of Observations • If we accept the observations on the previous slide, instead of simply evaluating the amount of red light on the center (and green on the surround) we should consider the difference of red and green on the center (R-G) and in a similar manner, the G-R on the surround. • We also want to model different scales (previously we looked at 128x128, 64x64, ..7x7 RFs). • Is the DoG shape really necessary? As a first approximation could we just simplify the shape to a uniform region – not even circular, but simply square • This would provide a significant computational savings

  4. Image Pyramid- Gaussian filter and subsample • Scale 0: Original color image • Scale 1: 1:2 • Scale 2: 1:4 • Scale 3: 1:8 • Scale 4: 1:16 • Scale 5: 1:32 • Scale 6: 1:64 • Scale 7: 1:128 • Scale 8: 1:256 The pyramid results in a multiscale representation

  5. Implementation • Difference between fine and coarse scales • Center region: scales c = {2,3,4} • Surround region: scales s= c + {3,4} • Implementation: c2-s5 • c2 is a 1:4 scale • s5 is a 1:32 scale • Interpolate s5 to the size of c2 and then perform a point by point subtraction

  6. Color Opponent Channels RG25 RG26 RG36 RG37 RG47 RG48 BY25 BY26 BY36 BY37 BY47 BY48

  7. Center of receptive field is excited by one color, but inhibited by another color • RG(c,s) = |(R(c) - G(c)) – (G(s)-R(s)) | where the second term is up sampled to match the resolution of the first term • BY(c,s) = |(B(c)-Y(c)) – (Y(s)-B(s))| •  computer R-G at the center, compute G-R in the surround and take absolute value of result

  8. %mainColorOpponent image = imread('OrangeFlower.jpg'); %image = imread('FlagImage.jpg'); image = im2double(image); r = image(:,:,1); g = image(:,:,2); b = image(:,:,3); %create color channels R = r-(g+b)/2; G = g- (r+b)/2; B = b- (r+g)/2; Y = r+g - 2*(abs(r-g) + b); %create pyramid of color channels (filter and downsample) [R1,R2,R3, R4, R5, R6, R7, R8 ] = colorPyramid(R); [G1,G2,G3, G4, G5, G6, G7, G8 ] = colorPyramid(G); [B1,B2,B3, B4, B5, B6, B7, B8 ] = colorPyramid(B); [Y1,Y2,Y3, Y4, Y5, Y6, Y7, Y8 ] = colorPyramid(Y);

  9. %create color surround features RG25 = colorSurround(R2, G2, R5, G5); RG26 = colorSurround(R2, G2, R6, G6); RG36 = colorSurround(R3, 32, R6, G6); RG37 = colorSurround(R3, G3, R7, G7); RG47 = colorSurround(R4, G4, R7, G7); RG48 = colorSurround(R4, G4, R8, G8); BY25 = colorSurround(B2, Y2, B5, Y5); BY26 = colorSurround(B2, Y2, B6, Y6); BY36 = colorSurround(B3, 32, B6, Y6); BY37 = colorSurround(B3, Y3, B7, Y7); BY47 = colorSurround(B4, Y4, B7, Y7); BY48 = colorSurround(B4, Y4, B8, Y8);

  10. %resize all color opponent feature maps and combine [row,col] = size(image(:,:,1)); RG25f = imresize(RG25, [row,col], 'bicubic'); RG26f = imresize(RG26, [row,col], 'bicubic'); RG36f = imresize(RG36, [row,col], 'bicubic'); RG37f = imresize(RG37, [row,col], 'bicubic'); RG47f = imresize(RG47, [row,col], 'bicubic'); RG48f = imresize(RG48, [row,col], 'bicubic'); BY25f = imresize(BY25, [row,col], 'bicubic'); BY26f = imresize(BY26, [row,col], 'bicubic'); BY36f = imresize(BY36, [row,col], 'bicubic'); BY37f = imresize(BY37, [row,col], 'bicubic'); BY47f = imresize(BY47, [row,col], 'bicubic'); BY48f = imresize(BY48, [row,col], 'bicubic'); figure, imshow(RG25f+RG26f+RG36f+RG37f+RG47f+RG48f,[]);colorbar,title('Multiscale R-G') figure, imshow(BY25f+BY26f+BY36f+BY37f+BY47f+BY48f,[]);colorbar,title('Multiscale B-Y')

  11. function [level1,level2,level3, level4, level5, level6, level7, level8 ] = colorPyramid( colorPlane) K = fspecial('gaussian', [5,5], 1); level0 = colorPlane; d = imfilter(level0,K); %Smooth level1 = imresize(d, .5, 'bicubic'); d = imfilter(level1,K); %Smooth level2 = imresize(d, .5, 'bicubic'); %thendownsample d = imfilter(level2,K); %Smooth level3 = imresize(d, .5, 'bicubic'); %thendownsample d = imfilter(level3,K); %Smooth level4 = imresize(d, .5, 'bicubic'); %thendownsample d = imfilter(level4,K); %Smooth level5 = imresize(d, .5, 'bicubic'); %thendownsample d = imfilter(level5,K); %Smooth level6 = imresize(d, .5, 'bicubic'); %thendownsample d = imfilter(level6,K); %Smooth level7 = imresize(d, .5, 'bicubic'); %thendownsample d = imfilter(level7,K); %Smooth level8 = imresize(d, .5, 'bicubic'); %thendownsample end

  12. function Ret = colorSurround(fine1, fine2, coarse1, coarse2) [parmSize1,parmSize2] = size(fine1); coarseASize = imresize(coarse1, [parmSize1,parmSize2], 'bicubic'); coarseBSize = imresize(coarse2, [parmSize1,parmSize2], 'bicubic'); Ret = abs((fine1-fine2)-(coarseASize-coarseBSize)); end

  13. RG25f

  14. BY25f

More Related