PT2035799E - Identificação de pessoas utilizando múltiplos tipos de entradas - Google Patents

Identificação de pessoas utilizando múltiplos tipos de entradas Download PDF

Info

Publication number
PT2035799E
PT2035799E PT07835698T PT07835698T PT2035799E PT 2035799 E PT2035799 E PT 2035799E PT 07835698 T PT07835698 T PT 07835698T PT 07835698 T PT07835698 T PT 07835698T PT 2035799 E PT2035799 E PT 2035799E
Authority
PT
Portugal
Prior art keywords
ssl
classifier
likelihood function
input
video
Prior art date
Application number
PT07835698T
Other languages
English (en)
Inventor
Cha Zhang
Paul A Viola
Pei Yin
Ross G Cutler
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 PT2035799E publication Critical patent/PT2035799E/pt

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • 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
    • 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
    • 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/24Speech recognition using non-acoustical features
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Social Psychology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

DESCRIÇÃO
"IDENTIFICAÇÃO DE PESSOAS UTILIZANDO MÚLTIPLOS TIPOS DE ENTRADAS"
Antecedentes
Existe uma grande variedade de situações nas quais é desejável identificar pessoas, incluindo pessoas que estão a falar utilizando sistemas que são automatizados, pelo menos, em parte. Alguns dos sistemas existentes que identificam oradores utilizam áudio - por exemplo, podem utilizar a "localização da fonte de som", que inclui processar as entradas a partir de múltiplos microfones em diferentes localizações para tentar identificar a direcção ou direcções de onde a voz é produzida. Alguns outros sistemas tentam melhorar a precisão dos métodos, tais como a localização da fonte de som executando a "fusão do nível de decisão", em que os dados a partir de múltiplas entradas são combinados no instante em que são tomadas as decisões sobre a detecção de pessoas ou dos oradores. 0 documento US 2004/263636 AI refere-se a um sistema e método para teleconferência e gravação de reuniões. Um conjunto de microfones pode ser integrado numa câmara de 360° graus. O sistema pode, depois, capturar o sinal de áudio a partir da sala de reuniões, utilizar localização da fonte de som (SSL) para encontrar a direcção do orador e o sistema de reuniões distribuído pode utilizar o SSL baseado em áudio e a detecção de pessoas com base na na visão para detectar os oradores. É também 1 descrita a detecçao multi-pista para detecçao e localizaçao de pessoas.
SUMÁRIO 0 objectivo da presente invenção é proporcionar um método e um sistema para identificação de pessoas, incluindo oradores. 0 objectivo é alcançado pelo objecto das reivindicações independentes. São apresentadas formas de realização nas reivindicações dependentes.
Em seguida apresenta-se um sumário simplificado da divulgação, de modo a proporcionar ao leitor uma compreensão básica. Este sumário não é um resumo extensivo da divulgação e não identifica elementos chave ou críticos da invenção ou limita o âmbito da invenção. 0 seu único fim é apresentar alguns conceitos aqui divulgados de uma forma simplificada, como um prelúdio para a descrição mais detalhada que é apresentada em seguida. São aqui descritas várias tecnologias e técnicas direccionadas para a identificação de pessoas, incluindo oradores. Estas tecnologias e técnicas incluem a identificação de um conjunto de "características" identificativas a partir de múltiplos tipos de entradas ou modalidades (caminhos através dos quais um sistema de computação pode reconhecer uma entrada), incluindo entradas de áudio e de vídeo; e a geração de um "classificador" que inclui um subconjunto de características do 2 conjunto de características, em que o subconjunto de características é seleccionado de modo a que o classificador identifique eficientemente regiões onde possam existir pessoas ou oradores.
DESCRIÇÃO DOS DESENHOS A Fig. 1 ilustra um diagrama exemplificativo mostrando um sistema no qual pode ser conseguida a detecção de pessoas. A Fig. 2 ilustra uma representação gráfica de uma imagem exemplificativa bem como regiões exemplificativas que podem ser identificadas como contendo pessoas ou oradores. A Fig. 3 ilustra um fluxo operacional generalizado exemplificativo incluindo várias operações que podem ser executadas aquando da identificação de uma pessoa. A Fig. 4 ilustra um diagrama generalizado exemplificativo mostrando algumas características exemplificativas que podem ser identificadas e utilizadas em algumas implementações. A Fig. 5 exemplificativo. ilustra algumas características de vídeo A Fig. representativo características 6 ilustra um rectângulo característico exemplificativo que inclui algumas de vídeo exemplificativas. 3 A Fig. 7 ilustra um diagrama generalizado exemplificativo mostrando um sistema no qual pode ser conseguida a geração de um classificador para a detecção de pessoas ou oradores. A Fig. 8 ilustra um diagrama generalizado exemplificativo mostrando um sistema no qual pode ser conseguida a detecção de pessoas ou oradores. A Fig. 9 ilustra algumas representações exemplificativas de janelas de detecção que podem ser utilizadas como parte do processo de detectar pessoas ou oradores. A Fig. 10 ilustra um dispositivo de computador exemplificativo no qual as várias tecnologias aqui descritas podem ser implementadas.
DESCRIÇÃO DETALHADA A presente invenção estende-se a várias tecnologias e técnicas direccionadas para a detecção de pessoas, incluindo oradores. Mais particularmente, são aqui descritos, entre outros, métodos e sistemas que facilitam a identificação de pessoas utilizando múltiplos tipos de entradas, em que os múltiplos tipos de entradas são considerados um início do processo de detecção, em vez de serem combinadas no fim do processo de detecção.
Voltando agora à Fig. 1, é ilustrado aqui um diagrama generalizado exemplificativo mostrando um sistema 100 no qual pode ser conseguida a detecção de pessoas. A descrição da Fig. 1 é feita com referência à Fig. 10. Contudo, deve ser entendido 4 que os elementos descritos com referência à Fig. 1 não pretendem ser limitados à utilização com os elementos descritos com referência a esta outra figura. Além disso, apesar do diagrama exemplificativo na Fig. 1 indicar elementos particulares, em algumas implementações, podem não existir todos estes elementos, e em algumas implementações podem existir elementos adicionais.
Incluídos na Fig. 1 estão um ou mais dispositivos 110 de entrada vídeo, um ou mais dispositivos 120 de entrada áudio, um ou mais outros dispositivos 130 de entrada, dados 140 de vídeo, dados 150 de áudio, outros dados 160, um detector 170 de pessoas implementado num dispositivo 165 detector, um dispositivo 175 auxiliar e a saída do detector de pessoas, quaisquer pessoas ou oradores 180 detectados. 0 detector 170 aceita entradas, que pode depois utilizar para tentar identificar uma ou mais pessoas 180, incluindo pessoas que estão a falar, ou "oradores". O detector pode utilizar uma variedade de mecanismos para tentar identificar pessoas, incluindo os que aqui se discutem em maior detalhe. Em algumas implementações, o detector pode executar mecanismos de detecção determinados externamente, enquanto que em outras implementações, o detector pode determinar e executar mecanismos de detecção. O detector pode utilizar uma variedade de entradas, incluindo dados 140 de vídeo, dados 150 de áudio, e outros dados 160.
Os, um ou mais, dispositivos 110 de entrada vídeo, podem compreender uma variedade de dispositivos de entrada vídeo, incluindo uma variedade de câmaras e tipos de câmara com uma gama de funcionalidades. Numa implementação, os dispositivos 110 de entrada vídeo podem incluir múltiplas câmaras localizadas 5 numa configuração circular de modo a proporcionar uma visão de 360°. Em outras implementações, a mesma visão de 360° pode ser proporcionada por uma única câmara, eventualmente com uma lente única. Em ainda outras implementações, os, um ou mais, dispositivos de entrada vídeo, podem proporcionar uma visão que cubra uma gama inferior a 360°.
Pelo menos, parte das saídas dos, um ou mais, dispositivos 110 de entrada de vídeo, são os dados 140 de vídeo. Estes dados podem incluir múltiplas fotogramas de dados de vídeo, em que cada fotograma compreende uma imagem constituída por múltiplos pixéis. Por exemplo, uma câmara que seja capaz de produzir vídeo a uma velocidade de 30 fotogramas de vídeo por segundo pode produzir como saída 30 imagens por segundo. Em algumas implementações, cada imagem produzida pela câmara pode ser conhecida como a "imagem base" (para a diferenciar de outras imagens calculadas, como as imagens de diferenças de curta duração e as imagens de média de longa duração explicadas em seguida). Note-se que os, um ou mais, dispositivos 110 de entrada de vídeo podem proporcionar dados numa variedade de formas, incluindo em formas onde todos os pixéis de cada fotograma de vídeo não são transmitidos explicitamente a partir do dispositivo de entrada de vídeo. Por exemplo, a saída de um ou mais dispositivos 110 de entrada de vídeo pode compreender um único fotograma de vídeo inicial onde são proporcionados os valores para todos os pixéis no fotograma, e a saída para, pelo menos, alguns fotogramas subsequentes adicionais podem apenas incluir alterações em relação ao fotograma inicial. Neste caso a representação pixel-a-pixel para cada fotograma subsequente pode ser determinada aplicando as alterações ao fotograma original. Em qualquer dos casos, cada imagem base produzida pela câmara 6 pode ser considerada para incluir uma imagem completa pixel-a-pixel.
Além disso, os dados 140 de vídeo podem também compreender dados calculados adicionais. Por exemplo, em algumas implementações pode ser útil calcular uma "diferença de curta duração" utilizando múltiplos fotogramas de vídeo. Tal diferença de curta duração pode ser útil, por exemplo, para identificar movimento. Apesar da diferença de curta duração poder ser calculada de uma variedade de modos, um método possível é, para cada pixel na imagem, subtrair o valor do pixel do fotograma imediatamente anterior do valor do pixel do fotograma actual. Ao mesmo tempo, o método pode também subtrair o valor do pixel no segundo fotograma imediatamente anterior do valor do pixel do fotograma actual. Então, o mínimo das duas operações de subtracção pode ser tomado como o valor actual do pixel. Para pixéis em que não exista movimento - isto é, para áreas em que a imagem permanece a mesma - este método tenderá a produzir valores próximos de zero. Para pixéis onde tenha existido movimento recente, este método pode produzir valores que em alguns casos são muito maiores do que zero. Este método específico pode ser representado pela equação seguinte, em que Mt é a imagem de diferença de curta duração no instante t e It é a imagem a partir da câmara no instante t:
Mt = min \lt~It-2D
Note-se que, dependendo da velocidade de fotogramas da câmara, os fotogramas "anteriores" utilizados para este cálculo podem ser mais do que os dois fotogramas imediatamente anteriores. Por exemplo, quando se utiliza uma câmara com uma velocidade de fotograma de 30 fotogramas por segundo, podem ser 7 utilizados os fotogramas de 10 fotogramas anteriores e 20 fotogramas anteriores, em vez dos dois fotogramas imediatamente anteriores.
Nas mesmas ou em outras implementações, pode ser útil calcular "uma média de longa duração" de fotogramas video, que podem também ser parte dos dados 140 de video. Uma média de longa duração pode identificar partes da região capturada por um ou mais dispositivos 110 de entrada de video onde tenha existido movimento previamente, mesmo que o movimento não tenha ocorrido recentemente. Apesar da média de longa duração poder ser calculada de uma variedade de modos, um método possível é calcular uma média das imagens de diferença de curta duração incluindo eventualmente as produzidas pelo método de curta duração descrito anteriormente. Utilizando um tal método, o fotograma de vídeo médio de longa duração pode ser actualizado continuamente para que cada pixel no fotograma compreenda o valor médio daquele pixel a partir de todos ou de muitos dos fotogramas de diferença de curta duração anteriores. Para áreas da região capturada por câmaras onde tenha existido pouco ou nenhum movimento durante o processo de captura do vídeo, este método pode ter tendência a produzir valores próximos de zero. Em contraste, para áreas onde tenha existido movimento em algum instante no passado, o que muitas vezes inclui áreas da região que contêm pessoas, este método pode ter a tendência de produzir valores não nulos.
Além disso, em algumas implementações, em vez de se considerarem imagens calculadas, tais como a diferença de curta duração e a média de longa duração, a partir do fotograma mais recente de dados de vídeo, pode ser útil considerar que estes também incluem, pelo menos, alguns dados "futuros". Por exemplo, a diferença de curta duração pode utilizar o fotograma actual, o fotograma anterior mais recente e o "próximo fotograma" como entradas, esperando até que o próximo fotograma de vídeo seja capturado e calculando, depois, a diferença de curta duração utilizando estes três fotogramas identificados. Qualquer operação deste tipo pode aumentar a latência de, pelo menos, esta parte do processo de detecção de pessoas durante o tempo necessário para capturar os dados "futuros" adicionais, mas em alguns casos esta latência aumentada pode ser desviada pelos dados finalmente representados pela imagem calculada.
Os dados 140 de vídeo podem compreender uma ou todas as imagens discutidas previamente, bem como imagens adicionais ou os fotogramas de vídeo. Estas imagens podem ser proporcionadas a partir de, ou se necessário, calculadas, numa variedade de localizações, incluindo os, um ou mais, dispositivos 110 de entrada de vídeo, o detector 170 ou qualquer outro dispositivo. Além disso, apesar desta discussão se referir ao "vídeo", é importante compreender que pode ser utilizada qualquer câmara capaz de produzir imagens, incluindo as câmaras não tradicionalmente disso consideradas como "câmaras de vídeo". Por exemplo, uma câmara "fixa" susceptível de tirar várias fotografias em sequência pode ser utilizada em algumas implementações. Além disso, se a detecção de movimento não for considerada importante, em algumas implementações pode ser utilizada uma única imagem fixa. Além disso, em alguns casos, podem ser utilizados dados adicionais. Por exemplo, o detector pode utilizar a cor da pele como um meio adicional para identificar regiões que podem conter uma pessoa.
Os, um ou mais, dispositivos 120 de entrada de áudio podem compreender uma variedade de dispositivos de entrada de áudio, 9 incluindo uma variedade de microfones e tipos de microfones com uma gama de funcionalidade. Em algumas implementações os, um ou mais, dispositivos de áudio podem incluir um conjunto de microfones constituído por múltiplos microfones localizados em diferentes posições. Utilizando uma variedade de informações de um conjunto de microfones deste tipo, incluindo eventualmente o conhecimento das diferentes posições dos microfones e das diferenças de amplitude e dos tempos de chegada para os sons detectados pelos microfones os, um ou mais, dispositivos de entrada de áudio podem proporcionar dados incluindo direcções a partir das quais os sons foram produzidos. Tais entradas são por vezes incluídas como parte de uma técnica chamada "localização de fonte de som" (SSL). Em alguns casos, tal informação direccional pode ser útil aquando da determinação de oradores.
Os dados 150 de áudio podem, em algumas implementações com alguma quantidade de processamento, incluir uma "função de distribuição de probabilidade" que proporciona valores de verosimilhança que representam a probabilidade de que o som, incluindo eventualmente uma voz de orador, esteja a chegar de qualquer direcção particular. Por exemplo, se a informação a partir do um ou mais dispositivos 110 de entrada áudio pode ser utilizada para localizar som de qualquer direcção, a função de distribuição de probabilidade, também referida como SSL, aqui referida como função de verosimilhança, pode conter um valor de probabilidade para diferentes azimutes ou direcções. Para as direcções para as quais pouco ou nenhum som é detectado, o valor de probabilidade pode ser baixo, enquanto que para as direcções a partir das quais mais som é detectado, o valor de probabilidade pode ser elevado. 10
Em algumas implementações, eventualmente dependendo das capacidades dos dispositivos 120 de entrada de áudio, os dados 150 de áudio podem incluir informação adicional. Por exemplo, em algumas implementações, os dados de áudio podem incluir o alcance ou distância às fontes de som e/ou a elevação das fontes de som. Em algumas implementações, estes dados - como o alcance para as fontes de som e/ou a elevação das fontes de som - podem também estar associados com funções de distribuição de probabilidade.
Os dados 150 de áudio podem compreender alguns ou todos os dados discutidos anteriormente, bem como dados adicionais. Estes dados podem ser proporcionados a partir de, ou se necessário, calculados em, uma variedade de localizações, incluindo em hardware associado com o um ou mais dispositivos 120 de entrada de áudio, o detector 170 ou qualquer outro dispositivo. Por exemplo, em algumas implementações a localização da fonte de som, talvez produzindo uma função de verosimilhança SSL, pode ser executada utilizando hardware associado com o um ou mais dispositivos de entrada de áudio, pode ser executada utilizando hardware associado com o detector ou pode ser executada utilizando algum outro hardware ou em algumas outras localizações.
Em algumas implementações, os dados 140 de vídeo e os dados 150 de áudio podem ser ligados de alguma forma para que as direcções associadas com os dados de vídeo possam ser correlacionadas com as direcções associadas com os dados de áudio. Por exemplo, numa tal implementação, a região de uma função de verosimilhança SSL de um azimute para outro pode estar correlacionada com uma região particular em uma ou mais fotogramas de vídeo, identificada talvez pelas localizações 11 horizontais dos pixéis. Por exemplo, numa implementação, a região de, por exemplo, 10° a 20°, pode ser correlacionada com pixéis localizados, por exemplo, a partir das localizações horizontais 100 até à 200 de pixéis. Utilizando uma tal correlação, a informação a partir do um ou mais dispositivos 120 de entrada áudio pode ser utilizada ao identificar regiões particulares nas imagens proporcionadas pelo um ou mais dispositivos 110 de video, e vice versa. Para os dados 150 de áudio que incluam informação adicional, como a elevação, a informação pode também ser correlacionada com regiões particulares nas imagens. Por exemplo, a informação de elevação pode ser correlacionada com as localizações verticais dos pixéis. Tipos de correlação semelhantes podem também existir com qualquer do um ou mais dispositivos 130 de entrada, dependendo da natureza e da operação de tais dispositivos.
Em algumas implementações, tipos adicionais de entradas podem existir e ser utilizadas como parte do processo de detecção. Em alguns casos, estes tipos adicionais de entradas podem ser originadas em um ou mais dispositivos 130 de entrada e produzir, pelo menos parte, de outros dados 160. Por exemplo, um outro possível dispositivo de entrada pode incluir uma câmara tridimensional que é capaz de proporcionar alguma medida da distância ou profundidade para os elementos numa imagem. O detector 170 pode ser implementado numa variedade de dispositivos de computação, incluindo num dispositivo 165 detector, como mostrado. Em algumas implementações, este dispositivo detector pode conter o hardware necessário para implementar a detecção de pessoas e pode ser, por exemplo, ligado a um ou mais dispositivos de entrada de vídeo e a um ou mais dispositivos de entrada de áudio através de uma variedade 12 de meios de ligação, tais como um USB, qualquer variedade de redes incluindo redes sem fios, e assim sucessivamente, como seria apreciado por um especialista na técnica. Em outras implementações, o detector pode ser implementado num 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 dos dispositivos 110 de entrada de vídeo e um ou mais dos dispositivos 120 de entrada de áudio. Qualquer dispositivo detector pode incluir uma variedade de elementos de processamento, incluindo unidades de processamento central (CPU) de propósito geral e/ou unidades de processador de sinal digital (DSP) . Um ambiente de computação exemplificativo no qual um detector pode ser implementado é descrito em seguida, com referência à Fig. 10.
Independentemente de o dispositivo 165 detector conter ou estar ligado a elementos como o um ou mais dispositivos 110 de entrada de vídeo, o um ou mais dispositivos 120 de entrada de áudio e outros dispositivos 130 de entrada áudio, o dispositivo detector pode também, em algumas implementações, ser ligado a um ou mais dispositivos 175 auxiliares. Neste contexto, um dispositivo auxiliar pode ser qualquer dispositivo que proporcione uma funcionalidade adicional que pode estar associada com ou ser útil ao dispositivo 165 detector. Por exemplo, em algumas implementações, um dispositivo auxiliar pode compreender um computador portátil que contém um disco rígido na qual o dispositivo detector pode armazenar vídeo e áudio capturados e possivelmente regiões nas quais pessoas ou oradores tenham sido detectados. Nas mesmas ou em outras implementações, o dispositivo auxiliar pode proporcionar ciclos de processamento de computação para o dispositivo detector para que, por exemplo, o dispositivo detector possa descarregar algum ou todo o seu 13 processamento de detecção para o dispositivo auxiliar. Em ainda outras implementações, um dispositivo auxiliar pode compreender apenas um meio de armazenamento - pode ser, por exemplo, um disco rígido encapsulado num USB. Geralmente, um dispositivo auxiliar pode ser ligado ao dispositivo detector utilizando um meio de ligação, incluindo USB, qualquer forma de rede e assim sucessivamente.
Em algumas implementações, pode ser importante que os dados a partir de dispositivos de entrada diferentes estejam sincronizados. Por exemplo, a entrada a partir do um ou mais dispositivos 110 de entrada de vídeo pode ser sincronizada com a entrada do um ou mais dispositivos 120 de entrada de áudio.
Voltando agora à Fig. 2, mostra-se aí uma representação gráfica de uma imagem 200 exemplificativa bem como as regiões exemplificativas que podem ser identificadas como contendo pessoas ou oradores. Estã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. Esta descrição da Fig. 2 é feita com referência à Fig. 1. Contudo, deve entender-se que os elementos descritos com referência à Fig. 2 não pretendem estar limitados para serem utilizados com os elementos descritos com referência a esta outra Fig.. Além disso, apesar do diagrama exemplificativo na Fig. 2 indicar elementos particulares, em algumas implementações podem não existir todos estes elementos e, em algumas implementações podem existir elementos adicionais. A imagem 200 exemplificativa pode representar um fotograma de vídeo produzido por um ou mais dispositivos de entrada de vídeo, 14 incluindo, eventualmente, o um ou mais dispositivos 110 de entrada de video descritos previamente com referência à Fig. 1.
Em algumas implementações, um detector, talvez o detector 170 da Fig. 1, pode indicar pessoas ou oradores identificados utilizando localizações horizontais e físicas de pixéis que denotem um rectângulo ou alguma outra forma. Por exemplo, um detector pode indicar que a primeira região 210 pode possuir uma probabilidade elevada de estar associada com uma pessoa ou um orador. De forma semelhante, e possivelmente ao mesmo tempo, este pode indicar que a segunda região 220 pode também possuir uma probabilidade elevada de estar associada com uma pessoa ou orador. Como pode ser entendido pelo exame da Fig. 2, no caso da primeira região 210 e da segunda região 220, um detector deste tipo estaria correcto no facto de que cada região contém uma pessoa. Um detector pode também identificar a terceira região 230 como possuindo uma probabilidade elevada de estar associada com uma pessoa - talvez, por exemplo, devido à reflexão do som a partir de uma parede ou outra superfície. Uma vez que um detector apenas pode indicar probabilidades de uma região particular estar associada com uma pessoa, em alguns casos as regiões identificadas por um detector podem não conter verdadeiramente uma pessoa. O limiar ou nível para o qual o detector considera que uma região contém uma pessoa pode mudar e pode ser definido dependendo da aplicação ou da utilização do detector. Por exemplo, em algumas implementações, um limiar deste tipo pode ser estabelecido para algum valor relativamente elevado, o que presumivelmente limitaria o número de regiões que podem estar associadas com uma pessoa enquanto também, talvez, limitando o número de regiões que são finalmente mal identificadas. 15 A imagem 200 exemplificativa pretende ter um propósito ilustrativo e não deve ser interpretada para limitar o âmbito de nenhuma invenção reivindicada. De forma semelhante, a representação de pessoas identificadas e regiões mal identificadas ilustra apenas um meio gráfico para mostrar as regiões identificadas e mal identificadas. Quaisquer meios para representar ou ilustrar as regiões podem ser utilizados.
Voltando agora à Fig. 3, é ai mostrado um fluxo 300 operacional generalizado exemplificativo incluindo várias operações que podem ser executadas aquando da identificação de uma pessoa. A descrição seguinte da Fig. 3 é feita com referência a figuras adicionais, incluindo a Fig. 1, Fig. 4, Fig. 8, e a Fig. 9. Contudo, deve ser entendido que o fluxo operacional descrito com referência à Fig. 3 não pretende ser limitado a ser utilizado, com os elementos descritos com referência a estas outras figuras. Além disso, apesar do fluxo operacional exemplificativo da Fig. 3 indicar uma ordem de execução particular, em uma ou mais formas de realização alternativas as operações podem ser ordenadas de forma diferente. Além disso, apesar do fluxo operacional exemplificativo conter múltiplos passos, deve ser reconhecido que em algumas implementações, pelo menos, algumas destas operações podem ser combinadas ou executadas ao mesmo tempo.
Numa implementação da operação 310, é identificado um conjunto de características. O conjunto de características pode, depois, ser utilizado como entrada ao executar a operação 315 de geração de classificador. Neste contexto, uma característica é uma entidade com um ou mais tipos de entrada que serve para quantificar alguns elementos da entrada ou entradas num determinado instante. Podem existir características de áudio, 16 características de vídeo e outras características associadas com outros tipos de entrada. Por exemplo, no caso da entrada de áudio que inclui uma função de verosimilhança SSL, uma característica pode ser definida, pelo menos em parte, por algum tipo de comparação dos valores minimo e máximo "locais" da função de verosimilhança SSL, comparada com os valores mínimo e máximo "globais" da mesma função de verosimilhança SSL (em que "local" pode referir-se aos valores para um subconjunto da função de verosimilhança SSL enquanto "global" pode referir-se a valores para a função de verosimilhança SSL completa). Dependendo dos valores da função de verosimilhança SSL, diferentes características de áudio produzirão diferentes resultados numéricos. Alguns detalhes específicos aplicáveis a algumas implementações relacionadas com as características que podem ser utilizadas, incluindo mais informação à cerca das características específicas para as entradas de áudio e de vídeo, são discutidas em mais detalhe em seguida, por exemplo com referência à Fig. 4.
Os meios pelos quais o conjunto de características pode ser identificado pode variar dependendo da natureza das características e da(s) entrada(s) com as quais estas estão associadas. Características de identificação, bem como o modo como as características podem ser geradas, é muitas vezes a tarefa de um ou mais projectistas com experiência no domínio aplicável à área de conhecimento para a qual o conjunto de características deve ser gerada. Por exemplo, a criação de uma característica de áudio que é definida, pelo menos em parte, por uma função que produz um número quando os valores dados por uma função de verosimilhança SSL possam requerer atenção da parte de um projectista humano que desenha a característica de áudio. 17
Em alguns casos, as características podem ser escolhidas porque se acredita que estas proporcionem alguma informação à cerca da existência de uma pessoa ou orador. Contudo é importante notar que uma característica não tem necessariamente de proporcionar um resultado particularmente "bom" ou sempre preciso. A operação 313 de geração de classificador, discutida em seguida, pode ser utilizada para seleccionar, através de outro processo, as características mais adequadas para a detecção de pessoas e de oradores.
Numa implementação exemplificativa de uma operação 315 de geração de classificador, um subconjunto das características identificadas na operação 310 podem ser seleccionadas para formar um "classificador". Como utilizado aqui, o termo "classificador" refere-se a uma entidade que, quando apresentada com entradas - incluindo, em algumas implementações, entradas de áudio e de vídeo como aquelas discutidas noutro local neste pedido - pode proporcionar um resultado aproximado que fornece alguma estimativa sobre se uma região particular numa imagem contém uma pessoa ou um orador.
Os classificadores são muitas vezes construídos ou criados utilizando um processo automatizado. Por exemplo, em algumas implementações os classificadores podem ser criados utilizando alguma forma de "algoritmo de aprendizagem", que compreende um processo que considera algumas entradas e produz uma saída que pode classificar ou responder perguntas particulares. O classificador gerado consiste geralmente de algum subconjunto das características identificadas na operação 310, em que as características no subconjunto foram seleccionadas pelo algoritmo de aprendizagem para responder à pergunta associada com o classificador. Dependendo de várias necessidades, as 18 características seleccionadas podem responder à pergunta de forma mais precisa, mais eficientemente, e, assim, sucessivamente. Em algumas implementações, as caracteristicas que são uma parte do classificador podem estar localizadas no classificador de uma forma a melhorar a operação do classificador quando utilizado para detecção. Por exemplo, as caracteristicas preferidas podem ser ordenadas para serem avaliadas mais cedo no classificador se a sua avaliação requerer relativamente menos recursos computacionais ou, se tais caracteristicas estiverem mais fortemente correlacionadas com uma pessoa ou orador do que outras características. Esta ordenação pode ser executada pesando as características preferidas enquanto o classificador é gerado pela selecção das características no classificador após o classificador ter sido gerado ou através de outros meios. Alguns detalhes específicos aplicáveis a algumas implementações relacionadas com a geração dos classificadores utilizando algoritmos de aprendizagem são descritas em mais detalhe em seguida, por exemplo com referência à Fig. 7.
Uma vez que o classificador tenha sido gerado na operação 315, este pode ser utilizado, na operação 320, para identificar pessoas ou oradores. Geralmente, uma implementação da operaçao 320 envia uma entrada, tal como áudio ou vídeo, para 0 classificador, que utiliza a entrada para determinar a verosimilhança de uma pessoa ou orador estar presente. Em algumas implementações, um ou mais fotogramas de vídeo podem ser proporcionados como entrada e podem ser logicamente subdivididas em regiões de vários tamanhos e, depois, o classificador pode ser avaliado em cada uma das regiões subdivididas. Como aqui utilizado, cada região subdividida pode ser conhecida como uma "janela de detecção". Para cada janela de detecção, um detector 19 pode avaliar algum número de características no classificador, determinando finalmente com algum nível de confiança se uma região particular contém uma pessoa ou orador. Em algumas implementações, depois da janela de detecção ter sido avaliada para pessoas ou oradores, as regiões mais promissoras - em alguns casos, as mais prováveis - podem ser identificadas e colocadas na saída como sendo regiões que contêm uma pessoa ou um orador. As regiões mais prováveis podem ser identificadas, em parte, escolhendo regiões que possuem algum número relativamente elevado de janelas de detecção positiva. Alguns detalhes específicos aplicáveis a algumas implementações relativas à utilização de um classificador para identificar pessoas ou oradores, incluindo janelas de detecção, são descritas em mais detalhe de seguida, por exemplo, com referência à Fig. 8 e Fig. 9. É importante notar que as operações ilustradas com referência à Fig. 3 podem ser implementadas ou executadas numa variedade de dispositivos de computação ou plataformas diferentes, incluindo a utilização de múltiplos dispositivos de computação na mesma implementação. Por exemplo, a operação 310 de identificação de características e a operação 315 de geração de classificador podem ser executadas em associação com um ou mais dispositivos de computadores pessoais, enquanto o classificador de avaliação para a operação 320 de detecção pode ser executado num dispositivo separado do dispositivo ou dispositivos associados com, por exemplo, a operação de geração de classificador. Isto inclui, em, pelo menos, uma implementação exemplificativa, num dispositivo como o dispositivo 165 detector ilustrado na Fig. 1. É também importante compreender que algumas operações podem ser executadas menos ou mais vezes do que outras operações. Por exemplo, em algumas implementações pode ser comum que a operação 20 310 de identificação de caracteristicas e a operação 315 de geração de classificador sejam executadas várias vezes, até que um classificador adequado tenha sido encontrado. Então código que implementa a detecção utilizando esse classificador, como exemplificado pela operação 320, pode ser implementado utilizando algum outro dispositivo - incluindo, por exemplo, um dispositivo de câmara adequado para utilização numa sala de conferências - e, depois, executado repetidamente para detectar realmente pessoas em oradores. Em outras implementações a operação 310 de identificação de caracteristicas e a operação 315 de geração de classificador podem ser ambas implementadas no mesmo dispositivo. Em implementações deste tipo, ou em outras implementações, a operação de geração de classificador pode ser executada para cada nova sala ou região onde o dispositivo é utilizado e pode produzir classificadores distintos para cada sala ou região.
Voltando agora à Fig. 4, ilustra-se aqui um diagrama generalizado exemplificativo mostrando algumas caracteristicas exemplificativas que podem ser identificadas e utilizadas em algumas implementações. Esta descrição da Fig. 4 é feita com referência às Fig. 5 e Fig. 6. Contudo, deve ser entendido que os elementos descritos com referência à Fig. 4 não pretendem estar limitados a serem utilizados com os elementos descritos com referência a estas outras figuras. Além disso, apesar do diagrama exemplo na Fig. 4 indicar elementos particulares, em algumas implementações podem não existir todos os elementos, e em algumas implementações podem existir elementos adicionais. O diagrama 400 exemplificativo inclui um conjunto de caracteristicas 410 que pode conter caracteristicas 420 de 21 áudio, características 430 de vídeo e outras características 450.
Geralmente, uma característica de áudio é uma característica associada com algum tipo de entrada de áudio. As características de áudio podem ser criadas para reflectir qualquer número de uma variedade de parâmetros áudio, incluindo a amplitude de um sinal de áudio, frequência de um sinal de áudio, e assim sucessivamente.
Num ambiente no qual os dados de áudio incluem uma função de verosimilhança SSL, as características de áudio podem utilizar algum conjunto de informação associado com a função de verosimilhança SSL. Em algumas implementações, um conjunto de características de áudio baseado numa função de verosimilhança SSL pode utilizar valores a partir da função de verosimilhança SSL associados com cada janela de detecção, juntamente com valores globais para a função de verosimilhança SSL completa. Pode utilizar estes valores em instantes discretos no tempo -por exemplo, no presente instante (o instante para o qual os dados SSL estão disponíveis mais recentemente) ou em qualquer instante, por exemplo, o último minuto - bem como agregados sobre algum período de tempo.
Por exemplo, suponha-se que o máximo global, o mínimo global, e a média global da função de verosimilhança SSL são calculados ΊΤβ )\
como se segue: o máximo global ' max/l e o valor máximo da função de verosimilhança SSL sobre a função de verosimilhança SSL
completa; o mínimo global (^min)| é o valor mínimo da função de verosimilhança SSL sobre a função de verosimilhança SSL 719 ) completa; e a média global ' av9' é o valor médio da função de 22 verosimilhança SSL sobre a função de verosimilhança SSL completa.
Suponha-se também que, para cada janela de detecção, alguns valores locais são calculados, utilizando a região da função de verosimilhança SSL que corresponde a uma janela de detecção particular (que pode requerer converter o espaço de coordenadas utilizado pela imaqem e/ou janela de detecção para o espaço de coordenadas - possivelmente em graus - utilizado pela função de (/J )| verosimilhança SSL) : o máximo local max I é o valor máximo da função de verosimilhança SSL sobre a janela de detecção; o (U )\ mínimo local ' mm I é o valor mínimo da função de verosimilhança SSL sobre a janela de detecção; a média local ^avg)| é o valor médio da função de verosimilhança SSL sobre a janela de detecção; e a saída do ponto médio local ^ m/d) é o valor da função de verosimilhança SSL no ponto médio da janela de detecção - por exemplo, se a janela de detecção compreender os graus entre 10° e 20°, a saída de ponto médio local pode ser calculada como o valor da função de verosimilhança SSL a 15°. Suponha-se também a existência de um valor máximo do "resto" max"que é o valor máximo da função de verosimilhança SSL fora da janela de detecção particular.
Dados estes valores, podem popular-se parte do conjunto de características 410 adicionando as características 420 de áudio definidas pelo menos em parte por funções como aquelas na lista seguinte: 23 τ 11 — Lg •‘“'max minJs — 1S min 2 I1 —Tg •^min ^min τβ -Le- •^nux ^imn 3 7'· _JS avg "min 13 — T8 max ‘-'min 4 jl — r* mid ^min U -£* max min 5 lí. r' "fn!n 6
£L Z,' 7. z,' 8 Z'_. ti 9 max min L' 10 z/
Le mox 11 Z'„
LU
lL u max 2 4 12 1 3. 'mid 1 3. 'mid 14. L' -Z,' max mm L* "max 15. 1/ -L'__< ε (uma característica binária que testa se a janela de detecção contém um pico global da função de verosimilhança SSL) 16. rresí ^max
Outros meios para criar características de áudio podem ser utilizar os dados a partir da função de verosimilhança SSL de uma forma semelhante à explicada previamente, mas podendo utilizar dados a partir das funções de um ou mais períodos de tempo "prévios" em vez de apenas o do período de tempo "actual". Por exemplo, além de criar um conjunto de características de áudio definidas em parte pela funções listadas previamente em que os dados utilizados pelas funções são os dados mais recentes produzidos pela função de verosimilhança SSL, características adicionais podem ser criadas em que os dados utilizados pelas funções provêm de um ou mais períodos de tempo prévios. Por exemplo, o valor global máximo ^9max)| pode permanecer o valor máximo da função de verosimilhança SSL sobre a função de verosimilhança SSL completa, mas num instante de tempo diferente, talvez, por exemplo, 1/60 de segundo antes utilizando os segundos mais recentes valores da função de verosimilhança SSL. Características adicionais semelhantes podem ser criadas para um número arbitrário de períodos de tempo prévios. Por exemplo, num ambiente que proporciona uma nova função de verosimilhança SSL todos os 1/60 de segundo, podem ser 25 criadas características que utilizam as imediatamente prévias sessenta (60) funções de verosimilhança SSL - se se criasse uma caracteristica para cada uma das dezasseis (16) funções listadas previamente, isto poderia resultar em novecentos e sessenta (960) caracteristicas de áudio SSL.
Além de utilizar o valor da função de verosimilhança SSL em instantes de tempo discretos, podem também ser criadas algumas caracteristicas que utilizam alguns valores agregados derivados de múltiplas funções de verosimilhança SSL prévias. Por exemplo, (L9 )\ em algumas caracteristicas, o valor máximo global ' max/l pode ser definido como o valor máximo absoluto da função de verosimilhança SSL que ocorreu no, por exemplo, segundo anterior, em vez de ser apenas o valor máximo da função de verosimilhança SSL, tal como proporcionado pela instância mais recente da função de verosimilhança SSL. De uma forma U9 )| semelhante, por exemplo, a média global v av97l pode ser definida como o valor médio da função de verosimilhança SSL sobre todas as funções de verosimilhança SSL para algum período de tempo prévio.
Além de utilizar dados a partir de funções de verosimilhança SSL prévias, pode também ser possível utilizar dados de funções de verosimilhança SSL "futuras", se a latência aumentada provocada pela espera pela captura destes dados futuros for aceitável.
Qualquer uma ou todas as caracteristicas adicionais pode então ser adicionada ao mesmo conjunto de caracteristicas 410 e utilizada no processo de geração do classificador. Pode também incluir-se outras caracteristicas baseadas, pelo menos em parte, 26 na função de verosimilhança SSL ou claro, outras caracteristicas baseadas em outros dados de áudio ou dados de áudio combinados com outros dados a partir de outras entradas.
Outro conjunto de caracteristicas que pode ser uma parte do conjunto de caracteristicas 410 são as caracteristicas 420 de video. Em geral, uma caracteristica de video pode ser qualquer caracteristica associada com algum tipo de entrada de video. Uma caracteristica de video pode, por exemplo, efectuar algum tipo de operação matemática em algum ou em todos os pixéis de uma imagem, incluindo a imagem base bem como outras imagens, talvez como as imagens calculadas de diferença de curta duração e de média de longa duração. Alguns detalhes específicos aplicáveis a algumas implementações relacionados com a definição de imagens de video são descritos em mais detalhe em seguida, por exemplo com referência à Fig. 5 e Fig. 6.
Também incluídas no conjunto de caracteristicas 410 podem estar outras caracteristicas 450. Estas outras caracteristicas 450 compreendem quaisquer caracteristicas adicionais identificadas para serem úteis para consideração quando se gera um classificador. Em algumas implementações, em ambientes nos quais existe outros tipos de entradas, caracteristicas associadas com outros tipos de entrada podem ser parte das outras caracteristicas. Por exemplo, num ambiente que inclui uma entrada de uma câmara tridimensional, tal como alguma medida de distância ou profundidade dos elementos numa imagem, as outras caracteristicas podem incluir caracteristicas que quantificam estes dados adicionais, seja de forma isolada de outras entradas ou, talvez, em conjunção com outras entradas. Na mesma ou em outras implementações, outras caracteristicas podem incluir caracteristicas que utilizam uma combinação de outras entradas 27 em conjunto - por exemplo, algumas características podem utilizar uma entrada de áudio e uma entrada de vídeo em conjunto, na mesma característica ou características.
Em implementações em que as entradas proporcionam uma visão a 360°, pelo menos, algumas características podem ser implementadas de forma a "darem a volta" - isto é, de forma a que algumas características considerem a entrada a partir, por exemplo, tanto do "início" como do "fim" dos dados proporcionados por entradas particulares. Por exemplo, num ambiente que inclui uma entrada de áudio que proporciona uma visão de 360°, pelo menos, algumas características podem incorporar entradas a partir do, por exemplo, azimute 355° até ao, por exemplo, azimute 5o. Essas características podem em alguns casos capturar pessoas ou oradores que estão colocados nesse momento na fronteira entre o "início" e o "fim" dos dados proporcionados pelas entradas.
Voltando agora à Fig. 5, mostra-se aqui algumas características de vídeo exemplificativas. Esta descrição da Fig. 5 é feita com referência à Fig. 6, que discute algumas maneiras como podem ser utilizadas as características de vídeo. Contudo, deve ser compreendido que os elementos descritos com referência à Fig. 5 não pretendem ser limitados a serem utilizados com os elementos descritos com referência a esta outra figura. Além disso, apesar do diagrama exemplificativo da Fig. 5 indicar elementos particulares, em algumas implementações podem não existir todos estes elementos e, em algumas implementações podem existir elementos adicionais.
Apesar das características de vídeo poderem compreender qualquer entidade que é capaz de quantificar algum elemento da 28 entrada de vídeo num instante de tempo particular, um tipo útil de característica de vídeo é aquela formada em parte por um ou mais rectângulos. Geralmente, os valores associados com os pixéis num ou mais rectângulos são somados ou de outro modo manipulados matematicamente para determinar um valor numérico associado com uma característica de vídeo rectangular particular. Por exemplo, numa imagem a preto e branco em que cada pixel está ligado ou desligado (isto é, um um (1) ou zero (0) binários), o valor numérico associado com uma característica de vídeo pode ser, por exemplo, a soma dos pixéis que estão ligados ou possuem o valor de um (1), dentro do rectângulo particular. Na Fig. 5 o rectângulo 550 e o rectângulo 560 ilustram graficamente duas possíveis características de vídeo de rectângulo isolado. Em imagens com uma escala de cinzentos ou a cores, os valores numéricos associados com pixéis específicos podem ser manipulados de uma forma semelhante. Por exemplo, numa imagem com escala de cinzentos em que um valor numérico associado com cada pixel varia entre zero (0) e duzentos e cinquenta e cinco (255), uma característica pode ser associada com a soma dos valores da escala de cinzento para os pixéis num rectângulo. Note-se que apesar de serem ilustrados e discutidos aqui rectângulos, a região ou regiões associadas com uma característica de vídeo pode ter qualquer forma e não estão limitadas a rectângulos.
Outro tipo de característica de vídeo pode utilizar dois ou mais sub-rectângulos dentro de um rectângulo mãe. O rectângulo 510, rectângulo 520, rectângulo 530 e rectângulo 540 são todos exemplo gráficos de características de vídeo que utilizam sub-rectângulos. Num característica de vídeo deste tipo, o valor numérico associado com a característica pode ser calculado, por exemplo, somando os valores dos pixéis em ambos 29 os sub-rectângulos e então subtraindo uma das somas resultantes pela outra soma. Numa implementação deste tipo, dependendo da localização e da orientação dos sub-rectângulos, o valor numérico resultante pode ser diferente, mesmo quando as caracteristicas são aplicadas à mesma secção da imagem. Por exemplo, os sub-rectângulos no rectângulo 510 mãe são orientados horizontalmente enquanto que os sub-rectângulos do rectângulo 530 mãe são orientados verticalmente e, assim, o valor numérico resultante associado com as caracteristicas de vídeo que utilizam estes rectângulos podem ser diferentes, mesmo quando os rectângulos são aplicados à mesma parte da imagem. Em alguns casos este tipo de característica pode ajudar a identificar regiões de contraste relativo elevado incluindo o contraste que pode existir, por exemplo, entre os olhos numa face (normalmente escuros) e a pele circundante (normalmente não tão escura).
Apesar da Fig. 5 ilustrar representações gráficas de caracteristicas de vídeo que incluem dois sub-rectângulos, é também possível definir caracteristicas de vídeo que incluam três sub-rectângulos, quatro sub-rectângulos, e assim sucessivamente. 0 valor numérico associado com essas caracteristicas de vídeo pode ser calculado de uma variedade de modos, incluindo calculando a diferença entre as contagens de pixéis em diferentes sub-rectângulos.
Voltando agora à Fig. 6, mostra-se aqui um rectângulo 610 característico representativo exemplificativo que inclui algumas caracteristicas de vídeo exemplificativas. Esta descrição da Fig. 6 é feita com referência à Fig. 1, Fig. 4 e Fig. 5. Contudo, deve ser compreendido que os elementos descritos com referência à Fig. 6 não pretendem ser limitados a serem 30 utilizados com os elementos descritos com referência a estas outras figuras. Além disso, apesar do diagrama exemplificativo da Fig. 6 indicar elementos particulares, em algumas implementações podem não existir todos estes elementos e, em algumas implementações podem existir elementos adicionais.
Apesar das ilustrações na Fig. 5 mostrarem rectângulos (e em alguns casos, sub-rectângulos) associados com algumas caracteristicas de vídeo exemplificativo, as ilustrações na Fig. 5 não mostram explicitamente como os rectângulos e as caracteristicas de vídeo correspondentes podem ser utilizadas para gerar ou avaliar um classificador. Um mecanismo para identificar as caracteristicas de vídeo para ser incluído num conjunto de caracteristicas é considerar uma variedade de características que estão associadas com uma variedade de formas, incluindo as semelhantes às descritas previamente com referência à Fig. 5, e variar a localização e o tamanho de tais formas através de um rectângulo 610 característico representativo. O rectângulo característico representativo e a localização do rectângulo da característica de vídeo dentro deste, pode depois ser avaliada sobre regiões particulares numa imagem em vários instantes ou para vários fins, incluindo como parte de um processo de detecção.
Dentro do rectângulo 610 característico representativo, a localização e o tamanho das formas associadas com as características de vídeo podem ser variadas. Por exemplo, como mostrado, o rectângulo 620 mãe associado a uma característica de vídeo particular ocupa o canto superior esquerdo do rectângulo característico representativo. Além da localização e do tamanho particulares ilustrados pelo rectângulo 620 mãe, o rectângulo mãe (e os seus sub-rectângulos) podem ser movidos tanto 31 horizontalmente como verticalmente dentro do rectângulo caracteristico representativo, cada instante definindo uma nova caracteristica de vídeo. Em algumas implementações, a localização do rectângulo mãe pode ser alterada várias vezes de modo a assegurar que o rectângulo caracteristico representativo completo tenha sido coberto. Na mesma ou em outras implementações, quando a localização do rectângulo mãe é alterada, a nova localização pode sobrepor-se ao rectângulo mãe da caracteristica de vídeo definida previamente ou sobrepor-se aos rectângulos mãe das características de vídeo já definidas ou a ser definidas.
De um modo semelhante, o tamanho do rectângulo mãe pode também ser modificado para definir novas características de vídeo. Por exemplo, o rectângulo 630 mãe, o rectângulo 640 mãe, e o rectângulo 650 mãe mostram a utilização de tamanhos diferentes, quando comparados com o rectângulo 620 mãe. Em algumas instâncias, é concebível que um rectângulo mãe possa ser escalado até que este ocupe um rectângulo caracteristico representativo completo.
Em algumas implementações pode ser útil mimetizar a existência de uma caracteristica de vídeo com um rectângulo mãe particular utilizando simetria bilateral. Isto é, em que existe uma caracteristica vídeo com um rectângulo mãe numa localização particular, pode ser útil definir outra caracteristica de vídeo com um rectângulo mãe que é uma imagem espelho do rectângulo mãe da primeira caracteristica de vídeo. Um caso exemplificativo em que isto ocorre é ilustrado com o rectângulo 630 mãe e o rectângulo 640 mãe. 32
Em algumas implementações múltiplas características de vídeo podem ser geradas que se aplicam a diferentes imagens, incluindo os tipos de imagens descritos previamente com referência à Fig. 1. Por exemplo, algumas características de vídeo podem ser geradas para serem aplicadas à imagem base enquanto que outras características de vídeo se aplicam à imagem de diferenças de curta duração e ainda outras à imagem de média de longa duração.
Depois de variar vários factores incluindo a localização dos rectângulos associados com características de vídeo, o tamanho dos rectângulos associados com as características de vídeo e as imagens às quais as características de vídeo são aplicadas, e gerar características de vídeo distintas para alguma ou para todas as combinações destes factores, pode não ser pouco comum possuir literalmente milhares de características de vídeo que podem fazer parte do conjunto de características, como o conjunto de características 410 descrito previamente com referência à Fig. 4. Em algumas implementações, algum conjunto de características de vídeo pode ser seleccionado a partir deste número elevado de características de vídeo durante o processo de geração de um classificador. É importante notar-se novamente que a Fig. 5 e a Fig. 6 não mostram todas as características de vídeo possíveis. Em muitas implementações as características de vídeo cobrirão, de uma forma agregada, uma imagem inteira ou imagens. As características de vídeo mostradas na Fig. 5 e na Fig. 6 servem apenas para demonstrar como algumas características de vídeo podem ser definidas.
Voltando agora à Fig. 7, mostra-se aqui um diagrama generalizado exemplificativo mostrando um sistema 700 no qual a 33 geração de um classificador para a detecção de uma pessoa ou orador pode ser conseguida. Esta descrição da Fig. 7 é feita com referência à Fig. 3, Fig. 4 e Fig. 10. Contudo, deve ser compreendido que os elementos descritos com referência à Fig. 7 não pretendem ser limitados a serem utilizados com os elementos descritos com referência a estas outras figuras. Além de diagrama exemplificativo na Fig. 7 indicar elementos particulares, em algumas implementações podem não existir todos estes elementos e em algumas implementações podem existir elementos adicionais. O sistema 700 pode incluir um conjunto de características 710, dados 720 de entrada de treino, etiquetas para os dados 730 de entrada, um módulo 740 de treino que está associado com um algoritmo 745 de aprendizagem e um classificador 755.
Como introduzido anteriormente no fluxo de operações descrito com referência à Fig. 3, dado um conjunto de caracteristicas, tal como o conjunto de caracterist icas 710, pode ser possível gerar um classificador que pode ser utilizado para implementar a detecção de pessoas ou oradores. O sistema ilustrado na Fig. 7 demonstra alguns mecanismos pelos quais pode ser gerado um classificador desse tipo.
Um módulo 740 de treino exemplificativo pode utilizar entradas particulares para gerar um classificador, tal como o classificador 755. O módulo de treino pode ser implementado em um ou mais dispositivos de computação, incluindo o dispositivo de computação exemplificativo descrito em seguida com referência à Fig. 10. 34
Em geral, o módulo de treino pode estar associado com alguma forma de algoritmo de aprendizagem. 0 algoritmo de aprendizagem compreende um processo automatizado gue produz um classificador. Alguns algoritmos de aprendizagem produzem um classificador aceitando um conjunto de características 710, dados 720 de entrada de treino e etiguetas para dados 730 de entrada. O conjunto de caracterí sticas 710 pode ser um conjunto de entidades que podem quantificar algum elemento ou elementos de dados de entrada, incluindo os dados 720 de entrada de treino. Em algumas implementações, o conjunto de características pode incluir características como aquelas discutidas previamente com referência à Fig. 4 e outras figuras relevantes. Os dados 720 de entrada de treino podem consistir geralmente de dados de entrada como os dados de entrada que serão dados ao classificador, uma vez que este tenha sido gerado. Em algumas implementações, os dados de entrada de treino podem incluir um conjunto de imagens de vídeo, a partir das quais imagens - como a imagem base, a imagem de diferenças de curta duraçao e a imagem de média de longa duração - podem ser obtidas ou calculadas, bem como informação de áudio a partir da qual pode ser gerada uma função de verosimilhança SSL. As etiquetas para os dados 730 de entrada podem consistir geralmente da resposta "correcta" que um classificador ideal produziria quando lhes são dados os dados de entrada de treino. Por exemplo, para cada imagem de vídeo e conjunto de entradas de áudio, as etiquetas para os dados de entrada podem identificar regiões particulares dentro da imagem de vídeo onde existem pessoas ou oradores.
Dado o conjunto de caracteristicas 710, os dados 720 de entrada de treino e as etiquetas para dados 730 de entrada, o módulo 740 de treino pode utilizar o seu algoritmo 745 de aprendizagem associado para gerar um classificador. A operação 35 do algoritmo de aprendizagem varia dependendo do algoritmo de aprendizagem particular utilizado, é geralmente conhecida dentro da técnica e não necessita de ser explicada em detalhe extensivo neste pedido. Por exemplo, se o algoritmo de aprendizagem for uma forma do algoritmo de Adaboost, a operação do algoritmo de aprendizagem pode incluir seleccionar uma série de caracteristicas tal que a precisão do classificador resultante melhora à medida que o algoritmo de Adaboost progride. Se o algoritmo de aprendizagem for algo que não o algoritmo de Adaboost, tal como, por exemplo, uma rede neuronal, a operação do algoritmo de aprendizagem pode ser diferente. A última saída do módulo 740 de treino e do algoritmo 745 de aprendizagem pode incluir um classificador que, quando avaliado sobre uma região particular ou janela de detecção, retorna alguma estimativa da verosimilhança da região particular incluir uma pessoa ou orador. 0 próprio classificador pode geralmente ser constituído por um subconjunto de caracteristicas que foram seleccionadas pelo módulo de treino. 0 conjunto de caracteristicas seleccionadas geralmente têm um desempenho um pouco mais preciso do que as caracteristicas que não foram seleccionadas. Em alguns casos os elementos do classificador, incluindo o subconjunto de caracteristicas, são referidas como "nós", em que, por exemplo, cada caracteristica seleccionada está associada com um único nó do classificador.
Diferentes caracteristicas no classificador 755 podem requerer diferentes quantidades de tempo de computação para avaliar ou calcular durante a detecção. Por exemplo, algumas caracteristicas - como, pelo menos, as caracteristicas de áudio em algumas implementações - podem ser capazes de serem avaliadas ou calculadas mais rapidamente do que outras caracteristicas - 36 como, pelo menos, algumas características de vídeo em algumas implementações. Devido a diferenças na velocidade de avaliação, pode ser útil em algumas implementações ordenar características particulares no classificador gerado de forma a que uma característica que requeira menos tempo a avaliar seja ordenada antes de uma caracterí st ica que requeira mais tempo para ser avaliada.
Algumas das características seleccionadas no classificador 755 podem executar um trabalho relativamente melhor na identificação de uma pessoa ou orador numa janela de detecção do que outras características seleccionadas. Por exemplo, pode acontecer que uma característica de áudio ou de vídeo particular esteja mais fortemente correlacionada com a detecção de uma pessoa ou orador do que alguma outra característica de áudio ou de vídeo. Em algumas implementações pode ser útil ordenar as características do classificador tal que uma característica que seja mais fortemente correlacionada com a detecção de uma pessoa ocorra antes de uma característica relativamente menos precisa.
Independentemente de estar relacionado com a velocidade de avaliação, o grau de precisão ou alguma outra propriedade, caracteristicas particulares podem ser ordenadas antes de outras caracteristicas utilizando uma variedade de mecanismos. Em algumas implementações o próprio algoritmo de aprendizagem pode ter em conta atributos desejáveis ou preferidos - incluindo a velocidade de avaliação ou graus de precisão - ao gerar o classificador, talvez atribuindo às características particulares ou preferidas um peso maior do que às outras características, o que pode resultar nas características particulares terem tendência para ocorrerem primeiro no classificador gerado. Na mesma ou em outras implementações, as características no 37 classificador gerado podem ser reordenadas ou escolhidas depois do algoritmo de aprendizagem ter gerado um classificador.
Geralmente, quanto mais dados 720 de entrada de treino tiverem sido utilizados para gerar o classificador 755, mais preciso será o classificador resultante. Contudo, produzir dados de entrada de treino requer tempo e esforço - por exemplo, entre outras coisas, as respostas "correctas", na forma de etiquetas para os dados 730 de entrada, podem necessitar de ser geradas para cada imagem de vídeo. Um método para aumentar a quantidade de dados de entrada de treino que pode requerer relativamente menos trabalho do que produzir por inteiro novos dados de entrada de treino, é criar imagens espelho dos dados de entrada de treino já existentes e das etiquetas para os dados de entrada. Por exemplo, dada uma imagem de vídeo e uma função de verosimilhança SSL, pode criar-se uma nova imagem de vídeo que é a imagem espelho do fotograma de vídeo original e também o espelho da função de verosimilhança SSL e das etiquetas para os dados de entrada.
Em, pelo menos, algumas implementações algumas características podem ser seleccionadas, pelo menos em parte, para que os "falsos positivos" estejam, em muitos casos, associados com outra pessoa e não com um objecto ou entidade que não seja uma pessoa. Isto é, nos casos em que a pessoa ou orador desejado não for detectado, as características podem ser seleccionadas para que, em muitos casos, outra pessoa seja detectada em vez de algum objecto ou entidade que não seja uma pessoa. Por exemplo, características de vídeo podem ser seleccionadas para que, no caso do orador não ser detectado, em muitos casos, é detectada uma pessoa silenciosa. 38
Voltando agora à Fig. 8, mostra-se aqui um diagrama generalizado exemplificativo mostrando um sistema 800 no qual a detecção de pessoas ou oradores pode ser conseguida. Esta descrição da Fig. 8 é feita com referência à Fig. 1, Fig. 3, Fig. 7, Fig. 9 e Fig. 10. Contudo, deve ser compreendido que os elementos descritos com referência à Fig. 8 não pretendem ser limitados a serem utilizados com os elementos descritos com referência a estas outras figuras. Além do diagrama exemplificativo da Fig. 8 indicar elementos particulares, em algumas implementações podem não existir todos estes elementos, e em algumas implementações podem existir elementos adicionais. O sistema 800 pode incluir dados 810 de entrada, um módulo 840 detector associado com um classificador 855 e resultados 865 de detecção.
Como introduzido anteriormente com referência à Fig. 3, dado um classificador 855, incluindo um semelhante ao classificador 755 gerado da Fig. 7, um detector, talvez implementado num módulo 840 detector, pode examinar os dados 810 de entrada e utilizar o classificador para produzir os resultados 865 de detecção. O sistema ilustrado na Fig. 8 demonstra alguns mecanismos pelos quais um tal classificador pode ser utilizado para detectar pessoas ou oradores. O módulo detector pode ser implementado em um ou mais dispositivos de computação, incluindo o dispositivo 165 detector descrito previamente com referência à Fig. 1, e o dispositivo de computação exemplificativo descrito em seguida com referência à Fig. 10.
Os dados 810 de entrada podem incluir uma grande variedade de dados de entrada. Em algumas implementações os dados de entrada podem incluir dados de entrada como os descritos previamente, 39 por exemplo com referência à Fig. 1, incluindo uma série de imagens de vídeo, a partir das quais podem ser determinadas uma série de imagens base, imagens de diferenças de curta duração e imagens de média de longa duração. Os dados de entrada podem também incluir dados de áudio como uma série de funções de verosimilhança SSL que estão associadas com um ou mais imagens de vídeo. Os dados de entrada podem também incluir outros tipos de dados, incluindo aqueles descritos previamente, por exemplo com referência à Fig. 1. 0 módulo 840 detector pode então utilizar o classificador 855 para determinar regiões dos dados de entrada de vídeo que podem incluir uma pessoa ou um orador. Em algumas implementações isto pode ser conseguido subdividindo, pelo menos, parte dos dados de entrada numa série de regiões menores, , chamadas janelas de detecção. As janelas de detecção podem ser definidas de uma variedade de maneiras, incluindo alguns métodos discutidos em seguida em maior detalhe com referência à Fig. 9.
Para cada janela de detecção, o módulo 840 detector pode avaliar o classificador 855 em relação aos dados de entrada para essa janela de detecção. A avaliação do classificador pode produzir geralmente alguma estimativa da verosimilhança de existir uma pessoa ou um orador nessa janela de detecção particular. Esta estimativa de verosimilhança pode, pelo menos, em algumas implementações, fazer parte dos resultados 865 de detecção.
Uma vez que várias, ou todas, as janelas de detecção tiverem sido avaliadas, em algumas implementações uma operação de fusão pode ter lugar para determinar regiões particulares dos dados de entrada onde é especialmente provável conter pessoas ou 40 oradores. Isto pode ser conseguido em algumas implementações escolhendo regiões que possuem um número relativamente grande de janelas de detecção que por sua vez possuem uma elevada verosimilhança de conter pessoas ou oradores. Estas regiões identificadas podem também, pelo menos em algumas implementações, fazer parte dos resultados 865 de detecção.
Em algumas implementações, todos os elementos ou nós, de um classificador podem ser avaliados antes de ser completamente determinada a verosimilhança de que uma janela de detecção particular contenha uma pessoa ou um orador. Em algumas implementações pode ser possível encurtar o tempo requerido para avaliar o classificador para algumas janelas de detecção utilizando uma técnica chamada "pruning".
Quando é utilizado o pruning, a avaliação do classificador pode ser interrompida antes de todos os nós no classificador terem sido avaliados. A avaliação do classificador pode ser interrompida, por exemplo, se for possível determinar que os resultados já calculados proporcionam algum nível de certeza de que uma janela de detecção particular contém ou não contém uma pessoa ou um orador. Por exemplo, pode ser conhecido que se, por exemplo, os primeiros quatro nós no classificador todos têm uma avaliação para resultados particular, que a janela de detecção contém sempre uma pessoa (pelo menos, para os dados utilizados para treinar o classificador). Nesta instância, durante o processo de detecção a avaliação do classificador pode ser interrompida antes de terem sido avaliados todos os nós e a janela de detecção pode ser determinada para conter uma pessoa ou um orador. 41
Em algumas implementações, sub-regiões particulares dos dados de entrada podem ser excluídas das regiões consideradas para a detecção de pessoas ou oradores. Por exemplo, uma sala pode possuir uma televisão ou écran de projecção que pode, em alguns casos, mostrar pessoas ou oradores que não devem ser identificados como pessoas ou oradores pelo detector. Neste caso exemplificativo, uma sub-região dos dados de entrada associada à televisão ou ao écran de projecção pode ser excluída das regiões consideradas para a detecção de pessoas ou oradores. Isto pode ser conseguido de uma variedade de modos incluindo, por exemplo, não definir janelas de detecção que contenham as sub-regiões a serem excluídas.
Voltando agora à Fig. 9, mostram-se aqui algumas representações exemplificativos de janelas de detecção que podem ser utilizadas como parte do processo de detectar pessoas ou oradores. Esta descrição da Fig. 9 é feita com referência à Fig. 6 e está relacionada com a discussão proporcionada para a Fig. 8. Contudo, deve ser compreendido que os elementos descritos com referência à Fig. 9 não pretendem ser limitados a serem utilizados com os elementos descritos com referência a estas outras figuras. Além do diagrama exemplificativo da Fig. 9 indicar elementos particulares, em algumas implementações podem não existir todos estes elementos e, em algumas implementações podem existir elementos adicionais.
Em algumas implementações os dados de entrada, como um fotograma de vídeo ou uma imagem ou imagens derivadas de um fotograma de vídeo, podem ser subdivididos em múltiplas janelas de detecção que são utilizadas como parte do processo de detectar pessoas ou oradores. 42
Como mostrado na Fig. 9, uma imagem 905 exemplificativa pode conter múltiplas janelas de detecção exemplificativas, incluindo a janela 910 de detecção, a janela 920 de detecção, a janela 930 de detecção, a janela 940 de detecção, e a janela 950 de detecção. Cada janela de detecção ocupa alguma parte da imagem. É importante notar-se gue nem todas as janelas de detecção que possam existir na imagem 905 são mostradas. Em muitas implementações as janelas de detecção cobrirão, de uma forma agregada, a imagem completa. As janelas de detecção mostradas na Fig. 9 servem apenas para demonstrar como as janelas de detecção podem ser definidas. Além disso, apesar das janelas de detecção serem mostradas como rectângulos, as janelas de detecção podem ser definidas com qualquer forma. Também, apesar das janelas de detecção serem descritas com referência a uma "imagem", as janelas de detecção também podem aplicar-se a entradas não-visuais, incluindo entradas de áudio, como foi descrito previamente. Por exemplo, uma janela de detecção para uma função de verosimilhança SSL associada com uma entrada de áudio pode incluir algum subconjunto da função de verosimilhança SSL. A janela 910 de detecção exemplificativa ocupa o canto superior esquerdo da imagem 905. A janela 920 de detecção exemplificativa e a janela 930 de detecção exemplificativa mostram uma maneira pela qual as janelas de detecção podem ser estendidas para cobrir mais regiões da imagem. Apesar de não mostrado, as janelas de detecção podem ser definidas para continuar na direcção representada pela seta 960. Tais janelas de detecção podem cobrir a parte de cima completa da imagem.
De forma semelhante, a janela 940 de detecção exemplificativa mostra como as janelas de detecção se podem estender verticalmente para cobrir regiões adicionais da imagem. A seta 43 970 ilustra uma direcção pela qual tais janelas de detecção podem continuar, para cobrir a parte esquerda completa da imagem.
Ao estender a janela 940 de detecção exemplificativa para a direita, para que existam janelas de detecção por baixo da janela 920 de detecção exemplificativa, da janela 930 de detecção exemplificativa, e na direcção mostrada pela seta 960, ilustra uma maneira pela qual as janelas de detecção podem ser definidas para que estas cubram a imagem 905 completa.
As janelas de detecção podem sobrepor-se em qualquer grau. Por exemplo, como mostrado, metade da janela 920 de detecção sobrepõe-se à janela 910 de detecção. 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 sobrepor-se para além dos limites da imagem 905. Por exemplo, uma janela de detecção, não mostrada, pode ocupar a zona mais à direita da imagem e a zona mais à esquerda da imagem.
Em algumas implementações, podem ser utilizadas janelas de detecção de vários tamanhos. Por exemplo, a janela 950 de detecção é maior do que a janela 910 de detecção. Em algumas implementações podem ser utilizadas janelas de detecção de muitos tamanhos diferentes. Por exemplo, numa implementação, podem ser utilizadas janelas de detecção de 10 tamanhos diferentes. Cada conjunto de janelas de detecção do mesmo tamanho pode ser estendido para cobrir a imagem 905 completa, utilizando, por exemplo, o mesmo processo como explicado previamente com referência à janela 910 de detecção e a outras janelas de detecção que são do mesmo tamanho da janela 910 de detecção. 44
Algumas características de vídeo podem utilizar um rectângulo característico representativo, como discutido previamente com referência à Fig. 6. Durante o processo de detecção o rectângulo característico representativo pode ser escalado para caber na janela de detecção e qualquer característica de vídeo associada com o rectângulo característico representativo pode ser escalada proporcionalmente ao mesmo tempo. Por exemplo, suponha-se um rectângulo característico representativo com tamanho de 50 pixéis de largura por 50 pixéis de altura que contém, entre outras características de vídeo, uma característica de vídeo com um rectângulo de tamanho de 10 pixéis de largura por 20 pixéis de altura. Se este rectângulo característico representativo for utilizado com uma janela de detecção do mesmo tamanho, o rectângulo da característica de vídeo pode também manter-se do mesmo tamanho. Se o rectângulo característico representativo for utilizado com uma janela de detecção que é quatro vezes mais larga - por exemplo, com uma janela de detecção com tamanho de 100 pixéis de largura por 100 pixéis de altura - então o rectângulo característico representativo e o seu rectângulo de característica de vídeo associado pode também ser escalado para caber na janela de detecção mais larga. Neste exemplo, o rectângulo da caracteristica de vídeo pode ser escalado para um tamanho de 20 pixéis de largura por 40 pixéis de altura. Em algumas implementações, o tamanho e/ou orientação do espaço ou sala onde um detector é utilizado pode influenciar 0 tamanho das janelas de detecção utilizadas no processo de detecção. Por exemplo, numa sala pequena, as características físicas associadas com pessoas ou oradores - como caras ou 0 tórax podem tender a ser grandes quando visualizadas da perspectiva de um ou mais dispositivos de entrada ou podem tender a variar de tamanho para um grau menos elevado do que a 45 característica física associada com pessoas ou oradores numa sala grande. Isto pode ocorrer porque, numa sala pequena, pessoas ou oradores podem apenas estar a uma distância relativamente pequena de um ou mais dispositivos de entrada -talvez resultando em caras maiores, por exemplo - enquanto que numa sala maior as pessoas ou oradores podem estar perto ou longe de um ou mais dispositivos de entrada e, portanto, o tamanho das características físicas associadas pode variar num grau mais elevado. Como resultado, em algumas implementações, podem ser utilizadas janelas de detecção tal que, em salas pequenas, por exemplo, as janelas de detecção possam estar limitadas a tamanhos maiores e, talvez possam variar em tamanho por quantidades relativamente pequenas. Por contraste, em salas grandes, as janelas de detecção podem variar de pequenas a grandes para tentar capturar uma maior variação nos tamanhos das características físicas.
Ambiente de Computação Exemplificativo
Voltando agora à Fig. 10, esta figura e a discussão relacionada pretendem proporcionar uma descrição breve geral de um ambiente de computação exemplificativo no qual as várias tecnologias aqui descritas podem ser implementadas. Apesar de não ser requerido, as tecnologias são aqui descritas, pelo menos em parte, no contexto geral de instruções executáveis em computador, tais 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 1000 de computação na Fig. 10. 46
Geralmente, os módulos de programa incluem rotinas, programas, objectos, componentes, interfaces de utilizador, estruturas de dados, etc., que executam tarefas particulares, mostram informação particular ou implementam tipos de dados abstractos particulares. Operações executadas pelos módulos de programa foram descritas previamente com a ajuda de um ou mais diagramas de blocos e fluxogramas operacionais.
Os especialistas na técnica podem implementar a descrição, os diagramas de blocos e os fluxogramas na forma de instruções executáveis em computador, que podem ser incorporadas numa ou mais formas de meios legíveis por computador. Como aqui utilizado, um meio legível por computador pode ser qualquer meio que possa armazenar ou incorporar informação que é codificada numa forma que possa ser acedida e compreendida por um computador. Formas típicas de meios legíveis em computador incluem, sem limitação, memórias voláteis e não voláteis, dispositivos de armazenamento de dados, incluindo meios removíveis e/ou não removíveis, e meios de comunicação.
Os meios de comunicação incorporam informação legível por computador num sinal de dados modulado, tal como uma onda portadora ou outro mecanismo de transporte e inclui qualquer meio de distribuição de informação. 0 termo "sinal de dados modulado" significa um sinal que tem uma ou mais das suas características estabelecida ou alterada de maneira a codificar informação no sinal. A título de exemplo, e não como limitação, os meios de comunicação incluem meios com fios como uma rede com fios ou uma ligação com fios directa, e meios sem fios, tais como acústico, RF, infravermelho e outros meios sem fios. 47 0 dispositivo 1000 de computação ilustrado na Fig. 10, na sua configuração mais básica, inclui, pelo menos, uma unidade 1002 de processamento e uma memória 1004. Em algumas implementações, a unidade 1002 de processamento pode ser uma unidade de processamento central (CPU) de propósito geral, como existe, por exemplo, numa variedade de computadores, incluindo computadores de mesa e portáteis. 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 digital de sinal, incluindo aqueles executados, por exemplo, por um dispositivo detector como o dispositivo 165 detector descrito previamente com referência à Fig. 1. Dependendo da configuração exacta e tipo do dispositivo de computação, a memória 1004 pode ser volátil (tal como uma RAM), não volátil (tal como uma ROM, memória flash, etc.), ou alguma combinação das duas. Esta configuração mais básica está ilustrada na Fig. 10 pela linha 1006 tracejada. Além disso, o dispositivo 1000 de computação pode também possuir caracteristicas e funcionalidades adicionais. Por exemplo, o dispositivo 1000 de computação pode também incluir armazenamento adicional (removível e/ou não removível) incluindo, mas não estando limitado a discos magnéticos ou ópticos ou banda magnética. Esse armazenamento adicional é ilustrado na Fig. 10 pelo armazenamento 1008 removível e pelo armazenamento 1010 não removível. O dispositivo 1000 de computação pode também conter uma ou mais ligações 1012 de comunicação que permitem ao dispositivo 1000 de computação comunicar com outros dispositivos e serviços. Por exemplo, o dispositivo de computação pode possuir uma ou mais ligações para outros dispositivos de computação, incluindo, por exemplo, o dispositivo 175 auxiliar descrito previamente com 48 referência à Fig. 1. 0 dispositivo 1000 de computação pode também possuir um ou mais dispositivos 1014 de entrada, tais como dispositivos de entrada de imagem como câmaras ou digitalizadores, teclados, ratos, pens, dispositivos de entrada de voz incluindo conjuntos de microfones, dispositivos de entrada sensíveis ao togue, e assim sucessivamente. Um ou mais dispositivos 1016 de saída, tais como um monitor, altifalantes, impressora, e assim sucessivamente, podem também ser incluídos no dispositivo 1000 de computação.
Os especialistas na técnica apreciarão que as tecnologias descritas aqui podem ser praticadas com dispositivos de computação diferentes do dispositivo 1000 de computação ilustrado na Fig. 10. Por exemplo, e sem limitação, as tecnologias descritas aqui podem da mesma forma ser praticadas em dispositivos portáteis incluindo telefones móveis e PDA, sistemas multiprocessador, electrónica de consumo baseada em microprocessadores ou programável, PC de rede, microcomputadores, computadores principais e semelhantes. Cada um desses dispositivos de computação pode ser descrito, com algum nível de detalhe, pelo sistema da Fig. 10 ou pode ser descrito de uma maneira diferente.
As tecnologias descritas aqui podem também ser implementadas em ambientes de computação distribuída onde as operações são executadas por dispositivos de processamento remoto que estão ligados através de uma rede de comunicações. Num ambiente de computação distribuída, os módulos de programa podem estar localizados em dispositivos locais e remotos.
Apesar de aqui descrito como sendo implementado em software, deve ainda ser apreciado que as tecnologias aqui descritas podem 49 em alternativa ser implementadas no seu todo ou em parte em hardware, firmware ou várias combinações de software, hardware e/ou firmware.
Apesar de algumas implementações particulares de métodos e sistemas terem sido ilustradas nos desenhos anexos e descritas anteriormente no texto, deve ser entendido que os métodos e sistemas mostrados e descritos não estão limitados às implementações particulares descritas, mas são capazes de numerosos rearranjos, modificações e substituições sem se afastar do âmbito apresentado e definido pelas reivindicações seguintes.
Lisboa, 10 de Setembro de 2012 50

Claims (9)

  1. REIVINDICAÇÕES 1. Método para detecçao de orador compreendendo: identificar (310) um conjunto de caracteristicas (410, 710) compreendendo, pelo menos, uma caracteristica (420, 430, 450) a partir de um primeiro tipo de entrada e pelo menos uma caracteristica (420, 430, 450) de um segundo tipo de entrada, em que o segundo tipo de entrada é diferente do primeiro tipo de entrada, em que o primeiro tipo de entrada ou o segundo tipo de entrada inclui uma entrada (120) de áudio e em que uma caracteristica é calculada para quantificar algum elemento do tipo de entrada correspondente num instante de tempo particular; e gerar (315) um classificador (755, 855) para a detecção de orador utilizando um algoritmo (745) de aprendizagem, em que o classificador é constituído por um subconjunto de caracteristicas a partir do conjunto de caracteristicas, sendo o subconjunto de caracteristicas referido como nós do classificador e sendo seleccionado pelo algoritmo de aprendizagem, incluindo assegurar que os nós requerendo menos computação estão localizados no classificador de tal modo a que estes sejam avaliados antes dos nós requerendo mais computação, pesando os nós enquanto o classificador é gerado.
  2. 2. Método da reivindicação 1,compreendendo ainda: avaliar (320) o classificador para detectar uma pessoa (320) . 1
  3. 3. Método da reivindicação 1, em que o conjunto de caracteristicas inclui uma característica (420) de áudio associada com uma localização de fonte de som, SSL, uma entrada proporcionando uma função de verosimilhança SSL, e em que a caracterí st ica (420) de áudio é calculada com uma função seleccionada a partir das funções seguintes: 7/ ^max -L8 "min L'min -L8 ^min 4* 1 9 C - Lg. mm ^max 11 ^max ^min 4* Lg "max -L* ' "min 1 1^ 9 ' ^max -Lg. mm » VL- L8 ’ ^min 1!. ’ "mm i; · **avg 4*' 4* L1 - í!. l' L!. L' 1! .. r! -r!. L! "max mm "max "mm —nua max ~min L. Lgn —i! <ε , e "max L avg Le ’ Lg ‘ max Lg ‘ max L* "max Lg max • max max rrest 1 "max (L9 ) , em que ' max/ e o máximo valor da função de verosimilhança SSL sobre a função de verosimilhança SSL completa, (^min) é o mínimo valor da função de verosimilhança SSL sobre a função de verosimilhança SSL completa, e para cada janela de detecçao, (4ax) é 0 máximo valor da função de verosimilhança SSL na janela de detecção, (hnin)| é 0 mínimo valor da função de verosimilhança SSL na j anela de detecçao, ^avg)| é o valor médio da função de verosimilhança SSL sobre a janela de detecção, ^™'d) 4 0 valor da função de verosimilhança SSL no ponto médio da janela de detecção, e (£«* ) mas * é o máximo valor da função de verosimilhança SSL fora da janela de detecção.
  4. 4. Método da reivindicação 1, em que o primeiro tipo de entrada ou o segundo tipo de entrada inclui uma entrada 2 (110) de vídeo e o conjunto de características inclui uma característica (430) de vídeo definida por um rectângulo.
  5. 5. Método da reivindicação 1, em que o algoritmo (745) de aprendizagem compreende o algoritmo de AdaBoost.
  6. 6. Meio legível em computador armazenando instruções executáveis em computador que, quando executadas por um processador, fazem com que o processador execute o método de uma das reivindicações 1 a 5.
  7. 7. Sistema para a detecção de orador compreendendo: um dispositivo (110) de entrada de vídeo que produz dados (140) de vídeo; um dispositivo (120) de entrada de áudio que produz dados (150) de áudio; e um dispositivo (165) detector 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 em que o classificador foi criado por: identificar um conjunto de características (310) compreendendo, pelo menos, uma característica associada a uma primeira entrada sendo os dados de vídeo e, pelo menos, uma característica associada a uma segunda entrada sendo os dados de áudio, em que uma caracterí stica é calculada para quantificar algum elemento do tipo de entrada correspondente num instante de tempo particular; e 3 gerar o classificador utilizando um algoritmo de aprendizagem, em que o classificador é constituído por um subconjunto de características a partir de um conjunto de características, sendo o subconjunto de características referido como nós do classificador e sendo seleccionado pelo algoritmo de aprendizagem, incluindo assegurar que os nós requerendo menos computação estão localizados no classificador de tal modo que sejam avaliados antes dos nós requerendo mais computação, pesando os nós enquanto o classificador é gerado.
  8. 8. Sistema da reivindicação 7, compreendendo ainda: um dispositivo (175) auxiliar que proporciona armazenamento para, pelo menos, uma parte dos dados de vídeo ou, pelo menos, uma parte dos dados de áudio.
  9. 9. Sistema da reivindicação 7, em que os dados de áudio incluem dados de localização de fonte de som e o conjunto de características inclui uma característica (420) de áudio associada a uma função seleccionada a partir das seguintes funções: I1 — T8 Γ1 — T8 É — Lg T1 —T8 f1 V ^ma» ^min ^min ^min ovg_mín ‘-‘mid ^min max max min mid t8 - t8 ' T8 - T8 ' r8 -T8 ' Tg -i8 ' τ' ' τ' ' il ' i! ^max ^mín max min max ^min -‘“'max min min avg avg avg jl _ Tl Ji J1 j! j1 Tl _ T1 Jl ^max -^min ^max -Snin avg ^mid max min jg _ ri max TI ' Tg ' Tg ' Tg ' Tg ' Tg 'max max c ' jrest ' ^avg ^max ^max ^max ^max ^max ^max 4 em que é o máximo valor da função de verosimilhança SSL sobre a função de verosimilhança SSL completa, (^min)l é o mínimo valor da função de verosimilhança SSL sobre a função de verosimilhança SSL completa e para cada janela de detecção, (i-U) é o máximo valor da função de , , _ (il . \\ verosimilhança SSL na janela de detecção, ' mm/l é o mínimo valor da função de verosimilhança SSL na janela de detecção, ^avg)| é o valor médio da função de verosimilhança SSL sobre a janela de detecção, ^m/d)| é 0 valor da função de verosimilhança SSL no ponto médio da janela de detecção (rfea > I e '««"l é o máximo valor da função de verosimilhança SSL fora da janela de detecção. Lisboa, 10 de Setembro de 2012 5
PT07835698T 2006-06-22 2007-02-13 Identificação de pessoas utilizando múltiplos tipos de entradas PT2035799E (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/425,967 US8024189B2 (en) 2006-06-22 2006-06-22 Identification of people using multiple types of input

Publications (1)

Publication Number Publication Date
PT2035799E true PT2035799E (pt) 2012-09-17

Family

ID=38873629

Family Applications (1)

Application Number Title Priority Date Filing Date
PT07835698T PT2035799E (pt) 2006-06-22 2007-02-13 Identificação de pessoas utilizando múltiplos tipos de entradas

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
US8571332B2 (en) 2008-03-19 2013-10-29 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
JP6966421B2 (ja) 2015-04-01 2021-11-17 オウル・ラブズ・インコーポレイテッドOwl Labs, Inc. 角度分離されたサブシーンの合成およびスケーリング
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
US11736801B2 (en) 2020-08-24 2023-08-22 Owl Labs Inc. Merging webcam signals from multiple cameras

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
EP1062839B1 (en) 1998-11-11 2011-05-25 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
US20050046703A1 (en) 2002-06-21 2005-03-03 Cutler Ross G. Color calibration in photographic devices
US7598975B2 (en) 2002-06-21 2009-10-06 Microsoft Corporation Automatic face extraction for use in recorded meetings timelines
US7782357B2 (en) 2002-06-21 2010-08-24 Microsoft Corporation Minimizing dead zones in panoramic images
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
US7197186B2 (en) * 2003-06-17 2007-03-27 Mitsubishi Electric Research Laboratories, Inc. Detecting arbitrarily oriented objects in images
US7212651B2 (en) * 2003-06-17 2007-05-01 Mitsubishi Electric Research Laboratories, Inc. Detecting pedestrians using patterns of motion and appearance in videos
US7343289B2 (en) * 2003-06-25 2008-03-11 Microsoft Corp. System and method for audio/video speaker detection
US7428000B2 (en) * 2003-06-26 2008-09-23 Microsoft Corp. System and method for distributed meetings
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
WO2005031654A1 (en) * 2003-09-30 2005-04-07 Koninklijke Philips Electronics, N.V. System and method for audio-visual content synthesis
US20050228673A1 (en) * 2004-03-30 2005-10-13 Nefian Ara V Techniques for separating and evaluating audio and video source data
US7242810B2 (en) * 2004-05-13 2007-07-10 Proximex Corporation 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
SI2035799T1 (sl) 2012-10-30
US8234113B2 (en) 2012-07-31
EP2035799A2 (en) 2009-03-18
RU2008150475A (ru) 2010-06-27
CN101473207A (zh) 2009-07-01
CA2653278C (en) 2015-06-23
KR101323056B1 (ko) 2013-10-29
PL2035799T3 (pl) 2012-12-31
CY1113152T1 (el) 2016-04-13
WO2008016392A2 (en) 2008-02-07
CA2653278A1 (en) 2008-02-07
US8024189B2 (en) 2011-09-20
ES2390295T3 (es) 2012-11-08
US20120278077A1 (en) 2012-11-01
EP2035799B1 (en) 2012-07-25
WO2008016392A3 (en) 2008-03-13
CN101473207B (zh) 2013-03-27
DK2035799T3 (da) 2012-09-10
US20070297682A1 (en) 2007-12-27
EP2035799A4 (en) 2010-08-25
BRPI0711800A2 (pt) 2011-12-06
US20110313766A1 (en) 2011-12-22
KR20090031512A (ko) 2009-03-26
US8510110B2 (en) 2013-08-13

Similar Documents

Publication Publication Date Title
PT2035799E (pt) Identificação de pessoas utilizando múltiplos tipos de entradas
CN109145781B (zh) 用于处理图像的方法和装置
TWI222031B (en) Automatic detection and tracking of multiple individuals using multiple cues
BRPI0719555A2 (pt) Estimativa de uma localização de um objeto em uma imagem
WO2009152509A1 (en) Method and system for crowd segmentation
US11893798B2 (en) Method, system and computer readable medium of deriving crowd information
TW202022713A (zh) 心臟狀態評估方法與系統、電子裝置及超音波掃描裝置
CN112149615A (zh) 人脸活体检测方法、装置、介质及电子设备
JP7040634B2 (ja) 群集推定手法の統合及び自動切り替えのための方法、システム及びプログラム
US20210027202A1 (en) Method, system, and computer readable medium for performance modeling of crowd estimation techniques
CN111523593B (zh) 用于分析医学影像的方法和装置
CN115035158A (zh) 目标跟踪的方法及装置、电子设备和存储介质
CN112488178B (zh) 网络模型的训练方法及装置、图像处理方法及装置、设备
WO2022008630A1 (en) Training a model to perform a task on medical data
Dingli et al. Turning homes into low-cost ambient assisted living environments
JP4012200B2 (ja) オブジェクト検出方法、装置、及びプログラム
US11989626B2 (en) Generating performance predictions with uncertainty intervals
WO2023041181A1 (en) Electronic device and method for determining human height using neural networks
KR101524944B1 (ko) 다중 영역 영상 분할 방법 및 그 장치
CN112822425B (zh) 一种用于生成高动态范围图像的方法与设备
US20240153645A1 (en) Detecting infection sources
CN112150411A (zh) 一种信息处理的方法及装置
Jahan Performance Analysis of Human Detection Algorithms for OPDs in Public Hospitals
KR20240000235A (ko) 실감형 컨텐츠에서의 가상 공간 음향 구현을 위한 데이터 전처리 방법, 신경망 모델 및 컴퓨터 프로그램
KR20240045730A (ko) 3차원 모델 기반의 평면도 생성 방법 및 그를 위한 시스템