apresentação da dissertação
TRANSCRIPT
RASTREAMENTO DE AGROBOTS EMESTUFAS AGRÍCOLAS USANDO
MODELOS OCULTOS DE MARKOV:Comparação do desempenho e da correção dos
algoritmos de Viterbi e Viterbi com janela deobservações deslizante
Mestrando: Roberson Junior Fernandes AlvesOrientador: Prof. Dr. José Carlos Ferreira da Rocha
SETEMBRO/2015
Universidade Estadual de Ponta Grossa - UEPGMestrado em Computação Aplicada
Computação para Tecnologias em Agricultura
2
INTRODUÇÃOAGROBOTS•Na agricultura, são dispositivos capazes de realizar tarefas
que são, normalmente, cansativas ou arriscadas para os seres humanos;•Devem ter a capacidade de comunicar-se com sensores
remotos de forma a se transformarem em “agricultores autônomos”;• Sua autonomia esta associada a capacidade de perceberem,
modelarem, planejarem e atuarem sem a intervenção humana.
3
Estufas Agrícolas• Técnica muito utilizada na agricultura para cultivo de plantas;• Diversas tarefas podem ser automatizadas;• Agrobots para realizar tarefas repetitivas e que exijam seu
deslocamento na estufa agrícola.
Necessidade: implementação de procedimentos de navegação e localização autônoma(autolocalização);
Autolocalização:• Capacidade do robô se localizar no ambiente dadas as leituras
sensoriais disponíveis, sem considerar sua orientação;• Informações do ambiente e de sensores disponíveis;• Rastreamento como forma de determinação.
INTRODUÇÃO
4
Geral: Avaliar o desempenho computacional e a correção dos algoritmos de Viterbi, Viterbi-JD e Viterbi-JD-MTE no rastreamento de agrobots em estufas agrícolas.
Objetivos específicos:a) Especificar um procedimento para rastreamento e autolocalização de
robôs em estufas agrícolas por meio do processamento de dados de RSSI provenientes de pontos de acesso de redes sem fio com modelos ocultos de Markov;
b) Aplicar o teste t de Student para determinar se existe uma diferença significativa, do ponto de vista estatístico, no desempenho dos algoritmos de Viterbi, Viterbi-JD e Viterbi-JD-MTE em termos de tempo de processamento e memória consumida; e
c) Comparar os resultados referentes as taxas de erro das hipóteses de rastreamento calculadas pelas implementações do algoritmo de Viterbi e Viterbi-JD.
OBJETIVOS
5
Estufas agrícolas:• Ambiente apropriado para abrigar culturas especiais, como
hortaliças, flores e certas frutas, entre outras;• Grande quantidade de trabalho manual, repetitivo e as condições
climáticas podem ser prejudiciais a saúde humana;
Agrobots:• Pode ser utilizado em atividades como colheita de frutos, inspeção de
plantas, irrigação, transporte, enxerto, entre outras;• Vantagens:• Um robô pode trabalhar durante 24 horas sem parar;• Em tarefas repetitivas é possível adicionar melhorias tecnológicas
de forma a qualificar o processo; e• Incremento da eficiência e produtividade.
RASTREAMENTO DE AGROBOTS: ESTUFAS AGRÍCOLAS
6
Grades de ocupação:• Representam o ambiente por meio de seu particionamento em regiões
quadrangulares, chamadas de células;• Aplicam-se em problemas de autolocalização por:• Permitirem explorar modelos baseados em multisensores para determinar células
que estão ou não ocupadas;• Poderem ser combinadas à abordagens probabilísticas.
• O rastreamento do agrobot pode ser inferido a partir do histórico de células visitadas.
Exemplo de uma grade denotada por G:• De 3 X 3 células;• Cada célula possui uma área definida;• Células com X em vermelho estão ocupadas.
RASTREAMENTO DE AGROBOTS: GRADES DE OCUPAÇÃO
7
O modelo de sensores utilizado pode utilizar informações provenientes de pontos de acesso(PAs) em redes WiFi;• A informação mais explorada é o RSSI(Received Signal Strength
Indicator);A partir do RSSI pode ser gerada uma Assinatura de RSSI ou
Fingerprinting;Abordagem de assinatura de RSSI tem duas etapas: on-line e off-line;Utilizando a representação em grade cada célula tem sua assinatura:
RASTREAMENTO DE AGROBOTS: ASSINATURA DE RSSI OU FINGERPRINTING
Célula S1 Célula S2
8
Modelos ocultos de Markov(MOMs):• São uma ferramenta de modelagem probabilística;•Modelo é representado por: ;•Outras variáveis: S, N e M;• Problema da decodificação(algoritmo de Viterbi);•O algoritmo de Viterbi, para um dado MOM e um conjunto
de observações , encontra a máxima ;• Complexidade de tempo: ;• Complexidade de espaço: .
RASTREAMENTO DE AGROBOTS:MODELOS OCULTOS DE MARKOV E
ALGORITMO DE VITERBI
9
• Um MOM associado a grade G: exemplo de MOM para a grade ao lado• Seis estados(células) denotados por ; • Cada si equivale a uma localização do robô;• Mat. de probabilidades inicial(π) => • Mat. de transição(A) => matriz de banda 3
• Mat. de emissão(B) => dist. gaussiana ;• M => 2 e N => 6
• Para esse MOM, o rastreamento com o algoritmo de Viterbi, pode ser visto como o problema de determinar a sequência de células ocupadas pelo robô ao longo do tempo.
RASTREAMENTO DE AGROBOTS:EXEMPLO DE RASTREAMENTO COM MOM
10
Uma vez que o processo de rastreamento é ligado são coletadas observações e armazenadas na variável ;
A coleta de cada observação e o processamento da sequência completa é apresentado no algoritmo a seguir:
RASTREAMENTO DE AGROBOTS:ALGORITMO DE RASTREAMENTO VITERBI
11
Dadas as complexidades de tempo e espaço do algoritmo de Viterbi, ele pode se tornar inviável para o rastreamento em tempo real de agrobots;
Uma alternativa para contornar as limitações de tempo e espaço do algoritmo de Viberbi é o algoritmo de Viterbi com Janela Deslizante ou Viterbi-JD;
No Viterbi-JD é utilizada uma subsequência(janela) de observações de tamanho ;
Quando o rastreamento está ligado, o algoritmo de Viterbi-JD, executa o Viterbi sobre esta subsequência de observações.
RASTREAMENTO DE AGROBOTS: ALGORITMO DE VITERBI-JD
12
É uma extensão do algoritmo Viterbi-JD que considera o uso de matriz de transição esparsa, onde valores iguais a 0 são suprimidos;
Uso da modelagem matricial Compressed Row Storage(CRS).
RASTREAMENTO DE AGROBOTS: ALGORITMO DE VITERBI-JD-MTE
13
Para realizar os experimentos de desempenho:1) Definição de 02 grades(ref. estufa agrícola de 315 m2):
• GD1 com 315 células de 1m2;• GD2 com 875 células de 0,36m2;
2) Definição de velocidades(v) de deslocamento: 30 cm/s, 60 cm/s e 90 cm/s;
3) Para as velocidades de 30 cm/s e 60 cm/s uma banda de tamanho 3. Para 90 cm/s banda 5.
4) Janelas(w) para as versões JD: 90, 120, 150 e 180.
METODOLODIA: EXPERIMENTOS DE DESEMPENHO
Fonte: Gaspareto(2013).
14
Em cada grade foram executados os seguintes passos:•Para cada velocidade v e janela w•Gerado um MOM;•Parâmetros do MOM inicializados aleatoriamente;•Geradas 30 sequências de RSSI com 600 observações
cada;•Os algoritmos Viterbi, Viterbi-JD e Viterbi-JD-MTE
executados sobre cada sequência;•A cada execução foram armazenados o tempo de
processamento(em segundos) e a memória consumida(em MegaBytes).
METODOLODIA: EXPERIMENTOS DE DESEMPENHO
15
Foram definidos os seguintes testes estatísticos para avaliar o desempenho em termos de memória dos algoritmos:
1. A memória consumida pelo Viterbi-JD é igual a consumida pelo Viterbi;
2. A memória consumida pelo Viterbi-JD-MTE é igual a consumida pelo Viterbi.
RESULTADOS: TESTES ESTATÍSTICOS SOBRE A MEMÓRIA
16
Para o algoritmo de Viterbi a estatística descritiva apresentou os seguintes resultados:O aumento no número de células fez crescer os requisitos de
memória e isso é demonstrado pelas razões da média de memória consumida de GD2/GD1: 2,05, 2,05 e 1,84 para as velocidades testadas;
O consumo máximo(mínimo) GD1 em cada v: 110,84(110,83), 110.84(110,83) e 188.96(107,85);
O consumo máximo(mínimo) GD2 em cada v: 231,32(226,80), 231,32(226,80) e 295,05(111,18);
Diferença máxima, considerando a velocidade de 90 cm/s foi de: 183,87 MB.
RESULTADOS: MEMÓRIA
17
As médias de consumo de memória dos algoritmos de Viterbi-JD e Viterbi-JD-MTE foram menores que do algoritmo de Viterbi. Isso pode ser observado pelas razões das médias JD/V :
GD1: 0,07; 0,14; 0.29 e 0,55GD2: 0,03; 0,06; 0,14 e 0,30
Ainda se comparados os algoritmos de Viterbi-JD e Viterbi-JD-MTE existem situações em que há redução e situações em que há um acréscimo do consumo de memória;
Um aspecto importante no algoritmo de Viterbi-JD-MTE foi a redução de memória do MOM obtida com a matriz de transição esparsa que ficou em: 90% na grade GD1 e 97% na grade GD2.
RESULTADOS:MEMÓRIA
18
Gráficos comparativos de memória(GD1 e GD2) entre os valores de w do algoritmo de Viterbi-JD X Viterbi:
GD1
GD2
RESULTADOS: MEMÓRIA
19
Análise Estatística:O teste t de Student mostrou, que quando comparados os
algoritmos de Viterbi-JD e Viterbi, para todas as grades, v e w, a hipótese alternativa foi aceita, ou seja, ;
O mesmo ocorreu para a comparação de Viterbi-JD-MTE e Viterbi: ;
Ainda testou-se estatisticamente as diferenças entre os algoritmos de Viterbi-JD e Viterbi-JD-MTE e a hipótese nula foi aceita nos seguintes casos:GD1: w=90 e v em (30, 60);GD2: w=90 e v=90.
De forma geral o algoritmo de Viterbi-JD apresentou o menor consumo de memória.
RESULTADOS: MEMÓRIA
20
Os testes estatísticos para avaliar o desempenho em termos de tempo utilizados foram:
1. O tempo de processamento do Viterbi-JD é igual ao tempo do Viterbi;
2. O tempo de processamento do Viterbi-JD-MTE é igual ao tempo do Viterbi.
RESULTADOS: TESTES ESTATÍSTICOS SOBRE O TEMPO
21
O que se observou foi que o algoritmo de Viterbi utilizou mais de 600 segundos para processar 10 minutos de observações, no melhor caso;
Na grade GD2, o algoritmo de Viterbi, utilizou 8,11s em média para processar uma observação;
Outro aspecto importante foi a proporção de aumento no tempo de processamento da grade GD1 para a grade GD2 que chegou a aproximadamente 7,7;Esse aumento no tempo impossibilita o uso do Viterbi para
localização mais precisa, ou seja, aumentar as células e reduzir sua área.
RESULTADOS: TEMPO
22
Em média os algoritmos de Viterbi-JD e Viterbi-JD-MTE se mostraram mais rápidos que o algoritmo de Viterbi;Mesmo nos tempos mais altos(máximos) os algoritmos JD são mais
rápidos;Considerando as variações de tempo que houveram para o
algoritmo Viterbi-JD, a maior diferença de tempo na grade GD1 foi de 32s na velocidade de 60 cm/s. Na grade GD2 a diferença ficou 242,87s na mesma velocidade;
O algoritmo de Viterbi-JD-MTE apresentou melhor tempo que o algoritmo de Viterbi. Contudo se comparado com o algoritmo de Viterbi-JD apresentou um aumento de 49,74% de tempo.
RESULTADOS: TEMPO
23
Os gráficos a seguir apresentam um comparativo do tempo de processamento(GD1 e GD2) entre os valores de w do algoritmo de Viterbi-JD X Viterbi:
GD1
GD2
RESULTADOS: TEMPO
24
Análise Estatística:O teste t de Student, quando comparados os algoritmos de
Viterbi-JD e Viterbi, aceitou-se a hipótese alternativa para todas as velocidades, janelas e grades, ou seja, ;
O mesmo ocorreu para a comparação dos algoritmos de Viterbi-JD-MTE e Viterbi: ;
O uso de matrizes esparsas provocou um pequeno acréscimo de tempo no rastreamento utilizando o algoritmo de Viterbi-JD-MTE. No entanto, do ponto de vista estatístico esse acréscimo não causou perda no desempenho. A hipótese nula foi aceita em todas as grades, v e w;
O ganho de tempo no processamento com as versões JD do algoritmo é significativo para o rastreamento de robôs.
RESULTADOS: TEMPO
25
Adotado modelo One-Slope Model(OSM) de Narzullaev e Park(2013):
O modelo sugere:• Seleção de M pontos de referência (PRs) distribuídos no ambiente;• Realização de R leituras de RSSI para cada PR;• Definição de N pontos de predição (PPs) em cada célula com
informações como: coordenadas (x,y) no plano cartesiano e o valor médio de RSSI do PR mais próximo;• Definição do valor de perda de sinal representado por γ; e• Aplicação da equação para cada PP;
METODOLODIA: EXPERIMENTOS DE CORREÇÃO
26
Foram configurados:a) R = 500 leituras de RSSI em cada PR; b) N = 500 pontos de predição (PPs); c) γ = 3 e γ = 5(SABRI et al., 2013).
Somou-se ainda à equação o ruído aditivo que é amostrado da distribuição gaussiana N(0,σ);
O valor adotado para U foi de 1,09 e a equação ajustada(XU et al., 2010):
METODOLODIA: EXPERIMENTOS DE CORREÇÃO
27
Laboratório com uma área total de 52,05m2 onde foram configuradas duas grades:• G1 com 28 células de 1m2;• G2 com 64 células de 0,36m2;
METODOLODIA: EXPERIMENTOS DE CORREÇÃO
28
Em cada grade foram executados os seguintes passos:• Para cada velocidade v e janela w• Gerado um MOM;• Os parâmetros das distribuição de emissão foram treinados a
partir dos dados de RSSI gerados;• Foram simuladas 30 sequências de caminhamento de um robô,
por um período de 10 min. (600 observações), em cada sequência;• Os algoritmos Viterbi e Viterbi-JD executados sobre cada
sequência;• A cada execução foram armazenados os valores de erro (E)
calculados de acordo com:
METODOLODIA: EXPERIMENTOS DE CORREÇÃO
29
Para avaliar a correção dos algoritmos foram definidos os testes estatísticos a seguir(taxas de erro em %):
1. A taxa de erro, sem ruído, do Viterbi-JD é igual a taxa do Viterbi;2. A taxa de erro, com ruído, do Viterbi-JD é igual a taxa do Viterbi;3. A taxa de erro para o Viterbi, sem ruído, é igual a sua taxa com
ruído;4. A taxa de erro para Viterbi-JD, sem ruído, é igual a sua taxa com
ruído.
RESULTADOS: TESTES ESTATÍSTICOS SOBRE A CORREÇÃO
30
Quanto a correção, a menor taxa de erro apresentada para o algoritmo de Viterbi foi de 0,85% na grade G1 para γ = 3 e v = 60 cm/s. A maior taxa de erro foi de 5,83% na grade G2 para γ = 3 e v = 90 cm/s;
Já para o algoritmo de Viterbi-JD a menor taxa de erro foi de 1,46% na grade G1 para γ = 3, v = 60 cm/s e w = 180. A maior taxa de erro atingiu 6,23% na grade G2 para γ = 3, v = 90 cm/s e w = 90.
RESULTADOS: CORREÇÃO SEM RUÍDO
31
Gráficos comparativos, das taxas de erro, do Viterbi-JD na grade G1 e G2 sem ruído: w x Er
G1(γ = 3)
G1(γ = 5)
G2(γ = 3)
G2(γ = 5)
RESULTADOS: CORREÇÃO SEM RUÍDO
32
A menor taxa de erro apresentada pelo algoritmo de Viterbi foi de 3,12% na grade G1 para γ = 5 e v = 60 cm/s. O maior erro foi de 21,02% na grade G2 para γ = 3 e v = 90 cm/s;
Para o algoritmo de Viterbi-JD a menor taxa de erro foi de 5,34% na grade G1 para γ = 3, v = 60 cm/s e w = 180. A maior taxa de erro atingiu 23,08% na grade G2 para γ = 3, v = 90 cm/s e w = 90.
RESULTADOS: CORREÇÃO COM RUÍDO
33
Gráficos comparativos, das taxas de erro, do Viterbi-JD na grade G1 e G2 com ruído: w x Er
G1(γ = 3)
G1(γ = 5)
G2(γ = 3)
G2(γ = 5)
RESULTADOS: CORREÇÃO COM RUÍDO
34
Análise Estatística:No teste t de Student, com ou sem presença de ruído, foi aceita a
hipótese alternativa, ou seja, ; O que se percebe é que a taxa de erro no rastreamento com o
algoritmo de Viterbi-JD foi efetivamente superior;As diferenças em termos de valores absolutos menor(maior) foram
de:Sem ruído: menor de 0,25 na grade G2 para w = 180, v = 90 cm/s e γ = 5. A maior foi de 1,44 na grade G1 para w = 90, v = 60 cm/s e γ = 5;
Com ruído: menor de 0,90 na grade G2 para w = 180, v = 90 cm/s e γ = 5. A maior foi de 3,94 na grade G2 para w = 90, v = 60 e γ = 3.
O fato dessas diferenças serem pequenas em termos absolutos mostra que o incremento na taxa de erro foi muito menor do que o ganho observado no tempo e na memória.
RESULTADOS: CORREÇÃO
35
Os algoritmos de Viterbi-JD e Viterbi-JD-MTE promoveram uma redução significativa em termos de tempo e memória;
A economia de memória dos algoritmos baseados em janela ficou na faixa de 40% e 90% para uma redução de 70% a 85% no tamanho da janela. A economia de tempo ficou na faixa de 70% a 90% para a mesma redução no tamanho da janela;
No entanto, na grade GD2, o tempo mínimo para processar uma observação é superior a 2 segundos para os algoritmos de Viterbi-JD e Viterbi-JD-MTE, dificultando seu uso em uma situação de rastreamento real;
Um fator que influencia o tempo e a memória é o tamanho da janela: w. Isso é apoiado pela forte correlação linear entre o w e as demais variáveis: mínimo de 0,945;
Realizando um regressão linear nos dados de tempo da grade GD2 para a v = 30 cm/s determina a expressão: t = 11,6w + 264. A partir disso é possível mostrar que para produzir respostas a cada 0,90s basta usar w = 30.
SÍNTESE DOS RESULTADOS
36
A correlação linear também é forte entre os valores de w e a taxa de erro: mínimo de -0,940;
Uma análise de regressão em ambas as grades e para todo v e w, o maior valor absoluto da inclinação da função linear E = aw + b não ultrapassa 0,008. Assim, o erro cresce 8 milésimos quando w decresce em uma unidade;
Também é possível perceber que a presença do ruído influencia negativamente a correção das hipóteses de rastreamento;
• Isto fica evidente quando se nota que o teste t de Student aceitou a hipótese alternativa, de que o erro era maior na presença de ruído.
SÍNTESE DOS RESULTADOS
37
O algoritmo Viterbi-JD teve um desempenho computacional significativamente superior ao do algoritmo de Viterbi no processamento do rastreamento;
A correlação entre o desempenho computacional e o tamanho da janela permite a criação de um mecanismo para ajustar o esforço computacional dedicado à tarefa de rastreamento de agrobots;
Ambos os algoritmos baseados em janelas deslizantes apresentaram um erro um pouco maior do que aquele produzido pelo algoritmo de Viterbi;
Contudo, em todos os casos, o emprego dos algoritmos Viterbi-JD e Viterbi-JD-MTE não levou a um incremento substancial do erro na determinação do rastro;
A metodologia experimental utilizada pode ser reproduzida em outros trabalhos.
CONCLUSÕES
38
Verificar a possibilidade de integrar informações coletadas em diversos tipos de sensores no procedimento proposto com o objetivo de melhorar a precisão do rastreamento;
Abordar alguns aspectos práticos do rastreamento de agrobots em ambientes reais, nos quais há presença de ruído nos dados de RSSI e a variabilidade do sinal em decorrência do crescimento das plantas;
Estudar o desempenho e a correção de implementações paralelas do Viterbi-JD combinadas com o aumento do número de pontos de acesso;
TRABALHOS FUTUROS
39
OBRIGADO!