RASTREAMENTO DE AGROBOTS EM ESTUFAS AGRÍCOLAS USANDO MODELOS OCULTOS DE MARKOV: Comparação do desempenho e da correção dos algoritmos de Viterbi e Viterbi com janela de observações deslizante Mestrando: Roberson Junior Fernandes Alves Orientador: Prof. Dr. José Carlos Ferreira da Rocha SETEMBRO/2015 Universidade Estadual de Ponta Grossa - UEPG Mestrado em Computação Aplicada Computação para Tecnologias em Agricultura
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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;