BRPI0711800A2 - identificação de pessoas usando múltiplos tipos de entrada - Google Patents

identificação de pessoas usando múltiplos tipos de entrada Download PDF

Info

Publication number
BRPI0711800A2
BRPI0711800A2 BRPI0711800-7A BRPI0711800A BRPI0711800A2 BR PI0711800 A2 BRPI0711800 A2 BR PI0711800A2 BR PI0711800 A BRPI0711800 A BR PI0711800A BR PI0711800 A2 BRPI0711800 A2 BR PI0711800A2
Authority
BR
Brazil
Prior art keywords
classifier
aspects
input
video
data
Prior art date
Application number
BRPI0711800-7A
Other languages
English (en)
Inventor
Cha Zhang
Paul A Viola
Pei Yin
Ross G Gutler
Xinding Sun
Yong Rui
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of BRPI0711800A2 publication Critical patent/BRPI0711800A2/pt

Links

Classifications

    • 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/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/446Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering using Haar-like filters, e.g. using integral image techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/02Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/24Speech recognition using non-acoustical features
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42203Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] sound input device, e.g. microphone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • G10L2021/02161Number of inputs available containing the signal or the noise to be suppressed
    • G10L2021/02166Microphone arrays; Beamforming

Abstract

IDENTIFICAçãO DE PESSOAS USANDO MúLTIPLOS TIPOS DE ENTRADA. Sistemas e métodos para detectar pessoas ou oradores em um modo automatizado são revelados. Uma combinação de aspectos incluindo mais do que um tipo de entrada (como entrada de áudio e entrada de vídeo) pode ser identificada e usada com um algoritmo de aprendizagem para gerar um classificador que identifica pessoas ou oradores. O classificador resultante pode ser avaliado para detectar pessoas ou oradores.

Description

"IDENTIFICAÇÃO DE PESSOAS USANDO MÚLTIPLOS TIPOS DE ENTRADA"
ANTECEDENTES
Existe uma ampla variedade de situações nas quais é desejável identificar pessoas, incluindo pessoas que estão falando, usando sistemas que são, pelo menos em parte, automatizados. Alguns sistemas existentes que identificam oradores usam áudio - por exemplo, eles poderiam usar "localização de fonte de som", que inclui processar a entrada de múltiplos microfones em localizações diferentes para tentar identificar a direção ou direções das quais o discurso se origina. Alguns outros sistemas tentam melhorar a precisão dos métodos como localização da fonte do som executando "fusão do nível de decisão", onde os dados de múltiplas entradas são combinados no ponto onde as decisões sobre a detecção da pessoa ou orador são feitas.
SUMÁRIO
O seguinte apresenta um sumário simplificado da revelação a fim de prover um entendimento básico para o leitor. Esse sumário não é uma visão geral extensiva da revelação e não identifica elementos chaves ou críticos da invenção ou delineiam o escopo da invenção. Sua única finalidade é apresentar alguns conceitos revelados aqui em uma forma simplificada como um prelúdio para a descrição mais detalhada que é apresentada a seguir.
São descritas aqui várias tecnologias e técnicas direcionadas para a identificação de pessoas, incluindo oradores. Tais tecnologias e técnicas incluem a identificação de uma combinação de "aspectos" de identificação provenientes de múltiplos tipos de entrada ou modalidades (trajetórias através das quais um sistema de computação pode reconhecer a entrada), incluindo de ambas as entradas de áudio e vídeo e a geração de um "classificador" que inclui um subconjunto de aspectos da combinação de aspectos onde o subconjunto de aspectos é selecionado de modo que o classificador identifica eficientemente regiões onde pessoas ou oradores poderiam existir.
DESCRIÇÃO DOS DESENHOS
A figura 1 ilustra um diagrama generalizado exemplar mostrando um sistema no qual a detecção da pessoa poderia ser realizada.
A figura 2 ilustra uma representação gráfica de uma imagem exemplar bem como regiões exemplares que poderiam ser identificadas como contendo pessoas ou oradores.
A figura 3 ilustra um fluxo operacional generalizado exemplar incluindo várias operações que podem ser executadas quando identificando uma pessoa.
A figura 4 ilustra um diagrama generalizado exemplar mostrando alguns aspectos exemplares que poderiam ser identificados e usados em algumas implementações.
A figura 5 ilustra alguns aspectos de vídeo exemplares.
A figura 6 ilustra um retângulo de aspecto exemplar representativo que inclui alguns aspectos de vídeo exemplares.
A figura 7 ilustra um diagrama generalizado exemplar mostrando um sistema no qual a geração de um classificador para detecção de pessoa ou orador poderia ser realizada.
A figura 8 ilustra um diagrama generalizado exemplar mostrando um sistema no qual a detecção de pessoas ou oradores poderia ser realizada.
A figura 9 ilustra algumas representações exemplares das janelas de detecção que podem ser usadas como parte do processo de detecção de pessoas ou oradores.
A figura 10 ilustra um dispositivo de computador exemplar no qual as várias tecnologias descritas aqui podem ser implementadas.
DESCRIÇÃO DETALHADA
A presente invenção se estende para várias tecnologias e técnicas direcionadas para a identificação de pessoas, incluindo oradores. Mais particularmente descritos aqui, entre outras coisas, estão métodos e sistemas que facilitam a identificação de pessoas usando múltiplos tipos de entrada onde os múltiplos tipos de entrada são considerados um começo do processo de detecção, ao invés de ser combinado no fim do processo de detecção.
Com referência agora à figura 1, é ilustrado nela um diagrama generalizado exemplar mostrando um sistema 100 no qual a detecção de pessoa poderia ser realizada. Essa descrição da figura 1 é feita com referência à figura 10. Entretanto, deve ser entendido que os elementos descritos com referência à figura 1 não são planejados para serem limitados ao uso com os elementos descritos com referência a essa outra figura. Além disso, embora o diagrama exemplar na figura 1 indique elementos particulares, em algumas implementações nem todos esses elementos podem existir, e em algumas implementações, elementos adicionais podem existir.
São incluídos na figura 1 um ou mais dispositivos de entrada de vídeo 110, um ou mais dispositivos de entrada de áudio 120, um ou mais outros dispositivos de entrada 130, dados de vídeo 140, dados de áudio 150, outros dados 160, um detector de pessoa 170 implementado em um dispositivo detector 165, um dispositivo auxiliar 175 e a saída do detector de pessoa, qualquer pessoa ou oradores detectados 180.
O detector 170 aceita entrada, que ele pode então usar para tentar identificar uma ou mais pessoas 180, incluindo pessoas que estão falando ou "oradores". O detector pode usar uma variedade de mecanismos para tentar identificar as pessoas, incluindo esses discutidos em mais detalhes aqui. Em algumas implementações, o detector pode executar mecanismos de detecção determinados em outro lugar, enquanto em outras implementações o detector pode determinar e executar os mecanismos de detecção. O detector pode usar uma variedade de entradas, incluindo dados de vídeo 140, dados de áudio 150 e outros dados 160.
O um ou mais dispositivos de entrada de vídeo 110 podem compreender uma variedade de dispositivos de entrada de vídeo, incluindo uma variedade de câmeras e tipos de câmera com uma faixa de funcionalidade. Em uma implementação, os dispositivos de entrada de vídeo 110 poderiam incluir múltiplas câmeras localizadas em uma disposição circular de modo a prover uma visão de 360°. Em outras implementações, a mesma visão de 360° poderia ser provida por uma única câmera, talvez com uma única lente. Em ainda outras implementações, o um ou mais dispositivos de entrada de vídeo poderiam prover uma visão que cobre uma faixa menor do que 360°.
Pelo menos parte da saída do um ou mais dispositivos de entrada de vídeo 110 é os dados de vídeo 140. Esses dados podem incluir múltiplos quadros únicos de dados de vídeo, onde cada quadro compreende uma imagem composta de múltiplos pixels. Por exemplo, uma câmera que é capaz de produzir vídeo em uma taxa de 30 quadros de vídeo por segundo poderia produzir como saída 30 imagens a cada segundo. Em algumas implementações, cada imagem produzida pela câmera poderia ser conhecida como a "imagem de base" (para diferenciá-la de outras imagens calculadas, como a diferença de curto prazo e as imagens médias de longo prazo explicadas abaixo). Observe que o um ou mais dispositivos de entrada de vídeo 110 podem prover dados em uma variedade de formas, incluindo nas formas onde todos os pixels de cada quadro de vídeo não são explicitamente transmitidos do dispositivo de entrada de vídeo. Por exemplo, a saída do um ou mais dispositivos de entrada de vídeo 110 poderia compreender um único quadro de vídeo inicial onde valores para todos os pixels no quadro são providos, e a saída para pelo menos alguns quadros subseqüentes adicionais pode somente incluir mudanças do quadro inicial. Nesse caso, a representação de pixel por pixel para qualquer quadro subseqüente pode ser determinada pela aplicação das mudanças no quadro original. Em qualquer caso, cada imagem de base produzida pela câmera pode ser considerada para incluir uma imagem completa de pixel por pixel.
Além disso, os dados de vídeo 140 podem também compreender dados calculados adicionais. Por exemplo, em algumas implementações, pode ser útil calcular uma "diferença de curto prazo" usando múltiplos quadros de vídeo. Uma tal diferença de curto prazo pode ser útil, por exemplo, para identificar o movimento. Embora uma diferença de curto prazo possa ser calculada em uma variedade de maneiras, um método possível é, para cada pixel na imagem, subtrair o valor do pixel no quadro imediatamente precedente do valor do pixel no quadro atual. Contemporaneamente, o método pode também subtrair o valor do pixel no segundo quadro imediatamente precedente do valor do pixel no quadro atual. A seguir, o mínimo das duas operações de subtração pode ser adotado como o valor atual para o pixel. Para pixels onde não existe movimento - isto é, para áreas onde a imagem permanece a mesma - esse método tenderá a produzir valores perto de zero. Para pixels onde existiu movimento recente, esse método pode produzir valores que são, em alguns casos, muito maiores do que zero. Esse método específico pode ser representado pela equação seguinte, onde Mt é a imagem da diferença de curto prazo no tempo t e lt é a imagem da câmera no tempo t.
Mt = min(|lt-lt-1,|/lt-lt-2l)
Observe que, dependendo da velocidade de projeção da câmera, os quadros "precedentes" usados por esse cálculo podem ser mais do que apenas os dois quadros imediatamente precedentes. Por exemplo, quando usando uma câmera com uma velocidade de projeção de 30 quadros por segundo, a pessoa pode usar os quadros de 10 quadros passados e 20 quadros passados ao invés dos dois quadros imediatamente precedentes.
Na mesma ou outras implementações, pode ser útil calcular uma "média de longo prazo" dos quadros de vídeo, que também poderia ser uma parte dos dados de vídeo 140. Uma média de longo prazo poderia identificar porções da região capturadas pelo um ou mais dispositivos de entrada de vídeo 110 onde o movimento previamente existiu, mesmo se o movimento não aconteceu recentemente. Embora uma média de longo prazo possa ser calculada em uma variedade de maneiras, um método possível é calcular uma média corrente das imagens da diferença de curto prazo, talvez incluindo essas produzidas pelo método de diferença de curto prazo descrito previamente. Usando um tal método, o quadro de vídeo médio de longo prazo pode continuamente ser atualizado de modo que cada pixel no quadro é compreendido do valor médio desse pixel de todos ou muitos quadros da imagem de diferença de curto prazo precedentes. Para áreas da região capturada pelas câmeras onde existiu pouco ou nenhum movimento durante o decorrer da captura do vídeo, esse método pode tender a produzir valores que são próximos de zero. Em contraste, para áreas onde existiu movimento em algum ponto no passado, que freqüentemente inclui áreas da região que contêm pessoas, esse método pode tender a produzir valores diferentes de zero.
Além disso, em algumas implementações, ao invés de considerar imagens calculadas, como a diferença de curto prazo e a média de longo prazo, a partir do quadro mais recente dos dados de vídeo, pode ser útil considerá-los como também incluindo pelo menos alguns dados "futuros". Por exemplo, a diferença de curto prazo poderia usar o quadro atual, o quadro precedente mais recente e o "próximo quadro" como entrada, esperando até que o próximo quadro de vídeo seja capturado e a seguir calculando a diferença de curto prazo usando esses três quadros identificados. Qualquer tal operação pode aumentar a latência de pelo menos essa parte do processo de detecção de pessoa pelo tempo necessário para capturar os dados "futuros" adicionais, mas em alguns casos essa latência aumentada pode ser desviada pelos dados finalmente representados pela imagem calculada.
Os dados de vídeo 140 podem compreender qualquer uma ou todas as imagens discutidas previamente, bem como imagens adicionais ou quadros de vídeo. Essas imagens podem ser providas de, ou se requerido, calculadas em, uma variedade de localizações, incluindo o um ou mais dispositivos de entrada de vídeo 110, o detector 170 ou qualquer outro dispositivo. Além disso, embora essa discussão se refira a "vídeo", é importante entender que qualquer câmera capaz de produzir imagens pode ser usada, incluindo essas câmeras não tradicionalmente imaginadas como "câmeras de vídeo". Por exemplo, uma câmera "parada" capaz de tirar um número de fotografias em seqüência pode ser usada em algumas implementações. Além do que, se a detecção do movimento não é julgada importante, em algumas implementações, uma imagem parada única pode ser usada. Além disso, em alguns casos, dados adicionais podem ser usados. Por exemplo, o detector poderia usar cor de pele como um modo adicional para identificar regiões que poderiam conter uma pessoa.
O um ou mais dispositivos de entrada de áudio 120 podem compreender uma variedade de dispositivos de entrada de áudio, incluindo uma variedade de microfones e tipos de microfones com uma faixa de funcionalidade. Em algumas implementações, o um ou mais dispositivos de áudio podem incluir um arranjo de microfones composto de múltiplos microfones localizados em posições diferentes. Com o uso de uma variedade de informação de um tal conjunto de microfones, incluindo talvez o conhecimento das posições diferentes dos microfones e diferenças na amplitude e tempos de chegada para os sons detectados pelos microfones, o ou um ou mais dispositivos de entrada de áudio podem prover dados incluindo direções das quais os sons se originaram. Tal entrada é algumas vezes incluída como parte de uma técnica chamada "localização da fonte do som" (SSL). Em alguns casos, tal informação direcional pode ser útil quando determinando oradores.
Os dados de áudio 150 podem, em algumas implementações, com alguma quantidade de processamento, incluir uma "função de distribuição de probabilidade" que provê valores de probabilidade que representam a probabilidade que o som, incluindo talvez a voz de um orador, esteja vindo de qualquer direção particular. Por exemplo, se a informação do um ou mais dispositivos de entrada de áudio 110 pode ser usada para localizar o som de qualquer direção, a função de distribuição de probabilidade, também citada como função de probabilidade SSL aqui, poderia conter um valor de probabilidade para azimutes, ou direções, diferentes. Para essas direções nas quais pouco ou nenhum som é detectado, o valor de probabilidade pode ser baixo, enquanto que para essas direções das quais mais som é detectado, o valor de probabilidade pode ser alto.
Em algumas implementações, talvez dependendo das capacidades dos dispositivos de entrada de áudio 120, os dados de áudio 150 podem incluir informação adicional. Por exemplo, em algumas implementações, os dados de áudio poderiam incluir a faixa ou distância para fontes de som e/ou a elevação das fontes de som. Em algumas implementações, esses dados - como a faixa para as fontes de som e/ou a elevação das fontes de som - podem também ser associados com funções de distribuição de probabilidade.
Os dados de áudio 150 podem compreender qualquer um ou todos os dados discutidos previamente, bem como dados adicionais. Esses dados podem ser providos de, ou se requerido, calculados em, uma variedade de localizações, incluindo em hardware associado com o um ou mais dispositivos de entrada de áudio 120, o detector 170 ou qualquer outro dispositivo. Por exemplo, em algumas implementações, a localização da fonte do som, talvez produzindo uma função de probabilidade SSL, pode ser executada usando hardware associado com o um ou dispositivos de entrada de áudio, pode ser executada usando hardware associado com o detector ou pode ser executada usando algum outro hardware ou em alguma outra localização.
Em algumas implementações, os dados de vídeo 140 e os dados de áudio 150 podem ser vinculados de alguma forma de modo que as direções associadas com os dados de vídeo podem ser correlacionadas com as direções associadas com os dados de áudio. Por exemplo, em uma tal implementação, a região de uma função de probabilidade SSL de um azimute para um outro poderia estar correlacionada com uma região particular em um ou mais quadros de vídeo, identificados talvez por localizações de pixel horizontais. Por exemplo, em uma implementação, a região de, quer dizer, 10° a 20°, poderia estar correlacionada com pixels localizados, quer dizer, das localizações de pixel horizontais 100 a 200. Com o uso de uma tal correlação, a informação do um ou mais dispositivos de entrada de áudio 120 pode ser usada quando identificando regiões particulares nas imagens providas pelo um ou mais dispositivos de vídeo 110 e vice-versa. Para dados de áudio 150 que incluem informação adicional, como elevação, a informação adicional pode também ser correlacionada com regiões particulares nas imagens. Por exemplo, a informação de elevação pode ser correlacionada com localizações verticais do pixel. Tipos similares de correlação podem também existir com qualquer um do um ou mais outros dispositivos de entrada 130, dependendo da natureza e operação de tais dispositivos.
Em algumas implementações, tipos adicionais de entrada podem existir e ser usados como parte do processo de detecção. Em alguns casos, esses tipos adicionais de entrada poderiam se originar em um ou mais outros dispositivos de entrada 130 e produzir pelo menos parte dos outros dados 160. Por exemplo, um outro dispositivo de entrada possível poderia incluir uma câmera tridimensional que é capaz de prover alguma medida da distância ou profundidade para elementos em uma imagem. O detector 170 pode ser implementado em uma variedade de dispositivos de computação, incluindo em um dispositivo detector 165, como mostrado. Em algumas implementações, esse dispositivo detector pode conter o hardware necessário para implementar a detecção de pessoa e pode ser, por exemplo, conectado em um ou mais dispositivos de entrada de vídeo e um ou mais dispositivos de entrada de áudio através de uma variedade de dispositivos de conexão, tais como USB, qualquer variedade de rede incluindo rede sem fio e assim por diante, como seria verificado pelo versado na técnica. Em outras implementações, o detector pode ser implementado em um dispositivo detector que inclui um ou mais dispositivos de entrada de vídeo e um ou mais dispositivos de entrada de áudio, tal como talvez um ou mais dispositivos de entrada de vídeo 110 e um ou mais dispositivos de entrada de áudio 120. Qualquer dispositivo detector pode incluir uma variedade de elementos de processamento, incluindo unidades de processamento central de finalidade geral (CPUs) e/ou unidades de processador do sinal digital (DSP). Um ambiente de computação exemplar no qual um detector poderia ser implementado é descrito abaixo, com referência à figura 10.
A despeito de se o dispositivo detector 165 contém ou está conectado em elementos como o um ou mais dispositivos de entrada de vídeo 110, o um ou mais dispositivos de entrada de áudio 120 e outros dispositivos de entrada 130, o dispositivo detector pode também, em algumas implementações, ser conectado em um ou mais dispositivos auxiliares 175. Nesse contexto, um dispositivo auxiliar pode ser qualquer dispositivo que proveja funcionalidade adicional que poderia ser associada com ou útil para o dispositivo detector 165. Por exemplo, em algumas implementações, um dispositivo auxiliar poderia compreender um computador Iaptop que contém uma unidade rígida na qual o dispositivo detector poderia armazenar vídeo capturado, áudio e possivelmente regiões nas quais pessoas ou oradores foram detectados. Na mesma ou outras implementações, o dispositivo auxiliar poderia prover ciclos de processamento do computador para o dispositivo detector de modo que, por exemplo, o dispositivo detector pode desfazer-se de um pouco ou todo o seu processamento de detecção para o dispositivo auxiliar. Em ainda outras implementações, um dispositivo auxiliar poderia compreender somente um dispositivo de armazenamento - esse poderia ser, por exemplo, uma unidade rígida em um invólucro USB. Em geral, um dispositivo auxiliar pode ser conectado no dispositivo detector usando qualquer dispositivo de conexão, incluindo USB, qualquer forma de rede e assim por diante.
Em algumas implementações, pode ser importante que os dados de dispositivos de entrada diferentes sejam sincronizados. Por exemplo, a entrada do um ou mais dispositivos de entrada de vídeo 110 pode ser sincronizada com a entrada do um ou mais dispositivos de áudio 120.
Com referência agora à figura 2, é mostrada nela uma representação gráfica de uma imagem exemplar 200, bem como regiões exemplares que poderiam ser identificadas como contendo pessoas ou oradores. São incluídas na representação gráfica uma primeira região 210 associada com uma primeira pessoa identificada, uma segunda região 220 associada com uma segunda pessoa identificada e uma terceira região 230. Essa descrição da figura 2 é feita com referência à figura 1. Entretanto, deve ser entendido que os elementos descritos com referência à figura 2 não são planejados para serem limitados ao uso com os elementos descritos com referência a essa outra figura. Além disso, embora o diagrama exemplar na figura 2 indique elementos particulares, em algumas implementações, nem todos esses elementos podem existir, e em algumas implementações, elementos adicionais podem existir.
A imagem exemplar 200 poderia representar um quadro de vídeo produzido por um ou mais dispositivos de entrada de vídeo, incluindo talvez o um ou mais dispositivos de entrada de vídeo 110 descritos previamente com referência à figura 1.
Em algumas implementações, um detector, talvez como o detector 170 da figura 1, poderia indicar pessoas ou oradores identificados usando localizações de pixel horizontais e físicas que representam um retângulo ou alguma outra forma. Por exemplo, um detector poderia indicar que a primeira região 210 poderia ter uma alta probabilidade de ser associada com uma pessoa ou orador. Similarmente, e possivelmente de maneira contemporânea, isso poderia indicar que a segunda região 220 poderia também ter uma alta probabilidade de ser associada com uma pessoa ou orador. Como pode ser verificado pelo exame da figura 2, no caso da primeira região 210 e da segunda região 220, um tal detector seria correto, já que cada região contém uma pessoa. Um detector poderia também identificar a terceira região 230 como tendo uma alta probabilidade de ser associada com uma pessoa - talvez, por exemplo, por causa da reflexão do som de uma parede ou outra superfície. Como um detector pode somente indicar probabilidades que uma região particular esteja associada com uma pessoa, em alguns casos, as regiões identificadas por um detector podem não conter realmente uma pessoa. O limiar ou nível no qual um detector considera que uma região contenha uma pessoa pode mudar e pode ser definido dependendo da aplicação ou uso do detector. Por exemplo, em algumas implementações, um tal limiar pode ser ajustado para algum valor relativamente alto, que presumivelmente limitaria o número de regiões que poderiam ser associadas com uma pessoa enquanto talvez também limitando o número de regiões que são finalmente mal identificadas.
A imagem exemplar 200 é planejada para finalidades ilustrativas e não deve ser interpretada para limitar o escopo de qualquer invenção reivindicada. Similarmente, a representação das pessoas identificadas e regiões mal identificadas ilustram somente um modo gráfico para mostrar regiões identificadas e mal identificadas. Qualquer modo para representar ou ilustrar as regiões pode ser usado. Com referência agora à figura 3, é mostrado nela um fluxo operacional generalizado exemplar 300 incluindo várias operações que podem ser executadas quando identificando uma pessoa. A descrição seguinte da figura 3 é feita com referência às figuras adicionais, incluindo figura 1, figura 4, figura 8 e figura 9. Entretanto, deve ser entendido que o fluxo operacional descrito com referência à figura 3 não é planejado para ser limitado ao uso com os elementos descritos com referência a essas outras figuras. Além disso, embora o fluxo operacional exemplar da figura 3 indique uma ordem particular de execução, em uma ou mais modalidades alternativas, as operações podem ser ordenadas diferentemente. Além do mais, embora o fluxo operacional exemplar contenha múltiplas etapas, deve ser reconhecido que, em algumas implementações, pelo menos algumas dessas operações podem ser combinadas ou executadas contemporaneamente.
Em uma implementação da operação 310, uma combinação de aspectos é identificada. A combinação de aspectos pode então ser usada como entrada quando executando a operação de gerar classificador 315. Nesse contexto, um aspecto é uma entidade associada com um ou mais tipos de entrada que serve para quantificar algum elemento da entrada ou entradas em um momento particular. Podem existir aspectos de áudio, aspectos de vídeo e outros aspectos associados com outros tipos de entrada. Por exemplo, no caso de entrada de áudio que inclui uma função de probabilidade SSL, um aspecto poderia ser definido, pelo menos em parte, por algum tipo de comparação dos valores mínimos e máximos "locais" da função de probabilidade SSL, comparados com os valores mínimos e máximos "globais" da mesma função de probabilidade SSL (onde "local" poderia se referir aos valores para um subconjunto de toda a função de probabilidade SSL enquanto "global" poderia se referir aos valores para toda a função de probabilidade SSL). Dependendo dos valores da função de probabilidade SSL, diferentes aspectos de áudio produzirão resultados numéricos diferentes. Alguns detalhes específicos aplicáveis a algumas implementações relacionadas com os aspectos que poderiam ser usados, incluindo mais informação sobre aspectos específicos para a entrada de áudio e vídeo, são discutidos em mais detalhes abaixo, por exemplo, com referência à figura 4.
O modo pelo qual a combinação de aspectos poderia ser identificada pode variar dependendo da natureza dos aspectos e da(s) entrada(s) com as quais eles são associados. A identificação dos aspectos, bem como a maneira na qual os aspectos poderiam ser gerados, é freqüentemente a tarefa de um ou mais projetistas com a perícia de domínio aplicável à área do assunto para a qual a combinação de aspectos é para ser gerada. Por exemplo, a criação de um aspecto de áudio que é definido, pelo menos em parte, por uma função que produz um número quando dados valores de uma função de probabilidade SSL poderia requerer a idéia por parte de um projetista humano que planeja o aspecto de áudio. Em alguns casos, aspectos poderiam ser escolhidos porque acredita-se que eles provejam alguma informação sobre a existência de uma pessoa ou orador. Entretanto, é importante observar que um aspecto não tem necessariamente que prover um resultado particularmente "bom" ou sempre preciso. A operação de gerar classificador 315, discutida abaixo, pode ser usada para selecionar, através de um outro processo, os aspectos mais adequados para a detecção de pessoa e orador.
Em uma implementação exemplar de uma tal operação de gerar classificador 315, um subconjunto dos aspectos identificados na operação 310 pode ser selecionado para formar um "classificador". Como usado aqui, o termo "classificador" se refere a uma entidade que, quando apresentada com entradas - incluindo, em algumas implementações, entradas de áudio e vídeo como essas discutidas em outro lugar nesse pedido - pode prover um resultado aproximado que provê alguma estimativa de se uma região particular em uma imagem contém uma pessoa ou orador.
Classificadores são freqüentemente construídos ou criados usando um processo automatizado. Por exemplo, em algumas implementações, classificadores podem ser criados usando algum tipo de "algoritmo de aprendizagem", que compreende um processo que toma alguma entrada e produz uma saída que pode classificar ou responder a perguntas particulares. O classificador gerado geralmente consiste de algum subconjunto dos aspectos identificados na operação 310, onde os aspectos no subconjunto foram selecionados pelo algoritmo de aprendizagem para responder a pergunta associada com o classificador. Dependendo de várias necessidades, os aspectos selecionados poderiam responder a pergunta mais precisamente, mais eficientemente e assim por diante. Em algumas implementações, os aspectos que são uma parte do classificador poderiam ficar localizados no classificador em uma tal maneira de modo a melhorar a operação do classificador quando usado para detecção. Por exemplo, aspectos preferíveis poderiam ser ordenados de modo que eles são avaliados mais cedo no classificador se a sua avaliação requer relativamente menos recursos computacionais, ou se tais aspectos são mais altamente correlacionados com uma pessoa ou orador do que outros aspectos. Tal ordenação poderia ser executada pesando aspectos preferíveis enquanto o classificador é gerado, classificando os aspectos no classificador depois que o classificador foi gerado ou através de outro modo. Alguns detalhes específicos aplicáveis a algumas implementações relacionadas com a geração dos classificadores usando algoritmos de aprendizagem são descritos em mais detalhes abaixo, por exemplo, com referência à figura 7.
Depois que o classificador foi gerado na operação 315, ele pode ser usado na operação 320 para identificar pessoas ou oradores. De forma geral, uma implementação da operação 320 alimenta a entrada, tal como áudio e vídeo, para o classificador, que usa a entrada para determinar a probabilidade que uma pessoa ou orador esteja presente. Em algumas implementações, um ou mais quadros de vídeo podem ser providos como entrada e podem ser logicamente subdivididos em regiões de vários tamanhos e a seguir o classificador pode ser avaliado em cada uma das regiões subdivididas. Como usado aqui, cada região subdividida pode ser conhecida como uma "janela de detecção". Para cada janela de detecção, um detector pode avaliar algum número de aspectos no classificador, finalmente determinando até algum nível de confiança se a região particular contém uma pessoa ou orador. Em algumas implementações, depois que as janelas de detecção foram avaliadas para pessoas ou oradores, as regiões mais promissoras - em alguns casos mais prováveis - podem ser identificadas e liberadas como sendo regiões que contêm uma pessoa ou orador. As regiões mais prováveis poderiam ser identificadas, em parte, escolhendo regiões que têm algum número relativamente grande de janelas de detecção positivas. Alguns detalhes específicos aplicáveis a algumas implementações relacionadas com o uso de um classificador para identificar pessoas ou oradores, incluindo janelas de detecção, são descritos em mais detalhes abaixo, por exemplo, com referência à figura 8 e figura 9.
É importante observar que as operações ilustradas com referência à figura 3 podem ser implementadas ou executadas em uma variedade de dispositivos de computação ou plataformas diferentes, incluindo o uso de múltiplos dispositivos de computação na mesma implementação. Por exemplo, a operação de identificar aspectos 310 e a operação de gerar classificador 315 podem ser executadas em associação com um ou mais dispositivos de computador pessoal, enquanto a operação de avaliar classificador para detecção 320 pode ser executada no dispositivo separado do dispositivo ou dispositivos associados com, por exemplo, a operação de gerar classificador. Isso inclui, em pelo menos uma implementação exemplar, em um dispositivo como o dispositivo detector 165 ilustrado na figura 1. É também importante entender que algumas operações podem ser executadas mais ou menos vezes do que outras operações. Por exemplo, em algumas implementações, pode ser comum que a operação de identificar aspectos 310 e a operação de gerar classificador 315 sejam executadas algum número de vezes, até que um classificador adequado tenha sido encontrado. A seguir, o código executável que implementa a detecção usando esse classificador, como exemplificado pela operação 320, pode ser implementado usando algum outro dispositivo - incluindo, por exemplo, um dispositivo de câmera adequado para uso em uma sala de conferência - e a seguir executado repetidamente para detectar realmente pessoas e oradores. Em outras implementações, a operação de gerar classificador 315 e a operação de avaliar classificador para detecção 320 podem ambas ser implementadas no mesmo dispositivo. Em tais implementações, ou em outras implementações, a operação de gerar classificador pode ser executada para cada nova área ou região onde o dispositivo é usado, e poderia produzir classificadores distintos para cada nova área ou região. Com referência agora à figura 4, é ilustrado nela um diagrama generalizado exemplar mostrando alguns aspectos exemplares que poderiam ser identificados e usados em algumas implementações. Essa descrição da figura 4 é feita com referência à figura 5 e figura 6. Entretanto, deve ser entendido que os elementos descritos com referência à figura 4 não são planejados para serem limitados ao uso com os elementos descritos com referência a essas outras figuras. Além disso, embora o diagrama exemplar na figura 4 indique elementos particulares, em algumas implementações, nem todos esses elementos podem existir, e em algumas implementações, elementos adicionais podem existir.
O diagrama exemplar 400 inclui uma combinação de aspectos 410 que podem conter aspectos de áudio 420, aspectos de vídeo 430 e outros aspectos 450.
De forma geral, um aspecto de áudio é um aspecto associado com algum tipo de entrada de áudio. Aspectos de áudio poderiam ser criados para refletir qualquer número de uma variedade de parâmetros de áudio, incluindo amplitude de um sinal de áudio, a freqüência de um sinal de áudio e assim por diante.
Em um ambiente no qual os dados de áudio incluem uma função de probabilidade SSL, aspectos de áudio podem usar algum conjunto de informação associado com a função de probabilidade SSL. Em algumas implementações, um conjunto de aspectos de áudio com base em uma função de probabilidade SSL poderia usar valores da função de probabilidade SSL associada com cada janela de detecção, junto com valores globais para toda a função de probabilidade SSL. Ele pode usar esses valores em pontos discretos no tempo - por exemplo, no tempo atual (o tempo para o qual os dados de SSL ficam mais recentemente disponíveis) ou em qualquer tempo, quer dizer, no último minuto - bem como agregado através de algum período de tempo.
Por exemplo, suponha que o máximo global, o mínimo global e a média global da função de probabilidade SSL são calculados como segue: o máximo global (Lgmax) é o valor máximo da função de probabilidade SSL sobre toda a função de probabilidade SSL; o mínimo global (Lgmin) é o valor mínimo da função de probabilidade SSL sobre toda a função de probabilidade SSL e a média global (Lgavg) é o valor médio da função de probabilidade SSL sobre toda a função de probabilidade SSL.
Também suponha que, para cada janela de detecção, alguns valores locais são calculados, usando a região da função de probabilidade SSL que corresponde com a janela de detecção particular (que pode requerer converter o espaço de coordenadas usado pela imagem e/ou janela de detecção para o espaço de coordenadas - possivelmente em graus - usado pela função de probabilidade SSL): o máximo local (L'max) é o valor máximo da função de probabilidade SSL na janela de detecção; o mínimo local (L'min) é o valor mínimo da função de probabilidade SSL na janela de detecção; a média local (L'avg) é o valor médio da função de probabilidade SSL sobre a janela de detecção e a saída intermediária local (L'mid) é o valor da função de probabilidade SSL no ponto médio da janela de detecção - por exemplo, se a janela de detecção compreende os graus de 10° a 20°, a saída intermediária local poderia ser calculada como o valor da função de probabilidade SSL no grau 15. Também suponha a existência de um valor máximo de "repouso" (Lrestmax) que é o valor máximo da função de probabilidade SSL fora da janela de detecção particular.
Dados esses valores, alguém poderia preencher parte da combinação dos aspectos 410 adicionando aspectos de áudio 420 definidos pelo menos em parte pelas funções como essas na lista seguinte:
1. <formula>formula see original document page 14</formula>
2. <formula>formula see original document page 14</formula> <formula>formula see original document page 15</formula>
(um aspecto binário que testa se a janela de detecção contém o pico global da função de probabilidade SSL)
<formula>formula see original document page 15</formula> Um outro modo para criar aspectos de áudio poderia usar os dados da função de probabilidade SSL em uma maneira similar a essa explicada previamente, mas poderia usar dados da função de um ou mais períodos de tempo "prévios" ao invés de apenas do período de tempo "atual". Por exemplo, além de criar um conjunto de aspectos de áudio definidos em parte pelas funções previamente listadas onde os dados usados pelas funções são os dados mais recentes produzidos pela função de probabilidade SSL, aspectos adicionais poderiam ser criados onde os dados usados pelas funções são de um ou mais períodos de tempo prévios. Por exemplo, o valor máximo global (L9max) poderia permanecer o valor máximo da função de probabilidade SSL sobre toda a função de probabilidade SSL, mas em um tempo diferente, talvez, quer dizer, 1/60° de um segundo prévio - usando os segundos valores de função de probabilidade SSL mais recentes. Aspectos adicionais similares poderiam ser criados para um número arbitrário de períodos de tempo prévios. Por exemplo, em um ambiente que provê uma nova função de probabilidade SSL a cada 1/60° de um segundo, aspectos poderiam ser criados que usam as sessenta (60) funções de probabilidade SSL imediatamente prévias - se alguém criou um aspecto para cada uma das dezesseis (16) funções previamente listadas, isso poderia resultar em novecentos e sessenta (960) aspectos de áudio SSL.
Além de usar o valor da função de probabilidade SSL em pontos discretos no tempo, alguns aspectos poderiam também ser criados que usam algum valor agregado derivado de múltiplas funções de probabilidade SSL prévias. Por exemplo, em alguns aspectos, o valor máximo global (L9max) poderia ser definido como o valor máximo absoluto da função de probabilidade SSL que ocorreu em, quer dizer, o segundo prévio, ao invés de apenas o valor máximo da função de probabilidade SSL como provido pelo caso mais recente da função de probabilidade SSL. Similarmente, por exemplo, a média global (L9avg) poderia ser definida como o valor médio da função de probabilidade SSL sobre todas as funções de probabilidade SSL para algum período de tempo prévio.
Além de usar dados das funções de probabilidade SSL prévias, poderia também ser possível usar dados de funções de probabilidade SSL "futuras", se a latência aumentada causada pela espera para capturar esses dados futuros é aceitável.
Qualquer um ou todos esses aspectos adicionais poderiam então ser adicionados na mesma combinação de aspectos 410 e usados no processo de geração do classificador. Alguém poderia também incluir outros aspectos com base pelo menos em parte na função de probabilidade SSL, ou naturalmente outros aspectos baseados em outros dados de áudio, ou dados de áudio combinados com outros dados de outras entradas.
Um outro conjunto de aspectos que poderia ser uma parte da combinação de aspectos 410 são os aspectos de vídeo 420. Em geral, um aspecto de vídeo pode ser qualquer aspecto associado com algum tipo de entrada de vídeo. Um aspecto de vídeo poderia, por exemplo, fazer algum tipo de operação matemática em alguns ou todos os pixels em uma imagem, incluindo a imagem de base bem como outras imagens, talvez como a diferença de curto prazo calculada e as imagens médias de longo prazo. Alguns detalhes específicos aplicáveis em algumas implementações relacionadas com a definição das imagens de vídeo são descritos em mais detalhes abaixo, por exemplo, com referência à figura 5 e figura 6.
Também incluídos na combinação de aspectos 410 podem ser outros aspectos 450. Tais outros aspectos 450 compreendem quaisquer aspectos adicionais identificados como sendo úteis para consideração quando gerando um classificador. Em algumas implementações, em ambientes nos quais existem outros tipos de entrada, aspectos associados com os outros tipos de entrada poderiam ser parte dos outros aspectos. Por exemplo, em um ambiente que inclui a entrada de uma câmera tridimensional, tal como alguma medida da distância ou profundidade para elementos em uma imagem, os outros aspectos poderiam incluir aspectos que quantificam esses dados adicionais, isolados de outras entradas ou talvez em conjunto com as outras entradas. Nas mesmas implementações ou outras, outros aspectos poderiam incluir aspectos que usam uma combinação de outras entradas juntas - por exemplo, alguns aspectos poderiam usar ambas a entrada de áudio e a entrada de vídeo juntas, no mesmo aspecto ou aspectos.
Nas implementações onde as entradas provêem uma visão de 360°, pelo menos alguns aspectos poderiam ser implementados de modo que eles "se envolvem" - isto é, de modo que alguns aspectos consideram a entrada, por exemplo, de ambos o "começo" e o "fim" dos dados providos pelas entradas particulares. Por exemplo, em um ambiente que inclui a entrada de áudio que provê uma visão de 360°, pelo menos alguns aspectos poderiam incorporar a entrada de, quer dizer, azimute de 355° para, quer dizer, azimute de 5o. Tais aspectos poderiam capturar, em alguns casos, pessoas ou oradores que estão localizados no limite entre o "início" e o "fim" dos dados providos pelas entradas.
Com referência agora à figura 5, são mostrados nela alguns aspectos de vídeo exemplares. Essa descrição da figura 5 é feita com referência à figura 6, que discute algumas maneiras nas quais aspectos de vídeo podem ser usados. Entretanto, deve ser entendido que os elementos descritos com referência à figura 5 não são planejados para serem limitados ao uso com os elementos descritos com referência a essa outra figura. Além disso, embora o diagrama exemplar na figura 5 indique elementos particulares, em algumas implementações, nem todos esses elementos podem existir, e em algumas implementações, elementos adicionais podem existir.
Embora aspectos de vídeo possam compreender qualquer entidade que seja capaz de quantificar algum elemento da entrada de vídeo em um tempo particular, um tipo útil de aspecto de vídeo é esse formado em parte por um ou mais retângulos. De forma geral, os valores associados com os pixels em um ou mais retângulos são somados ou de outra forma manipulados matematicamente para determinar um valor numérico associado com um aspecto de vídeo retangular particular. Por exemplo, em uma imagem em branco e preto onde cada pixel está ativado ou desativado (isto é, um binário um (1) ou zero (0)), o valor numérico associado com um aspecto de vídeo poderia ser, por exemplo, a soma dos pixels que estão ativados ou ter o valor de um (1) no retângulo particular. Na figura 5, o retângulo 550 e o retângulo 560 ilustram graficamente dois aspectos de vídeo de retângulos únicos possíveis. Nas imagens na escala de tons ou em cor, os valores numéricos associados com pixels específicos podem ser manipulados similarmente. Por exemplo, em uma imagem da escala de tons onde um valor numérico associado com cada pixel varia de zero (0) a duzentos e cinqüenta e cinco (255), um aspecto poderia ser associado com a soma dos valores da escala de tons para os pixels em um retângulo. Observe que embora retângulos sejam ilustrados e discutidos aqui, a região ou regiões associadas com um aspecto de vídeo podem ter qualquer forma e não são limitadas a retângulos.
Um outro tipo de aspectos de vídeo pode usar dois ou mais sub-retângulos dentro de um retângulo de origem. O retângulo 510, o retângulo 520, o retângulo 530 e o retângulo 540 são todos exemplos gráficos dos aspectos de vídeo que usam sub-retângulos. Em um tal aspecto de vídeo, o valor numérico associado com o aspecto poderia ser calculado, por exemplo, somando os valores dos pixels em ambos os sub-retângulos e a seguir subtraindo uma das somas resultantes da outra soma. Em uma tal implementação, dependendo da localização e orientação dos sub-retângulos, o valor numérico resultante pode ser diferente, mesmo quando os aspectos são aplicados na mesma seção da imagem. Por exemplo, os sub-retângulos no retângulo de origem 510 são orientados horizontalmente enquanto os sub-retângulos do retângulo de origem 530 são orientados verticalmente, e assim o valor numérico resultante associado com aspectos de vídeo que usam esses retângulos poderia ser diferente, mesmo quando os retângulos são aplicados na mesma parte de uma imagem. Em alguns casos, esse tipo de aspecto pode ajudar na identificação de regiões de alto contraste relativo - incluindo o contraste que poderia existir, por exemplo, entre os olhos em uma face (geralmente escuro) e a pele em volta (geralmente não tão escura).
Embora a figura 5 ilustre representações gráficas de aspectos de vídeo que incluem dois sub-retângulos, também é possível definir aspectos de vídeo que incluem três retângulos, quatro retângulos e assim por diante. O valor numérico associado com tais aspectos de vídeo pode ser calculado em uma variedade de maneiras, incluindo tirando a diferença entre as contagens de pixel em sub-retângulos diferentes.
Com referência agora à figura 6, é mostrado nela um retângulo de aspecto exemplar representativo 610 que inclui alguns aspectos de vídeo exemplares. Essa descrição da figura 6 é feita com referência à figura 1, figura 4 e figura 5. Entretanto, deve ser entendido que os elementos descritos com referência à figura 6 não são planejados para serem limitados ao uso com os elementos descritos com referência a essas outras figuras. Além disso, embora o diagrama exemplar na figura 6 indique elementos particulares, em algumas implementações, nem todos esses elementos podem existir, e em algumas implementações, elementos adicionais podem existir.
Embora as ilustrações na figura 5 mostrem retângulos (e em alguns casos, sub- retângulos) associados com alguns aspectos de vídeo exemplares, as ilustrações na figura 5 não mostram explicitamente como os retângulos e aspectos de vídeo correspondentes poderiam ser usados para gerar ou avaliar um classificador. Um mecanismo para identificar os aspectos de vídeo a serem incluídos em uma combinação de aspectos é tirar uma variedade de aspectos que são associados com uma variedade de formas, incluindo uns como esses descritos previamente com referência à figura 5, e variar a localização e o tamanho de tais formas através de um retângulo de aspecto representativo 610. O retângulo de aspecto representativo, e a localização do retângulo de aspecto de vídeo dentro dele, pode então ser avaliado sobre regiões particulares em uma imagem em vários tempos ou para várias finalidades, incluindo como parte de um processo de detecção.
Dentro do retângulo de aspecto representativo 610, a localização e o tamanho das formas associadas com aspectos de vídeo podem ser variados. Por exemplo, como mostrado, o retângulo de origem 620 associado com um aspecto de vídeo particular ocupa o canto esquerdo superior do retângulo do aspecto representativo. Além da localização particular e do tamanho ilustrados pelo retângulo de origem 620, o retângulo de origem (e seus sub-retângulos) poderia ser movido tanto horizontal quanto verticalmente dentro do retângulo do aspecto representativo, cada tempo definindo um novo aspecto de vídeo. Em algumas implementações, a localização do retângulo de origem pode ser alterada uma série de vezes em uma tal maneira de modo a garantir que todo o retângulo de aspecto representativo tenha sido coberto. Nas mesmas implementações ou outras, quando a localização do retângulo de origem é alterada, a nova localização pode sobrepor o retângulo de origem do aspecto de vídeo previamente definido ou sobrepor os retângulos de origem de aspectos de vídeo já definidos ou a serem definidos.
Similarmente, o tamanho do retângulo de origem poderia também ser modificado para definir novos aspectos de vídeo. Por exemplo, o retângulo de origem 630, o retângulo de origem 640 e o retângulo de origem 650 mostram o uso de tamanhos diferentes, quando comparado com o retângulo de origem 620. Em alguns casos, é concebível que um retângulo de origem possa ser ascendido em escala graduada até que ele ocupe todo o retângulo de aspecto representativo.
Em algumas implementações, pode ser útil imitar a existência de um aspecto de vídeo com um retângulo de origem particular usando simetria bilateral. Isto é, onde um aspecto de vídeo existe com um retângulo de origem em uma localização particular, poderia ser útil definir um outro aspecto de vídeo com um retângulo de origem que é uma imagem refletida do retângulo de origem do primeiro aspecto de vídeo. Um caso exemplar onde isso ocorre é ilustrado com o retângulo de origem 630 e o retângulo de origem 640.
Em algumas implementações, múltiplos aspectos de vídeo podem ser gerados que se aplicam a imagens diferentes, incluindo os tipos de imagens descritos previamente com referência à figura 1. Por exemplo, alguns aspectos de vídeo podem ser gerados para se aplicarem à imagem de base enquanto outros aspectos de vídeo se aplicam à imagem de diferença de curto prazo e ainda outros à imagem média de longo prazo.
Depois de variar vários fatores incluindo a localização dos retângulos associados com os aspectos de vídeo, o tamanho dos retângulos associados com os aspectos de vídeo e as imagens nas quais os aspectos de vídeo são aplicados, e gerar aspectos de vídeo distintos para qualquer uma ou todas as combinações desses aspectos, pode não ser incomum ter literalmente milhares de aspectos de vídeo que podem ser parte da combinação de aspectos, como a combinação dos aspectos 410 descrita previamente com referência à figura 4. Em algumas implementações, algum conjunto de aspectos de vídeo pode ser selecionado desse número grande de aspectos de vídeo durante o processo de geração de um classificador.
É importante observar novamente que a figura 5 e a figura 6 não mostram todos os aspectos de vídeo possíveis. Em muitas implementações, aspectos de vídeo cobrirão, em conjunto, uma imagem ou imagens inteiras. Os aspectos de vídeo mostrados na figura 5 e figura 6 servem somente para demonstrar como alguns aspectos de vídeo podem ser definidos.
Com referência agora à figura 7, é mostrado nela um diagrama generalizado exemplar mostrando um sistema 700 no qual a geração de um classificador para a detecção de pessoa ou orador poderia ser realizada. Essa descrição da figura 7 é feita com referência à figura 3, figura 4 e figura 10. Entretanto, deve ser entendido que os elementos descritos com referência à figura 7 não são planejados para serem limitados ao uso com os elementos descritos com referência a essas outras figuras. Além disso, embora o diagrama exemplar na figura 7 indique elementos particulares, em algumas implementações, nem todos esses elementos podem existir, e em algumas implementações, elementos adicionais podem existir.
O sistema 700 pode incluir uma combinação de aspectos 710, dados de entrada de treinamento 720, marcas para dados de entrada 730, um módulo de treinamento 740 que é associado com um algoritmo de aprendizagem 745 e um classificador 755.
Como apresentado acima no fluxo de operação descrito com referência à figura 3, dada uma combinação de aspectos, tal como a combinação de aspectos 710, pode ser possível gerar um classificador que pode ser usado para implementar detecção de pessoa ou orador. O sistema ilustrado na figura 7 demonstra alguns mecanismos pelos quais um tal classificador poderia ser gerado.
Um módulo de treinamento exemplar 740 pode usar entradas particulares para gerar um classificador, tal como classificador 755. O módulo de treinamento pode ser implementado em um ou mais dispositivos de computação, incluindo o dispositivo de computação exemplar descrito abaixo com referência à figura 10.
Em geral, o módulo de treinamento pode ser associado com alguma forma de algoritmo de aprendizagem. O algoritmo de aprendizagem compreende um processo automatizado que produz um classificador. Alguns algoritmos de aprendizagem produzem um classificador aceitando uma combinação de aspectos 710, dados de entrada de treinamento 720 e marcas para dados de entrada 730. A combinação de aspectos 710 pode ser um conjunto de entidades que podem quantificar algum elemento ou elementos dos dados de entrada, incluindo os dados de entrada de treinamento 720. Em algumas implementações, a combinação de aspectos pode incluir aspectos como esses discutidos previamente com referência à figura 4 e outras figuras relevantes. Os dados de entrada de treinamento 720 podem geralmente consistir de dados de entrada como os dados de entrada que serão fornecidos para o classificador, depois que ele foi gerado. Em algumas implementações, os dados de entrada de treinamento podem incluir um conjunto de quadros de vídeo, do qual imagens - como a imagem de base, a imagem de diferença de curto prazo e a imagem média de longo prazo - podem ser recuperadas ou calculadas, bem como informação de áudio da qual uma função de probabilidade SSL pode ser gerada. As marcas para dados de entrada 730 podem geralmente consistir da resposta "correta" que um classificador ideal produziria quando dados os dados de entrada de treinamento. Por exemplo, para cada quadro de vídeo e conjunto de entrada de áudio, as marcas para os dados de entrada poderiam identificar regiões particulares dentro do quadro de vídeo onde pessoas ou oradores existem.
Dada a combinação de aspectos 710, os dados de entrada de treinamento 720 e as marcas para os dados de entrada 730, o módulo de treinamento 740 pode usar o seu algoritmo de aprendizagem associado 745 para gerar um classificador. A operação do algoritmo de aprendizagem varia dependendo do algoritmo de aprendizagem particular usado, é geralmente conhecida dentro da técnica e não precisa ser explicada em detalhe extensivo nesse pedido. Por exemplo, se o algoritmo de aprendizagem é uma forma do algoritmo Adaboost, a operação do algoritmo de aprendizagem pode incluir selecionar uma série de aspectos tal que a precisão do classificador resultante melhora à medida que o algoritmo Adaboost prossegue. Se o algoritmo de aprendizagem está de certa forma à parte do algoritmo Adaboost, tal como, por exemplo, uma rede neural, a operação do algoritmo de aprendizagem pode ser diferente.
A saída final do módulo de treinamento 740 e o algoritmo de aprendizagem 745 podem incluir um classificador que, quando avaliado sobre uma região particular ou janela de detecção, retorna alguma estimativa da probabilidade que a região particular inclua uma pessoa ou orador. O próprio classificador pode geralmente ser composto de um subconjunto de aspectos que foram selecionados pelo módulo de treinamento. O conjunto dos aspectos selecionados geralmente executa um pouco mais precisamente do que os aspectos que não são selecionados. Em alguns casos, os elementos do classificador, incluindo o subconjunto dos aspectos, são citados como "nós" onde, por exemplo, cada aspecto selecionado está associado com um único nó do classificador.
Aspectos diferentes no classificador 755 podem requerer quantidades diferentes de tempo de computação para avaliar ou calcular durante a detecção. Por exemplo, alguns aspectos - como pelo menos aspectos de áudio em algumas implementações - podem ser capazes de ser avaliados ou calculados mais rapidamente do que outros aspectos - como pelo menos alguns aspectos de vídeo em algumas implementações. Por causa das diferenças na velocidade de avaliação, pode ser útil em algumas implementações ordenar aspectos particulares no classificador gerado tal que um aspecto que exige menos tempo para avaliar é ordenado antes de um aspecto que exige mais tempo para avaliar.
Alguns dos aspectos selecionados no classificador 755 podem fazer uma tarefa relativamente melhor de identificação de uma pessoa ou orador em uma janela de detecção do que outros aspectos selecionados. Por exemplo, pode ser que um aspecto particular de áudio ou vídeo esteja mais altamente correlacionado com a detecção de uma pessoa ou orador do que algum outro aspecto de áudio ou vídeo. Em algumas implementações, pode ser útil ordenar aspectos do classificador tal que um aspecto que está mais altamente correlacionado com detecção de pessoa ocorre antes de um aspecto relativamente menos preciso.
A despeito de se ele está relacionado com a velocidade de avaliação, o grau de precisão ou alguma outra propriedade, aspectos particulares podem ser ordenados antes de outros aspectos usando uma variedade de mecanismos. Em algumas implementações, o próprio algoritmo de aprendizagem pode considerar atributos desejáveis ou preferíveis - incluindo velocidade de avaliação e grau de precisão - quando gerando o classificador, talvez pesando aspectos particulares ou preferíveis mais altamente do que outros aspectos, o que poderia resultar nos aspectos particulares tendendo para ocorrer mais cedo no classificador gerado. Nas mesmas implementações ou outras, os aspectos no classificador gerado podem ser reordenados ou classificados depois que o algoritmo de aprendizagem gerou um classificador.
De forma geral, quanto mais dados de entrada de treinamento 720 são usados para gerar o classificador 755, mais preciso será o classificador resultante. Entretanto, a produção de dados de entrada de treinamento requer tempo e esforço - por exemplo, entre outras coisas, as respostas "corretas", na forma de marcas para dados de entrada 730, poderiam precisar ser geradas para cada quadro de vídeo. Um método para aumentar a quantidade dos dados de entrada de treinamento que podem exigir relativamente menos trabalho do que produzir inteiramente novos dados de entrada de treinamento é criar imagens refletidas de dados de entrada de treinamento já existentes e marcas para dados de entrada. Por exemplo, dado um quadro de vídeo e uma função de probabilidade SSL, uma pessoa poderia criar um novo quadro de vídeo que é a imagem refletida do quadro de vídeo original e também refletir a função de probabilidade SSL e marcas para os dados de entrada.
Em pelo menos algumas implementações, alguns aspectos podem ser selecionados, pelo menos em parte, de modo que "falsos positivos" são associados, em muitos casos, com uma outra pessoa e não com um objeto ou entidade que não é uma pessoa. Isto é, nos casos onde a pessoa ou orador desejado não é detectado, aspectos podem ser selecionados de modo que, em muitos casos, uma outra pessoa é detectada ao invés de algum objeto ou entidade que não é uma pessoa. Por exemplo, aspectos de vídeo poderiam ser selecionados de modo que, onde o orador não é detectado, em muitos casos, uma pessoa não falante é detectada.
Com referência agora à figura 8, é mostrado nela um diagrama generalizado exemplar mostrando um sistema 800 no qual a detecção de pessoas ou oradores poderia ser realizada. Essa descrição da figura 8 é feita com referência à figura 1, figura 3, figura 7, figura 9 e figura 10. Entretanto, deve ser entendido que os elementos descritos com referência à figura 8 não são planejados para serem limitados ao uso com os elementos descritos com referência a essas outras figuras. Além disso, embora o diagrama exemplar na figura 8 indique elementos particulares, em algumas implementações, nem todos esses elementos podem existir, e em algumas implementações, elementos adicionais podem existir.
O sistema 800 pode incluir dados de entrada 810, um módulo detector 840 associado com um classificador 855 e resultados de detecção 865.
Como apresentado acima no fluxo de operação descrito com referência à figura 3, dado um classificador 855, incluindo um como o classificador gerado 755 da figura 7, um detector, talvez implementado em um módulo detector 840, pode examinar os dados de entrada 810 e usar o classificador para produzir os resultados de detecção 865. O sistema ilustrado na figura 8 demonstra alguns mecanismos pelos quais um tal classificador poderia ser usado para detectar pessoas ou oradores. O módulo detector pode ser implementado em um ou mais dispositivos de computação, incluindo o dispositivo detector 165 descrito previamente com referência à figura 1 e o dispositivo de computação exemplar descrito abaixo com referência à figura 10.
Os dados de entrada 810 podem incluir uma ampla variedade de dados de entrada. Em algumas implementações, os dados de entrada podem incluir dados de entrada como esses descritos previamente, por exemplo, com referência à figura 1, incluindo uma série de quadros de vídeo, dos quais uma série de imagens de base, imagens de diferença de curto prazo e imagens médias de longo prazo pode ser determinada. Os dados de entrada podem também incluir dados de áudio como uma série de funções de probabilidade SSL que são associadas com um ou mais quadros de vídeo. Os dados de entrada podem também incluir outros tipos de dados, incluindo esses descritos previamente, por exemplo, com referência à figura 1.
O módulo detector 840 pode então usar o classificador 855 para determinar regiões dos dados de vídeo de entrada que podem incluir uma pessoa ou orador. Em algumas implementações, isso pode ser realizado subdividindo pelo menos parte dos dados de entrada em uma série de regiões menores, chamadas janelas de detecção. As janelas de detecção podem ser definidas em uma variedade de maneiras, incluindo alguns métodos discutidos abaixo em mais detalhes com referência à figura 9.
Para cada janela de detecção, o módulo detector 840 pode avaliar o classificador 855 contra os dados de entrada para essa janela de detecção. A avaliação do classificador pode geralmente produzir alguma estimativa da probabilidade que uma pessoa ou orador exista na janela de detecção particular. Essa estimativa de probabilidade pode, pelo menos em algumas implementações, ser parte dos resultados de detecção 865.
Depois que algum número, ou todas, as janelas de detecção foram avaliadas, em algumas implementações, uma operação de intercalação pode acontecer para determinar regiões particulares dos dados de entrada que são especialmente prováveis de conter pessoas ou oradores. Isso pode ser realizado em algumas implementações escolhendo regiões que tenham um número relativamente grande de janelas de detecção que, por sua vez, têm uma alta probabilidade de conter pessoas ou oradores. Essas regiões identificadas podem também ser parte, pelo menos em algumas implementações, dos resultados de detecção 865.
Em algumas implementações, todos os elementos, ou nós, de um classificador podem ser avaliados antes que a probabilidade que a janela de detecção particular contenha uma pessoa ou orador seja totalmente determinada. Em algumas implementações, pode ser possível encurtar o tempo requerido para avaliar o classificador para algumas janelas de detecção usando uma técnica chamada "supressão".
Quando a supressão é usada, a avaliação do classificador pode ser interrompida antes que todos os nós no classificador tenham sido avaliados. A avaliação do classificador pode ser interrompida, por exemplo, se pode ser determinado que os resultados já calculados provêem algum nível de certeza que uma janela de detecção particular contém ou não contém uma pessoa ou orador. Por exemplo, pode ser conhecido que se, quer dizer, os primeiros quatro nós no classificador todos avaliam para resultados particulares, que a janela de detecção sempre contém uma pessoa (pelo menos para os dados usados para treinar o classificador). Nesse caso, durante o processo de detecção, a avaliação do classificador pode ser interrompida antes que todos os nós tenham sido avaliados, e a janela de detecção pode ser determinada para conter uma pessoa ou orador.
Em algumas implementações, sub-regiões particulares dos dados de entrada podem ser excluídas das regiões consideradas para detecção de pessoa ou orador. Por exemplo, uma área poderia ter uma televisão ou tela de projetor que pode, em alguns casos, exibir pessoas ou oradores que não devem ser identificados como pessoas ou oradores pelo detector. Nesse caso exemplar, uma sub-região dos dados de entrada associados com a televisão ou tela de projetor pode ser excluída das regiões consideradas para detecção de pessoa ou orador. Isso pode ser realizado em uma variedade de maneiras incluindo, por exemplo, não definindo janelas de detecção que abrangem as sub-regiões a serem excluídas.
Com referência agora à figura 9, são mostradas nela algumas representações exemplares das janelas de detecção que podem ser usadas como parte do processo de detecção de pessoas ou oradores. Essa descrição da figura 9 é feita com referência à figura 6 e está relacionada com a discussão provida para a figura 8. Entretanto, deve ser entendido que os elementos descritos com referência à figura 9 não são planejados para serem limitados ao uso com os elementos descritos com referência a essas outras figuras. Além disso, embora o diagrama exemplar na figura 9 indique elementos particulares, em algumas implementações, nem todos esses elementos podem existir, e em algumas implementações, elementos adicionais podem existir.
Em algumas implementações, dados de entrada, como um quadro de vídeo, ou uma imagem ou imagens derivadas de um quadro de vídeo, podem ser subdivididos em múltiplas janelas de detecção que são usadas como parte do processo de detecção de pessoas ou oradores.
Como mostrado na figura 9, uma imagem exemplar 905 pode conter múltiplas janelas de detecção exemplares, incluindo janela de detecção 910, janela de detecção 920, janela de detecção 930, janela de detecção 940 e janela de detecção 950. Cada janela de detecção ocupa alguma porção da imagem. É importante observar que nem todas as janelas de detecção que poderiam existir na imagem 905 são mostradas. Em muitas implementações, janelas de detecção, no conjunto, cobrirão toda a imagem. As janelas de detecção mostradas na figura 9 servem somente para demonstrar como as janelas de detecção podem ser definidas. Além do mais, embora as janelas de detecção sejam mostradas como retângulos, as janelas de detecção podem ser definidas em qualquer forma. Também, embora as janelas de detecção sejam descritas com referência a uma "imagem", as janelas de detecção também podem se aplicar à entrada não visual, incluindo entrada de áudio, como foi descrito previamente. Por exemplo, uma janela de detecção para uma função de probabilidade SSL associada com a entrada de áudio pode incluir algum subconjunto da função de probabilidade SSL.
A janela de detecção exemplar 910 ocupa o canto esquerdo superior da imagem 905. Ajanela de detecção exemplar 920 e a janela de detecção exemplar 930 mostram uma maneira na qual as janelas de detecção podem ser estendidas para cobrir mais regiões da imagem. Embora não mostrado, as janelas de detecção podem ser definidas que continuam na direção representada pela seta 960. Tais janelas de detecção podem cobrir toda a porção superior da imagem.
Similarmente, a janela de detecção exemplar 940 mostra como as janelas de detecção podem se estender verticalmente para cobrir regiões adicionais da imagem. A seta 970 ilustra uma direção na qual tais janelas de detecção poderiam continuar, para cobrir toda a porção esquerda da imagem.
Estendendo a janela de detecção exemplar 940 para a direita, de modo que existam janelas de detecção abaixo da janela de detecção exemplar 920, a janela de detecção exemplar 930, e na direção mostrada pela seta 960, ilustra uma maneira na qual as janelas de detecção podem ser definidas de modo que elas cubram toda a imagem 905.
Janelas de detecção podem se sobrepor em algum grau. Por exemplo, como mostrado, metade da janela de detecção 920 sobrepõe a janela de detecção 910. Além da sobreposição mostrada, nas imagens panorâmicas que representam uma visão de 360°, as janelas de detecção podem também se sobrepor fora das extremidades da imagem 905. Por exemplo, uma janela de detecção, não mostrada, poderia ocupar o lado mais direito da imagem e o lado mais esquerdo da imagem.
Em algumas implementações, janelas de detecção de vários tamanhos podem ser usadas. Por exemplo, a janela de detecção 950 é mais larga do que a janela de detecção 910. Em algumas implementações, janelas de detecção podem ser usadas em muitos tamanhos diferentes. Por exemplo, em uma implementação, as janelas de detecção de 10 tamanhos diferentes podem ser usadas. Cada conjunto de janelas de detecção de mesmo tamanho pode ser estendido para cobrir toda a imagem 905, usando, por exemplo, o mesmo processo como explicado previamente com referência à janela de detecção 910 e outras janelas de detecção que são do mesmo tamanho que a janela de detecção 910.
Alguns aspectos de vídeo podem usar um retângulo de aspecto representativo, como discutido previamente com relação à figura 6. Durante o processo de detecção, o retângulo de aspecto representativo pode ser graduado para se ajustar na janela de detecção, e qualquer aspecto de vídeo associado com o retângulo de aspecto representativo pode ser graduado proporcionalmente ao mesmo tempo. Por exemplo, suponha um retângulo de aspecto representativo exemplar de tamanho de 50 pixels de largura por 50 pixels de altura que contém, entre muitos aspectos de vídeo, um aspecto de vídeo com um retângulo de tamanho de 10 pixels de largura por 20 pixels de altura. Se esse retângulo de aspecto representativo é usado com uma janela de detecção do mesmo tamanho, o retângulo de aspecto de vídeo poderia também permanecer do mesmo tamanho. Se o retângulo de aspecto representativo é usado com uma janela de detecção que é quatro vezes tão grande - por exemplo, com uma janela de detecção de tamanho de 100 pixels de largura por 100 pixels de altura - então o retângulo de aspecto representativo e seu retângulo de aspecto de vídeo associado poderia também ser graduado para se ajustar na janela de detecção maior. Nesse exemplo, o retângulo do aspecto de vídeo poderia ser graduado para um tamanho de 20 pixels de largura por 40 pixels de altura.
Em algumas implementações, o tamanho e/ou a orientação do espaço ou área onde um detector é usado pode influenciar o tamanho das janelas de detecção usadas no processo de detecção. Por exemplo, em uma área pequena, as características físicas associadas com pessoas ou oradores - como faces ou torsos - podem tender a ser maiores quando vistas da perspectiva de um ou mais dispositivos de entrada, ou podem tender a variar em tamanho para um grau menor do que as características físicas associadas com pessoas ou oradores em uma área grande. Isso pode ocorrer porque, em uma área pequena, pessoas ou oradores podem somente ficar a uma distância relativamente pequena do um ou mais dispositivos de entrada - talvez resultando em faces maiores, por exemplo - enquanto em uma área maior pessoas ou oradores podem ficar próximos a ou distantes do um ou mais dispositivos de entrada, e assim o tamanho das características físicas associadas pode variar em um grau maior. Como um resultado, em algumas implementações, janelas de detecção podem ser usadas tal que, em pequenas áreas, por exemplo, as janelas de detecção podem ser limitadas a tamanhos maiores e talvez podem variar no tamanho por quantidades relativamente pequenas. Em contraste, em áreas maiores, janelas de detecção podem variar de pequenas a grande de modo a tentar capturar uma variação mais ampla nos tamanhos das características físicas.
Ambiente de Computação Exemplar
Com referência agora à figura 10, essa figura e a discussão relacionada são planejadas para prover uma breve descrição geral de um ambiente de computação exemplar no qual as várias tecnologias descritas aqui podem ser implementadas. Embora não exigido, as tecnologias são descritas aqui, pelo menos em parte, no contexto geral de instruções executáveis no computador, tal como módulos de programa que são executados por um controlador, processador, computador pessoal ou outro dispositivo de computação, tal como o dispositivo de computação 1000 ilustrado na figura 10.
De forma geral, módulos do programa incluem rotinas, programas, objetos, componentes, interfaces do usuário, estruturas de dados, etc. que executam tarefas particulares, exibem informação particular ou implementam tipos de dados abstratos particulares. As operações executadas pelos módulos do programa foram descritas previamente com a ajuda de um ou mais diagramas de bloco e fluxogramas operacionais.
Aqueles versados na técnica podem implementar a descrição, diagramas de bloco e fluxogramas na forma de instruções executáveis por computador, que podem ser personificadas em uma ou mais formas de meios legíveis por computador. Como usado aqui, meios legíveis por computador podem ser quaisquer meios que possam armazenar ou conter informação que é codificada em uma forma que pode ser acessada e entendida por um computador. Formas típicas de meios legíveis por computador incluem, sem limitação, ambas memória volátil e não volátil, dispositivos de armazenamento de dados, incluindo meios removíveis e/ou não removíveis e meios de comunicações.
Meios de comunicação contêm informação legível por computador em um sinal de dados modulado, tal como uma onda portadora ou outro mecanismo de transporte e incluem quaisquer meios de entrega de informação. O termo "sinal de dados modulado" significa um sinal que tem uma ou mais de suas características ajustadas ou alteradas em uma tal maneira de modo a codificar a informação no sinal. Por meio de exemplo, e não limitação, meios de comunicações incluem meios por fiação tal como uma rede por fiação ou conexão por fiação direta e meios sem fio tais como acústico, RF, infravermelho e outros meios sem fio.
O dispositivo de computação 1000 ilustrado na figura 10, na sua configuração mais básica, inclui pelo menos uma unidade de processamento 1002 e memória 1004, em algumas implementações, a unidade de processamento 1002 pode ser uma unidade de processamento central de uso geral (CPU), como existe, por exemplo, em uma variedade de computadores, incluindo computadores de mesa e laptops. Em outras implementações, a unidade de processamento pode também ser um processador de sinal digital (DSP) que pode ser especialmente adequado para tarefas de processamento de sinal digital, incluindo essas executadas, por exemplo, por um dispositivo detector como o dispositivo detector 165 descrito previamente com referência à figura 1. Dependendo da configuração exata e do tipo do dispositivo de computação, a memória 1004 pode ser volátil (tal como RAM), não volátil (tais como ROM, memória flash, etc.), ou alguma combinação dos dois. Essa configuração mais básica é ilustrada na figura 10 pela linha tracejada 1006. Adicionalmente, o dispositivo de computação 1000 pode também ter aspectos adicionais e funcionalidade. Por exemplo, o dispositivo de computação 1000 pode também incluir armazenamento adicional (removível e/ou não removível) incluindo, mas não limitado a, discos magnéticos ou óticos ou fita. Tal armazenamento adicional é ilustrado na figura 10 pelo armazenamento removível 1008 e o armazenamento não removível 1010.
O dispositivo de computação 1000 pode também conter uma ou mais conexões de comunicações 1012 que permitem que o dispositivo de computação 1000 se comunique com outros dispositivos e serviços. Por exemplo, o dispositivo de computação poderia ter uma ou mais conexões para outros dispositivos de computação, incluindo, por exemplo, o dispositivo auxiliar 175 descrito previamente com referência à figura 1. O dispositivo de computação 1000 pode também ter um ou mais dispositivos de entrada 1014 tal como dispositivos de entrada de imagem como câmeras ou scanners, teclados, mouses, canetas, dispositivos de entrada de voz incluindo arranjos de microfone, dispositivos de entrada por toque e assim por diante. Um ou mais dispositivos de saída 1016 tais como um monitor, alto-falantes, impressora e assim por diante podem também ser incluídos no dispositivo de computação 1000.
Aqueles versados na técnica verificarão que as tecnologias descritas aqui podem ser praticadas com dispositivos de computação diferentes do dispositivo de computação 1000 ilustrado na figura 10. Por exemplo, e sem limitação, as tecnologias descritas aqui podem ser praticadas da mesma forma em dispositivos de mão incluindo telefones móveis e PDAs, sistemas de multiprocessador, eletrônica de consumidor programável ou baseada em microprocessador, PCs de rede, minicomputadores, computadores de grande porte e assim por diante. Cada um desses dispositivos de computação pode ser descrito, em algum nível de detalhe, pelo sistema da figura 10 ou pode ser descrito diferentemente.
As tecnologias descritas aqui podem também ser implementadas em ambientes de computação distribuídos onde as operações são executadas por dispositivos de processamento remotos que são ligados através de uma rede de comunicações. Em um ambiente de computação distribuído, módulos do programa podem ficar localizados em ambos os dispositivos locais e remotos.
Embora descritas aqui como sendo implementadas em software, também será verificado que as tecnologias descritas aqui podem ser alternativamente implementadas totalmente ou em parte como hardware, firmware ou várias combinações de software, hardware e/ou firmware.
Embora algumas implementações particulares dos métodos e sistemas tenham sido ilustradas nos desenhos acompanhantes e descritas no texto precedente, será entendido que os métodos e sistemas mostrados e descritos não são limitados às implementações particulares descritas, mas são capazes de numerosos rearranjos, modificações e substituições sem se afastar do espírito apresentado e definido pelas reivindicações seguintes.

Claims (20)

1. Método, CARACTERIZADO pelo fato de que compreende: identificar uma combinação de aspectos (310) compreendendo pelo menos um aspecto de um primeiro tipo de entrada e pelo menos um aspecto de um segundo tipo de entrada onde o segundo tipo de entrada é diferente do primeiro tipo de entrada e gerar um classificador para detecção do orador (315) usando um algoritmo de aprendizagem onde os nós do classificador são selecionados usando a combinação de aspectos.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que também compreende: avaliar o classificador para detectar uma pessoa (320).
3. Método, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que pelo menos um do pelo menos um aspecto do primeiro tipo de entrada ou o pelo menos um aspecto do segundo tipo de entrada opera de modo que um resultado falso positivo é associado com uma segunda pessoa que é diferente da pessoa.
4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que também compreende: classificar os nós do classificador depois da etapa de geração (315) tal que um aspecto preferível fica localizado no classificador antes de um aspecto menos preferível.
5. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que o aspecto preferível requer menos computação do que o aspecto menos preferível.
6. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que o aspecto preferível é mais altamente correlacionado com a detecção do orador do que o aspecto menos preferível.
7. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a etapa de geração (315) também compreende considerar o peso de um aspecto preferível mais alto do que um aspecto menos preferível tal que o aspecto preferível fica localizado no classificador antes do aspecto menos preferível.
8. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o primeiro tipo de entrada ou o segundo tipo de entrada inclui uma entrada de áudio (120) e a combinação de aspectos inclui um aspecto de áudio (420) associado com uma entrada de localização da fonte do som.
9. Método, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que o aspecto de áudio (420) está associado com uma função selecionada das seguintes funções: <formula>formula see original document page 31</formula>
10. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o primeiro tipo de entrada ou o segundo tipo de entrada inclui uma entrada de vídeo (110) e a combinação de aspectos inclui um aspecto de vídeo (430) definido por um retângulo.
11. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o algoritmo de aprendizagem (745) compreende o algoritmo AdaBoost.
12. Método, CARACTERIZADO pelo fato de que compreende: aceitar dados de entrada (810) compreendendo um primeiro tipo de dados de entrada e um segundo tipo de dados de entrada que é diferente do primeiro tipo de dados de entrada e avaliar um classificador de detecção de pessoa (855) para detectar uma pessoa onde o classificador foi criado: identificando uma combinação de aspectos (310) compreendendo pelo menos um aspecto associado com o primeiro tipo dos dados de entrada e pelo menos um aspecto associado com o segundo tipo dos dados de entrada e gerando o classificador usando um algoritmo de aprendizagem selecionando nós do classificador usando a combinação de aspectos.
13. Método, de acordo com a reivindicação 12, CARACTERIZADO pelo fato de que a pessoa é um orador.
14. Método, de acordo com a reivindicação 12, CARACTERIZADO pelo fato de que o classificador é também criado classificando os nós do classificador depois da etapa de geração tal que um aspecto preferível fica localizado no classificador antes de um aspecto menos preferível.
15. Método, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que o aspecto preferível requer menos computação do que o aspecto menos preferível.
16. Método, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que o aspecto preferível é mais altamente correlacionado com a detecção de pessoa do que o aspecto menos preferível.
17. Método, de acordo com a reivindicação 12, CARACTERIZADO pelo fato de que a etapa de geração também compreende considerar o peso de um aspecto preferível mais alto do que um aspecto menos preferível tal que o aspecto preferível fica localizado no classificador antes do aspecto menos preferível.
18. Sistema, CARACTERIZADO pelo fato de que compreende: um dispositivo de entrada de vídeo (110) que produz dados de vídeo (140), um dispositivo de entrada de áudio (120) que produz dados de áudio (150) e um dispositivo detector (165) incluindo um detector (170) configurado para aceitar os dados de vídeo e os dados de áudio e avaliar um classificador de detecção de pessoa para detectar uma pessoa onde o classificador foi criado: identificando uma combinação de aspectos (310) compreendendo pelo menos um aspecto associado com os dados de vídeo e pelo menos um aspecto associado com os dados de áudio e gerando o classificador usando um algoritmo de aprendizagem selecionando nós do classificador usando a combinação de aspectos.
19. Sistema, de acordo com a reivindicação 18, CARACTERIZADO pelo fato de que também compreende: um dispositivo auxiliar (175) que provê armazenamento para pelo menos uma porção dos dados de vídeo ou pelo menos uma porção dos dados de áudio.
20. Sistema, de acordo com a reivindicação 18, CARACTERIZADO pelo fato de que os dados de áudio incluem dados de localização de fonte de som e a combinação de aspectos inclui um aspecto de áudio (420) associado com uma função selecionada das funções seguintes: <formula>formula see original document page 32</formula>
BRPI0711800-7A 2006-06-22 2007-12-13 identificação de pessoas usando múltiplos tipos de entrada BRPI0711800A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/425.967 2006-06-22
US11/425,967 US8024189B2 (en) 2006-06-22 2006-06-22 Identification of people using multiple types of input
PCT/US2007/003715 WO2008016392A2 (en) 2006-06-22 2007-02-13 Identification of people using multiple types of input

Publications (1)

Publication Number Publication Date
BRPI0711800A2 true BRPI0711800A2 (pt) 2011-12-06

Family

ID=38873629

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0711800-7A BRPI0711800A2 (pt) 2006-06-22 2007-12-13 identificação de pessoas usando múltiplos tipos de entrada

Country Status (14)

Country Link
US (3) US8024189B2 (pt)
EP (1) EP2035799B1 (pt)
KR (1) KR101323056B1 (pt)
CN (1) CN101473207B (pt)
BR (1) BRPI0711800A2 (pt)
CA (1) CA2653278C (pt)
CY (1) CY1113152T1 (pt)
DK (1) DK2035799T3 (pt)
ES (1) ES2390295T3 (pt)
PL (1) PL2035799T3 (pt)
PT (1) PT2035799E (pt)
RU (1) RU2008150475A (pt)
SI (1) SI2035799T1 (pt)
WO (1) WO2008016392A2 (pt)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8300080B2 (en) * 2007-06-29 2012-10-30 Microsoft Corporation Techniques for detecting a display device
US20090150435A1 (en) * 2007-12-08 2009-06-11 International Business Machines Corporation Dynamic updating of personal web page
JP2009200713A (ja) * 2008-02-20 2009-09-03 Sony Corp 画像処理装置、画像処理方法、プログラム
US8150108B2 (en) * 2008-03-17 2012-04-03 Ensign Holdings, Llc Systems and methods of identification based on biometric parameters
WO2009117607A1 (en) * 2008-03-19 2009-09-24 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for automatically classifying face images
US20090263010A1 (en) * 2008-04-18 2009-10-22 Microsoft Corporation Adapting a parameterized classifier to an environment
US8346800B2 (en) * 2009-04-02 2013-01-01 Microsoft Corporation Content-based information retrieval
CN101872477B (zh) * 2009-04-24 2014-07-16 索尼株式会社 检测图像中的对象的方法、装置,及包括该装置的系统
JP2012038131A (ja) * 2010-08-09 2012-02-23 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
US8983089B1 (en) 2011-11-28 2015-03-17 Rawles Llc Sound source localization using multiple microphone arrays
CN103366177B (zh) * 2012-03-28 2016-12-07 佳能株式会社 对象检测分类器生成方法和设备、图像对象检测方法和设备
KR20140013142A (ko) * 2012-07-18 2014-02-05 삼성전자주식회사 이미지에서 목표를 검출하는 목표 검출 방법 및 이미지 처리 장치
US9449259B1 (en) * 2012-07-25 2016-09-20 Hrl Laboratories, Llc Opportunistic cascade and cascade training, evaluation, and execution for vision-based object detection
US9594968B1 (en) * 2012-09-27 2017-03-14 EMC IP Holding Company LLC Biometric profile creation
US9190061B1 (en) * 2013-03-15 2015-11-17 Google Inc. Visual speech detection using facial landmarks
US9596437B2 (en) * 2013-08-21 2017-03-14 Microsoft Technology Licensing, Llc Audio focusing via multiple microphones
US9215543B2 (en) * 2013-12-03 2015-12-15 Cisco Technology, Inc. Microphone mute/unmute notification
US10304458B1 (en) * 2014-03-06 2019-05-28 Board of Trustees of the University of Alabama and the University of Alabama in Huntsville Systems and methods for transcribing videos using speaker identification
US10133538B2 (en) * 2015-03-27 2018-11-20 Sri International Semi-supervised speaker diarization
CN114422738A (zh) 2015-04-01 2022-04-29 猫头鹰实验室股份有限公司 合成并缩放角度分离的子场景
JP6528574B2 (ja) 2015-07-14 2019-06-12 株式会社リコー 情報処理装置、情報処理方法、および情報処理プログラム
JP2017028375A (ja) 2015-07-16 2017-02-02 株式会社リコー 映像処理装置、及びプログラム
JP2017028633A (ja) 2015-07-27 2017-02-02 株式会社リコー 映像配信端末、プログラム、及び、映像配信方法
EP3131311B1 (en) * 2015-08-14 2019-06-19 Nokia Technologies Oy Monitoring
US9904872B2 (en) 2015-11-13 2018-02-27 Microsoft Technology Licensing, Llc Visual representations of photo albums
CN107276777B (zh) * 2017-07-27 2020-05-29 苏州科达科技股份有限公司 会议系统的音频处理方法及装置
EP3805902B1 (en) * 2018-05-04 2023-08-23 Google LLC Selective detection of visual cues for automated assistants
KR101925248B1 (ko) * 2018-05-16 2018-12-04 주식회사 공훈 음성 인증 최적화를 위해 음성 특징벡터를 활용하는 방법 및 장치
US10951859B2 (en) 2018-05-30 2021-03-16 Microsoft Technology Licensing, Llc Videoconferencing device and method
US11024291B2 (en) 2018-11-21 2021-06-01 Sri International Real-time class recognition for an audio stream
CN111768760B (zh) * 2020-05-26 2023-04-18 云知声智能科技股份有限公司 一种多模态语音端点检测方法及装置
WO2022031872A1 (en) 2020-08-04 2022-02-10 Owl Labs Inc. Designated view within a multi-view composited webcam signal
JP2023541551A (ja) 2020-08-24 2023-10-03 アウル ラブス、インク. 複数のカメラからのウェブカム信号のマージ

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3118340A (en) 1964-01-21 Panoramic motion picture camera arrangement
JPH0771279B2 (ja) 1988-08-17 1995-07-31 富士通株式会社 テレビ会議用画像処理装置
IT1257073B (it) * 1992-08-11 1996-01-05 Ist Trentino Di Cultura Sistema di riconoscimento, particolarmente per il riconoscimento di persone.
TW223724B (en) 1993-05-24 1994-05-11 American Telephone & Telegraph Conference call participation tracking
US5436896A (en) 1994-03-17 1995-07-25 At&T Corp. Conference bridge for packetized speech-signal networks
JP3458486B2 (ja) 1994-10-25 2003-10-20 松下電器産業株式会社 全方位撮影装置及び全方位画像合成装置
US7570785B2 (en) * 1995-06-07 2009-08-04 Automotive Technologies International, Inc. Face monitoring system and method for vehicular occupants
US5778082A (en) 1996-06-14 1998-07-07 Picturetel Corporation Method and apparatus for localization of an acoustic source
US6219639B1 (en) * 1998-04-28 2001-04-17 International Business Machines Corporation Method and apparatus for recognizing identity of individuals employing synchronized biometrics
US6317710B1 (en) 1998-08-13 2001-11-13 At&T Corp. Multimedia search apparatus and method for searching multimedia content using speaker detection by audio data
WO2000028740A2 (en) 1998-11-11 2000-05-18 Koninklijke Philips Electronics N.V. Improved signal localization arrangement
US6219640B1 (en) * 1999-08-06 2001-04-17 International Business Machines Corporation Methods and apparatus for audio-visual speaker recognition and utterance verification
US6766035B1 (en) 2000-05-03 2004-07-20 Koninklijke Philips Electronics N.V. Method and apparatus for adaptive position determination video conferencing and other applications
US7099510B2 (en) 2000-11-29 2006-08-29 Hewlett-Packard Development Company, L.P. Method and system for object detection in digital images
US20020140804A1 (en) 2001-03-30 2002-10-03 Koninklijke Philips Electronics N.V. Method and apparatus for audio/image speaker detection and locator
US7174029B2 (en) * 2001-11-02 2007-02-06 Agostinelli John A Method and apparatus for automatic selection and presentation of information
US7024033B2 (en) 2001-12-08 2006-04-04 Microsoft Corp. Method for boosting the performance of machine-learning classifiers
US7020257B2 (en) 2002-04-17 2006-03-28 Texas Instruments Incorporated Voice activity identiftication for speaker tracking in a packet based conferencing system with distributed processing
US7782357B2 (en) 2002-06-21 2010-08-24 Microsoft Corporation Minimizing dead zones in panoramic images
US7598975B2 (en) 2002-06-21 2009-10-06 Microsoft Corporation Automatic face extraction for use in recorded meetings timelines
US20050046703A1 (en) 2002-06-21 2005-03-03 Cutler Ross G. Color calibration in photographic devices
US7602412B2 (en) 2002-06-21 2009-10-13 Microsoft Corporation Temperature compensation in multi-camera photographic devices
US6940540B2 (en) 2002-06-27 2005-09-06 Microsoft Corporation Speaker detection and tracking using audiovisual data
US7020337B2 (en) 2002-07-22 2006-03-28 Mitsubishi Electric Research Laboratories, Inc. System and method for detecting objects in images
US7031499B2 (en) 2002-07-22 2006-04-18 Mitsubishi Electric Research Laboratories, Inc. Object recognition system
US7039199B2 (en) 2002-08-26 2006-05-02 Microsoft Corporation System and process for locating a speaker using 360 degree sound source localization
EP1443498B1 (en) 2003-01-24 2008-03-19 Sony Ericsson Mobile Communications AB Noise reduction and audio-visual speech activity detection
US20040254982A1 (en) 2003-06-12 2004-12-16 Hoffman Robert G. Receiving system for video conferencing system
US7212651B2 (en) 2003-06-17 2007-05-01 Mitsubishi Electric Research Laboratories, Inc. Detecting pedestrians using patterns of motion and appearance in videos
US7197186B2 (en) 2003-06-17 2007-03-27 Mitsubishi Electric Research Laboratories, Inc. Detecting arbitrarily oriented objects in images
US7343289B2 (en) * 2003-06-25 2008-03-11 Microsoft Corp. System and method for audio/video speaker detection
US7495694B2 (en) 2004-07-28 2009-02-24 Microsoft Corp. Omni-directional camera with calibration and up look angle improvements
US20050117015A1 (en) 2003-06-26 2005-06-02 Microsoft Corp. Foveated panoramic camera system
US7428000B2 (en) 2003-06-26 2008-09-23 Microsoft Corp. System and method for distributed meetings
CN1860504A (zh) * 2003-09-30 2006-11-08 皇家飞利浦电子股份有限公司 用于视听内容合成的系统和方法
US20050228673A1 (en) * 2004-03-30 2005-10-13 Nefian Ara V Techniques for separating and evaluating audio and video source data
WO2005114557A2 (en) * 2004-05-13 2005-12-01 Proximex Multimodal high-dimensional data fusion for classification and identification
JP3985234B2 (ja) 2004-06-29 2007-10-03 ソニー株式会社 音像定位装置
US7812882B2 (en) 2004-12-30 2010-10-12 Microsoft Corporation Camera lens shuttering mechanism
US7616588B2 (en) 2005-03-31 2009-11-10 Microsoft Corporation Simplified creation and termination of an ad hoc wireless network with internet connection sharing

Also Published As

Publication number Publication date
CA2653278C (en) 2015-06-23
US20110313766A1 (en) 2011-12-22
EP2035799B1 (en) 2012-07-25
WO2008016392A3 (en) 2008-03-13
WO2008016392A2 (en) 2008-02-07
CY1113152T1 (el) 2016-04-13
CN101473207A (zh) 2009-07-01
DK2035799T3 (da) 2012-09-10
SI2035799T1 (sl) 2012-10-30
US8510110B2 (en) 2013-08-13
EP2035799A2 (en) 2009-03-18
EP2035799A4 (en) 2010-08-25
ES2390295T3 (es) 2012-11-08
CA2653278A1 (en) 2008-02-07
US20120278077A1 (en) 2012-11-01
KR101323056B1 (ko) 2013-10-29
PL2035799T3 (pl) 2012-12-31
US8234113B2 (en) 2012-07-31
KR20090031512A (ko) 2009-03-26
US20070297682A1 (en) 2007-12-27
PT2035799E (pt) 2012-09-17
RU2008150475A (ru) 2010-06-27
CN101473207B (zh) 2013-03-27
US8024189B2 (en) 2011-09-20

Similar Documents

Publication Publication Date Title
BRPI0711800A2 (pt) identificação de pessoas usando múltiplos tipos de entrada
TWI222031B (en) Automatic detection and tracking of multiple individuals using multiple cues
CN109690624A (zh) 用于视频分析的自动场景校准方法
Zhou et al. Semi-supervised salient object detection using a linear feedback control system model
TW202026948A (zh) 活體檢測方法、裝置以及儲存介質
KR102137329B1 (ko) 딥러닝 기반의 얼굴인식모델을 이용하여 특징벡터를 추출하는 얼굴인식시스템
Liew et al. Lip contour extraction from color images using a deformable model
JP2015215876A (ja) ライブネス検査方法と装置、及び映像処理方法と装置
BRPI0718950A2 (pt) Estimativa de uma localização de um objeto em uma imagem
KR20200100806A (ko) 테스트 결과를 결정하기 위한 캡처된 이미지의 분석
JP2011233148A (ja) 画像強調方法と装置、物体検出方法と装置
KR102161359B1 (ko) 딥러닝 기반의 얼굴이미지 추출장치
WO2021196721A1 (zh) 一种舱内环境的调整方法及装置
WO2009152509A1 (en) Method and system for crowd segmentation
CN108509994B (zh) 人物图像聚类方法和装置
CN112149615A (zh) 人脸活体检测方法、装置、介质及电子设备
US20220245803A1 (en) Image enhancement processing method, device, equipment, and medium based on artificial intelligence
CN112052830A (zh) 人脸检测的方法、装置和计算机存储介质
KR20200079095A (ko) 얼굴인식용 에지 디바이스
Hernandez-Ortega et al. Deepfakes detection based on heart rate estimation: Single-and multi-frame
KR102274581B1 (ko) 개인화된 hrtf 생성 방법
CN111191549A (zh) 一种两级人脸防伪检测方法
RU2768797C1 (ru) Способ и система для определения синтетически измененных изображений лиц на видео
JP4012200B2 (ja) オブジェクト検出方法、装置、及びプログラム
Elassal et al. Unsupervised crowd counting

Legal Events

Date Code Title Description
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 4A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: NAO APRESENTADA A GUIA DE CUMPRIMENTO DE EXIGENCIA.