E- Benzer hukuki ilişkilerden ayırt edilmesi
1. Adi kiradan ayırt edilmesi ve somut sözleşme ilişkisinin nitelendirilmesi
Nesta se¸c˜ao ser˜ao mostrados os m´etodos e conceitos que foram utilizados para o desenvolvimento do software.
3.2.1 Manipula¸c˜ao da Imagem
N˜ao foi necess´aria a calibra¸c˜ao da cˆamera, visto que, os parˆametros intr´ınsecos e extr´ınsecos default das cˆameras convencionais (webcam e cˆamera do laptop) n˜ao influen- ciavam na correta capta¸c˜ao da imagem.
3.2.1.1 Determina¸c˜ao da Distˆancia da Cˆamera
O usu´ario deve estar posicionado entre 10 `a 60 cm de distˆancia da cˆamera. Isso ´e importante pois foi constatado que, se o usu´ario ficar muito longe da cˆamera (al´em de 60 cm de distˆancia) as imagens ficam distorcidas uma vez que os filtros aplicados sobre a imagem tem como uma das caracter´ısticas a de borrar a imagem captada.
Se o usu´ario ficar `a menos de 10 cm da cˆamera a imagem fica muito grande e portanto de dif´ıcil interpreta¸c˜ao por parte do software, figura (19).
Figura 19 - Imagem feita `a uma distˆancia de 9 cm da cˆamera / medi¸c˜ao feita com uma trena de 5 m (professional uyustolls)
A figura abaixo, mostra uma imagem obtida de um usu´ario `a 31 cm de distˆancia da cˆamera.
Figura 20 - Imagem feita `a uma distˆancia de 31 cm da cˆamera / medi¸c˜ao feita com uma trena de 5 m (professional uyustolls)
A figura (21), mostra como se comportam as imagens que foram obtidas al´em do range de 60 cm.
Figura 21 - Imagem (a) (67 cm de distˆancia da cˆamera), Imagem (b) (240 cm de distˆancia da cˆamera), Imagem (c) (250 cm de distˆancia da cˆamera) / todas as medi¸c˜oes foram feitas com uma trena de 5 m (professional uyustolls)
Tanto a distˆancia m´ınima de 10 cm quanto a distˆancia m´axima de 60 cm foram determinados atrav´es de testes pr´aticos em tempo de execu¸c˜ao.
3.2.1.2 Imagem Negativa
A cria¸c˜ao da imagem negativa (fundo negro e imagem relevante em branco), ´e um passo importante, pois pinta de preto todas as imagens que n˜ao s˜ao relevantes para a interpreta¸c˜ao da informa¸c˜ao captada e pinta de branco apenas as imagens relevantes que dever˜ao ser processadas posteriormente, dessa forma, se consegue a minimiza¸c˜ao de falsos positivos e redu¸c˜ao da informa¸c˜ao que ser´a enviada para o processador, abatendo-se assim a carga computacional. A figura (22)a, representa a imagem bin´aria e a figura (22)b, representa a imagem suavizada.
Figura 22 - Imagem bin´aria (a) e Imagem suavizada (b)
• Utilizou-se o procedimento de autoria do desenvolvedor (skinExtract()) que aplica na imagem recebida os filtros Mediana (m´ascara - 17x17), Gaussiano (m´ascara - 25x25) e converte o espa¸co de cor RGB (espa¸co default de entrada) em YCbCr (fun¸c˜ao OpenCV utilizada para convers˜ao - cvtColor());
• Uma vez que o novo espa¸co de cor est´a setado para YCbCr (matriz multi canais), separa-se o espa¸co nas suas matrizes individuais de cores (Cb e Cr) para um controle mais preciso da imagem rec´em adquirida;
• Atrav´es da varredura da matriz rec´em separada por interm´edio de um la¸co for(), e pela verifica¸c˜ao do conte´udo das componentes Cb e Cr (la¸co condicional if()), consegue-se verificar se Cb e Cr est˜ao dentro do intervalo 100 ≤ Cb ≤ 127 e 138 ≤ Cr ≤ 170 respectivamente. Caso o resultado da compara¸c˜ao (para aquela coordenada analisada) seja verdadeiro a coordenada de pixel da tela recebe o valor 255 (pixel branco) caso contr´ario recebe o valor 0 (pixel preto) para se conseguir com isso a constru¸c˜ao de uma imagem bin´aria.
• Finalizando o procedimento (skinExtract()), aplica-se os filtros Dilata¸c˜ao e Ero- s˜ao (m´ascara - 5x5) para a suaviza¸c˜ao final da imagem, figura (22)b.
Os filtros Mediana e Gaussiano foram utilizados para borrar parcialmente a imagem e com isso se conseguir uma minimiza¸c˜ao de falsos positivos.
Os filtros Dilata¸c˜ao e Eros˜ao tiveram como objetivo reduzir ainda mais os falsos positivos, visto que, atuam depois da aplica¸c˜ao dos filtros Mediana e Gaussiano.
Para os filtros em quest˜ao foi necess´ario fazer alguns testes pr´aticos (em tempo de execu¸c˜ao) para se determinar qual seriam os tamanhos de m´ascaras mais adequados para se conseguir o melhor resultado entre desempenho computacional e identifica¸c˜ao da imagem pelo programa.
Ap´os v´arios testes com as m´ascaras: 3x3, 5x5, 7x7, 12x12, 15x15, 17x17 e 20x20, respectivamente, para o filtro Mediana, identificou-se como melhor resultado a m´ascara
(matriz) de 17x17.
J´a para o filtro Gaussiano foi utilizada a mesma estrat´egia utilizada no filtro Medi- ana, e ap´os os testes das m´ascaras: 3x3, 5x5, 7x7, 12x12, 15x15, 17x17, 20x20, 25x25 e 28x28, escolheu-se a m´ascara de 25x25.
Para o filtro Dilata¸c˜ao e Eros˜ao, testou-se as m´ascaras: 3x3, 5x5, 7x7, 12x12, 15x15, 17x17 e 20x20, escolhendo-se assim a m´ascara de 5x5.
Matrizes acima de 3x3 borram e melhoram um pouco a imagem e matrizes acima de 10x10, borram, melhoram e destacam a imagem como um todo, por´em, impactam diretamente na velocidade de execu¸c˜ao do programa, deixando o sistema mais lento.
Em contraste com o RGB, o espa¸co YCbCr ´e luma independente, resultando em uma melhor performance (KUKHAREV; NOWOSIELSKI, 2004).
A principio utilizou-se o intervalo 80 ≤ Cb ≤ 120 e 133 ≤ Cr ≤ 173, como ponto de partida (BASILIO, 2011). Por´em, ap´os v´arios teste em tempo de execu¸c˜ao, optou-se pela utiliza¸c˜ao dos intervalos 100 ≤ Cb ≤ 127 e 138 ≤ Cr ≤ 170 (engloba o range dos tons de pele do tipo caucasiano), pois os mesmos resultaram em menos falsos positivos para o reconhecimento de imagens.
3.2.2 Centro Geom´etrico (COG)
O centro geom´etrico ´e um importante conceito pois serve para se conseguir localizar o centro de uma imagem captada.
No caso de uma imagem processada os momentos que formam o COG, M oments :: mji s˜ao computados como:
mji =
X
x,y
(array(x, y).xj.yi) (3.1)
O momento central, M oments :: muji s˜ao computados como:
muji =X
x,y
(array(x, y).(x − x)j.(y − y)i) (3.2)
Onde (x, y) ´e o centro geom´etrico: x= m10
m00
, y= m01 m00
(3.3) Os momentos centrais normalizados, M oments :: nuij s˜ao computados como:
nuji = muji m 1+j 2+1 00 (3.4)
n˜ao s˜ao armazenados.
Os momentos de um contorno s˜ao definidos do mesmo modo mas s˜ao computados usando-se a f´ormula de Green, (RILEY et al.,2006).
Observa-se tamb´em que desde que os momentos de contorno s˜ao calculados usando a f´ormula de Green, pode-se obter resultados aparentemente estranhos para contornos com auto-interse¸c˜oes, por exemplo, uma ´area de zeros (M00) para contornos em forma de
borboleta.