4. RESULTS AND DISCUSSION
4.4. Water vapour permeability
3.4.1
Especificando uma forma delimitadora
Estimar a orientação do alvo não é uma tarefa fácil considerando o sistema que se tem até então, isto se deve ao fato de que a caixa delimitadora que é retornada pelo detector de alvo indica, com certo grau de incerteza, apenas uma área retangular da porção da imagem onde supostamente o alvo deve estar. É necessário que se determine uma forma de estipular a posição de pelo menos dois pontos conhecidos no alvo que podem ser identificados na imagem obtida utilizando a câmera para que se possa inferir sobre a orientação do mesmo com relação ao plano de movimentação do robô, que é o que nos interessa aqui. Para resolver esse problema propomos o uso de uma forma delimitadora conhecida em torno do alvo, nos testes do sistema foi utilizado um retângulo em volta do alvo da Figura 3.2. O retângulo foi escolhido pela sua simplicidade em se determinar os pontos que correspondem à seus cantos, com eles podemos facilmente especificar a posição de quatro pontos conhecidos do alvo, onde apenas dois são necessários para a estimativa de posição e orientação em duas dimensões. Os outros cantos conhecidos do retângulo podem ser utilizados de forma redundante para adicionar robustez ao algoritmo de detecção.
O problema de estimativa de configuração discutido aqui considera apenas o conheci- mento da posição do alvo e seu ângulo de orientação no plano terrestre 2D com relação ao eixo de coordenadas da câmera. E ainda mais, uma vez que existe uma restrição angular de detecção relacionada ao método de detecção, assim, nem todo o espaço precisa ser considerado na estimativa de configuração e o método pode ser simplificado.
Uma vez que o sistema de detecção de alvo identifica a presença do alvo na imagem obtida através da câmera, é hora de determinar a localização dos quatro cantos do re- tângulo delimitador que fica em torno do padrão de imagem treinado. Para encontrar os cantos, uma ROI (Region of Interest) é estipulada cobrindo a área na qual o retângulo está contido. Essa região é definida com relação à caixa delimitadora retornada pelo detector e precisa conter o retângulo delimitador por completo. Uma vez que a caixa delimitadora retornada pelo detector Haar não é muito grande, é simples determinar um perímetro ao redor do alvo onde provavelmente o retângulo está inteiramente contemplado.
O detector de alvo pode ser treinado considerando-se uma forma delimitadora a fim de se obter melhores resultados. Nos experimentos realizados para esse trabalho o treina- mento do detector foi feito para encontrar apenas o alvo interno, assim a caixa delimita- dora que é retornada pelo detector foi expandida em cerca de 25% do seu tamanho para
formar a ROI de procura pelo retângulo delimitador. Esse procedimento fica a cargo do projetista dos sistema, o alvo pode muito bem ser treinado contendo o padrão desejado e a forma delimitadora, nesse caso a caixa delimitadora retornada pelo detector pode ser utilizada como ROI sem a necessidade de ajustes, deve-se apenas garantir que o retângulo esteja totalmente enquadrado dentro da ROI.
Quando a ROI que contém o retângulo está definida, um método de separação de objetos pode ser aplicado na imagem formada pela ROI para separar os pixels perten- centes à área do retângulo. Uma vez que os pixels correspondentes ao retângulo foram encontrados, então um algoritmo de comparação pode ser aplicado aos mesmos a fim de se encontrar quais deles então mais próximos das bordas da imagem, esses então serão os pontos correspondentes aos quatro cantos conhecidos do alvo. No exemplo do alvo mostrado aqui a imagem correspondente a ROI foi convertida para níveis lógicos e um algoritmo de preenchimento de pixels, como os que podem ser vistos em [Shani 1980], [Rogers 1985] e [Pavlidis 1982], foi então utilizado para fazer a separação das diferentes áreas, que não se tocam, em preto presentes na imagem. Como, na imagem da ROI, o alvo treinado é o objeto em preto que possui a maior área em pixels, fica fácil de isolar o mesmo da área correspondente ao retângulo. Esse método pôde ser utilizado apenas pelo fato de que o alvo escolhido é bem evidente quando convertido aos níveis binários de preto e branco, mas uma estratégia semelhante pode ser utilizada com outros tipos de alvo. Uma ilustração dos resultados obtidos utilizando esse método de identificação podem ser vistos na Figura 3.7, onde a diferença angular entre o alvo e a câmera é dife- rente de zero então o retângulo se torna um trapézio quando visualizado na imagem. Na mesma Figura pode-se também observar os quatro cantos bem definidos do alvo, nomea- dos de forma sequencial para posteriormente serem utilizados no algoritmo de estimativa de orientação.
Figura 3.7: Imagem da ROI extraída durante simulação definida como uma caixa deli- mitadora 25% maior que a retornada pelo detector do padrão interno de alvo. Os quatro cantos do retângulo estão ressaltados por pontos em vermelho sobre a imagem adquirida. A forma delimitadora do alvo pode ser definida segundo o desejo do projetista do sis- tema, com a limitação de que a mais fina das linhas pertencente à forma delimitadora deve ser espessa o suficiente, em pixels, para que possa ser percebida pelo sensor da câmera dentro da distância delimitada para a atuação do detector em cascata. Também é impor- tante que a mesma permaneça totalmente perceptível dentro de toda a faixa de detecção. Se essa condições não forem atendidas então o processo de estimativa de orientação po- derá ser comprometido. Os valores máximos de espessura das linhas para o alvo utilizado nas simulações e testes foram determinados empiricamente durante o processo de design do padrão de alvo.
Outras formas de extração de características de imagem podem ser aplicadas para ob- ter os pontos correspondentes aos limites do alvo que não necessariamente envolvam a utilização dessa forma delimitadora. Durante o desenvolvimento do projeto pensou-se na utilização de detectores de cantos para identificar locais conhecidos no alvo dentro da ROI e utilizar a distância entre os pontos correspondentes à esses locais no alvo físico para realizar os processos de estimativa. Porém, geralmente, esses detectores são bem custo- sos computacionalmente, o que acabaria comprometendo a performance do algoritmo de estimativa de alvo. Assim, a ideia de utilização de detectores de cantos foi deixada de lado.
3.4.2
Processo de estimativa
Os pontos em coordenadas de pixel na imagem representando os cantos do retângulo delimitador podem nos dar uma melhor ideia da orientação do plano que contém o alvo
do que somente a caixa delimitadora retornada pelo detector, utilizando a deformação do retângulo podemos estimar o ângulo de orientação do alvo em relação ao referencial de coordenadas da câmera. Quando o alvo está de frente para a câmera, ou quando sua diferença angular é de 0◦, os ângulos dentro dos vértices do retângulo ficam todos em torno de 90◦.
Existem várias formas de estimar a orientação do alvo em relação ao referencial de coordenadas da câmera utilizando a posição dos cantos do retângulo delimitador, o mé- todo utilizado nos testes considera os cantos superiores do retângulo como sendo pontos no espaço de trabalho 2D do robô terrestre e calcula a estimativa ˜θ(t) para a orientação θ(t) do alvo segundo a equação
˜θ(t) = tan−1 Z1− Z2
X2− X1
(3.7) onde o ponto mais à esquerda é dado por P1 = [X1,Y1, Z1] e o ponto mais a direita
por P2= [X2,Y2, Z2] no referencial de coordenadas de câmera, de acordo com a figura
3.7. Examinado a Figura 3.8, que representa um modelo de visualização superior da cena de perseguição, e utilizando as relações trigonométricas conhecidas, pode-se facilmente chegar à expressão (3.7).
O quadrante do ângulo calculado utilizando a equação (3.7) é importante já que de- sejamos minimizar o erro de orientação entre o alvo e robô para melhorar a visualização do mesmo. Uma ilustração do processo aplicado aqui pode ser visualizada na Figura 3.8, onde os dois pontos pertencentes ao alvo necessários para o processo de estimativa de orientação podem ser visualizados.
Figura 3.8: Ilustração do processo de estimativa de orientação calculado com base no arco-tangente das distâncias de dois pontos pertencentes ao alvo nos eixos x e z.
de estimativa apresentado aqui é suficiente para se ter uma ideia de para onde o alvo está apontando e assim poder-se desenvolver uma abordagem de controle capaz de manter a diferença de orientação entre o robô e o alvo bem próxima de zero, assim, existe uma menor possibilidade de se perder o alvo durante o processo de perseguição. O processo de estimativa da orientação é naturalmente bastante ruidoso e dependendo da quantidade de erro acumulada no processo de estimativa de posição, do qual o mesmo depende, pode ser ainda mais. Mesmo assim os resultados obtidos utilizando um filtro passa-baixas em conjunto com o estimador resultaram em um nível aceitável de precisão.
Sendo assim os passos do algoritmo para a estimativa da posição e orientação do alvo proposto aqui são apresentados no pseudo-algoritmo 1.
Algoritmo 1: Algoritmo proposto para se determinar a posição e orientação do alvo móvel captado pela câmera
Entrada: Os quatro cantos do alvo [p1, p2, p3, p4] em coordenadas de imagem,
f, sx, sy, h0, (cx, cy)
1 Calcular altura e largura do alvo na imagem himg e wimgcom base em (3.4). 2 Determinar as coordenadas Zipara cada par vertical utilizando (3.5).
3 Utilizar as coordenadas Zipara determinar as coordenadas Xisegundo (3.6). 4 Calcular a orientação do alvo utilizando a posição calculada em dois pontos P1e
P2, com y16= y2, segundo (3.7).
5 Determinar o centro do alvo Pcpela média dos cantos calculados.
Saída: Pc= [Xc, Zc], θ
Esse algoritmo de estimativa foi implementado em um ambiente de testes para de- terminar a configuração de um alvo real, bem como foi introduzido em um ambiente de simulação para determinar a configuração de um alvo virtual, no intuito de testar os algo- ritmos de controle empregados no robô.