UCSD CSE190a Haili Wang

Wednesday, February 24, 2010

big group bees results

reference image:


filter 7

filter 9

filter 10

diferent filter results

Only red channel is used. Single channel is filtered by median filter and then convoluted by the different filters. These filters act as edge detectors, and toward the end they are rotated ccw about 45 degrees. These filters are hard coded.


reference image:


filter1

%f = ([1 1 5 7 5 -10 -15 -10 5 7 5 1 1]);

filter2

%f = ([1 1 5 7 5 0 -5 -10 -15 -10 -5 0 5 7 5 1 1]);

filter3

%f = ([ 1 5 7 5 0 -5 -10 -15 -10 -5 0 5 7 5 1]);

filter4

%f = ([ 1 5 7 5 -7 -15 -7 -10 5 7 5 1 ; 1 5 7 5 -10 -7 -15 -7 5 7 5 1]);

filter5

%f = ([ 1 5 7 5 0 -7 -15 -7 -10 0 5 7 5 1 ; 1 5 7 5 0 -10 -7 -15 -7 0 5 7 5 1]);

filter6

%f = ([ 1 5 7 5 0 -7 -15 -7 -3 0 5 7 5 1 ; 1 5 7 5 0 -3 -7 -15 -7 0 5 7 5 1]);

filter7

% f = ([ 1 5 7 5 0 -15 -10 -7 -3 0 5 7 5 1;
% 1 5 7 5 0 -7 -15 -7 -3 0 5 7 5 1 ;
% 1 5 7 5 0 -3 -7 -15 -7 0 5 7 5 1;
% 1 5 7 5 0 -3 -7 -10 -15 0 5 7 5 1]);
 

filter8

% f = ([ 1 1 5 2 -10 -7 -5 -1 0 1 2 5 1 1; 
% 1 5 7 5 0 -15 -10 -7 -3 0 5 7 5 1;
% 1 5 7 5 0 -7 -15 -7 -3 0 5 7 5 1 ;
% 1 5 7 5 0 -3 -7 -15 -7 0 5 7 5 1;
% 1 5 7 5 0 -3 -7 -10 -15 0 5 7 5 1;
% 1 1 5 2 -10 -7 -5 -1 0 1 2 5 1 1]);

filter9

% better:
% f = ([ 1 1 5 2 -10 -7 -5 -1 0 1 2 5 1 1;
% 1 5 7 5 0 -15 -10 -7 -3 0 5 7 5 1;
% 1 5 7 5 0 -7 -15 -7 -3 0 5 7 5 1 ;
% 1 5 7 5 0 -3 -7 -15 -7 0 5 7 5 1;
% 1 5 7 5 0 -3 -7 -10 -15 0 5 7 5 1;
% 1 1 5 2 1 0 -1 -5 -7 -10 2 5 1 1]);

filter10

f = ([ 1 5 2 -7 -5 -2 1 1 1 2 5 2 1 1;
1 1 5 2 -10 -7 -5 -1 0 1 2 5 1 1;
1 5 7 5 0 -15 -10 -7 -3 0 5 7 5 1;
1 5 7 5 0 -7 -15 -7 -3 0 5 7 5 1 ;
1 5 7 5 0 -3 -7 -15 -7 0 5 7 5 1;
1 5 7 5 0 -3 -7 -10 -15 0 5 7 5 1;
1 1 5 2 1 0 -1 -5 -7 -10 2 5 1 1;
1 1 2 5 2 1 1 1 -2 -5 -7 2 5 1]);


Sunday, February 21, 2010

a sample result

I use an early filter approach with small trick. The program displays the original image to the user, but actually processing the filtered version in the learning stage.

The input is filtered before processing the finding stage, and then overlay red start on the original image.

It's obvious that filtering eliminates some false positives, but it also eliminates some overlapping bees.

Again, the learning samples are important for the second stage. I can stack up the learning samples, however, I am not sure whether I should compress them to limit the computation. For now, every learning process starts a new file and abandons all the old data.

Also I think I should head to some kind of texture recognition for the overlapping bees.



Saturday, February 20, 2010

median filtered

I am a little not sure where to insert the filtering stage. Early filtering makes the human user more difficult to recognize the object, but late filtering makes the program more difficult to recognize the object.


Window size 6 pixels overlap 2 pixels.
Window size 8 pixels overlap 3 pixels.





compare to the original image:

Monday, February 15, 2010

Nvidia SIGGRAPH 2009 image processing slide

Some of my classmates may be interested on this slide about image processing on GPU:

http://www.slideshare.net/NVIDIA/advances-in-gpu-based-image-processing

Wednesday, February 10, 2010

corr2 is too expensive

I used to use small input images for the second stage of finding bees. When I switched to original size(1600x1200) the program took minutes to compute the correlation between windows and the samples. This time I changed to use sum(abs(win - sample)) and threshold to different values of positive and negative samples.

positive threshold : negative

0.6 : 1.0
http://farm5.static.flickr.com/4072/4346608685_3b71a707ca_o.png


0.5 : 2.0
http://farm3.static.flickr.com/2790/4346608677_584043b1ed_o.png


0.8 : 2.5
http://farm3.static.flickr.com/2688/4346641775_1578dc4368_o.png


0.8 : 2.0
http://farm3.static.flickr.com/2680/4346641767_f43140b968_o.png


0.8 : 1.5
http://farm3.static.flickr.com/2793/4346641763_2bf8929ac8_o.png


0.8 : 1.0
http://farm3.static.flickr.com/2683/4346641759_81a2639058_o.png


0.7 : 1.0
http://farm5.static.flickr.com/4020/4346641757_152a94b63e_o.png


0.5 : 1.5
http://farm5.static.flickr.com/4047/4346641755_4f6edc29a3_o.png



In sampling phase I intentionally selected bees in a dirty background, for which affected bees in a clean background.

Wednesday, February 3, 2010

problem of multiply bees and a dirty backdrop




This time I pick bees that are in the dirty background and overlay on each other, and try to match them on a similar image. A lot of false positives appear on the respond.



This image cooperates with negative supervise learning.

A window has one score if it has correlation less than 0.5 with the negative samples, greater than 0.9 correlation with the positive samples. Only those with 3 scores are selected.