UTILIZAÇÃO DE MOMENTOS GEOMÉTRICOS NA INSPEÇÃO INDUSTRIAL
A. Conci, L. H. Monteiro Pós-Grad. em Comp. Aplicada e Automação - CAA - Pós-Grad. Eng. Mecânica - PGMEC
Universidade Federal Fluminense - UFF, CEP 24 210-240, Niterói, RJ - Brasil
Resumo
Um conjunto de momentos geométrico invariantes para objetos planos foi apresentado por Hu [2]. Baseado neste conjunto um método de reconhecimento de padrões foi desenvolvido. Segundo este método padrões geométricos e caracteres alfabéticos podem ser identificados independentemente de sua orientação, tamanho ou posição. Um momento geométrico de um objeto bidimensional B(x,y) de ordem ( p+q ) pode ser definido por:
x p y q B(x,y) dx dy p,q = 0, 1, 2, ... (1)
Para simplificar o uso em imagens digitalizadas, será assumido que B(x,y) é composto de pequenos quadrados de coordenadas (i,j) de modo que (1) pode ser representada adequadamente por :
B ( i,j) i p j q p,q = 0, 1, 2, ... (2)
É fácil de verificar que existe apenas um objeto B(x,y) que pode produzir o mesmo valor para os momento de todas as ordens, ou em outras palavras se dois objetos tem os mesmos momentos em todas as ordens, estes objetos são idênticos. Considerando uma translação das coordenadas (i,j) de modo que o objeto possa ser descrito em relação a um sistema de coordenadas (io,io) , que passa pelo centróide definido pelas coordenadas:
io= i - B ( i,j) i / B ( i,j)
jo= j - B ( i,j) j / B ( i,j) (3)
então pode-se definir os momentos centrais ( ou em torno do centróide ) como:
m pq = B ( i,j ) io p jo q p,q = 0, 1, 2, ... (4)
se B ( i,j) for considerado representável por uma imagem binarizada ( onde valores 1 indicam o objeto e valores 0 o fundo no qual a imagem é descrita), teremos B ( i,j)=1 nas expressões acima. A área do objeto é descrita pelos momentos de ordem zero. É um resultado conhecido que os momentos centrais são invariantes a translação. Considerando transformações de escala, de modo que:
i'= a io e j'= a jo , onde a= constante (5)
Sob a transformação de escala a área ( momento de ordem p=0, q=0) será A'= a2 Ao. Considerando o objeto binarizado, as relações abaixo são invariantes a escala
i' p j' q(Ao) .0.5(p+q)+1= io p jo q(A’) .0.5(p+q)+1 (6)
A utilização de momentos centrais invariantes a escala pode ser útil na identificação de objetos e padrões onde o tamanho e a resolução ou a distância de captura não são relevantes. A invariância em relação a rotação do objeto pode ser obtida utilizando-se no cálculo dos momentos ao invés de um sistema de eixos (i,j) quaisquer, um sistema (I’’, j’’) que coincida com os eixos principais do objeto. Neste caso primeiro deve-se determinar o ângulo q que identifica a orientação dos eixos principais:
tan 2 q = 2 m 11 / ( m 20 - m 02 ) (7)
onde deve-se usar para determinação única do ângulo as restrições: m20 > m02 e m11>0 . Os momentos obtido em relação a este par de eixos são invariante à rotação. No caso de imagens digitalizadas , descritas através de MxN pixels .para a maioria das classes de objeto a utilização de eixos diferentes dos eixos verticais e horizontais originais da câmera na captura pode causar muitos erros de arredondamente principalmente em baixas resoluções. Uma forma de minimizar estes erros seria um pré-direcionamento da câmera, antes da captura, paralelamente a direção dos eixos principais do objeto, mass essa técnica seria obviamente inútil no caso de diversos objetos aleatoriamente dispostos no mesmo quadro, ou no processamento de imagens já capturadas. Neste caso a utilização de invariates às transformações de translação e rotação é bem mais adequada.
A área, momento ( m00 ) de ordem zero, é o primeiro destes invariantes, à translação e rotação, mas não a mudança de escala. É também conhecido que a soma dos momentos de área de segunda ordem (Momentos de Inércia) em relação ao centróide, ( Ixo + Iyo ), é constante independente da orientação dos eixos usados para descrever estes momentos. Esta soma é, naturalmente, o momento polar de inércia da área em relação ao centróide. Assim o segundo invariante a rotação e translação dos eixos é m02 + m20 . O terceiro valor invariante a rotação dos objetos capturados é uma medida de sua ecentricidade:
4 (m11 ) 2 + ( m20 - m02) 2 (8)
A demostração de que a equação acima é invariante a rotação pode ser derivada de diversas maneiras. Pode-se usar, por exemplo, as conhecidas relações entre os momentos de inércia em uma direção (x,y) e (x1,y1) , onde (x1,y1) corresponde aos eixos (x,y) girados de um ângulo q :
Ix1 = Ixo cos 2 q + Iyo sen 2 q - 2 Ixyo sen q cos q
Iy1 = Ixo sen 2 q + Iyo cos 2 q + 2 Ixyo sen q cos q (9)
Ix1y1 = Ixo sen q cos q - Iyo sen q cos q + Ixyo ( cos 2 q - sen 2 q )
No desenvolvimento deste trabalho para imagens digitais , tem-se: Ix1 = m02’, Ix = m02 , Iy = m20, Ixy= m11, Iy1 = m20’, e Ix1y1 = m11’.
Observando que qualquer ponto do objeto rodado de um ângulo q (i’, j’) , pode ser escrito em termos do sistema original de eixos (i,j) :
i’= i cos q + j sen q j’= j cos q - i sen q
O momento de terceira ordem m03 ’, no sistema i’, j’, pode ser escrito em termos do sistema original i, j como :
m03’ = j' 3= ( j cosq - i sen q ) 3
= [ j3 cos 3q - 3 j2 cos 2 q i sen q + 3 j cos q i 2 sen q - i 3 sen 3 q ]
ou usando as definições (4):
m03’ = m03 cos 3q - 3 m12 cos 2 q sen q + 3 m21 cos q sen2 q - m30 sen 3 q
De maneira semelhante teremos:
m30’ = i' 3= ( i cosq + j sen q ) 3
= [ i3 cos 3q + 3 i2 cos 2 q j sen q + 3 i cos q j 2 sen q + j 3 sen 3 q ]
m12’ = j ' 2 i' 1= ( i cosq + j sen q ) (j cosq - i sen q )2
= [ i j 2 cos 3q + j 3 sen q cos2 q + i 3 sen2 q cosq +
- 2 i j 2 sen 2 q cos q - 2 i2 j sen q cos2q - i j 2 sen 3 q ]
m21’ = j ' i' 2= ( i cosq + j sen q )2 (j cosq - i sen q )
= [ i2 j cos 3q + j 3 sen q cos2 q + i 3 sen2 q cosq +
- 2 i j 2 sen 2 q cos q - 2 i2 j sen q cos2q - i j 2 sen 3 q ]
ou usando as definições (4):
m30’ = m30 cos 3q + 3 m21 cos 2 q sen q + 3 m12 cos q sen2 q + m03 sen 3 q
m12’ = m12 cos 3q + m03 senq cos2q + m30 sen 2 q cos q - 2 m12 sen2 q cos q
- 2 m21 sen q cos2 q - m12 cos 3q
m12’ = m12 cos 3q + m03 senq cos2q + m30 sen 2 q cos q - 2 m12 sen2 q cos q
- 2 m21 sen q cos2 q - m12 cos 3q
Um estudo semelhante permite identificar também invariantes de ordens superiores. No caso de momentos de area até a ordem 3 ( m 0,3, m 1,2 m 2,1 m 3,0 ) as seguintes expressoes também identificam invariantes:
(m30 - 3m12)2 + (3m21 - m03)2
(m30 + m12)2 + (m21 + m03)2
(m30 - 3m12) (m30 - m12) [ (m30 + m12)2- (m21 + m03)2 ] +
(3m21 - m03) (m21 + m03) [ 3(m30 + m12)2 - (m21 + m03)2]
(m20 - m02)[ (m30 + m12)2 - (m21 + m03)2] + 4m11(m30 + m12) (m21 + m03)
(3m21 - m03) (m30 + m12)[ (m30 + m12)2 - 3(m21 + m03)2] -
(m30- 3m12) (m21 + m03)[3(m30 + m12)2 - (m21 + m03)2]
f1 = m20 + m02
f2 = (m20 - m02)2 + 4m112
f3 = (m30 - 3m12)2 + (3m21 - m03)2
f4 = (m30 + m12)2 + (m21 + m03)2
RESULTADOS
Os invariantes a rotação e translação e os invariantes completos a rotação translação e escala foram usados em dois grupos de testes, o primeiro busca identificar objetos idênticos e o segundo inspecionar objetos com falhas de um grupo de objetos capturados. No primeiro caso foram analisados a área e os invariantes do grupo de peças mostradas na figura 1. abaixo. Os resultados obtidos estão nas tabelas
Tabela 1. Características das imagens mostradas acima
|
1 |
2 |
3 |
4 |
5 |
6 |
fig. |
quad.1 |
retang.1 |
quad.2 |
retang.2 |
quad.3 |
retang.3 |
area |
2 290 |
2 450 |
2 209 |
488 |
2 207 |
2 468 |
J |
8,13 105 |
1,25 106 |
8,13 105 |
5,10 104 |
8,12 105 |
1,27 106 |
Exct. |
0,00 |
5,63 1011 |
6,23 105 |
1,04 109 |
2,19 107 |
5,89 1011 |
eq. |
0,00 |
0,00 |
6,89 108 |
5,67 107 |
9,19 109 |
2,07 1010 |
eq. |
0,00 |
0,00 |
1,99 106 |
1,24 107 |
3,09 109 |
8,80 109 |
Vi(1) |
16,67 10-2 |
20,83 10-2 |
16,67 10 -2 |
21,44 10-2 |
16,68 10-2 |
20,89 10-2 |
Vi(2) |
0,00 |
1,56 10-2 |
2,62 10 -8 |
1,84 10-2 |
9,24 10-7 |
1,59 10-2 |
Vi(3) |
0,00 |
0,00 |
1,41 10 -8 |
2,05 10-6 |
1,76 10-7 |
2,26 10-7 |
Vi(4) |
0,00 |
0,00 |
3,79 10-11 |
4,50 10-7 |
5,90 10-8 |
9,61 10-8 |
Tabela 2. Características das imagens mostradas acima
|
7 |
8 |
9 |
10 |
11 |
12 |
fig. |
porca h.1 |
porca h.2 |
retang. 4 |
porca h. 3 |
porca h. 4 |
porca h. 5 |
area |
8 405 |
635 |
480 |
3 133 |
8 410 |
3 083 |
J |
1,45 107 |
8,15 104 |
4,99 104 |
2,00 106 |
1,45 107 |
1,94 106 |
Exct. |
1,05 1011 |
2,07 107 |
1,02 109 |
5,57 108 |
1,02 1011 |
2,06 108 |
eq. |
2,01 1014 |
1,31 108 |
0,00 |
1,52 1012 |
1,93 1014 |
1,34 1012 |
eq. |
2,84 1013 |
4,81 107 |
0,00 |
2,43 1011 |
3,78 1013 |
7,56 1010 |
Vi(1) |
20,49 10-2 |
20,22 10-2 |
21,65 10-2 |
20,38 10-2 |
20,47 10-2 |
20,39 10-2 |
Vi(2) |
2,11 10-5 |
1,27 10-4 |
1,92 10-2 |
5,78 10-6 |
2,04 10-5 |
2,28 10-6 |
Vi(3) |
4,78 10-6 |
1,27 10-6 |
0,00 |
5,05 10-6 |
4,59 10-6 |
4,79 10-6 |
Vi(4) |
6,76 10-7 |
4,66 10-7 |
0,00 |
8,04 10-7 |
8,99 10-7 |
2,72 10-7 |
Tabela 3. Características das imagens mostradas acima
|
13 |
14 |
15 |
16 |
17 |
18 |
19 |
fig. |
porca r. 1 |
porca r. 2 |
porca r. 3 |
porca r. 4 |
porca r. 5 |
porca r. 6 |
quad. 4 |
area |
6 760 |
6 762 |
3200 |
3211 |
435 |
426 |
21 609 |
J |
8,61 106 |
8,61 106 |
1,92 106 |
1,93 106 |
3,53 104 |
3,39 104 |
7,78 107 |
Exct. |
7,10 1010 |
7,30 1010 |
3,95 109 |
9,87 108 |
3,54 107 |
1,09 106 |
0,00 |
eq. |
8,65 1012 |
8,06 1012 |
6,11 1011 |
2,06 1011 |
2,39 107 |
4,93 106 |
0,00 |
eq. |
4,53 1012 |
1,24 1012 |
7,24 1010 |
2,02 1010 |
7,14 106 |
1,01 106 |
0,00 |
Vi(1) |
18,84 10-2 |
18,83 10-2 |
18,76 10-2 |
18,76 10-2 |
18,66 10-2 |
18,67 10-2 |
16,67 10-2 |
Vi(2) |
3,40 10-5 |
3,49 10-5 |
3,76 10-5 |
9,27 10-6 |
9,89 10-5 |
3,30 10-5 |
0,00 |
Vi(3) |
6,12 10-7 |
5,70 10-7 |
1,82 10-6 |
6,04 10-7 |
1,53 10-6 |
3,52 10-7 |
0,00 |
Vi(4) |
3,21 10-7 |
8,75 10-8 |
2,16 10-7 |
5,93 10-8 |
4,58 10-7 |
7,20 10-8 |
0,00 |
Tabela 4. Distâncias pelas métricas d1 ( valores acima da diagonal principal ) e d2 (abaixo da diagonal) entre os vetores Vi das imagens
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
1 |
0 |
57 |
0 |
66 |
00 |
59 |
38 |
35 |
69 |
37 |
38 |
37 |
22 |
22 |
21 |
21 |
20 |
20 |
00 |
2 |
44 |
0 |
57 |
09 |
57 |
02 |
19 |
22 |
12 |
20 |
19 |
15 |
35 |
36 |
36 |
36 |
37 |
37 |
57 |
3 |
0 |
44 |
0 |
66 |
00 |
59 |
38 |
35 |
69 |
37 |
38 |
37 |
22 |
22 |
21 |
21 |
20 |
20 |
00 |
4 |
51 |
07 |
51 |
0 |
66 |
07 |
28 |
31 |
11 |
29 |
28 |
29 |
44 |
45 |
45 |
45 |
46 |
46 |
66 |
5 |
01 |
44 |
00 |
51 |
0 |
59 |
38 |
35 |
69 |
37 |
38 |
37 |
22 |
22 |
21 |
21 |
20 |
20 |
00 |
6 |
46 |
02 |
46 |
05 |
46 |
0 |
21 |
24 |
10 |
22 |
21 |
22 |
37 |
37 |
38 |
38 |
39 |
39 |
59 |
7 |
38 |
16 |
38 |
21 |
38 |
17 |
0 |
03 |
31 |
01 |
00 |
01 |
16 |
14 |
17 |
17 |
18 |
18 |
38 |
8 |
35 |
17 |
35 |
22 |
36 |
18 |
02 |
0 |
33 |
02 |
03 |
02 |
15 |
14 |
15 |
15 |
16 |
16 |
36 |
9 |
53 |
09 |
53 |
02 |
53 |
07 |
22 |
24 |
0 |
32 |
31 |
32 |
47 |
47 |
48 |
48 |
49 |
49 |
69 |
10 |
37 |
16 |
37 |
21 |
37 |
17 |
01 |
02 |
23 |
0 |
01 |
00 |
15 |
15 |
16 |
16 |
17 |
17 |
37 |
11 |
38 |
16 |
38 |
21 |
38 |
17 |
00 |
02 |
22 |
01 |
0 |
01 |
16 |
16 |
17 |
17 |
18 |
18 |
38 |
12 |
37 |
16 |
37 |
21 |
37 |
17 |
01 |
02 |
21 |
00 |
01 |
0 |
15 |
16 |
21 |
21 |
17 |
17 |
37 |
13 |
22 |
52 |
22 |
32 |
22 |
27 |
16 |
14 |
34 |
15 |
16 |
15 |
0 |
00 |
01 |
01 |
02 |
02 |
22 |
14 |
22 |
25 |
22 |
32 |
21 |
27 |
14 |
14 |
34 |
15 |
16 |
16 |
00 |
0 |
01 |
01 |
02 |
02 |
22 |
15 |
21 |
26 |
21 |
33 |
21 |
27 |
17 |
15 |
35 |
16 |
17 |
21 |
01 |
01 |
0 |
00 |
01 |
01 |
21 |
16 |
21 |
26 |
21 |
32 |
21 |
27 |
17 |
15 |
35 |
16 |
17 |
21 |
01 |
01 |
00 |
0 |
01 |
01 |
21 |
17 |
20 |
27 |
20 |
33 |
20 |
28 |
18 |
16 |
35 |
17 |
18 |
17 |
02 |
02 |
01 |
01 |
0 |
00 |
20 |
18 |
20 |
27 |
20 |
33 |
20 |
28 |
18 |
15 |
35 |
17 |
18 |
17 |
02 |
02 |
01 |
01 |
00 |
0 |
20 |
19 |
00 |
44 |
00 |
51 |
00 |
46 |
38 |
36 |
53 |
37 |
38 |
37 |
22 |
22 |
21 |
21 |
20 |
20 |
0 |
2. Ming-Kuei Hu, "Pattern Recognition by Moment Invariants", Proceedings of the IRE, vol 49, N. 9, September, 1961, p. 1428