Slides da Palestra do Dia 2 do AIWeek 2017. Nesta apresentação, dei um overview sobre o Microsoft Cognitive Services e como podemos utilizar algumas de suas APIs no dia a dia.
2. Por onde vamos? 1. Mecanismos de
Autenticação
2. Inteligência Artificial
3. Microsoft Cognitive
Services
4. Face API
a. Reconhecimento.
b. Detecção
5. Demo
2
Utilizando a FaceAPI do Cognitive
Services para autenticação facial de
segundo fator.
3. Oi,
Meu nome é Yan!
3
Trabalho com desenvolvimento de software há
+- 12 anos, nesse tempo já passei por várias
coisas dentre projetos para clientes muito
grandes, como projetos menores porém super
desafiadores. Vamos trocar uma idéia?
Vocês podem me encontrar em:
▪ www.yanborowski.com.br
▪ yanborowski@gmail.com
▪ @yanborowski (Twitter, Instagram,
Skype, Facebook, etc)
4. “
“There is only one success: To be able
to spend your life in your own way.”
Christopher Morley
4
6. Mecanismos
de
Autenticação
Os mecanismos de autenticação servem para identificar alguém (usuário,
dispositivo ou outro tipo de entidade) que deseja acessar algum tipo de
informação, recurso, etc. A autenticação provê e estabelece um vínculo
confiável para interações futuras.
6
Autenticar AcessarIdentificar
7. SegurançaComo os métodos de segurança foram evoluindo com o tempo e onde eles chegarão com o uso
de ferramentas de Inteligência Artificial
7
8. Multiplos
fatores de
autenticação
Conhecimento
Neste grupo entram fatores
como nome de usuário, senha,
datas de nascimento, letras
(como aqueles solicitadas em
caixas de banco), tokens de
cartão pré-definidos, etc.
Esse tipo de solução costuma
evitar acessos indevidos, mas é
fraca contra práticas como
Engenharia Social, roubo de
informações através de
malwares, perda de usuários
e/ou senhas anotadas, dentre
outros.
Posse
Aqui encontramos dispositivos
que vem em auxílio aos
problemas encontrados no
simples uso de combinações
como Usuário e Senha.
Podemos destacar o uso de
Tokens randômicos (físicos e
virtuais), recebimento de
ligações e/ou SMS pelo celular,
dentre outros.
O problema aqui é o roubo de
dispositivos fixos, clonagem de
linhas telefônicas e dispositivos
de interceptação de sinal
móvel.
Biométrico
Estes são considerados alguns
dos mais seguros métodos de
autenticação, pois utilizam
peculiaridades do corpo
humano que são mutáveis de
indivíduo para indivíduo,
reduzindo as chances de
pessoas diferentes terem a
mesma “senha”.
Destacamos: Leitura de digital,
escaneamento de retina,
reconhecimento de voz, dentre
outros.
Problemas: doenças, perda de
membro em acidente, fazendo
com que tenhamos de ter mais
de um método liberado.
8
10. Como a IA está auxiliando o
processo de transformação
do mundo nos dias atuais?
10
11. US$26 ~ US$39
BilhõesEsta é a cifra estimada de quanto foi gasto, no mundo, com com pesquisas e desenvolvimento
de novas tecnologias na área de Inteligência Artificial em 2016.
11
12. 12
The numbers
are bad! You
gotta get
away from
them!
4, 8, 15, 16, 23, 42
1.000.000.000,00
É o quanto a Netflix estima que irá evitar em
cancelamentos anualmente com ferramentas de IA.
66%
É a quantidade do investimento mundial
que foi absorvido por empresas Norteamericanas.
41%
É o percentual de empresas que ainda se dizem
céticas quanto aos reais benefícios da IA em seus negócios.
Fonte: https://www.forbes.com/sites/louiscolumbus/2017/07/09/mckinseys-state-of-machine-learning-and-ai-2017/#6d9f6b5d75b6
13. JP Morgan - COIN
13
A empresa sentiu a necessidade de desenvolver
sua própria plataforma de IA, que rodam
inúmeras rotinas de Machine Learning e BigData
do banco.
360.000 HORAS
A JP Morgan conseguiu reduzir o trabalho que um
advogado levaria 360 mil horas para SEGUNDOS.
14. Matéria da
BBC sobre
detecção de
tubarões com
Drones e IA
14
http://www.bbc.com/news/av/world-australia-41640146/a-bird-s-eye-view-of-sharks
17. Servidores
pelo mundo
Opa! Tem
no Brasil!
17
Os serviços de cognição da
Microsoft estão espalhados
pelo mundo, então você
pode utilizar o mais
próximo dos seus
servidores para melhorar o
tempo de resposta dos
seus serviços.
Cloud, motherfuckers!
18. Fala
18
TTS (Text to Speech)
Utilizada para vocalizar textos.
Útil para programas como
Tradutores, URA, etc.
STT (Speech to Text)
Utilizado para converter um
audio em texto.
Pode ser Utilizado para ouvir o
usuário em um programa e
executar uma consulta ou
comando.
Reconhecimento por voz
Utilizado para reconhecer se
uma voz pertence a um grupo
(série de sons gravados por
uma pessoa) pré definido.
19. Linguagem
Text Analytics
Pode identificar emoções em
textos, como um usuário
enfurecido, elogios, etc.
Spell Check
Pode ser utilizado como
ferramenta de correção de
textos.
Web Language Model API
Essa API utiliza uma grande
massa de dados para montar
modelos Preditivos.
19
Linguistic Analysis API
Simplifica conceitos linguisticos
especificos de um idioma.
20. Conhecimento
Academic Knowledge API
Utilizada para acessar os
dados da base do Microsoft
Academic Graphic.
Recommendations API
Ferramenta para identificação
dos desejos dos clientes,
auxiliando no processo de
indicação de produtos /
serviços.
Entity Linking Intelligence
Service API
Marcador inteligente de links
20
Custom Decision Service
Utiliza aprendizagem por
reforço para auxiliar no
processo de decisão
personalizado.
21. Pesquisa
Bing WebSearch API
Utilizada para fazer consultas
na base indexada do Bing.
Bing Image Search API
Assim como o anterior, utiliza a
base do Bing para consultar
dados indexados, neste caso,
procurar imagens.
Bing Video Search API
Assim como os anteriores,
utiliza a base do Bing para
consultar dados indexas, neste
caso, procurar vídeos.
21
Bing News Search API
Utilizado para buscar notícias
indexadas na base do Bing.
Bing Autosuggest API
Utilizada para sugerir consultas
enquanto o usuário monta sua
sentença de busca.
Bing Entity Search API
Utilizada para buscar pessoas,
empresas e outros tipos de
entidades na base do Bing.
24. Uma foto
vale mais do
que mil
palavras
24
Uma foto do rosto de um
ser humano pode dizer
muito mais do que
imaginamos.
25. Criando a
chave de API
para teste
25
Suas chaves podem ser encontradas em:
https://azure.microsoft.com/en-us/try/cognitive-services/my-apis/
Na mesma página, você encontra as demais APIs. Para solicitar
uma chave de teste das mesmas, basta clicar em “Add” para
gerar uma nova chave.
26. Preparando a
Solução
26
Para iniciar o projeto, é importante adicionar os bibliotecas abaixo,
incluir os pacotes através do Gerenciador do NuGet:
Newtonsoft.Json
Microsoft.ProjectOxford.Face
28. Variáveis
28
As funções da Face API possuem inúmeros recursos que podem ser
utilizados como recursos extras, possibilitando melhor assertividade
nos resultados esperados
Óculos de Leitura
Cor do Cabelo
Idade Sorriso
Gênero
Emoção
29. Verificando
faces
Similaridade
matchPerson: modo padrão,
tenta encontrar faces da
mesma pessoa, quando
possível, utilizando os limiares
da mesma.
matchFace: ignora se a busca
irá trazer mais de uma pessoa,
desde que os rostos sejam
semelhantes.
Docs:
https://southeastasia.dev.cognit
ive.microsoft.com/docs/services
/563879b61984550e40cbbe8
d/operations/563879b619845
50f30395237
29
Verificação
Verifica se duas faces
pertencem a mesma pessoa ou
também se uma face pertence
a uma pessoa.
▪ Essa APi funciona
bem com imagens
frontais e quase-
frontais.
Docs:
https://westcentralus.dev.cogni
tive.microsoft.com/docs/service
s/563879b61984550e40cbbe
8d/operations/563879b61984
550f3039523a/console
Identificação
Identifica faces desconhecidas
baseada em um grupo de faces
de uma pessoa.
Para cada face, o Identificador
computará similaridades entre
a face e o Grupo de faces de
uma pessoa, ranqueando pelas
mesmas.
Docs:
https://southeastasia.dev.cognit
ive.microsoft.com/docs/services
/563879b61984550e40cbbe8
d/operations/563879b619845
50f30395239
30. Pessoas,
Grupos e
Listas
Pessoa
Representa uma entidade que
pode possuir uma ou mais
faces.
Docs:
https://southeastasia.dev.cognit
ive.microsoft.com/docs/services
/563879b61984550e40cbbe8
d/operations/563879b619845
50f3039523b
Grupo
É o parâmetro mais importante
para utilizar o método de
Identificação, pois é através
dele que a API saberá qual
grupo de pessoas deve ser
consultado.
Docs:
https://southeastasia.dev.cognit
ive.microsoft.com/docs/services
/563879b61984550e40cbbe8
d/operations/563879b619845
50f30395244
Lista de Faces
As listas são utilizadas como
parâmetro para o método de
similaridade.
Cada lista pode possuir até
1.000 faces.
Docs:
https://southeastasia.dev.cognit
ive.microsoft.com/docs/services
/563879b61984550e40cbbe8
d/operations/563879b619845
50f3039524b
30
33. Links
33
Aplicativo base para identificação facial:
https://github.com/Microsoft/Cognitive-Face-Windows
Testes de identificação e Reconhecimento:
https://azure.microsoft.com/en-us/services/cognitive-
services/face/
O sucesso é: Ser capaz de gastar a sua vida do jeito que você quiser.
Christopher Morley was an American journalist, novelist, essayist and poet.
He also produced stage productions for a few years and gave college lectures. Wikipedia
Born: May 5, 1890, Haverford, Pennsylvania, United States
Died: March 28, 1957, Roslyn Estates, New York, United States
Essa parte pode ser utilizada como complemento para melhorar a assertividade do reconhecimento facial