O documento descreve algoritmos para rastreamento de agrobots em estufas agrícolas usando modelos ocultos de Markov. Compara o desempenho dos algoritmos de Viterbi, Viterbi com janela deslizante e Viterbi com janela deslizante e matriz de transição esparsa em termos de tempo de processamento e memória consumida. Os resultados mostram que os algoritmos com janela deslizante tiveram melhor desempenho computacional para rastreamento em tempo real mantendo a correção.
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
Apresentação da Dissertação
1. 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
2. INTRODUÇÃO
AGROBOTS
• 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.
2
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.
3
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. 4
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.
5
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.
6
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:
7
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: .
8
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.
9
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:
10
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.
11
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).
12
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.
13
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).
14
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.
15
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.
16
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,55
GD2: 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.
17
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:
18
GD1GD2
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. 19
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.
20
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.
21
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.
22
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:
23
GD1GD2
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.
24
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;
25
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):
26
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;
27
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:
28
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.
29
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.
30
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
31
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.
32
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
33
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. 34
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.
35
SÍNTESE DOS RESULTADOS
36. 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 u
ltrapassa 0,008. Assim, o erro cresce 8 milésimos quando w decresc
e em uma unidade;
Também é possível perceber que a presença do ruído influencia neg
ativamente 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. 37
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;
38
TRABALHOS FUTUROS