cc222 – visão computacional descrição e...
TRANSCRIPT
![Page 1: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/1.jpg)
CCCC222222 –– VViissããoo CCoommppuuttaacciioonnaall
DDeessccrriiççããoo ee FFeeiiççõõeess
Instituto Tecnológico de Aeronáutica
Prof. Carlos Henrique Q. Forster – Sala 121 IEC
ramal 5981
![Page 2: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/2.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-2/35
Tópicos da aula • Detecção de cantos • Detecção de contornos • Regiões binárias – caracterização • Descrição de formas geométricas
Livro para acompanhar essa aula Gonzalez e Woods Shapiro e Stockman Horn (regiões binárias) Ballard (descrição) Trucco (detecção de cantos)
![Page 3: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/3.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-3/35
Detecção de cantos
Realizar os somatórios sobre uma região centrada no pixel investigado. Obter os autovalores de C. Se o menor autovalor de C for maior que um valor limite, detectou-se um canto.
![Page 4: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/4.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-4/35
Detectando contorno por máscaras de convolução Seja S um sinal unidimensional amostrado num vetor S[i]. S’[i] é o sinal correspondente às diferenças de primeira ordem. S’’[i] é o sinal correspondente às diferenças de segunda ordem. A máscara M’ é a máscara de convolução que produz as diferenças entre pixels consecutivos
![Page 5: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/5.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-5/35
![Page 6: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/6.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-6/35
exemplos de convolução
![Page 7: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/7.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-7/35
Filtros Gaussianos Os coeficientes da máscara são dados pela função
Onde
Utilizado para remoção de ruído (smoothing ou suavização). Aplicando a convolução com uma máscara derivativa, obtemos uma máscara derivativa mais robusta (evita o ruído)
![Page 8: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/8.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-8/35
![Page 9: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/9.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35
Some properties of derivative masks follow: • Coordinates of derivative masks have opposite signs in order to obtain a high
response in signal regions of high contrast. • The sum of coordinates of derivative masks is zero so that a zero response is
obtained on constant regions. • First derivative masks produce high absolute values at points of high contrast. • Second derivative masks produce zero-crossings at points of high contrast.
For comparison, smoothing masks have these properties: • Coordinates of smoothing masks are positive and sum to one so that output on
constant regions is the same as the input. • The amount of smoothing and noise reduction is proportional to the mask size. • Step edges are blurred in proportion to the mask size.
![Page 10: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/10.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-10/35
Operadores diferenciais em imagens
![Page 11: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/11.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-11/35
![Page 12: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/12.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-12/35
Máscaras 2D
diferenciais
gaussianas
![Page 13: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/13.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-13/35
![Page 14: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/14.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-14/35
laplaciano de gaussianas Notar os zero-crossings
![Page 15: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/15.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-15/35
laplaciano 11x11
(construção das convoluções com máscara centrada em um pixel)
![Page 16: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/16.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-16/35
Vizinhança
vizinhança 4
vizinhança 8 Regiões conexas
![Page 17: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/17.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-17/35
Rotulação de regiões
![Page 18: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/18.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-18/35
function bim=lbl_label(im)
% bim=lbl_label(im)
%
% Labeling of image im.
% The labels are sorted by area.
% Label 1 is usually the background.
%
lut=1:10000; % look-up table
bim=zeros(size(im)); % image of the labels
%primeiro elemento
bim(1,1)=1;
lbl=2;
![Page 19: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/19.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-19/35
% primeira linha
for j=2:size(im,2)
if(im(1,j)==im(1,j-1))
bim(1,j)=bim(1,j-1);
else
bim(1,j)=lbl;
lbl=lbl+1;
end
end
%demais linhas
for i=2:size(im,1)
cline=0;
%primeira coluna
if im(i,1)==im(i-1,1)
bim(i,1)=bim(i-1,1);
else
![Page 20: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/20.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-20/35
bim(i,1)=lbl;
lbl=lbl+1;
end
%demais colunas
for j=2:size(im,2)
if(im(i,j)==im(i,j-1))
bim(i,j)=bim(i,j-1);
if (im(i,j)==im(i-1,j))
lut(bim(i,j))=bim(i-1,j);
bim(i,j)=bim(i-1,j);
cline=1;
end
elseif (im(i,j)==im(i-1,j))
bim(i,j)=bim(i-1,j);
else
bim(i,j)=lbl;
lbl=lbl+1;
![Page 21: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/21.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-21/35
end
end
if cline
for j=1:size(im,2)
bim(i,j)=lut(bim(i,j));
end
end
end
%compactar lut
plut=zeros(1,lbl);
nlbl=1;
for i=1:size(plut,2)
p=i;
q=lut(p);
while p~=q
p=q;
![Page 22: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/22.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-22/35
q=lut(p);
end
lut(i)=p;
if plut(p)==0
plut(p)=nlbl;
nlbl=nlbl+1;
end
end
for i=1:size(im,1)
for j=1:size(im,2)
bim(i,j)=plut(lut(bim(i,j)));
end
end
%newpack
mlut=zeros(size(plut));
![Page 23: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/23.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-23/35
mlbl=1;
for i=1:size(im,1)
for j=1:size(im,2)
if mlut(bim(i,j))==0
mlut(bim(i,j))=mlbl;
bim(i,j)=mlbl;
mlbl=mlbl+1;
else
bim(i,j)=mlut(bim(i,j));
end
end
end
% sort by area
lb=bim;
h=hist(lb(1:end),max(max(lb)));
[y,ilut]=sort(-h);
![Page 24: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/24.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-24/35
ylut=ilut;
for i=1:size(ilut,2)
ylut(i)=find(ilut==i);
end
for i=1:size(lb,1)
for j=1:size(lb,2)
lb(i,j)=ylut(lb(i,j));
end
end
lbimg=lb;
bim=lb;
Para obter a região de rótulo 3 use bim==3. Para obter o inverso bim~=3.
![Page 25: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/25.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-25/35
Traçando o contorno de uma região binária
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
?
?
![Page 26: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/26.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-26/35
Descrição de Regiões Binárias
Área
Centróide
Perímetro
Circularidade
![Page 27: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/27.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-27/35
Bounding box
Distribuição da distância ao centróide
![Page 28: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/28.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-28/35
Momentos centrais de segunda ordem
Estão relacionados aos coeficientes de uma elipse com centro na origem
![Page 29: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/29.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-29/35
Eixo de mínima dispersão
![Page 30: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/30.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-30/35
![Page 31: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/31.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-31/35
Obtendo imagens binárias de imagens de escala de cinza Thresholding
⎩⎨⎧ >
=contrário caso ,0
se ,1 thresholdEb ij
ij
![Page 32: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/32.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-32/35
Histograma
O valor de threshold deve ser escolhido para separar a distribuição bi-modal.
![Page 33: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/33.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-33/35
Construção do fecho convexo em 2D Dados vértices ordenados em y Insira o primeiro vértice e o segundo vértice nas listas esquerda e direita. Para cada outro vértice V Percorrer lista da esquerda inversamente removendo vértices até garantir que o ângulo das arestas em relação à horizontal é sempre decrescente. Percorrer a lista da direita inversamente removendo vértices até garantir que o ângulo das arestas em relação à horizontal é sempre crescente. Insira V nas duas listas. Fim
![Page 34: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/34.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-34/35
![Page 35: CC222 – Visão Computacional Descrição e Feiçõesforster/CC-222/lecture/08-Descricao-Feicoes.pdf · CC222 – Visão Computacional – ITA – IEC Descrição e Feições-9/35](https://reader033.vdocumento.com/reader033/viewer/2022041820/5e5d16106826a936340d1501/html5/thumbnails/35.jpg)
CC222 – Visão Computacional – ITA – IEC Descrição e Feições-35/35