Desenvolver um aplicativo de detecção de rosto simples na web

Documentos relacionados
Implemente o Open Web Analytics no seu website

Tutorial de utilização da aplicação no lado servidor com Firebase

Leia-me do monitor do Veritas System Recovery 16

Etapas de instalação rápida em CD-ROM

Versão 1.3 Maio de P Xerox ConnectKey. for SharePoint Guia do Usuário de Início Rápido

Scopia Desktop Client do CFN

Guia do Google Cloud Print

Como atribuir um endereço IP e acessar seu dispositivo

Aviso. O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio.

Avaliações de produtos SOLIDWORKS

Etapas de instalação rápida em CD-ROM

Aviso sobre o produto. Este guia descreve os recursos comuns à maioria dos modelos. Alguns recursos podem não estar disponíveis em seu computador.

Atualização do firmware para controladores remotos sem fio WR-R10

Analise dados de jogos do Oculus Rift usando o Bluemix

Atualizações de Software Guia do Usuário

Para usar com Impressoras multifuncionais (MFPs) ativadas para a Tecnologia Xerox ConnectKey

Conectar-se ao quadro branco remoto

Atualização do firmware para controladores remotos sem fio WR-1/WR-R10

Atualizações de Software Guia do Usuário

A Ariba utilizará o idioma definido no seu navegador. Todas as capturas de tela neste documento de treinamento serão exibidas em inglês e deverão ser

HRM Software v Como adicionar/atualizar um arquivo de calibração

Manual do Usuário Brother Meter Read Tool

Utilitário Epson FAX Utility 2.0 para Windows

Rede EtherTalk Macintosh (MacOS 8.x/9.x/X, versão 10.1)

Noções básicas do SAP Business One Tópico: Guia de introdução

Tutorial para atualização de notícias/blog

A atualização do WorldShip em uma estação de trabalho independente ou de um grupo de trabalho

Fiery Command WorkStation 5.8 com Fiery Extended Applications 4.4

TUTORIAL VOKI: Criando avatares. Realização: Secretaria Geral de Educação a Distância da Universidade Federal de São Carlos

Atualização do firmware para controladores remotos sem fio WR-R10. Windows

Conta Light da Ariba: Como fazer o upload da fatura da ordem de compra

Amostras e Tutoriais Versão 8 Release 0. Tutorial da Amostra de Contratação para o IBM Process Designer

Laboratório - Pesquisa de ferramentas de colaboração em rede

SocialMap - Como unir o Foursquare, ArcGIS Online e o Facebook? - Parte III de III (opcional)

MANUAL DO USUÁRIO GERÊNCIA DE APLICATIVOS

A instalação e atualizações do aplicativo de desktop para a versão 6 do Cisco Agent Desktop

Notas sobre a Versão do Controlador de arquivos para HP 3PAR StoreServ

AkzoNobel. 1 Introdução

TRABALHO FINAL 20 Pontos

Conectar-se ao quadro branco remoto

Como instalar a APP Microsoft Translator?

Atualizações de Software Guia do Usuário

STD SERVIÇO DE BACKUP EM NUVEM

1. CONFIGURAR A CONTA

Sistema de conferência web baseado no software open source BigBlueButton

Copyright 2016 HP Development Company, L.P.

Como acessar as imagens via Navegador Safari

Linguagem de Programação II Programação Orientada a Objetos. Ambientes de Programação

Instruções para instalação do software ESI[Tronic] + KTS. Figura 2

Instalação do IBM SPSS Modeler Entity Analytics

Como acessar as imagens via Navegador Mozilla Firefox

Packet Capture Guia de consulta rápida

TUTORIAL PIKTOCHART: Criando infográficos. Realização: Secretaria Geral de Educação a Distância da Universidade Federal de São Carlos

Secure Client. Manual do Usuário. IPNv2. Secure Client IPNv2

Guia de início rápido do Bomgar B300v

MANUAL DO USUÁRIO MDM - CLOUD4MOBILE

Guia de Usuário da Matriz Virtual do Avigilon Control Center. Versão 5.4

Gerenciamento de impressão

Seu manual do usuário SAMSUNG CLP-770ND

Introdução ao Desenvolvimento de Aplicativos Android

KISSsoft 03/2018 Tutorial 1

Avisos legais KYOCERA Document Solutions Inc.

Projeto GoHome. Tutorial de Instalação Android Studio e SDK

Guia de instalação. 1. Instalar o equipamento. 2. Instalar o software. Painel de controle

Guia para participantes de uma RFI [Request for Information (solicitação de informação)] Antes de participar no projeto será necessário revisar e

Configuração do assinador Shodō

Desenvolvimento Web II

Como fazer download e instalaça o a partir da SAi Cloud

Guia do AirPrint. Este Manual do usuário aplica-se aos seguintes modelos: MFC-J6520DW/J6720DW/J6920DW. Versão 0 BRA-POR

Manual de instruções U Definições da impressora CP_Manager

Sidicom S4. Tutorial Backup Automático + Backup na nuvem

Índice Visão Geral... 2 Cabeamento... 5 Requisitos do Sistema... 5 Câmera de Acesso... 6 Configuração de Resolução de Vídeo... 9

Manual de Compilação/Execução da Aplicação SmartHome

Gerenciamento de Impressão On- Premises

DOCUMENTAÇÃO DTIC IMPRESSÃO

Guia do AirPrint. Esta documentação é para modelos a jato de tinta. Versão 0 BRA-POR

Conhecendo e editando o seu perfil

TalkToMe: Um aplicativo para iniciantes no App Inventor

Configurar as conferências do Cisco Meeting Server e CUCM Ad hoc

PRIMEIRO ACESSO. www. COMO REALIZAR O. Existem três maneiras de realizar o acesso: Pelo endereço da Biblioteca Virtual;

Como instalar/configurar o APP Giga Cloud no meu smatphone/tablet para acessar minhas imagens?

Manual do usuário. Protrader Web Desktop

Manual AgoraOS System Bridge Milenial Comunicação Visual Ltda

FAQ Perguntas Frequentes

Introdução ao QuarkXPress 10

2- Executando Zed-FULL.exe como Administrador (o SO Windows7-8 requer essa configuração)

Support Assistant. Guia do Usuário e Instalação

Conexões e endereço IP

Bem vindo ao iphone! Estes tópicos o ajudarão a configurar e aproveitar os recursos do iphone.

Requisitos do sistema

TICs IVINHEMA-MS

PAINEL INFORMATIVO AIS

ACEITAR E CONFIRMAR PEDIDOS DE COMPRA

SISTEMA OPERACIONAL - ANDROID

ESET NOD32 ANTIVIRUS 10

Neste manual você terá o exemplo de acesso 3G pelo programa ASEE, existem 02 tipos, o segundo é o MEYE. No cd existe o manual do MEYE.

Conteúdo Como gerar os arquivos pelo WinMFD da Bematech?... 3 Como saber a data do arquivo?... 9 Como copiar os arquivos gerados para o PENDRIVE:...

Aqui estão algumas dicas para ajudar a começar com as tarefas comuns. Introdução a série

Transcrição:

Desenvolver um aplicativo de detecção de rosto simples na web Incluir recursos de computação cognitiva com AlchemyAPI Chun Bin Tang (chunbint@cn.ibm.com) Solutions Architect, IBM Cloud Ecosystem Development IBM 01/Fev/2016 Desenvolva um aplicativo simples no PHP para usar os recursos de computação cognitiva eficiente do Serviço AlchemyAPI no IBM Cloud. O app demonstra como as funções de detecção de rosto do Serviço AlchemyAPI podem: estudar imagens e localizar rostos, identificar o sexo, estimar a idade e, muitas vezes, identificar uma pessoa. Você não precisa saber nada sobre computação cognitiva ou algoritmo de aprendizado profundo para desenvolver o app cognitivo no IBM Cloud com apenas algumas linhas de código neste exemplo passo a passo. No início deste ano, a IBM adquiriu a empresa AlchemyAPI. AlchemyAPI é um fornecedor de liderança da computação cognitiva escalável e de tecnologia de aprendizado profundo que permite que computadores entendam o idioma e a visão tal qual seres humanos. Serviços de idioma relevantes, como análise de sentimento, extração de palavra-chave e extração de relação, podem ajudar a analisar o conteúdo por trás da linguagem natural sofisticada e incluir informações semânticas de alto nível. Serviços relevantes de visão, como identificação de imagem e detecção de rosto, ajuda-nos a a entender o contexto e o conteúdo de uma imagem. Neste tutorial, você aprende a comprar um aplicativo simples da web que demonstra a função de detecção de rosto do Serviço AlchemyAPI no IBM Cloud. O recurso de detecção de rosto pode: Estudar imagens e determinar se há rostos. Determinar o sexo e a idade estimada do rosto. Tentar identificar o rosto, puxando de um corpus de mais de 60.000 pessoas bem conhecidas. Este exemplo passo a passo mostra o quão fácil é desenvolver um app cognitivo no IBM Cloud com somente poucas linhas de código no PHP. Copyright IBM Corporation 2016. Todos os direitos reservados. Marcas Registradas Desenvolver um aplicativo de detecção de rosto simples na web Página 1 de 10

O que será necessário para desenvolver o aplicativo Saiba mais. Desenvolva mais. Conecte-se mais. O novo programa de associação programa de participação developerworks Premium fornece um passe de acesso completo a ferramentas e recursos de desenvolvimento eficientes, incluindo 500 títulos técnicos principais para desenvolvedores de aplicativos por meio do Safari Books Online, grandes descontos em eventos de desenvolvedores premier, reproduções de vídeos de conferências recentes do O'Reilly, etc. Leia sobre o valor do developerworks Premium ou assista um vídeo unboxing de Govind Baliga. Inscreva-se hoje. Uma conta do IBM Cloud (É possível solicitar uma avaliação grátis aqui.) Um comando DevOps Services. Familiaridade com a linguagem de programação do PHP. Opcionalmente, a familiaridade com a interface da linha de comandos (cf) do Cloud Foundry. Execute o aplicativo Obtenha o código Aplicativo de exemplo: Who Are You? O app de exemplo, denominado Quem é você?, é criado no PHP, porque o PHP é leve, eficiente, amplamente aceito pela comunidade de software livre, e suportado pelo IBM Cloud como um tempo de execução central. O app de exemplo é executado normalmente, mesmo com 128 MB de memória. Não se preocupe se não estiver familiarizado com a computação cognitiva avançada e algoritmos de aprendizado profundo. O Serviço AlchemyAPI no IBM Cloud resume todos os detalhes para nós; tudo o que você precisa fazer é chamar a API com algumas linhas de código. Graças ao IBM Cloud, nós desenvolvedores comuns podemos colher os frutos do serviço de computação cognitiva da AlchemyAPI eficiente sem saber realmente como ele funciona. Se você estiver interessado nos outros serviços cognitivos da AlchemyAPI, e desejar criar mais apps com base nestes serviços, poderá usar nosso app de detecção de rosto de amostra como um modelo. Leia: No website da AlchemyAPI, saiba como usar AlchemyAPI para criar apps inteligentes que entendam as necessidades do cliente e que prevejam o comportamento do cliente Etapa 1. Criar um app com o Serviço AlchemyAPI no IBM Cloud Criar um app no Painel do IBM Cloud: 1. Efetue login em sua conta IBM Cloud (ou registre-se para obter uma avaliação gratuita). 2. Abra o catálogo do IBM Cloud. 3. Na seção Tempos de Execução, clique em PHP. 4. No campo App, especifique o nome do app. O exemplo é configurado como whoru. 5. Clique em Create, em seguida, aguarde o aplicativo ser fornecido. Incluir o Serviço AlchemyAPI: Desenvolver um aplicativo de detecção de rosto simples na web Página 2 de 10

1. Clique no app criado no Painel. 2. Clique em Incluir um serviço. 3. Na seção Watson, selecione Serviço AlchemyAPI. A chave de avaliação da AlchemyAPI pode levar cinco minutos ou mais para entrar em vigor. O app lê a chave de avaliação da variável de ambiente VCAP_SERVICES. 4. Clique em Create. Clique em Remontar, se for solicitado remontar o aplicativo. Um app semelhante a este será criado: Etapa 2. Revise e ajuste o código Consulte o código-fonte para ver os detalhes mais recentes. A boa notícia é que a AlchemyAPI fornece um PHP SDK para desenvolvedores; a má notícia é que ele não suporta a função de detecção de rosto que é necessária para o nosso app. Atualizar o PHP SDK da AlchemyAPI O arquivo principal no PHP SDK da AlchemyAPI é alchemyapi.php. Siga estas etapas para incluir uma nova função. Buscar a chave da API da AlchemyAPI das variáveis de ambiente VCAP_SERVICES O PHP SDK original lê a chave da API da AlchemyAPI de um arquivo. Você fará algumas melhorias para ler a chave das variáveis de ambiente VCAP_SERVICES, para que não seja necessário preparar um arquivo-chave adicional da AlchemyAPI para melhorar a segurança. Use o seguinte fragmento de código para modificar o arquivo alchemyapi.php original. //Load the API Key from api_key.txt //$key = trim(file_get_contents("api_key.txt")); // vcap_services Extraction $services_json = json_decode(getenv('vcap_services'),true); $credential = $services_json["alchemy_api"][0]["credentials"]; // Extract the VCAP_SERVICES variables $key = $credential['apikey']; Desenvolver um aplicativo de detecção de rosto simples na web Página 3 de 10

Incluir a API de detecção de rosto O PHP SDK original não fornece a API para chamar os recursos relevantes de detecção de rosto. É necessário anexar uma nova função denominada face_detection para modificar o arquivo alchemyapi.php original. Para definir os terminais do recurso de detecção de rosto: $this->_endpoints['face_detection']['url'] = '/url/urlgetrankedimagefacetags'; $this->_endpoints['face_detection']['image'] = '/image/imagegetrankedimagefacetags'; Para definir a função face_detection : public function face_detection($flavor, $image, $options) { //Make sure this request supports the flavor if (!array_key_exists($flavor, $this->_endpoints['face_detection'])) { return array('status'=>'error', 'statusinfo'=>'face detection for '. $flavor. ' not available'); //Add the image to the options and analyze if($flavor=='url'){ $options[$flavor] = $image; return $this->analyze($this->_endpoints['face_detection'][$flavor], $options); else{ return $this->analyzeimage($this->_endpoints['face_detection'][$flavor], $options, $image); A função face_detection retorna com informações relevantes, como a posição do rosto na imagem, a idade e o sexo no formato JSON. Todas estas atualizações foram consolidadas no PHP SDK atualizado no código-fonte (php/alchemyapi.php). É possível compará-lo com o SDK original para ver os detalhes das modificações. Leia: Informações sobre os campos de pedido e de resposta podem ser localizadas na documentação da AlchemyAPI Implementar o app Após atualizar o PHP SDK, será possível implementar o app. O app suporta a incrível função de detecção de rosto de duas maneiras: 1. fornecendo uma figura do computador local 2. fornecendo o link para uma imagem da Internet publicamente acessível É muito fácil chamar os recursos de detecção de rosto no app. No código-fonte central, há somente uma linha para chamar a função face_detection : ($alchemyapi->face_detection). require_once ('alchemyapi.php'); $alchemyapi = new AlchemyAPI(); //use image url to detect face if (!empty($_post['imageurl'])) { $response = $alchemyapi->face_detection('url', $_POST['imageurl'], null); printresponse($response); //Upload an image to detect face else if (!empty($_files["upfile"])) { if ($_FILES["upfile"]["size"] < 512 * 1024) { if ($_FILES["upfile"]["error"] > 0) { echo "Fail to upload the file: ". $_FILES["upfile"]["error"]. "<br />"; else { Desenvolver um aplicativo de detecção de rosto simples na web Página 4 de 10

$imagefile = fopen($_files["upfile"]["tmp_name"], "r") or die("unable to open file!"); $imagedata = fread($imagefile, $_FILES["upfile"]["size"]); fclose($imagefile); //Do not forget to set imagepostmode option to raw $response = $alchemyapi->face_detection('image', $imagedata, array( 'imagepostmode' => 'raw' )); printresponse($response); else { echo "Error: only support image file with size < 512 KBytes"; else { echo "Error: no image found"; Em seguida, imprima os resultados quando eles forem recebidos. /* * This method prints out the response */ function printresponse($response) { $status = $response['status']; if ($status == 'OK') { $fcount = count($response['imagefaces']); if ($fcount > 0) { echo "Let me say..."; $fitem = $response['imagefaces'][0]; echo "Gender: <b>"; echo $fitem['gender']['gender']; echo "</b> (Confidence: "; echo number_format($fitem['gender']['score'], 2); echo ")"; echo "Age: <b>"; echo $fitem['age']['agerange']; echo "</b> (Confidence: "; echo number_format($fitem['age']['score'], 2); echo ")"; if (array_key_exists('identity', $fitem)) { echo "Emmm, we guess you are <b>"; echo $fitem['identity']['name']; echo "</b> (Confidence: "; echo number_format($fitem['identity']['score'], 2); echo ")"; else { echo "However, we do not know who you are exactly..."; else { echo "Sorry, we are unable to guess who you are, as: "; echo $response['statusinfo']; Detalhes sobre a implementação estão em php/facedetection.php na seção código-fonte. A gravação de uma única linha de código para chamar a função face_detection implementa os recursos de detecção de rosto do Serviço AlchemyAPI no app de amostra. Para chamar outros recursos, é necessário seguir um processo semelhante. Desenvolver um aplicativo de detecção de rosto simples na web Página 5 de 10

Etapa 3. Implementar o app no IBM Cloud 1. Acesse a seção código-fonte, clique em Bifurcar Projeto, e efetue login no IBM DevOps Services com o ID IBM. Quando solicitado, insira o nome do projeto. Certifique-se de selecionar Tornar isso um projeto IBM Cloud, e verifique se a Região, Organizatione Espaço estão corretos. Clique em Create para bifurcar o repositório. 2. Clique em Editar código. Na seção de menu do projeto criado recentemente, clique no ícone de lápis para editar a configuração de ativação para o IBM Cloud. Desenvolver um aplicativo de detecção de rosto simples na web Página 6 de 10

3. Verifique se Destino, Organization, Espaçoe Domínio estão corretos. Atualize Nome do Aplicativo e em Host para corresponderem ao nome do app do IBM Cloud criado. Em seguida, clique em Save. 4. Clique no ícone de seta à direita para implementar o aplicativo. Aguarde um minuto ou mais, em seguida, verifique o status da implementação. Se preferir, é possível usar o comando cf para implementar este projeto localmente: 1. Bifurque o código-fonte localmente. 2. Atualize o arquivo manifest.yml mudando <your_app_name> para o nome do app do IBM Cloud criado. É possível também mudar o tamanho da memória. O tamanho da memória padrão é configurado como 128 MB. --- applications: # replace the 'host' variable below with your own unique one, as this one can be already taken - name: <your_app_name> memory: 128M instances: 1 host: <your_app_name> path:./php 3. Execute o comando cf para implementar o projeto: cf push Etapa 4. Executar o app Depois que o app Quem é você for implementado com êxito, será possível executá-lo. O app tentará reconhecer a pessoa em uma imagem. É possível fornecer uma URL de imagem Desenvolver um aplicativo de detecção de rosto simples na web Página 7 de 10

publicamente acessível na Internet ou fazer upload de uma imagem da unidade local para testar se o app pode determinar "Quem é você?" 1. Acesse a URL do app, que normalmente é http://<app_name>.mybluemix.net. Nossa amostra é http://whoru.mybluemix.net. 2. Clique em Adivinhar quem você é a partir da URL da imagem. Uma nova janela fornecerá avisos. 3. Insira a URL da imagem que deseja analisar. Por exemplo, é possível inserir https:// lh3.googleusercontent.com/-b8jo7ake1fw/uoxjeursv3i/aaaaaaaaaga/28e6_kjzmvc/ s512-no/profil%2b7.png, 4. Clique em Enviar. 5. Verifique se o app pode identificar a pessoa na imagem. Para a URL da imagem de exemplo, o app pode determinar facilmente que a figura é de Novak Djokovic (um jogador sérvio de tênis profissional). Bom! Vá em frente e tente outras imagens para mais testes. 6. Volte para a página principal e clique em Advinhar Quem é você fazendo upload de uma imagem. Uma janela fornecerá prompts novamente a você. 7. Clique em Browse para escolher uma imagem do computador local. Como alternativa, é possível fazer downloadde uma imagem de amostra do código-fonte. Extraia os arquivos do arquivo transferido por download e escolha php/andy.jpg. Clique em Upload. 8. Verifique se o app pode detectar quem é a pessoa. Para a imagem de amostra, a resposta é Andy Murray (um jogador escocês de tênis profissional). O Serviço Desenvolver um aplicativo de detecção de rosto simples na web Página 8 de 10

AlchemyAPI funcionou novamente. Sinta-se livre para fazer upload e tentar mais imagens. Embora o app Quem é você não possa reconhecer todas as pessoas apresentadas, as funções de detecção de rosto eficientes no serviço AlchemyAPI são impressionantes. Com base na minha experiência, o app pode identificar muitas pessoas corretamente, especialmente estrelas de esportes e estrelas de cinema. Conclusão A computação cognitiva é um tópico relevante e agora, com o IBM Cloud, é possível usar facilmente os recursos cognitivos eficientes do Serviço AlchemyAPI. Este tutorial mostrou como usar o PHP para criar um app simples da web que explora os recursos de detecção de rosto e de reconhecimento da AlchemyAPI. É possível estender o app de exemplo para criar mais apps cognitivos no IBM Cloud. Serviço AlchemyAPIhttps://console.ng.bluemix.net/catalog/alchemyapi/O Serviço AlchemyAPI fornece processamento de linguagem natural e visão por computador para ajudá-lo a entender conversas, documentos e fotos do mundo. Desenvolver um aplicativo de detecção de rosto simples na web Página 9 de 10

Sobre o autor Chun Bin Tang Chun Bin Tang é um arquiteto de soluções no IBM Cloud Ecosystem Development. Ele obteve seu mestrado na Fudan University, Shanghai, China, e tem mais de 10 anos de experiência no segmento de mercado de TI. Agora, ele foca na promoção de nuvem e na tecnologia de mobilidade na China. Copyright IBM Corporation 2016. Todos os direitos reservados. (www.ibm.com/legal/copytrade.shtml) Marcas Registradas (www.ibm.com/developerworks/br/ibm/trademarks/) Desenvolver um aplicativo de detecção de rosto simples na web Página 10 de 10