BRPI0718950A2 - Estimativa de uma localização de um objeto em uma imagem - Google Patents

Estimativa de uma localização de um objeto em uma imagem Download PDF

Info

Publication number
BRPI0718950A2
BRPI0718950A2 BRPI0718950-8A BRPI0718950A BRPI0718950A2 BR PI0718950 A2 BRPI0718950 A2 BR PI0718950A2 BR PI0718950 A BRPI0718950 A BR PI0718950A BR PI0718950 A2 BRPI0718950 A2 BR PI0718950A2
Authority
BR
Brazil
Prior art keywords
particle
occlusion
location
estimated
sequence
Prior art date
Application number
BRPI0718950-8A
Other languages
English (en)
Inventor
Yu Huang
Joan Llach
Original Assignee
Thomson Licensing
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing filed Critical Thomson Licensing
Publication of BRPI0718950A2 publication Critical patent/BRPI0718950A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image
    • G06T2207/30224Ball; Puck
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/62Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking

Description

“ESTIMATIVA DE UMA LOCALIZAÇÃO DE UM OBJETO EM UMA IMAGEM” REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOS
Este pedido reivindica o benefício de cada um dos três seguintes pedidos: (1) pedi- do provisório US 60/872.145 intitulado “Cluttered Backgrounds and Object Tracking” e depo- sitado em 1 de dezembro de 2006 (protocolo representante PU060244), (2) pedido provisó- rio US 60/872.146 intitulado “Modeling for Object Tracking” e depositado em 1 de dezembro de 2006 (protocolo representante PU060245), e (3) pedido provisório US 60/885.780 intitu- lado “Object Tracking” e depositado em 19 de janeiro de 2007 (protocolo representante PU070030). Todos estes três pedidos de prioridade estão incorporados em suas totalidades por meio desta referência para todos os propósitos.
CAMPO DA INVENÇÃO
Pelo menos uma implementação nesta revelação diz respeito a estimativa de esta- do dinâmico.
ANTECEDENTES DA INVENÇÃO
Um sistema dinâmico se refere a um sistema no qual um estado do sistema muda ao longo do tempo. O estado pode ser um conjunto de variáveis escolhidas arbitrariamente que caracterizam o sistema, mas o estado frequentemente inclui variáveis de interesse. Por exemplo, um sistema dinâmico pode ser construído para caracterizar um vídeo, e o estado pode ser escolhido para ser uma posição de um objeto em um quadro do vídeo. Por exem- plo, o vídeo pode representar uma partida de tênis e o estado pode ser escolhido para ser a posição da bola. O sistema é dinâmico porque a posição da bola muda ao longo do tempo. Estimar o estado do sistema, isto é, a posição da bola, em um novo quadro do vídeo é de interesse.
SUMÁRIO
De acordo com um aspecto geral, uma localização é estimada para um objeto em uma imagem particular de uma seqüência de imagens. A localização é estimada usando um quadro baseado em partículas, é determinado que a localização estimada para o objeto na imagem particular é ocluída. Uma trajetória é estimada para o objeto baseado em um ou mais localizações prévias do objeto em uma ou mais imagens prévias na seqüência de ima- gens. A localização estimada do objeto é alterada com base na trajetória estimada.
Os detalhes de uma ou mais implementações estão expostos nos desenhos anexos e na descrição a seguir. Mesmo se descritas em uma maneira particular, deve ficar claro que implementações podem ser configuradas ou incorporadas de várias maneiras. Por e- xemplo, uma implementação pode ser executada como um método, ou incorporada como um aparelho configurado para executar um conjunto de operações, ou incorporada como um aparelho armazenando instruções para executar um conjunto de operações, ou incorporada em um sinal. Outros aspectos e recursos se tornarão aparentes a partir da descrição deta- Ihada a seguir considerada em conjunto com os desenhos anexos e as reivindicações.
DESCRICÃO RESUMIDA DOS DESENHOS
A figura 1 inclui um diagrama de blocos de uma implementação de um estimador de
estado.
A figura 2 inclui um diagrama de blocos de uma implementação de um aparelho pa- ra implementar o estimador de estado da figura 1.
A figura 3 inclui um diagrama de blocos de uma implementação de um sistema para codificar dados com base em um estado estimado pelo estimador de estado da figura 1.
A figura 4 inclui um diagrama de blocos de uma implementação de um sistema para processar dados com base em um estado estimado pelo estimador de estado da figura 1.
A figura 5 inclui um diagrama que representa de forma pictorial várias funções exe- cutadas por uma implementação do estimador de estado da figura 1.
A figura 6 inclui um fluxograma de uma implementação de um método para deter- minar uma localização de um objeto em uma imagem em uma seqüência de imagens digi- tais.
A figura 7 inclui um fluxograma de uma implementação de um processo para im- plementar um filtro de partículas.
A figura 8 inclui um fluxograma de um processo alternativo para implementar um fil- tro de partículas.
A figura 9 inclui um fluxograma de uma implementação de um processo para im- plementar um modelo dinâmico no processo da figura 8.
A figura 10 inclui um fluxograma de uma implementação de um processo para im- plementar um modelo dinâmico incluindo avaliar uma estimativa de movimento em um filtro de partículas.
A figura 11 inclui um fluxograma de uma implementação de um processo para im- plementar um modelo de medição em um filtro de partículas.
A figura 12 inclui um diagrama que representa de forma pictorial um exemplo de uma trajetória projetada com localizações de objeto ocluídas.
A figura 13 inclui um fluxograma de uma implementação de um processo para de- terminar se é para atualizar um modelo depois de estimar um estado usando um filtro de partículas.
A figura 14 inclui um fluxograma de uma implementação de um processo para de- terminar se é para atualizar um modelo e refinar posição de objeto depois de estimar um estado usando um filtro de partículas.
A figura 15 inclui um diagrama que representa de forma pictorial uma implementa- ção de um método de refinar posição estimada de um objeto em relação a uma trajetória projetada. A figura 16 inclui um fluxograma de uma implementação de um processo para esti- mar localização de um objeto.
A figura 17 inclui um fluxograma de uma implementação de um processo para sele- cionar estimativas de localização.
A figura 18 inclui um fluxograma de uma implementação de um processo para de- terminar uma posição de uma partícula em um filtro de partículas.
A figura 19 inclui um fluxograma de uma implementação de um processo para de- terminar se é para atualizar um modelo.
A figura 20 inclui um fluxograma de uma implementação de um processo para de- tectar oclusão de uma partícula em um filtro de partículas.
A figura 21 inclui um fluxograma de uma implementação de um processo para esti- mar um estado com base em partículas produzidas por um filtro de partículas.
A figura 22 inclui um fluxograma de uma implementação de um processo para mu- dar uma posição estimada de um objeto.
A figura 23 inclui um fluxograma de uma implementação de um processo para de- terminar uma localização de objeto.
DESCRIÇÃO DETALHADA
Uma ou mais modalidades fornecem um método de estimativa de estado dinâmico. Uma ou mais modalidades fornecem um método de estimar estados dinâmicos. Um exem- plo de uma aplicação na qual estimativa de estado dinâmico é usada é predizer o movimen- to de um recurso no vídeo entre quadros. Um exemplo de vídeo é vídeo compactado, o qual pode ser compactado, a título de exemplo, no formato MPEG-2. Em vídeo compactado, so- mente um subconjunto dos quadros tipicamente contém informação completa tal como para a imagem associada com os quadros. Tais quadros contendo informação completa são chamados de quadros I no formato MPEG-2. A maioria dos quadros somente fornece infor- mação indicando diferenças entre o quadro e um ou mais quadros próximos, tais como os quadros I próximos. No formato MPEG-2, tais quadros são denominados quadros P e qua- dros B. É um desafio incluir informação suficiente para predizer o progresso de um recurso em vídeo enquanto mantendo ainda compactação de dados.
Um exemplo de um recurso em vídeo é uma bola em um evento esportivo. Exem- plos incluem bolas de tênis, bolas de futebol e de basquetebol. Um exemplo de uma aplica- ção na qual o método é usado é predizer a localização de uma bola entre quadros em um vídeo de múltiplos quadros. Uma bola pode ser um objeto relativamente pequeno, tal como ocupando menos que cerca de 30 pixels. Um exemplo adicional de um recurso é um jogador ou um árbitro em um evento esportivo.
Um desafio para rastrear movimento de um objeto entre quadros em vídeo é oclu- são do objeto em um ou mais quadros. Oclusão pode ser na forma do objeto ficar escondido atrás de um recurso no primeiro plano. Isto é referido como “oclusão real”. Por exemplo, em uma partida de tênis uma bola de tênis pode passar atrás de um jogador. Tal oclusão pode ser referida de várias maneiras, tal como, por exemplo, o objeto sendo escondido, bloquea- do ou encoberto. Em um outro exemplo, oclusão pode ser na forma de um plano de fundo 5 que torna a determinação da posição do objeto difícil ou impossível. Isto é referido como “oclusão virtual”. Por exemplo, uma bola de tênis pode passar na frente de um plano de fun- do desordenado, tal como uma multidão que inclui inúmeros objetos aproximadamente do mesmo tamanho e cor da bola de tênis, de maneira que seleção da bola a partir dos outros objetos é difícil ou impossível. Em um outro exemplo, uma bola pode passar na frente de um 10 campo da mesma cor que a bola, de maneira que a localização da bola é impossível ou difí- cil de determinar. Oclusão, incluindo desordem, torna difícil formar uma estimativa de proba- bilidade precisa de partículas em um filtro de partículas. Oclusão, incluindo desordem, fre- quentemente resulta em ambigüidade no rastreamento de objeto.
Estes problemas são frequentemente maiores para pequenos objetos, ou para obje- 15 tos se deslocando rapidamente. Isto é porque, por exemplo, as localizações de um pequeno objeto em imagens sucessivas (por exemplo, quadros) em um vídeo frequentemente não se sobrepõem uma à outra. Quando as localizações não se sobrepõem, o objeto propriamente dito não se sobrepõe, significando que o objeto se deslocou pelo menos a sua própria largu- ra no intervalo de tempo entre as duas imagens sucessivas. A falta de sobreposição fre- 20 quentemente torna mais difícil descobrir o objeto na próxima imagem, ou ter uma alta confi- ança de que o objeto foi encontrado.
Ambigüidade em rastreamento de objeto não é limitada a pequenos objetos. Por exemplo, um plano de fundo desordenado pode incluir recursos similares a um objeto. Nes- se caso, independente de tamanho de objeto, ambigüidade em rastreamento pode resultar. Determinação de se um objeto está ocluído também pode ser desafiadora. Por e-
xemplo, um método conhecido de determinar oclusão de objeto é uma razão típico/atípico. Com pequenos objetos e/ou um plano de fundo desordenado, a razão típico/atípico pode ser difícil de determinar.
Uma implementação aborda estes desafios pela formação de uma superfície métri- ca em um quadro baseado em partículas. Uma outra implementação aborda estes desafios ao empregar e avaliar estimativas de movimento em um quadro baseado em partículas. Uma outra implementação aborda estes desafios pelo emprego de múltiplas hipóteses em estimativa de probabilidade.
Em um quadro baseado em partículas, uma simulação de Monte Carlo é tipicamen- te conduzida sobre inúmeras partículas. As partículas podem representar, por exemplo, possíveis localizações diferentes de um objeto em um quadro. Uma partícula particular pode ser selecionada com base na probabilidade determinada de acordo com uma simulação de Monte Cario. Um filtro de partículas é um quadro baseado em partículas exemplar. Em um filtro de partículas, inúmeras partículas são geradas, representando possíveis estados, os quais podem corresponder a possíveis localizações de um objeto em uma imagem. Uma probabilidade, também referida como um peso, é associada com cada partícula no filtro de 5 partículas. Em um filtro de partículas, partículas tendo uma baixa probabilidade ou baixo peso são tipicamente eliminadas em uma ou mais etapas de reamostragem. Um estado re- presentando um resultado de um filtro de partículas pode ser uma média ponderada de par- tículas, por exemplo.
Referindo-se à figura 1, em uma implementação um sistema 100 incluí um estima- 10 dor de estado 110 que pode ser implementado, por exemplo, em um computador. O estima- dor de estado 110 inclui um módulo de algoritmo de partículas 120, um módulo de modo local 130, e um módulo adaptador de número 140. O módulo de algoritmo de partículas 120 executa um algoritmo baseado em partículas, tal como, por exemplo, um filtro de partículas (PF), para estimar estados de um sistema dinâmico. O módulo de modo local 130 aplica um 15 mecanismo de procura de modo local, tal como, por exemplo, pela execução de uma análise de mudança de meio, às partículas de um PF. O módulo adaptador de número 140 modifica o número de partículas usado no algoritmo baseado em partículas, tal como, por exemplo, pela aplicação de um processo de amostragem de distância de Kullback-Leibler (KLD) às partículas de um PF. Em uma implementação, o filtro de partículas pode amostrar adaptati- 20 vãmente dependendo do tamanho do espaço de estado onde as partículas são encontradas. Por exemplo, se as partículas forem todas encontradas em uma pequena parte do espaço de estado, um menor número de partículas pode ser amostrado. Se o espaço de estado for grande, ou se a incerteza de estado for alta, um maior número de partículas pode ser amos- trado. Os módulos 120-140 podem ser, por exemplo, implementados separadamente ou
integrados em um único algoritmo.
O estimador de estado 110 acessa como entrada tanto um estado inicial 150 quan- to uma entrada de dados 160, e fornece como saída um estado estimado 170. O estado inicial 150 pode ser determinado, por exemplo, por meio de um detector de estado inicial ou por meio de um processo manual. Exemplos mais específicos são fornecidos ao considerar
um sistema para o qual o estado é a localização de um objeto em uma imagem em uma seqüência de imagens digitais, tal como um quadro de um vídeo. Em um sistema como este, a localização inicial de objeto pode ser determinada, por exemplo, por meio de um processo automatizado de detecção de objeto usando detecção de borda e comparação de modelo, ou manualmente por meio de um usuário visualizando o vídeo. A entrada de dados 160 po- 35 de ser, por exemplo, uma seqüência de imagens de vídeo. O estado estimado 170 pode ser, por exemplo, uma estimativa da posição de uma bola em uma imagem de vídeo particular.
Na figura 2 está mostrado um aparelho exemplar 190 para implementar o estimador de estado 110 da figura 1. O aparelho 190 inclui um dispositivo de processamento 180 que recebe o estado inicial 150 e a entrada de dados 160, e fornece como saída um estado es- timado 170. O dispositivo de processamento 180 acessa um dispositivo de armazenamento 185, o qual pode executar dados de armazenamento se relacionando com uma imagem par- ticular em uma seqüência de imagens digitais.
O estado estimado 170 pode ser usado para uma variedade de propósitos. Para fornecer contexto adicional, diversas aplicações estão descritas usando as figuras 3 e 4.
Referindo-se à figura 3, em uma implementação um sistema 200 inclui um codifica- dor 210 acoplado a um dispositivo de transmissão/armazenamento 220. O codificador 210 e o dispositivo de transmissão/armazenamento 220 podem ser implementados, por exemplo, em um computador ou em um codificador de comunicações. O codificador 210 acessa o estado estimado 170 fornecido pelo estimador de estado 110 do sistema 100 na figura 1, e acessa a entrada de dados 160 usada pelo estimador de estado 110. O codificador 210 co- difica a entrada de dados 160 de acordo com um ou mais de uma variedade de algoritmos de codificação, e fornece uma saída de dados codificados 230 para o dispositivo de trans- missão/armazenamento 220.
Adicionalmente, o codificador 210 usa o estado estimado 170 para codificar dife- rencialmente diferentes partes da entrada de dados 160. Por exemplo, se o estado repre- sentar a posição de um objeto em um vídeo, o codificador 210 pode codificar uma parte do vídeo correspondendo à posição estimada usando um primeiro algoritmo de codificação, e pode codificar uma outra parte do vídeo não correspondendo à posição estimada usando um segundo algoritmo de codificação. O primeiro algoritmo, por exemplo, pode fornecer mais redundância de codificação do que o segundo algoritmo de codificação, de maneira que a posição estimada do objeto (e esperançosamente o objeto propriamente dito) será esperada ser reproduzida com mais detalhes e resolução do que outras partes do vídeo.
Assim, por exemplo, uma transmissão de uma maneira geral de baixa resolução pode fornecer maior resolução para o objeto que está sendo rastreado, permitindo, por e- xemplo, a um usuário ver uma bola de golfe em uma partida de golfe com maior facilidade. Uma implementação como esta permite a um usuário observar a partida de golfe em um dispositivo móvel através de um vínculo de baixa largura de banda (baixa taxa de dados). O dispositivo móvel pode ser, por exemplo, um telefone celular ou um assistente digital pesso- al. A taxa de dados é mantida baixa pela codificação do vídeo da partida de golfe em uma baixa taxa de dados, mas usando bits adicionais, quando comparada às outras partes das imagens, para codificar a bola de golfe.
O dispositivo de transmissão/armazenamento 220 pode incluir um ou mais de um dispositivo de armazenamento ou um dispositivo de transmissão. Desta maneira, o dispositi- vo de transmissão/armazenamento 220 acessa os dados codificados 230 e ou transmite os dados 230 ou armazena os dados 230.
Referindo-se à figura 4, em uma implementação um sistema 300 inclui um dispositi- vo de processamento 310 acoplado a um dispositivo de armazenamento local 315 e acopla- do a um mostrador 320. O dispositivo de processamento 310 acessa o estado estimado 170 5 fornecido pelo estimador de estado 110 do sistema 100 na figura 1, e acessa a entrada de dados 160 usada pelo estimador de estado 110. O dispositivo de processamento 310 usa o estado estimado 170 para aprimorar a entrada de dados 160 e fornece uma saída de dados aprimorados 330. O dispositivo de processamento 310 pode produzir dados, incluindo o es- tado estimado, a entrada de dados, e elementos dos mesmos para serem armazenados no 10 dispositivo de armazenamento local 315, e pode recuperar tais dados do dispositivo de ar- mazenamento local 315. O mostrador 320 acessa a saída de dados aprimorados 330 e exi- be os dados aprimorados no mostrador 320.
Referindo-se à figura 5, um diagrama 400 inclui uma função de distribuição de pro- babilidade 410 para um estado de um sistema dinâmico. O diagrama 400 representa de forma pictorial várias funções executadas por uma implementação do estimador de estado 110. O diagrama 400 representa uma ou mais funções em cada um dos níveis A, B, C e D.
O nível A representa a geração das quatro partículas A1, A2, A3 e A4 por meio de um PF. Por conveniência, linhas tracejadas verticais separadas indicam a posição da função de distribuição de probabilidade 410 acima de cada uma das quatro partículas A1, A2, A3 e A4.
O nível B representa a mudança das quatro partículas A1-A4 para as partículas cor- respondentes B1-B4 por meio de um algoritmo de busca de modo local com base em uma análise de mudança de meio. Por conveniência, linhas cheias verticais indicam a posição da função de distribuição de probabilidade 410 acima de cada uma das quatro partículas B1, 25 B2, B3 e B4. A mudança de cada uma das partículas A1-A4 está mostrada graficamente pelas setas correspondentes MS1-MS4, as quais indicam o movimento de partícula das po- sições indicadas pelas partículas A1-A4 para as posições indicadas pelas partículas B1-B4, respectivamente.
O nível C representa as partículas ponderadas C2-C4, as quais têm as mesmas 30 posições que as partículas B2-B4, respectivamente. As partículas C2-C4 têm tamanhos va- riando indicando uma ponderação que foi determinada para as partículas B2-B4 no PF. O nível C também reflete uma redução no número de partículas, de acordo com um processo de amostragem, tal como um processo de amostragem KLD, no qual a partícula B1 foi des- cartada.
O nível D representa três novas partículas geradas durante um processo de rea-
mostragem. O número de partículas geradas no nível D é igual ao número de partículas no nível C, tal como indicado por uma seta R (R se mantém para reamostragem). Referindo-se agora à figura 6, está ilustrado um fluxo de processo de alto nível 600 de um método para determinar uma localização de um objeto em uma imagem em uma se- qüência de imagens digitais. Uma trajetória do objeto pode ser estimada com base na infor- mação de localização de quadros anteriores 605. Estimativa de trajetória é conhecida para 5 os versados na técnica. Um filtro de partículas pode ser operado 610. Várias implementa- ções de filtro de partículas são descritas a seguir. A localização do objeto predito por uma saída do filtro de partículas pode ser verificada para oclusão 615. Implementações de méto- dos de verificar oclusão são explicadas a seguir. Se oclusão for encontrada 620, então uma posição pode ser determinada usando projeção e interpolação de trajetória 625. Implemen- 10 tações de determinação de posição são explicadas a seguir com relação à figura 16, por exemplo. Se oclusão não for encontrada, então a saída de filtro de partículas é usada para determinar posição de partícula 630. Se oclusão não for encontrada, então o modelo é veri- ficado para deslocamento 635. Deslocamento se refere a uma mudança no modelo, tal co- mo pode ocorrer, por exemplo, se o objeto está se movendo para mais longe ou mais perto, 15 ou mudando de cor. Se for encontrado deslocamento acima de um limiar 635, então um mo- delo de objeto não é atualizado 640. Isto pode ser útil, por exemplo, porque grandes valores de deslocamento podem indicar uma oclusão parcial. Atualizar o modelo com base em uma oclusão parcial pode produzir um modelo inferior para ser usado. De outro modo, se deslo- camento não estiver acima do limiar, então um modelo pode ser atualizado 645. Quando 20 ocorrem pequenas mudanças (pequenos valores de deslocamento), existe tipicamente mais confiabilidade ou confiança de que as mudanças são mudanças verdadeiras para o objeto e não mudanças causadas, por exemplo, por oclusão.
Referindo-se agora à figura 7, será discutido um processo 500 de implementar um filtro de partículas. O processo 500 inclui acessar um conjunto inicial de partículas e fatores 25 de ponderação cumulativos de um estado anterior 510. Fatores de ponderação cumulativos podem ser gerados de um conjunto de pesos de partícula e tipicamente permitem proces- samento mais rápido. Deve-se notar que na primeira vez através do processo 500 o estado anterior será o estado inicial e o conjunto inicial de partículas e pesos (fatores de pondera- ção cumulativos) necessitará ser gerado. O estado inicial pode ser fornecido, por exemplo, 30 como o estado inicial 150 (da figura 1).
Referindo-se de novo à figura 7, uma variável de controle de laço “it” é inicializada 515 e um laço 520 é executado repetidamente antes de determinar o estado atual. O laço 520 usa a variável de controle de laço “it", e executa “reiteração” número de vezes. Dentro do laço 520, cada partícula no conjunto inicial de partículas é tratada separadamente em um 35 laço 525. Em uma implementação, o PF é aplicado ao vídeo de uma partida de tênis para rastrear uma bola de tênis, e o laço 520 é executado um número de vezes predeterminado (o valor da variável de repetição de laço “reiteração”) para cada novo quadro. Cada repeti- ção do laço 520 é esperada para melhorar a posição das partículas, de maneira que quando a posição da bola de tênis é estimada para cada quadro, a estimativa é suposta estar base- ada em boas partículas.
O laço 525 inclui selecionar uma partícula com base em um fator de ponderação cumulativo 530. Este é um método para selecionar a localização de partícula remanescente com o maior peso, tal como é conhecido. Deve-se notar que muitas partículas podem estar na mesma localização, em cujo caso tipicamente somente é necessário executar o laço 525 uma vez para cada localização. O laço 525 inclui então atualizar a partícula ao predizer uma nova posição no espaço de estado para a partícula selecionada 535. A predição usa o mo- delo dinâmico do PF. Esta etapa será explicada com mais detalhes a seguir.
O modelo dinâmico caracteriza a mudança do estado de objeto entre quadros. Por exemplo, um modelo de movimento, ou estimativa de movimento, que reflete a cinemática do objeto pode ser empregado. Em uma implementação, um modelo de velocidade constan- te fixada com variância de ruído fixada pode ser encaixado às posições de objeto em qua- dros passados.
O laço 525 inclui então determinar o peso da partícula atualizada usando o modelo de medição do PF 540. Determinar o peso envolve, como é conhecido, analisar os dados observados/medidos (por exemplo, os dados de vídeo no quadro atual). Continuando a im- plementação de partida de tênis, dados do quadro atual, na localização indicada pela partí- cula, são comparados com dados da última localização da bola de tênis. A comparação po- de envolver, por exemplo, analisar histogramas de cor ou executar detecção de borda. O peso determinado para a partícula é baseado em um resultado da comparação. A operação 540 também inclui determinar o fator de ponderação cumulativo para a posição de partícula.
O laço 525 inclui então determinar se mais partículas são para ser processadas 542. Se mais partículas forem para ser processadas, o laço 525 é repetido e o processo 500 salta para a operação 530. Depois de executar o laço 525 para cada partícula no conjunto de partículas inicial (ou “antigo”), um conjunto completo de partículas atualizadas é gerado.
O laço 520 inclui então gerar um “novo” conjunto de partículas e novos fatores de ponderação cumulativos usando um algoritmo de reamostragem 545. O algoritmo de rea- mostragem é baseado nos pesos das partículas, focalizando assim em partículas com maio- res pesos. O algoritmo de reamostragem produz um conjunto de partículas em que cada uma tem o mesmo peso individual, mas certas localizações tipicamente têm muitas partícu- las posicionadas nessas localizações. Assim, as localizações de partículas tipicamente têm diferentes fatores de ponderação cumulativos.
Reamostragem tipicamente também ajuda a reduzir o problema de degeneração que é comum em PFs. Existem diversos modos para reamostrar, tais como reamostragem polinomial, residual, estratificada e sistemática. Uma implementação usa reamostragem re- sidual porque reamostragem residual não é sensível à ordem de partícula.
O laço 520 continua ao incrementar a variável de controle de laço “it” 550 e compa- rar “it” com a variável de repetição “reiteração” 555. Se uma outra repetição através do laço 520 for necessária, então o novo conjunto de partículas e seus fatores de ponderação cumu- Iativos são tornados disponíveis 560.
Depois de executar o laço 520 um “reiterado” número de vezes, o conjunto de partí- culas é esperado ser um “bom” conjunto de partículas, e o estado atual é determinado 565. O novo estado é determinado, como é conhecido, pelo cálculo da média das partículas no novo conjunto de partículas.
Referindo-se agora à figura 8, será explicada uma outra implementação de um fluxo
de processo incluindo um filtro de partículas. O fluxo de processo global é similar ao fluxo de processo descrito anteriormente com referência à figura 7, e elementos comuns à figura 7 e à figura 8 não serão descritos aqui detalhadamente. O processo 800 inclui acessar um con- junto inicial de partículas e fatores de ponderação cumulativos de um estado anterior 805. 15 Uma variável de controle de laço “it” é inicializada 810 e um laço é executado repetidamente antes de determinar o estado atual. No laço, uma partícula é selecionada de acordo com um fator de ponderação cumulativo. O processo atualiza então a partícula ao predizer uma nova posição no espaço de estado para a partícula selecionada 820. A predição usa o modelo dinâmico do PF.
O modo local da partícula é então procurado usando uma superfície de correlação,
tal como uma superfície de correlação baseada em SSD 825. Um local mínimo da SSD é identificado, e então a posição da partícula é mudada para o local mínimo identificado da SSD. Outras implementações, usando uma superfície apropriada, identificam um local má- ximo da superfície e mudam a posição da partícula para o local máximo identificado. O peso 25 da partícula deslocada é então determinado 830 a partir do modelo de medição. A título de exemplo, uma superfície de correlação e múltiplas hipóteses podem ser empregadas na computação do peso, tal como descrito a seguir. Se existirem mais partículas a processar 835, então o laço retorna para escolher uma partícula. Se todas as partículas tiverem sido processadas, então as partículas são reamostradas com base nos novos pesos, e um novo 30 grupo de partículas é gerado 840. A variável de controle de laço “it” é incrementada 845. Se “it” for menor do que o limiar de repetição 850, então o processo muda para o grupo de par- tículas antigo 870, e repete o processo.
Se a repetição final tiver sido completada, uma etapa adicional é conduzida antes de obter o estado atual. Um indicador de oclusão para o objeto no quadro anterior é verifica- do 855. Se o indicador de oclusão mostrar oclusão no quadro anterior, então um subconjun- to de partículas é considerado para seleção do estado atual 860. O subconjunto de partícu- las é selecionado pelas partículas tendo o peso mais alto. Em uma modalidade, o subcon- junto de partículas é a partícula tendo o peso mais alto. Se mais de uma partícula tiver o mesmo peso mais alto, então todas as partículas tendo o peso mais alto são incluídas no subconjunto. O estado da partícula pode ser suposto um estado de detecção. A seleção de um subconjunto de partículas é feita porque oclusão afeta negativamente a confiabilidade de partículas tendo menores pesos. Se o indicador de oclusão mostrar que não existe oclusão no quadro anterior, então uma média do novo grupo de partículas pode ser usada para de- terminar o estado atual 865. Neste caso, o estado é um estado de rastreamento. Será per- cebido que a média pode ser ponderada de acordo com pesos de partícula. Também deve ser percebido que outras medidas estatísticas além de uma média (por exemplo, um meio) podem ser empregadas para determinar o estado atual.
Referindo-se à figura 9, é explicada uma implementação 900 do modelo dinâmico (820 da figura 8). No modelo dinâmico, informação de movimento de quadros anteriores pode ser empregada. Pelo uso de informação de movimento de quadros anteriores, as par- tículas provavelmente estarão mais próximas da posição real do objeto, aumentando assim eficiência, precisão ou ambas. No modelo dinâmico, como uma alternativa, um passo aleató- rio pode ser empregado na geração de partículas.
O modelo dinâmico pode empregar um modelo de espaço de estado para rastrea- mento de objeto pequeno. Um modelo de espaço de estado para rastreamento de objeto pequeno, para uma imagem, em uma seqüência de imagens digitais, no tempo t, pode ser formulado como:
xt+1 = fktfUt)>
zt = U-
onde Xt representa o vetor de estado de objeto, Zt é o vetor de observação, f e g são duas funções avaliadas por vetor (o modelo dinâmico e o modelo de observação, res- pectivamente), e /vt e ξί representam o ruído de processo ou dinâmico, e ruído de observa- ção respectivamente. Em estimativa de movimento, o vetor de estado de objeto é definido como X = (x, y), onde (x, y) são as coordenadas do centro de uma janela de objeto. O mo- vimento estimado é preferivelmente obtido de dados de quadros anteriores, e pode ser esti- mado a partir da equação de fluxo ótico. O movimento estimado para um objeto em uma imagem no tempo t pode ser Vt. O modelo dinâmico pode ser representado por:
Xt+1 = xt + Vt + Ut
A variância de ruído de predição /vt pode ser estimada dos dados de movimento, tal como de uma medida de erro de estimativa de movimento. Um movimento residual da e- quação de fluxo ótico pode ser empregado. Alternativamente, a variância de ruído de predi- ção pode ser um critério baseado em intensidade, tal como um residual de compensação de movimento; entretanto, uma variância baseada em dados de movimento pode ser preferível a uma variância baseada em dados de intensidade. Para cada partícula, um indicador de oclusão armazenado é lido, indicado pelo blo- co 905. O indicador de oclusão indica se o objeto foi determinado para verificar oclusão no quadro anterior. Se a leitura do indicador 910 indicar que o objeto foi ocluído, então nenhu- ma estimativa de movimento é empregada no modelo dinâmico 915. Será percebido que 5 oclusão reduz a precisão de estimativa de movimento. Um valor de variância de ruído de predição para a partícula pode ser estabelecido para um máximo 920. Ao contrário, se a leitura do indicador de oclusão mostrar que não existe oclusão no quadro anterior, então o processo usa estimativa de movimento 925 ao gerar partículas. Um método de variância de ruído de predição pode ser estimado 930, tal como a partir dos dados de movimento.
Referindo-se agora à figura 10, está ilustrada uma implementação de um fluxo de
processo 1000 executado com relação a cada partícula em um modelo dinâmico dentro de um filtro de partículas, antes da amostragem. Inicialmente, é verificado um indicador de o- clusão na memória 1005. O indicador de oclusão pode indicar oclusão do objeto no quadro anterior. Se oclusão do objeto no quadro anterior for encontrada 1010, então estimativa de 15 movimento não é usada para o modelo dinâmico 1030, e a variância de ruído de predição para a partícula é estabelecida para um máximo 1035. Se o indicador de oclusão armaze- nado não indicar oclusão do objeto no quadro anterior, então estimativa de movimento é executada 1015.
Estimativa de movimento pode ser baseada no uso de posições do objeto em qua- dros passados na equação de fluxo ótico. A equação de fluxo ótico é conhecida para os ver- sados na técnica. Depois da estimativa de movimento, detecção de falha 1020 é executada na localização de partícula resultante da estimativa de movimento. Várias métricas podem ser usadas para detecção de falha. Em uma implementação, uma média de uma diferença de intensidade absoluta entre a imagem de objeto tal como refletida no modelo e uma man- cha de imagem centralizada em volta da localização de partícula derivada da estimativa de movimento pode ser calculada. Se a média exceder um limiar selecionado, então a estimati- va de movimento é suposta ter falhado 1025, e nenhum uso é feito dos resultados de esti- mativa de movimento 1030 para a partícula. A variância de ruído de predição para a partícu- la pode ser estabelecida para o seu máximo 1035. Se a estimativa de movimento for supos- ta como não tendo falhado, então o resultado de estimativa de movimento é salvo 1040 co- mo a predição para essa partícula. Variância de ruído de predição pode então ser estimada 1045. Por exemplo, a equação de fluxo ótico pode ser usada para fornecer um valor de mo- vimento residual o qual pode ser usado como a variância de ruído de predição.
Referindo-se agora à figura 11, será discutida uma implementação de computar pe- so de partícula usando o modelo de medição. O método 1100 é executado com relação a cada partícula. O método 1100 começa com o cálculo de uma superfície métrica, a qual po- de ser uma superfície de correlação, tal como indicado pelo bloco 1105. Uma superfície mé- trica pode ser empregada para medir a diferença entre um modelo, ou modelo alvo, e a atual partícula candidata. Em uma implementação, uma superfície métrica pode ser gerada como se segue.
Uma métrica para a diferença entre o modelo e a partícula candidata pode ser uma superfície métrica, tal como uma superfície de correlação. Em uma implementação, uma superfície de soma dos quadrados das diferenças (SSD) é usada, a qual tem a seguinte fórmula:
= arg mín EIrM-1Gir + x, )T
XlEViZ X^w
Aqui, W representa a janela de objeto, Viz é uma pequena vizinhança em volta do centro de objeto Xt. T é o modelo de objeto e I é a imagem no quadro atual. Em um pequeno objeto com um plano de fundo desordenado, esta superfície pode não representar uma es- timativa precisa de uma probabilidade. Uma superfície de correlação exemplar adicional pode ser:
ΦΟ= ΣΙτΜ~ι(χ+χ.)Ιχ,sViz
O tamanho da superfície de correlação pode ser variado. Dependendo da qualidade
da estimativa de movimento, a qual pode ser determinada como o inverso da variância, o tamanho da superfície de correlação pode ser variado. Em geral, com maior qualidade de estimativa de movimento, a superfície de correlação pode ser feita menor.
Múltiplas hipóteses para o movimento da partícula podem ser geradas 1110 com base na superfície métrica. Hipóteses candidatas são associadas com um local mínimo ou máximo da superfície de correlação. Por exemplo, se J candidatos da superfície de correla- ção SSD forem identificados na área de suporte Viz, J+1 hipóteses podem ser definidas co- mo:
H0 = {Cj = C : j = 1.....j},
Hj = {Cj = T1Ci = C: i= 1.....j, i*j},j = 1 ,...J1
onde Cj = T significa que o candidato de ordem j é associado com o casamento ver- dadeiro, Cj = C de outro modo. A hipótese H0 significa que nenhum dos candidatos está as- sociado com o casamento verdadeiro. Nesta implementação, desordem é assumida estar distribuída uniformemente sobre a vizinhança Viz e de outro modo a medição orientada por casamento verdadeiro é uma distribuição gaussiana.
Com essas suposições, a probabilidade associada com cada partícula pode ser ex- pressada por:
P(z, \X,) = <lou (·) + Cn Σ>=ι qjN (rί ’ σ<)’
de tal maneira que q0 ,q, = 1
onde Cn é um fator de normalização, q0éa probabilidade anterior da hipótese H0 e qj é a probabilidade para a hipótese Hjl j=1,...,J. Desta maneira, a medição de probabilidade usando s SSD é refinada considerando desordem pelo uso de múltiplas hipóteses.
Uma estimativa de variância de distribuição de resposta 1115 também é feita.
Uma determinação pode ser feita tal como para se a partícula está ocluída. Deter- minação de oclusão de partícula pode ser com base em uma avaliação baseada em intensi- dade 1120, tal como uma métrica SAD (soma das médias das diferenças), a qual pode ser usada para comparar um modelo de objeto e a partícula candidata. Tais avaliações são co- nhecidas para os versados na técnica. Com base na SAD1 uma determinação pode ser feita tal como para partículas que muito provavelmente devem estar ocluídas. Avaliações de o- clusão baseadas em intensidade são de computação relativamente barata, mas em um pla- no de fundo desordenado podem não ser altamente precisas. Por estabelecer um alto limiar, certas partículas podem ser determinadas para estar ocluídas usando uma avaliação base- ada em intensidade 1125, e seus pesos estabelecidos para um mínimo 1130. Em tais casos, pode existir uma alta confiança de que oclusão ocorreu. Por exemplo, um limiar pode ser selecionado de tal maneira que o caso de oclusão real sem desordem é identificado, mas outros casos de oclusão não são identificados.
Se a avaliação baseada em intensidade não indicar oclusão, então uma determina- ção de oclusão de partícula probabilística pode ser feita 1135. A detecção de oclusão de partícula probabilística pode ser baseada nas múltiplas hipóteses geradas e na estimativa de variância de distribuição de resposta. Uma distribuição a pode ser gerada para aproximar a superfície SSD e oclusão é determinada (ou não) com base nessa distribuição usando um autovalor de uma matriz de covariância, tal como discutido a seguir.
Uma distribuição de resposta pode ser definida para aproximar uma distribuição de probabilidades na localização de casamento verdadeiro. Em outras palavras, uma probabili- dade D de que a localização de partícula é uma localização de casamento verdadeiro pode ser:
onde p é um fator de normalização. O fator de normalização pode ser escolhido pa- ra assegurar uma resposta máxima selecionada, tal como um máximo de 0,95. Uma matriz de covariância Rt associada com a medição Zt é construída a partir da distribuição de res- posta como
onde (xp, yp) é o centro de janela de cada candidato e Nr = X<x,y)evizDt(x,y) é o fator de normalização de covariância. Os recíprocos dos autovalores de Rt podem ser usados como uma métrica de confiança associada com o candidato. Em uma implementação, o au- tovalor máximo de Rt pode ser comparado a um limiar; se o autovalor máximo exceder o
D(Xt) = exp(-p.r(Xt)), limiar, oclusão é detectada. Em resposta a uma detecção de oclusão 1140, à partícula é dado o menor peso disponível 1130, o qual de uma maneira geral será um peso diferente de zero. Se oclusão não for detectada, uma probabilidade pode ser calculada.
Em uma implementação, se oclusão for detectada, em vez de estabelecer o peso ou probabilidade para o menor valor, a probabilidade de partícula pode ser gerada com base em intensidade e movimento, mas sem consideração à trajetória. Por outro lado, se oclusão não for detectada, probabilidade para a partícula pode ser gerada com base em intensidade, por exemplo.
Em uma implementação, pesos a ser designados para partículas podem ser basea- dos pelo menos em parte em consideração a pelo menos uma parte da imagem próxima da posição indicada pela partícula. Por exemplo, para uma dada partícula, uma mancha, tal como um bloco 5x5 de pixels de um modelo de objeto, é comparada com a posição indicada pela partícula e com outras áreas. A comparação pode ser baseada em uma matriz de soma das diferenças absolutas (SAD) ou em um histograma, particularmente para objetos maio- res. O modelo de objeto é assim comparado à imagem em volta da posição indicada pela partícula. Se as comparações fora de posição forem suficientemente diferentes, então o pe- so designado para a partícula pode ser maior. Por outro lado, se a área indicada pela partí- cula for mais similar às outras áreas, então o peso da partícula pode ser reduzido corres- pondentemente. Uma superfície de correlação, tal como uma SSD, pode ser gerada que modela as áreas fora de posição, com base nas comparações.
Se o resultado da determinação for que a partícula não está ocluída, então uma es- timativa pode ser feita da probabilidade de trajetória 1145. Com relação à estimativa do peso de partícula, uma determinação ponderada pode ser empregada 1150.
A determinação ponderada pode incluir uma ou mais de probabilidade de intensida- 25 de (por exemplo, comparação de modelo), probabilidade de movimento (por exemplo, uma extrapolação linear de localizações passadas de objeto) e probabilidade de trajetória. Estes fatores podem ser empregados para determinar uma probabilidade ou peso de cada partícu- la no filtro de partículas. Em uma implementação, uma suposição pode ser feita de que mo- vimento de câmera não afeta uniformidade de trajetória e, portanto, não afeta a probabilida- 30 de de trajetória. Em uma implementação, uma probabilidade de partícula pode ser definida como:
p(z,\x,)=p(zr \x, y(zr\x, W” \χ,) ■
onde Zt = {Ztint,Ztmov,Zt‘ri}, em que uma medição de intensidade, a qual pode ser ba- seada em superfície SSD, é Ztint, uma probabilidade de movimento é dada por Ztmov e uma probabilidade de trajetória é dada por Zttrj. Estes três valores podem ser assumidos para ser independentes. O cálculo da probabilidade de intensidade P(Zt'nt | Xt) é conhecido para os versados na técnica. A probabilidade de movimento pode ser calculada com base na diferença entre a mudança de posição da partícula (velocidade) e a mudança média na posição do objeto a- través de quadros recentes:
dL· àx) + (jAyfI Ay)2, t>i
onde (AxtlAyt) é a mudança de posição da partícula com relação a (Xt^1 Y^), e
^x, Δγ) é a velocidade média de objeto através de uma seleção de quadros recentes, isto é,
_ r-l _ í-1
Ax = Zta-x^iK'-1)- Ay = Zta-jviK'-i)·
S-I S-I
Consequentemente a probabilidade de movimento pode ser calculada com base em uma distância dmov (por exemplo, a distância euclidiana) entre a posição predita pelo modelo dinâmico e a posição de partícula como
p(zr\X,)=-r-í-exp
V 2—
ίπσ„
r
2 σΐ
mov \ mov J
Em uma implementação, uma probabilidade de uniformidade de trajetória pode ser estimada a partir da proximidade da partícula a uma trajetória que é calculada com base em uma seqüência de posições do objeto em quadros recentes do vídeo. A função de trajetória pode ser representada como y = f(x), cuja forma paramétrica pode ser:
Em ,
,=oa‘X ’
onde a, representa os coeficientes polinomiais e m é a ordem da função polinomial (por exemplo, m = 2). No cálculo da função de trajetória a fórmula pode ser modificada. Uma 20 primeira modificação pode envolver desconsiderar ou descontar posições de objeto, se a posição de objeto for determinada para corresponder a um estado ocluído no quadro passa- do particular. Segundo, um fator de ponderação, o qual pode ser chamado de fator de es- quecimento, é calculado para ponderar a proximidade da partícula à trajetória. Quanto mais quadros nos quais o objeto é ocluído tanto menos segura é a trajetória estimada, e conse- 25 quentemente tanto maior o fator de esquecimento.
O “fator de esquecimento” é simplesmente um valor de confiança. Um usuário pode designar um valor para o fator de esquecimento com base em uma variedade de considera- ções. Tais considerações podem incluir, por exemplo, se o objeto está ocluído em uma ima- gem anterior, o número de imagens anteriores nas quais o objeto está ocluído, o número de 30 imagens anteriores consecutivas nas quais o objeto está ocluído, ou a confiabilidade de da- dos não ocluídos. Cada imagem pode ter um fator de esquecimento diferente.
Em uma implementação exemplar, a probabilidade de uniformidade de trajetória pode ser dada por: p(z;^xl)=TL=ex p
V Irj
i^fVdY
2σ I,
onde o valor de proximidade é dtrj = |y - f(x)|, Af é a razão de esquecimento selecio- nada manualmente, 0 < Af < 1 (por exemplo, Af = 0,9), e t_ocl é o número de quadros recen- tes nos quais o objeto está ocluído.
do no quadro precedente, então uma probabilidade de partícula pode ser determinada com base em uma probabilidade de intensidade e em uma probabilidade de trajetória, mas não considerando uma probabilidade de movimento. Se uma determinação for feita de que o objeto não está ocluído no quadro precedente, então uma probabilidade de partícula pode ser determinada com base em uma probabilidade de intensidade e em uma probabilidade de movimento, mas não considerando uma probabilidade de trajetória. Isto pode ser vantajoso porque, quando a localização do objeto é conhecida no quadro anterior, de forma típica exis- te relativamente pouco benefício em fornecer restrições de trajetória. Além disso, incorporar restrições de trajetória pode violar a suposição de cadeia de Markov temporal, isto é, o uso de restrições de trajetória apresenta o estado seguinte dependendo do estado de quadros a não ser o quadro imediatamente precedente. Se o objeto estiver ocluído, ou uma determina- ção tiver sido feita de que estimativa de movimento estará abaixo de um limiar, então tipi- camente não existe nenhum benefício em incluir probabilidade de movimento na determina- ção de probabilidade de partícula. Nesta implementação, a probabilidade de partícula pode ser expressada por:
onde Ot = 0 se o objeto estiver ocluído e 1 de outro modo.
Referindo-se agora à figura 12, está mostrada uma ilustração de um encaixe exem- plar de uma trajetória de objeto para localizações de objeto em quadros de um vídeo. Os 25 elementos 1205, 1206 e 1207 representam localizações de um pequeno objeto em três qua- dros de um vídeo. Os elementos 1205, 1206 e 1207 estão em uma zona 1208 e não estão ocluídos. Os elementos 1230 e 1231 representam localizações de um pequeno objeto em dois quadros do vídeo, depois dos quadros representados pelos elementos 1205, 1206 e 1207. Os elementos 1230 e 1231 estão na zona 1232 e foi determinado estar ocluídos, e 30 assim existe um alto nível de incerteza a respeito das localizações determinadas. Assim, na figura 12, t_ocl = 2. Uma trajetória real 1210 está mostrada, a qual é projetada para uma trajetória predita 1220.
Referindo-se agora à figura 13, está ilustrado um fluxo de processo de uma imple- mentação de um modelo. No começo do fluxo de processo da figura 13, um novo estado de um objeto foi estimado, tal como por meio de um filtro de partículas. O novo estado estimado
5
Em uma implementação, se uma determinação for feita de que o objeto está ocluí-
p(z, \x,)=p(z;m \xt )p(z,mov \xt f-' p(z‘,rj \xt)' corresponde, por exemplo, a uma localização estimada de um objeto em um novo quadro. 0 fluxo de processo 1300 da figura 13 pode ser empregado para determinar se é para reutili- zar um modelo existente na estimativa do estado para o próximo quadro seguinte. Tal como indicado pela etapa 1305, detecção de oclusão é executada na nova localização estimada do objeto no quadro atual. Se oclusão for detectada 1310, então um indicador de oclusão é estabelecido na memória 1330. Esta indicação pode ser empregada no filtro de partículas para o quadro seguinte, por exemplo. Se oclusão não for detectada, então o fluxo de pro- cesso prossegue para detectar deslocamento 1315. Em uma implementação, deslocamento pode ser na forma de um movimento residual entre a imagem do objeto no novo quadro e o modelo inicial. Se o deslocamento exceder um limiar 1320, então o modelo não é atualizado 1335. Se deslocamento não exceder um limiar então o modelo pode ser atualizado 1325, com uma imagem de janela de objeto do quadro atual. Parâmetros de movimento de objeto também podem ser atualizados.
Referindo-se agora à figura 14, está ilustrado um fluxograma de uma implementa- ção alternativa para o processo 1300 para atualizar modelos de objeto e refinar estimativas de posição. No processo 1400, depois da determinação do estado atual de objeto, é execu- tada detecção de oclusão para a localização de objeto determinada e o quadro atual 1405. Se oclusão for detectada 1410, então a posição de objeto estimada pode ser modificada. Tal modificação pode ser útil porque, por exemplo, a oclusão pode reduzir a confiança de que a localização de objeto determinada é precisa. Assim, uma estimativa de posição refinada pode ser útil. Em um exemplo, a determinação de oclusão pode ser baseada na existência de desordem, e a localização de objeto determinada pode ser realmente a localização de algum da desordem.
A modificação pode ser implementada usando informação relacionada a uniformi- dade de trajetória. Uma posição de objeto pode ser projetada em uma determinada trajetória 1415 usando informação de dados de posição em quadros anteriores. Uma projeção de li- nha reta usando velocidade constante, por exemplo, pode ser empregada. A posição pode ser refinada 1420.
Referindo-se à figura 15, é fornecida uma ilustração de um processo de projetar uma localização de objeto em uma trajetória e refinar a localização. Uma trajetória 1505 está mostrada. A posição 1510 representa uma posição de objeto em um quadro anterior. O pon- to de dados 1515 representa a posição Xj em um quadro anterior no tempo j. O ponto de dados 1520 representa uma posição X em um quadro anterior no tempo i. Os pontos de da- dos 1510, 1515 e 1520 representam posições de objetos não ocluídos, e assim são dados de qualidade relativamente alta. Os pontos de dados 1525, 1530, 1535, 1540 representam posições do objeto em quadros anteriores, mas sujeitos a oclusão. Desta maneira, estes pontos de dados podem ser desconsiderados ou receber um menor peso nos cálculos de trajetória. A trajetória 1505 foi desenvolvida anteriormente baseada no encaixe destes pon- tos de dados, sujeitos a ponderação para oclusão de certos pontos de dados.
Um cálculo inicial da posição do objeto no quadro atual, isto é, no tempo atu, pode ser determinado usando uma linha reta e velocidade constante, usando a fórmula:
Xmu = X, +(X,~Xj)* (atu - «M* - j) ■
Isto está representado por meio de uma projeção de linha reta 1550 (também refe- rida como uma extrapolação linear) para obter uma localização estimada inicial de quadro atual 1545 (também referida como uma estimativa de localização linear). A localização esti- mada inicial de quadro atual pode então ser projetada na trajetória calculada como (também referida como um ponto de projeção), o qual é o ponto na trajetória mais próximo a Xaiu. A projeção pode usar a fórmula:
onde Af é a razão de esquecimento, 0 < Af < 1 (por exemplo, Af = 0,9), e t_ocl é o número de quadros em que o objeto foi ocluído desde a última vez que ele esteve visível. Em uma implementação, uma projeção pode ser um ponto na trajetória interpolada entre
Xmu e Xatu ■ Assim, a projeção será em uma linha entre Xatu e Xatu. Em uma implementa- ção como esta, a projeção pode ser representada por:
Na figura 15, o objeto foi ocluído nos dois últimos quadros, tal como representado pelas posições 1530, 1535, t_ocl = 2. A aplicação desta fórmula desloca de uma maneira geral a localização de objeto para uma posição interpolada entre a trajetória e a projeção de linha reta. À medida que t_ocl se torna maior a trajetória é menos certa, e a localização fica mais próxima da projeção de linha reta. No exemplo dado pela figura 15, a posição interpo- lada 1540 é determinada. A posição 1540 está ocluída, já que ela está dentro de uma zona ocluída 1545.
Referindo-se de novo à figura 14, será explicado o fluxo de processo quando o re- sultado da verificação para oclusão resulta em nenhuma oclusão encontrada. Deslocamento do modelo de objeto é determinado 1425. Deslocamento do modelo pode ser detectado pela aplicação de estimativa de movimento tanto ao modelo atual quanto ao modelo inicial. Os resultados são comparados. Se a diferença entre os dois modelos depois da aplicação de estimativa de movimento estiver acima de um limiar 1430, então ocorreu deslocamento. Nesse caso, então o modelo anterior não é atualizado 1445, e um novo modelo é obtido. Se a diferença não estiver acima de um limiar, então o modelo é atualizado 1435.
O fluxo de processo também inclui atualização do indicador de oclusão na memória 1440. O indicador de oclusão para o quadro anterior será então verificado no filtro de parti- cuias durante a estimativa de posição de objeto para o próximo quadro. Referindo-se agora à figura 16, um método 1600 inclui formar uma superfície métri- ca em um quadro baseado em partículas para rastrear um objeto 1605, a superfície métrica se relacionando com uma imagem particular em uma seqüência de imagens digitais. Múlti- plas hipóteses são formadas de uma localização do objeto na imagem particular com base na superfície métrica 1610. A localização do objeto é estimada com base nas probabilidades das múltiplas hipóteses 1615.
Referindo-se agora à figura 17, um método 1700 inclui avaliar uma estimativa de movimento para um objeto em uma imagem particular em uma seqüência de imagens digi- tais 1705, a estimativa de movimento sendo baseada em uma imagem anterior na seqüên- cia. Pelo menos uma estimativa de localização é selecionada para o objeto com base em um resultado da avaliação 1710. A estimativa de localização é parte de um quadro baseado em partículas para rastrear o objeto.
Referindo-se agora à figura 18, um método 1800 inclui selecionar uma partícula em um quadro baseado em partículas usado para rastrear um objeto entre imagens em uma seqüência de imagens digitais 1805, a partícula tendo uma localização. O método 1800 in- clui acessar uma superfície que indica a extensão para a qual uma ou mais partículas ca- sam com o objeto 1810. O método 1800 inclui adicionalmente determinar uma posição na superfície 1815, a posição sendo associada com a partícula selecionada, e indicar a exten- são para a qual a partícula selecionada casa com o objeto. O método 1800 inclui associar um local mínimo ou máximo da superfície com a posição determinada 1820. O método 1800 também inclui deslocar a localização da partícula selecionada para corresponder ao local mínimo ou máximo determinado 1825.
Referindo-se agora à figura 19, um método 1900 inclui formar um modelo de objeto 1905 para um objeto em uma seqüência de imagens digitais. O método 1900 também inclui formar uma estimativa de uma localização do objeto 1910 em uma imagem particular na seqüência, a estimativa sendo formada usando um quadro baseado em partículas. O mode- lo de objeto é comparado a uma parte da imagem particular na localização estimada 1915. É determinado se é para atualizar o modelo de objeto dependendo do resultado da compara- ção 1920.
Referindo-se agora à figura 20, um método 2000 inclui executar uma avaliação com base em intensidade para detectar oclusão 2005 em um quadro baseado em partículas para rastrear um objeto entre imagens em uma seqüência de imagens digitais. Em uma imple- mentação, a avaliação baseada em intensidade pode ser com base em associação de da- dos. Se oclusão não for detectada, 2010, então uma avaliação probabilística é executada para detectar oclusão 2015. Em uma implementação, a avaliação probabilística pode incluir o método descrito anteriormente baseado em uma superfície de correlação. Um indicador do resultado do processo de detectar oclusão é armazenado opcionalmente 2020.
Referindo-se agora à figura 21, um método 2100 inclui selecionar um subconjunto de partículas disponíveis 2105 para rastrear um objeto entre imagens em uma seqüência de imagens digitais. Em uma implementação, tal como mostrado na figura 21, a(s) partícula(s) tendo uma probabilidade mais alta é(são) selecionada(s). Um estado é estimado com base no subconjunto de partículas selecionado 2110.
Referindo-se agora à figura 22, um método 2200 inclui determinar que uma posição estimada para um objeto em um quadro particular em uma seqüência de imagens digitais está ocluída 2205. Uma trajetória é estimada para o objeto 2210. A posição estimada é mu- dada com base na trajetória estimada 2215.
Referindo-se agora à figura 23, um método 2300 inclui determinar uma trajetória de objeto 2310. O objeto pode estar, por exemplo, em uma imagem particular em uma seqüên- cia de imagens digitais, e a trajetória pode ser baseada em uma ou mais localizações ante- riores do objeto em uma ou mais imagens anteriores na seqüência. O método 2300 inclui 15 determinar um peso de partícula baseado na distância da partícula à trajetória 2320. A partí- cula pode ser usada, por exemplo, em um quadro baseado em partículas para rastrear o objeto. O método 2300 inclui determinar uma localização de objeto com base no peso de partícula determinado 2330. A localização pode ser determinada usando, por exemplo, um quadro baseado em partículas.
Implementações podem produzir, por exemplo, uma estimativa de localização para
um objeto. Uma estimativa como esta pode ser usada na codificação de uma imagem que inclui o objeto, por exemplo. A codificação pode usar, por exemplo, MPEG-1, MPEG-2, MPEG-4, H.264, ou outras técnicas de codificação. A estimativa, ou a codificação, pode ser fornecida, por exemplo, em um sinal ou em uma mídia legível por processador. Implementa- 25 ções também podem ser adaptadas para aplicações que não de rastreamento de objeto, ou aplicações não de vídeo. Por exemplo, um estado pode representar um recurso a não ser uma localização de objeto, e não necessita mesmo se relacionar a um objeto.
As implementações descritas neste documento podem ser implementadas, por e- xemplo, em um método ou processo, um aparelho ou em um software. Mesmo se discutido 30 somente no contexto de uma única forma de implementação (por exemplo, discutido somen- te como um método), a implementação de recursos discutida também pode ser implementa- da em outras formas (por exemplo, um aparelho ou programa). Um aparelho pode ser im- plementado, por exemplo, em hardware apropriado, software e firmware. Os métodos po- dem ser implementados, por exemplo, em um aparelho tal como, por exemplo, um proces- 35 sador, o qual se refere a dispositivos de processamento em geral, incluindo, por exemplo, um computador, um microprocessador, um circuito integrado, ou um dispositivo lógico pro- gramável. Dispositivos de processamento também incluem dispositivos de comunicação, tais como, por exemplo, computadores, telefones celulares, assistentes digitais portá- teis/pessoais (“PDAs”), e outros dispositivos que facilitam comunicação de informação entre usuários finais.
Implementações dos vários processos e recursos descritos neste documento po- dem ser incorporadas em uma variedade de diferentes equipamentos ou aplicações, particu- larmente, por exemplo, equipamentos ou aplicações associados com codificação e decodifi- cação de dados. Exemplos de equipamento incluem codificadores de vídeo, decodificadores de vídeo, codificadores/decodificadores de vídeo, servidores de rede, aparelhos conversores de sinais, computadores portáteis, computadores pessoais, telefones celulares, PDAs e ou- tros dispositivos de comunicação. Tal como deve estar claro, o equipamento pode ser móvel e mesmo instalado em um veículo móvel.
Adicionalmente, os métodos podem ser implementados por meio de instruções sendo executadas por um processador, e tais instruções podem ser armazenadas em uma mídia legível por processador tal como, por exemplo, um circuito integrado, um portador de software ou outro dispositivo de armazenamento tal como, por exemplo, um disco rígido, um disco compacto, uma memória de acesso aleatório (“RAM”), ou uma memória somente de leitura (“ROM”). As instruções podem formar um programa de aplicação incorporado de mo- do tangível em uma mídia legível por processador. Instruções podem ser, por exemplo, em hardware, firmware, software, ou em uma combinação. Instruções podem ser encontradas, por exemplo, em um sistema de operação, uma aplicação separada, ou em uma combina- ção dos dois. Portanto, um processador pode ser caracterizado, por exemplo, tanto como um dispositivo configurado para executar um processo quanto um dispositivo que inclui uma mídia legível por computador tendo instruções para executar um processo.
Tal como deve estar evidente para os versados na técnica, implementações tam- bém podem produzir um sinal formatado para carregar informação que pode ser, por exem- plo, armazenada ou transmitida. A informação pode incluir, por exemplo, instruções para executar um método, ou dados produzidos por uma das implementações descritas. Um sinal como este pode ser formatado, por exemplo, como uma onda eletromagnética (por exemplo, usando uma parte de radiofreqüência de espectro) ou como um sinal de banda base. A for- matação pode incluir, por exemplo, codificar um fluxo de dados e modular uma portadora com o fluxo de dados codificados. A informação que o sinal leva pode ser, por exemplo, in- formação analógica ou digital. O sinal pode ser transmitido através de uma variedade de diferentes vínculos com fio ou sem fio, tal como é conhecido.
Diversas implementações foram descritas. Apesar disso, será entendido que várias modificações podem ser feitas. Por exemplo, elementos de diferentes implementações po- dem ser combinados, suplementados, modificados, ou removidos para produzir outras im- plementações. Adicionalmente, uma pessoa de conhecimento comum entenderá que outras estruturas e processos podem ser substituídos por esses revelados e as implementações resultantes executarão pelo menos substancialmente a(s) mesma(s) função(s), pelo menos substancialmente no(s) mesmo(s) modo(s), para alcançar pelo menos substancialmente o(s) mesmo(s) resultado(s) tal como as implementações reveladas. Desta maneira, estas e ou- 5 tras implementações são consideradas por este pedido e estão dentro do escopo das reivin- dicações a seguir.

Claims (18)

1. Método, CARACTERIZADO pelo fato de que compreende: estimar uma localização para um objeto em uma imagem particular de uma se- qüência de imagens, a localização sendo estimada usando um quadro baseado em partícu- las; determinar que a localização estimada para o objeto na imagem particular está o- cluída; estimar uma trajetória para o objeto com base em uma ou mais localizações anteri- ores do objeto em uma ou mais imagens anteriores na seqüência de imagens; e mudar a localização estimada do objeto com base na trajetória estimada.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que compreende adicionalmente: determinar uma parte de objeto da imagem particular que inclui a localização esti- mada mudada do objeto; determinar uma parte não de objeto da imagem que é separada da parte de objeto; e codificar a parte de objeto e a parte não de objeto, de tal maneira que a parte de objeto é codificada com mais redundância de codificação do que é codificada a parte não de objeto.
3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que mudar a localização estimada compreende: determinar uma estimativa de localização linear com base em uma extrapolação li- near de uma ou mais localizações anteriores do objeto em uma ou mais imagens anteriores na seqüência de imagens; determinar a localização estimada mudada com base na estimativa de localização linear.
4. Método, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que determinar a localização estimada mudada compreende: determinar um ponto de projeção na trajetória estimada mais próximo da estimativa de localização linear; selecionar uma localização em uma linha conectando o ponto de projeção determi- nado e a estimativa de localização linear, a localização sendo selecionada com base em um valor de confiança na trajetória estimada.
5. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que o valor de confiança é baseado no número de imagens anteriores consecutivas da seqüência na qual o objeto foi ocluído.
6. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o objeto é pequeno o suficiente, de tal maneira que a uma ou mais localizações anteriores do objeto dentro de uma imagem não sobrepõe a cada outra.
7. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a trajetória estimada é não linear.
8. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a uma ou mais localizações anteriores do objeto, as quais são usadas na estimativa da trajetó- ria, são localizações não ocluídas.
9. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a trajetória é estimada pelo menos em parte a partir de uma ocorrência ponderada de oclusão do objeto em imagens anteriores na seqüência de imagens.
10. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que uma localização de objeto em um estado de oclusão em uma das imagens anteriores na seqüência de imagens é desconsiderada na estimativa da trajetória.
11. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que uma confiabilidade de uma trajetória estimada é ponderada por informação se relacionando com oclusão de um objeto em uma ou mais imagens anteriores.
12. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o objeto tem um tamanho de menos que cerca de 30 pixels.
13. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o quadro baseado em partículas compreende um filtro de partículas.
14. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o método é implementado em um codificador.
15. Aparelho, CARACTERIZADO pelo fato de que compreende: um dispositivo de armazenamento para armazenar dados se relacionando com uma imagem particular em uma seqüência de imagens digitais; e um processador para executar uma medida baseada em intensidade para detectar oclusão em um quadro baseado em partículas para rastrear um objeto na seqüência de i- magens digitais, e para executar, se oclusão não for detectada na etapa de executar uma medida baseada em intensidade, uma medida probabilística para detectar oclusão no qua- dro baseado em partículas.
16. Aparelho, de acordo com a reivindicação 15, CARACTERIZADO pelo fato de que compreende adicionalmente um codificador que inclui o dispositivo de armazenamento e o processador.
17. Mídia legível por processador, CARACTERIZADA pelo fato de que tem arma- zenado na mesma uma pluralidade de instruções para efetuar: execução de uma avaliação baseada em intensidade para detectar oclusão em um quadro baseado em partículas para rastrear um objeto em uma seqüência de imagens digi- tais; e execução, se oclusão não for detectada na etapa de execução de uma avaliação baseada em intensidade, de uma medida probabilística para detectar oclusão no quadro baseado em partículas.
18. Aparelho, CARACTERIZADO pelo fato de que compreende: dispositivo para armazenar dados se relacionando com uma imagem particular em uma seqüência de imagens digitais; dispositivo para executar uma avaliação baseada em intensidade para detectar o- clusão em um quadro baseado em partículas para rastrear um objeto em uma seqüência de imagens digitais; e dispositivo para executar, se oclusão não for detectada na etapa de execução de uma avaliação baseada em intensidade, uma medida probabilística para detectar oclusão no quadro baseado em partículas.
BRPI0718950-8A 2006-12-01 2007-11-30 Estimativa de uma localização de um objeto em uma imagem BRPI0718950A2 (pt)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US87214606P 2006-12-01 2006-12-01
US87214506P 2006-12-01 2006-12-01
US60/872.145 2006-12-01
US60/872.146 2006-12-01
US88578007P 2007-01-19 2007-01-19
US60/885.780 2007-01-19
PCT/US2007/024686 WO2008069995A2 (en) 2006-12-01 2007-11-30 Estimating a location of an object in an image

Publications (1)

Publication Number Publication Date
BRPI0718950A2 true BRPI0718950A2 (pt) 2013-12-17

Family

ID=39492817

Family Applications (3)

Application Number Title Priority Date Filing Date
BRPI0719033-6A2A BRPI0719033A2 (pt) 2006-12-01 2007-11-30 Estimativa de uma localização de um objeto em uma imagem
BRPI0718950-8A BRPI0718950A2 (pt) 2006-12-01 2007-11-30 Estimativa de uma localização de um objeto em uma imagem
BRPI0719555-9A BRPI0719555A2 (pt) 2006-12-01 2007-11-30 Estimativa de uma localização de um objeto em uma imagem

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BRPI0719033-6A2A BRPI0719033A2 (pt) 2006-12-01 2007-11-30 Estimativa de uma localização de um objeto em uma imagem

Family Applications After (1)

Application Number Title Priority Date Filing Date
BRPI0719555-9A BRPI0719555A2 (pt) 2006-12-01 2007-11-30 Estimativa de uma localização de um objeto em uma imagem

Country Status (6)

Country Link
US (3) US20100067803A1 (pt)
EP (3) EP2087469A2 (pt)
JP (3) JP2010511932A (pt)
CN (1) CN101681517A (pt)
BR (3) BRPI0719033A2 (pt)
WO (3) WO2008070012A2 (pt)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009067170A1 (en) * 2007-11-16 2009-05-28 Thomson Licensing Estimating an object location in video
TWI351001B (en) * 2007-11-21 2011-10-21 Ind Tech Res Inst Method and apparatus for adaptive object detection
WO2009085233A2 (en) * 2007-12-21 2009-07-09 21Ct, Inc. System and method for visually tracking with occlusions
JP5043756B2 (ja) * 2008-06-09 2012-10-10 本田技研工業株式会社 状態推定装置および状態推定プログラム
GB2469074A (en) * 2009-03-31 2010-10-06 Sony Corp Object tracking with polynomial position adjustment
GB201004232D0 (en) 2010-03-15 2010-04-28 Bae Systems Plc Target tracking
US9240053B2 (en) 2010-03-15 2016-01-19 Bae Systems Plc Target tracking
US8672837B2 (en) 2010-06-24 2014-03-18 Hansen Medical, Inc. Methods and devices for controlling a shapeable medical device
JP4893855B1 (ja) * 2010-12-21 2012-03-07 オムロン株式会社 画像認証装置、画像処理システム、画像認証装置制御プログラム、コンピュータ読み取り可能な記録媒体、および画像認証方法
US8553943B2 (en) 2011-06-14 2013-10-08 Qualcomm Incorporated Content-adaptive systems, methods and apparatus for determining optical flow
JP5498454B2 (ja) * 2011-09-15 2014-05-21 株式会社東芝 追跡装置、追跡方法およびプログラム
US9373040B2 (en) * 2011-11-01 2016-06-21 Google Inc. Image matching using motion manifolds
US8977003B1 (en) * 2012-07-17 2015-03-10 Google Inc. Detecting objects in a sequence of images
US8953843B1 (en) 2012-07-17 2015-02-10 Google Inc. Selecting objects in a sequence of images
US9057600B2 (en) 2013-03-13 2015-06-16 Hansen Medical, Inc. Reducing incremental measurement sensor error
US9271663B2 (en) 2013-03-15 2016-03-01 Hansen Medical, Inc. Flexible instrument localization from both remote and elongation sensors
US9406144B2 (en) * 2013-03-15 2016-08-02 Luminex Corporation Real-time tracking and correlation of microspheres
US9629595B2 (en) 2013-03-15 2017-04-25 Hansen Medical, Inc. Systems and methods for localizing, tracking and/or controlling medical instruments
US9014851B2 (en) 2013-03-15 2015-04-21 Hansen Medical, Inc. Systems and methods for tracking robotically controlled medical instruments
US11020016B2 (en) 2013-05-30 2021-06-01 Auris Health, Inc. System and method for displaying anatomy and devices on a movable display
CN103345258B (zh) * 2013-06-16 2016-05-18 西安科技大学 一种足球机器人目标追踪方法及系统
JP6261266B2 (ja) * 2013-10-02 2018-01-17 東芝アルパイン・オートモティブテクノロジー株式会社 移動体検知装置
US9684830B2 (en) * 2014-11-14 2017-06-20 Intel Corporation Automatic target selection for multi-target object tracking
US9600901B2 (en) * 2014-12-22 2017-03-21 International Business Machines Corporation Video tracker having digital signal processor
PL411602A1 (pl) * 2015-03-17 2016-09-26 Politechnika Poznańska System do estymacji ruchu na obrazie wideo i sposób estymacji ruchu na obrazie wideo
CN104778272B (zh) * 2015-04-24 2018-03-02 西安交通大学 一种基于区域挖掘和空间编码的图像位置估计方法
US9483839B1 (en) * 2015-05-06 2016-11-01 The Boeing Company Occlusion-robust visual object fingerprinting using fusion of multiple sub-region signatures
US9767378B2 (en) 2015-08-31 2017-09-19 Sony Corporation Method and system to adaptively track objects
AU2016323982A1 (en) 2015-09-18 2018-04-12 Auris Health, Inc. Navigation of tubular networks
US10143526B2 (en) 2015-11-30 2018-12-04 Auris Health, Inc. Robot-assisted driving systems and methods
US10198818B2 (en) * 2016-10-12 2019-02-05 Intel Corporation Complexity reduction of human interacted object recognition
US10244926B2 (en) 2016-12-28 2019-04-02 Auris Health, Inc. Detecting endolumenal buckling of flexible instruments
KR102558061B1 (ko) 2017-03-31 2023-07-25 아우리스 헬스, 인코포레이티드 생리적 노이즈를 보상하는 관강내 조직망 항행을 위한 로봇 시스템
DE102017108107A1 (de) * 2017-04-13 2018-10-18 Volkswagen Aktiengesellschaft Verfahren, vorrichtung und computerlesbares speichermedium mit instruktionen zur schätzung einer pose eines kraftfahrzeugs
JP6757701B2 (ja) * 2017-05-29 2020-09-23 Kddi株式会社 任意の追跡器を割り当てたパーティクルを用いる物体追跡プログラム、装置及び方法
US10022192B1 (en) 2017-06-23 2018-07-17 Auris Health, Inc. Automatically-initialized robotic systems for navigation of luminal networks
WO2019005696A1 (en) 2017-06-28 2019-01-03 Auris Health, Inc. DETECTION OF ELECTROMAGNETIC DISTORTION
EP3644885B1 (en) 2017-06-28 2023-10-11 Auris Health, Inc. Electromagnetic field generator alignment
CN107481262B (zh) * 2017-07-19 2020-02-28 中国科学院自动化研究所 基于多任务相关粒子滤波的视觉跟踪方法、装置
US11058493B2 (en) 2017-10-13 2021-07-13 Auris Health, Inc. Robotic system configured for navigation path tracing
US10555778B2 (en) 2017-10-13 2020-02-11 Auris Health, Inc. Image-based branch detection and mapping for navigation
AU2018384820A1 (en) 2017-12-14 2020-05-21 Auris Health, Inc. System and method for estimating instrument location
KR20200101334A (ko) 2017-12-18 2020-08-27 아우리스 헬스, 인코포레이티드 관강내 조직망 내 기구 추적 및 항행을 위한 방법 및 시스템
JP7214747B2 (ja) 2018-03-28 2023-01-30 オーリス ヘルス インコーポレイテッド 位置センサの位置合わせのためのシステム及び方法
KR102500422B1 (ko) 2018-03-28 2023-02-20 아우리스 헬스, 인코포레이티드 기구의 추정된 위치를 디스플레이하기 위한 시스템 및 방법
EP3801190A4 (en) 2018-05-30 2022-03-02 Auris Health, Inc. SYSTEMS AND METHODS FOR SENSOR-BASED BRANCH LOCATION PREDICTION
KR102455671B1 (ko) 2018-05-31 2022-10-20 아우리스 헬스, 인코포레이티드 이미지-기반 기도 분석 및 매핑
MX2020012898A (es) 2018-05-31 2021-02-26 Auris Health Inc Navegacion de redes tubulares basada en trayecto.
EP3801280A4 (en) 2018-05-31 2022-03-09 Auris Health, Inc. ROBOTIC SYSTEMS AND LUMINAL NETWORK NAVIGATION METHODS THAT DETECT PHYSIOLOGICAL NOISE
US11010622B2 (en) * 2018-11-02 2021-05-18 Toyota Research Institute, Inc. Infrastructure-free NLoS obstacle detection for autonomous cars
WO2021038495A1 (en) 2019-08-30 2021-03-04 Auris Health, Inc. Instrument image reliability systems and methods
WO2021038469A1 (en) 2019-08-30 2021-03-04 Auris Health, Inc. Systems and methods for weight-based registration of location sensors
CN114641252B (zh) 2019-09-03 2023-09-01 奥瑞斯健康公司 电磁畸变检测和补偿
EP4084721A4 (en) 2019-12-31 2024-01-03 Auris Health Inc IDENTIFICATION OF AN ANATOMIC FEATURE AND AIMING
KR20220123087A (ko) 2019-12-31 2022-09-05 아우리스 헬스, 인코포레이티드 경피 접근을 위한 정렬 인터페이스
KR20220123076A (ko) 2019-12-31 2022-09-05 아우리스 헬스, 인코포레이티드 경피 접근을 위한 정렬 기법
CN113076123A (zh) * 2021-04-19 2021-07-06 智领高新科技发展(北京)有限公司 一种用于目标跟踪的自适应模板更新系统及方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6096165A (ja) * 1983-10-27 1985-05-29 Mitsubishi Electric Corp 補機駆動型始動電動機
GB2183878B (en) * 1985-10-11 1989-09-20 Matsushita Electric Works Ltd Abnormality supervising system
US4868871A (en) * 1987-08-13 1989-09-19 Texas Instruments Incorporated Nonparametric imaging tracker
US6081605A (en) * 1993-03-08 2000-06-27 The United States Of America As Represented By The Secretary Of The Navy Clutter rejection through edge integration
US6226388B1 (en) * 1999-01-05 2001-05-01 Sharp Labs Of America, Inc. Method and apparatus for object tracking for automatic controls in video devices
US6621929B1 (en) * 1999-06-22 2003-09-16 Siemens Corporate Research, Inc. Method for matching images using spatially-varying illumination change models
US6535114B1 (en) * 2000-03-22 2003-03-18 Toyota Jidosha Kabushiki Kaisha Method and apparatus for environment recognition
US7113185B2 (en) * 2002-11-14 2006-09-26 Microsoft Corporation System and method for automatically learning flexible sprites in video layers
US7379563B2 (en) * 2004-04-15 2008-05-27 Gesturetek, Inc. Tracking bimanual movements
US7894647B2 (en) * 2004-06-21 2011-02-22 Siemens Medical Solutions Usa, Inc. System and method for 3D contour tracking of anatomical structures
JP2006260527A (ja) * 2005-02-16 2006-09-28 Toshiba Corp 画像マッチング方法およびこれを用いた画像補間方法
US20060245618A1 (en) * 2005-04-29 2006-11-02 Honeywell International Inc. Motion detection in a video stream
US10555775B2 (en) * 2005-05-16 2020-02-11 Intuitive Surgical Operations, Inc. Methods and system for performing 3-D tool tracking by fusion of sensor and/or camera derived data during minimally invasive robotic surgery
US8135185B2 (en) * 2006-10-20 2012-03-13 Stereotaxis, Inc. Location and display of occluded portions of vessels on 3-D angiographic images

Also Published As

Publication number Publication date
JP2010511931A (ja) 2010-04-15
WO2008070012A3 (en) 2009-10-22
WO2008070012A2 (en) 2008-06-12
WO2008069995A2 (en) 2008-06-12
US20100054536A1 (en) 2010-03-04
BRPI0719555A2 (pt) 2013-12-10
CN101681517A (zh) 2010-03-24
WO2008069998A3 (en) 2009-10-29
EP2087470A2 (en) 2009-08-12
JP2010511933A (ja) 2010-04-15
WO2008069998A2 (en) 2008-06-12
US20100067802A1 (en) 2010-03-18
EP2087468A2 (en) 2009-08-12
BRPI0719033A2 (pt) 2013-11-05
WO2008069995A3 (en) 2009-10-22
US20100067803A1 (en) 2010-03-18
JP2010511932A (ja) 2010-04-15
EP2087469A2 (en) 2009-08-12

Similar Documents

Publication Publication Date Title
BRPI0718950A2 (pt) Estimativa de uma localização de um objeto em uma imagem
KR101323056B1 (ko) 여러 종류의 입력을 이용한 사람의 식별 방법 및 시스템
KR100660725B1 (ko) 얼굴 추적 장치를 가지는 휴대용 단말기
JP5846517B2 (ja) 画像構図変更の品質評価
US20090238406A1 (en) Dynamic state estimation
US9147261B2 (en) Video object tracking using multi-path trajectory analysis
US20180359415A1 (en) Panoramic video processing method and device and non-transitory computer-readable medium
US9911191B2 (en) State estimation apparatus, state estimation method, and integrated circuit with calculation of likelihood data and estimation of posterior probability distribution data
US10375360B2 (en) State estimation apparatus, state estimation method, integrated circuit, and non-transitory computer-readable storage medium
KR102080694B1 (ko) 곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 방법 및 장치와 비일시적 컴퓨터 판독가능 기록매체
US20150116597A1 (en) Trajectory Features and Distance Metrics for Hierarchical Video Segmentation
CN110765946A (zh) 一种跑姿评估方法、装置、设备和存储介质
US20190065891A1 (en) Image detection method, system and non-volatile computer readable medium
CN114638862A (zh) 一种视觉跟踪方法及跟踪装置
KR102192461B1 (ko) 불확정성을 모델링할 수 있는 뉴럴네트워크 학습 장치 및 방법
US20050025242A1 (en) Sequential motion pattern representation
KR101309519B1 (ko) 객체 추적 장치 및 방법
CN109166138B (zh) 基于高阶累积量的目标跟踪方法、装置及存储介质
Elassal et al. Unsupervised crowd counting
CN115272428A (zh) 图像对齐方法、装置、计算机设备和存储介质
JP4879257B2 (ja) 移動対象追跡装置、移動対象追跡方法及び移動対象追跡プログラム
CN113204891A (zh) 基于指数平滑预测的dp-tbd算法跟踪方法及设备
US9646087B2 (en) Scene break prediction based on characteristics of previous scenes
JP5746078B2 (ja) 時間的再現確率推定装置、状態追跡装置、方法、及びプログラム
WO2019241963A1 (zh) 基于高阶累积量的目标跟踪方法、装置及存储介质

Legal Events

Date Code Title Description
B11A Dismissal acc. art.33 of ipl - examination not requested within 36 months of filing
B11Y Definitive dismissal - extension of time limit for request of examination expired [chapter 11.1.1 patent gazette]