Buscar

Ciência de Dados para Empresas e Negócios

Prévia do material em texto

CIÊNCIA DE DADOS
PARA EMPRESAS E 
NEGÓCIOS
Recursos 
Humanos
• Previsão se um 
funcionário sairá 
da empresa
Marketing
• Segmentação de 
mercado
Vendas
• Previsão de vendas 
futuras com séries 
temporais
Medicina
• Diagnóstico de 
doenças 
respiratórias 
utilizando 
imagens
Relações 
Públicas
• Mineração de 
sentimentos em 
textos
Produção e 
manutenção
• Classificação de 
imagens de 
produtos com 
defeitos e seleção 
dos defeitos
• Contratar e reter funcionários são tarefas extremamente
complexas que exigem capital, tempo e habilidades
Fonte: https://toggl.com/blog/cost-of-hiring-an-employee
• “Pequenos empresários gastam em torno de 40% das horas de 
trabalho em tarefas que não geram receitas, como a contratação”
• “Empresas gastam de 15% a 20% do salário dos funcionários para 
recrutar um novo candidato”
https://toggl.com/blog/cost-of-hiring-an-employee
• “Uma empresa média perde entre 1% e 2.5% de sua receita total 
no tempo que leva para treinar um novo funcionário”
Fonte: https://toggl.com/blog/cost-of-hiring-an-employee
• A contratação de um novo funcionário custa em média $7645 (em
uma empresa com aproximadamente 500 funcionários)
• Demora mais ou menos 52 dias para um funcionário ocupar de 
fato sua nova posição
https://toggl.com/blog/cost-of-hiring-an-employee
• Você trabalha como cientista de dados para uma empresa
Fonte dos dados: https://www.kaggle.com/pavansubhasht/ibm-hr-analytics-attrition-dataset
• O departamento de RH coletou dados dos funcionários e gostaria que 
você fizesse a previsão de quais são mais propensos para sair do 
emprego
• Alguns exemplos de dados: 
o Envolvimento com o trabalho
o Escolaridade
o Satisfação com o trabalho
o Métricas de desempenho
o Relacionamento
o Equilíbrio entre atividades pessoais e profissionais
1. REGRESSÃO LOGÍSTICA
• Regressão linear é usada para prever números
o Exemplo: previsão de lucros baseado na temperatura
• Regressão logística é usada para prever saídas binárias
o Uma das duas classes: aprovado/reprovado, ganhar/perder, saudável/doente
HORAS DE ESTUDO
AP
RO
VA
D
O
/R
EP
RO
VA
D
O
Horas 
estudo
Aprovado/
Reprovado
1 0
1.5 0
2 0
3 1
3.25 0
4 1
5 1
6 1
MODELO LINEAR
1. REGRESSÃO LOGÍSTICA
HORAS DE ESTUDO
AP
RO
VA
DO
/R
EP
RO
VA
DO
MODELO DE 
REGRESSÃO 
LOGÍSTICA
• Primeiro, utiliza uma equação linear
• Converte o valor em uma probabilidade (valores entre 0 e 1)
• Equação linear:
• ! = #$ + #& ∗ (
• Função sigmóide:
• ) ( = *+,-.+/ !
• ) ( = &&0123
• ) ( = &&012(56758∗9)
1. REGRESSÃO LOGÍSTICA
Classe 0
Classe 1
HORAS DE ESTUDO
AP
RO
VA
DO
/R
EP
RO
VA
DO
• Conversão para probabilidade
THRESHOLD
0.5
MODELO DE 
REGRESSÃO 
LOGÍSTICA
2. RANDOM FOREST
• Classificar se uma pessoa pode se aposentar baseado nas economias e idade
• Random Forest é considerado com conjunto de algoritmos (ensemble) 
• Cria um conjunto de árvores de decisão baseados em atributos randômicos
• Combina os votos de diferentes árvores de decisão
Savings>$1
M
Age > 45? Class #0 
NoYes
Class #1 Class #0 
NoYes
Savings>$1
M
Age > 45? Class #0 
NoYes
Class #1 Class #0 
NoYes
Savings>$1
M
Age > 45? Class #0 
NoYes
Class #1 Class #0 
NoYes
ÁRVORE #1 ÁRVORE #2 ÁRVORE #N
VOTO MAJORITÁRIO = CLASS #1
SAÍDA = CLASS #1 SAÍDA = CLASS #1 SAÍDA = CLASS #0
3. REDES NEURAIS ARTIFICIAIS
!"#$% & = ((*
+,%
-.
/",+# !+# & )
Node (n+1, i) representation
( / = 11 + 456
Função de ativação sigmóide
ú
ú
ú
ú
û
ù
ê
ê
ê
ê
ë
é
=
1
2
1
NP
P
P
P
!
7%% 7%8
78% 788 ⋯
7%,-:
78,-:
⋮ ⋱ ⋮
7=5%,% 7=5%,8
7=,% 7=,8 ⋯
7=5%,-:
7=,-:
PR
ED
IC
TI
O
N
S
TRUE CLASS
TRUE +
TRUE -
+
-
+ -
FALSE +
FALSE -
TYPE II 
ERROR
TYPE I 
ERROR
MATRIZ DE CONFUSÃO
KPIs (KEY PERFORMANCE INDICATORS)
o True positives (TP): quando o classificador previu TRUE (tem a doença), e 
a classe correta era TRUE (tem a doença)
o True negatives (TN): quando o modelo previu FALSE (não tem a doença), e 
a classe correta era FALSE (não tem a doença) 
o False positives (FP) (Type I error): classificador previu TRUE, mas a classe
correta era FALSE (não tem a doença) 
o False negatives (FN) (Type II error): classificador previu FALSE (não tem a 
doença), mas na verdade o paciente tem a doença
o Classification Accuracy = (TP+TN) / (TP + TN + FP + FN) 
o Precision = TP/Total TRUE Predictions = TP/ (TP+FP) - quando o modelo
previu TRUE, o quanto a previsão estava correta?
o Recall = TP/ Actual TRUE = TP/ (TP+FN) (quando a classe era TRUE, o 
quanto o classificador estava correto?)
PRECISION VS. RECALL
o Classification Accuracy = (TP+TN) / (TP + TN + FP + FN) = 91%
o Precision = TP/Total TRUE Predictions = TP/ (TP+FP) = ½=50% (quando o 
modelo prevê a doença, ele está correto em 50% dos casos) 
o Recall = TP/ Actual TRUE = TP/ (TP+FN) = 1/9 = 11% (o modelo identifica
corretamente 11% dos pacientes doentes)
PR
ED
IC
TI
O
N
S
TRUE CLASS
TP = 1
TN = 90
+
-
+ -
FP = 1
FN = 8
• Accuracy pode ser enganador e não é
suficiente para avaliar um algoritmo
• Recall é um KPI importante em
situações quando a base de dados é
desbalanceada
100 PACIENTES
91 SAUDÁVEIS 
9 DOENTES
• F1 Score combina precision e recall
• Média harmônica de precision e recall
• Em dados desbalanceados, se tivermos um grande número
de verdadeiros negativos (true negatives – pacientes
saudáveis), o accuracy será enganador. Nesse caso, F1 é uma
métrica melhor por prover um “balanceamento” entre 
precision e recall
!1 #$%&' = 2 ∗ (,-./0#012 ∗ -./344)(,-./0#012 + -./344)
!1 #$%&' = 2 ∗ 7,2 ∗ 7, + !, + !2
!1 #$%&' = 2 ∗ 12 ∗ 1 + 1 + 8 = 0,18
F1-SCORE
• Um dos pontos cruciais de marketing é conhecer os clientes e 
identificar suas necessidades
• Entendendo os consumidores podemos enviar campanhas
específicas para necessidades específicas
• Se dados sobre os clientes estão disponíveis, podemos aplicar
Ciência de Dados para segmentar o mercado
• Fomos contratados por um banco de NYC para analisar os dados e 
dividir os clientes em pelo menos 3 grupos
• # CUSTID: Identificação do cliente
• # BALANCE: Saldo para fazer compras
• # BALANCE_FREQUENCY: Frequência que o saldo é atualizado (1 = frequente, 0 
= não frequente)
• # PURCHASES: Quantidade de compras realizadas
• # ONEOFFPURCHASES: Quantidade de compras feitas “de uma só vez” (sem
parcelar)
• # INSTALLMENTS_PURCHASES: Quantidade de compras parceladas
• # CASH_ADVANCE: Dinheiro adiantado
• # PURCHASES_FREQUENCY: Frequência das compras (entre 1 e 0)
• # ONEOFF_PURCHASES_FREQUENCY: Frequência de compras à vista (entre 1 e 
0)
• # PURCHASES_INSTALLMENTS_FREQUENCY: Frequência de compras parceladas
(entre 1 e 0)
• # CASH_ADVANCE_FREQUENCY: Frequência de saques de dinheiro adiantado
• # CASH_ADVANCE_TRX: Número de transações feitas como "Cash in Advance"
• # PURCHASES_TRX: Número de compras
• # CREDIT_LIMIT: Limite do cartão de crédito
• # PAYMENTS: Valor pago
• # MINIMUM_PAYMENTS: Valor mínimo pago
• # PRC_FULL_PAYMENT: Percentual de pagamentos da fatura “completa”
• # TENURE: Posse do titular do cartão
• Algoritmo não supervisionado (clustering - agrupamento)
• Os registros são agrupados baseado em atributos similares, por meio do 
cálculo da Distância Euclidiana
INTUIÇÃO K-MEANS
ECONOMIAS
ID
AD
E
ECONOMIAS
ID
AD
E
K-MEANS
ECONOMIAS
ID
AD
E
ECONOMIAS
ID
AD
E
ECONOMIAS
ID
AD
E
ECONOMIAS
ID
AD
E
Adicionar K centroides para cada grupo Associar cada ponto com o centroide mais próximo
Calcular novo centroide para cada grupoRepetir!
DEFINIÇÃO DO NÚMERO DE GRUPOS: “ELBOW METHOD” 
(MÉTODO DO COTOVELO)
ECONOMIAS
ID
AD
E
!"#ℎ"% &'()#*+ ,(- ./ ,0(1+*) !&,,
= 3
45 67 89:;<=> ?
@")#1%A* B6, &? D + 3
45 67 89:;<=> D
@")#1%A* B6, &D D + 3
45 67 89:;<=> F
@")#1%A* B6, &F D
GH IJ
GH
GH
IK
IL
DEFINIÇÃO DO NÚMERO DE GRUPOS: “ELBOW METHOD” 
(MÉTODO DO COTOVELO)
ECONOMIAS
ID
AD
E
!"#ℎ"% &'()#*+ ,(- ./ ,0(1+*) !&,, = 3
45 67 89:;<=> ?
@")#1%A* B6, &? D
EF
GH
NÚMERO DE GRUPOS (K) = 1
DEFINIÇÃO DO NÚMERO DE GRUPOS: “ELBOWMETHOD” 
(MÉTODO DO COTOVELO)
ECONOMIAS
ID
AD
E
!"
#$
!"
#%
&'(ℎ'* +,-.(/0 1-2 34 15-60/. &+11 = 8
9: ;< =>?@ABC D
E'.(6*F/ G;, +D
I + 8
9: ;< =>?@ABC I
E'.(6*F/ G;, +I
I
NÚMERO DE GRUPOS (K) = 2
DEFINIÇÃO DO NÚMERO DE GRUPOS: “ELBOW METHOD” 
(MÉTODO DO COTOVELO)
ECONOMIAS
ID
AD
E
!" #$
!"
!"
#%
#&
'()ℎ(+ ,-./)01 2.3 45 26.710/ ',22
= 9
:; <= >?@ABCD E
F(/)7+G0 H<, ,E J + 9
:; <= >?@ABCD J
F(/)7+G0 H<, ,J J + 9
:; <= >?@ABCD L
F(/)7+G0 H<, ,L J
DEFINIÇÃO DO NÚMERO DE GRUPOS: “ELBOW METHOD” 
(MÉTODO DO COTOVELO)
NÚMERO DE GRUPOS “K”
W
IT
HI
N 
CL
US
TE
RS
 S
UM
 O
F 
SQ
UA
RE
S 
(W
CS
S)
OPTIMAL “K”
Fonte: https://commons.wikimedia.org/wiki/File:Tennis_Elbow_Illustration.jpg
https://commons.wikimedia.org/wiki/File:Tennis_Elbow_Illustration.jpg
PRINCIPAL COMPONENT ANALYSIS: VISÃO GERAL
• PCA é um algoritmo de aprendizagem não supervisionada
• Aplica redução de dimensionalidade, porém, tenta manter as informações
originais com as mesmas características
• Encontra um novo conjunto de características que são chamados de 
componentes
• Os componentes são criados por meio das características não correlacionadas
Fonte: http://phdthesis-bioinformatics-maxplanckinstitute-molecularplantphys.matthias-scholz.de/
http://phdthesis-bioinformatics-maxplanckinstitute-molecularplantphys.matthias-scholz.de/
AUTOENCODERS – INTUIÇÃO
• São um tipo de redes neurais artificiais para codificar dados 
• Utiliza a mesma entrada e a mesma saída para comparar os resultados
Fonte da foto: https://commons.wikimedia.org/wiki/File:Autoencoder_structure.png
Fonte da foto: https://commons.wikimedia.org/wiki/File:Artificial_neural_network_image_recognition.png
Fonte da foto: https://www.pexels.com/photo/grey-and-white-short-fur-cat-104827/
TARGET (TRUE) 
LABEL = CAT
ENCODED CAT 
IMAGE
https://commons.wikimedia.org/wiki/File:Autoencoder_structure.png
https://commons.wikimedia.org/wiki/File:Artificial_neural_network_image_recognition.png
https://www.pexels.com/photo/grey-and-white-short-fur-cat-104827/
CAMADAS DO AUTOENCODER
• Versão comprimida da informação na camada do meio (codificação)
• Funcionam se existir correlação entre os dados de entrada (resultados
ruins se os dados de entrada são todos independentes) 
Fonte da foto: https://commons.wikimedia.org/wiki/File:Autoencoder_structure.png
Fonte da foto: https://commons.wikimedia.org/wiki/File:Artificial_neural_network_image_recognition.png
Fonte da foto: https://www.pexels.com/photo/grey-and-white-short-fur-cat-104827/
DADO
CODIFICADO
ENCODER DECODER
https://commons.wikimedia.org/wiki/File:Autoencoder_structure.png
https://commons.wikimedia.org/wiki/File:Artificial_neural_network_image_recognition.png
https://www.pexels.com/photo/grey-and-white-short-fur-cat-104827/
• Para que as empresas sejam competitivas e crescerem, o uso de 
IA/ML é muito importante para previsões de vendas futuras
• Modelos de previsão de vendas futuras baseados em dados do 
passado devem considerar efeitos sazonais, como por exemplo: 
demanda, feriados, promoções e concorrência
• Neste projeto, nós trabalhamos como cientista de dados de uma
rede de lojas físicas e temos dados de 1.115 lojas!
• O objetivo é prever vendas futuras
PASSADO
FUTURO
TEMPO
VE
ND
AS
DADOS DAS TRANSAÇÕES
• Id: identificador da transação (loja + data)
• Loja: identificador único da loja
• Sales: vendas/dia (objetivo)
• Customers: número de clientes no dia
• Open: boleano que indica se a loja estava aberta ou
fechada (1 = aberta, 0 = fechada)
• Promo: se existe uma promoção no dia
• StateHoliday: feriado (a = feriado
público, b = Páscoa, c = Natal, 0 = nenhum)
• SchoolHoliday: feriado escolar
DADOS DAS LOJAS
• StoreType: tipo da loja (a, b, c, d)
• Assortment: a = basic, b = extra, c = extended
• CompetitionDistance (metros): distância para a loja
concorrente mais perto
• CompetitionOpenSince [Month/Year]: data que a loja
concorrente foi aberta
• Promo2: promoção contínua e consecutiva em algumas lojas
(0 = não está participando, 1 = está participando)
• Promo2Since [Year/Week]: data quando a loja começou a 
participar da Promo2
• PromoInterval: intervalos consecutivos que a Promo2 é
iniciada (meses). Exemplo: "Feb,May,Aug,Nov" indica que 
cada “round” da promoção começa em
February, May, August, November
FACEBOOK PROPHET (PROFETA)
• É um software open source lançado pelo time de Ciência de Dados do 
Facebook
• Permite a previsão de séries temporais baseado em “regressão
aditiva” 
• Tendências não lineares podem ser descobertas anualmente, 
semanalmente, diariamente (considera feriados)
• Funciona melhor com efeitos sazonais e com grande quantidade de 
dados
• Para mais informações
o https://research.fb.com/prophet-forecasting-at-scale/
o https://facebook.github.io/prophet/docs/quick_start.html#p
ython-api
! = #$ +&
'()
*
+' ,' + -
https://research.fb.com/prophet-forecasting-at-scale/
https://facebook.github.io/prophet/docs/quick_start.html
• IA/ML/DL tem revolucionado a área da medicina e saúde:
o Imagens médicas
o Novos medicamentos
o Pesquisas relacionadas ao genoma
Referência: "Computer learns to detect skin cancer 
more accurately than doctors". The Guardian. 29 May 
2018
• Deep learning tem provado ser superior na detecção e 
classificação de doenças usando imagens médicas
• Câncer de pele pode ser detectado com maior precisão por
modelos de Deep Learning do que por dermatologistas
experientes (2018). 
o Dermatologistas = 86.6%
o Deep learning = 95%
• Nesse estudo de caso, vamos assumir que somos consultores de 
Deep Learning 
• Fomos contratados por um hospital para automatizar o processo
de detectar e classificar doenças pulmonares, reduzindo o custo e 
tempo da detecção
• Os profissionais da saúde coletaram várias imagens de raio-x, 133 
imagens que pertencem a 4 classes:
o Healthy (saudável)
o Covid-19
o Bacterial Pneumonia
o Viral Pneumonia 
REDES NEURAIS CONVOLUCIONAIS
• As primeiras camadas convolucionais são utilizadas para extrair características
gerais das imagens (bordas, linhas)
• As últimas camadas são utilizadas para classificação
• As “bordas/linhas” são utilizadas nas camadas seguintes para formar
características mais complexas (olhos, boca, nariz)
REDES NEURAIS CONVOLUCIONAIS
REDES NEURAIS CONVOLUCIONAIS
• Existem diversas arquiteturas de redes neurais convolucionais
treinadas e disponíveis para uso: 
o LeNet-5 (1998): 7 níveis de convolução aplicada na classificação
de dígitos manuscritos
o AlexNet (2012): apresentou melhorias, reduzindo o erro de 26% 
para 15.3%
o ZFNEt (2013): erro de 14.8%
o Googlenet/Inception (2014): erro de 6.67% (similar a precisão
humana)
o VGGNet (2014)
o ResNet (2015): Residual Neural Network com a inclusão do 
conceito de “skip connection” que permitiu o treinamento de 
152 camadas. Erro de 3.57% (superior aos humanos) 
Source: https://medium.com/analytics-vidhya/cnns-architectures-lenet-alexnet-vgg-googlenet-
resnet-and-more-666091488df5
https://medium.com/analytics-vidhya/cnns-architectures-lenet-alexnet-vgg-googlenet-resnet-and-more-666091488df5
RESNET (RESIDUAL NETWORK)
• Problema do gradiente desaparecendo (vanish gradient 
problem)
• Conceito de “skip connection” (usada na arquitetura YOLO)
• A base de dados ImageNet contém 11 milhões de imagens e 
11.000 categoriais
• Essa base de dados é utilizada para treinar a arquitetura
ResNet
TRANSFERÊNCIA DE APRENDIZAGEM
• É uma técnica na qual uma rede neural foi treinada para realizar uma
determinada tarefa e é reusada como ponto de partida para uma tarefa
similar
• Muito útil porque reduz drasticamente o tempo de treinamento
• Crédito da imagem: https://commons.wikimedia.org/wiki/File:Lillehammer_2016_-_Figure_Skating_Men_Short_Program_-
_Camden_Pulkinen_2.jpg
• Crédito da imagem: 
https://commons.wikimedia.org/wiki/Alpine_skiing#/media/File:Andrej_%C5%A0porn_at_the_2010_Winter_Olympic_downhill.jpg
• Citations: Olga Russakovsky, Jia Deng, Hao Su, Jonathan Krause, Sanjeev Satheesh,Sean Ma, Zhiheng Huang, Andrej Karpathy, Aditya 
Khosla, Michael Bernstein, Alexander C. Berg and Li Fei-Fei. 
• ImageNet Large Scale Visual Recognition Challenge. arXiv:1409.0575, 2014.
KNOWLEDGE TRANSFER
TRANSFERÊNCIA DE APRENDIZAGEM
• Processamento de linguagem natural pode ser utilizado para 
prever se clientes estão ou não satisfeitos
• Conversão de letras para números para treinar modelos de 
aprendizagem de máquina
• Não há necessidade de analisar os textos manualmente
• Basedo nos reviews em formato de texto, o objetivo é prever se 
os clientes estão ou não satisfeitos
• O departamento de relações públicas coletou textos escritos
pelos seus clientes
TOKENIZAÇÃO (COUNT VECTORIZER)
This is the first document.
This document is the second document.
And this is the third one.
Is this the first document?
[[0 1 1 1 0 0 1 0 1] 
[0 2 0 1 0 1 1 0 1] 
[1 0 0 1 1 0 1 1 1] 
[0 1 1 1 0 0 1 0 1]]
'and' 'document' 'first' 'is' 'one' 'second' 'the' 'third' 'this'
Training
Sample 
#1
0 1 1 1 0 0 1 0 1
Training
Sample 
#2
0 2 0 1 0 1 1 0 1
Training
Sample 
#3
1 0 0 1 1 0 1 1 1
Training
Sample 
#4
0 1 1 1 0 0 1 0 1
NAÏVE BAYES: INTUIÇÃO
• O Naïve Bayes é um algoritmo de classificação baseado no teorema de 
Bayes
FEATURE #1: IDADE
FE
AT
UR
E 
#2
: E
CO
N
O
M
IA
S
?
40 PONTOS AZUIS
20 PONTOS VERMELHOS
CLASSE 1: APOSENTAR
CLASSE 0: NÃO APOSENTAR
NOVO CLIENTE
NAÏVE BAYES: 1. PROBABILIDADES A PRIORI
!"#$" !"$%&%#'#() *$" +,-
= /01%2" $* +,- !$#3(45$(&' /01%2" $* !$#3(4 =
20
60
!"#$" !"$%&%#'#() *$" 9:;,
= /01%2" $* 9:;, !$#3(45$(&' /01%2" $* !$#3(4 =
40
60
FEATURE #1: IDADE
FE
AT
UR
E 
#2
: E
CO
NO
M
IA
S
?
40 PONTOS AZUIS
20 PONTOS VERMELHOS
CLASSE 1: APOSENTAR
CLASSE 0: NÃO APOSENTAR
NAÏVE BAYES: 2. LIKELIHOOD 
FEATURE #1: IDADE
FE
AT
UR
E 
#2
: E
CO
NO
M
IA
S
?
!"#$%"ℎ''( ') * +$",- ./0
= 234+$5 ') ./0 6'",78 ", 9":","7;<'7=% 234+$5 ') ./0 6'",78 =
3
20
40 PONTOS AZUIS
20 PONTOS VERMELHOS
!"#$%"ℎ''( ') * +$",- A!B/
= 234+$5 ') A!B/ 6'",78 ", 9":","7;<'7=% 234+$5 ') A!B/ 6'",78 =
1
40
NAÏVE BAYES: 3. PROBABILIDADE POSTERIORI
FEATURE #1: IDADE
FE
AT
UR
E 
#2
: E
CO
NO
M
IA
S
?
!"#$%&'"& !&"()('*'$+ ", - (%'./ 012 =
!&'"& !&"()('*'$+ ", 012 ∗
5'6%*'ℎ""8 ", - (%'./ 012 = 9:;: ∗
<
9: =
=
9: =	0,05
40 PONTOS AZUIS
20 PONTOS VERMELHOS
!"#$%&'"& !&"()('*'$+ ", - (%'./ B5C1 =
!&'"& !&"()('*'$+ ", B5C1 ∗
5'6%*'ℎ""8 ", - (%'./ B5C1 = D:;: ∗
=
D: =
=
;: = 0,16
X É CLASSIFICADO COMO VERMELHO (NÃO 
APOSENTAR) POIS A PROBABILIDADE É
MAIOR
• IA e ML estão transformando a indústria, principalmente os
departamentos de produção e manutenção
Referência: https://www.cio.com/article/3302797/how-ai-is-revolutionizing-
manufacturing.html
• De acordo com o relatório do World Economic Forum, essas
tecncologias terão grande impacto na indústria 4.0
o Departamento de manutenção
o Departamento de produção
o Cadeia de suprimentos
• Técnicas de Deep Learning tem provado serem eficientes para 
detecção e localização de defeitos em imagens
• LandingAI: https://landing.ai/defect-detection/
https://landing.ai/defect-detection/
RESNET DEEP 
LEARNING 
CLASSIFIER MODEL
RESUNET 
SEGMENTATION 
MODEL
CLASSIFICAÇÃO E SEGMENTAÇÃO
IMAGENS PROVIDAS PELO 
DEPARTAMENTO DE 
MANUTENÇÃO
SEM 
DEFEITO
DEFEITO 
DETECTADO
FIM
DETECÇÃO DA 
LOCALIZAÇÃO DO DEFEITO
MASK (MÁSCARA)
• O objetivo da segmentação de imagens é “entender” a imagem pixel a pixel, 
sendo que cada pixel é associado a uma classe
[[ 0, 0],
[0, 0]]
[[ 255, 0],
[0, 255]]
• A saída da segmentação produz uma nova imagem, que é chamada de 
“máscara da imagem”
• Máscaras podem ser representadas associando valores de pixels para 
coordenadas
• Para representar máscaras aplicamos o processo de “flattening” – 1-D array
• Exemplo: [255, 0, 0, 255], [1, 0, 0, 1]
RUN LENGTH ENCODING (RLE)
• Técnica para compressão de dados que armazena sequências que contém
dados consecutivos (combinação em um só valor)
• Considerando que temos uma imagem com texto preto em fundo branco
WWWWWWWWWWWWBWWWWWWWWWW
WWBBBWWWWWWWWWWWWWWWWWWW
WWWWWBWWWWWWWWWWWWWW
• Run-length encoding (RLE):
12W1B12W3B24W1B14W
RESUNET
• Combina a arquitetura UNet com blocos residuais (skip connection) para reduzir o problema do 
gradiente desaparecendo (vanish gradient problem)
• Consiste em três partes:
• (1) Encoder or contracting path
• (2) Bottleneck 
• (3) Decoder or expansive path 
INPUT IMAGE SEGMENTATION MASK
BOTTLENECK
• Conexão entre as camadas
ARQUITETURA
CONTRACTION PATH 
(ENCODER)
• Primeiro bloco: camada
convolucional 3x3, relu, 
BatchNormalization
• Próximos blocos: “res 
blocks” com pooling de 
2x2 (downsampling)
EXPANSION PATH (DECODER)
• Primeiros três blocos: “res block” com pooling 
2x2 (upsampling)
• Último bloco: camada convolucional 1x1

Continue navegando