BR112016003926A2 - sistemas e métodos para classificação de imagens através da correlação de indicações contextuais com imagens - Google Patents

sistemas e métodos para classificação de imagens através da correlação de indicações contextuais com imagens Download PDF

Info

Publication number
BR112016003926A2
BR112016003926A2 BR112016003926-2A BR112016003926A BR112016003926A2 BR 112016003926 A2 BR112016003926 A2 BR 112016003926A2 BR 112016003926 A BR112016003926 A BR 112016003926A BR 112016003926 A2 BR112016003926 A2 BR 112016003926A2
Authority
BR
Brazil
Prior art keywords
image
images
module
sample
fact
Prior art date
Application number
BR112016003926-2A
Other languages
English (en)
Inventor
Paluri Balamanohar
Bourdev Lubomir
Original Assignee
Facebook Inc
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 Facebook Inc filed Critical Facebook Inc
Publication of BR112016003926A2 publication Critical patent/BR112016003926A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/5866Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/35Categorising the entire scene, e.g. birthday party or wedding scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19147Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • G06V30/274Syntactic or semantic context, e.g. balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/913Multimedia
    • Y10S707/915Image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

sistemas e métodos para classificação de imagens através da correlação de indicações contextuais com imagens a presente invenção refere-se a um conjunto de imagens de amostra. cada imagem no conjunto de amostras pode ser associada a uma ou mais indicações sociais. a correlação de cada imagem no conjunto de amostras com uma classe de imagem é marcada com base nas uma ou mais indicações sociais associadas à imagem. com base na pontuação, um conjunto de imagens de treinamento para treinar um classificador é determinado a partir do conjunto de amostras. em uma modalidade, uma extensão na qual um conjunto de imagens de avaliação se correlaciona com a classe de imagem é determinada. a determinação pode compreender a classificação de um subconjunto de pontuação superior do conjunto de imagens de avaliação.

Description

“SISTEMAS E MÉTODOS PARA CLASSIFICAÇÃO DE IMAGENS ATRAVÉS
DA CORRELAÇÃO DE INDICAÇÕES CONTEXTUAIS COM IMAGENS”
CAMPO DA TÉCNICA [001 ]O campo da técnica refere-se ao campo de redes sociais. Mais particularmente, o campo da técnica se refere a técnicas de classificação de imagens em redes sociais.
ANTECEDENTES [002]Uma rede social pode fornecer uma comunidade online interativa e rica em conteúdo que conecta seus membros uns aos outros. Os membros de uma rede social podem indicar como os mesmos se relacionam uns com os outros. Por exemplo, membros de uma rede social podem indicar que os mesmos são amigos, membros da família, parceiros de negócios, ou seguidores uns dos outros, ou membros podem atribuir algum outro relacionamento uns aos outros. As redes sociais podem permitir que membros troquem mensagens uns com os outros ou postem mensagens na comunidade online [003]As redes sociais também podem permitir que membros compartilhem conteúdo uns com os outros. Por exemplo, os membros podem criar ou usar uma ou mais páginas contendo uma alimentação interativa que pode ser visualizada através de diversas plataformas. As páginas podem conter imagens, vídeo e outro conteúdo que um membro deseje compartilhar com determinados membros da rede social ou publicar na rede social em geral. Os membros também podem compartilhar conteúdo com a rede social de outras maneiras. No caso de imagens, os membros, por exemplo, podem publicar as imagens em uma placa de imagem ou tornar as imagens disponíveis para pesquisas pela comunidade online.
SUMÁRIO [004]Um sistema pode compreender pelo menos um processador e uma memória que armazena instruções configuradas para instruir o processador a
Petição 870170009199, de 10/02/2017, pág. 6/69
2/57 realizar a recepção de um conjunto de imagens de amostra, em que cada imagem no conjunto de amostras é associada a uma ou mais indicações sociais. A correlação de cada imagem no conjunto de amostras com uma classe de imagem é marcada com base nas uma ou mais indicações sociais associadas à imagem. Com base na marcação, um conjunto de imagens de treinamento para treinar um classificador pode ser determinado a partir do conjunto de amostras.
[005]Em algumas modalidades, a classe de imagem pode ser especificada. Em algumas modalidades, a determinação pode compreender classificar cada imagem a partir do conjunto de amostras com base na marcação. A determinação pode compreender selecionar um subconjunto de marcação superior do conjunto de imagens de amostra. O subconjunto de marcação superior pode ser o conjunto de imagens de treinamento.
[006]Em várias modalidades, um classificador pode ser treinado com base no conjunto de imagens de treinamento. Um modelo de padrão visual associado à classe de imagem pode ser gerado. O classificador pode ser configurado para usar um histograma de técnica de classificação de imagens de palavras visuais ou uma técnica de classificação de imagens de rede neural em algumas modalidades.
[007]Em algumas modalidades, uma extensão na qual um conjunto de imagens de avaliação se correlaciona com a classe de imagem pode ser determinada O conjunto de imagens de avaliação pode ser diferente do conjunto de imagens de amostra. O conjunto de imagens de avaliação pode compreender um conjunto de imagens maior que o conjunto de imagens de amostra.
[008]Em várias modalidades, a correlação de cada imagem do conjunto de imagens de avaliação com um modelo de padrão visual associado à classe de imagem pode ser marcada. Cada imagem do conjunto de avaliação pode ser classificada com base na correlação de marcação de cada imagem do conjunto de imagens de avaliação. Um subconjunto de marcação superior do conjunto de
Petição 870170009199, de 10/02/2017, pág. 7/69
3/57 imagens de avaliação pode ser associado à classe de imagem.
[009]Em algumas modalidades, as uma ou mais indicações sociais podem compreender uma ou mais etiquetas de imagem. O número de instâncias de marcas de imagens particular entre um número total das ou mais etiquetas de imagem associadas a uma imagem pode ser determinado.
[010]Em algumas modalidades, as uma ou mais indicações sociais podem compreender um ou mais dentre: dados de localização associados a uma imagem do conjunto de imagens de amostra; ou uma identidade de um carregador de imagens, um marcador, ou um proprietário da imagem do conjunto de imagens de amostra. Em várias modalidades, as uma ou mais indicações sociais podem ser recebidas por um sistema de rede social.
[011]Um método implantado por computador pode compreender receber, por meio de um sistema de computador, um conjunto de imagens de amostra, em que cada imagem no conjunto de amostras é associada a uma ou mais indicações sociais. O método pode incluir marcar, por meio do sistema de computador, a correlação de cada imagem no conjunto de amostras com uma classe de imagem com base nas uma ou mais indicações sociais associadas à imagem. O método também pode incluir determinar, por meio do sistema de computador, com base na marcação, um conjunto de imagens de treinamento para treinar um classificador a partir do conjunto de amostras.
[012]Um meio de armazenamento de computador que armazena instruções executáveis por computador que, quando executadas, fazem com que um sistema de computador realize um método implantado por computador que compreende receber um conjunto de imagens de amostra, em que cada imagem no conjunto de amostras é associada a uma ou mais indicações sociais. O método pode incluir marcar a correlação de cada imagem no conjunto de amostras com uma classe de imagem com base nas uma ou mais indicações sociais associadas à imagem. O
Petição 870170009199, de 10/02/2017, pág. 8/69
4/57 método também pode incluir determinar, com base na marcação, um conjunto de imagens de treinamento para treinar um classificador a partir do conjunto de amostras.
[013]Outros recursos e modalidades são aparentes a partir dos desenhos anexos e a partir da seguinte descrição detalhada.
BREVE DESCRIÇÃO DOS DESENHOS [014]A Figura 1 mostra um exemplo de um sistema de classificação de imagens contextuais, de acordo com algumas modalidades.
[015]A Figura 2A mostra um exemplo de um módulo de classificação de imagens, de acordo com algumas modalidades.
[016]A Figura 2B mostra um exemplo de um módulo de classificação de imagens, de acordo com algumas modalidades.
[017]A Figura 3 mostra um exemplo de um módulo de treinamento de classificação de imagens, de acordo com algumas modalidades.
[018]A Figura 4 mostra um exemplo de um módulo de avaliação de classificação de imagens, de acordo com algumas modalidades.
[019]A Figura 5 mostra um exemplo de um classificador, de acordo com algumas modalidades.
[020]A Figura 6 mostra um exemplo de um processo para classificar imagens, de acordo com algumas modalidades.
[021 ]A Figura 7 mostra um exemplo de um processo para treinar um classificador, de acordo com algumas modalidades.
[022]A Figura 8 mostra um exemplo de um processo para classificar imagens, de acordo com algumas modalidades.
[023]A Figura 9 mostra um exemplo de uma visualização de filtros de imagem contextualmente gerados aplicados a um grupo de imagens, de acordo com algumas modalidades.
Petição 870170009199, de 10/02/2017, pág. 9/69
5/57 [024]A Figura 10 mostra um exemplo de uma visualização de um filtro de imagem contextualmente gerado aplicado a um grupo de imagens, de acordo com algumas modalidades.
[025]A Figura 11 mostra um exemplo de um diagrama de rede de um sistema de classificação de imagens contextuais dentro de um sistema de rede social, de acordo com algumas modalidades.
[026]A Figura 12 mostra um exemplo de um sistema de computador que pode ser usado para implantar uma ou mais das modalidades descritas no presente documento, de acordo com algumas modalidades.
[027]As Figuras mostram várias modalidades da presente invenção apenas para propósitos de ilustração, em que as Figuras usam números de referência similares para identificar elementos similares. Alguém versado na técnica irá reconhecer prontamente a partir da seguinte discussão que as modalidades alternativas das estruturas e métodos ilustrados nas Figuras podem ser empregadas sem se afastar dos princípios descritos no presente documento.
DESCRIÇÃO DETALHADA
CLASSIFICAÇÃO DE IMAGENS ATRAVÉS DA CORRELAÇÃO DE INDICAÇÕES CONTEXTUAIS [028]Um sistema de rede social pode dotar os usuários com a capacidade para gerar conteúdo e compartilhar o mesmo com amigos. Usuários de um serviço de compartilhamento de fotos do sistema de rede social pode apreciar capturar imagens (por exemplo, imagens fixas, memes), vídeo ou conteúdo interativo em seus telefones celulares e compartilhar o conteúdo com seus amigos online. De maneira similar, os usuários podem apreciar compartilhar conteúdo com seus amigos, por exemplo, atualizando-se feeds interativos em sua homepage.
[029]Um sistema de rede social também pode fornecer ou suportar a capacidade de indicar, identificar, categorizar, rotular, descrever ou, de outro modo,
Petição 870170009199, de 10/02/2017, pág. 10/69
6/57 fornecer informações sobre um item de conteúdo ou atributos sobre o conteúdo. Um modo para indicar tais informações é através de uma marcação que pode identificar ou, de outro modo, se referir ao assunto do conteúdo ou seus atributos. Outro modo para indicar tais informações é através de coordenadas de sistema de posicionamento global (GPS) de um usuário que transfere por upload conteúdo para identificar a localização do upload, ou onde o conteúdo foi capturado. Conforme descrito em mais detalhes no presente documento, existem muitos outros modos para indicar informações sobre conteúdo em sistemas de rede social. Muitos desses indicadores, que incluem marcações (por exemplo, hashtag ou outra marcação de metadados) e coordenadas de sistema GPS, são não visuais, e não se baseiam na análise automatizada de dados visuais no conteúdo.
[030]Em certas circunstâncias, indicadores não visuais podem ser subjetivos ou potencialmente enganosos. Por exemplo, embora as marcações que um gerador de conteúdo escolhe para aplicar seu próprio conteúdo possam descrever o assunto do conteúdo a partir da perspectiva do gerador de conteúdo, as marcações podem ser consideradas descrições errôneas ou mesmo irrelevantes a partir da perspectiva de outros. Um usuário que posta uma foto de si mesmo vestido como a mulher-gato no Halloween, por exemplo, pode marcar a foto como #cat, mesmo que a foto não contenha um gato doméstico. Um usuário que posta uma imagem de um cão chamado Paris pode marcar a foto com a marcação #paris”, mesmo que a imagem não mostre Paris, França. Um usuário que posta imagens que são capturadas por sua família de no Super Bowl em Nova Orleans no domingo de Super Bowl pode ter coordenadas de GPS e/ou carimbos de data e hora que indicam que as imagens foram capturadas no Super Bowl, porém, o conteúdo das próprias imagens pode não se referir a um jogo de futebol americano.
[031]Embora a subjetividade de indicadores não visuais ajude usuários de sistemas de rede social a expressar e compartilhar de maneira criativa uma rica
Petição 870170009199, de 10/02/2017, pág. 11/69
7/57 variedade de conteúdo, a subjetividade de indicadores não visuais muitas vezes torna difícil pesquisa de imagens transferidas por upload de usuário, tais como fotografias. Por exemplo, uma tentativa de pesquisar imagens postadas em um sistema de rede social para cats pode revelar uma imagem de um usuário em uma fantasia de Mulher-gato no Halloween. Uma tentativa de realizar uma pesquisa gráfica para imagens da Torre Eiffel em Paris, França, pode levar a imagens de um cachorro chamado Paris”. Uma tentativa de pesquisar fotografias de Super Bowl pode revelar fotografias pessoais de uma família de fãs que pode não ser altamente relevante para alguém à procura de contas de um jogo de futebol americano. De certa forma, os indicadores não visuais associados às imagens nesses exemplos são ruidosos pelo fato de que os mesmos podem não refletir precisamente os conteúdos da imagem às quais os mesmos são associados. Pode ser desejável pesquisar precisamente o conteúdo de usuário-transferido por upload em sistemas de rede social.
[032]A Figura 1 mostra um exemplo de um sistema de classificação de imagens contextuais 102, de acordo com algumas modalidades. O sistema de classificação de imagens contextuais 102 pode ser incorporado em um sistema de rede social, um exemplo do qual é fornecido na Figura 11. No exemplo da Figura 1, o sistema de classificação de imagens contextuais 102 pode incluir um módulo de classificação de imagens 104 e um módulo de aplicação de imagens 106.
[033]O módulo de classificação de imagens 104 pode reconhecer o assunto no conteúdo com base nas indicações contextuais associadas ao conteúdo e atributos visuais do conteúdo. O conteúdo pode incluir, por exemplo, imagens, memes, vídeo, material audiovisual interativo, etc. Um atributo visual pode incluir um padrão visual em uma imagem ou um segmento de imagem que reflete uma propriedade característica do assunto mostrado no conteúdo. Os atributos visuais podem se basear em um ou uma combinação de, por exemplo, aparência, cor,
Petição 870170009199, de 10/02/2017, pág. 12/69
8/57 formato, layout, etc.
[034]Uma indicação contextual pode incluir um indicador não visual do assunto mostrado no conteúdo. Uma indicação contextual pode refletir ou sugerir o assunto de pelo menos uma porção do conteúdo. Em algumas modalidades, uma indicação contextual pode compreender uma marcação de conteúdo. As indicações contextuais também podem incluir outros tipos de indicadores não visuais do assunto no conteúdo, tais como indicações sociais. Por exemplo, sem limitação, as indicações contextuais podem incluir: coordenadas de sistema de posicionamento global (GPS) da imagem ou dispositivo digital do usuário, o número de marcações além de uma marcação especificada, a extensão na qual uma marcação especificada ocorreu em uma série de marcações, a outra dentre uma marcação especificada em uma série de marcações, a identidade de um marcador do conteúdo (por exemplo, uma entidade que associa cadeias de caracteres ao conteúdo), a identidade de um carregador de imagens do conteúdo (por exemplo, uma entidade que fornece conteúdo para armazenamento em um armazenamento de dados de um sistema de rede social), a identidade do proprietário do conteúdo, o tempo da transferência de conteúdo por upload, conexões e tipos de conexões (por exemplo, amigos) do marcador (ou o carregador de imagens ou o proprietário), o status ou perfil do marcador (ou o carregador de imagens ou o proprietário), metadados associados ao conteúdo, identidades de pessoas que visualizam ou curtem um determinado tipo de conteúdo, informações de Arquivo de Imagem Permutável (EXIF), etc.
[035]Em algumas modalidades, o módulo de classificação de imagens 104 pode treinar um classificador para reconhecer atributos visuais de uma classe de imagem com base nas indicações contextuais coletadas a partir de um conjunto de imagens de amostra. Um conjunto de imagens de amostra pode incluir um grupo de imagens a partir do qual um conjunto de treinamento é selecionado para treinar o
Petição 870170009199, de 10/02/2017, pág. 13/69
9/57 classificador. O conjunto de imagens de amostra pode incluir um número de imagens grande o suficiente para assegurar um resultado preciso pelo classificador. O classificador pode atribuir cada item de conteúdo a uma marcação estatística que corresponde à extensão que o conteúdo abrange em uma classe de imagem particular. Em algumas modalidades, o classificador pode incorporar um classificador hierárquico, um classificador linear ou outro classificador. Um exemplo de um classificador é fornecido na Figura 5. Em algumas modalidades, o classificador pode ser treinado inicialmente com base em um subconjunto de imagens selecionadas mantidas pelo sistema de rede social. O classificador pode ser retreinado sob várias circunstâncias. Por exemplo, o classificador pode ser retreinado periodicamente em uma frequência selecionada ou não periodicamente à medida que as imagens se tornam disponíveis para o classificador. Como outro exemplo, o classificador pode ser retreinado mediante a ocorrência de determinados eventos, tais como eventos (por exemplo, o Super Bowl) que são propensos a fazer com que um grande número de imagens seja transferido por upload para o sistema de rede social. Como ainda outro exemplo, o classificador pode ser retreinado quando o sistema de rede social recebe um número limite de novas imagens. O retreinamento nessas e outras circunstâncias pode refinar a capacidade do classificador para reconhecer atributos visuais de classes de imagens.
[036]Uma classe de imagem pode incluir, por exemplo, objetos (por exemplo, um gato, carro, pessoa, bolsa, etc.), marcas ou objetos associados a marcas (por exemplo, Coca-Cola®, Ferrari®), times esportivos profissionais (por exemplo, o Golden State Warriors®), locais (por exemplo, Monte Everest), atividades (por exemplo, natação), frases ou conceitos (por exemplo, um vestido vermelho, felicidade), e qualquer outra coisa, ação ou noção que possa ser associada ao conteúdo. Embora muitos exemplos fornecidos no presente documento possam se referir a uma única classe de imagem, nota-se que a classe de imagem pode se
Petição 870170009199, de 10/02/2017, pág. 14/69
10/57 referir a uma pluralidade de classes de imagens ou uma ou mais classes de imagens que compreendem uma integração de objetos, marcas, times esportivos profissionais, locais, etc.
[037]Em algumas modalidades, o módulo de classificação de imagens 104 pode usar um classificador treinado para comparar atributos visuais de um conjunto de imagens de avaliação com atributos visuais da classe de imagem e determinar se os atributos visuais em um conjunto de imagens de avaliação podem ser suficientemente correlacionados com atributos visuais da classe de imagem. Um conjunto de imagens de avaliação pode incluir um grupo de imagens selecionadas para classificação por um classificador. Em várias modalidades, o conjunto de imagens de avaliação pode incluir todas ou uma porção das imagens em um armazenamento de dados, ou todas ou uma porção das imagens em um sistema de rede social. Em uma modalidade, o classificador pode ser treinado por qualquer técnica adequada, tal como aprendizado de máquina.
[038]Em várias modalidades, o módulo de classificação de imagens 104 pode fornecer conteúdo classificado para o módulo de aplicação de imagens 106. O conteúdo classificado pode incluir conteúdo que foi classificado e/ou marcado por um classificador. Em contrapartida, o conteúdo bruto ou conteúdo não classificado pode incluir conteúdo que não foi classificado e/ou marcado por um classificador ou, de outro modo, associado a uma ou mais classes de imagens. O conteúdo classificado pode ter uma marcação que indica a extensão na qual o conteúdo classificado corresponde à classe de imagem. Itens de marcação mais alta de conteúdo classificado podem ter graus de correlação mais altos com os atributos visuais da classe de imagem. Como resultado, em várias modalidades, o módulo de classificação de imagens 104 pode permitir a pesquisa eficiente do conteúdo classificado com base na marcação.
[039]O uso do classificador durante a análise de um conjunto de imagens de
Petição 870170009199, de 10/02/2017, pág. 15/69
11/57 avaliação para classificação pode ocorrer em vários tempos. Por exemplo, o classificador pode analisar um conjunto de imagens de avaliação em uma frequência selecionada ou não periodicamente, à medida que as imagens se tornam disponíveis para o classificador. O classificador também pode analisar um conjunto de imagens de avaliação mediante a ocorrência de certos eventos, tais como eventos que são propensos a fazer com que um grande número de imagens seja transferido por upload para o sistema de rede social. O classificador pode analisar um conjunto de imagens de avaliação quando o sistema de rede social recebe um número limite de novas imagens. Como ainda outro exemplo, o classificador pode analisar um conjunto de imagens de avaliação para classificação antes que pesquisas de imagens antecipadas sejam realizadas.
[040]O módulo de aplicação de imagens 106 pode adaptar o conteúdo classificado para uso em um sistema de rede social. Em algumas modalidades, o módulo de aplicação de imagens 106 pode fazer interface com interfaces de programação de aplicativo de pesquisa (APIs) para tornar cada item do conteúdo classificado pesquisável de acordo com sua classe de imagem. Por exemplo, o módulo de aplicação de imagens 106 pode fazer interface com um módulo de pesquisa que pesquisa imagens classificadas que os usuários transferiram por upload para um sistema de rede social. Como outro exemplo, o módulo de aplicação de imagens 106 pode fazer interface com um módulo de pesquisa que pesquisa feeds de um sistema de rede social para imagens classificadas ou memes que os usuários postaram em seus feeds. O módulo de aplicação de imagens 106 também pode fornecer conteúdo classificado em resposta a consultas de pesquisa. Em algumas modalidades, o módulo de aplicação de imagens 106 pode extrair tópicos associados às imagens classificadas fornecidas pelo módulo de classificação de imagens 104 com o uso de dicionários de assunto, árvores de categoria e técnicas de marcação de tópico.
Petição 870170009199, de 10/02/2017, pág. 16/69
12/57 [041 ]A Figura 2A mostra um exemplo de um módulo de classificação de imagens 104, de acordo com algumas modalidades. O módulo de classificação de imagens 104 pode incluir um armazenamento de dados de imagens não classificadas 202, um módulo de treinamento de classificação de imagens 204, e um classificador 208. Além dos componentes representados na Figura 2A, o módulo de classificação de imagens 104 também pode incluir os componentes representados na Figura 2B. Nota-se que os elementos similares na Figura 2A e Figura 2B podem ter números de referência similares.
[042]O armazenamento de dados de imagens não classificadas 202 pode ser acoplado ao módulo de treinamento de classificação de imagens 204 e ao módulo de avaliação de classificação de imagens 206. O armazenamento de dados de imagens não classificadas 202 pode conter imagens não classificadas. As imagens não classificadas podem ter indicações contextuais associadas às mesmas. Os armazenamentos de dados podem incluir qualquer organização de dados, que incluam tabelas, arquivos de valores separados por vírgula (CSV), bancos de dados tradicionais (por exemplo, SQL), ou outros formatos organizacionais conhecidos ou convenientes. Em algumas modalidades, o armazenamento de dados de imagens não classificadas 202 também pode armazenar um conjunto de indicações contextuais associadas às imagens, tais como marcações ou outras indicações. Em algumas modalidades, o armazenamento de dados de imagens não classificadas 202 pode representar uma porção ou todas as imagens não classificadas em um sistema de rede social.
[043]O módulo de treinamento de classificação de imagens 204 pode ser acoplado ao armazenamento de dados de imagens não classificadas 202 e ao classificador 208. Em algumas modalidades, o módulo de treinamento de classificação de imagens 204 pode implantar uma fase de treinamento. A fase de treinamento pode incluir uma fase do módulo de classificação de imagens 104 na
Petição 870170009199, de 10/02/2017, pág. 17/69
13/57 qual o módulo de treinamento de classificação de imagens 204 treina o classificador 208 para reconhecer atributos visuais de imagens selecionadas a partir de um conjunto de imagens de amostra. Durante a fase de treinamento, o módulo de treinamento de classificação de imagens 204 pode obter um conjunto de imagens de amostra a partir do armazenamento de dados de imagens não classificadas 202. O módulo de treinamento de classificação de imagens 204 também pode coletar um conjunto de indicações contextuais associadas a cada imagem não classificada obtida. Com base no conjunto de indicações contextuais, um conjunto de imagens de treinamento selecionadas a partir do conjunto de imagens de amostra pode ser usado para treinar o classificador 208 para reconhecer padrões visuais. Imagens não classificadas e/ou indicações contextuais podem ser obtidas consultando-se o armazenamento de dados de imagens não classificadas 202 com as informações relevantes para determinar o conjunto de imagens de treinamento a partir do conjunto de imagens de amostra.
[044]Durante a fase de treinamento, o módulo de treinamento de classificação de imagens 204 pode ser configurado para especificar uma ou mais classes de imagens com as quais treinar o classificador 208. Para especificar a classe de imagem, o módulo de treinamento de classificação de imagens 204 pode receber a entrada automatizada que define a classe de imagem. A especificação da classe de imagem também pode envolver a entrada manual de uma pessoa, tal como um administrator encarregado de classificar imagens.
[045]Durante a fase de treinamento, o módulo de treinamento de classificação de imagens 204 pode ser configurado para identificar e selecionar indicações contextuais que correspondem à classe de imagem. Em várias modalidades, o módulo de treinamento de classificação de imagens 204 pode avaliar os atributos de uma classe de imagem particular e pode determinar ser certas indicações contextuais são provavelmente associadas a essa classe de imagem. Por
Petição 870170009199, de 10/02/2017, pág. 18/69
14/57 exemplo, o módulo de treinamento de classificação de imagens 204 pode determinar que um tipo de marcação é propenso a acompanhar uma foto de um gato doméstico, enquanto outro tipo de marcação é propenso a acompanhar uma foto de um usuário em uma fantasia de mulher-gato no Halloween. Em tal caso, o módulo de treinamento de classificação de imagens 204 pode selecionar o tipo de marcações que é propenso a acompanhar uma foto de um gato doméstico que corresponde à classe de imagem de um gato. Conforme discutido em mais detalhes no presente documento, a consideração se as indicações contextuais se aplicam a uma classe de imagem particular pode se basear em muitas considerações, tais como marcações (por exemplo, a marcação #gato, a marcação #Halloween, etc.), a ordem das marcações, se marcações particulares são acompanhadas por outras marcações particulares (por exemplo, se a marcação #gato é acompanhada pela marcação #animal ou se a marcação #gato é acompanhada pela marcação #Halloween), etc. O módulo de treinamento de classificação de imagens 204 também pode ser configurado para classificar e/ou marcar a extensão em que as indicações contextuais associadas a uma imagem particular correspondem a uma classe de imagem particular.
[046]As indicações contextuais são analisadas para identificar um conjunto de imagens de treinamento a partir do conjunto de imagens de amostra. O conjunto de imagens de treinamento representa imagens que são mais estritamente correlacionadas com uma classe de imagem. Durante a fase de treinamento, o módulo de treinamento de classificação de imagens 204 pode fornecer o conjunto de imagens de treinamento para o classificador 208 para identificar atributos visuais associados à classe de imagem. Em algumas modalidades, o módulo de treinamento de classificação de imagens 204 pode instruir o classificador 208 a criar um modelo de um padrão visual que corresponde a uma classe de imagem particular. Em algumas modalidades, o módulo de treinamento de classificação de
Petição 870170009199, de 10/02/2017, pág. 19/69
15/57 imagens 204 pode, se desejado, armazenar imagens classificadas e/ou modelos de padrão visual relacionados em um local, tal como o armazenamento de dados de imagens classificadas 210. O módulo de treinamento de classificação de imagens 204 pode usar adicionalmente anotadores manuais para ajudar a selecionar o conjunto de imagens de treinamento. O módulo de treinamento de classificação de imagens 204 é adicionalmente discutido no contexto da Figura 3 e da Figura 7.
[047]O classificador 208 pode ser acoplado ao módulo de treinamento de classificação de imagens 204 e a um armazenamento de dados de imagens classificadas (por exemplo, o armazenamento de dados de imagens classificadas 210 mostrado na Figura 2B). O classificador pode receber imagens a partir do módulo de treinamento de classificação de imagens 204. Na fase de treinamento, o classificador 208 pode avaliar um conjunto de imagens de treinamento para a presença de padrões visuais particulares. O classificador 208 pode associar padrões visuais particulares às classes de imagens, pode criar modelos de padrão visual e pode fazer com que os modelos de padrão visual sejam armazenados. Na fase de treinamento, o classificador 208 pode retornar as imagens usadas para treinamento para o módulo de treinamento de classificação de imagens 204. Em algumas modalidades, o classificador 208 pode incluir uma conexão de retorno (por exemplo, através de uma malha de realimentação) no módulo de treinamento de classificação de imagens 204. Como resultado, o classificador 208 pode auxiliar a precisão do módulo de treinamento de classificação de imagens 204. Tal conexão de retorno pode ajudar a aprimorar a classificação e o treinamento futuros. O classificador 208 é adicionalmente discutido no contexto da Figura 5.
[048]A Figura 2B mostra um exemplo de um módulo de classificação de imagens 104, de acordo com algumas modalidades. O módulo de classificação de imagens 104 pode incluir o armazenamento de dados de imagens não classificadas 212, um módulo de avaliação de classificação de imagens 206, o classificador 208, e
Petição 870170009199, de 10/02/2017, pág. 20/69
16/57 um armazenamento de dados de imagens classificadas 210. O armazenamento de dados de imagens não classificadas 212 pode ser acoplado ao módulo de avaliação de classificação de imagens 206. O armazenamento de dados de imagens não classificadas 212 pode armazenar imagens não classificadas. O armazenamento de dados de imagens não classificadas 212 pode, porém, não precisa, ser igual ao armazenamento de dados de imagens não classificadas 202, mostrado na Figura 2A.
[049]O módulo de avaliação de classificação de imagens 206 pode ser acoplado ao armazenamento de dados de imagens não classificadas 212 e ao classificador 208. Em algumas modalidades, o módulo de avaliação de classificação de imagens 206 pode implantar uma fase de avaliação. Uma fase de avaliação pode incluir uma fase do módulo de classificação de imagens 104 na qual o módulo de avaliação de classificação de imagens 206 usa o classificador 208 para reconhecer padrões visuais em um conjunto de imagens de avaliação. Em uma modalidade, o conjunto de imagens de avaliação pode ser selecionado a partir do armazenamento de dados de imagens não classificadas 212.
[050]Durante a fase de avaliação, o módulo de avaliação de classificação de imagens 206 pode fornecer o conjunto de imagens de avaliação a partir do armazenamento de dados de imagens não classificadas 212 para o classificador 208. Em várias modalidades, o módulo de treinamento de classificação de imagens 204 pode ter, na fase de treinamento, treinado o classificador 208 para reconhecer atributos visuais de um conjunto de imagens de treinamento associadas a uma classe de imagem. O conjunto de imagens de avaliação pode compreender um conjunto de imagens diferente do conjunto de imagens de amostra e do conjunto de imagens de treinamento. Em algumas modalidades, o módulo de avaliação de classificação de imagens 206 também pode dotar o classificador 208 de uma classe de imagem que o classificador 208 deve comparar com o conjunto de imagens de
Petição 870170009199, de 10/02/2017, pág. 21/69
17/57 avaliação. Em várias modalidades, o módulo de avaliação de classificação de imagens 206 pode instruir o classificador 208 a classificar e/ou marcar o conjunto de imagens de avaliação com base na correlação com a classe de imagem. O módulo de avaliação de classificação de imagens 206 também pode armazenar a classificação e a marcação de imagens (isto é, imagens que foram marcadas com base na correlação com a classe de imagem) no armazenamento de dados de imagens classificadas 210. O módulo de avaliação de classificação de imagens 206 é adicionalmente discutido no contexto das Figuras 4 e 8.
[051 ]O classificador 208 pode ser acoplado ao módulo de treinamento de classificação de imagens 204 e ao módulo de avaliação de classificação de imagens 206. O classificador 208 pode receber imagens do módulo de avaliação de classificação de imagens 206. Na fase de avaliação, o classificador 208 pode realizar reconhecimento de padrão visual em um conjunto de imagens de avaliação para marcar a correlação entre cada imagem e modelos de padrão visual associados a uma classe de imagem de interesse. Na fase de avaliação, o classificador 208 pode retornar as imagens usadas na avaliação para o módulo de avaliação de classificação de imagens 206. O classificador 208 é adicionalmente discutido no contexto da Figura 5.
[052]O armazenamento de dados de imagens classificadas 210 pode ser acoplado ao classificador 208 e ao módulo de aplicação de imagens 106. O armazenamento de dados de imagens classificadas 210 pode armazenar informações que incluem imagens classificadas, classes de imagens, modelos de padrão visual e outras informações. Em algumas modalidades, o armazenamento de dados de imagens classificadas 210 pode ser indexado para facilitar pesquisas eficientes de imagens classificadas por APIs que buscam acesso às imagens classificadas. Por exemplo, o armazenamento de dados de imagens classificadas 210 pode ser configurado para ser compatível com um módulo de pesquisa acoplado
Petição 870170009199, de 10/02/2017, pág. 22/69
18/57 ao módulo de aplicação de imagens 106 que busca acessar as imagens classificadas.
[053]A Figura 3 mostra um exemplo de um módulo de treinamento de classificação de imagens 204, de acordo com algumas modalidades. O módulo de treinamento de classificação de imagens 204 pode incluir um módulo de seleção de imagens de treinamento 301, a armazenamento de dados de imagens de treinamento 309 e um módulo de treinamento de classificador 310.
[054]O módulo de seleção de imagens de treinamento 301 pode ser acoplado ao armazenamento de dados de imagens não classificadas 202 e ao armazenamento de dados de imagens de treinamento 309. O módulo de seleção de imagens de treinamento 301 pode identificar um conjunto de imagens de treinamento a partir do conjunto de imagens de amostra. O módulo de seleção de imagens de treinamento 301 também pode armazenar o conjunto de imagens de treinamento no armazenamento de dados de imagens de treinamento 309. O módulo de seleção de imagens de treinamento 301 pode incluir um módulo de coleta de imagens de treinamento 302, um módulo de extração de indicação contextual 304, um módulo de especificação de classe de imagem 306 e um módulo de correlação de classe de imagem 308.
[055]O módulo de coleta de imagens de treinamento 302 pode ser acoplado aos outros módulos do módulo de seleção de imagens de treinamento 301. Em algumas modalidades, o módulo de coleta de imagens de treinamento 302 pode coletar um conjunto de imagens de amostra junto com indicações contextuais associadas ao conjunto de imagens de amostra. O conjunto de imagens de amostra e as indicações contextuais associadas podem ser recuperados a partir do armazenamento de dados de imagens não classificadas 202.
[056]O módulo de extração de indicação contextual 304 pode ser acoplado a outros módulos do módulo de seleção de imagens de treinamento 301. O módulo de
Petição 870170009199, de 10/02/2017, pág. 23/69
19/57 extração de indicação contextual 304 pode ser configurado para extrair as indicações contextuais associadas ao conjunto de imagens de amostra. Conforme discutido no presente documento, as indicações contextuais podem incluir indicadores não visuais dos conteúdos de uma imagem. Os exemplos de indicações contextuais para uma imagem podem incluir etiquetas de imagem para a imagem, coordenadas de GPS de um dispositivo que captura a imagem, as identidades do marcador, carregador de imagens, e proprietário da imagem, as identidades dos proprietários da imagem, outras informações direta ou indiretamente relacionadas à imagem, etc. Em algumas modalidades, o módulo de extração de indicação contextual 304 pode dotar o módulo de correlação de classe de imagem 308 do conjunto de indicações contextuais, de modo que o módulo de correlação de classe de imagem 308 possa correlacionar as indicações contextuais com uma classe de imagem.
[057]O módulo de especificação de classe de imagem 306 pode ser acoplado aos outros módulos do módulo de seleção de imagens de treinamento 301. O módulo de especificação de classe de imagem 306 pode ser configurado para especificar uma classe de imagem que o classificador 208 é treinado para reconhecer. Em algumas modalidades, o módulo de especificação de classe de imagem 306 pode receber uma instrução para especificar a classe de imagem a partir de um administrator, que pode ser humano ou automatizado. Em várias modalidades, a especificação de uma classe de imagem pode envolver a criação de uma classe de imagem, se uma não existir, ou designar uma classe de imagem se tal classe de imagem existir.
[058]O módulo de correlação de classe de imagem 308 pode ser acoplado aos outros módulos do módulo de seleção de imagens de treinamento 301. O módulo de correlação de classe de imagem 308 pode receber um ou mais dentre o conjunto de imagens de amostra, junto com indicações contextuais associadas, a
Petição 870170009199, de 10/02/2017, pág. 24/69
20/57 partir do módulo de extração de indicação contextual 304, e pode receber uma classe de imagem especificada a partir do módulo de especificação de classe de imagem 306. O módulo de correlação de classe de imagem 308 pode determinar a extensão na qual as indicações contextuais de uma imagem particular irão se correlacionar com uma classe de imagem específica. De maneira mais específica, o módulo de correlação de classe de imagem 308 pode atribuir a cada uma das imagens uma marcação ou valor que indica a probabilidade de uma dada imagem se correlacionar com a classe de imagem. Em algumas modalidades, o módulo de correlação de classe de imagem 308 também pode classificar cada um dos conjuntos de imagens de amostra com base na marcação de cada imagem. Em algumas modalidades, o módulo de correlação de classe de imagem 308 pode selecionar um conjunto de treinamento a partir do conjunto de imagens de amostra, tal como as imagens de marcação mais alta do conjunto de imagens de amostra, para fornecer para o módulo de treinamento de classificador 310. De maneira vantajosa, o módulo de correlação de classe de imagem 308 não precisa realizar nenhum reconhecimento visual do conteúdo no conjunto de imagens de amostra.
[059]A discussão a seguir fornece exemplos de como o módulo de correlação de classe de imagem 308 pode determinar os prováveis conteúdos de imagens com base nas indicações contextuais associadas às imagens. Conforme fornecido na discussão a seguir, o módulo de correlação de classe de imagem 308 pode analisar as próprias marcações, a sintaxe das marcações, ou pode realizar outros tipos de análises nas indicações contextuais extraídas pelo módulo de extração de indicação contextual 304. O módulo de correlação de classe de imagem 308 também pode fornecer qualquer combinação dos seguintes exemplos para correlacionar, com base nas indicações contextuais, o conjunto de imagens de amostra com uma classe de imagem especificada para determinar um conjunto de imagens de treinamento.
Petição 870170009199, de 10/02/2017, pág. 25/69
21/57 [060]Em algumas modalidades, o módulo de correlação de classe de imagem 308 pode analisar a sintaxe de etiquetas de imagem do conjunto de imagens de amostra. O módulo de correlação de classe de imagem 308 pode determinar qual a probabilidade de uma sintaxe específica se correlacionar com uma dada classe de imagem. Em algumas modalidades, a análise sintática das etiquetas de imagem pode envolver a atribuição de pesos à linguagem exata das etiquetas de imagem. Ou seja, o módulo de correlação de classe de imagem 308 pode determinar que as palavras exatas de marcações associadas a uma imagem indicam que as marcações devem ser correlacionadas com uma classe de imagem. Por exemplo, uma imagem pode ser marcada com a etiqueta de imagem #domestic housecat”. O módulo de correlação de classe de imagem 308 pode determinar que uma marcação # domestic housecat se correlaciona em um alto grau com uma classe de imagem para imagens de gatos domésticos. Como outro exemplo, o módulo de correlação de classe de imagem 308 pode determinar que uma marcação #domestic house market se correlaciona em um baixo grau com a classe de imagem para gatos domésticos.
[061 ]O módulo de correlação de classe de imagem 308 também pode analisar a ordem de uma etiqueta de imagem particular em uma série de etiquetas de imagem associadas a uma imagem. Por exemplo, uma pessoa que busca marcar uma foto de um gato doméstico pode incluir a seguinte série de marcações: #cat, #athome, #Sunday, #animal”. O módulo de correlação de classe de imagem 308 pode identificar que a marcação #cat é a primeira marcação na série de marcações e, portanto, que a imagem é provavelmente uma imagem de um gato doméstico. O módulo de correlação de classe de imagem 308 pode atribuir à série de marcações um peso na correlação da imagem com a classe de imagem. Nota-se que, para correlacionar uma imagem a uma classe de imagem, o módulo de correlação de classe de imagem 308 também pode ser responsável por marcações em posições
Petição 870170009199, de 10/02/2017, pág. 26/69
22/57 diferentes da primeira posição em uma série de marcações.
[062]O módulo de correlação de classe de imagem 308 também pode analisar se diversas etiquetas de imagem são sinônimas entre si. Por exemplo, suponha que uma primeira imagem foi marcada da seguinte maneira: #cat, #athome, #Halloween, #Catwoman, #costume, #DC Comics®”. Suponha adicionalmente que a segunda imagem foi marcada da seguinte maneira: #cat, #mammal, #animal, #housecat, #tomcat, #feline, #cute”. O módulo de correlação de classe de imagem 308 pode determinar, com base em algumas das marcações da primeira imagem, que as séries de marcações não são sinônimas entre si, e que não é provável que a primeira imagem contenha uma imagem de um gato doméstico. O módulo de correlação de classe de imagem 308 pode determinar adicionalmente, com base em algumas das marcações da segunda imagem, que a série de marcações são sinônimos (por exemplo, cat”, tomcat” e feline), e que a segunda imagem é mais provável que primeira imagem para conter uma imagem de um gato doméstico. Consequentemente, o módulo de correlação de classe de imagem 308 pode atribuir uma marcação para a segunda imagem mais alta que marcação da primeira imagem em relação à classe de imagem de gatos domésticos.
[063]Em algumas modalidades, o módulo de correlação de classe de imagem 308 pode avaliar uma pluralidade de etiquetas de imagem para a ausência de um antônimo ou significados divergentes. Por exemplo, suponha que uma primeira imagem foi marcada da seguinte maneira: #blackcar”, #whitecar”, #luxurycar”, #My Mercedes. Suponha que uma segunda imagem foi marcada da seguinte maneira: #blackcar”, #darkcar”, #luxurycar”, #My Mercedes”. O módulo de correlação de classe de imagem 308 pode determinar, com base no fato de que a segunda série de marcações é desprovida de um antônimo para blackcar”, que a segunda imagem se correlaciona em um alto grau com uma classe de imagem que corresponde a um carro preto. O módulo de correlação de classe de imagem 308
Petição 870170009199, de 10/02/2017, pág. 27/69
23/57 pode atribuir uma marcação para a segunda imagem maior que uma marcação para a primeira imagem em relação à classe de imagem de carros pretos.
[064]O módulo de correlação de classe de imagem 308 pode, em algumas modalidades, avaliar a relação de uma etiqueta de imagem com base em uma ontologia ou uma hierarquia de linguagem. Por exemplo, o módulo de correlação de classe de imagem 308 pode desenvolver uma ontologia de uma ou mais palavras a partir de uma fonte online (por exemplo, WordNet), e pode localizar palavras com impacto emocional (por exemplo, happy”, sad”, red dress”, black car). Como outre exemplo, suponha que uma imagem foi marcada da seguinte maneira: #cat, #mammal, #animal, #housecat, #tomcat, #feline, #cute”. O módulo de correlação de classe de imagem 308 pode determinar que cat é uma parte da família de itens identificados por mamífero” que, por sua vez, faz parte da família de itens identificados por animal”. Como resultado, o módulo de correlação de classe de imagem 308 pode, em tal um exemplo, identificar as marcações de modo a fornecer um indicador confiável de um gato doméstico mostrado na imagem. O módulo de correlação de classe de imagem 308 pode, então, marcar a imagem consequentemente em relação à classe de imagem de gatos domésticos.
[065]Em várias modalidades, o módulo de correlação de classe de imagem 308 pode realizar outra análise de linguagem natural de palavras e frases de marcação. Em algumas modalidades, o módulo de correlação de classe de imagem 308 pode ser responsável por erros de ortografia de palavras de marcação. O módulo de correlação de classe de imagem 308 também pode ser responsável por idiomas além do inglês, que incluem procurar a presença de palavras não em inglês em conjunto com correspondentes em inglês (por exemplo, #cat e #gato na mesma série de marcações). Em cada um desses exemplos, o módulo de correlação de classe de imagem 308 pode marcar um conjunto de imagens adequadamente em relação a uma classe de imagem particular.
Petição 870170009199, de 10/02/2017, pág. 28/69
24/57 [066]Além de analisar a sintaxe de etiquetas de imagem, o módulo de correlação de classe de imagem 308 pode analisar indicações sociais relacionadas à geração e/ou marcação de imagens. Por exemplo, módulo de correlação de classe de imagem 308 pode analisar dados de localização associados ao conjunto de imagens de amostra. De maneira mais específica, o módulo de correlação de classe de imagem 308 pode avaliar as coordenadas de GPS de uma imagem. Por exemplo, as coordenadas de GPS podem ser tomadas a partir de um transceptor de GPS em um dispositivo móvel do usuário, ou podem ser tomadas a partir da marcação geográfica da imagem quando ou após a imagem ser transferida por upload. Com o uso de dados de localização de uma imagem particular, o módulo de correlação de classe de imagem 308 pode atribuir uma marcação à imagem particular em relação a uma classe de imagem específica. Por exemplo, o módulo de correlação de classe de imagem 308 pode determinar a partir dos dados de localização que uma imagem foi tomada próximo à Golden Gate Bridge em São Francisco. O módulo de correlação de classe de imagem 308 pode, então, atribuir uma marcação à imagem em relação a uma classe de imagem de pontes.
[067]Em algumas modalidades, o módulo de correlação de classe de imagem 308 pode analisar indicações sociais que incluem a identidade do gerador de uma imagem particular do conjunto de imagens de amostra. O módulo de correlação de classe de imagem 308 pode atribuir marcações dependendo se entidades particulares são propensas a gerar imagens em uma classe de imagem particular. Por exemplo, se uma entidade gerou historicamente muitas imagens em uma classe de imagem particular, o módulo de correlação de classe de imagem 308 pode marcar uma imagem particular da entidade para refletir um alto grau de correlação com a classe de imagem.
[068]Em algumas modalidades, o módulo de correlação de classe de imagem 308 pode analisar indicações sociais que indicam se o proprietário de um
Petição 870170009199, de 10/02/2017, pág. 29/69
25/57 dentre o conjunto de imagens de amostra foi o gerador da imagem ou um marcador da imagem. Em algumas modalidades, o módulo de correlação de classe de imagem 308 pode determinar se a entidade é proprietária de uma imagem ou direitos de propriedade intelectual para a imagem gerada ou marcou a imagem. Por exemplo, em relação a uma classe de imagem de uma marca registrada (por exemplo, um logotipo da Coca-Cola®), o módulo de correlação de classe de imagem 308 pode fornecer a uma imagem uma marcação que reflete um alto grau de correlação se a imagem foi gerada ou marcada pela entidade que é proprietária da marca registrada (por exemplo, a empresa Coca-Cola®). Tal esquema de ponderação pode se revelar particularmente vantajoso para reconhecer imagens ou logotipos de marca registrada.
[069]Em algumas modalidades, o módulo de correlação de classe de imagem 308 pode analisar indicações sociais que indicam o status ou um perfil de uma pessoa em um sistema de rede social. A pessoa pode ser um gerador e/ou marcador de uma imagem particular do conjunto de imagens de amostra. Por exemplo, o módulo de correlação de classe de imagem 308 pode determinar, com base nas atividades da pessoa (por exemplo, postagens passadas, atualizações de status, amizades, histórico de mensagens, histórico de marcação passada, histórico de geração de imagem passada, histórico de navegação, perfil online, etc.), ou relacionamentos (por exemplo, amigos), se a pessoa é propensa a ser um gerador e/ou marcador de imagem confiável. O módulo de correlação de classe de imagem 308 pode atribuir várias marcações a uma ou mais imagens com base em se o status ou perfil da pessoa indica que a pessoa seja um gerador e/ou marcador de imagem confiável tanto em geral como em relação a uma classe de imagem em particular.
[070]Em várias modalidades, o módulo de correlação de classe de imagem 308 pode analisar indicações sociais que indicam a presença ou ausência de outras
Petição 870170009199, de 10/02/2017, pág. 30/69
26/57 classes de imagens. Por exemplo, o módulo de correlação de classe de imagem 308 pode determinar que uma imagem inclui um barco, e, como resultado, é improvável que a imagem seja em local fechado. A presença de indicações contextuais (por exemplo, uma hashtag #indoors) pode indicar que é improvável que a imagem contenha um barco. Como outro exemplo, o módulo de correlação de classe de imagem 308 pode determinar que a presença de um objeto em uma imagem pode significa que outro objeto pode estar presente na imagem ou não. Por exemplo, a presença de indicações contextuais que indicam vacas na imagem pode permitir que o módulo de correlação de classe de imagem 308 forneça uma correlação negativa para aviões, dado o fato de que é improvável que a imagem contenha tanto vacas quanto aviões. Como outro exemplo, a presença de uma indicação contextual que indica uma galinha em uma imagem pode permitir que o módulo de correlação de classe de imagem 308 forneça uma correlação positiva para outras galinhas na imagem, dado o fato de que é provável que uma imagem contendo uma galinha contenha outras galinhas. Igualmente, a presença de uma ovelha pode indicar uma correlação positiva para um cão pastor.
[071 ]O módulo de correlação de classe de imagem 308 pode analisar uma variedade de indicações sociais, que incluem, porém, não se limitam a essas discutidas acima e um ou mais dentre: se o carregador de imagens é o proprietário da imagem, o tipo de arquivo da imagem, metadados em ou associados à imagem, a identidade de curtidores de uma imagem, a sofisticação ou experiência de usuários que visualizaram uma marcação ou imagem, se a imagem foi previamente classificada em uma classe de imagem (e caso afirmativo, qual foi a marcação da imagem em relação a essa classe de imagem), etc. Outras indicações sociais, além daquelas expressamente discutidas no presente documento, podem ser analisadas pelo módulo de correlação de classe de imagem 308 para correlacionar e marcar imagens com uma classe de imagem. O módulo de correlação de classe de imagem
Petição 870170009199, de 10/02/2017, pág. 31/69
27/57
308 pode atribuir várias marcações a várias imagens com base na extensão que as indicações contextuais dessas imagens se correlacionam em um alto grau com uma ou mais classes de imagens.
[072]Além de atribuir marcações às imagens, o módulo de correlação de classe de imagem 308 também pode classificar o conjunto de imagens de amostra em relação a uma ou mais classes de imagens. Por exemplo, o módulo de correlação de classe de imagem 308 pode classificar cada imagem do conjunto de imagens de amostra com base na marcação de cada imagem em relação a uma classe de imagem. A classificação pode refletir a correlação relativa de cada imagem com a classe de imagem. O módulo de correlação de classe de imagem 308 pode usar as ponderações, marcações e/ou classificações para gerar o conjunto de imagens de treinamento.
[073]O armazenamento de dados de imagens de treinamento 309 pode receber o conjunto de imagens de treinamento a partir do módulo de seleção de imagens de treinamento 301. O armazenamento de dados de imagens de treinamento 309 pode armazenar o conjunto de imagens de treinamento. Em algumas modalidades, o armazenamento de dados de imagens de treinamento 309 pode permitir que o módulo de treinamento de classificador 310 acesso o conjunto de imagens de treinamento.
[074]O módulo de treinamento de classificador 310 pode ser acoplado ao armazenamento de dados de imagens de treinamento 309 e ao classificador 208. Em várias modalidades, o módulo de treinamento de classificador 310 pode fornecer o conjunto de imagens de treinamento para treinar o classificador 208 para reconhecer uma classe de imagem. O conjunto de imagens de treinamento pode ser limitado a um número limite das imagens de classificação mais alta do conjunto de amostras em relação a uma classe de imagem particular. O número limite das imagens de classificação mais alta pode ser representado por um valor K, em que K
Petição 870170009199, de 10/02/2017, pág. 32/69
28/57 é qualquer valor inteiro. Por exemplo, suponha que o módulo de coleta de imagens de treinamento 302 coletou 1.000 imagens como o conjunto de imagens de amostra para finalmente treinar o classificador 208 para reconhecer uma classe de imagem para gatos domésticos. Suponha adicionalmente que o módulo de correlação de classe de imagem 308 atribuiu marcações a 200 dessas imagens que eram mais altas que as marcações atribuídas às 800 imagens restantes. Em tal caso, o módulo de treinamento de classificador 310 pode fornecer apenas as 200 imagens de marcação superior ao classificador 208 como o conjunto de imagens de treinamento, de modo que o classificador 208 possa determinar eficientemente os atributos visuais de imagens que se correlacionam altamente com a classe de imagem para gatos domésticos.
[075]A Figura 4 mostra um exemplo de um módulo de avaliação de classificação de imagens 206, de acordo com algumas modalidades. O módulo de avaliação de classificação de imagens 206 pode incluir um módulo de coleta de imagens de avaliação 402, um módulo de entrada de classificador 404, um módulo de coleta de modelo de padrão visual 405, um módulo de recepção de marcação de classificador 406, um módulo de classificação de propriedades visuais 408 e um módulo de fornecimento de imagem avaliada 410.
[076]O módulo de coleta de imagens de avaliação 402 pode ser acoplado aos outros módulos do módulo de avaliação de classificação de imagens 206. Em algumas modalidades, o módulo de coleta de imagens de avaliação 402 pode coletar um conjunto de imagens de avaliação para classificação de imagens a partir do armazenamento de dados de imagens não classificadas 202. O conjunto de imagens de avaliação pode ser igual ou diferente do conjunto de imagens de amostra e do conjunto de imagens de treinamento. O conjunto de imagens de avaliação pode compreender um número diferente de imagens (por exemplo, um número maior de imagens) do conjunto de imagens de amostra e do conjunto de imagens de
Petição 870170009199, de 10/02/2017, pág. 33/69
29/57 treinamento. Em várias modalidades, o conjunto de imagens de avaliação pode ser obtido de maneira aleatória ou seletiva a partir do armazenamento de dados de imagens não classificadas 202.
[077]O módulo de coleta de modelo de padrão visual 405 pode ser acoplado aos outros módulos do módulo de avaliação de classificação de imagens 206 e ao módulo de treinamento de classificação de imagens 204. Em algumas modalidades, o módulo de coleta de modelo de padrão visual 405 pode receber a partir do módulo de treinamento de classificação de imagens 204, modelos de padrão visual que correspondem a uma classe de imagem particular. O módulo de coleta de modelo de padrão visual 405 pode fornecer adicionalmente modelos de padrão visual para o módulo de entrada de classificador 404.
[078]O módulo de entrada de classificador 404 pode ser acoplado aos outros módulos do módulo de avaliação de classificação de imagens 206. Em algumas modalidades, o módulo de entrada de classificador 404 pode receber a partir do módulo de coleta de imagens de avaliação 402 o conjunto de imagens de avaliação. O módulo de entrada de classificador 404 também pode receber a partir do módulo de coleta de modelo de padrão visual 405, um modelo de padrão visual que corresponde a uma classe de imagem particular. O módulo de entrada de classificador 404 pode instruir o classificador 208 a tentar reconhecer o modelo de padrão visual em cada um dos conjuntos de imagens de avaliação.
[079]O módulo de recepção de marcação de classificador 406 pode ser acoplado aos outros módulos do módulo de avaliação de classificação de imagens 206. Em algumas modalidades, o módulo de recepção de marcação de classificador 406 pode receber a partir do classificador 208 marcações que indicam a extensão na qual imagens particulares do conjunto de imagens de avaliação se correlacionam com o modelo de padrão visual.
[080]0 módulo de classificação de propriedades visuais 408 pode ser
Petição 870170009199, de 10/02/2017, pág. 34/69
30/57 acoplado aos outros módulos do módulo de avaliação de classificação de imagens 206. Em várias modalidades, o módulo de classificação de propriedades visuais 408 pode classificar o conjunto de imagens de avaliação com base na extensão na qual as marcações de cada um dos conjuntos de imagens de avaliação se correlacionam com o modelo de padrão visual. Em algumas modalidades, o módulo de classificação de propriedades visuais 408 pode fornecer um conjunto de imagens reclassificadas, que constitui um conjunto de imagens classificadas para indexação ou pesquisa.
[081 ]O módulo de fornecimento de imagem avaliada 410 pode ser acoplado aos outros módulos do módulo de avaliação de classificação de imagens 206. Em algumas modalidades, o módulo de fornecimento de imagem avaliada 410 pode receber a imagens classificadas ou reclassificadas a partir do módulo de classificação de propriedades visuais 408. O módulo de fornecimento de imagem avaliada 410 pode fornecer as imagens reclassificadas para o armazenamento de dados de imagens classificadas 210 junto com um índice ou outras informações que refletem a extensão que cada imagem reclassificada se correlaciona com uma classe de imagem especificada.
[082]A Figura 5 mostra um exemplo de um classificador 208, de acordo com algumas modalidades. O classificador 208 pode incluir um módulo de criação de padrão visual 502, um módulo de reconhecimento de padrão visual 504 e um módulo de interface de imagem classificada 506.
[083]O módulo de criação de padrão visual 502 pode ser acoplado ao módulo de reconhecimento de padrão visual 504. O módulo de criação de padrão visual 502 pode receber, durante a fase de treinamento do classificador 208, um conjunto de imagens de treinamento a partir do módulo de treinamento de classificação de imagens 204, e criar um modelo de padrão visual de recursos que são comuns para o conjunto de imagens de treinamento associadas à classe de
Petição 870170009199, de 10/02/2017, pág. 35/69
31/57 imagem. Para criar o modelo de padrão visual, o módulo de criação de padrão visual 502 pode implantar um algoritmo de reconhecimento de padrão visual, tal como um modelo de histograma de palavras em visão computacional ou técnica que conta a ocorrência de um vocabulário de recursos de imagens locais em cada um dos conjuntos de imagens de treinamento. Em uma modalidade, o módulo de criação de padrão visual 502 pode quebrar uma imagem em segmentos, e pode avaliar cada segmento da imagem para a presença de recursos visuais. O módulo de criação de padrão visual 502 pode extrair adicionalmente os recursos visuais identificados em cada segmento da imagem e pode representar os recursos visuais como vetores. Com o uso dos vetores, o módulo de criação de padrão visual 502 pode criar um modelo de padrão visual de recursos que são comuns para o conjunto de imagens de treinamento.
[084]Em várias modalidades, o módulo de criação de padrão visual 502 pode criar um modelo de padrão visual com base nos recursos que são mais comumente encontrados no conjunto de imagens de treinamento. Por exemplo, nessas modalidades, o módulo de treinamento de classificação de imagens 204 pode dotar o módulo de criação de padrão visual 502 de um número inteiro K de imagens, e o módulo de criação de padrão visual 502 pode reconhecer recursos que são mais comumente encontrados nas imagens K.
[085]O módulo de reconhecimento de padrão visual 504 pode ser acoplado ao módulo de criação de padrão visual 502. O módulo de reconhecimento de padrão visual 504 pode receber, durante a fase de avaliação, um conjunto de imagens de avaliação a partir do módulo de avaliação de classificação de imagens 206, e pode identificar a extensão na qual cada um dos conjuntos de imagens de avaliação se correlaciona com um modelo de padrão visual particular associado a uma classe de imagem. Em algumas modalidades, o módulo de reconhecimento de padrão visual 504 pode empregar o reconhecimento de padrão visual, tal como um algoritmo de
Petição 870170009199, de 10/02/2017, pág. 36/69
32/57 histograms de palavras O reconhecimento de padrão visual pode compreender uma técnica de classificação de imagens de rede neural, em algumas modalidades. O módulo de reconhecimento de padrão visual 504 pode determinar os diversos recursos visuais dentro do conjunto de imagens de avaliação e, para cada imagem, representar os recursos visuais extraídos como um conjunto de vetores. O módulo de reconhecimento de padrão visual 504 também pode comparar os vetores para cada um dos conjuntos de imagens de avaliação com vários modelos de recursos de padrão visual. Em algumas modalidades, o módulo de reconhecimento de padrão visual 504 pode marcar a extensão na qual cada um dos conjuntos de imagens de avaliação se correlaciona com os vários modelos de padrão visual gerados durante a fase de treinamento.
[086]O módulo de interface de imagem classificada 506 pode ser acoplado ao módulo de criação de padrão visual 502 e ao módulo de reconhecimento de padrão visual 504. Em algumas modalidades, o módulo de interface de imagem classificada 506 pode receber imagens classificadas, junto com suas marcações, a partir do módulo de reconhecimento de padrão visual 504. O módulo de interface de imagem classificada 506 pode fornecer a imagens classificadas e/ou as marcações para o armazenamento de dados de imagens classificadas 210. O módulo de interface de imagem classificada 506 também pode fornecer modelos de padrão visual para o armazenamento de dados de imagens classificadas 210.
[087]A Figura 6 mostra um exemplo de um processo 600 para classificar imagens, de acordo com algumas modalidades. O processo 600 é discutido em conjunto com o módulo de classificação de imagens 104 mostrado na Figura 2A. O processo 600 pode incluir uma fase de treinamento 600a e uma fase de avaliação 600b. No bloco 602 do processo 600, o módulo de treinamento de classificação de imagens 204 pode coletar um conjunto de imagens de amostra a partir do armazenamento de dados de imagens não classificadas 202. No bloco 604, o
Petição 870170009199, de 10/02/2017, pág. 37/69
33/57 módulo de treinamento de classificação de imagens 204 pode coletar indicações contextuais associadas ao conjunto de imagens de amostra. No bloco 606, o módulo de treinamento de classificação de imagens 204 pode usar as indicações contextuais para marcar e ordenar as imagens com base em sua correlação com uma classe de imagem de interesse para criar um conjunto de imagens de treinamento, conforme discutido no presente documento. Com base na marcação e ordenação, um conjunto de imagens de treinamento pode ser determinado. No bloco 607, o módulo de treinamento de classificação de imagens 204 pode treinar o classificador 208 com base no conjunto de treinamento. No bloco 608, o módulo de avaliação de classificação de imagens 206 pode coletar um conjunto de imagens de avaliação a partir do armazenamento de dados de imagens não classificadas 202. No bloco 610, o classificador 208 pode comparar atributos visuais do conjunto de imagens de avaliação com um conjunto de modelos de padrão visual associados à classe de imagem. No bloco 612, o classificador 208 pode determinar se cada imagem do conjunto de imagens de avaliação se encontra dentro da classe de imagem com base na comparação.
[088]A Figura 7 mostra um exemplo de um processo 700 para treinar um classificador, de acordo com algumas modalidades. O processo 700 é discutido em conjunto com o módulo de treinamento de classificação de imagens 204 mostrado na Figura 3. No bloco 701, o módulo de especificação de classe de imagem 306 pode especificar uma classe de imagem para treinar o classificador 208 a reconhecer. No bloco 702, o módulo de coleta de imagens de treinamento 302 pode receber um conjunto de imagens de amostra, em que cada um dos conjuntos de imagens de amostra tem indicações contextuais associadas. No bloco 704, o módulo de extração de indicação contextual 304 pode extrair as indicações contextuais a partir do conjunto de imagens de amostra. No bloco 708, o módulo de correlação de classe de imagem 308 pode marcar a correlação de cada imagem no conjunto de
Petição 870170009199, de 10/02/2017, pág. 38/69
34/57 imagens de amostra com a classe de imagem com base nas uma ou mais indicações contextuais associadas à imagem. No bloco 710, o módulo de correlação de classe de imagem 308 pode classificar o conjunto de imagens de amostra com base na marcação de cada imagem. No bloco 712, o módulo de correlação de classe de imagem 308 pode determinar um conjunto de imagens de treinamento a partir do conjunto de amostras para treinar o classificador 208. Em algumas modalidades, a determinação de um conjunto de treinamento pode compreender classificar cada imagem no conjunto de amostras com base na marcação. A determinação também pode compreender selecionar um subconjunto de marcação superior do conjunto de imagens de amostra. O subconjunto de marcação superior pode compreender o conjunto de imagens de treinamento. No bloco 714, o módulo de treinamento de classificador 310 pode treinar o classificador 208 para identificar padrões visuais comuns no conjunto de imagens de treinamento.
[089]A Figura 8 mostra um exemplo de um processo 800 para classificar imagens, de acordo com algumas modalidades. O processo 800 é discutido em conjunto com o módulo de avaliação de classificação de imagens 206 mostrado na Figura 4, e o classificador 208 mostrado na Figura 5. No bloco 802, o módulo de coleta de imagens de avaliação 402 pode coletar um conjunto de imagens de avaliação a partir do armazenamento de dados de imagens não classificadas 202. No bloco 804, o módulo de coleta de imagens de avaliação 402 pode determinar uma classe de imagem para avaliar as propriedades visuais do conjunto de imagens de avaliação. Em algumas modalidades, o módulo de entrada de classificador 404 pode fornecer o conjunto de imagens de avaliação e a classe de imagem para o classificador 208. No bloco 806, o módulo de reconhecimento de padrão visual 504 pode marcar a correlação de cada imagem do conjunto de imagens de avaliação com um modelo de padrão visual associado à classe de imagem. No bloco 808, o módulo de reconhecimento de padrão visual 504 pode classificar cada imagem do
Petição 870170009199, de 10/02/2017, pág. 39/69
35/57 conjunto de imagens de avaliação com base na correlação marcada de cada imagem do conjunto de imagens de avaliação. No bloco 810, o módulo de reconhecimento de padrão visual 504 pode associar um subconjunto de marcação superior do conjunto de imagens de avaliação à classe de imagem. Em algumas modalidades, o módulo de interface de imagem classificada 506 pode, então, fornecer o subconjunto de marcação superior para vários outros módulos em um sistema de rede social.
[090]A Figura 9 mostra um exemplo de uma visualização 900 de uma classificação contextualmente gerada de um grupo de imagens pelo módulo de classificação de imagens 104, de acordo com algumas modalidades. A visualização 900 inclui um grupo de imagens não classificadas 902, um primeiro grupo de imagens classificadas 904, um segundo grupo de imagens classificadas 906, um terceiro grupo de imagens classificadas 908, e um quarto grupo de imagens classificadas 910. No exemplo da Figura 9, o grupo de imagens não classificadas 902 inclui um grupo de imagens que tem indicações contextuais associadas ao mesmo. As indicações contextuais podem incluir etiquetas de imagem e outras informações contextuais. Para produzir o primeiro grupo de imagens classificadas 904, o segundo grupo de imagens classificadas 906, o terceiro grupo de imagens classificadas 908 e o quarto grupo de imagens classificadas 910, um ou mais dos grupos de imagens não classificadas 902 foram fornecidos para o módulo de treinamento de classificação de imagens 204. O módulo de treinamento de classificação de imagens 204, durante a fase de treinamento, usou conjuntos dos grupos de imagens não classificadas 902, classificados com base nas indicações contextuais, para treinar o classificador 208 para reconhecer atributos visuais associados a quatro classes de imagens, a saber: uma primeira classe de imagem de imagens que têm uma aparência sintética, uma segunda classe de imagem de imagens aproximadas, uma terceira classe de imagem de imagens tiradas ao ar
Petição 870170009199, de 10/02/2017, pág. 40/69
36/57 livre, e uma quarta classe de imagem de imagens que retratam água. O módulo de avaliação de classificação de imagens 206, durante uma fase de avaliação, forneceu o grupo de imagens não classificadas 902 para o classificador 208 que foi treinado para comparar atributos visuais do grupo de imagens não classificadas 902 com modelos de padrão visual associados às quatro classes de imagens. As saídas do classificador 208 corresponderam às quatro classes de imagens que o classificador 208 foi treinado a reconhecer. De maneira mais específica, o classificador 208 produziu o primeiro grupo de imagens classificadas 904, que corresponde à primeira classe de imagem; o segundo grupo de imagens classificadas 906, que corresponde à segunda classe de imagem; o terceiro grupo de imagens classificadas 908, que corresponde à terceira classe de imagem; e o quarto grupo de imagens classificadas 910, que corresponde à quarta classe de imagem.
[091 ]A Figura 10 mostra um exemplo de uma visualização 1000 de uma classificação de filtro de imagem gerada contextual mente de um grupo de imagens pelo módulo de classificação de imagens 104, de acordo com algumas modalidades. A visualização 1000 inclui um grupo de imagens não classificadas 1002 e um grupo de imagens classificadas 1004. O grupo de imagens não classificadas 1002 pode representar uma porção de imagens não classificadas em um sistema de rede social. Um conjunto de imagens de amostra foi associado às marcações e outras indicações contextuais. Com base em suas indicações contextuais, cada imagem do conjunto de imagens de amostra foi marcada com base em sua correlação com uma classe de imagem de interesse. Nesse exemplo, cat é a classe de imagem de interesse. As imagens do conjunto de imagens de amostra foram, então, classificadas com base em suas marcações. Nesse exemplo, as 200 imagens de classificação mais alta do conjunto de imagens de amostra foram designadas como um conjunto de imagens de treinamento. O conjunto de imagens de treinamento foi, então, aplicado para treinar um classificador a reconhecer padrões visuais comuns
Petição 870170009199, de 10/02/2017, pág. 41/69
37/57 retratados nas imagens. Modelos de padrão visual foram gerados com base no conjunto de treinamento e associados à classe de imagem cat. O grupo de imagens não classificadas 1002 foi empregado como um conjunto de imagens de avaliação. O conjunto de imagens de avaliação foi aplicado ao classificador para marcar sua correlação com os modelos de padrão visual associados à classe de imagem cat. As marcações do conjunto de imagens de avaliação foram classificadas, e as imagens de classificação mais alta a partir do conjunto de imagens de avaliação foram selecionadas como o grupo de imagens classificadas 1004.
SISTEMA DE REDE SOCIAL—IMPLANTAÇÃO DE EXEMPLO [092]A Figura 11 é um diagrama de rede de um sistema de rede social exemplificative 1100 no qual implementar o sistema de classificação de imagens contextuais 102, de acordo com algumas modalidades. O sistema de rede social 1100 inclui um ou mais dispositivos de usuário 1110, um ou mais sistemas externos 1120, um sistema de rede social 1130 e uma rede 1150. Em uma modalidade, o sistema de rede social discutido em conexão com as modalidades descritas acima pode ser implantado como o sistema de rede social 1130. Para propósitos de ilustração, a modalidade do sistema de rede social 1100, mostrada pela Figura 11, inclui um único sistema externo 1120 e um único dispositivo de usuário 1110. Entretanto, em outras modalidades, o sistema de rede social 1100 pode incluir mais dispositivos de usuário 1110 e/ou mais sistemas externos 1120. Em determinadas modalidades, o sistema de rede social 1130 é operado por um provedor de sistema de rede social, por meio do qual os sistemas externos 1120 são separados do sistema de rede social 1130 pelo fato de que os mesmos podem ser operados por entidades diferentes. Em várias modalidades, entretanto, o sistema de rede social 1130 e os sistemas externos 1120 operam em conjunto para fornecer serviços de rede social aos usuários (ou membros) do sistema de rede social 1130. Nesse
Petição 870170009199, de 10/02/2017, pág. 42/69
38/57 sentido, o sistema de rede social 1130 fornece uma plataforma ou suporte principal, que outros sistemas, tais como sistemas externos 1120, podem usar para fornecer serviços e funcionalidades de rede social para os usuários através da Internet.
[093]O dispositivo de usuário 1110 compreende um ou mais dispositivos de computação que podem receber entrada a partir de um usuário e transmitir e receber dados através da rede 1150. Em uma modalidade, o dispositivo de usuário 1110 é um sistema de computador convencional que executa, por exemplo, um sistema operacional compatível com Microsoft Windows (OS), Apple OS X, e/ou um distribuição Linux. Em outra modalidade, o dispositivo de usuário 1110 pode ser um dispositivo que tem funcionalidade de computador, tal como um telefone inteligente, um computador tipo tablet, um assistente digital pessoal (PDA), um telefone celular, etc. O dispositivo de usuário 1110 é configurado para se comunicar através da rede 1150. O dispositivo de usuário 1110 pode executar um aplicativo, por exemplo, um aplicativo de navegação que permite que um usuário do dispositivo de usuário 1110 interaja com o sistema de rede social 1130. Em outra modalidade, o dispositivo de usuário 1110 interage com o sistema de rede social 1130 através de uma interface de programação de aplicativo (API) fornecida pelo sistema operacional nativo do dispositivo de usuário 1110, tal como iOS e ANDROID. O dispositivo de usuário 1110 é configurado para se comunicar com o sistema externo 1120 e o sistema de rede social 1130 através da rede 1150, que pode compreender qualquer combinação de redes locais e/ou de longa distância, com o uso de sistemas de comunicação com fio e/ou sem fio.
[094]Em uma modalidade, a rede 1150 usa tecnologias e protocolos de comunicações padrão. Desse modo, a rede 1150 pode incluir links que usam tecnologias, tais como Ethernet, 802.11, interoperabilidade mundial para acesso por micro-ondas (WiMAX), 3G, 4G, CDMA, GSM, LTE, linha de assinatura digital (DSL), etc. De maneira similar, os protocolos de rede usados na rede 1150 podem incluir
Petição 870170009199, de 10/02/2017, pág. 43/69
39/57 comutação de rótulos multiprotocolo (MPLS), protocolo de controle de transmissão/protocolo de Internet (TCP/IP), Protocolo de Datagrama de Usuário (UDP), protocolo de transporte de hipertexto (HTTP), protocolo de transferência de correio simples(SMTP), protocolo de transferência de arquivo (FTP), e similares. Os dados trocados através da rede 1150 podem ser representados com o uso de tecnologias e/ou formatos que incluem linguagem de marcação de hipertexto (HTML) e linguagem de marcação extensível (XML). Além disso, todos os alguns links podem ser criptografados com o uso de tecnologias de criptografia convencionais, tais como camada de soquetes segura (SSL), segurança de camada de transporte (TLS), e segurança de Protocolo de Internet (IPsec).
[095]Em uma modalidade, o dispositivo de usuário 1110 pode exibir conteúdo a partir do sistema externo 1120 e/ou a partir do sistema de rede social 1130 processando-se um documento de linguagem de marcação 1114 recebido a partir do sistema externo 1120 e a partir do sistema de rede social 1130 com o uso de um aplicativo de navegação 1112. O documento de linguagem de marcação 1114 identifica conteúdo e uma ou mais instruções que descrevem a formatação ou apresentação do conteúdo. Executando-se as instruções incluídas no documento de linguagem de marcação 1114, o aplicativo de navegação 1112 exibe o conteúdo identificado com o uso do formato ou apresentação descrita pelo documento de linguagem de marcação 1114. Por exemplo, o documento de linguagem de marcação 1114 inclui instruções para gerar e exibir uma página da web que tem múltiplos quadros que incluem dados de texto e/ou imagem recuperados a partir do sistema externo 1120 e do sistema de rede social 1130. Em várias modalidades, o documento de linguagem de marcação 1114 compreende um arquivo de dados que inclui dados de linguagem de marcação extensível (XML), dados de linguagem de marcação de hipertexto extensível (XHTML) ou outros dados de linguagem de marcação. De maneira adicional, o documento de linguagem de marcação 1114
Petição 870170009199, de 10/02/2017, pág. 44/69
40/57 pode incluir dados de Notação de Objetos JavaScript (JSON), JSON com padding (JSONP) e dados JavaScript para facilitar o intercâmbio de dados entre o sistema externo 1120 e o dispositivo de usuário 1110. O aplicativo de navegação 1112 no dispositivo de usuário 1110 pode usar um compilador JavaScript para decodificar o documento de linguagem de marcação 1114.
[096]O documento de linguagem de marcação 1114 também pode incluir ou se vincular a, aplicativos ou estruturas de aplicativo, tais como aplicativos FLASHTM ou UnityTM, a estrutura de aplicativo SilverLightTM, etc.
[097]Em uma modalidade, o dispositivo de usuário 1110 também inclui um ou mais cookies 1116 que incluem dados que indicam se um usuário do dispositivo de usuário 1110 está registrado no sistema de rede social 1130, que pode permitir a modificação dos dados comunicados a partir do sistema de rede social 1130 para o dispositivo de usuário 1110.
[098]O sistema externo 1120 inclui um ou mais servidores da web que incluem uma ou mais páginas da web 1122a, 1122b, que são comunicadas para o dispositivo de usuário 1110 com o uso da rede 1150. O sistema externo 1120 é separado do sistema de rede social 1130. Por exemplo, o sistema externo 1120 é associado a um primeiro domínio, enquanto o sistema de rede social 1130 é associado a um domínio de rede social separado. As páginas da web 1122a, 1122b, incluídas no sistema externo 1120, compreendem documentos de linguagem de marcação 1114 que identificam conteúdo e que incluem instruções que especificam a formatação u apresentação do conteúdo identificado.
[099]O sistema de rede social 1130 inclui um ou mais dispositivos de computação para um sistema de rede social, que inclui uma pluralidade de usuários, e dota os usuários do sistema de rede social da capacidade para se comunicar e interagir com outros usuários do sistema de rede social. Em alguns casos, o sistema de rede social pode ser representado por um gráfico, isto é, uma estrutura de dados
Petição 870170009199, de 10/02/2017, pág. 45/69
41/57 que inclui bordas e nós. Outras estruturas de dados também podem ser usadas para representar o sistema de rede social, que incluem, porém, não se limitam a bancos de dados, objetos, classes, metaelementos, arquivos, ou qualquer outra estrutura de dados. O sistema de rede social 1130 pode ser administrado, gerenciado ou controlado por um operador. O operador do sistema de rede social 1130 pode ser um ser humano, um aplicativo automatizado, ou uma série de aplicativos para gerenciar conteúdo, regular políticas e coletar métricas de uso dentro do sistema de rede social 1130. Qualquer tipo de operador pode ser usado.
[0100]Usuários podem se associar ao sistema de rede social 1130 e, então, adicionar conexões a qualquer número de outros usuários do sistema de rede social 1130 a quem os mesmos desejam estar conectados. Conforme usado no presente documento, o termo amigo se refere a qualquer outro usuário do sistema de rede social 1130 com quem um usuário formou uma conexão, associação ou relacionamento através do sistema de rede social 1130. Por exemplo, em uma modalidade, se os usuários no sistema de rede social 1130 forem representados como nós no gráfico social, o termo amigo pode se referir a uma borda formada entre e que conecta diretamente dois nós de usuário.
[0101]As conexões podem ser adicionadas explicitamente por um usuário ou podem ser automaticamente criadas pelo sistema de rede social 1130 com base nas características comuns dos usuários (por exemplo, usuários que são alunos da mesma instituição educacional). Por exemplo, um primeiro usuário seleciona especificamente um outro usuário particular para ser um amigo. As conexões no sistema de rede social 1130 são geralmente em ambas direções, mas, não precisam ser, então, os termos usuário e amigo dependem do quadro de referência. As conexões entre usuários do sistema de rede social 1130 são geralmente bilaterais (bidirecionais) ou mútuas”, mas, as conexões também podem ser unilaterais ou unidirecionais. Por exemplo, se tanto Bob quanto Joe são usuários do sistema de
Petição 870170009199, de 10/02/2017, pág. 46/69
42/57 rede social 1130 e conectados um ao outre, Bob e Joe são conexões um do outro. Se, por outro lado, Bob deseja se conectar a Joe para visualizar os dados comunicados para o sistema de rede social 1130 por Joe, mas, Joe não deseja formar uma conexão mútua, uma conexão unilateral pode ser estabelecida. A conexão entre usuários pode ser uma conexão direta; entretanto, algumas modalidades do sistema de rede social 1130 permitem que a conexão seja indireta através de um ou mais níveis de conexões ou graus de separação.
[0102]Além de estabelecer e manter conexões entre usuários e permitir interações entre usuários, o sistema de rede social 1130 dota os usuários com a capacidade de tomar ações em diversos tipos de itens suportados pelo sistema de rede social 1130. Esses itens podem incluir grupos ou redes (isto é, redes sociais de pessoas, entidades e conceitos) ais quais os usuários do sistema de rede social 1130 podem pertencer, eventos ou entradas de calendário nos quais um usuário pode estar interessado, aplicativos baseados em computador que um usuário pode usar através do sistema de rede social 1130, transações que permitem que usuários comprem ou vendam itens através de serviços fornecidos por ou através do sistema de rede social 1130, e interações com anúncios que um usuário pode realizar no e fora sistema de rede social 1130. Existem apenas alguns exemplos dos itens mediante os quais um usuário pode atuar no sistema de rede social 1130, e muitos outros são possíveis. Um usuário pode interagir com tudo que tenha capacidade para ser representado no sistema de rede social 1130 ou no sistema externo 1120, separado do sistema de rede social 1130 ou acoplado ao sistema de rede social 1130 através da rede 1150.
[0103]O sistema de rede social 1130 também tem capacidade para vincular uma variedade de entidades. Por exemplo, o sistema de rede social 1130 permite que os usuários interajam entre si, assim como sistemas externos 1120 ou outras entidades através de uma API, um serviço da web, ou outros canais de
Petição 870170009199, de 10/02/2017, pág. 47/69
43/57 comunicação. O sistema de rede social 1130 gera e mantém o gráfico social que compreende uma pluralidade de nós interconectados por uma pluralidade de bordas. Cada nó o gráfico social pode representar uma entidade que pode atuar em outro nó e/ou que pode ser atuado por outro nó. O gráfico social pode incluir vários tipos de nós. Os exemplos de tipos de nós incluem usuários, entidades não pessoais, itens de conteúdo, páginas da web, grupos, atividades, mensagens, conceitos, e quaisquer outras coisas que possam ser representadas por um objeto no sistema de rede social 1130. Uma borda entre dois nós no gráfico social pode representar um tipo particular de conexão ou associação entre os dois nós, que pode resultar das relações de nó ou de uma ação que foi realizada por um dos nós no outro nó. Em alguns casos, as bordas entre nós podem ser ponderadas. O peso de uma borda pode representar um atributo associado à borda, tal como uma intensidade da conexão ou associação entre nós. Diferentes tipos de bordas podem ser dotados de pesos diferente. Por exemplo, a uma borda criada quando um usuário curte outro usuário pode ser fornecido um peso ou, enquanto que a uma borda criada quando um usuário faz amizade com outro usuário pode ser fornecido um peso diferente.
[0104]Como um exemplo, quando um primeiro usuário identifica um segundo usuário como um amigo, é gerada uma borda no gráfico social que conecta um nó que representa o primeiro usuário e um segundo nó que representa o segundo usuário. À medida que vários nós se relacionam ou interagem entre si, o sistema de rede social 1130 modifica as bordas que conectam os vários nós para refletir as relações e interações.
[0105]O sistema de rede social 1130 também inclui conteúdo gerado por usuário, que aprimora as interações de um usuário com o sistema de rede social 1130. O conteúdo gerado por usuário pode incluir qualquer coisa que um usuário possa adicionar, transferir por upload, enviar ou postar no sistema de rede social 1130. Por exemplo, um usuário comunica postagens para o sistema de rede social
Petição 870170009199, de 10/02/2017, pág. 48/69
44/57
1130 a partir de um dispositivo de usuário 1110. As postagens podem incluir dados, tais como atualizações de status ou outros dados de texto, informações de localização, imagens, tais como fotos, vídeos, links, música ou outros dados e/ou mídia similares. Conteúdo também pode ser adicionado ao sistema de rede social 1130 por terceiros. Os itens de conteúdo são representados como objetos no sistema de rede social 1130. Desse modo, os usuários do sistema de rede social 1130 são encorajados a se comunicar uns com os outros postando-se itens de texto e conteúdo de diversos tipos de mídia através de diversos canais de comunicação. Tal comunicação aumenta a interação de usuários uns com os outros e aumenta a frequência com que os usuários interagem com o sistema de rede social 1130.
[0106]O sistema de rede social 1130 inclui um servidor da web 1132, um servidor de solicitação de API 1134, um armazenamento de perfil de usuário 1136, um armazenamento de conexão 1138, um agente de ação 1140, um registro de atividades 1142, um servidor de autorização 1144, um módulo de classificação de imagens 1146, e um módulo de aplicação de imagens 1148. Em uma modalidade, o sistema de rede social 1130 pode incluir componentes adicionais, menos componentes ou componentes diferentes para diversas aplicações. Outros componentes, tais como interfaces de rede, mecanismos de segurança, balanceadores de carga, servidores de failover, consoles de operações de gerenciamento e rede, e similares, não são mostrados a fim de não obscurecer os detalhes do sistema.
[0107]O armazenamento de perfil de usuário 1136 mantém informações sobre contas de usuário, que incluem informações biográficas, demográficas e outros tipos de informações descritivas, tais como experiência de trabalho, histórico educacional, passatempos ou preferências, localização, e similares que foram declarados pelos usuários ou inferidos pelo sistema de rede social 1130. Essas informações são armazenadas no armazenamento de perfil de usuário 1136 de
Petição 870170009199, de 10/02/2017, pág. 49/69
45/57 modo que cada usuário seja exclusivamente identificado. O sistema de rede social 1130 também armazena dados que descrevem uma ou mais conexões entre diferentes usuários no armazenamento de conexão 1138. As informações de conexão podem indicar usuários que têm experiências de trabalho, membros de grupo, passatempos ou históricos educacionais similares ou em comum. De maneira adicional, o sistema de rede social 1130 inclui conexões definidas por usuário entre diferentes usuários, que permitem que os usuários especifiquem suas relações com outros usuários. Por exemplo, as conexões definidas por usuário permitem que os usuários gerem relações com outros usuários que sejam paralelas às relações da vida real dos usuários, tais como amigos, colegas de trabalho, parceiros, e assim por diante. Os usuários podem selecionar a partir de tipos de conexões predefinidos ou definir seus próprios tipos de conexão conforme necessário. As conexões com outros nós no sistema de rede social 1130, tais como entidades não pessoais, buckets, centros de grupos, imagens, interesses, páginas, sistemas externos, conceitos e similares, também são armazenadas no armazenamento de conexão 1138.
[0108]0 sistema de rede social 1130 mantém dados sobre objetos com os quais um usuário pode interagir. Para manter esses dados, o armazenamento de perfil de usuário 1136 e o armazenamento de conexão 1138 armazenam instâncias do tipo de objetos correspondentes mantidos pelo sistema de rede social 1130. Cada tipo de objeto tem campos de informações que são adequados para armazenar informações adequadas ao tipo de objeto. Por exemplo, o armazenamento de perfil de usuário 1136 contém estruturas de dados com campos adequados para descrever uma conta do usuário informações relacionadas a uma conta do usuário. Quando um novo objeto de um tipo particular é criado, o sistema de rede social 1130 inicializa uma nova estrutura de dados do topo correspondente, atribui um identificador de objeto exclusivo ao mesmo, e começa a adicionar dados ao objeto
Petição 870170009199, de 10/02/2017, pág. 50/69
46/57 conforme necessário. Isso pode ocorrer, por exemplo, quando um usuário se torna um usuário do sistema de rede social 1130, o sistema de rede social 1130 gera uma nova instância de um perfil de usuário no armazenamento de perfil de usuário 1136, atribui um identificador à conta de usuário, e começa a preencher os campos da conta de usuário com informações fornecidas pelo usuário.
[0109]O armazenamento de conexão 1138 inclui estruturas de dados adequadas para descrever as conexões de um usuário com outros usuários, conexões com os sistemas externos 1120 ou conexões com outras entidades. O armazenamento de conexão 1138 também pode associar um tipo de conexão às conexões de um usuário, que podem ser usadas em conjunto com a configuração de privacidade do usuário para regular o acesso às informações sobre o usuário. Em uma modalidade, o armazenamento de perfil de usuário 1136 e o armazenamento de conexão 1138 podem ser implantados como um banco de dados federado.
[0110]Os dados armazenados no armazenamento de conexão 1138, o armazenamento de perfil de usuário 1136, e o registro de atividades 1142 permite que o sistema de rede social 1130 gere o gráfico social que usa nós para identificar vários objetos e bordas que conectam nós para identificar relações entre objetos diferentes. Por exemplo, se um primeiro usuário estabelece uma conexão com um segundo usuário no sistema de rede social 1130, as contas de usuário do primeiro usuário e do segundo usuário a partir do armazenamento de perfil de usuário 1136 podem atuar como nós no gráfico social. A conexão entre o primeiro usuário e o segundo usuário armazenados pelo armazenamento de conexão 1138 é uma borda entre os nós associados ao primeiro usuário e ao segundo usuário. Continuando esse exemplo, o segundo usuário pode, então, enviar ao primeiro usuário uma mensagem dentro do sistema de rede social 1130. A ação de enviar a mensagem, que pode ser armazenada, é outra borda entre os dois nós no gráfico social que representa o primeiro usuário e o segundo usuário. De maneira adicional, a própria
Petição 870170009199, de 10/02/2017, pág. 51/69
47/57 mensagem pode ser identificada e incluída no gráfico social como outro nó conectado aos nós que representam o primeiro usuário e o segundo usuário.
[0111]Em outro exemplo, um primeiro usuário pode marcar um segundo usuário em uma imagem que é mantida pelo sistema de rede social 1130 (ou, de maneira alternativa, em uma imagem mantida por outro sistema fora do sistema de rede social 1130). A própria imagem pode ser representada como um nó no sistema de rede social 1130. Essa ação de marcação pode criar bordas entre o primeiro usuário e o segundo usuário, assim como criar uma borda entre cada um dentre os usuários e a imagem, que também é um nó no gráfico social. Em ainda outro exemplo, se um usuário confirma presença em um evento, o usuário e o evento são os nós obtidos a partir do armazenamento de perfil de usuário 1136, em que a participação no evento é uma borda entre os nós que podem ser recuperados a partir do registro de atividades 1142. Através da geração e manutenção do gráfico social, o sistema de rede social 1130 inclui dados que descrevem muitos tipos de objetos diferentes e as interações e conexões entre esses objetos, fornecendo uma fonte rica de informações socialmente relevantes.
[0112]O servidor da web 1132 vincula o sistema de rede social 1130 a um ou mais dispositivos de usuário 1110 e/ou um ou mais sistemas externos 1120 através da rede 1150. O servidor da web 1132 serve páginas da web, assim como outro conteúdo relacionado com a web, tal como Java, JavaScript, Flash, XML, e assim por diante. O servidor da web 1132 pode incluir um servidor de e-mail ou outra funcionalidade de mensagem para receber e rotear mensagens entre o sistema de rede social 1130 e um ou mais dispositivos de usuário 1110. As mensagens podem ser mensagens instantâneas, mensagens em fila (por exemplo, e-mail), mensagens de texto e SMS ou qualquer outro formato de mensagem adequado.
[0113]O servidor de solicitação de API 1134 permite que um ou mais sistemas externos 1120 e dispositivos de usuário 1110 chame informações de
Petição 870170009199, de 10/02/2017, pág. 52/69
48/57 acesso a partir do sistema de rede social 1130 chamando-se uma ou mais funções de API. O servidor de solicitação de API 1134 também pode permitir que sistemas externos 1120 envie informações para o sistema de rede social 1130 chamando-se as APIs. O sistema externo 1120, em uma modalidade, envia uma solicitação de API para o sistema de rede social 1130 através da rede 1150, e o servidor de solicitação de API 1134 recebe a solicitação de API. O servidor de solicitação de API 1134 processa a solicitação chamando-se uma API associada à solicitação de API para gerar uma resposta adequada, que o servidor de solicitação de API 1134 comunica para o sistema externo 1120 através da rede 1150. Por exemplo, em resposta a uma solicitação de API, o servidor de solicitação de API 1134 coleta dados associados a um usuário, tais como conexões do usuário que foram registradas no sistema externo 1120, e comunica os dados coletados para o sistema externo 1120. Em outra modalidade, o dispositivo de usuário 1110 se comunica com o sistema de rede social 1130 através das APIs da mesma maneira que os sistemas externos 1120.
[0114]O agente de ação 1140 tem capacidade para receber comunicações a partir do servidor da web 1132 sobre as ações de usuário dentro e/ou fora do sistema de rede social 1130. O agente de ação 1140 preenche o registro de atividades 1142 com informações sobre as ações de usuário, permitindo que o sistema de rede social 1130 constate várias ações tomadas por seus usuários dentro do sistema de rede social 1130 e fora do sistema de rede social 1130. Qualquer ação que um usuário particular adote em relação a outro nó no sistema de rede social 1130 pode ser associada à conta de cada usuário, através de informações mantidas no registro de atividades 1142 ou em um banco de dados similar ou outro repositório de dados. Os exemplos de ações tomadas por um usuário dentro do sistema de rede social 1130 que são identificadas e armazenadas podem incluir, por exemplo, adicionar uma conexão a outro usuário, enviar uma mensagem para outro usuário, ler uma mensagem de outro usuário, visualizar conteúdo associado a outro usuário,
Petição 870170009199, de 10/02/2017, pág. 53/69
49/57 comparecer a um evento postado por outro usuário, postar uma imagem, tenra postar uma imagem ou outras ações que interagem com outro usuário ou outro objeto. Quando um usuário toma uma ação dentro do sistema de rede social 1130, a ação é registrada no registro de atividades 1142. Em uma modalidade, o sistema de rede social 1130 mantém o registro de atividades 1142 como um banco de dados de entradas. Quando uma ação é tomada dentro do sistema de rede social 1130, uma entrada para a ação é adicionada ao registro de atividades 1142. O registro de atividades 1142 pode ser referido como um registro de ação.
[0115]De maneira adicional, as ações de usuário podem ser associadas aos conceitos e ações que podem ocorrer dentro de uma entidade fora do sistema de rede social 1130, tal como um sistema externo 1120 que é separado do sistema de rede social 1130. Por exemplo, o agente de ação 1140 pode receber dados que descrevem a interação de um usuário com um sistema externo 1120 do servidor da web 1132. Nesse exemplo, o sistema externo 1120 relata a interação de um usuário de acordo com ações e objetos estruturados no gráfico social.
[0116]Outros exemplos de ações em que um usuário interage com um sistema externo 1120 incluem um usuário que expressa um interesse em um sistema externo 1120 ou outra entidade, um usuário que posta um comentário no sistema de rede social 1130 que discute um sistema externo 1120 ou uma página da web 1122a dentro do sistema externo 1120, um usuário que posta no sistema de rede social 1130 um Localizador Uniforme de Recursos (URL) ou outro identificador associado a um sistema externo 1120, um usuário que comparece a um evento associado a um sistema externo 1120, ou qualquer outra ação por um usuário que é relacionado a um sistema externo 1120. Desse modo, o registro de atividades 1142 pode incluir ações que descrevem interações entre um usuário do sistema de rede social 1130 e um sistema externo 1120 que é separado do sistema de rede social 1130.
[0117]O servidor de autorização 1144 impõe uma ou mais configurações de
Petição 870170009199, de 10/02/2017, pág. 54/69
50/57 privacidade dos usuários do sistema de rede social 1130. Uma configuração de privacidade de um usuário determina como informações particulares associadas a um usuário podem ser compartilhadas. A configuração de privacidade compreende a especificação de informações particulares associadas a um usuário e a especificação da entidade ou entidades com as quais as informações podem ser compartilhadas. Os exemplos de entidades com as quais as informações podem ser compartilhadas podem incluir outros usuários, aplicativos, sistemas externos 1120, ou qualquer entidade que possa acessar potencialmente as informações. As informações que podem ser compartilhadas por um usuário compreendem informações de conta de usuário, tais como fotos de perfil, números de telefone associados ao usuário, conexões do usuário, ações tomadas pelo usuário, tais como adicionar uma conexão, mudar informações de perfil de usuário, e similares.
[0118]A especificação de configuração de privacidade pode ser fornecida em diferentes níveis de granularidade. Por exemplo, a configuração de privacidade pode identificar informações específicas para serem compartilhadas com outros usuários; a configuração de privacidade identifica um número de telefone de trabalho ou um conjunto de informações relacionadas específicas, tais como, informações pessoais que incluem foto de perfil, número de telefone residencial e status. De maneira alternativa, a configuração de privacidade pode se aplicar a todas as informações associadas ao usuário. A especificação do conjunto de entidades que pode acessar informações particular também pode ser especificada em vários níveis de granularidade. Vários conjuntos de entidades com os quais as informações podem ser compartilhadas podem incluir, por exemplo, todos os amigos do usuário, todos os amigos de amigos, os todos aplicativos ou todos os sistemas externos 1120. Uma modalidade permite que a especificação do conjunto de entidades compreende uma enumeração de entidades. Por exemplo, o usuário pode fornecer uma lista de sistemas externos 1120 que são permitidos a acessar determinadas informações.
Petição 870170009199, de 10/02/2017, pág. 55/69
51/57
Outra modalidade permite que a especificação compreenda um conjunto de entidades junto com exceções que não são permitidas a acessar as informações. Por exemplo, um usuário pode permitir que todos os sistemas externos 1120 acessem as informações de trabalho do usuário, porém, especifiquem uma lista de sistemas externos 1120 que não são permitidos a acessar as informações de trabalho. Determinadas modalidades chamam a lista de exceções que não são permitir acessar determinadas informações de uma lista de bloqueio. Os sistemas externos 1120 que pertencem a uma lista de bloqueio especificada por um usuário são impedidos de acessar as informações especificadas na configuração de privacidade. Várias combinações de granularidade de especificação de informações, e granularidade de especificação de entidades, com as quais as informações compartilhadas são possíveis. Por exemplo, todas as informações pessoais podem ser compartilhadas com amigos, considerando que todas as informações de trabalho possam ser compartilhadas com amigos de amigos.
[0119]O servidor de autorização 1144 contém lógica para determinar se determinadas informações associadas a um usuário podem ser acessadas por amigos de um usuário, sistemas externos 1120 e/ou outros aplicativos e entidades. O sistema externo 1120 pode precisar de autorização do servidor de autorização 1144 para acessar as informações mais privadas e sensíveis do usuário, tal como o número de telefone de trabalho do usuário. Com base nas configurações de privacidade do usuário, o servidor de autorização 1144 determina se outro usuário, o sistema externo 1120, um aplicativo ou outra entidade é permitido a acessar as informações associadas ao usuário, incluindo informações sobre ações tomadas pelo usuário.
[0120]No exemplo da Figura 11, o sistema de rede social 1130 pode incluir o módulo de classificação de imagens 1146 e o módulo de aplicação de imagens 1148, conforme descrito em mais detalhes no presente documento. Em uma modalidade, o
Petição 870170009199, de 10/02/2017, pág. 56/69
52/57 módulo de classificação de imagens 1146 pode coletar indicações contextuais para um conjunto de imagens de amostra e usar as indicações contextuais para gerar um conjunto de imagens de treinamento. O conjunto de imagens de treinamento pode ser usado para treinar um classificador para gerar modelos de padrão visual de uma classe de imagem. O classificador pode marcar um conjunto de imagens de avaliação com base na correlação com os modelos de padrão visual. As imagens de marcação mais alta do conjunto de imagens de avaliação podem ser consideradas na maioria das vezes estreitamente relacionadas com a classe de imagem. Em uma modalidade, o módulo de classificação de imagens 1146 pode ser implantado como o módulo de classificação de imagens 104. O módulo de aplicação de imagens 1148 pode fazer interface com outros aplicativos para permitir a pesquisa de imagens classificadas. Em uma modalidade, o módulo de aplicação de imagens 1148 pode ser implantado como o módulo de aplicação de imagens 106.
IMPLANTAÇÃO DE HARDWARE [0121]Os processos e recursos anteriores podem ser implantados por uma ampla variedade de arquiteturas de máquina e sistema de computador e em uma ampla variedade de ambientes de rede e computação. A Figura 12 ilustra um exemplo de um sistema de computador 1200 que pode ser usado para implantar uma ou mais das modalidades descritas no presente documento, de acordo com uma modalidade. O sistema de computador 1200 inclui conjuntos de instruções para fazer com que o sistema de computador 1200 realize os processos e recursos discutidos no presente documento. O sistema de computador 1200 pode ser conectado (por exemplo, em rede) a outras máquinas. Em uma implantação em rede, o sistema de computador 1200 pode operar na capacidade de uma máquina de servidor ou uma máquina de cliente em um ambiente de rede de cliente-servidor, ou como uma máquina de rede em um ambiente de rede ponto a ponto (ou distribuído). Em uma modalidade, o sistema de computador 1200 pode ser o sistema
Petição 870170009199, de 10/02/2017, pág. 57/69
53/57 de rede social 1130, o dispositivo de usuário 1110 e o sistema externo 1120 ou um componente dos mesmos. Em uma modalidade, o sistema de computador 1200 pode ser um servidor entre muitos que constituem todo ou parte do sistema de rede social 1130.
[0122]O sistema de computador 1200 inclui um processador 1202, um cache 1204, e um ou mais módulos e drivers executáveis, armazenados em um meio legível por computador, direcionados aos processos e recursos descritos no presente documento. De maneira adicional, o sistema de computador 1200 inclui um barramento de entrada/saída (I/O) de alto desempenho 1206 e um barramento de I/O padrão 1212. Uma ponte de host 1210 acopla o processador 1202 ao barramento de I/O de alto desempenho 1206, considerando que a ponte de barramento de I/O 1212 acople os dois barramentos 1206 e 1212 um ao outro. Uma memória de sistema 1214 e uma interface de rede 1216 se acoplam ao barramento de I/O de alto desempenho 1206. O sistema de computador 1200 pode incluir adicionalmente memória de vídeo e um dispositivo de exibição acoplado à memória de vídeo (não mostrada). O armazenamento em massa 1218 e as portas de I/O 1220 se acoplam ao barramento de I/O padrão 1212. O sistema de computador 1200 pode incluir opcionalmente um teclado e dispositivo apontador, um dispositivo de exibição ou outros dispositivos de entrada/saída (não mostrados) acoplados ao barramento de I/O padrão 1212. De maneira coletiva, esses elementos se destinam a representar uma ampla categoria de sistemas de hardware de computador, que incluem, mas, não se limitam a sistemas de computador baseados nos processadores compatíveis com x 126 fabricados junto a Intel Corporation de Santa Clara, Califórnia, e os processadores compatíveis com x 126 fabricados junto a Advanced Micro Devices (AMD), Inc., de Sunnyvale, Califórnia, assim como qualquer outro processador adequado.
[0123]Um sistema operacional gerencia e controla a operação do sistema de
Petição 870170009199, de 10/02/2017, pág. 58/69
54/57 computador 1200, incluindo a entrada e saída de dados para e a partir de aplicativos de software (não mostrados). O sistema operacional fornece uma interface entre os aplicativos de software que são executados no sistema e os componentes de hardware do sistema. Qualquer sistema operacional adequado pode ser usado, tal como o Sistema Operacional LINUX, o Sistema Operacional Apple Macintosh, disponível junto a Apple Computer Inc. de Cupertino, Califórnia, sistemas operacionais UNIX, sistemas operacionais Microsoft® Windows®, sistemas operacionais BSD, e similares. Outras implantações são possíveis.
[0124]Os elementos do sistema de computador 1200 são descritos em maiores detalhes abaixo. Em particular, a interface de rede 1216 fornece comunicação entre o sistema de computador 1200 e qualquer uma dentre uma ampla faixa de redes, tal como uma rede Ethernet (por exemplo, IEEE 1202.3), um backplane, etc. O armazenamento em massa 1218 fornece armazenamento permanente para as instruções de dados e programação para realizar os processos e recursos descritos acima implementados pelos respectivos sistemas de computação identificados acima, considerando que a memória de sistema 1214 (por exemplo, DRAM) forneça armazenamento temporário para as instruções de dados e programação quando executadas pelo processador 1202. As portas de I/O 1220 podem ser uma ou mais portas de comunicação seriais e/ou paralelas que fornecem comunicação entre dispositivos periféricos adicionais, que podem ser acoplados ao sistema de computador 1200.
[0125]O sistema de computador 1200 pode incluir uma variedade de arquiteturas de sistema, e vários componentes do sistema de computador 1200 podem ser rearranjados. Por exemplo, o cache 1204 pode estar no chip com o processador 1202. De maneira alternativa, o cache 1204 e o processador 1202 podem ser empacotados em conjunto como um módulo de processador, sendo que o processador 1202 é referido como o núcleo de processador. Além disso,
Petição 870170009199, de 10/02/2017, pág. 59/69
55/57 determinadas modalidades podem não exigir nem incluir todos os componentes acima. Por exemplo, dispositivos periféricos acoplados ao barramento de I/O padrão 1212 podem se acoplar ao barramento de I/O de alto desempenho 1206. Além disso, em algumas modalidades, pode existir apenas um único, sendo que os componentes do sistema de computador 1200 são acoplados ao único barramento. Além disso, o sistema de computador 1200 pode incluir componentes adicionais, tais como processadores, dispositivos de armazenamento ou memórias adicionais.
[0126]Em geral, os processos e recursos descritos no presente documento podem ser implantados como parte de um sistema operacional ou uma aplicação específica, componente, programa, objeto, módulo ou série de instruções referidas como programas. Por exemplo, um ou mais programas podem ser usados para executar processos específicos descritos no presente documento. Os programas compreendem tipicamente uma ou mais instruções em vários dispositivos de memória e armazenamento no sistema de computador 1200 que, quando lidas e executadas por um ou mais processadores, fazem com que o sistema de computador 1200 realize operações para executar os processos e recursos descritos no presente documento. Os processos e recursos descritos no presente documento podem ser implantados em software, firmware, hardware (por exemplo, um circuito integrado de aplicação específica) ou qualquer combinação dos mesmos [0127]Em uma implantação, os processos e recursos descritos no presente documento são implementados como uma série de módulos executáveis executados por meio do sistema de computador 1200, de maneira individual ou coletiva em um ambiente de computação distribuído. Os módulos anteriores podem ser realizados por hardware, módulos executáveis armazenados em um meio legível por computador (ou meio legível por máquina), ou uma combinação de ambos. Por exemplo, os módulos podem compreender uma pluralidade ou série de instruções a serem executadas por um processador em um sistema de hardware, tal como o
Petição 870170009199, de 10/02/2017, pág. 60/69
56/57 processador 1202. Inicialmente, a série de instruções pode ser armazenada em um dispositivo de armazenamento, tal como o armazenamento em massa 1218. Entretanto, a série de instruções pode ser armazenada em qualquer meio de armazenamento legível por computador adequado. Além disso, a série de instruções não precisa ser localmente armazenada, e pode ser recebida a partir de um dispositivo de armazenamento remoto, tal como um servidor em uma rede, através da interface de rede 1216. As instruções são copiadas a partir do dispositivo de armazenamento, tal como o armazenamento em massa 1218, na memória de sistema 1214 e, então, acessadas e executadas pelo processador 1202. Em diversas implantações, um módulo ou módulos podem ser executados por um a processador ou múltiplos processadores em um ou múltiplos locais, tais como múltiplos servidores em um ambiente de processamento paralelo.
[0128]Os exemplos de mídia legível por computador incluem, porém, sem limitação, mídia do tipo gravável, tais como dispositivos de memória volátil e não volátil; memórias de estado sólido; disquete e outros discos removíveis; unidades de disco rígido; mídia magnética; discos ópticos (por exemplo, Disco compacto - Memória Somente de Leitura (CD ROMS), Discos Digitais Versáteis (DVDs)); outro meio de armazenamento não transitório (ou transitório), tangível (ou não tangível) similar; ou qualquer tipo de meio adequado para armazenar, codificar ou transmitir uma série de instruções para execução por meio do sistema de computador 1200 para realizar qualquer um ou mais dos processos e recursos descritos no presente documento.
[0129]Para propósitos de explicação, inúmeros detalhes específicos são apresentados a fim de fornecer um entendimento completo da descrição. Entretanto, será evidente para alguém versado na técnica, que as modalidades da revelação podem ser praticadas sem esses detalhes específicos. Em alguns casos, módulos, estruturas, processos, recursos e dispositivos são mostrados na forma de diagrama de blocos a fim de evitar o obscurecimento da descrição. Em outros casos,
Petição 870170009199, de 10/02/2017, pág. 61/69
57/57 diagramas de blocos funcionais e diagramas de fluxo são mostrados para representar fluxos de dados e lógica. Os componentes dos diagramas de blocos e diagramas de fluxo (por exemplo, módulos, blocos, estruturas, dispositivos, recursos, etc.) podem ser combinados, separados, removidos, reordenados e substituídos de modo variado de uma maneira diferente da expressamente descrita e mostrada no presente documento.
[0130]A referência neste relatório descritivo a uma (1) modalidade, uma modalidade, algumas modalidades, várias modalidades, determinadas modalidades, outras modalidades, uma série de modalidades ou similar, significa que um recurso, desenho, estrutura ou característica particular descrito em conexão com a modalidade é incluída em pelo menos uma modalidade da revelação. Nem todas as aparências, por exemplo, da expressão em uma (1) modalidade ou em uma modalidade em vários locais no relatório descritivo necessariamente se referem à mesma modalidade, nem são modalidades separadas ou alternativas mutuamente exclusivas de outras modalidades. Além disso, quer exista referência expressa ou não a uma modalidade ou similar, vários recursos são descritos, que podem ser combinados e incluídos de maneira variada em algumas modalidades, mas, também omitidos de maneira variada em outras modalidades. De maneira similar, são descritos vários recursos que podem ser preferências ou requisitos para algumas modalidades, porém, não para outras modalidades.
[0131]A linguagem usada no presente documento foi selecionada principalmente para propósitos instrucionais e de legibilidade, e pode não ter sido selecionada para retratar ou limitar o assunto inventivo. Portanto, pretende-se que o escopo seja limitado não por esta descrição detalhada, mas, de preferência, por quaisquer reivindicações que resultam em um pedido baseado nas mesmas. Consequentemente, a revelação das modalidades se destina a ser ilustrativa, porém, não limitante do escopo que é estabelecido nas reivindicações a seguir.

Claims (20)

1 .Sistema CARACTERIZADO pelo fato de que compreende:
pelo menos um processador; e uma memória que armazena instruções configuradas para instruir o pelo menos um processador a realizar:
receber um conjunto de imagens de amostra, cada imagem no conjunto de amostras é associada a uma ou mais indicações sociais;
marcar a correlação de cada imagem no conjunto de amostras com uma classe de imagem com base nas uma ou mais indicações sociais associadas à imagem; e determinar um conjunto de imagens de treinamento para treinar um classificador a partir do conjunto de amostras com base na marcação.
2. Sistema, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que compreende adicionalmente especificar a classe de imagem.
3. Sistema, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a determinação compreende classificar cada imagem no conjunto de imagens de amostra com base na marcação.
4. Sistema, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a determinação compreende selecionar um subconjunto de marcação superior do conjunto de imagens de amostra.
5. Sistema, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que o subconjunto de marcação superior é o conjunto de imagens de treinamento.
6. Sistema, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que compreende adicionalmente treinar o classificador com base no conjunto de imagens de treinamento.
7. Sistema, de acordo com a reivindicação 1, CARACTERIZADO pelo fato
Petição 870170009199, de 10/02/2017, pág. 63/69
2/4 de que compreende adicionalmente gerar um modelo de padrão visual associado à classe de imagem.
8. Sistema, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o classificador é configurado para usar a histograma de técnica de classificação de imagens de palavras visuais ou uma técnica de classificação de imagens de rede neural.
9. Sistema, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que compreende adicionalmente determinar uma extensão na qual um conjunto de imagens de avaliação se correlaciona com a classe de imagem.
10. Sistema, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que o conjunto de imagens de avaliação é diferente do conjunto de imagens de amostra.
11. Sistema, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que o conjunto de imagens de avaliação compreende um conjunto de imagens maior que o conjunto de imagens de amostra.
12. Sistema, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que compreende adicionalmente marcar a correlação de cada imagem do conjunto de imagens de avaliação com um modelo de padrão visual associado à classe de imagem.
13. Sistema, de acordo com a reivindicação 12, CARACTERIZADO pelo fato de que compreende adicionalmente classificar cada imagem do conjunto de avaliações com base na correlação de marcação de cada imagem do conjunto de imagens de avaliação.
14. Sistema, de acordo com a reivindicação 12, CARACTERIZADO pelo fato de que compreende adicionalmente associar um subconjunto de marcação superior do conjunto de imagens de avaliação à classe de imagem.
15. Sistema, de acordo com a reivindicação 1, CARACTERIZADO pelo fato
Petição 870170009199, de 10/02/2017, pág. 64/69
3/4 de que as uma ou mais indicações sociais compreendem uma ou mais etiquetas de imagem.
16. Sistema, de acordo com a reivindicação 15, CARACTERIZADO pelo fato de que compreende adicionalmente determinar um número de instâncias de uma etiqueta de imagem particular entre um número total das uma ou mais etiquetas de imagem associadas a uma imagem.
17. Sistema, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que as ou mais indicações sociais compreendem um ou mais dentre: dados de localização associados a uma imagem do conjunto de imagens de amostra; ou uma identidade de um carregador de imagens, um marcador, ou um proprietário da imagem do conjunto de imagens de amostra.
18. Sistema, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que as uma ou mais indicações sociais são recebidas por um sistema de rede social.
19. Método implantado por computador CARACTERIZADO pelo fato de que compreende:
receber, por meio de um sistema de computador, um conjunto de imagens de amostra, cada imagem no conjunto de amostras é associada a uma ou mais indicações sociais;
marcar, por meio do sistema de computador, a correlação de cada imagem no conjunto de amostras a uma classe de imagem com base nas uma ou mais indicações sociais associadas à imagem; e determinar, por meio do sistema de computador, um conjunto de imagens de treinamento para treinar um classificador do conjunto de amostras com base na marcação.
20. Meio de armazenamento de computador CARACTERIZADO pelo fato de que armazena instruções executáveis por computador que, quando executadas,
Petição 870170009199, de 10/02/2017, pág. 65/69
4/4 fazem com que um sistema de computador realize um método implantado por computador que compreende:
receber um conjunto de imagens de amostra, cada imagem no conjunto de amostras é associada a uma ou mais indicações sociais;
marcar a correlação de cada imagem no conjunto de amostras com uma classe de imagem com base nas uma ou mais indicações sociais associadas à imagem; e determinar um conjunto de imagens de treinamento para treinar um classificador do conjunto de amostras com base na marcação.
BR112016003926-2A 2013-08-05 2014-02-11 sistemas e métodos para classificação de imagens através da correlação de indicações contextuais com imagens BR112016003926A2 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/959,446 US10169686B2 (en) 2013-08-05 2013-08-05 Systems and methods for image classification by correlating contextual cues with images
PCT/US2014/015887 WO2015020691A1 (en) 2013-08-05 2014-02-11 Systems and methods for image classification by correlating contextual cues with images

Publications (1)

Publication Number Publication Date
BR112016003926A2 true BR112016003926A2 (pt) 2019-11-12

Family

ID=52427721

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016003926-2A BR112016003926A2 (pt) 2013-08-05 2014-02-11 sistemas e métodos para classificação de imagens através da correlação de indicações contextuais com imagens

Country Status (10)

Country Link
US (2) US10169686B2 (pt)
JP (1) JP6612229B2 (pt)
KR (1) KR102244748B1 (pt)
CN (1) CN105612514B (pt)
AU (1) AU2014304803B2 (pt)
BR (1) BR112016003926A2 (pt)
CA (1) CA2920193A1 (pt)
IL (1) IL243859A0 (pt)
MX (1) MX367510B (pt)
WO (1) WO2015020691A1 (pt)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104751198B (zh) * 2013-12-27 2018-04-27 华为技术有限公司 图像中的目标物的识别方法及装置
US10223727B2 (en) * 2014-10-20 2019-03-05 Oath Inc. E-commerce recommendation system and method
US10977571B2 (en) * 2015-03-02 2021-04-13 Bluvector, Inc. System and method for training machine learning applications
CN104899872B (zh) * 2015-05-18 2017-11-03 北京大学 基于显式和隐含信息的图像视觉显著度计算方法和装置
US10534810B1 (en) * 2015-05-21 2020-01-14 Google Llc Computerized systems and methods for enriching a knowledge base for search queries
US11537262B1 (en) 2015-07-21 2022-12-27 Monotype Imaging Inc. Using attributes for font recommendations
US9906704B2 (en) 2015-09-17 2018-02-27 Qualcomm Incorporated Managing crowd sourced photography in a wireless network
JP6874757B2 (ja) * 2016-02-24 2021-05-19 日本電気株式会社 学習装置、学習方法およびプログラム
CN105825228B (zh) * 2016-03-14 2019-04-30 百度在线网络技术(北京)有限公司 图像识别方法及装置
CN105761269A (zh) * 2016-03-14 2016-07-13 北京大学 基于多尺度区分性子空间的图像显著对象的检测方法
US9892326B2 (en) 2016-03-31 2018-02-13 International Business Machines Corporation Object detection in crowded scenes using context-driven label propagation
US11237857B2 (en) * 2016-07-07 2022-02-01 Data Accelerator Ltd Method and system for application virtualization that includes machine learning
US11314565B2 (en) * 2016-07-07 2022-04-26 Data Accelerator Ltd Method and system for application virtualization that includes resource access control
US10929461B2 (en) * 2016-07-25 2021-02-23 Evernote Corporation Automatic detection and transfer of relevant image data to content collections
US10645142B2 (en) 2016-09-20 2020-05-05 Facebook, Inc. Video keyframes display on online social networks
US10083379B2 (en) 2016-09-27 2018-09-25 Facebook, Inc. Training image-recognition systems based on search queries on online social networks
US10026021B2 (en) 2016-09-27 2018-07-17 Facebook, Inc. Training image-recognition systems using a joint embedding model on online social networks
EP3306555A1 (en) * 2016-10-10 2018-04-11 Facebook, Inc. Diversifying media search results on online social networks
US20180101540A1 (en) * 2016-10-10 2018-04-12 Facebook, Inc. Diversifying Media Search Results on Online Social Networks
US11200273B2 (en) 2016-10-16 2021-12-14 Ebay Inc. Parallel prediction of multiple image aspects
US10452688B2 (en) 2016-11-08 2019-10-22 Ebay Inc. Crowd assisted query system
US11347374B2 (en) * 2016-11-17 2022-05-31 Meta Platforms, Inc. Systems and methods for managing shared content
EP3545425A4 (en) * 2016-11-23 2020-07-15 Primal Fusion Inc. SYSTEM AND METHOD FOR USING A KNOWLEDGE PRESENTATION WITH A CLASSIFIER FOR MACHINE LEARNING
US11544579B2 (en) 2016-11-23 2023-01-03 Primal Fusion Inc. System and method for generating training data for machine learning classifier
CN106650795B (zh) * 2016-12-01 2020-06-12 携程计算机技术(上海)有限公司 酒店房型图像的排序方法
EP3336800B1 (de) * 2016-12-19 2019-08-28 Siemens Healthcare GmbH Bestimmen einer trainingsfunktion zum generieren von annotierten trainingsbildern
US10803013B2 (en) 2017-02-10 2020-10-13 Smugmug, Inc. Efficient similarity detection
US11301506B2 (en) * 2017-06-29 2022-04-12 Adobe Inc. Automated digital asset tagging using multiple vocabulary sets
CN107463953B (zh) * 2017-07-21 2019-11-19 上海媒智科技有限公司 在标签含噪情况下基于质量嵌入的图像分类方法及系统
JP7027070B2 (ja) 2017-08-31 2022-03-01 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US11334750B2 (en) 2017-09-07 2022-05-17 Monotype Imaging Inc. Using attributes for predicting imagery performance
US10909429B2 (en) * 2017-09-27 2021-02-02 Monotype Imaging Inc. Using attributes for identifying imagery for selection
CN107679183B (zh) * 2017-09-29 2020-11-06 百度在线网络技术(北京)有限公司 分类器用训练数据获取方法和装置、服务器及存储介质
US11657602B2 (en) 2017-10-30 2023-05-23 Monotype Imaging Inc. Font identification from imagery
KR102074654B1 (ko) * 2017-11-03 2020-02-07 카페24 주식회사 쇼핑몰 웹페이지 저작 방법, 장치 및 시스템
US10140553B1 (en) * 2018-03-08 2018-11-27 Capital One Services, Llc Machine learning artificial intelligence system for identifying vehicles
CN110351180A (zh) * 2018-04-03 2019-10-18 鸿富锦精密电子(天津)有限公司 物联信息管理系统
JP7219023B2 (ja) * 2018-06-22 2023-02-07 日立造船株式会社 情報処理装置および対象物判定プログラム
US10635940B1 (en) * 2018-12-11 2020-04-28 Capital One Services, Llc Systems and methods for updating image recognition models
JP7261022B2 (ja) * 2019-01-30 2023-04-19 キヤノン株式会社 情報処理システム、端末装置及びその制御方法、プログラム、記憶媒体
US12079267B2 (en) 2019-02-21 2024-09-03 Canon Kabushiki Kaisha Method and system for image searching and evaluation using tags
US11494884B2 (en) 2019-02-21 2022-11-08 Canon U.S.A., Inc. Method and system for evaluating image sharpness
EP3935576A4 (en) * 2019-03-06 2022-11-23 Telepathy Labs, Inc. METHOD AND SYSTEM TO SUPPORT A DEVELOPER IN IMPROVING THE ACCURACY OF A CLASSIFIER
JP7255671B2 (ja) * 2019-03-18 2023-04-11 日本電気株式会社 機械学習システム、情報端末、情報処理方法、プログラム
WO2021081741A1 (zh) * 2019-10-29 2021-05-06 深圳大学 一种基于多关系社交网络的图像分类方法及系统
US11704716B2 (en) * 2019-11-18 2023-07-18 Meta Platforms, Inc. Identifying objects within an image from a user of an online system matching products identified to the online system by the user
US11354936B1 (en) * 2020-07-15 2022-06-07 Amazon Technologies, Inc. Incremental clustering for face recognition systems
US11184445B2 (en) * 2020-09-27 2021-11-23 Jean-Michel Michel Cloutier System and method of establishing communication between users
JP7102563B2 (ja) * 2021-02-03 2022-07-19 プライマル フュージョン インコーポレイテッド 機械学習分類器とともに知識表現を使用するためのシステム及び方法
JP7388662B2 (ja) * 2021-08-20 2023-11-29 Lineヤフー株式会社 情報処理装置、情報処理方法および情報処理プログラム
CN113822252B (zh) * 2021-11-24 2022-04-22 杭州迪英加科技有限公司 显微镜下病理图像细胞鲁棒检测方法
US20230260275A1 (en) * 2022-02-11 2023-08-17 Whammy, Inc. System and method for identifying objects and/or owners

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909510A (en) 1997-05-19 1999-06-01 Xerox Corporation Method and apparatus for document classification from degraded images
US7296032B1 (en) * 2001-05-17 2007-11-13 Fotiva, Inc. Digital media organization and access
US7941009B2 (en) 2003-04-08 2011-05-10 The Penn State Research Foundation Real-time computerized annotation of pictures
US9715542B2 (en) * 2005-08-03 2017-07-25 Search Engine Technologies, Llc Systems for and methods of finding relevant documents by analyzing tags
US7949186B2 (en) * 2006-03-15 2011-05-24 Massachusetts Institute Of Technology Pyramid match kernel and related techniques
US8024343B2 (en) * 2006-04-07 2011-09-20 Eastman Kodak Company Identifying unique objects in multiple image collections
US9507778B2 (en) * 2006-05-19 2016-11-29 Yahoo! Inc. Summarization of media object collections
US7877384B2 (en) 2007-03-01 2011-01-25 Microsoft Corporation Scoring relevance of a document based on image text
US8880529B2 (en) * 2007-05-15 2014-11-04 Tivo Inc. Hierarchical tags with community-based ratings
US20090083332A1 (en) * 2007-09-21 2009-03-26 The Penn State Research Foundation Tagging over time: real-world image annotation by lightweight metalearning
JP5018614B2 (ja) 2008-04-16 2012-09-05 国立大学法人電気通信大学 画像処理方法、その方法を実行するプログラム、記憶媒体、撮像機器、画像処理システム
EP2300941A1 (en) 2008-06-06 2011-03-30 Thomson Licensing System and method for similarity search of images
US8385971B2 (en) 2008-08-19 2013-02-26 Digimarc Corporation Methods and systems for content processing
US20100271297A1 (en) * 2009-04-27 2010-10-28 Shoei-Lai Chen Non-contact touchpad apparatus and method for operating the same
US8478052B1 (en) * 2009-07-17 2013-07-02 Google Inc. Image classification
US8370282B1 (en) * 2009-07-22 2013-02-05 Google Inc. Image quality measures
US20110188742A1 (en) 2010-02-02 2011-08-04 Jie Yu Recommending user image to social network groups
US8401282B2 (en) 2010-03-26 2013-03-19 Mitsubishi Electric Research Laboratories, Inc. Method for training multi-class classifiers with active selection and binary feedback
US20120106854A1 (en) 2010-10-28 2012-05-03 Feng Tang Event classification of images from fusion of classifier classifications
US9218364B1 (en) * 2011-01-28 2015-12-22 Yahoo! Inc. Monitoring an any-image labeling engine
US9037600B1 (en) * 2011-01-28 2015-05-19 Yahoo! Inc. Any-image labeling engine
US8774515B2 (en) * 2011-04-20 2014-07-08 Xerox Corporation Learning structured prediction models for interactive image labeling
US20130007667A1 (en) * 2011-06-28 2013-01-03 Microsoft Corporation People centric, cross service, content discovery system
US9646226B2 (en) * 2013-04-16 2017-05-09 The Penn State Research Foundation Instance-weighted mixture modeling to enhance training collections for image annotation

Also Published As

Publication number Publication date
JP6612229B2 (ja) 2019-11-27
US20190279053A1 (en) 2019-09-12
KR102244748B1 (ko) 2021-04-28
MX367510B (es) 2019-08-26
CA2920193A1 (en) 2015-02-12
AU2014304803B2 (en) 2019-07-04
CN105612514B (zh) 2020-07-21
AU2014304803A1 (en) 2016-02-25
MX2016001687A (es) 2016-09-06
KR20160040633A (ko) 2016-04-14
IL243859A0 (en) 2016-04-21
US20150036919A1 (en) 2015-02-05
CN105612514A (zh) 2016-05-25
US10169686B2 (en) 2019-01-01
JP2016527646A (ja) 2016-09-08
WO2015020691A1 (en) 2015-02-12

Similar Documents

Publication Publication Date Title
BR112016003926A2 (pt) sistemas e métodos para classificação de imagens através da correlação de indicações contextuais com imagens
US10572771B2 (en) Systems and methods for image object recognition based on location information and object categories
US10698945B2 (en) Systems and methods to predict hashtags for content items
TWI540895B (zh) 相片及視頻搜尋
US20170046613A1 (en) Systems and methods for content classification and detection using convolutional neural networks
US20180101774A1 (en) Systems and methods for suggesting content
US20190215568A1 (en) Systems and methods for ranking and providing related media content based on signals
BR112014000615B1 (pt) Método para selecionar funções de edição de conteúdo visual, método para ajustar o conteúdo visual, e sistema para fornecer uma pluralidade de funções de edição de conteúdo visual
US10652075B2 (en) Systems and methods for selecting content items and generating multimedia content
US10225250B2 (en) Systems and methods for providing dynamically selected media content items
US10460171B2 (en) Systems and methods for processing media content that depict objects
US11709996B2 (en) Suggesting captions for content
US10298655B2 (en) Systems and methods for providing content to verified entities
US10552473B2 (en) Systems and methods for processing media content that depict objects
US10360255B2 (en) Systems and methods to determine location of media items
EP2835748A1 (en) Systems and methods for image classification by correlating contextual cues with images
US10769199B2 (en) Systems and methods for processing media content that depict objects
Cornut et al. Annotations as knowledge practices in image archives: Application of linked open usable data and machine learning
US20160179964A1 (en) Systems and methods for providing narratives based on selected content
US20220303632A1 (en) Systems and methods for automatically adjusting playback of media content items
US10733478B2 (en) Systems and methods for processing media content that depict objects
US10270772B2 (en) Systems and methods for providing content to verified entities
US10419383B2 (en) Systems and methods for ranking comments based on interaction-to-impression ratio

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B11B Dismissal acc. art. 36, par 1 of ipl - no reply within 90 days to fullfil the necessary requirements
B350 Update of information on the portal [chapter 15.35 patent gazette]