scieee AI-readable full text Open interactive document viewer

Filtro de Kalman no Seguimento de Movimento em Visão Computacional

Raquel Ramos Pinho,João Manuel Ribeiro da Silva Tavares,Miguel Fernando Paiva Velhote Correia

Abstract

Este relatório aborda o problema de seguimento de entidades representadas em sequências de imagens usando Visão Computacional. Para tal utiliza-se um método estocástico, o filtro de Kalman, aliado a um método de optimização global, no sentido de obter os melhores conjuntos de correspondências, e portanto garantir a optimização global do seguimento. Nesta metodologia também se inclui um modelo de gestão de entidades seguidas que possibilita avaliar em cada instante se se deve continuar o seguimento de cada entidade considerado no modelo. Deste modo, a abordagem proposta permite lidar com casos de oclusão temporária, desaparecimento definitivo, aparecimento ou reaparecimento de entidades, mantendo um número controlado de entidades seguidas em cada instante, o que reduz o custo computacional associado ao estritamente necessário.A metodologia proposta é neste trabalho testada e validada em exemplos de seguimento de entidades representadas em imagens sintéticas e reais.

Full text

Filtro de Kalman no Seguimento de Movimento em Visão Computacional Relatório Interno Raquel Ramos Pinho João Manuel R. S. Tavares Miguel F. P. Velhote Correia FEUP – Faculdade de Engenharia da Universidade do Porto LOME – Lab. de Óptica e Mecânica Experimental, INEGI – Inst. de Engenharia Mecânica e Gestão Industrial INEB – Inst. de Engenharia Biomédica, Laboratório Sinal e Imagem Rua Dr. Roberto Frias, s/n 4200-465 PORTO – PORTUGAL Setembro 2005 Filtro de Kalman no Seguimento de Movimento em Visão Computacional Relatório Interno 2 Resumo Este relatório aborda o problema de seguimento de entidades representadas em sequências de imagens usando Visão Computacional. Para tal utiliza-se um método estocástico, o filtro de Kalman, aliado a um método de optimização global, no sentido de obter os melhores conjuntos de correspondências, e portanto garantir a optimização global do seguimento. Nesta metodologia também se inclui um modelo de gestão de entidades seguidas que possibilita avaliar em cada instante se se deve continuar o seguimento de cada entidade considerado no modelo. Deste modo, a abordagem proposta permite lidar com casos de oclusão temporária, desaparecimento definitivo, aparecimento ou reaparecimento de entidades, mantendo um número controlado de entidades seguidas em cada instante, o que reduz o custo computacional associado ao estritamente necessário. A metodologia proposta é neste trabalho testada e validada em exemplos de seguimento de entidades representadas em imagens sintéticas e reais. Abstract This report contemplates feature tracking on image sequences using Computer Vision. To do so a stochastic method is used, the Kalman filter, allied to a global optimization method to obtain the best set of correspondences, and so to guarantee the global optimization of the tracking results. A management model is also included in this methodology to evaluate if each feature’s tracking should be continued or not. By doing so, the proposed approach deals with temporary occlusion, permanent disappearance, appearance or reappearance of features, maintaining a controlled number of tracked features in each time instant, which reduces the computer cost to what is strictly necessary. The proposed methodology is here tested and validated with feature’s tracking along synthetic and real image sequences. Raquel Ramos Pinho, João Manuel R. S. Tavares, Miguel F. P. Velhote Correia ________________________________________________________________________________________________ _ Setembro 2005 3 Índice 1. INTRODUÇÃO ............................................................................................................................................................4 2. MÉTODOS ESTOCÁSTICOS....................................................................................................................................5 2.1. FILTRO DE KALMAN.................................................................................................................................................6 3. OPTIMIZAÇÃO DAS CORRESPONDÊNCIAS NA MEDIÇÃO...........................................................................7 3.1. ALGORITMO SIMPLEX NA ATRIBUIÇÃO PREVISÕES/MEDIÇÕES .................................................................................8 3.2. DISTÂNCIA DE MAHALANOBIS.................................................................................................................................9 4. PROBLEMA DE OCLUSÃO....................................................................................................................................10 5. MODELO DE GESTÃO DAS ENTIDADES SEGUIDAS......................................................................................10 6. RESULTADOS EXPERIMENTAIS.........................................................................................................................11 6.1 EXEMPLOS SINTÉTICOS ..................................................................................................................................12 6.2 EXEMPLOS REAIS ...........................................................................................................................................19 7. CONCLUSÕES E PERSPECTIVAS DE TRABALHO FUTURO........................................................................25 8. AGRADECIMENTOS...............................................................................................................................................26 9. BIBLIOGRAFIA ........................................................................................................................................................26 Filtro de Kalman no Seguimento de Movimento em Visão Computacional Relatório Interno 4 Introdução A análise de movimento de objectos em Visão Computacional tem sido uma área em vasta expansão ao longo dos últimos anos, quer pela diversidade de aplicações, quer pela potenciação de recursos promovidos pelos inúmeros desenvolvimentos tecnológicos. A motivar estes trabalhos também se encontra a crescente necessidade de automatizar computacionalmente processos manuais de análise de movimento, pelo que se têm recorrido cada vez mais à análise de movimento utilizando técnicas de Visão Computacional. A análise de movimento de objectos ao longo de sequências de imagens poderá ser considerada como constituída pelas etapas de detecção, de seguimento e de reconhecimento [Correia, 1995; Aggarwal, 1999; Tavares, 2000; Moeslund, 2001; Wang, 2003; Pinho, 2004]. O seguimento de objectos é uma área de investigação que pode ser abordada considerando diferentes metodologias. Geralmente, o processo de seguimento envolve o emparelhamento de pixels, pontos, linhas, áreas, formas ou outra informação visual. Algumas das aplicações práticas, que exemplificam a utilização do seguimento de objectos usando técnicas de Visão Computacional, serão a análise de tráfego automóvel, a previsão das condições atmosféricas através do movimento de nuvens, o estudo do movimento dos lábios para permitir a sua leitura, ou a análise das deformações que objectos sofrem devido à influência de forças externas ou mesmo internas [Correia, 1995; Bro-Nielsen, 1996; Pavlovic, 1997; Tavares, 2000; Ozer, 2002; Pinho, 2004]. As dificuldades inerentes à tarefa de seguimento prendem-se com a complexidade dos objectos a seguir e do ambiente em que os mesmos estão inseridos. Como exemplos de complexidade podem ser citados: o seguimento simultâneo de vários objectos; a divisão dos objectos a seguir em novas entidades ou, pelo contrário, a fusão numa só entidade – variações de topologia; o aparecimento de novos objectos ou, no sentido inverso, o desaparecimento total ou parcial de objectos, por exemplo devido a problemas de oclusão, de ruído alteração das condições de iluminação, da sua saída de cena; etc. [Moeslund, 2001]. Por outro lado, para que se possa seguir o movimento de forma automática deve-se atender a dificuldades adicionais: não existem modelos computacionais perfeitos e, mesmo quando estes são adequados a certas aplicações, são baseados em aproximações da realidade; também existem perturbações que não podem ser controladas nem modeladas deterministicamente; e os dados adquiridos pelos sensores considerados não são perfeitos; etc. Para superar as dificuldades mencionadas os modelos estocásticos têm constituído uma boa alternativa às abordagens determinísticas [Maybeck, 1979]. Os métodos estocásticos mostram-se adequados no manuseamento de dados multivariados e processos não-lineares/não-Gaussianos, melhorando significativamente os resultados obtidos por técnicas tradicionais de séries temporais [Isard, 1998; Arulampalam, 2002]. Neste trabalho aborda-se o seguimento de objectos em Visão Computacional através da utilização de modelos estocásticos definidos por um espaço de estados, onde a evolução do sistema é feita por intermédio da inclusão de informação relevante no vector de estados. Essa informação relativa às várias Raquel Ramos Pinho, João Manuel R. S. Tavares, Miguel F. P. Velhote Correia ________________________________________________________________________________________________ _ Setembro 2005 5 entidades em movimento, pode ser incorporada de diversas maneiras sob a forma de variáveis de estado (ver por exemplo [Tavares, 1995]); no entanto, a generalidade dos métodos recorre à posição das entidades, possibilitando também a inclusão de características cinemáticas [Correia, 1995; Tavares, 1995]. Para o efeito, neste trabalho as entidades cujo movimento se pretende seguir ao longo de sequências de imagens são representadas por pontos, e o vector de estados é composto pelas respectivas posições, velocidades e acelerações. Segundo uma perspectiva bayesiana a ideia chave do seguimento de movimento consiste na dicotomia previsão/correcção. A previsão contempla, tal como o nome indica, a estimativa do estado do sistema na imagem seguinte. Por outro lado, a correcção consiste na actualização dos dados previstos através da eventual inclusão de dados recolhidos a posteriori no quadro seguinte num vector de medições [Arulampalam, 2002]. Para que sejam incluídas tais medições é necessário relacionar adequadamente, ou seja emparelhar, os dados medidos de modo a que cada informação recolhida possa ser atribuída à respectiva entidade. Na abordagem proposta neste trabalho considera-se um filtro de Kalman no seguimento de cada ponto1 que contempla a sua posição, velocidade e aceleração, sendo incorporados, em cada iteração do filtro, dados relativos à posição desse ponto no quadro seguinte da sequência de imagens. Para proceder à correspondência da posição medida de cada ponto e a previsão feita pelo filtro, é usada uma análise global dos mesmos, no sentido de optimizar o resultado integral do emparelhamento obtido para o sistema modelado. A referida metodologia permite, ainda, o seguimento de movimento de pontos que poderão desaparecer e voltar a aparecer ao longo da sequência de imagens. Para gerir o conjunto de pontos cujo movimento se pretende seguir utilizamos um modelo de gestão dos mesmos [Tavares, 1995], que poderá revelar-se particularmente útil em casos de sequências longas, de muitos pontos a serem seguidos, etc. Neste relatório serão, também, apresentados os resultados do seguimento de pontos em imagens sintéticas e reais. 1. Métodos Estocásticos Sob uma perspectiva bayesiana o seguimento consiste no cálculo recursivo do grau de certeza associado a cada estado em determinado instante, tendo em consideração os dados obtidos até esse momento. Para tal, é assumido que técnicas de modelação produziram um sistema descritivo, sob a forma de uma equação diferencial estocástica para descrever a propagação de estados – o modelo do sistema. 1 Ainda que ao longo da sequência de imagens seja utilizado um filtro independente para cada entidade seguida, para simplificar a linguagem utilizada designaremos o conjunto de filtros usados como um todo. Filtro de Kalman no Seguimento de Movimento em Visão Computacional Relatório Interno Também se considera que são disponibilizadas medições discretas no tempo (isto segundo uma perspectiva discreta) corrompidas por ruído, e que constituem o modelo de medições. Deste modo, pretende-se combinar as medições obtidas no sistema actual com a informação providenciada pelo modelo, e a descrição estatística das incertezas no sentido de obter estimativas óptimas dos estados do sistema considerado [Maybeck, 1979; Correia, 1995; Tavares, 1995; Pinho, 2005a]. De um modo geral a optimização da estimativa obtida depende do critério utilizado. Neste caso, como se utiliza uma abordagem bayesiana, procuram-se meios de propagação da função densidade de probabilidade condicional, restringida pelo processo de medição. No entanto, uma medição da precisão da estimativa também pode ser considerada [Arulampalam, 2002]. Tal como já foi referido na secção anterior, os filtros deste tipo são compostos por duas fases principais: uma de previsão e outra de correcção. A previsão utiliza o sistema do modelo para prever a função de densidade de probabilidade do estado no instante seguinte. Dado que o estado é geralmente sujeito a algumas perturbações, que usualmente são modeladas como ruído aleatório, a previsão poderá contemplar a translação, a deformação e a difusão da função densidade de probabilidade. Por outro lado, a fase de correcção utiliza a medição mais actual de forma a modificar a função densidade de probabilidade prevista. Tal é conseguido pela utilização do teorema de Bayes, que consiste no mecanismo de actualização da informação, acerca do estado objectivo, quando são fornecidas informações extra a partir de novos dados [Maybeck, 1979]. 2.1. Filtro de Kalman O filtro de Kalman assume que a função densidade de probabilidade em cada instante de tempo segue uma distribuição Gaussiana. Este filtro permite a estimativa do estado de um sistema de forma a minimizar o quadrado da média do erro [Welch, 1995], tratando-se duma solução óptima para o seguimento, caso sejam satisfeitas algumas restrições: se o ruído tiver uma distribuição Gaussiana de parâmetros conhecidos e se a transição de estados representada pelo modelo do sistema for linear [Welch, 1995; Arulampalam, 2002]. Neste filtro, a fase de predição é gerada por intermédio da equação Chapman-Kolmogorov e, considerando que se utiliza um processo de Markov de primeira ordem, obtém-se: 1 tt x x − + − =Φ , (1) onde 1t x + − corresponde ao vector de variáveis de estado do sistema no instante posterior à fase de medição desse instante, e 1t− t x − corresponde à estimativa para o instante t antes da medição na imagem associado a esse momento, sendo a sua transição dada por Φ . A estimativa para a incerteza associada à previsão do vector t x −, é dada por: 1T tt P P −+ − Q = ΦΦ+ , (2) 6 Raquel Ramos Pinho, João Manuel R. S. Tavares, Miguel F. P. Velhote Correia ________________________________________________________________________________________________ _ Setembro 2005 7 onde P é a matriz de covariância (mais uma vez os índices + e − são relativos à incorporação ou não das medições nesta iteração do filtro), e é a matriz de covariância do ruído do processo modelado. Q A fase seguinte do filtro de Kalman corresponde à correcção das estimativas realizada através da eventual incorporação de novas medições : t u [] 1 TT tt t t tt tt t ttt KPHHPHR xxKuHx PIKHP − −− +− − +− ⎡ ⎤ =+ ⎣ ⎦ ⎡ ⎤ =+ − ⎣ ⎦ =− , (3) onde K é o ganho do filtro que traduz o peso relativo que se deve atribuir às estimativas e medições, sendo o seu valor proporcional à incerteza da estimativa e inversamente proporcional à incerteza da medição. Também, no conjunto de equações (3), H é a matriz que transforma o sistema de coordenadas do vector de características estimadas no vector de características medido, e é a matriz de variância medida, figura 1 [Correia, 1995; Tavares, 1995; Arulampalam, 2002; Pinho, 2005a]. t R Previsão: 1) Estimação do estado t x −: 1 tt x x −+ − =Θ 2) Cálculo da matriz de covariância : t P− 1T tt PP −+ − =Θ Θ +Q Previsões Área de Incerteza Medições Correspondências Resultados Correcção: 1) Determinação do ganho de Kalman t K : 1 TT tt t t KPJJPJ L − −− ⎡⎤ =+ ⎣⎦ 2) Actualização do estado previsto com a medição u: t tt tt t x xKuJx +− − ⎡⎤ =+ − ⎣⎦ 3) Actualização da matriz de covariância: [ ] tt PIKJP t + − =− Figura 1. Iteração do filtro de Kalman para o instante de tempo t: os índices e são relativos à incorporação ou não das medições nesta iteração do filtro; + − Θ relaciona o estado entre dois instantes de tempo consecutivos; modela o ruído do processo; Q J é a matriz que transforma o sistema de coordenadas do vector de características estimadas no vector de características medido; t L é a matriz de variância das medições. 2. Optimização das Correspondências na Medição Como já foi referido, para fazer a introdução de novas medições na fase de correcção do filtro de Kalman, é necessário estabelecer correspondências entre as posições estimadas e as correspondentes novas posições das entidades a seguir. Assim, para cada entidade seguida tem de ser escolhido um dos candidatos ao emparelhamento: o que melhor se aproxima do conjunto de estimativas obtido. Filtro de Kalman no Seguimento de Movimento em Visão Computacional Relatório Interno Neste trabalho as entidades seguidas são representados por pontos e as respectivas medições consistem nas suas posições ( ) , x y. Pela própria construção do filtro de Kalman a área de pesquisa da nova posição encontra-se no plano imagem e é definida por uma elipse. Os eixos dessa elipse, são determinados pelos vectores próprios da matriz reduzida2 de covariâcia, os raios são dados pelos valores próprios associados, e o centro corresponde à posição prevista pelo filtro para a entidade em causa [Correia, 1995; Tavares, 1995; Pinho, 2005a]. Caso exista convergência do filtro, estas áreas de pesquisa vão diminuindo com as sucessivas iterações do filtro ao longo do tempo, dado que são obtidas estimativas cada vez mais adequadas, e desta forma, o custo computacional associado à determinação de correspondências entre pontos pode ser cada vez menor [Correia, 1995]. Contudo, esta abordagem poderá apresentar algumas dificuldades inerentes: as medições obtidas poderão não estar contidas no interior da área de pesquisa; isto é, não existe nenhuma entidade candidata ao emparelhamento no interior da respectiva área de pesquisa; ou pelo contrário, a existência de múltiplas entidades candidatas nessa mesma área. Tais dificuldades poderiam ser resolvidas pela inclusão de mais critérios no emparelhamento (por exemplo geométricos como em [Tavares, 1995]). Mas, por outro lado, mesmo quando o emparelhamento é conseguido com êxito no interior da respectiva área de emparelhamento, com esta abordagem usual não há garantia de que se tenha obtido em termos globais, isto é para o sistema como um todo, o melhor conjunto de correspondências. Assim, neste trabalho pretende-se superar tais dificuldades com ênfase na determinação dos emparelhamentos de uma forma global. Para o fazer, aplica-se um método de optimização global, por exemplo o algoritmo Simplex, no sentido de se assegurar a obtenção do melhor conjunto de correspondências possível para todas as entidades envolvidas no seguimento. 3.1. Algoritmo Simplex na atribuição previsões/medições O algoritmo Simplex consiste num procedimento algébrico iterativo que permite a determinação de pelo menos uma solução óptima para cada problema, sendo os conceitos subjacentes à resolução essencialmente geométricos [Hillier, 2001; Press, 2002]. Enquanto método de optimização linear, o algoritmo Simplex, pretende optimizar uma função sujeita a algumas restrições. No caso concreto do problema analisado, a função que se pretende minimizar consiste no custo de emparelhamento global do conjunto de previsões das posições dos pontos seguidos e as respectivas medições. Para optimizar as correspondências recorre-se ao algoritmo de atribuição do Simplex, mas uma das restrições deste método consiste no facto de a cada previsão corresponder, quando muito, uma única medição, e que a toda a medição corresponderá a um ponto que se pretende seguir. Assim, a formulação do Simplex utilizada distingue-se da formulação usual pela 2 A cada entidade seguida está associado um filtro de Kalman, pelo que designamos por matriz reduzida de covariância a submatriz da matriz de covariância referente à posição de cada entidade. 8 Raquel Ramos Pinho, João Manuel R. S. Tavares, Miguel F. P. Velhote Correia ________________________________________________________________________________________________ _ Setembro 2005 9 inclusão desta restrição [Hillier, 2001]. O caso em que esta restrição não é satisfeita será analisado nas próximas secções. 3.2. Distância de Mahalanobis No processo de optimização de correspondências é necessário pesar a possibilidade de a cada entidade ser atribuída uma das medições recolhidas, e serão estes custos que irão compor a função que se pretende minimizar. Neste trabalho, consideramos o peso, ou o custo do emparelhamento, entre um par de coordenadas previsão/medição como sendo dada pela respectiva distância de Mahalanobis [Pinho, 2005a]. A distância de Mahalanobis entre dois pontos consiste numa métrica que contempla a diferença entre as características consideradas. Neste caso, a distância de Mahalanobis entre um ponto estimado, E X , e um ponto medido, M X , é definida como a distância euclidiana entre as coordenadas dos pontos normalizada pelas suas variâncias: 2 1 ()()( 2 s T MEME ME ) X XVV XX d χ − −+ − = , (4) onde M V é a variância associada ao vector de posição da entidade candidata ao emparelhamento, e E V é a variância associada à entidade estimada pelo filtro de Kalman [Tavares, 1995; Pinho, 2005a]. No caso concreto deste trabalho a variância associada a cada estimativa é dada pelo próprio filtro como sendo a área delimitada pela elipse associada à matriz de variância do erro de previsão. Contudo, não está definida a variância associada a cada medição pelo que se torna necessário obter uma medida que possa traduzir tal variância. Por analogia com a variância para as estimativas, considera-se a variância da medição como sendo obtida através da área de uma elipse. A referida elipse, para cada correspondência, consiste na menor elipse que contém o ponto medido e que preserva os eixos, respectiva proporção e centro da elipse da estimativa (ver figura 2). XE XM Figura 2. Para cada ponto estimado E X , a variância da previsão E V do filtro de Kalman consiste na área limitada pela elipse associada à matriz de covariância (elipse a traço amarelo). Na abordagem proposta considera-se a variância da medição E V , como sendo a área limitada pela elipse que contem o ponto medido M X e que preserva o centro, os eixos e a respectiva proporção da anterior (obtendo-se a elipse representada a traço descontinuo). Filtro de Kalman no Seguimento de Movimento em Visão Computacional Relatório Interno anteriormente, o filtro atribui o único ponto medido a um dos pontos (no exemplo é atribuído ao ponto F). Assim, no vector de medições as coordenadas correspondentes ao ponto E, serão as previsões determinadas pelo filtro na fase anterior, mas com um grau de incerteza mais elevado que o precedente, o que vai afectar a área delimitada pela elipse no quadro seguinte. E se a entidade seguida reaparece, como acontece no quadro 6 deste exemplo, o seguimento prossegue usualmente. Neste caso, como o movimento em análise é rectilíneo e uniforme o filtro continua a fazer boas estimativas do deslocamento dos pontos seguidos e as previsões coincidem com as medições obtidas, e a área delimitada pelas elipses volta a diminuir. Figura 7. Seguimento dos pontos E e F que se movem uniformemente, mas onde ocorre oclusão de um dos pontos na quarta iteração do filtro de Kalman. 1 2 3 4 5 6 Os dois exemplos experimentais anteriores são compostos por um número reduzido de pontos com movimento uniforme. Para o terceiro exemplo sintético, considere-se um conjunto de 28 pontos com movimento aleatório ao longo de 5 quadros, figura 8. Para facilitar a análise das imagens apresentadas, as elipses correspondentes à área de incerteza de cada previsão foram omitidas, dado que o seu comportamento é em tudo semelhante ao verificado nos exemplos anteriores. 16 Raquel Ramos Pinho, João Manuel R. S. Tavares, Miguel F. P. Velhote Correia ________________________________________________________________________________________________ _ Setembro 2005 17 Figura 8. Seguimento de 28 pontos que se movem ao longo de uma sequência de 5 quadros. Para o exemplo que se segue, considere a sequência sintética de imagens representada na figura 9. No primeiro quadro apenas estão representados os pontos B, C e D, mas no quadro seguinte iniciase o seguimento de dois novos pontos, A e E. Nos quadros subsequentes, os pontos seguidos aparecem e desaparecem aleatoriamente. Neste exemplo pode-se verificar que a área de incerteza associada a entidades mesuráveis decresce com o seguimento, mas que se as mesmas deixam de estar visíveis então a sua incerteza aumenta, até que após um determinado intervalo de tempo o seu seguimento cessa (tal como acontece ao ponto E no décimo quadro). Filtro de Kalman no Seguimento de Movimento em Visão Computacional Relatório Interno 0 A B C D E 1 2 3 4 5 6 7 8 Figura 9. Seguimento dos pontos A-E numa sequência de 10 imagens: 0 – 1º quadro original; 1..9 – Resultados do filtro de Kalman cujas áreas de pesquisa são representadas por elipses a traço contínuo, as previsões estão assinaladas por + e as posições corrigidas por x. 9 18 Raquel Ramos Pinho, João Manuel R. S. Tavares, Miguel F. P. Velhote Correia ________________________________________________________________________________________________ _ Setembro 2005 19 O nível de confiança associado ao seguimento anterior, ou seja o factor utilizado na gestão das entidades seguidas no exemplo apresentado na figura 9, encontra-se indicado na tabela 1. Tabela 1. Nível de confiança associada a cada entidade pelo modelo de gestão do seguimento no exemplo da figura 9. Quadros Pontos 0123456789 A - 345543210 B 3455555555 C 3455555555 D 3434555555 E - 32343210- 5.2 Exemplos Reais Os exemplos que se seguem foram obtidos considerando-se sequências de imagens reais, e a representação de resultados é idêntica à que se utilizou para os exemplos sintéticos, com excepção da elipse de incerteza da previsão, agora assinalada a preto. Uma das aplicações da análise de movimento poderá consistir no diagnóstico clínico da marcha [Pinho, 2005b]. Assim para o primeiro caso real considera-se uma sequência com esse intuito. Esta sequência é constituída por 7 quadros nos quais se pretende seguir o movimento de 6 marcas aplicadas sobre a perna de um indivíduo, figura 10. Estas imagens foram adquiridas com uma câmara de alta velocidade com uma taxa de aquisição de 200 quadros/segundo, e têm dimensões 256x256 pixels2. Todos os marcadores seguidos são iguais, e são compostos por um rectângulo branco que contém um círculo preto. Com o filtro de Kalman são seguidos os centros dos círculos negros, o que no plano imagem corresponde ao centro de uma mancha de aproximadamente 3x3 pixels2. No primeiro quadro apenas 5 marcadores estão visíveis (marcas numeradas de 1 a 5 na figura 11), mas nos 5 quadros seguintes todas as posições das marcas são mesuráveis. No último quadro um dos marcadores é oculto pelo braço do indivíduo. 1 1 2 3 4 5 2 Figura 10. Seguimento de 6 marcas colocadas sobre a perna de um indivíduo: 1 – quadro inicial original; 2 – 1º quadro com as medições assinaladas com um x e os 5 marcadores visíveis numerados. Filtro de Kalman no Seguimento de Movimento em Visão Computacional Relatório Interno Analisando os resultados numéricos obtidos com o filtro de Kalman para o exemplo anterior, verifica-se que ainda que o movimento seguido não seja linear, o erro entre as estimativas do filtro e as medições introduzidas é sempre menor do que 3.35 pixels (obtido pela marca 2 quando ), mas o erro médio em cada marca é de 1.2 pixels (tabela 2 e 3). Mais, o filtro obtém melhores resultados ao longo do tempo (por exemplo para todas as estimativas estão a menos de um pixel da medida correcta), mas como o movimento humano não é linear este resultado não é geral (basta notar que no quadro seguinte, , 2 marcadores ultrapassam a distância de 1 pixel). 2t= 5t= 6t= É ainda de salientar que se optou por não apresentar os resultados o filtro relativos à velocidade e aceleração das marcas seguidas, ainda que esses dados possam ter interesse para a análise do movimento em questão. 1 2 3 4 5 6 Figura 11. Seguimento de 6 marcadores colocados sobre a perna de um indivíduo. 20 Raquel Ramos Pinho, João Manuel R. S. Tavares, Miguel F. P. Velhote Correia ________________________________________________________________________________________________ _ Setembro 2005 21 Tabela 2. Coordenadas iniciais, 0 x + , dos marcadores indicados na figura 11. Marca (M) 0 x + 1 (97, 42) 2 (96,124) 3 (81,135) 4 (19, 227) 5 (9, 193) 6 Invisível Tabela 3. Alguns dos resultados numéricos obtidos com o filtro de Kalman na figura 11, onde t x − e t x + são as coordenadas das marcas antes e depois da incorporação de novas medições, . t u (M) t x − t u t x + 2 tt x u −− t = 1 1 (97, 42) (99, 42) (98.99926, 42) 2 2 (96, 124) (98, 122) (97.99844, 122.0006,) 2.8284271 3 (81, 135) (83, 135) (82.99896, 135) 2 4 (19, 227) (21, 226) (20.99907, 226.0001) 2.236068 5 (9, 193) (11, 192) (10.999, 192.00006) 2.236068 6 (2, 184) (2, 184) (2, 184) 0 t = 2 1 (100.2233, 42) (99, 42) (99.00073, 41.99997) 1.223297 2 (99.20157, 120.7561) (100, 124) (99.9991, 123.9985) 3.340705 3 (84.2228, 135) (85, 135) (84.99935, 135) 0.777199 4 (22.21279, 225.3777) (21, 225) (21.00089, 225.0001) 1.270253 5 (12.21267, 191.3777) (13, 191) (12.99936, 191) 0.873219 6 (2, 184) (3, 184) (2.999376, 184) 1 t = 3 1 (99.12166, 41.99604) (100, 42) (99.99885, 42.00002) 0.878351 2 (101.9982, 125.7629) (102, 123) (101.9999, 123.003) 2.762902 3 (86.92361, 135.0025) (87, 135) (86.99986, 135) 0.076433 4 (21.09856, 224.0096) (22, 225) (21.99855, 224.9996) 1.339177 5 (14.89981, 190.0159) (15, 190) (14.99982, 190) 0.101453 6 (4.032567, 184) (5, 182) (4.9989, 182.0041) 2.221695 t = 4 1 (100.8049, 42.00287) (102, 42) (101.9984, 42.00004) 1.195056 2 (103.9608, 122.5672) (105, 123) (104.9971, 122.9995) 1.125711 3 (88.98359, 135.0008) (90, 135) (89.99806, 135) 1.016411 4 (22.81575, 224.8055) (23, 224) (22.99967, 224.0003) 0.826329 5 (16.97465, 189.0001) (17, 189) (16.99995, 189) 0.025352 6 (6.757982, 180.2642) (7, 180) (6.999671, 180.0007) 0.358264 t = 5 1 (103.7289, 42.00473) Invisível (103.7289, 42.00473) Não Definido 2 (107.7459, 122.8897) (107, 123) (107.0021, 122.9999) 0.75403 3 (92.76708, 135.0037) (93, 135) (92.99956, 135) 0.232947 4 (23.95067, 223.1724) (24, 224) (23.99994, 223.9997) 0.82909 5 (18.99389, 187.9996) (19, 188) (18.99999, 188) 0.006124 6 (8.923403, 178.0337) (9, 179) (8.999914, 178.9973) 0.96934 t = 6 1 (105.4594, 42.00933) Invisível (105.4594, 42.00933) Não Definido 2 (109.1801, 122.977) (110, 124) (109.9977, 123.9989) 1.311062 3 (95.94833, 135.0015) (95, 135) (95.00181, 135) 0.948327 4 (24.99998, 223.8256) (25, 223) (24.99998, 223.0003) 0.825623 5 (20.9986, 186.9999) (21, 187) (21, 187) 0.001403 6 (10.99899, 177.7933) (12, 179) (11.99867, 178.9967) 1.567859 Analisando a região de incerteza de cada previsão nota-se, conforme esperado, que as áreas das elipses (inicialmente com 452.4 pixels2) tendem a diminuir para um valor mínimo de aproximadamente 28.3 pixels2 para todos os marcadores nos quadros 4 e 5 da figura 11. Caso uma marca deixe de estar visível, Filtro de Kalman no Seguimento de Movimento em Visão Computacional Relatório Interno então a incerteza que lhe está associada aumenta, como é o caso do marcador 1 no quadro 6, cuja incerteza aumenta até 226.2 pixels2. Por outro lado, caso apareça uma nova marca o seu seguimento será inicializado de forma análoga. No próximo exemplo seguem-se 5 marcas colocadas sobre uma perna de um indivíduo, figura 12. As marcas utilizadas são similares às do caso anterior, e as imagens capturadas têm as mesmas dimensões. (a) (b) Figura 12. Seguimento de 5 marcas colocadas num membro de um indivíduo no quadro original (a), e com as medições assinaladas (b). Neste caso consideraram-se 5 quadros retirados de uma sequência, em intervalos de 10 (escolheram-se estes intervalos para aumentar o deslocamento entre iterações do filtro de Kalman, e mantendo os valores da variância usualmente utilizados, analisar o caso em que as medições recolhidas são exteriores às elipses de covariância de posição. Analisando os resultados apresentados na figura 13, nota-se que a abordagem utilizada permite o seguimento de entidades mesmo quando as medições recolhidas são exteriores à região de busca definida por defeito, o que permite a correcta inclusão de novos dados. Este resultado poderá comprovar a robustez da abordagem proposta em alguns casos de movimento não-linear. Para o último exemplo, considere-se o seguimento de indivíduos num sistema de segurança de um centro comercial, figura 14 (imagens obtidas de [EC-Funded-CAVIAR-project, 2004]). Neste conjunto de imagens seguem-se os indivíduos a partir da posição da parte inferior da cabeça (pescoço). Nos primeiros 8 quadros, 3 indivíduos são seguidos, mas no décimo quadro inicia-se o seguimento de mais uma pessoa. No 12º quadro uma das pessoas entre numa loja e portanto o modelo de gestão das entidades seguidas cessa o seu seguimento ao 16º quadro. Caso o indivíduo tivesse saído da loja de forma suficientemente rápida, então o modelo teria preservado os seus dados, mas neste caso, o seu seguimento deverá ser inicializado quando o indivíduo sair da loja. Assim se verifica que o modelo de gestão utilizado pode restringir o número de entidades seguidas, e portanto pode ser reduzido o custo computacional do seguimento. 22 Raquel Ramos Pinho, João Manuel R. S. Tavares, Miguel F. P. Velhote Correia ________________________________________________________________________________________________ _ Setembro 2005 23 1 2 3 4 Figura 13. Seguimento de 5 marcas em 5 quadros não-consecutivos retirados de uma sequência de imagens verificando-se a robustez da abordagem proposta mesmo quando a área das elipses de covariância de posição não contêm as medições. 1 2 3 (Continua) Filtro de Kalman no Seguimento de Movimento em Visão Computacional Relatório Interno 4 5 6 7 8 9 10 11 12 13 14 15 Figura 14. Seguimento de indivíduos num centro comercial: o modelo de gestão de entidades seguidas permite a análise de movimento em longas sequências de imagens. 24 Raquel Ramos Pinho, João Manuel R. S. Tavares, Miguel F. P. Velhote Correia ________________________________________________________________________________________________ _ Setembro 2005 25 6. Conclusões e Perspectivas de Trabalho Futuro Neste relatório fez-se uma breve introdução aos métodos estocásticos, nomeadamente ao filtro de Kalman, utilizado neste trabalho em conjunto com métodos de optimização global e com a distância de Mahalanobis para seguir o movimento de entidades em sequências de imagens. O seguimento de objectos com o filtro de Kalman e um método de optimização global facilita o estabelecimento de correspondências entre as estimativas obtidas pelo filtro e as medições consideradas em cada iteração. Deste modo, o emparelhamento de dados é possível mesmo que as áreas de pesquisa determinadas pelas elipses associadas à variância do filtro de Kalman para a posição das entidades seguidas o não permitam, sendo para além disso garantido que em termos globais se obtém o melhor conjunto de correspondências para o sistema modelado. No que concerne os resultados obtidos, nota-se que o filtro de Kalman com a optimização de correspondências tal como implementado neste trabalho, é um estimador robusto do movimento. Para gerir situações de elevados números de entidades seguidas em longas sequências de imagens, neste trabalho também se utilizou um modelo de gestão de entidades que atribui um nível de confiança a cada entidade seguida, determina a continuação do seguimento dessa entidade ou invalida o mesmo caso a entidade tenha desaparecido da cena ou esteja oculta por mais do que um determinado número de instantes temporais pré-definido. De facto, a metodologia proposta para o seguimento revela-se capaz de resistir adequadamente a casos de oclusão, assim como permite o movimento aleatório de entidades, e o seguimento de um conjunto de cerca de 30 pontos é conseguido muito rapidamente. A metodologia proposta foi testada em sequências de imagens sintéticas e reais, tendo-se verificado que mesmo em casos de movimento não linear (como de movimento humano) a abordagem utilizada é robusta. Contudo, no caso do movimento humano a aplicabilidade desta abordagem deverá ser ampliada para os casos de seguimento sem a utilização de marcadores. No sentido de melhorar os resultados obtidos, poderá ainda ser considerada nesta abordagem a escolha automática dos modelos cinemáticos mais adequados a cada tipo de movimento (por exemplo circular). Também, no sentido de aproximar melhor as medições nos casos de movimento não linear, poderão ser considerados outros filtros estocásticos, como por exemplo filtros de partículas ou o filtro de Kalman Unscented. Também, para gerir as entidades seguidas poderá ser considerado um modelo mais versátil que permita, por exemplo, que os níveis de confiança de cada entidade sejam adequadamente afectados pela confiança dos emparelhamentos obtidos. Eventualmente, este trabalho poderá evoluir para o desenvolvimento de uma aplicação específica de análise de movimento que permita, por exemplo, o diagnóstico clínico da marcha.