-Kmeans
-Tracking images
-Hough Transformation
Kmeans
K-means clustering aims to partition n observations into k clusters in which each observation belongs to the cluster with the nearest mean, serving as a prototype of the cluster. It is proper for compact cluster algorithm and sensitive to outliers and noise .Calculation of the number of clusters is small, makes it faster than hierarchical clustering and uses only numeric attributes .Disadvantages of Kmeans algorithm to determining the number of clusters k is so hard.
-Set of feature vectors X={x1,x2,…xn}
-Our feature for circle detection is “Area”s in image.
-The number of clusters to be detected->K
-For finding coin in an image our number of cluster is K=5 (1TL,0.5TL,0.25,0.1,0.05)
There are 5 different clusters for classification and Kmeans use these as input values. Kmeans
groups objects according their areas.
K-means clustering aims to partition n observations into k clusters in which each observation belongs to the cluster with the nearest mean, serving as a prototype of the cluster. It is proper for compact cluster algorithm and sensitive to outliers and noise .Calculation of the number of clusters is small, makes it faster than hierarchical clustering and uses only numeric attributes .Disadvantages of Kmeans algorithm to determining the number of clusters k is so hard.
-Set of feature vectors X={x1,x2,…xn}
-Our feature for circle detection is “Area”s in image.
-The number of clusters to be detected->K
-For finding coin in an image our number of cluster is K=5 (1TL,0.5TL,0.25,0.1,0.05)
There are 5 different clusters for classification and Kmeans use these as input values.
K-Means
can be put the same objects into different classes so it is not effective solution for us.
Tracing The Objects
Kmeans has
not accuracy enough for us and we give an order for classifying the coins.
1-Grayscale
of image
2-Imfill of
image
3-Removing
the noise (with 50 strelldisk)
4-Tracing
extrerior boundaries of objects (bwboundaries)
5-Regionprops measures a set of properties for each connected component (object) in the binary image BW, which must be a logical array
6-Tracking object is not effective solution for segmentation problem
Circular Hough Transformation
b=y-R sin(t)
Firstly we read the image, then we create binary image and remove it from the noise. Finally we find the boundaries (Sobel) and determine which objects that are round.
Circle parameters for the circular Hough transform: The points on the circle (x,y) in image space is mapped onto a line in the accumulator.
The centerpoints are represented as red cells in the
parameter space drawing. Overlap of circles can cause spurious centers to also
be found, such as at the blue cell. In
different radius internal Hough Transform detect different circles below:
r2 = ( x – a )2 + (
y – b )2
a=x-R cos(t)
b=y-R sin(t)
Applying Circular Hough Transformation on Coins
Image:
Find the distance of image by imdistline function.We obtain
the possible R values interval 90-170:
Circular
Hough Transformation Matlab Code
1-In
Circular Hough Transform Method we dont use Area and we use Radius values of
coins Matlab Code Below
%Hough Transform
function totalAmount =
findCoins(imName)
res= imread(imName);
figure; imshow(res);
resizeRate = 1;
%res =
imresize(res,resizeRate, 'nearest');
% I = rgb2gray(res);
% coin1 = im2bw(I);
%
bw=imfill(~coin1,4,'holes');
%res,[90 170] değeri
res,[90 200] olursa daha çok circle tarar
[centers, radii, metric] =
imfindcircles(res,[90 170], ...
'ObjectPolarity','dark','Sensitivity',0.95,'Method','twostage');
%viscircles(centers,
radii,'EdgeColor','b');
nCoins = size(centers,1);
total = 0;
for n=1:nCoins
X=centers(n,1); Y=centers(n,2);
radius = radii(n,1);
if radius>150
text(X-10,Y,'1 TL');
total=total+1;
elseif 135<radius
text(X-10,Y,'0.5 TL')
total=total+0.5;
elseif 125<radius
text(X-10,Y,'0.25 TL')
total=total+0.25;
elseif 115<radius
text(X-10,Y,'0.1 TL')
total=total+0.1;
else
text(X-10,Y,'0.05 TL')
total=total+0.05;
end
end
hold on
title(['Toplam: ',num2str(total),'TL'])
totalAmount = total;
end
The Output Of Code:
The Output Of Code:
Comparing Accuracy of Algoritms
Accuracy
|
time
|
|
Kmeans
|
0.50
|
0.2 min
|
RegionProps
|
0.71
|
0.8 min
|
Hough Transform
|
0.86
|
1.2 min
|
Other Applications of Hough Transformation
Human made construction (ancient city )detection : Regular shapes can be detected on the map or google earth values such as a resecarhing in West
BlackSea -Zonguldak Çaycuma Tios Ancient city. The researchers verify this method to finding Billaios ancient river.
Earthquake fault line detection: Boundary map of Adapazari obtained from application boundary algorithm.Fault traces formed by combining the lineaments.
Red blood cell detection: Segmentetaion and determining the number of red blood cells for anemia disease .
Irish Segmentation: Human eyes could use for identity detection. A sample reseach use UBIRIS.v1 dataset (241 eyes-1977 irish sample) they assume the r radius of human eye between 0,1-0,8 cm.
Ball detection in sport events(football,voleyball)
Özge ATASEVEN