• Nenhum resultado encontrado

Algoritmos para extração de dados cinemáticos e morfológicos de múltiplos objetos em experimentos com animais de laboratório

N/A
N/A
Protected

Academic year: 2021

Share "Algoritmos para extração de dados cinemáticos e morfológicos de múltiplos objetos em experimentos com animais de laboratório"

Copied!
103
0
0

Texto

(1)

Alex Colussi

ALGORITMOS PARA EXTRAÇÃO DE DADOS CINEMÁTICOS E MORFOLÓGICOS DE MÚLTIPLOS

OBJETOS EM EXPERIMENTOS COM ANIMAIS DE LABORATÓRIO

Dissertação submetida ao Programa de Pós-Graduação em Engenharia Elétrica da Universidade Federal de Santa Catarina para a obtenção do Grau de Mestre em Engenharia Elétrica Orientador: Prof. Dr. José Marino Neto

Florianópolis – Santa Catarina 2018

(2)
(3)

Alex Colussi

ALGORITMOS PARA EXTRAÇÃO DE DADOS

CINEMÁTICOS E MORFOLÓGICOSDE MÚLTIPLOS

OBJETOS EM EXPERIMENTOS COM ANIMAIS DE LABORATÓRIO

Esta Dissertação foi julgada adequada para obtenção do Título de Mestre em Engenharia Elétrica, e aprovada em sua forma final pelo Programa de Pós-Graduação em Engenharia Elétrica da Universidade Federal de Santa Catarina (UFSC).

Florianópolis, 10 de dezembro de 2018.

__________________________________________ Prof. Bartolomeu Ferreira Uchoa-Filho, Dr.

Coordenador do Programa

____________________________________________ Prof. José Marino Neto, Dr.

Orientador

Universidade Federal de Santa Catarina

Banca Examinadora:

___________________________________________ Prof. Daniela Ota Hisayasu Suzuki, Dra.

Examinadora

Universidade Federal de Santa Catarina

___________________________________________ Prof. Daniela Cristina de Toni, Dra.

Examinadora

Universidade Federal de Santa Catarina

___________________________________________ Prof. Fernando Falkenburger Melleu, Dr.

Examinador Faculdade Cesusc

(4)
(5)

AGRADECIMENTOS

Agradeço aos meus pais, Amarilda Bordin Colussi e Caetano Colussi, pelo apoio incondicional durante esse tempo em Florianópolis, e por toda a dedicação, amor e carinho durante a minha vida.

Ao IEB-UFSC, ao CNPq pelo fomento de meu mestrado. Em especial para o professor José Marino Neto, pelo conhecimento passado, pela paciência, pelo tempo investido na orientação dessa dissertação e também para o colega João Marcolan, pelos ensinamentos e pelo companheirismo. Com absoluta certeza, essas foram as duas pessoas que mais me ajudaram durante esses anos de mestrado e me fizeram pensar como um cientista e pesquisador. Muito obrigado.

Aos colegas que fiz durante o mestrado, como Guilherme Pintareli, Sandra Cossul, Afrânio, Mateus Favreto e Felipe Andreis. A colega de laboratório Fabíola, pela disposição em me ajudar a gravar os vídeos para os testes. A minha prima Fabiana Bordin, pela ajuda e suporte.

(6)
(7)

RESUMO

O comportamento animal é um sinal biológico explorado pelas áreas da neurociência, psicologia e farmacologia. O estudo de comportamentos sociais em animais é de grande interesse devido a sua ligação com a fonte de diversos distúrbios, como por exemplo, o abuso de drogas, agressão, vícios, insônia, distúrbios de memória e depressão. Nas últimas décadas, a utilização de recursos computacionais baseados em processamento de imagem busca alcançar objetividade no registro de eventos comportamentais para estudos de etologia. Neste trabalho, desenvolvemos uma nova versão do ETHOWATCHER® (um software desenvolvido em nosso laboratório) que acrescenta ao software desenvolvido anteriormente a possibilidade de extração de variáveis cinemáticas e morfológicas de múltiplos objetos, com foco na resolução de oclusão através da extração de fingerprints de dados da imagem referente ao contorno dos animais. O software foi desenvolvido em C++, na plataforma QT reator 4.1.0, com auxílio de bibliotecas de visão computacional e processamento de imagens da OpenCV 3.1. Testes de validação foram realizados com vídeos de objetos imóveis numa arena. Identificamos diferenças significantes na extração da área, e que esta característica está diretamente ligada a posição do objeto na cena. Além de eliminar ruídos na imagem o processamento de dilatação, inserido ao

software, mostrou-se efetivo na detecção de toques entre os objetos. Na

resolução de oclusão o algoritmo desenvolvido apresentou variação na comparação entre os frames de extração dos fingerprints com os frames pós-oclusão. Apesar disso, em experimentos contendo dois objetos móveis (duas moscas-da-fruta, Drosophila melanogaster), o algoritmo foi capaz de resolver a oclusão em 94% dos casos. Os resultados da validação indicam a existência de variações na extração dos histogramas que descrevem os animais e que não dependem, exclusivamente, dos algoritmos desenvolvidos. Com base nestes resultados, um conjunto de alternativas para aprimoramento de algoritmos devotados à resolução de oclusões de objetos são sugeridas.

Palavras-chave: Comportamento Animal, Processamento Digital de Imagens, Oclusão de Objetos, Rastreamento por Vídeo de Múltiplos Objetos.

(8)
(9)

ABSTRACT

The animal behavior is a biological signal explored by several areas of neuroscience, psychology and pharmacology. The study of social behaviors in animals is of great interest due to its relation with several disorders, such as drug abuse, aggression, addiction, insomnia, memory disorders and depression. In the last decades, the use of computational resources based on image processing has sought to achieve objectivity in the register of behavioral events for ethology studies. In this work, we developed a new version of ETHOWATCHER® (a software developed in our laboratory) that adds to the previously developed software the possibility of extracting kinematic and morphological variables from multiple objects, focusing on the resolution of occlusion through extraction of data fingerprints from the images related to the contour of the animals. The software was developed in C ++, in the platform QT Creator 4.1.0, with support and libraries of computational vision and image processing of OpenCV 3.1. The validation tests were performed with videos of real estate objects in an arena. We identified significant differences in area extraction, and that this feature is directly linked to the position of the object in the scene. The dilation processing inserted to the

software, not only was effective in eliminating noises in the image, but

also in detecting touches between objects. In the resolution of occlusion, the developed algorithm presented variation in the comparison between the fingerprint extraction frames and the post-occlusion frames. Despite this, in the experiments containing two moving objects (two fruit flies,

Drosophila melanogaster), the algorithm was able to solve the occlusion

in 94% of the cases. The results of the validation indicate the existence of variations in the extraction of the histograms that describe the animals and that do not depend exclusively on the developed algorithms. Based on these results, a set of alternatives for improving algorithms devoted to solving object occlusions are suggested.

Keywords: Animal Behavior, Digital Image Processing, Occlusion of objects, Video Tracking of Multiple Objects.

(10)
(11)

LISTA DE FIGURAS

Figura 1 - Distribuição das visitas feitas ao site do ETHOWATCHER® de outubro de 2017 a outubro de 2018 ... 23 Figura 2- Exemplos de comportamento de ratos ... 28 Figura 3- Efeitos do observador registrando comportamento animal .. 30 Figura 4 - Fluxograma das diferentes ferramentas da atual versão do ETHOWATCHER® ... 35 Figura 5 – Exemplo De TCC realizada pelo ETHOWATCHER® ... 36 Figura 6 - Exemplo de TCCM realizada pelo ETHOWATCHER® ... 37 Figura 7 - Exemplo de processamento de imagem. a) Frame original. b)

Frame de fundo. c) e d) limiarização com L= 10 e L=25. e) e f) com

aplicação de erosão (E=0 e E=1) para dois diferentes limiares ... 39 Figura 8- Exemplo de processamento de imagem. a) frame original de um vídeo contendo 3 moscas (D. melagonogaster) em arenas separadas b)

Frame com valor aplicação da erosão (E= 2). c) Frame com a

combinando erosão e dilatação (E=2, D=1). ... 40 Figura 9 - Exemplo da extração de um histograma (B) de um frame (A) ... 41 Figura 10- Oclusão “merge-split”, onde tem-se dois objetos(A e B) em deslocamento. Em um determinado momento ocorre a oclusão, com um novo objeto detectado (C). Após a oclusão ocorre a separação dos objetos. ... 42 Figura 11 - Oclusão Straight-trough, onde A e B deslocam-se no tempo cruzando-se. ... 43 Figura 12 - Fluxograma das ferramentas do ETHOWATCHER® . Com destaque para as alterações feitas deste trabalho. ... 48 Figura 13 -Sistema de hierarquias da OpenCV, onde cada contorno fechado (objetos em branco) da imagem retorna um valor (0,1,2,3,4 e 5) através de uma função da biblioteca. ... 50 Figura 14 - Representação de dois frames (A e C) e seus processamentos (B e D), onde 2 circunferências deslocam-se no eixo das ordenadas. a circunferência vermelha é a identidade 1 e a preta identidade 0. Já no

frame C, a circunferência vermelha é a identidade 0 e a preta identidade

1. ... 51 Figura 15 - Processamento de imagem para o histograma. A) frame original; B) frame processado; máscaras com a imagem em tons de cinza para objeto 1 C), e objeto 0 C). E) Gráfico histogramas extraídos das circunferências ... 52 Figura 16 – Disposição das esferas para o teste de validação do algoritmo de posição e área. a) esferas de 10cm de diâmetro separadas a 15cm do

(12)

centroide, uma centralizada e a outra na periferia da arena. b) esferas de 5cm de diâmetro separadas a 15cm do centroide, uma centralizada e a outra na periferia da arena. c) esferas de 3,5cm de diâmetro separadas a 15cm do centroide, uma centralizada e a outra na periferia da arena. d) 4 esferas de 5cm de diâmetro, separadas a 15cm. e)8 esferas de 5cm de

diâmetro separadas a 7,5cm do centroide. ... 56

Figura 17 -Disposição das esferas para o teste de oclusão em objetos imóveis. Onde: A: 10x10, B:10x5, C: 10x3,5, D:5x5, E:5x3,5 e F: 3,5x3,5. ... 57

Figura 18 - Frames retirados dos vídeos usados para avaliação dos algoritmos desenvolvidos. O primeiro vídeo contendo 3 moscas dispostas em arenas separadas (A), o segundo com 2 moscas na mesma arena (A) e por fim 3 moscas no mesmo ambiente (B) ... 59

Figura 19 - Tela de cadastro de vídeos. Em destaque em a) no círculo os dois novos group boxes adicionados para determinar o tipo de processamento e o número de objetos. Já em b) o usuário poderá determinar o nível de dilatação. ... 61

Figura 20 - Aba de calibração e extração dos histogramas de um vídeo contendo duas moscas. No lado direito observa-se os dois animais rastreados e identificados com os algarismos 0 e 1. Na aba “set identification” o usuário insere a identificação dos animais e visualiza na tela. ... 62

Figura 21 - Visualização do rastreamento de múltiplos objetos Visualização de um rastreamento simultâneo de um vídeo feito com 3 moscas em arenas separadas. Cada cor (verde, vermelho e azul) representa um inseto. ... 63

Figura 22- Visualização do rastreamento de vídeo para múltiplos objetos. Realizando o rastreamento simultâneo para um vídeo contendo 3 moscas. ... 63

Figura 23 - Deslocamento acumulado para esferas de diferentes tamanhos ... 65

Figura 24 - Variação de área de duas esferas de 10cm de diâmetro ... 66

Figura 25 - Correlação entre 2 esferas de 10cm de diâmetro ... 66

Figura 26 - Variação de área para as diferentes esferas. ... 67

Figura 27 - Variação de área para o vídeo 9E. Onde E1 é a mais próxima do centro da imagem e E9 é a mais distante. ... 69

Figura 28 - Arena experimental no teste com 9E. As linhas verdes representam o centro da imagem, já a numeração das esferas é correspondente a proximidade com o centro. Logo, a E1 é a mais próxima e a E9 a mais distante do centro da imagem. ... 69

(13)

Figura 29 – Variação do tempo de processamento para cada frame em três vídeos contendo números diferentes de objetos (2, 4 e 9). As circunferências representam o tempo dos 9001 frames de cada vídeo, os

boxes representam os quartis com a mediana como linha central. ... 71

Figura 30 - Variação de área para o vídeo E10x3,5 ... 78 Figura 31 - Histogramas representando a quantia de objetos detectados com a variação dos parâmetros de processamento de imagem de erosão (0,1,2) e dilatação (0, 3 e 5). ... 82 Figura 32 - Histogramas dos insetos em vídeo contendo 3 moscas ( Macho A, Macho B, Fêmea) em 3 instantes diferentes (Amostra 1, Amostra 2, Amostra 3). ... 84 Figura 33 - Correlação entre um histograma retirado de um frame de calibração com um histograma em um frame após a oclusão. Esses histogramas foram retirados em um vídeo contendo três animais (Macho A, Macho B e Fêmea). As três comparações são significantemente correlacionadas (p<0,05). ... 87

(14)
(15)

LISTA DE TABELAS

Tabela 1 - Catálogo comportamental descritivo (à esquerda). Registro comportamental no decorrer do tempo (à direita) ... 28 Tabela 2 - Análise entre softwares para rastreio de múltiplos animais . 32 Tabela 3 - Valores de calibração no cadastro dos vídeos de objetos imóveis e sem oclusão. ... 55 Tabela 4 - Valores de calibração no cadastro dos vídeos de objetos imóveis e com oclusão. ... 58 Tabela 5 - Efeitos de mudança na dilatação sobre os parâmetros detectados pelo algoritmo com duas circunferências (d=10cm) em contato. Os dados de área são expressos como mediana (quartil 25%;quartil 75%). ... 73 Tabela 6 - Efeitos de mudança na dilatação sobre os parâmetros detectados pelo algoritmo com duas circunferências (d=5cm) em contato. Os dados de área são expressos como mediana (quartil 25%; quartil 75%) ... 74 Tabela 7- Efeitos de mudança na dilatação sobre os parâmetros detectados pelo algoritmo com duas circunferências (d= 3,5cm) em contato. Os dados de área são expressos como mediana (quartil 25%; quartil 75%) 76 Tabela 8 - Efeitos de mudança na dilatação sobre os parâmetros detectados pelo algoritmo com duas circunferências (d= 10cm esfera central e d=5 cm esfera da periferia) em contato. Os dados de área são expressos como mediana (quartil 25%; quartil 75%) ... 77 Tabela 9 - Efeitos de mudança na dilatação sobre os parâmetros detectados pelo algoritmo com duas circunferências (d= 10cm esfera central e d=3,5 cm esfera da periferia) em contato. Os dados de área são expressos como mediana (quartil 25%; quartil 75%) ... 80 Tabela 10 - Matriz de correlação comparando três amostras (i. e. três

frames) de histogramas em um vídeo contendo três animais (Macho A,

(16)
(17)

LISTA DE ABREVIATURAS E SIGLAS

AVI – Audio Video Interleave

INPI – Instituto Nacional de Propriedade Intelectual TCC - Transcrição Categórica comportamental

(18)
(19)

SUMÁRIO 1 INTRODUÇÃO ... 21 1.1 JUSTIFICATIVA ... 23 1.2 OBJETIVOS ... 24 1.2.1 Objetivo Geral ... 24 1.2.2 Objetivos Específicos ... 25 2 FUNDAMENTAÇÃO TEÓRICA ... 27 2.1 ETOLOGIA ... 27 2.1.1 Evolução da etografia ... 29

2.1.2 Rastreamento de múltiplos objetos ... 31

2.1.3 ETHOWATCHER® ... 33

2.2 PROCESSAMENTO DIGITAL DE IMAGENS ... 38

2.3 OCLUSÃO ... 41

2.4 FERRAMENTAS AUXILIARES ... 44

3 MATERIAIS E MÉTODOS ... 47

3.1 MÉTODO DE INTEROPERABILIDADE E GESTÃO UTILIZANDO XML ... 48

3.2 RASTREAMENTO DE MÚLTIPLOS OBJETOS ... 49

3.3 TESTE E VALIDAÇÃO DO SOFTWARE ... 53

3.3.1 Detecção de múltiplos objetos: testes de validação de posição e área do objeto ... 54

3.3.2 Detecção de múltiplos objetos: teste de oclusão em objetos imóveis ... 56

3.3.3 Detecção de múltiplos objetos em situações reais: teste de rastreamento e oclusões... 58

3.4 ANÁLISE ESTATÍSTICA DOS DADOS ... 60

4 RESULTADOS ... 61

4.1. RASTREAMENTO DE MÚLTIPLOS OBJETOS ... 61

4.1.1 Detecção de múltiplos objetos: testes de validação de posição e área do objeto ... 64

4.1.2 Detecção de múltiplos objetos: efeitos de mudança na dilatação dos objetos sobre a detecção de oclusão ... 71

4.1.3 Detecção de múltiplos objetos em situações reais: teste de rastreamento e oclusões... 80

5 DISCUSSÃO ... 89

6 CONCLUSÃO ... 97

(20)
(21)

1 INTRODUÇÃO

O comportamento animal é um sinal biológico explorado pelas áreas da neurociência, psicologia e farmacologia (GOMEZ-MARIN et

al., 2014). Áreas da neurociência, por exemplo, buscam responder

questões básicas como a relação entre genes, cérebro e comportamento. Além do mais, examinam como essas questões podem afetar a percepção de recompensa, memória e emoções no cérebro (SCHUSTERREITER; GROSSMANN, 2013)(CHAUMONT et al., 2012b). Essas ações estão diretamente ligadas com desordens psiquiátricas como vícios, depressão e distúrbios de personalidade (CHAUMONT et al., 2012b). Nos últimas décadas estudos comportamentais de animais em ambientes controlados de laboratório tem sido cada vez mais populares (ITSKOVITS et al., 2017).

A visão computacional é uma ferramenta que vem sendo usada em diversas áreas, entre elas destacam-se a segurança, robótica, biologia, medicina, esportes, além do campo militar (AKSHAY; THOMAS; PRASHANT, 2016). Algoritmos de visão computacional vem substituindo a classificação manual de eventos em laboratório para detecção, rastreamento e extração de variáveis cinemáticas e morfológicas de múltiplos objetos atualmente (BRANSON et al., 2009)(ITSKOVITS et al., 2017)(PÉREZ-ESCUDERO et al., 2014).

O crescente interesse das neurociências em analisar o comportamento de animais em situação social (SCHUSTERREITER; GROSSMANN, 2013) propõe um desafio importante para o uso da visão computacional: a resolução de oclusões entre os objetos. Em situação social, os animais tocam ou superpõe-se uns aos outros durante o experimento (PÉREZ-ESCUDERO et al., 2014) fazendo com que a identidade do animal seja perdida no decorrer do experimento. Assim, a manutenção da identidade durante a análise comportamental é primordial nesse tipo de estudo. Este fenômeno ocorre em frames do vídeo onde o objeto de interesse não é detectado, ou ocorre a falha na identificação, pelo algoritmo, como por exemplo, quando o algoritmo não consegue rastrear os animais por estarem próximos, tornando-se assim um só contorno na imagem, ou sobrepostos, ou apresentam aparência semelhante ocasionando uma falha na identificação, ou ainda ocultos por objetos presentes no ambiente (RIAHI; BILODEAU, 2016)(GABRIEL et

al., 2003). Uma tarefa importante é, portanto, o desenvolvimento de um

algoritmo capaz de identificar o animal ao longo de todo o vídeo sem perder a sua identidade.

(22)

Entre vários algoritmos para o tratamento da oclusão destacam-se o Filtro Kalman, que prediz a posição do objeto usando atributos de velocidade e aceleração dos objetos (AKSHAY; THOMAS; PRASHANT, 2016), outros que utilizam de aprendizado de máquina que geralmente são treinados com espécies especificas de animais (ITSKOVITS et al., 2017), além de abordagens que usam de técnicas de processamento de imagem para criar uma identidade única de cada animal (PÉREZ-ESCUDERO et al., 2014).

Considerada um dos problemas centrais da visão de máquina a resolução de oclusões e é essencial na detecção em experimentos de rastreamento de múltiplos animais. O nosso laboratório desenvolveu o ETHOWATCHER®, para usar em etografia, rastreamento em vídeo e na extração de variáveis cinemáticas de arquivos de vídeo digitais de animais de laboratório (MARCOLAN, 2017)(CRISPIM JUNIOR et al., 2012). No entanto, essa ferramenta, que vem sendo utilizada em diversos laboratórios em escala mundial (distribuído gratuitamente pela internet através do site www.ethowather.ufsc.br (ver Figura 1), com 1690 downloads desde 2010, 40 citações em artigos científicos publicados em periódicos científicos indexados até outubro de 2018), ainda não possui ferramentas de extração de variáveis cinemáticas e morfológicas de múltiplos objetos.

(23)

Figura 1 - Distribuição das visitas feitas ao site do ETHOWATCHER® de outubro de 2017 a outubro de 2018

1.1 JUSTIFICATIVA

A visão de máquina vem mostrando ser uma ferramenta promissora na detecção e rastreamento para análises comportamentais de animais. Porém os softwares apresentam limitações. Permitem o rastreio de apenas uma espécie de animal, já que seus algoritmos se baseiam em modelos da forma dos animais (e.g cabeça, tórax e abdômen, para moscas), ou algoritmos com aprendizado de máquina que precisam ser treinados para cada tipo de animal, impossibilitando assim o uso mais genérico do

(24)

software (CHAUMONT et al., 2012b)(SCHUSTERREITER; GROSSMANN, 2013)(SWIERCZEK et al., 2011). Outros, algoritmos apresentam licença proprietária (PÉREZ-ESCUDERO et al.,

2014)(SWIERCZEK et al., 2011)(NOLDUS; SPINK; TEGELENBOSCH, 2001), inviabilizando o uso em laboratórios com recursos limitados, ou então, são sistemas código aberto, mas são desenvolvidos em plataforma proprietária (ITSKOVITS et al., 2017). Também, existem softwares que tratam superficialmente das oclusões ou não identificam o animal durante o período do experimento (CHAUMONT et al., 2012b)(ITSKOVITS et al., 2017). Por fim, alguns programas desenvolvidos possuem soluções para o tratamento de oclusão complexas (i.e., matemática robusta, falta de compatibilidade entre as bibliotecas de processamento de imagem utilizadas) (SCHUSTERREITER; GROSSMANN, 2013)(ITSKOVITS et al., 2017).

O Laboratório de Bioengenharia do Instituto de Engenharia Biomédica juntamente com o Laboratório de Neurofisiologia Comparada, ambos da Universidade Federal de Santa Catarina, desenvolveram o ETHOWATCHER® para utilizá-lo na etografia, rastreamento em vídeo, e na extração de variáveis cinemáticas de arquivos de vídeo digitais de animais de laboratório. Recentemente, em uma nova versão, dessa vez código aberto, foi desenvolvido incorporando novas ferramentas tais como módulo de criação de catálogo comportamental, módulo de calibração com a possibilidade de rastreamento do animal segmentado em subáreas, módulo de abertura de vídeos em diversos formatos e um módulo de geração de relatórios segmentado por tempo. Estes módulos foram desenvolvidos na plataforma QT e com implementação da biblioteca OpenCV para realizar o processamento de imagem (MARCOLAN, 2017). No entanto, a versão atual não tem a capacidade de detecção e extração de dados em experimentos com múltiplos animais. A inclusão dessa ferramenta é importante para permitir estudos sobre comportamento social em animais.

1.2 OBJETIVOS 1.2.1 Objetivo Geral

Desenvolver um módulo que permita o rastreamento e extração de dados cinemáticos e morfológicos de múltiplos objetos em experimentos com animais de laboratório. Esse sistema será baseado na estrutura de funcionamento da versão do ETHOWATCHER® OS.

(25)

1.2.2 Objetivos Específicos

1- Desenvolver e implementar no software ETHOWATCHER® algoritmos para o rastreamento e extração de variáveis cinemáticas e morfológicas em múltiplos objetos.

2- Desenvolver algoritmos para solução de oclusões, que é o principal desafio no rastreamento de múltiplos objetos. 3- Desenvolver um banco de dados de vídeos para validação das

variáveis extraídas e para o algoritmo de resolução de oclusão. 4- Validar o algoritmo de rastreamento e extração de variáveis, além de analisar o desempenho dos algoritmos de resolução de oclusão.

(26)
(27)

2 FUNDAMENTAÇÃO TEÓRICA 2.1 ETOLOGIA

O termo comportamento é definido como respostas (ações ou inações) de organismos vivos (indivíduos ou grupos) a estímulos internos ou externos. Essa definição inclui qualquer tipo de atividade que provoque mudança na forma ou função do organismo, como por exemplo, padrões de movimento, vocalizações e posturas corporais (LEVITIS; LIDICKER; FREUND, 2009). Em suma, a etologia tem como finalidade o estudo do comportamento dos animais com ênfase na evolução histórica e nas funções de seus padrões (SOUTO, 2003).

O comportamento animal é um sinal biológico bastante explorado por áreas da neurociência, farmacologia e psicologia. (GOMEZ-MARIN et

al., 2014) As mudanças no comportamento podem ajudar a determinar a

influência do ambiente, drogas e doenças no animal, além de permitir o estudo de fenômenos psicológicos básicos (SCHWARZ et al., 2002).

Com o propósito de explorar quantitativamente e/ou qualitativamente as influências do uso de drogas ou a mudança de ambiente no comportamento de um animal, a análise etológica possui dois importantes passos. O primeiro é a observação do comportamento que é realizada de maneira sistemática, através de métodos específicos. A segunda, é a interpretação desses comportamentos, que possui características causais, funcionais, ontogenéticas e filogenéticas (CHAUMONT et al., 2012b; CRISPIM JUNIOR et al., 2012; SOUTO, 2003).

Um dos métodos para qualificar e quantificar o comportamento é através da etologia descritiva, também chamada de transcrição categórica comportamental (TCC). Esse procedimento consiste na seleção de uma lista de comportamentos típicos de uma dada espécie. Na Figura 2, pode ser verificado um exemplo de comportamentos observados em ratos.

(28)

Figura 2- Exemplos de comportamento de ratos

Fonte: Adaptado de (CASARRUBEA et al., 2015)

Após a seleção dos comportamentos é feito o etograma, ou catálogo comportamental, que corresponde a uma lista com a descrição de cada comportamento. Por fim, a etografia descritiva apresenta os comportamentos no decorrer do tempo. Um exemplo de um catálogo comportamental e do registro de seus comportamentos é apresentado na Tabela 1.

Tabela 1 - Catálogo comportamental descritivo (à esquerda). Registro comportamental no decorrer do tempo (à direita)

Categoria Código Descritores Tempo (min) Categoria (código) Auto-Limpeza Au O rato lambe seu pelo 0-2 Au

Coçar Ca O rato, com qualquer membro coça alguma parte de seu corpo 2-4 Lo Comer Co O rato alimenta-se 4-6 Ca

Locomoção Lo O rato exerce atividade locomotora em geral

6-8 Co

(29)

Entretanto, a etologia descritiva não se limita a uma listagem de comportamentos ao longo do tempo. Ela pode apresentar subdivisões como eventos auto exclusivos (i.e., início de um ocorre somente ao término do anterior) e sobrepostos (i.e., podem ocorrer ao mesmo tempo). Apesar da tecnologia de extração de dados ter substituído a etografia manual, ela ainda é útil em casos específicos e, portanto, ainda utilizada. 2.1.1 Evolução da etografia

Os primeiros registros de etologia eram feitos com os animais em seu ambiente natural, o observador descrevia qualitativamente os aspectos que considerava importantes para análise. O procedimento era feito com ferramentas básicas como caneta, papel e cronômetro. Nesse método de observação direta, o experimentador necessitava ter um conhecimento geral dos comportamentos dos animais e tinha como vantagem o registros de acontecimentos nos arredores do ambiente que podiam ter relevância na observação (CROZARA, 2017a). A observação humana ainda é presente na identificação de comportamentos. Essa técnica gera uma série de vieses. Um deles é a demanda de uma elevada carga horária para observação de experimentos. Além do mais, a identificação dos comportamentos por observadores humanos é subjetiva, podendo assim, ocasionar erros de registro, omissões e falta de padronização entre diferentes observadores. O registo manual é limitado, a geração de uma quantia elevada de dados simultaneamente em experimentos com múltiplos animais torna sujeita a perda de informação nesse tipo de técnica de extração de dados. A falta de informação sobre uma categoria do catálogo comportamental, ambiguidade em categorias comportamentais, erros no uso do método de registro, erros de análises, erros de perspectiva na aquisição do comportamento e erros devido a presença do observador sobre o sujeito observado (CRISPIM JUNIOR et

al., 2012). A Figura 3 ilustra um exemplo básico de alguns vieses da

(30)

Figura 3- Efeitos do observador registrando comportamento animal

Fonte: Adaptado de (LEHNER, 1979)

Nas últimas décadas ferramentas computacionais estão sendo desenvolvidas para auxiliar a quantificação do comportamento animal. A simples descrição textual, feita anteriormente através de papel e caneta, vem sendo substituída por uma descrição numérica com softwares robustos e com ferramentas de extração e análise de dados mais sofisticadas. A necessidade de um observador presente no ambiente onde o animal se encontrava tornou-se desnecessária, com a utilização de gravações de áudio e vídeo. Essa técnica permite que a análise seja feita posteriormente, simplificando a tomada de notas, armazenando permanentemente as informações, além de possibilitar uma análise precisa das informações obtidas (CROZARA, 2017a).

A utilização da tecnologia para apoiar a etologia proporciona soluções eficazes para as dificuldades apresentadas anteriormente. Uma análise computacional aumenta a quantia de registros comportamentais, precisão, consistência e objetividade além de, apresentar um escopo maior, permitindo explorar mais hipóteses e variáveis experimentais.

Com o auxílio dos softwares a transcrição categórica comportamental é feita com facilidade e agilidade. Isso é feito da seguinte maneira: grava-se o experimento com uma câmera digital ou webcam e com auxílio do software é realizado o registro comportamental. O

(31)

registro comportamental com caneta e papel, visto que ele permite a navegação no vídeo (pausa, avanço frame a frame) e registro dos comportamentos através de atalhos no teclado do computador.

Além da TCC, a etologia computacional utiliza de diversas técnicas para extração automática do comportamento em animais (e.g., processamento de imagem e aprendizado de máquina). Essas técnicas permitem o rastreamento e a extração de descritores (e.g., morfológicos e cinemáticos). Esse tipo de extração de dados é comumente chamado de transcrição comportamental cinemática e morfológica (TCCM).

Nas próximas seções será descrita a importância do rastreamento automático dessas variáveis, com ênfase no rastreamento de múltiplos objetos e exemplos de softwares que extraem dados cinemáticos e morfológicos nesse contexto.

2.1.2 Rastreamento de múltiplos objetos

Muitas pesquisas têm sido desenvolvidas a partir das possibilidades de usar métodos que permitem o registro comportamental simultâneo de múltiplos animais. Através do estudo de interações e comportamentos sociais, realizados em grupos de animais experimentais, pode-se estudar, por exemplo, os mecanismos neurais da tomada de decisões, e seus desvios em determinadas patologias (vício, depressão, impulsividade) (CHAUMONT et al., 2012b). O comportamento social de moscas (Drosophila melanogaster) tem sido alvo de estudos visando a descoberta de modelos genéticos importantes no estudo de neurobiologia comportamental ligada ao abuso de drogas, agressão, insônia, envelhecimento e perda de memória (BRANSON et al., 2009).

A extração de características em experimentos com múltiplos animais manualmente é sujeita a diversos vieses, já que eventos de fenótipo comportamentais como dormir, comer, locomoção cortejo e entre outros podem ocorrer ao mesmo tempo (ITSKOVITS et al., 2017). Além disso, variáveis morfológicas como angulação, área, largura, altura são geradas a cada instante dos vídeos gravados, esses que por sua vez podem ter horas de duração (ROBIE et al., 2017). Não apenas as variáveis morfológicas podem ser extraídas, mas também as cinemáticas como velocidade, variações angulares, de área, etc. Por esses motivos há um esforço no desenvolvimento de novas ferramentas para quantificar e medir automaticamente esses comportamentos.

A Tabela 2 apresenta softwares que realizam o rastreamento de múltiplos animais. Os softwares já desenvolvidos para extração e análise comportamental apesentam como principais limitações a extração de

(32)

informação de apenas um tipo de animal, possuem algoritmos específicos e de difícil implementação, sendo que alguns possuem código fechado o que torna impossível a retirada de informação. Alguns são capazes de rastreamento de apenas dois animais, como no caso do MiceProfiler. A saída dos dados é apresentada de uma maneira que o usuário não possa manusear com liberdade. Destaca-se também, os softwares com licença proprietária.

Tabela 2 - Análise entre softwares para rastreio de múltiplos animais

Nome Licença Código Aplicação Referência

Dickinson Lab Livre Código

aberto Moscas

(BRANSON et al., 2009)

idTracker Livre Código

aberto Roedores, peixes, insetos (PÉREZ-ESCUDERO et al., 2014)

MiceProfiler Livre Código

aberto Roedores (CHAUMONT et al., 2012b) Multi-Animal Tracker (MAT) Livre Código aberto Roedores, peixes, insetos, vermes (ITSKOVITS et al., 2017) Multi-worm tracker Livre Código aberto Vermes (SWIERCZEK et al., 2011) Two-fly

tracker Livre Moscas

(SCHUSTERRE ITER;

GROSSMANN, 2013)

JAABA Livre Código

aberto Moscas, roedores e larvas (KABRA et al., 2012) Ethovision ® Proprietária Roedores, peixes, insetos (NOLDUS; SPINK; TEGELENBOS CH, 2001)

Any-maze ® Proprietária Roedores (ANY-MAZE,

[s.d.]) Fonte: Próprio autor

(33)

2.1.3 ETHOWATCHER®

O laboratório de Bioengenharia do Instituto de Engenharia Biomédica juntamente com o Laboratório de Neurofisiologia Comparada, ambos da Universidade Federal de Santa Catarina, tem contribuído com desenvolvimento de ferramentas para extração de dados em experimentos de animais de laboratório. Em 2003, foi desenvolvido um sistema para rastreamento e análise de movimentos em animais de laboratório (BOSE, 2003). Esse sistema utilizava de vídeos digitais e técnicas de processamento de imagem que permitiam extrair características do experimento tal como posição do centro de massa, posição angular e área. Após, o software ainda executava um pós processamento, que trazia informações como a velocidade, distância e tempo de permanência em áreas específicas. Por fim, era gerado um arquivo CSV (comma-separated

values) com os dados extraídos. Seu sucessor, o Etógrafo (registrado no

INPI-Instituto Nacional de Propriedade Intelectual , sobre o protocolo 07543-3) tinha como finalidade auxiliar no registro e na análise de dados comportamentais categóricos (PEDERIVA, 2005). Este software permitia registrar o comportamento de animais através de um catálogo, isso podia ser feito diretamente do ambiente ou com arquivos de vídeos digitais. Utilizando vídeos, era possível o controle pelo usuário, o número de quadros de avanço e retrocesso, além de realizar o registro de comportamentos aninhados e/ou superpostos. Os dados de saída também eram gerados através de uma planilha do tipo CSV.

Apesar de possuírem finalidades distintas, essas duas ferramentas foram fundidas e aprimoradas com o desenvolvimento do EHOWATCHER (CRISPIM JUNIOR et al., 2012). O ETHOWATCHER® foi registrado no Instituto Nacional Propriedade Intelectual (INPI) sobre o protocolo 09285-3, na revista eletrônica Nº 1982, com regime de guarda de sigilo até 13/11/2018. O software está sendo distribuído de forma gratuita na Internet no endereço: www.ethowatcher.ufsc.br

A primeira versão do software possuía dois módulos. Um para análise de atividade e outro para registro de comportamentos. No primeiro módulo, segmentado em duas partes, sendo que a primeira consistia na calibração do algoritmo de processamento de imagem, onde o usuário informava a imagem da cena experimental vazia e um valor de limiar para minimizar a presença de ruídos na imagem. Com os dados de calibração o algoritmo extraía as variáveis cinemáticas e morfológicas do objeto de interesse. Por fim, gerava o relatório final com cada descritor medido em

(34)

cada quadro do vídeo experimental. Este módulo permitia apenas a análise de vídeos com resolução de 320x240 pixels e formato AVI (Audio

Video Interleave).

O outro módulo do ETHOWATCHER® auxiliava no registro de comportamentos por um observador. Primeiramente, o experimentador criava o catálogo de comportamento e consequentemente podia registrar os comportamentos através de arquivos de vídeo ou em tempo real. Por fim era gerado um relatório com a sequência temporal, além da frequência, duração total e latência de cada categoria do catálogo. Entretanto o software possuía limitações importantes. Era possível o carregamento de apenas um formato de vídeo e resolução e rastreamento de apenas um animal. Além disso, este software está construído em uma plataforma proprietária, que dificulta melhorias, aperfeiçoamentos e atualizações. Essa limitação é uma questão abordada no desenvolvimento de softwares, já que produtos deste tipo podem transformar-se em obra órfã.

A obra órfã ou Abandonware, são termos que se referem à situação de obras tecnológicas (softwares, hardwares, websites, por exemplo) cujo o desenvolvimento, distribuição e comercialização são descontinuados, mas seguem protegidas por direitos autorais e ainda estão dentro do prazo de proteção legal (GOLDENFEIN; HUNTER, 2017). Estas obras podem ser abandonadas por motivos comerciais, estratégicos, também podendo ser um abandono temporário ou permanente(BOARD et al., 2005). As consequências trazidas tanto para desenvolvedores, pesquisadores e trabalhadores que usam desses produtos, podem ser devastadoras, já que deixam de ter suporte técnico e/ou excluem com a possibilidade de ajustes e implementações de novas tecnologias. Uma solução para este problema é o desenvolvimento usando plataformas de código aberto.

Foi então que uma nova versão do ETHOWATCHER® OS foi desenvolvida (CROZARA, 2017a), esta versão mantinha os dois módulos porém, foi desenvolvido em código aberto e com compatibilidade de mais formatos e resoluções de arquivos de vídeo. Outras ferramentas foram adicionadas ao programa, opções de segmentação da análise em intervalo de tempo e/ou múltiplas áreas foram acrescentadas. Na última versão desenvolvida (MARCOLAN, 2017), acrescentou-se algoritmos de câmera virtual móvel o qual diminui-se o tempo de processamento dos vídeos. Além disso, foi adicionado um módulo de gerenciamento de vídeo. Ao embaralhar uma lista de vídeos é possível realizar transcrição categórica comportamental cegada. Já nos dados de saída, foram desenvolvidas ferramentas capazes de permitir a análise de concordância,

(35)

análise sequencial, segmentação de relatório da análise cinemática e morfológica por área e tempo.

O fluxograma da Figura 4 representa, de forma geral, os módulos presentes na versão do ETHOWATCHER® desenvolvida até então. Figura 4 - Fluxograma das diferentes ferramentas da atual versão do ETHOWATCHER®

Fonte: Próprio autor

As ferramentas de registro têm a finalidade de cadastro de usuário, do vídeo e de um catálogo comportamental. No registro de usuário os dados servem puramente para identificação.

Já no Registro de Vídeo o pesquisador irá determinar quais são as ferramentas e dados relevantes para o processamento de imagem. Sequencialmente o usuário irá: carregar o vídeo, escolher quais ferramentas e módulos serão aplicados a esse vídeo (transcrição categórica comportamental cegada e/ou rastreamento). Após, deverá determinar os dados para a calibração do processamento de imagem, isto inclui uma imagem com a cena sem o animal (imagem de fundo), um valor para aplicação da limiarização e para a erosão (estas técnicas de processamento de imagem serão explicadas com mais detalhes posteriormente), e o frame de começo e término da análise. Ainda na sessão da calibração, o usuário salva a escala além de poder optar pelo

(36)

uso de ferramentas de redução de ruído e análise em áreas de interesse na arena experimental. Por fim, o usuário insere alguns dados de identificação do experimento e salva o registro de vídeo. No Registro de Catálogo Comportamental, o experimentador irá criar uma lista de categorias de comportamentos para realizar a transcrição categórica comportamental.

Após os registros o usuário poderá usar das Ferramentas de Etografia e Rastreamento (Figura 5). Na primeira, deve carregar o catálogo comportamental e o vídeo anteriormente registrados, após isso uma nova tela é apresentada onde irá aparecer o vídeo e a lista de comportamentos então, o experimentador irá registrar os comportamentos que considerar relevantes.

Figura 5 – Exemplo De TCC realizada pelo ETHOWATCHER®

Adaptado de (CROZARA, 2017a)

Deve ser destacado que todos os arquivos gerados no registro, são arquivos de formato XML (Extensible Markup Language). Esse tipo de arquivo permite uma alta interoperabilidade entre as classes e módulos do EHOWATCHER e com outros softwares (e.g. Excel, Matlab, Statistica, etc). Se o usuário desejar fazer o rastreamento também deverá

(37)

carregar o vídeo anteriormente registrado. Após o carregamento, o algoritmo irá extrair todas as variáveis (cinemáticas e morfológicas) através do processamento de imagem. Com isso, o usuário irá abrir a visualização de alguns dados extraídos (centro de massa, largura e comprimento do objeto, por exemplo) no decorrer do vídeo.

A Figura 6 ilustra o rastreamento do objeto (rato) feito pelo

software. Por fim o usuário pode salvar os dados do experimento. Estes

são gerados em arquivos XML e CSV.

Figura 6 - Exemplo de TCCM realizada pelo ETHOWATCHER®

Adaptado de (CROZARA, 2017a)

As ferramentas restantes são as de análise dos dados. Estas permitem uma análise de concordância, análise sequencial do relatório de transcrição comportamental cinemática e morfológica por área, e a segmentação por tempo das duas análises, transcrição comportamental categórica e transcrição comportamental cinemática e morfológica.

(38)

2.2 PROCESSAMENTO DIGITAL DE IMAGENS

Uma imagem pode ser definida por um conjunto de pontos de coordenadas planas (x e y) e de um valor (f). Para satisfazer a condição de imagem digital, as variáveis x, y e f devem ser quantias discretas. Sendo assim, cada imagem possui um número finito de pontos denominados pixels (BRADSKI; KAEHLER, 2008).

Um arquivo de vídeo digital é uma sequência de várias imagens exibidas em um determinado intervalo de tempo, cerca de 24 imagens exibidas em um segundo já realizam a ilusão de movimento contínuo, característica dos vídeos digitais. Estas imagens são denominadas de

frames e sua taxa pode variar conforme a qualidade da aquisição

(BRADSKI; KAEHLER, 2008).

Para extrair informações relacionadas a etologia, algumas técnicas tradicionais de processamento de imagem são utilizadas, entre elas a subtração de plano de fundo, limiarização e erosão. Uma das técnicas fundamentais e simples para detectar um objeto em vídeos com uma imagem estática, é o da subtração de plano de fundo. A detecção do objeto é feita através da diferença entre o frame atual e um frame de referência, usualmente chamado de imagem de plano de fundo. O plano de fundo é uma cena onde os objetos de interesse não estão inclusos (e.g, uma arena sem qualquer animal). No decorrer do vídeo, o processamento faz a subtração entre o frame atual e o de referência, de modo que somente o objeto de interesse seja detectado (PICCARDI, 2004). Por ser uma técnica simples a subtração de plano de fundo apresenta algumas limitações, sendo assim necessária, a utilização de técnicas de processamento avançadas como a limiarização e a erosão.

A limiarização é uma técnica que, geralmente, precede a subtração de plano de fundo. Após a extração do plano de fundo, operações matemáticas definem um valor para cada pixel da imagem digital transformando-a em uma escala de cinzas. O procedimento de limiarização separa os pixels em dois grupos, os com valores maiores do que o valor do limiar e menores do que o valor de limiar. Esse valor é definido por dois fatores, uma parte definida pelo usuário e a outra calculada por um algoritmo (HOCHBAUM; LYU; BERTELLI, 2013).

Mesmo com a técnica de extração do plano de fundo e limiarização ainda podem permanecer na imagem alguns contornos ruidosos que não sejam o objeto de interesse. Para eliminar esses ruídos é possível aplicar a técnica da erosão que irá reduzir a área de todos objetos ainda presentes na imagem (BRADSKI; KAEHLER, 2008). Como a limiarização, o

(39)

valor da erosão é determinado pelo usuário. A Figura 7 apresenta as técnicas de limiarização e erosão combinadas.

Figura 7 - Exemplo de processamento de imagem. a) Frame original. b) Frame de fundo. c) e d) limiarização com L= 10 e L=25. e) e f) com aplicação de erosão (E=0 e E=1) para dois diferentes limiares

Adaptado de (CROZARA, 2017a)

Outra técnica do processamento de imagem que não é adotada pelo processamento de imagem do ETHOWATCHER® é a dilatação. Após a detecção com base na extração de plano de fundo, a dilatação permite expandir o objeto rastreado ou parte dele. Combinada com a erosão, a dilatação permite destacar mais o animal na imagem, evitando falhas na detecção e de toques entre múltiplos objetos, por exemplo. Combinada com a técnica de erosão, a dilatação é uma ferramenta importante usada para eliminação de ruído em processamento de imagem (ROUSHDY,

(40)

2014). A Figura 8 ilustra as técnicas de erosão e dilatação combinadas. No frame com apenas a erosão aplicada (Figura 8- B) detecta-se apenas dois insetos do frame original (Figura 8- A). Combinando as duas técnicas de processamento de imagem (erosão e dilatação; Figura 8- C) os três insetos são detectados pelo algoritmo.

Figura 8- Exemplo de processamento de imagem. a) frame original de um vídeo contendo 3 moscas (D. melagonogaster) em arenas separadas b) Frame com valor aplicação da erosão (E= 2). c) Frame com a combinando erosão e dilatação (E=2, D=1).

Fonte: Próprio autor

Além do mais, as imagens podem apresentar várias características importantes, tais como intensidade de cor, tamanho, resolução, histogramas, etc. Os histogramas são gráficos que apresentam a frequência de pixels de uma imagem em relação a uma escala de cores. Geralmente são extraídos de imagens em escalas de cinza (variando entre 0 a 255, no eixo das abcissas) e o número de pixels no eixo das ordenadas (Figura 9). Analisando um histograma você pode obter uma ideia geral sobre contraste, brilho, distribuição de intensidade, etc (OPENCV, [s.d.]).

(41)

Figura 9 - Exemplo da extração de um histograma (B) de um frame (A)

Fonte: Próprio autor 2.3 OCLUSÃO

A extração de dados em experimentos em etologia através de rastreamento em vídeo é o principal método usado por pesquisadores para extração de variáveis cinemáticas e morfológicas em experimentos com múltiplos animais. Manter a identidade do animal durante todo o vídeo é a principal dificuldade encontrada, já que ao longo do vídeo podem ocorrer oclusões. A fonte dessa dificuldade ocorre quando dois ou mais objetos estão muito próximos um do outro, tocando-se ou sobrepondo-se um ao outro (CHAUMONT et al., 2012a)(CHAUMONT et al., 2012a; PÉREZ-ESCUDERO et al., 2014), nessas ocasiões o software consegue identificar apenas um contorno e a identidade do animal é perdida.

Identificar os objetos durante o experimento é fundamental, uma identificação errônea ao longo do vídeo pode causar uma análise equivocada, por isso torna-se necessário algoritmos capazes de resolver essas oclusões. Antes disso, é preciso identificar quais são os tipos existente de oclusões, a literatura apresenta duas abordagens principais, a

merge-plit e a straight-trough (GABRIEL et al., 2003).

Na primeira delas, denominada merge-split (Figura 10), tem-se o rastreamento de dois objetos (A e B) em deslocamento. Quando ocorre a oclusão o processamento de imagem irá juntar os objetos em apenas um contorno. Até então, a identidade dos objetos (A e B) vinha sendo distinguida. Na oclusão surge um novo contorno, este apresenta características de contorno (e.g. área e posição) dos dois objetos rastreados anteriormente. O desafio nesse tipo de abordagem é na identificação dos objetos após a separação.

(42)

Figura 10- Oclusão “merge-split”, onde tem-se dois objetos(A e B) em deslocamento. Em um determinado momento ocorre a oclusão, com um novo objeto detectado (C). Após a oclusão ocorre a separação dos objetos.

Fonte: Adapatdo de (GABRIEL et al., 2003).

O segundo tipo de oclusão é chamada de Straight-trough e ocorre quando os objetos a serem rastreados se deslocam rapidamente durante o vídeo de modo que não haja uma junção nos contornos dos objetos durante a oclusão (Figura 11). Isso ocorre devido a taxa de aquisição do vídeo ser baixa e se não percebida, resultará numa identificação equivocada do animal durante o restante do vídeo. As técnicas para resolução desse tipo de oclusão usam modelos baseados na aparência do objeto, criando uma identidade específica de cada animal. Em cada frame do vídeo o algoritmo compara o animal rastreado a identidade extraída previamente (PÉREZ-ESCUDERO et al., 2014)(GABRIEL et al., 2003).

(43)

Figura 11 - Oclusão Straight-trough, onde A e B deslocam-se no tempo cruzando-se.

Fonte: Adapatdo de (GABRIEL et al., 2003).

Várias soluções são apresentadas para resolução da oclusão. A maioria dos softwares para detecção de múltiplos objetos usam como base o processamento de imagem por subtração de plano de fundo para destacar o animal. A partir desse processamento ferramentas são inseridas para resolução de oclusão.

Algumas das técnicas para o tratamento da oclusão são baseadas em aprendizado de máquina combinados a modelos probabilísticos de inferência e de velocidade para predição da posição do animal. Estas técnicas são de difícil implementação, demandam matemática robusta, possuem pouca dinâmica (i.e. modelos matemáticos baseado no formato do animal) limitando seu uso a uma determinada espécie de animal. Além das soluções apresentadas não terem compatibilidade com bibliotecas de processamento de imagem padrão (BRANSON, 2014; CHAUMONT et

al., 2012b; SCHUSTERREITER; GROSSMANN, 2013). Além disso, o

desenvolvimento desse aprendizado é feito em plataformas proprietárias, dificultando o acesso aos algoritmos desenvolvidos (ITSKOVITS et al., 2017; KABRA et al., 2012; SWIERCZEK et al., 2011).

Uma das soluções apresentadas retira do objeto de interesse uma impressão digital (fingerprint). Essa técnica utiliza características da imagem do animal, através de intensidade de cor, histogramas de pixels de escalas de cinza, por exemplo (PÉREZ-ESCUDERO et al., 2014). Assim, a cada frame ou oclusão, o algoritmo desenvolvido pode identificar o animal ao longo do vídeo comparando o fingerprint previamente estabelecido nos frames pós oclusão, ou até mesmo durante cada frame do vídeo.

(44)

Outra abordagem para resolução da oclusão além de sistemas baseados na característica do animal são os sistemas dinâmicos que usam Filtros de Kalman baseados em estimativas de posição podendo assim reestabelecer a identidade dos objetos (GABRIEL et al., 2003). Esse tipo de filtro, usa de variáveis do deslocamento do animal (e.g. velocidade, aceleração) para predição da posição do objeto de interesse, são comumente usados no instante da oclusão, mas muitos softwares usam como principal meio para resolver problemas de oclusão (AKSHAY; THOMAS; PRASHANT, 2016)(ITSKOVITS et al., 2017).

As técnicas de processamento de imagem aplicadas ao ETHOWATCHER® (extração do plano de fundo, limiarização e erosão) resultam nos objetos representados por contornos (e.g. Figura 7 e Figura 8). Se próximos um do outro, os objetos não serão identificados pelo algoritmo de rastreamento, ocasionando uma oclusão. Após a separação dos animais em apenas um contorno o algoritmo deve ser capaz de identificar os animais.

2.4 FERRAMENTAS AUXILIARES

O desenvolvimento de um software é um processo que inclui diversas etapas desde a concepção até sua distribuição. Para a concepção do mesmo, o ambiente de desenvolvimento deve possuir ferramentas que auxiliem o programador (CROZARA, 2017a), além do mais a utilização de softwares open source que evitem o abandonware é indispensável. De particular relevância para o presente projeto, o Qt Creator é um ambiente para desenvolvimento de aplicações multiplataforma, interfaces gráficas para desktop, embarcados e dispositivos móveis. Além da licença comercial, o software também é distribuído gratuitamente e apresenta uma versão de código aberto, fazendo com que seja usado amplamente na comunidade científica. Entre as principais características do desenvolvedor pode se destacar um editor de código com suporte a linguagem de programação C++, ferramentas de navegação rápida pelo código, suporte a refatoração do código e compatibilidade com outras bibliotecas, como por exemplo a OpenCV.

A OpenCV é uma biblioteca open source e tem como um dos principais objetivos o uso fácil de técnicas sofisticadas de visão computacional. A biblioteca pode ser escrita em C e C++, além do mais pode ser executada em diversos sistemas operacionais como Linux, Windows e MAC OS X (BRADSKI; KAEHLER, 2008). Além disso a biblioteca possui mais de 2500 algoritmos que são usados com diversas finalidades como por exemplo: identificação de objetos, classificação de

(45)

ações humanas em vídeo, rastreamento de objetos, segmentação, etc. A OpenCV possui uma comunidade ativa de mais de 47 mil pessoas, além de possuir mais de 14 milhões de downloads (OPENCV, [s.d.]).

(46)
(47)

3 MATERIAIS E MÉTODOS

Além da proposta de desenvolver ferramentas para análise de múltiplos objetos o objetivo é de manter a política de um software com código aberto, para tal a plataforma deve possuir licença de desenvolvimento e padrões de intercâmbio de dados abertos. Assim a plataforma utilizada para o desenvolvimento foi o QT Creator e o padrão de intercâmbio de dados foi o XML. A linguagem de programação foi o C++, empregado ao ambiente de desenvolvimento do QT 5.3, com utilização da biblioteca de processamento de imagem OpencCV 2.4.11. O projeto foi desenvolvido em um computador HP Compaq 8200 Elite Small Form Factor Pc, com processador Intel Core I5-2400 Cpu @ 3.10GHz e 4 GB de memória RAM.

Além do mais, a expansão feita no software deve seguir as diretrizes de que todos os módulos devam possuir entradas e saídas bem definidas, de tal forma que todos os módulos sejam independentes, podendo permitir um desenvolvimento colaborativo. A utilização do protocolo XML supre com esses objetivos, além de permitir a coleção de dados e ter uma interoperabilidade entre os módulos do programa.

O desenvolvimento dos algoritmos de rastreamento de múltiplos objetos partiu do uso da última versão do software (onde fluxograma pode ser visto Figura 4). Foram acrescidas modificações nas Ferramentas de Registro, especificamente no Registro de Vídeo e nas classes referentes ao processamento de imagem e na saída dos dados, além do desenvolvimento dos algoritmos no módulo de Ferramentas de Etografia e Rastreamento, especificamente no módulo de Rastreamento, Processamento Cinemático e Morfológico e também no módulo de Registro dos Comportamentos para realização da TCC. Além do mais, foram modificadas a Saída Visual e a estrutura dos Dados Salvos. Em destaque na

Figura 12, os módulos onde foram feitas alterações ou implementações no algoritmo. Detalhes do desenvolvimento de interfaces gráficas e dos algoritmos serão descritos nas próximas seções.

(48)

Figura 12 - Fluxograma das ferramentas do ETHOWATCHER® . Com destaque para as alterações feitas deste trabalho.

Fonte: Próprio Autor.

3.1 MÉTODO DE INTEROPERABILIDADE E GESTÃO UTILIZANDO XML

Para seguir as diretrizes e permitir a interoperabilidade entre o ETHOWATCHER® com outros softwares (e.g. Excel, MatLab, Statistica, etc) e entre os módulos já desenvolvidos do programa, foi aplicado como protocolo de saída de dados o XML. Para a escrita e leitura de arquivos em XML foram utilizadas as seguintes classes do QT:

 Classe QDialog – Fornece funções para abrir janelas de navegação e assim navegar pelas pastas do sistema

 Classe QFile – Fornece funções para abrir arquivos binários ou de textos do sistema operacional.

 Classe QxmlStreamWriter – Fornece funções para escrever documentos em XML

 Classe QxmlStreamReader – Fornece funções para ler documentos em XML.

Os arquivos XML são gerados e lidos para obter uma melhor organização dos dados produzidos pelo programa. Exemplos desses

(49)

dados estão nos relatórios gerados pelo processamento, registros de catálogo e vídeo.

3.2 RASTREAMENTO DE MÚLTIPLOS OBJETOS

A versão ETHOWATCHER® OS faz o rastreamento de um objeto processando a imagem através da extração do plano de fundo, seguido pela limiarização da imagem em escalas de cinza, por fim a técnica de erosão é aplicada a todos os contornos da imagem eliminando ainda mais os ruídos presentes. Em resumo, o algoritmo detecta contornos em uma imagem binária e, além do animal, outros contornos são detectados (ruídos), então para determinar o objeto de interesse em meio aos ruídos o processamento retira a informação da maior área detectada, que representa o objeto de interesse, fazendo com que os dados cinemáticos sejam retirados de apenas um contorno. Além disso, o usuário pode ainda escolher o algoritmo de câmera móvel virtual e de redução do ruído intrínseco, que minimizam erros (e.g., iluminação, oclusões, reflexos, etc) no rastreamento do animal (MARCOLAN, 2017).

A contribuição do presente trabalho ao sistema do ETHOWATCHER® foi desenvolvida inicialmente sobre uma versão

dummy do (i.e., idêntico ao ETHOWATCHER® OS). Os testes dessa

versão foram realizados com animações produzidas com software grátis e online PowToon. As animações foram feitas com fundo branco e circunferências com preenchimento sólido, tendo duração de 10 segundos (valor limitado na versão gratuita do software).

Na nova versão desenvolvida, chamada de ETHOWATCHER® MOT, a extração dos dados de múltiplos objetos foi implementada através da função “findContours” da OpenCV. Essa função é baseada num sistema de hierarquias que retorna uma matriz de pontos correspondente a localização de cada contorno encontrado na imagem, além do número de contornos encontrados. Um exemplo da utilização dessa função é ilustrado na Figura 13, que ilustra uma série de contornos identificados pela função findContours (0,1,2,3 4 e 5), onde, a partir desses valores é possível desenvolver o algoritmo para a detecção das características (e.g. área e posição) dos múltiplos objetos das imagens.

(50)

Figura 13 -Sistema de hierarquias da OpenCV, onde cada contorno fechado (objetos em branco) da imagem retorna um valor (0,1,2,3,4 e 5) através de uma função da biblioteca.

Fonte: (OPENCV, [s.d.])

O rastreamento de um vídeo (Figura 14) com múltiplos objetos, realizado com a função “findContours” não mantém a identidade dos objetos rastreados, quando estes objetos trocam de lugares no eixo de coordenadas cartesiano das ordenadas. Verifica-se que ocorre uma mudança de identidade das circunferências, onde a circunferência vermelha é igual a identidade 1 e a preta 0 z a, b). Após o deslocamento no eixo das ordenadas a uma mudança na identidade, a circunferência vermelha é igual a 0 e a preta igual a 1 (Figura 14 c, d).

(51)

Figura 14 - Representação de dois frames (A e C) e seus processamentos (B e D), onde 2 circunferências deslocam-se no eixo das ordenadas. a circunferência vermelha é a identidade 1 e a preta identidade 0. Já no frame C, a circunferência vermelha é a identidade 0 e a preta identidade 1.

Para corrigir esta falha na identificação foi desenvolvido um algoritmo que calcula a menor distância percorrida por cada objeto rastreado. Ou seja, no primeiro quadro processado guarda-se o valor da posição (x e y) de cada objeto em um vetor buffer. No frame seguinte é calculada a distância da atual posição do objeto com todos os valores estocados no vetor buffer. O animal será identificado com a menor distância calculada. Por fim, o valor do buffer é atualizado com a posição atual identificada, podendo assim ficar apto a processar o próximo frame.

Esse algoritmo trabalha com vetores dinâmicos, o número máximo de animais rastreados é limitado pelo tamanho máximo do vetor, ou seja, de acordo com o tamanho da memória volátil do computador. Testes práticos foram realizados com até 80 objetos rastreados.

Este algoritmo tornou-se assim capaz de rastrear múltiplos objetos sem perder suas identidades, desde que estes objetos não sofram oclusão. O tratamento da oclusão é feito através de uma marca extraída através de histogramas de pixels da imagem (ver seção 2.2).

Primeiramente, em um frame de calibração, extrai-se o histograma de cada objeto da imagem (Figura 15) através da função da OpenCV “calcHisto”. Esse procedimento é feito por meio de máscaras inseridas na imagem onde é possível extrair os histogramas de cada

(52)

contorno do frame, ou seja, é inserida na função “calcHisto” uma máscara para cada animal e extraído uma identidade de cada um deles através dos histogramas.

Figura 15 - Processamento de imagem para o histograma. A) frame original; B) frame processado; máscaras com a imagem em tons de cinza para objeto 1 C), e objeto 0 D). E) Gráfico histogramas extraídos das circunferências

Os histogramas dos objetos são gravados no arquivo XML juntamente com os dados de calibração do vídeo (e.g. frame de fundo, valores de limiarização, erosão, frame de início e término de processamento). Após a calibração, já no módulo de processamento, os dados dos histogramas de cada objeto são salvos em um vetor de dados, e ficarão disponíveis até que que ocorra alguma oclusão. No quadro seguinte a oclusão, quando os objetos já estão separados, o algoritmo

(53)

calcula o histograma de cada animal naquele instante. Os valores dos histogramas do frame pós oclusão são comparados aos histogramas retirados na calibração. O objeto será então identificado usando a função “compareHisto” pelo método de correlação linear, que possui valores que variam de -1 a 1. Ou seja, quanto mais próximo do 1, maior a correlação. Após esses testes na versão dummy, ambos os algoritmos (rastreamento de múltiplos objetos e resolução de oclusão) foram implementados na nova versão do ETHOWATCHER® MOT, desenvolvida no presente trabalho.

Além do mais, foi visto que a versão atual do software (ETHOWATCHER® OS) não possuía o processamento de imagem de dilatação inserido ao código. Como visto anteriormente (Figura 8) a dilatação é uma ferramenta a agregar ao processamento do software diminuindo o ruído e destacando ainda mais o animal na imagem. Dito isso, foi acrescido ao algoritmo de processamento de imagem o processo de dilatação.

3.3 TESTE E VALIDAÇÃO DO SOFTWARE

A validação dos algoritmos implementados no ETHOWATCHER® MOT foi realizada por meio de três conjuntos de vídeos, chamados de Teste 1, Teste 2 e Teste 3.

O primeiro conjunto de vídeos, Teste 1, corresponde aos objetos imóveis que foram realizados para testes e validação de posição e área do objeto (Seção 3.3.1), o Teste 2 foi realizado para avaliar os testes de oclusão (Seção Erro! Fonte de referência não encontrada.). Os vídeos e ambos, foram gravados em uma arena de formato cilíndrico, de cor preta e raio de 24 cm. Foram evitados o uso de animações nos testes para melhor simular um ambiente experimental, com todos os artefatos ruidosos presentes (e.g. ruídos luminosos, vibração da câmera). A câmera utilizada foi uma WebCam LifeCam 3000 da HP. A lente da câmera ficou a 118 cm da base da arena. Além do mais, os dados analisados correspondem a vídeos analisados com 9001 frames, porém o tamanho desses vídeos é maior. Os frames acrescidos correspondem a extração do plano de fundo, onde todas as circunferências são retiradas da arena. Além do mais, os vídeos possuem resolução de 640x480 pixels.

O Teste 3 é referente a vídeos em situações reais. Neste terceiro conjunto de vídeos gravados, foram usadas moscas da espécie Drosophila

melanogaster e uma câmera microscópio digital RoHS com resolução de

Referências

Documentos relacionados

Esta realidade exige uma abordagem baseada mais numa engenharia de segu- rança do que na regulamentação prescritiva existente para estes CUA [7], pelo que as medidas de segurança

Se você vai para o mundo da fantasia e não está consciente de que está lá, você está se alienando da realidade (fugindo da realidade), você não está no aqui e

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

2. Identifica as personagens do texto.. Indica o tempo da história. Indica o espaço da história. Classifica as palavras quanto ao número de sílabas. Copia do texto três

Contudo, não é possível imaginar que essas formas de pensar e agir, tanto a orientada à Sustentabilidade quanto a tradicional cartesiana, se fomentariam nos indivíduos

Depois de considerar a confidência, conteúdo, distribuição, e assuntos de oportunidade associadas com a distribuição de um relatório, um controlador pode, então,

Como eles não são caracteres que possam ser impressos normalmente com a função print(), então utilizamos alguns comandos simples para utilizá-los em modo texto 2.. Outros

Todavia, nos substratos de ambos os solos sem adição de matéria orgânica (Figura 4 A e 5 A), constatou-se a presença do herbicida na maior profundidade da coluna