Escolar Documentos
Profissional Documentos
Cultura Documentos
0
31/01/2024
2024
à Visão Computacional
Trilha de Aprendizagem:
Inteligência Artificial aplicada
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e o código CRC UZDIGMX2.
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Conteúdo
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Adriana da Silva Nogueira
Coordenação-Geral
José Augusto de Lima Prestes
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Adriana da Silva Nogueira é professora licenciada há mais de 18 anos em
Computação, mestre em Educação e pós-graduada em TI aplicada à Educação.
Possui experiência ministrando aulas para ensino superior em cursos da área
de TI que somam mais de 16 anos. Sua experiência no ensino superior envolve
disciplinas relacionadas à programação de computadores, análise de sistemas
e engenharia de software.
Durante 6 anos atuou como educadora maker desenvolvendo projetos e o código CRC UZDIGMX2.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Bruno Agrofoglio Ferreira é físico pela UNICAMP. Entre 2002 e 2005,
trabalhou com a aquisição e análise de dados do Observatório Pierre Auger
(Argentina). A colaboração no maior observatório de Raios Cósmicos do
mundo proporcionou-lhe a primeira experiência em hardware embarcado e
transmissão de dados via rádio. Desde 2001, participou junto à Pró-Reitoria de
Extensão e Cultura da UNICAMP do Projeto Raio de Sol e do Projeto Educativo
de Integração Social. Colaborou em projetos de iniciação e divulgação
científica júnior junto ao Instituto de Física Gleb Wataghin. Cursa mestrado e o código CRC UZDIGMX2.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Júlio Leitão é bacharel em administração de empresas e possui pós
graduação (MBA) em gestão financeira e controladoria.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Larissa de Oliveira Figueira é mestre em Física Aplicada pela Universidade
Estadual Paulista e adquiriu vasta experiência em Inteligência Artificial,
Otimização, Robótica Educacional e tecnologias educacionais ao longo de sua
carreira. Desempenhou diferentes papéis, incluindo o de docente no Ensino
Superior e gestora educacional, o que lhe proporcionou uma visão abrangente
das necessidades e demandas no campo da tecnologia.
Larissa também se destaca pelo seu envolvimento na capacitação de e o código CRC UZDIGMX2.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Marcelo de Almeida Viana é mestre e doutor em Engenharia Elétrica pela
UNICAMP, especialista em gerenciamento de projetos pelo SENAC-SP e
engenheiro eletricista pela PUC-MG.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Peterson Gomes de Moura Barros possui especializações em Engenharia de
Automação e Eletrônica Industrial, Engenharia de Produção e atualmente é
pós-graduando em Educação online e Tecnologias de Aprendizagem. É
tecnólogo em Gestão da TI e técnico em Eletroeletrônica.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
José Augusto de Lima Prestes está desde abril de 2018 como Gerente de
Governança e Compliance da Facti. Nesta função, tem a responsabilidade de
gerenciar o trabalho de todas as áreas técnicas e administrativas da instituição.
Adicionalmente, ocupa, desde agosto de 2020, a função de Encarregado pelo
Tratamento de Dados Pessoais da organização. Ele também ocupa o papel de
gerente de diferentes projetos de Pesquisa, Desenvolvimento e Inovação em
TICs, atuando em escopos diversos que vão do desenvolvimento de software
para a gestão de políticas públicas à capacitação de pessoas para lidarem com
os desafios da Indústria 4.0. Na sua produção técnico-científica, teve e o código CRC UZDIGMX2.
Sumário
Prefácio 18
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
1.2. Inspirar 21
1.2.1. Estudo de Caso 23
1.3. Conceitualizar 25
1.3.1. Introdução à Inteligência Artificial 25
1.5. Avaliar 95
Referências 96
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
2.3.3. Algoritmos mais comuns em Visão Computacional 148
Referências 186
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3.3.10. Estruturas de controle de fluxo 257
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
4.4. Consolidar 447
4.4.1. Estudo de Caso 447
Referências 458
Referências 515
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Capítulo 6: Visão Computacional aplicada ao reconheci-
mento de emoções 517
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
7.2.1. Estudo de Caso 554
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
de texto com OCR 635
Referências 643
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Referências 688
Avaliar final 690
Considerações finais 691
17
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Prefácio
Este curso de Inteligência Artificial aplicada à Visão Computacional abordará
dois temas que nos próximos anos deverão estar cada vez mais presentes em
nossa vida acadêmica, pessoal e profissional.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
De acordo com os mais recentes estudos a respeito, é esperado que ambas
as tecnologias estejam em um platô de produtividade até o ano de 2026. Isto
significa dizer que se tornarão passíveis de utilização nos mais diversos
contextos e finalidades, permitindo que consigamos realizar atividades até
então consideradas impossíveis, muito difíceis ou muito caras.
Esperamos que você goste deste curso tanto quanto nós gostamos de
elaborá-lo. E, por fim, que o conhecimento adquirido possa ser relevante para os
seus próximos passos nos estudos, na carreira ou com a família.
18
Capítulo 1:
Introdução à
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Inteligência Artificial
Autor
Peterson Gomes de Moura Barros
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e o código CRC UZDIGMX2.
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1.1. Introdução
Boas-vindas ao capítulo 2! Aqui será tratado o tema Introdução à
Inteligência Artificial! Você avançará, neste capítulo, adentrando nessa
tecnologia que vem revolucionando a criação e operação de sistemas nos mais
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
diversos setores da sociedade (acadêmico-científico, industrial, agrícola etc.) de
forma mais ampla: a Inteligência Artificial (IA) vem revolucionando vários
aspectos nas interações humanas!
Você irá explorar os princípios fundamentais que regem a IA, seu contexto
histórico, definições, tipos e modelos. Descobrirá a importância deste campo e
suas aplicações na nossa sociedade, e como as máquinas aprendem e utilizam
os dados para aperfeiçoar sua operação, por meio do Aprendizado de Máquina,
redes neurais e Deep Learning.
20
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1.2. Inspirar
Você já deve ter ouvido falar sobre IA não é? Já deve ter percebido o
surgimento, cada vez mais constante, de máquinas e sistemas que tomam
decisões aperfeiçoando seu próprio modo de operar, como se fossem
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
inteligentes.
Logo, obter conhecimentos sobre IA é preparar-se adequadamente para a e o código CRC UZDIGMX2.
21
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
profissional em uma temática que certamente será presente e influente no
futuro do mundo do trabalho e na sociedade como um todo.
22
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
profunda sobre este caso servirá para embasar futuras discussões e uma visão
positiva e funcional sobre a IA.
1.2.1.1. Cenário
e o código CRC UZDIGMX2.
23
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
proliferação de cidades mais inteligentes.
24
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1.3. Conceitualizar
1.3.1. Introdução à Inteligência Artificial
A Inteligência Artificial é um campo multidisciplinar que envolve a criação e o
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
desenvolvimento de sistemas e programas de computador capazes de realizar
tarefas que, normalmente, requerem inteligência humana. Seu objetivo
fundamental é simular e reproduzir características e habilidades cognitivas,
como aprendizado, raciocínio, percepção, Processamento de Linguagem Natural
e tomada de decisões, com o intuito de replicar ou superar o desempenho
humano nessas áreas. E toda esta tecnologia já está mais presente do que
muitos de nós imaginam, inclusive em atividades do dia-a-dia, como mostra o
infográfico a seguir:
25
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Para além do cotidiano que enxergamos, a IA também já é responsável por
muitos serviços que rodam nos bastidores, no que chamamos de backend dos
sistemas, realizando predições e operações em campos mais complexos, como
transações financeiras e análises científicas. Já em outros casos, o uso da IA é tão
intrincado que, por vezes, não percebemos que ela já está presente e operante,
como nas projeções de cenários econômicos e políticos, nas simulações
envolvendo relações internacionais, etc. E todos eles, direta ou indiretamente,
também afetam as nossas vidas.
26
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
E como chegamos até aqui, qual foi o caminho dessa tecnologia para
chegar até o que conhecemos hoje?
Veremos na próxima etapa deste capítulo mais sobre este contexto histórico
da IA.
27
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Já foi entre as décadas de 1930 e 1940 que o conceito moderno de IA
começou a se desenvolver, junto com o advento da computação. Tivemos
figuras importantíssimas desta era pioneira que já discorriam sobre as
possibilidades da existência e funcionamento de máquinas inteligentes, mesmo
que não houvesse ainda tecnologia para implementação. Alguns avanços
conceituais e teóricos no campo da IA já começavam a se manifestar nestas
primeiras décadas. Um pioneiro notável nesse período foi Alan Turing, cujas
contribuições transcenderam décadas (Kissinger et al., 2023).
Foi somente a partir de 1950 que passou a haver uma colaboração mais
intensa entre engenheiros e matemáticos na construção dos alicerces da IA
moderna, com avanços significativos em campos como a lógica simbólica, o
Processamento de Linguagem Natural e o desenvolvimento de algoritmos de
aprendizado.
28
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e o código CRC UZDIGMX2.
29
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Mas, ao passo que computadores e linguagens de programação evoluíram,
a IA também crescia e era aplicada a outros setores. Veja a seguir uma linha do
tempo que ilustra a evolução do conceito e experimentações com IA desde as
primeiras décadas na história da computação até os anos de 1980:
30
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Learning, ou Aprendizado de Máquina (Kissinger et al., 2023). Veremos mais
adiante neste capítulo mais sobre o conceito de Machine Learning.
31
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 06 : Pontos marcantes no desenvolvimento da Inteligência Artificial.
Fonte: Opencadd.
32
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 07 : Computador quântico
Fonte:Revista Galileu
(Onody, 2021).
33
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Portanto, a própria definição de IA também está evoluindo, correto? Assim,
conceituar o que é a IA, ou o que vem a ser uma máquina inteligente, pode ser
mais assertivo se focarmos nossa análise em características imutáveis e
atemporais, que qualquer sistema possuidor de IA deva apresentar. Com esta
premissa em mente, vamos tentar buscar definições apropriadas para a IA.
34
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
humano, em uma conversa escrita [...] Então eu diria que a máquina é inteligente"
(Turing, 1950, p.434).
35
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Na mesma linha do conceito de Alan Turing para a IA, podemos agora trazer
outras definições, como a do Parlamento Europeu (2023): “A Inteligência Artificial
(IA) é a capacidade que uma máquina tem para reproduzir competências
semelhantes às humanas, como é o caso do raciocínio, a aprendizagem, o
planejamento e a criatividade.” Ou ainda da empresa IBM (2023), que define assim
a IA em seu site: “A Inteligência Artificial utiliza computadores e máquinas para
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
imitar a capacidade de resolução de problemas e tomada de decisão da mente
humana”.
36
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e o código CRC UZDIGMX2.
Figura 08: Máquina inteligente.
Fonte: imagem gerada por IA.
37
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 09: IA Forte vs IA Fraca.
Fonte: Lifewire.
38
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
do tempo com base nas interações anteriores. Isso resulta em uma experiência
mais personalizada e eficiente para os usuários. O reconhecimento de fala é
outra característica essencial, permitindo que os assistentes compreendam
comandos verbais e realizem ações correspondentes (Kissinger et al., 2023) .
39
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
selecionada como finalista do Prêmio Jabuti 2023, e só foi desclassificada pela
organização da premiação após uma grande polêmica envolvendo o uso da
tecnologia. Concorrendo na categoria de Melhor Ilustração de 2023, o livro em
questão é uma nova edição do clássico Frankenstein, de Mary Shelley. A obra
traz em torno de 50 imagens geradas por IA (Tecmundo, 2023).
Mas, o que mais impressiona nesse caso, é que um dos jurados responsável
pela categoria de ilustrações, o desenhista André Dahmer, disse que não sabia
do uso da tecnologia para a criação da ilustração quando votou!
40
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 11: Exemplos de uso de IA Generativa.
Fonte: Sankhya
41
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Outro exemplo interessante é a aplicação da IA Generativa em design de
produtos. Empresas têm utilizado algoritmos para gerar designs de moda,
móveis e até mesmo automóveis. Essa abordagem não apenas acelera o
processo criativo, mas também introduz elementos inesperados e criativos,
resultando em produtos únicos e cativantes.
Por fim, falemos de dois modelos de IA Forte que ainda estão em fase de
pesquisa. Primeiro, a Inteligência Artificial Geral (ou AGI - Artificial General
Intelligence), que visa alcançar um nível de inteligência comparável ou superior
à inteligência humana em todos os aspectos.
42
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
não somente igualar as capacidades intelectuais humanas, como ocorre no
modelo AGI, mas deverá focar no incremento e superação dessas capacidades.
Este ainda é um campo teórico da IA, que, uma vez implementado, possibilitaria
às máquinas não só aprender com as operações que realizam nas mais diversas
áreas, mas também dispor da capacidade para melhorar e reformular todo um
campo do conhecimento, como a engenharia, medicina e economia.
43
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
que estão prestes a mudar nossas vidas. A IA já alimenta muitos de nossos
aplicativos e sites favoritos, e nos próximos anos dirigirá nossos carros,
gerenciará nossos portfólios, fabricará muito do que compramos e
potencialmente tirará nossos empregos. Estes usos estão repletos de riscos
promissores e perigos potenciais, e devemos nos preparar para as duas coisas.
(Lee, 2019, p.7)
Ainda segundo Kissinger et al. (2023, p.12) “agora [...] que o poder de
computação necessário para operar a IA sofisticada está se tornando prontamente
disponível, poucos setores permanecerão inalterados.”
44
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 15: Aplicação da IA nas organizações.
Fonte: Valor Econômico
45
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e o código CRC UZDIGMX2.
46
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Diversas empresas e instituições, tanto públicas quanto privadas, têm
buscado compreender as nuances da ética no contexto da IA. Dentre diversos
esforços, nós podemos, a título ilustrativo, observar e aprender com a
abordagem que a Microsoft (2022) trouxe nos seus 6 Princípios da IA
responsável:
3 - Princípio da transparência: os sistemas de AI e seus resultados devem ser e o código CRC UZDIGMX2.
47
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
6 - Princípio da privacidade: os sistemas de AI devem ser seguros e respeitar a
privacidade. Quando falamos em Privacidade, estamos falando de todas as
saídas de dados mostradas para os usuários. Nelas, os valores devem ser
mostrados somente se necessário e/ou com proteções como criptografia.
48
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1.3.5.1. Medicina
A integração da IA com a medicina inaugurou uma era transformadora,
oferecendo uma infinidade de benefícios que melhoram o atendimento ao
paciente, o diagnóstico e a gestão geral da saúde. Esta sinergia entre a
tecnologia avançada e a ciência médica tem o potencial de revolucionar o
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
panorama da saúde.
49
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
recursos.
50
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
terapias inovadoras no mercado.
51
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
cuidados de saúde.
52
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1.3.5.2. Indústria
A Indústria tem vivido uma revolução impulsionada pela IA, com aplicações
práticas que transformam processos tradicionais. A manutenção preditiva, o
controle de estoque, o design generativo, a gestão da qualidade, a robótica e a
redução de perdas são apenas algumas das áreas em que a IA exerce impacto
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
significativo, moldando um novo paradigma industrial.
53
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
como uma ferramenta essencial na busca pela excelência na produção
industrial.
54
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Em síntese, a Inteligência Artificial é uma força motriz nos avanços da
Indústria 4.0, impactando a manutenção preditiva, controle de estoque, design
generativo, gestão da qualidade, robótica e redução de perdas.
55
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1.3.5.3. Agronomia
A IA tem emergido como uma força catalisadora na transformação da
agronomia, redefinindo a forma como abordamos a produção agrícola e o
manejo de recursos naturais. Neste contexto, destacamos avanços e influências
específicas, abordando aplicações práticas da IA, tais como a otimização do
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
cultivo, o monitoramento agrícola, a previsão de colheitas, o manejo inteligente
de pragas e doenças, além do desenvolvimento de sistemas de irrigação
eficientes.
Educação e Profissão.
56
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
monitoramento preciso do desenvolvimento das culturas, identificação precoce
de problemas e ajustes rápidos nas práticas de manejo (Zanatta, 2023).
A previsão de colheitas é uma ferramenta estratégica aprimorada pela IA,
contribuindo para o planejamento eficiente da produção. Modelos preditivo
utilizam dados históricos, condições meteorológicas e variáveis ambientais
para antecipar o momento ideal da colheita (Orbia, 2024). Essa abordagem não
apenas reduz a incerteza para os agricultores, mas também permite uma
gestão mais eficiente da cadeia de suprimentos, minimizando desperdícios e
otimizando a distribuição de produtos agrícolas.
O manejo inteligente de pragas e doenças representa uma resposta
proativa aos desafios enfrentados na agricultura. A IA, por meio de algoritmos
de detecção, possibilita a identificação precoce de padrões associados a
infestações, isso permite a aplicação precisa de pesticidas e a implementação
57
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
também aumenta a eficiência no uso da água na agricultura (Conectar Agro,
2022).
58
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1.3.5.4. Educação
A integração da IA com a educação representa uma revolução pedagógica,
proporcionando uma série de estratégias inovadoras para aprimorar a
aprendizagem e oferecer benefícios significativos tanto para alunos quanto para
educadores (Huttenlocher et al., 2023). Uma aplicação notável é a personalização
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
do ensino, em que algoritmos de IA analisam o desempenho individual dos
alunos e adaptam os materiais de aprendizado de acordo com suas
necessidades específicas. Plataformas de aprendizado online já utilizam IA para
oferecer exercícios personalizados e feedback instantâneo, promovendo um
aprendizado mais eficaz.
59
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
educação, segundo a redação Homework (Terra, 2023).
60
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 22: Ações recomendadas Conferência Internacional IA e Educação
Fonte: Instituto Unibanco.
61
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1.3.5.5. Segurança
A IA emerge como uma força transformadora no campo da segurança,
abrangendo desde a segurança pública até a proteção de dados e sistemas
críticos. Neste contexto amplo, a IA desempenha um papel vital na detecção
proativa de ameaças, na análise de padrões complexos e na adaptação dinâmica
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
para enfrentar os desafios cada vez mais sofisticados em segurança. Ao mesmo
tempo que oferece eficiência e agilidade, a implementação ética e responsável
da IA na segurança torna-se um imperativo para equilibrar a inovação
tecnológica com considerações éticas e de privacidade (Silva, 2023).
62
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
resiliência contra ameaças cibernéticas, mas também destaca a necessidade de
abordagens éticas e transparentes para garantir uma cibersegurança robusta e
equilibrada.
63
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
potenciais ameaças, contribuindo para a prevenção de crimes.
64
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
relevantes.
65
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
urbanos contemporâneos. No cerne dessa transformação, a IA emerge como
uma força motriz, moldando de maneira significativa o panorama urbano e
redefinindo a interação entre os cidadãos e a infraestrutura urbana.
66
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Algoritmos de roteamento dinâmico consideram variáveis em tempo real,
como tráfego e condições meteorológicas, oferecendo alternativas
eficientes de deslocamento.
67
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Podemos citar ainda algumas ações que estão se tornando comuns, com os
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
em 2021, metade das maiores empresas do mundo já utilizavam gêmeos
digitais, e a estimativa para 2023 das receitas geradas a partir desta tecnologia
foi de US$ 13 bilhões.
68
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Desta forma, o aprendizado artificial ou Aprendizado de Máquina não é
somente um subgrupo da IA, mas também toda a estrutura que permite, por
meio de algoritmos, que uma IA ganhe mais autonomia e aperfeiçoamento em
suas tarefas, fazendo com que um sistema fique mais inteligente (Kissinger et
al., 2023).
69
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Ao invés de implementar rotinas de software, como na programação
tradicional, com um conjunto específico de regras e instruções que quando
atendidas realizam uma ação para completar uma tarefa em particular, em ML a
máquina é “treinada” utilizando uma grande quantidade de dados e algoritmos
que lhe proporcionam a habilidade de aprender como executar a tarefa,
tomando decisões em situações que não são conhecidas.
70
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
minimizar o erro de previsão.
● Parada: O processo de treinamento é interrompido quando o erro
de previsão é aceitável.
5. Avaliação do modelo: O modelo é avaliado usando um conjunto de dados
de teste que deve ser diferente do conjunto de dados de treinamento, para
garantir que o modelo não esteja apenas memorizando estes dados.
6. Aprimoramento do modelo: Se o desempenho do modelo não for
satisfatório, o modelo pode ser aprimorado usando as seguintes técnicas:
● Alteração do algoritmo de Aprendizado de Máquina.
71
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 29: Funcionamento do Machine Learning.
Fonte: Facti.
72
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
aprendizado e modos de funcionamento. Estas categorias podem ser
combinadas conforme a necessidade específica. São elas (Microsoft, 2022):
73
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
1. Regressão: O modelo por regressão, no contexto do Aprendizado de
Máquina Supervisionado, é fundamental para resolver problemas em que a
tarefa envolve a predição de valores numéricos. Visa estimar uma variável
contínua com base nas relações identificadas nos dados de treinamento.
Esses modelos são amplamente utilizados em situações como previsão de
vendas, análise financeira e qualquer contexto em que a resposta desejada
seja um número real. A flexibilidade e aplicabilidade dos modelos de
regressão no Aprendizado de Máquina supervisionado destacam sua
importância na resolução de uma ampla gama de problemas do mundo real
(Microsoft, 2022).
74
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
características das instâncias e suas classes correspondentes. Após o
treinamento, o modelo torna-se capaz de generalizar para novos dados não
rotulados, classificando-os com base no conhecimento adquirido durante a
fase de treinamento. A classificação é uma técnica poderosa com amplas
aplicações, desde diagnósticos médicos até reconhecimento de padrões em
grandes conjuntos de dados, destacando-se como uma ferramenta valiosa
no arsenal do Aprendizado de Máquina supervisionado (Microsoft, 2022).
Exemplo: prever as chances de um paciente ter diabetes (Y) por meio das
entradas de dados (X): Histórico de doenças do paciente, quais tiveram
diabetes.
75
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 32: Matriz de confusão.
Fonte: Medium
76
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Este paradigma é amplamente utilizado em tarefas como clustering, em que
o algoritmo agrupa automaticamente instâncias de dados sem conhecer
antecipadamente suas categorias. Ele é essencial para explorar padrões
intrínsecos em grandes conjuntos de dados, proporcionando insights valiosos e
facilitando a compreensão de estruturas complexas sem a necessidade de
rótulos explícitos (Souza, 2021).
77
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
rotulados para aprender padrões e fazer previsões, o modelo também aproveita
as informações dos dados não rotulados para aprimorar sua generalização e
capacidade de lidar com novos exemplos (Russel e Norvig, 2022).
78
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 34: Exemplo de Aprendizagem de Máquina por Reforço.
Fonte: Redes de saúde.
79
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 35: Exemplo de aprendizado por reforço em carro autônomo.
Fonte: LAMFO
80
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
publicaram o artigo "Um Cálculo Lógico das Ideias Imanentes na Atividade
Nervosa”, propondo um modelo matemático para os neurônios artificiais,
entrando para a história como neurônio de McCulloch-Pitts.
81
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Em 1986, Rumelhart, Hinton e Willians demonstraram a capacidade de
treinar eficientemente as redes contendo camadas intermediárias, implicando
no modelo atual de redes neurais artificiais, a chamada Perceptron Multi
Camadas, introduzindo um método poderoso conhecido por Backpropagation.
Figura 36: Representação artística de um neurônio biológico com suas sinapses (ligações).
Fonte: imagem gerada por IA.
82
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
formando uma rede completissima!
Assim como o nosso sistema nervoso, uma rede neural possui uma série de
camadas. Temos as camadas de entrada, onde os padrões são apresentados à
rede neural. Em seguida, vem as camadas internas conhecidas como camadas
intermediárias (ou escondidas, em inglês, hidden layers). Por fim, temos a
camada de saída, onde apresenta-se o resultado do processamento executado
pela rede neural.
83
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e o código CRC UZDIGMX2.
Figura 38: Rede Neural Artificial.
Fonte: UNESP.
84
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
É uma abordagem revolucionária que visa imitar o funcionamento do
cérebro humano. Diferentemente do Aprendizado de Máquina convencional, o
Deep Learning permite que modelos aprendam automaticamente
representações hierárquicas complexas e extraiam informações específicas a
partir de dados brutos (Oracle, 2024).
85
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
O Deep Learning, ao se aprofundar nas complexidades das redes neurais,
tem transformado a paisagem da IA. Sua capacidade de aprender
automaticamente a partir de dados brutos posiciona-o como uma ferramenta
poderosa em diversas aplicações, impulsionando muitas tecnologias de IA que
podem melhorar a automação e as tarefas analíticas (Neurotech, 2019).
86
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Por fim, temos falado muito que para o Aprendizado de Máquina é
essencial o uso de dados, que necessariamente precisam ser captados e
trabalhados de alguma forma para serem utilizados pelos sistemas de IA.
Então, vamos tratar na próxima seção sobre este assunto, aprofundando
nossos conhecimento em “Mineração de dados”.
87
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
especialistas em mineração de dados colaboram com os envolvidos em
determinada ação empresarial ou projeto para definir claramente os
problemas a serem resolvidos e os resultados desejados. Essa compreensão
é fundamental para orientar o processo de mineração de dados em direção
aos objetivos.
2. Compreensão dos dados: antes de iniciar a análise, é essencial explorar e
compreender os dados disponíveis. Isso inclui a identificação de fontes de
dados, a avaliação da qualidade dos dados, e a compreensão das
características essenciais, como distribuição, variabilidade e relevância. Uma
análise aprofundada dos dados estabelece as bases para as etapas
subsequentes.
3. Pré-processamento de dados: nesta fase, os dados brutos são preparados
para a análise. Isso inclui a limpeza de dados inconsistentes, a normalização
de escalas e a transformação de variáveis quando necessário. O
88
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
dos resultados na prática. Os insights extraídos são traduzidos em ações ou
estratégias de negócios. Além disso, é crucial interpretar os resultados de
maneira compreensível para os não especialistas, facilitando a tomada de
decisões informadas.
89
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Nessa área você encontrará uma série de links com materiais
que foram criteriosamente escolhidos e disponibilizados. Trata-se de
recursos que têm por objetivo apresentar informações adicionais e
insights, permitindo que você amplie e enriqueça o seu
conhecimento acerca dos temas discutidos neste capítulo.
90
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1.4. Consolidar
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Após nos aprofundarmos nos conceitos mais importantes da IA, conhecer
aplicações e discutir métodos de Aprendizado de Máquina, finalizamos este
capítulo nesta seção, que tem a função de te ajudar a consolidar sua visão
sobre esses assuntos. Primeiro, vamos a um exercício de autoconhecimento,
apresentado a seguir, e por último você poderá retomar o estudo de caso:
● Pense em IA e tudo o que viu neste capítulo. Agora, analise bem cada uma
das três figuras abaixo, uma por vez, e reflita: qual foi a sua primeira
percepção ao olhar a imagem? O que ela te lembra? Se fosse discutir algum
assunto sobre a imagem, o que seria? Na próxima página você poderá
comparar as suas percepções com a do autor.
2
e o código CRC UZDIGMX2.
3
Figura 43: Exercício Consolidar.
Fonte: UOL.
91
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
mais uma opção, já que a IA, aparentemente, veio para ficar e permanecer. O
que devemos é ter o cuidado ético para fazer bom uso dela, inclusive no mundo
do trabalho.
A figura 2 trata de algo que parecia muito mais distante, e fora de qualquer
discussão envolvendo a realidade: a fusão homem-máquina. Entretanto, cada
vez mais verificamos o surgimento de implantes de chips subcutâneos, órgãos
e membros biônicos entre outras tecnologias inteligentes incorporadas ao
corpo. Tudo isso nos leva a crer que, continuando nessa crescente, veremos
novas possibilidades nos próximos anos e décadas, e descobriremos que a ideia
de uma integração total entre a Inteligência Humana com a Artificial não é algo
restrito aos filmes de ficção como achávamos outrora.
Por fim, na figura 3 reside uma das grandes esperanças em relação ao uso
da IA: a descoberta da cura para doenças hoje tidas como incuráveis. Espera-se,
e o código CRC UZDIGMX2.
para os próximos anos, que a IA acelere pesquisas que trarão avanços nesse
sentido, e, quem sabe, poderemos deixar de ver pessoas morrendo de
enfermidades que atualmente não possuem tratamento nem vacinas.
92
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
"Etapa Inspirar" e as suas anotações e conclusões iniciais. Na
sequência, você deverá promover o aprimoramento da solução
anteriormente apresentada usando os conhecimentos que obteve
ao longo do capítulo e do conteúdo adicional.
93
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Arquive o refinamento do estudo de caso no formulário disponível
no Google Sala de Aula, na aba “Etapa Consolidar”.
94
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1.5. Avaliar
Para concluir este capítulo, você deverá realizar a “Etapa Avaliar”, que
consiste no preenchimento do Questionário de Avaliação disponível no Google
Sala de Aula e que tem como objetivo permitir que você acompanhe
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
individualmente a evolução do seu aprendizado.
Não será atribuída nota para a atividade, mas a sua entrega é obrigatória,
pois, acima de tudo, servirá como insumo para uma análise pessoal e também
para a realização de autocrítica a respeito dos pontos compreendidos e daqueles
que exigem maior dedicação.
95
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Referências
ABB. Robôs colaborativos já são realidade na Indústria 4.0. ABB Press release,
2021. Disponível em: https://new.abb.com/news/pt-br/detail/74647/robos-
colaborativos-ja-sao-realidade-na-industria-40. Acesso em: 23 janeiro 2024.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
https://aws.amazon.com/pt/what-is/quantum-computing/. Acesso em: 22 janeiro
2024.
DVORSKY, G. Too smart for our own good: How artificial superintelligence
could lead to humanity’s demise. Genetic Literacy Project, 2021. Disponível em:
https://geneticliteracyproject.org/2021/06/16/too-smart-for-our-own-good-
how-artificial-superintelligence-could-lead-to-humanitys-demise/. Acesso em: 18
e o código CRC UZDIGMX2.
janeiro 2024.
96
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
ferramenta de IA. Tecmundo, 2023. Disponível em: https://www.tecmundo.
com.br/software/273742-premio-jabuti-desclassifica-livro-ilustrado-ferramenta-i
a.htm. Acesso em: 17 janeiro 2024.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
https://www.oracle.com/br/artificial-intelligence/machine-learning/what-is-deep
-learning/. Acesso em: 22 janeiro 24.
PACETE, Luiz Gustavo. Digital twin: como funciona a tecnologia que espelha
o mundo real. Forbes Tech, 2022. Disponível em:
https://forbes.com.br/forbes-tech/2022/09/digital-twin-como-funciona-a-tecnol
ogia-que-espelha-o-mundo-real/. Acesso em 22 janeiro 2024.
PREGOWSKA, A.; OSIALl, M. O que é uma rede neural e para que serve?.
UNESP, 2022. Disponível em https://parajovens.unesp.br/o-que-e-uma-rede-
social-e-para-que-serve/. Acesso em: 20 janeiro 2024.
98
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
REDAÇÃO GQ. Christie's faz história com o primeiro leilão de uma obra
pintada por Inteligência Artificial. Globo.com, set, 2018. Disponível em:
https://gq.globo.com/Prazeres/Tecnologia/noticia/2018/09/christies-faz-historia
-com-o-primeiro-leilao-de-uma-obra-pintada-por-inteligencia-artificial.html.
Acesso em: 17 janeiro 2024.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
https://www.terra.com.br/noticias/educacao/5-cuidados-necessarios-antes-de-u
sar-ia-na-educacao,de60f6899161bc6f4b3b4fbefd9ccd37a5yk0upp.html?utm_so
urce=clipboard. Acesso em: 17 janeiro 2024.
99
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
n1. Acesso em 22 janeiro 2024.
WELLS III, R.E. Strong AI vs. Weak AI: What's the Difference? Lifewire, 2023.
Disponível em: https://www.lifewire.com/strong-ai-vs-weak-ai-7508012. Acesso
em: 22 janeiro 2024.
100
Capítulo 2:
Computacional
Introdução à Visão
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Autor
Bruno Agrofoglio Ferreira
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e o código CRC UZDIGMX2.
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
2.1. Introdução
Desejamos boas vindas ao capítulo de Introdução à Visão Computacional!
Este conteúdo foi desenvolvido para apresentar o conceito de Visão
Computacional, sua origem, desenvolvimento, aplicações e algoritmos.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Iniciamos nosso conteúdo com a introdução ao campo da computação
conhecido como Visão Computacional, trazendo seu contexto histórico,
seguindo para a apresentação das técnicas e hardwares responsáveis pela
aquisição e processamento das imagens. Também abordamos os fundamentos
do processamento de imagens, comentando acerca dos métodos de
pré-processamento das imagens antes da realização dos algoritmos de
treinamento.
102
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
2.2. Inspirar
Vivemos em um mundo digital, conectados grande parte do nosso tempo a
tecnologia. Gadgets, smartphones e computadores habilitam nossa
comunicação, servem como meio de pagamento e permissão de acesso a locais,
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
além dos mais diversos usos da tecnologia.
Aqui, não dizemos que é fácil interpretar o mundo real por meio da Visão
Computacional, pelo contrário, modelar computacionalmente o nosso mundo e o código CRC UZDIGMX2.
103
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Google Sala de Aula, na aba "Etapa Inspirar", para acessar todos
os materiais disponibilizados, que visam a estimular sua reflexão e
iniciar a ambientação com o conteúdo deste capítulo.
104
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
conhecimentos de que você dispõe neste momento.
2.2.1.1. Cenário
A Facti, uma Instituição Científica e Tecnológica (ICT) privada reconhecida
por sua atuação no mercado de Tecnologias da Informação e Comunicação
(TICs), está iniciando um novo projeto utilizando Visão Computacional.
Você, uma pessoa apaixonada por tecnologia, recém contratada para o time
de desenvolvimento está convocado(a) para identificar um nicho que demande a
aplicação da Visão Computacional.
Reflita como será a detecção, que objeto você irá detectar ou rastrear, sobre
qual cenário isso ocorrerá, considerando aspectos como condições climáticas,
105
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
2.3. Conceitualizar
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
A visão é um dos cinco sentidos humanos. Como seres humanos somos
capazes de enxergar em três dimensões graças a um par de globos oculares que
nos fornecem uma visão estéreo (mono quando é um canal ou via, estéreo
quando são dois canais ou vias). Nosso cérebro é capaz de localizar objetos
rapidamente, reconhecer pessoas e animais familiares, inferir acerca de
emoções nos rostos ou perigos ao nosso redor. Assim como acontece com os
seres humanos, a informação obtida por meio da visão pode nos servir para
classificar objetos e orientar escolhas (Marr, 2010).
106
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Que tal outro exemplo, agora utilizando Visão Computacional num cenário
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
industrial? Neste exemplo, estamos numa esteira de processamento de frutas,
neste caso, bananas. As frutas devem ser separadas de acordo com o seu ponto
de amadurecimento para diferentes destinos. Frutas mais verdes, que levarão
um tempo maior para amadurecer, deverão seguir para os destinos mais
distantes. Por outro lado, frutas mais amarelas, praticamente maduras, deverão
ser entregues aos destinos mais próximos. De forma simplificada, estamos
otimizando a distribuição visando a manutenção da qualidade da fruta na
chegada ao cliente final. Neste exemplo, podemos utilizar uma câmera para a
obtenção de imagens que serão processadas em tempo real e servirão de base
para a tomada de decisão de um robô ou esteira separadora, responsável por
direcionar as frutas nas caixas corretas de acordo com o destino.
107
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Você já deve ter notado que a Visão Computacional parece estar em muitos
lugares, não é mesmo? Neste momento, você deve ter acesso a um dispositivo
celular (smartphone) que possui uma câmera. Possivelmente, o equipamento
conta com recursos de Visão Computacional embarcados nele (Davies, 2005).
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
para ser um dispositivo de Visão Computacional - e não apenas uma simples
câmera. Precisamos primeiro saber se o seu dispositivo consegue “ver”, ou seja,
possui uma câmera integrada, para captura de imagens no espectro visível ou
não (já iremos comentar sobre outros espectros mais adiante).
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
em redes neurais, tornando a detecção menos artesanal, visto que para cada
contexto era necessário um algoritmo específico que funcionava muito bem
para um determinado conjunto de treinamento.
Figura 48: Concepção artística de veículos em uma avenida detectados por meio da Visão Computacional.
Fonte: imagem gerada por IA.
109
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
desenvolvimento ocorreu em diversos países, necessitando de uma extensa
pesquisa bibliográfica.
110
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Portanto, os modelos de Aprendizado por Reforço podem aprender a
identificar e rastrear objetos em movimento, além de entender a relação entre
eles. No entanto, é importante notar que os modelos de Aprendizado por
Reforço não são perfeitos, cometendo erros, assim como o sistema visual
humano (Forsyth e Ponce, 2015). Além disso, os modelos de Aprendizado por
Reforço são limitados pelos dados em que são treinados, desta forma, se os
dados de treinamento não forem representativos do mundo real, os modelos
podem não ser capazes de generalizar bem para novas situações.
111
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Minsky e seu grupo no MIT desenvolveram uma variedade de modelos de
processamento de imagens, incluindo o modelo de visão de Marr-Hildreth em
1980 onde, notadamente, a Visão Computacional alcançou um novo nível de
maturidade.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Computacional os cientistas buscam descrever o mundo a partir de uma ou mais
imagens, reconstruindo suas propriedades com base na forma, iluminação e
distribuição de cores.
Figura 52: Câmeras digitais modernas são construídas com sensor CMOS.
Fonte: imagem gerada por IA.
113
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Atualmente, o sensor CMOS é o mais utilizado comercialmente, devido ao
seu menor custo de fabricação, maior eficiência energética e velocidade superior
ao CCD. Câmeras de alto desempenho podem contar com sensores CMOS
empilhados visando uma captura mais fiel, porém, a um custo muito maior, pois
conta com uma tecnologia complexa e que ainda está em desenvolvimento.
Figura 53: imagem obtida por LIDAR. Sobreposta há um modelo mecânico associado à hidráulica predial.
Fonte: Wikimedia Commons.
114
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
próximas aos buracos negros e outras áreas de interesse para a fronteira da
ciência.
115
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Entre os formatos de imagem digital, os dois mais comuns são as imagens
raster, compostas por matrizes de pixels e as imagens vetoriais, compostas por
objetos geométricos como linhas e polígonos, como a extensão .SVG (Scalable
Vector Graphics, ou gráficos vetoriais escalonáveis).
116
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Dessa forma, cada pixel - que adotamos como um quadrilátero com a menor
informação possível de uma imagem - é registrado em série, originando um
arquivo muito maior, com a informação de todos os pixels que compõem a
imagem. Esses arquivos possuem extensões que são geralmente conhecidas
pelos usuários como .JPG, .PNG, .GIF ou .BMP.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
A informação do pixel pode ser expressa como um número inteiro ou ponto
flutuante. Quando nos referimos à forma matricial, estamos tratando colunas e
linhas que podemos associar com os eixos x e y, respectivamente, de um plano
cartesiano.
Figura 56: Trecho da saída de um script em Python que lê informação pixel a pixel.
Fonte: os Autores.
117
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
meio de um conversor ADC (Analog-to-Digital Converter). Este processo encerra a
segunda etapa do processamento e é realizada no chip sensor da câmera.
Figura 57: Raios de luz atravessam o conjunto óptico, atingindo o sensor CMOS de uma câmera.
Fonte: imagem gerada por IA.
118
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
processamento na primeira e segunda etapa é praticamente físico, com a
transformação de energia (e informação) luminosa em elétrica. A terceira etapa
é composta por processamento eletrônico da imagem, por meio da aplicação de
filtragem para promover os processos de coloração, remoção de ruído, ajuste da
curva de contraste (nível de gamma), ajuste de cores e finalmente a compressão
do arquivo.
Figura 58: Sensor CMOS de uma câmera visto por meio de microscópio.
Fonte: Wikimedia Commons.
119
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
informação dos pixels adjacentes (Lian et al., 2005).
120
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 59: Imagem no espectro infravermelho detectando volume de água em
suspensão na atmosfera (tempestades) obtida por um satélite climático.
Fonte: Wikimedia Commons.
Figura 60: Imagem de ressonância utilizada para a detecção de um tumor cerebral (destaque).
Fonte: Wikimedia Commons.
121
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Note que, até aqui, foi abordado apenas o código de cores RGB. Seres
humanos, por natureza possuem um sistema de captação óptica tricromático,
ou seja, percebemos as cores dos objetos e não apenas o contraste como
acontece em muitos outros animais que possuem o sistema óptico dicromático
(Szeliski, 2022).
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 61: Seres humanos possuem sistema óptico tricromático, possuindo três tipos de
cones, cada tipo mais sensível a uma cor: vermelho, verde e azul.
Fonte: imagem gerada por IA.
Figura 62: A maioria dos mamíferos como os gatos possuem sistema óptico dicromático.
Fonte: imagem gerada por IA.
122
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Por causa da indistinguibilidade de cores entre alguns diferentes espectros,
um novo espaço de cores foi desenvolvido um novo espaço de cores, conhecido
como CIE RGB XYZ. Atualmente, devido à criação de modernas imagens de alta
definição, como a HDTV, foi criado um novo padrão para o espaço de cores
chamado ITU-R BT.709, alterando as coordenadas XYZ de cada uma das cores
primárias (RGB).
123
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
os chamados operadores pontuais. Nesta etapa, uma ferramenta necessária do
ponto de vista de eficiência e conveniência é a famosa transformada rápida de
Fourier ou FFT (Fast Fourier Transform).
124
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
complexo representa a fase das frequências componentes. A versão moderna da
transformada rápida de Fourier surgiu em 1965, a partir dos trabalhos de John
Tukey e James Cooley.
Figura 64: Imagem original à esquerda. Alteração na luminosidade e saturação (imagem à direita).
Fonte: imagem gerada por IA.
125
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
vizinhança, ou seja, não mais pontual ou pixel a pixel, ela é conhecida como
filtro.
a b c
e o código CRC UZDIGMX2.
d e f
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
representar dados em diferentes escalas de frequência) que otimizam a análise
da imagem em diferente níveis de detalhe.
Neste capítulo, optou-se por não nos aprofundar além do que exposto até
aqui em filtragem e aplicação das transformações, devido ao ferramental
matemático necessário extenso para ser contemplado dentro deste capítulo.
127
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
detecção de bordas onde, a partir do reconhecimento e detecção, conseguimos
estimar movimento e estruturas a partir do movimento ao longo das imagens.
128
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Observe um exemplo quando a Visão Computacional é aplicada em sistemas
computacionais de reconhecimento de tráfego, possibilitando a distinção entre
pedestres, bicicletas, veículos leves e pesados, trens e bondes, auxiliando a
mobilidade urbana, indo além dos sensores que detectam o fluxo de veículos de
forma eletrônica, geralmente usando sensores indutivos.
129
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
medicina, segurança e entretenimento. Com adequado poder computacional,
podemos monitorar em tempo real o fluxo (streaming) de uma câmera de
segurança, por exemplo, realizando a detecção de invasores no perímetro.
130
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
O rastreamento pode ser realizado utilizando características como bordas,
formas e texturas para identificar objetos. Outros métodos de rastreamento -
como os baseados em Aprendizado de Máquina - aprendem a reconhecer
objetos por meio de conjuntos de dados de treinamento, criando assim modelos
matemáticos para cada objeto, o que oferece uma precisão potencialmente
superior e proporciona flexibilidade e adaptabilidade.
Um desses últimos avanços ocorre no campo das redes neurais (tópico que
abordaremos mais à frente). Quando utilizadas, a redes neurais conseguem
reconhecer imagens de forma significativamente maior, ampliando também o
contexto de aplicação (Szeliski, 2022), não ficando mais restrita à limitações
e o código CRC UZDIGMX2.
como operar de dia ou de noite, ser aplicada de forma versátil com poucas ou
nenhuma alteração, algo impensável para o modelo tradicional que utiliza o
Aprendizado de Máquina.
131
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
indoor e outdoor, já possuem reconhecimento de objetos e detecção automática
de invasão no perímetro utilizando Aprendizado de Máquina (Szeliski, 2022),
realizando o disparo automático de alarmes, alertas de intrusão no perímetro
monitorado, detecção automática de rostos e placas veiculares, aumentando a
capacidade de detecção e evitando fadigas humanas que podem comprometer a
segurança do sistema. Tais modelos são embarcados no próprio hardware da
câmera, junto a um pequeno aplicativo servidor que possibilita o usuário
conectar-se diretamente à câmera por meio de um smartphone, computador e
até smart TV, realizando ajustes como a seleção da área a ser monitorada, a
sensibilidade de disparo de eventos, deixando a câmera mais precisa para a
aplicação e evitando falsos disparos automáticos.
132
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 71: Utilizar captura e processamento no infravermelho habilita a
navegação por meio de ambientes sem iluminação, como o oceano durante a noite.
Fonte: Teledyne FLIR.
133
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Porém, para realizar a captura no espectro ultravioleta, as câmeras precisam
passar por adaptação, visto que o vidro comum absorve grande parte da luz
ultravioleta, principalmente pelo fato do vidro conter impurezas como sódio e
ferro em sua composição. Como as lentes que equipam o conjunto óptico das
câmeras são produzidos com vidro comum, grande parte da informação é
perdida. Para contornar esse efeito, câmeras de captura no ultravioleta utilizam
vidro puro, utilizando sílica pura para a sua fabricação, tornando esses
equipamentos mais caros e raros de serem encontrados no mercado.
Figura 73: Acima, uma imagem capturada com espectro ultravioleta. Abaixo, a mesma
captura por meio do vidro de uma janela.
Fonte: Teledyne Lumenera.
134
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Em atividades comerciais, sistemas de reconhecimento de objetos permitem
checkouts automáticos em lojas ou a verificação contra fraudes em guichês de
autoatendimento, como hoje encontramos em alguns supermercados aqui no
Brasil e em lojas no exterior. Um sistema simples, geralmente instalado sobre os
caixas de supermercados, realiza a captura de uma câmera, sendo utilizado para
verificar se houve desvio, erro ou furto de uma mercadoria.
135
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
periciais ou ainda os leitores automáticos de placa (Automatic Number Plate
Recognition em inglês, ou apenas ANPR) que permitem o monitoramento
contínuo de vias públicas e privadas (Szeliski, 2022), por exemplo, os sistemas de
inteligência policial que utilizam o LAP (Leitor Automático de Placa) para abordar
carros suspeitos ou com registro de sinistro, débito de impostos, furto ou roubo.
ABC 0D12
NORMAL
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
ligados à nossa natureza humana.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
uma pessoa previamente cadastrada e a pessoa da imagem sob análise.
138
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 78: Sensor biométrico de impressão digital para controle de acesso.
Fonte: Wikimedia Commons.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
de um grande conjunto de dados (dataset) anteriores de diagnósticos.
140
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
A aplicação consiste no uso de processamento de imagens para localizar
características como manchas, indicativas de sangramento ou exsudato na
retina, microaneurismas (pequenas dilatações dos vasos sanguíneos na retina) e
edema macular, caracterizado pelo acúmulo de líquido na mácula, região central
da retina, capaz de causar perda de visão.
Figura 81: Imagem de fundo de olho apresentando sinais comuns à retinopatia diabética.
Fonte: Wikimedia Commons.
141
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
entretenimento. A pesquisa de neuroimagem no córtex visual concentra-se
principalmente na decodificação da semântica dos estímulos visuais pois ainda
não está claro como o córtex visual pode representar a informação emocional
nas imagens (Yang et al., 2019).
142
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
imageamento (Szeliski, 2022) como LIDAR (Light Detection and Ranging), RADAR
(Radio Detection and Ranging) e SONAR (Sound Navigation and Ranging).
143
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 84: Inspeção de torre de telefonia celular com drone equipado de LIDAR e Visão Computacional.
Fonte: Parrot Drone.
144
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Numa indústria, se uma câmera pode identificar objetos defeituosos na linha
de produção e removê-los da linha antes que sejam embalados, enviando-os
para reparo ou apenas descartando-os, estamos nos referindo a um hardware
de Visão Computacional (Russel e Norvig, 2022), os mesmos são dotados com
sistemas de Inteligência Artificial, permitindo o embarque direto na câmera
(hardware) de detecção.
Nas indústrias, a inspeção realizada pelo setor de qualidade pode ser feita a
partir de câmeras e Visão Computacional (Szeliski, 2022), garantindo a qualidade
dos produtos e a manutenção de elevados padrões para as grandes marcas.
Figura 86: Câmeras de inspeção visual utilizando Visão Computacional podem verificar
a qualidade na montagem das componentes de placas de circuito impresso.
Fonte: Cognex.
145
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
peletização (Szeliski, 2022) e na classificação automática dos pacotes,
diferenciando destinos e agilizando o tratamento das encomendas.
Por fim, já encontramos robôs como drones, AGVs (Automated Guided Vehicle,
em português Veículo Guiado Automaticamente) e AMRs (Autonomous Mobile
Robot, em português Robô Móvel Autônomo) que são capazes de navegar
dentro de armazéns (Szeliski, 2022), reconhecendo itens e seus locais de
armazenamento, realizar desde o transporte do mesmo para o despacho
multimodal como até a realização de inventário, registrando a quantidade de
itens armazenados.
Figura 87: AMRs utilizados em logística possuem sistema de posicionamento interno que
combinado com LIDAR, sensores de proximidade e choque operam de forma autônoma e segura.
Fonte: Jungheinrich.
146
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
redes neurais e do Aprendizado Profundo (Deep Learning) para a Visão
Computacional.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
capítulo.
148
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Outro algoritmo clássico é a transformada de Hough (em homenagem a seu
inventor), utilizada para detecção de formas geométricas, como linhas e círculos
(Szeliski, 2022), em aplicações como a análise de tráfego por meio de câmeras de
monitoramento.
149
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
chamada Edge Impulse.
150
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 89: Vamos criar uma conta pessoal e gratuita na comunidade Edge Impulse.
Fonte: adaptado de Edge Impulse.
151
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Nome próprio
Nome de usuário
E-mail
Senha
Figura 91: Preencha os dados solicitados pela plataforma Edge Impulse conforme indicação acima.
Fonte: adaptado de Edge Impulse.
Figura 92: Você receberá um e-mail de ativação da Edge Impulse em sua caixa de entrada.
Clique no link que a plataforma enviou para ativar a sua conta.
Fonte: adaptado de Edge Impulse.
152
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 93: Assim que você confirma sua conta e realiza o primeiro acesso, a plataforma sugere a criação do seu
primeiro projeto em 5 minutos. Clique em Let´s build your first model in 5 minutes! para prosseguir.
Fonte: adaptado de Edge Impulse.
Palavra-chave
Figura 94: Na segunda etapa, definiremos um comando para chamar o nosso assistente de voz.
Neste exemplo, sugerimos a sentença: “Ola mundo”.
Fonte: adaptado de Edge Impulse.
153
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Você já deve ter notado que a plataforma está disponível no idioma inglês,
caso sinta-se melhor, você pode ativar o tradutor automático do navegador para
lhe ajudar na compreensão dos passos.
Nossas legendas, abaixo das figuras capturadas da tela, lhe ajudarão nesta
compreensão, listando as etapas necessárias para a conclusão do projeto,
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
norteando o caminho desse primeiro aprendizado na plataforma.
Figura 95: Após inserir a sentença “Ola mundo” clique em Next, collect some data
para prosseguir com o treinamento.
Fonte: adaptado de Edge Impulse.
Figura 96: Clique em Record yourself saying “Ola mundo” for 38 seconds
para gravar sua sentença para o treinamento.
Fonte: adaptado de Edge Impulse.
154
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 97: Você será perguntado se deseja compartilhar o acesso ao seu microfone pela
plataforma Edge Impulse. Clique em Permitir para prosseguir com o uso do microfone.
Fonte: adaptado de Edge Impulse.
Figura 98: Diga “Ola mundo”, realizando pausas de 1 segundo entre cada sentença.
Esses dados serão utilizados no modelo de reconhecimento de voz que estamos criando.
Fonte: adaptado de Edge Impulse.
155
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
modelo treinado.
Figura 99: Após a captura bem sucedida do comando de voz para treinamento,
clique em OK para prosseguir.
Fonte: adaptado de Edge Impulse.
Figura 100: Agora, inserimos ruído para diferenciar o comando de chamada do assistente voz
de outros ruído de fundo, para continuar clique em Next, adding other data.
Fonte: adaptado de Edge Impulse.
156
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 101: A plataforma realizará a mistura do ruído de fundo com as suas sentenças de voz gravadas.
Para prosseguir, clique em Let´s mix in other keywords and background noise.
Fonte: adaptado de Edge Impulse.
157
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 103: Após a inserção dos dados e o processamento completo,
clique em Next, design an impulse para continuar.
Fonte: adaptado de Edge Impulse.
158
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 105: A análise do espectrograma (representação visual do sinal sonoro) é utilizada para a edição dos dados
brutos, excluindo partes que não são interessantes o treinamento. Para continuar clique em Next, generate features.
Fonte: adaptado de Edge Impulse.
Figura 106: Após a configuração dos parâmetros, a plataforma irá gerar as características de cada amostra
enviada para treinamento. Após esta etapa, clique em Next, train a neural network para continuar.
Fonte: adaptado de Edge Impulse.
159
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 107: Na etapa de treinamento da rede neural é onde ocorre a classificação da sentença “Ola mundo”.
Após esta etapa, clique em Next, take the model for a spin para prosseguir com o exemplo.
Fonte: adaptado de Edge Impulse.
Figura 108: Para testar o modelo, você deve permitir novamente o acesso ao microfone,
para isso clique em Give access to the microfone.
Fonte: adaptado de Edge Impulse.
160
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Realize o teste do seu modelo, note que ao falar “Ola mundo”, a plataforma
informa a correspondência da sentença pronunciada com o modelo gerado.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Sentenças
Ruído Ola mundo desconhecidas
Figura 109: Ruídos e sentenças desconhecidas aparecem em NOISE e UNKNOWN, respectivamente. Quando o
modelo detecta a sentença “Ola mundo”, a correspondência próxima a 1,00 surge na coluna central (OLA_MUNDO).
Fonte: adaptado de Edge Impulse.
Figura 110: Para finalizar a etapa de testes, clique em Next, check out next steps.
Fonte: adaptado de Edge Impulse.
161
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Encerrar
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Acessar a documentação
Compartilhar
Figura 111: A plataforma apresenta os principais dados do seu projeto, como o tempo de inferência, a quantidade
de memória RAM e Flash a ser utilizada caso venha a embarcar este modelo em um microcontrolador Cortex M4F.
Fonte: adaptado de Edge Impulse.
Acurácia do modelo
162
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Nessa área você encontrará uma série de links com materiais
que foram criteriosamente escolhidos e disponibilizados. Trata-se
de recursos que têm por objetivo apresentar informações
adicionais e insights, permitindo que você amplie e enriqueça o seu
conhecimento acerca dos temas discutidos neste capítulo.
163
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
2.4. Consolidar
2.4.1. Estudo de caso
Chegamos na etapa onde podemos exercitar o conhecimento adquirido até
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
aqui! Note que esta não é uma atividade obrigatória e não consta do processo
de avaliação.
B
A
Figura 114: Para criar um novo projeto, você de retornar à dashboard inicial da Edge Impulse. Para isso,
clique em Projects (B) no menu suspenso da parte superior onde encontram-se as iniciais do seu nome (A).
Fonte: adaptado de Edge Impulse.
164
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 115: Aqui, sugerimos o nome “Reconhecimento de objetos”, opção de projeto pessoal (Personal)
e privacidade no projeto (Private). Em seguida, clique em Create new project para continuar.
Fonte: adaptado de Edge Impulse.
Figura 116: Descendo a página inicial do projeto, você encontrará tutoriais que irão lhe ajudar nas
etapas de configuração para aquisição e treinamento do modelo, recomenda-se a leitura.
Fonte: adaptado de Edge Impulse.
165
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 117: Para realizar a coleta de dados para o projeto, clique em Collect new data. Você também pode incluir
outros dispositivos como SBCs e MCUs para realizar esta etapa, caso tenha eles à disposição.
Fonte: adaptado de Edge Impulse.
Figura 118: Para utilizar a câmera do seu computador, clique em Connect to your computer.
A plataforma realizará a requisição para uso do seu dispositivo.
Fonte: adaptado de Edge Impulse.
166
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Note que você precisa ter um smartphone para realizar a captura dessas
imagens para treinamento do modelo.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 119: Após a conexão do computador ao projeto, clique em Collect images? para iniciar a aquisição
utilizando a câmera do computador. Note que será aberta uma nova aba no seu navegador.
Fonte: adaptado de Edge Impulse.
Figura 120: Clique em Give access to the camera para prosseguir à etapa de aquisição de imagens.
Caso o navegador solicite a sua permissão para utilização da câmera, clique em Permitir.
Fonte: adaptado de Edge Impulse.
167
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 121: Para realizar a aquisição da imagem, clique em Capture.
A cada captura, a contagem de imagens capturas é atualizada.
Fonte: adaptado de Edge Impulse.
Figura 122: Capture imagens em diferentes posições do smartphone, assim o seu modelo ficará mais preciso. Ao
atingir 100 imagens capturadas, você pode fechar esta aba de captura (clique no X da aba aberta no navegador).
Fonte: adaptado de Edge Impulse.
168
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 123: A plataforma confirmará se estamos criando um modelo para detecção de objetos,
neste caso clique em Yes para prosseguir.
Fonte: adaptado de Edge Impulse.
Figura 124: Após a inserção das imagens (dados brutos), clicaremos em Labeling queue
para criar os rótulos dos objetos identificados na imagem, em nosso exemplo, o smartphone.
Fonte: adaptado de Edge Impulse.
169
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 125: Com o mouse ou touchpad, selecione o smartphone na imagem.
Você terá uma caixa retangular à disposição para isso.
Fonte: adaptado de Edge Impulse.
Figura 126: Ao realizar a seleção da área onde está o smartphone pela primeira vez, a plataforma perguntará
qual o nome do rótulo para este objeto. Você pode usar celular ou smartphone, ao seu critério.
Fonte: adaptado de Edge Impulse.
170
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 127: Note que na primeira foro a ser classificada, a plataforma irá indicar a quantidade de fotos restantes
para a classificação. Após inserir o rótulo e sua área em torno do objeto a ser classificado clique em Save labels.
Fonte: adaptado de Edge Impulse.
Figura 128: Deixar a opção Track objects between frames irá lhe ajudar mantendo o objeto rastreado
entre as imagens obtidas, diminuindo parte do trabalho manual de rotulação.
Fonte: adaptado de Edge Impulse.
171
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 129: Lembre-se de realizar rotações no smartphone para que a captura de imagens do aparelho
seja realizada na maior quantidade de posições possíveis, melhorando o nosso modelo.
Fonte: adaptado de Edge Impulse.
172
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 131: A última imagem para rotular será indicada na parte superior como 1 items left.
Ao concluir, clique em Save labels para finalizar a etapa de rotulação.
Fonte: adaptado de Edge Impulse.
Figura 132: Ao terminar a rotulação, você terá informação na parte superior o índice zero em Labeling queue (0) e
próximo ao centro da página em No items in queue. Para prosseguir na próxima etapa, clique em Create impulse.
Fonte: adaptado de Edge Impulse.
173
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 133: Clique em Add a processing block para selecionar o tipo de modelo que estamos treinando.
Fonte: adaptado de Edge Impulse.
Figura 134: Selecione Image e clique em Add para utilizar o bloco de processamento para imagens.
Fonte: adaptado de Edge Impulse.
174
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 135: Clique em Add a learning block, para selecionar o bloco de
treinamento (modelo de rede) que utilizaremos.
Fonte: adaptado de Edge Impulse.
Figura 136: Escolha a opção Object Detection (Images) de autoria da Edge Impulse
e clique em Add para utilizar este bloco de treinamento.
Fonte: adaptado de Edge Impulse.
175
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 137: Depois de clicar em Save Impulse, você receberá a confirmação que os blocos de processamento e
de treinamento foram gravados com sucesso. Clique em Image no menu à esquerda para prosseguir.
Fonte: adaptado de Edge Impulse.
Figura 138: Para configurar os parâmetros de treinamento, primeiro selecione Grayscale (escala de cinza).
Em seguida, clique em Save parameters para prosseguir.
Fonte: adaptado de Edge Impulse.
176
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 139: Clique em Generate features para iniciar iniciar
a geração das características para o treinamento.
Fonte: adaptado de Edge Impulse.
177
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 141: A plataforma realiza uma sugestão de 60 ciclos de treinamento (Number of training cycles).
Não altere a taxa de aprendizado (Learning rate), mantendo-a em 0.001.
Fonte: adaptado de Edge Impulse.
Figura 142: Para iniciar os ciclos de treinamento clique em Start training. Essa etapa é a
mais demorada do processo, por favor, aguarde a conclusão para continuar.
Fonte: adaptado de Edge Impulse.
178
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 143: O treinamento encerra no ciclo 59 pois iniciou sua contagem no 0.
Caso utilize 100 ciclos de treinamento, a conclusão ocorrerá no ciclo 99.
Fonte: adaptado de Edge Impulse.
Figura 144: A acurácia do treinamento é exibida no F1 SCORE, em nosso caso, 100%. Esse parâmetro também é
conhecido como mAP (mean Average Precision), uma métrica usada para avaliar a qualidade do modelo treinado.
Para continuar, clique em Live classification no menu à esquerda. Fonte: adaptado de Edge Impulse.
179
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 145: Para abrir a câmera e testar o nosso modelo, clique sobre o ícone de
microchip indicado pela seta laranja na imagem acima.
Fonte: adaptado de Edge Impulse.
180
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 147: Na nova aba aberta, primeiro mudaremos para o modo de classificação.
Para isso, clique em Switch to classification mode.
Fonte: adaptado de Edge Impulse.
181
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 149: Reconhecimento do smartphone utilizado no treinamento.
Fonte: adaptado de Edge Impulse.
Figura 150: Teste com dois smartphones, um utilizado no modelo e outro aparelho de marca e modelo diferente.
Note que o modelo reconheceu corretamente os dois aparelhos.
Fonte: adaptado de Edge Impulse.
182
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
"Etapa Inspirar" e as suas anotações e conclusões iniciais. Na
sequência, você deverá promover o aprimoramento da solução
anteriormente apresentada usando os conhecimentos que obteve
ao longo do capítulo e do conteúdo adicional.
183
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e o código CRC UZDIGMX2.
184
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
2.5. Avaliar
Para concluir este capítulo, você deverá realizar a “Etapa Avaliar”, que
consiste no preenchimento do Questionário de Avaliação disponível no Google
Sala de Aula e que tem como objetivo permitir que você acompanhe
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
individualmente a evolução do seu aprendizado.
Não será atribuída nota para a atividade, mas a sua entrega é obrigatória,
pois, acima de tudo, servirá como insumo para uma análise pessoal e também
para a realização de autocrítica a respeito dos pontos compreendidos e daqueles
que exigem maior dedicação.
185
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Referências
ABINI, M. A.; PRIYA, S. Sridevi Sathya, Detection and Classification of Diabetic
Retinopathy Using Pretrained Deep Neural Networks. International
Conference on Innovations in Engineering and Technology (ICIET),
Muvattupuzha, Índia, 2023, pp.1-7.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
BENGIO, Yoshua; COURVILLE, Aaron; VINCENT, Pascal. Representation
Learning: A Review and New Perspectives. IEEE Transactions on Pattern
Analysis and Machine Intelligence, Vol. 35, No. 8, Ago. 2013, pp.1798-1828.
CHEN, Wei et al. Deep Learning for Instance Retrieval: A Survey. IEEE
Transactions on Pattern Analysis and Machine Intelligence, Vol. 45, No. 6, Jun.
2022, pp.7270-7292.
186
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
LIAN, Naixiang; CHANG, Lanlan; TAN, Yap-Peng. Improved color filter array
demosaicking by accurate luminance estimation. IEEE International
Conference on Image Processing, 2005.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
MINSKY, Marvin. Steps Toward Artificial Intelligence. McGraw-Hill, Nova
Iorque, 1961.
SELCUK, Burcu; SERIF, Tacha. Brain Tumor Detection and Localization with
YOLOv8. 8th International Conference on Computer Science and Engineering
(UBMK), Burdur, Turquia. 2023, pp.477-481.
YANG, Qiang et al. Decoding Facial Emotion from Activity in The Human
Visual Cortex using Functional Magnetic Resonance Imaging. International
Conference on Medical Imaging Physics and Engineering (ICMIPE), Shenzhen,
China, 2019, pp.1-5.
YOU, Haoxuan et al. Ferret: Refer and Ground anything anywhere any
granularity. Arxiv, Out, 2023. Disponível em:
https://arxiv.org/pdf/2310.07704.pdf . Acesso em: 17 jan. 2024.
e o código CRC UZDIGMX2.
187
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Capítulo 3:
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Python para
desenvolvimento de
Inteligência Artificial:
do básico às aplicações
avançadas
e o código CRC UZDIGMX2.
Autoras
Adriana da Silva Nogueira
3.1. Introdução
Desejamos boas vindas ao capítulo Python para Desenvolvimento de
Inteligência Artificial: do básico às aplicações avançadas! Este conteúdo foi
desenvolvido para ajudar no aprendizado na linguagem de programação
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Python, iniciando com os fundamentos e avançando até algumas das técnicas
utilizadas em aplicações de IA.
Com um foco especial em bibliotecas específicas utilizadas em IA, e o código CRC UZDIGMX2.
189
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e o código CRC UZDIGMX2.
190
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
3.2. Inspirar
Você já ouviu falar sobre a linguagem de programação Python? Essa
linguagem tem ganhado destaque mundialmente, tornando-se a escolha de
muitos devido à sua versatilidade e eficiência. É notável como Python está se
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
tornando uma ferramenta essencial em diversas áreas, incluindo
desenvolvimento web, ciência de dados e Inteligência Artificial.
191
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
de dados, análise estatística, e Machine Learning e que serão tratadas neste
capítulo. Embora não seja tão popular quanto outras linguagens, pode ser
usado em jogos, especialmente para scripting e prototipagem rápida. Pygame é
uma biblioteca popular para desenvolvimento de jogos.
192
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Google Sala de Aula, na aba "Etapa Inspirar", para acessar todos
os materiais disponibilizados, que visam a estimular sua reflexão e
iniciar a ambientação com o conteúdo deste capítulo.
193
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Leia com atenção o cenário do estudo de caso e lembre-se: o
propósito desta atividade é promover uma reflexão inicial acerca do
assunto a ser discutido no cenário tendo por base somente os
conhecimentos de que você dispõe neste momento.
3.2.1.1. Cenário
A Facti, uma Instituição Científica e Tecnológica (ICT) privada reconhecida
por sua atuação no mercado de Tecnologias da Informação e Comunicação
194
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
tecnológicas. Prepare-se para aprimorar suas competências em Python e
descobrir inovações e contribuições relevantes na área tecnológica.
195
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
3.3. Conceitualizar
3.3.1. De onde vem a linguagem Python?
O Centro de Matemática e Ciência da Computação (CWI), situado na capital
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
da Holanda, Amsterdã, é o berço de diversas linguagens de programação. Foi a
partir de 1982, nas instalações do CWI, que os estudos iniciados culminaram no
desenvolvimento da linguagem Python. Em 1989, Guido van Rossum (Figura
152), programador e membro do projeto ABC, ao enfrentar dificuldades na
implementação de um programa em linguagem C, decidiu criar uma linguagem
de programação capaz de resolvê-las. Surgiu então a proposta que se tornaria a
linguagem Python.
196
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
píton, mas sim no programa de comédia.
programar?
Existem várias razões pelas quais muitas pessoas escolhem Python como
sua linguagem de programação. Veja algumas das mais comuns:
197
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
● Comunidade² ativa e suporte: Python tem uma comunidade enorme e
ativa. Isso significa que há uma vasta quantidade de recursos, bibliotecas³ e
módulos disponíveis. Além disso, é fácil encontrar suporte e soluções para
problemas comuns.
² Dentro do contexto de programação, uma comunidade é definida como um grupo de pessoas que compartilham
objetivos comuns, se reunindo com a intenção de trocar ideias, programar eventos como workshops e palestras, e
se atualizar sobre tendências e demandas do mercado. Esses grupos são formados por programadores e são
utilizados para suporte mútuo, aprendizado e compartilhamento de conhecimentos.
³Em programação, bibliotecas são conjuntos de códigos pré-escritos que os programadores podem utilizar para
realizar tarefas comuns sem a necessidade de escrever código do zero.
198
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Essas são apenas algumas das razões pelas quais Python é uma escolha
popular para programadores em diversas áreas. No entanto, a escolha da
linguagem muitas vezes depende do contexto específico do projeto e das
preferências pessoais do desenvolvedor.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
execução de programas nesta linguagem depende de um componente de
software chamado interpretador. Este interpretador é fundamental, pois
permite que os códigos escritos ou scripts sejam processados e executados.
Sem ele, os códigos permanecem inativos e não podem ser rodados. Em
resumo, o funcionamento dos programas depende da interpretação que este
software realiza. Na seção 3.2.2, forneceremos orientações sobre como
proceder com esta instalação.
199
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
plataformas. É recomendável instalar sempre a última versão. Verifique, antes
de realizar o download, a versão que seja compatível ao Sistema Operacional de
seu computador (inclusive se para Windows 32 ou 64 bits). Atenção: o Python
não oferece mais suporte para Sistema Operacional Windows 7 ou inferior.
200
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 154: Instalando o Python.
Fonte: adaptado de Python.org.
201
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
o Python também permite outras abordagens.
202
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
'''
ISSO É UM COMENTÁRIO
EM UM BLOCO
DE LINHAS
'''
"""
EM UM BLOCO
DE LINHAS
"""
e o código CRC UZDIGMX2.
203
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
A função aceita um ou mais argumentos, que podem ser de qualquer tipo,
incluindo números, strings, listas, tuplas, dicionários e objetos.
Toda cadeia de caracteres a ser exibida em Python deve ser colocada entre
aspas, podendo ser simples ou duplas. No momento em que a linha de
comando é executada, ela apresentará na tela de saída o conjunto de
caracteres (cadeia) que estiver contida entre aspas. O comando possui
variações na forma com que recebe cadeia de caracteres e valores. A sintaxe de
algumas possíveis variações são mostradas a seguir:
print("PALAVRA1","PALAVRA2","PALAVRA3")
204
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
denominada concatenação, que une duas ou mais cadeias de caracteres,
formando uma única cadeia.
205
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Google Colab e PyCharm (Figura 156), respectivamente.
Embora você possa optar por usar a ferramenta que mais lhe agrada para
realizar as atividades propostas neste capítulo, sugerimos que experimente
todas elas. Essa abordagem não só amplia suas habilidades, mas também
oferece uma visão abrangente sobre diferentes possibilidades para
programação em Python, facilitando assim o seu aprendizado.
206
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
completação automática de código, que agiliza a codificação ao sugerir
comandos e estruturas de código. Além disso, muitos editores oferecem
verificação de erros em tempo real, ajudando a identificar e corrigir problemas
de sintaxe e lógica à medida que o código é escrito.
207
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
desenvolvedores, tendo assim, uma ampla comunidade de usuários ativa. Ele é
multiplataforma, estando disponível para Windows, macOS e Linux, o que facilita
a criação, exportação e sincronização de perfis para o usuário.
208
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 158: Página de downloads do VS Code.
Fonte: adaptado de VS Code.
Após clicar no link para baixar o programa, você será redirecionado para a
página da documentação e o download será iniciado. Após o término, localize o
arquivo executável na pasta de downloads do seu computador.
209
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 159: Aceite dos termos de licença.
Fonte: adaptado de VS Code.
210
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 161: Escolha da pasta no menu iniciar.
Fonte: adaptado de VS Code.
211
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 163: Instalação do VS Code.
Fonte: adaptado de VS Code.
212
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 165: Finalização da instalação.
Fonte: adaptado de VS Code.
213
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
desenvolvimento e aumentando a produtividade e eficiência. Além das
fornecidas pelo fabricante do software, as extensões podem ser desenvolvidas
pela comunidade de usuários ou por terceiros.
214
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 168: Extensão Portuguese.
Fonte: adaptado de VS Code.
Ao final da instalação será solicitado que a IDE seja reiniciada para que as
configurações de linguagem sejam aplicadas (Figura 169).
215
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 170: Extensão IntelliCode.
Fonte: adaptado de VS Code.
216
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Surgirá a caixa de diálogo (Figura 172) Novo Arquivo na qual deve ser
digitado o nome do arquivo. Neste caso o nome dado será Exercicio1.py, sendo
py a extensão padrão dos arquivos em Python.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 172: Caixa de diálogo Novo Arquivo.
Fonte: adaptado de VS Code.
O arquivo será criado e surgirá no canto inferior direito uma caixa de diálogo
(Figura 174) perguntando se deseja instalar as configurações recomendadas
para o Python. Instale as configurações para só então iniciar a codificação.
217
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 174: Instalação das configurações recomendadas.
Fonte: adaptado de VS Code.
218
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Vamos testar outro exemplo. Para isso você precisa pedir um Arquivo Novo
e selecionar a opção Arquivo Python (Figura 175).
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 175: Arquivo Python.
Fonte: adaptado de VS Code.
1. """
2. Testando saídas simples e concatenadas
3. """
4. print('Olá, mundo!', 'Hoje é dia de aprender a
programar.')
5. print('Olá, mundo!'+'Hoje é dia de aprender a
programar')
e o código CRC UZDIGMX2.
Figura 176: Terminal do VSCode exibindo as saídas geradas pelo código apresentado.
219
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
explicativo, visualizações e equações matemáticas. É amplamente utilizado por
cientistas de dados, pesquisadores e educadores para criar ambientes de
computação interativa em linguagens como Python, R e Julia.
220
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 177: Baixando o Jupyter Notebook (Anaconda3 2023.09-0).
Fonte: adaptado de Anaconda.
221
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 179: Instalando Anaconda3 2023.09-0 (passo 2).
Fonte: adaptado de Anaconda.
222
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 181: Instalando Anaconda3 2023.09-0 (passo 4).
Fonte: adaptado de Anaconda.
223
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 183: Instalando Anaconda3 2023.09-0 (passo 6).
Fonte: adaptado de Anaconda.
224
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 185: Instalando Anaconda3 2023.09-0 (passo 8).
Fonte: adaptado de Anaconda.
Para efetuar o registro forneça um e-mail válido, crie e repita a senha nos e o código CRC UZDIGMX2.
225
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 186: Registrando o Anaconda Nucleus (passo 1).
Fonte: adaptado de Anaconda.
226
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
para criar a pasta que irá comportar os arquivos notebooks, com os seguintes
passos:
mkdir \Projetos
cd \Projetos
jupyter notebook
227
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 188: Criando a pasta de projetos para o Jupyter Notebook.
Fonte: as Autoras.
228
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
convertido em um HTML válido. É comumente usada para formatar textos em
plataformas online, como fóruns, wikis entre outras.
# Título Principal
## Subtítulo
### Sub-subtítulo
**Texto em Negrito**
- Item 1
- Item 2
- Subitem A
- Subitem B
print("Olá, mundo!")
229
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Máquina e Inteligência Artificial. É uma ferramenta que permite misturar
código-fonte (geralmente na linguagem Python) e texto formatado (geralmente
em Markdown) com imagens. O resultado desse código dá origem à técnica
conhecida como notebook.
Para iniciar e criar o seu primeiro código, basta clicar na opção “Arquivo” e
criar “Novo Notebook” (Figura 190). O arquivo é criado com uma célula para
escrever código ou texto e executá-la individualmente, apresentando o resultado
da execução, logo abaixo da célula correspondente (Figura 191).
230
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 190: Ambiente inicial do Google Colab.
Fonte: adaptado de Google Colab.
231
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
gama de recursos que facilitam o processo de desenvolvimento.
232
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 192: Área de download PyCharm.
Fonte: adaptado de PyCharm.
233
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 194: Instalando o PyCharm.
Fonte: adaptado de PyCharm.
234
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 196: Instalando o PyCharm.
Fonte: adaptado de PyCharm.
235
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Ao abrir o PyCharm pela primeira vez, uma janela chamada Create Project
aparecerá a tela apresentada a seguir (Figura 198), e nela, define-se as
configurações necessárias para iniciar um novo projeto.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Primeiro, especifica-se o nome do projeto e o local padrão em que será salvo.
Ao clicar em Create, o projeto é criado e direcionado para o ambiente de
programação (Figura 199), contendo os recursos necessários.
236
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 199: Ambiente de programação do PyCharm.
Fonte: adaptado de PyCharm.
237
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação, é
fundamental completar os passos anteriores relacionados à
configuração da IDE escolhida.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
238
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Atividades de experimentação 1 ●
Escreva um programa que use o comando print para exibir a frase "Olá,
Mundo!".
Atividades de experimentação 2 ●
Atividades de experimentação 3 ●●
Atividades de experimentação 5 ●●
239
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividades de experimentação 6 ●●
Use o comando print com o parâmetro end para juntar a saída de dois
comandos print em uma única linha.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e o código CRC UZDIGMX2.
240
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
execução, adaptando-se conforme o necessário e eliminando assim a
necessidade de declarar explicitamente o tipo de dado de uma variável.
Fonte: as Autoras.
241
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
valores booleanos entre outros, dependendo da linguagem de programação
utilizada. Verifique a seguir cada um dos tipos de dados mais utilizados:
variavel_inteira = 12
variavel_real = 3.1415926
variavel_booleana = True
242
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
computador, essa atribuição deve respeitar regras da linguagem de
programação para ser válido.
243
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
A sintaxe do comando input é dada a seguir:
input('')
É necessário que o comando esteja vinculado a uma variável, pois é nela que
os dados fornecidos serão armazenados. A sintaxe de tal linha de comando pode
ser observada abaixo:
244
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
É importante destacar que, ao ser utilizado na forma apresentada, o
comando atribui automaticamente o tipo de dado str à variável associada.
Abaixo, pode ser observada a saída de tela final, gerada pelo código anterior
quando compilado, executado e com os dados de entrada fornecidos pelo
usuário (Figura 201).
Figura 201: Terminal do VSCode exibindo as saídas geradas pelo código apresentado.
Fonte: captura de tela da IDE.
4
O operador de atribuição em programação é utilizado para atribuir um valor a uma variável. Ele é representado pelo sinal de igual
(=). Ao utilizá-lo, você estará essencialmente dizendo ao programa para armazenar o valor à direita do sinal de igual na variável à
esquerda do sinal de igual.
245
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 202: Terminal do VSCode exibindo as saídas geradas pelo código apresentado.
Fonte: captura de tela da IDE.
246
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
int(variavel) Converte o conteúdo da variável para o tipo numérico
inteiro.
3.
4. num2 = int(input('Forneça um segundo valor inteiro: '))
247
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3. num3 = int(input('Forneça um terceiro valor inteiro:
'))
4. print('A soma dos valores fornecidos é:',
num1+num2+num3)
Figura 203: Terminal do VSCode exibindo as saídas geradas pelo código apresentado.
Fonte: captura de tela da IDE.
Outro ponto relevante é que, para apresentar como resultado a soma dos
três valores inteiros fornecidos, foi utilizado o operador aritmético de adição
(+). Além do operador de adição e do operador de atribuição que já foram
mencionados, existem outros operadores aritméticos, que serão apresentados
a seguir.
248
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Operador Significado Sintaxe em Operação realizada
Python
= Atribuição A=B Atribui B a variável A
+ Adição A=B+C Atribui à A a soma entre B e C
- Subtração A=B-C Atribui à A a subtração entre B
eC
* Multiplicação A=B*C Atribui à A a multiplicação
entre B e C
/ Divisão A=B/C Atribui à A a divisão entre B e C
// Divisão exata A = B // C Atribui à A a parte inteira do
quociente da divisão entre B e
C
** Potenciação A = B ** C Atribui à A o valor de BC
Fonte: as Autoras.
249
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
6. z = float(input('Forneça um valor para a variável z: '))
7.
8. resultado = x ** 2 + 3.5 * y + z/3 - 4
9.
10. print('x2 + 3.5 y + z/3 - 4 =',resultado)
1 2 3 4
() ** / +
* -
e o código CRC UZDIGMX2.
//
%
Tabela 3: Precedência dos operadores.
Fonte: as Autoras.
250
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
A saída de tela abaixo (Figura 204) foi gerada após a execução do código,
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
note que três valores reais foram atribuídos às variáveis x, y e z. E o cálculo foi
realizado seguindo as normas definidas pela precedência de operadores.
Figura 204: Terminal do VSCode exibindo as saídas geradas pelo código apresentado.
Fonte: captura de tela da IDE.
=16.05
251
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
6. y = float(input('Forneça um valor para a variável y:'))
7. z = float(input('Forneça um valor para a variável z:'))
8.
9. resultado = ((x ** (2 + 3.5)) * y) +( (z/3) - 4)
10.
11. print('x2 + 3.5 y + z/3 - 4 =',resultado)
= 189.38 - 2.34
= 187.04
252
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 205: Terminal do VSCode exibindo as saídas geradas pelo código apresentado.
Fonte: captura de tela da IDE.
253
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação
propostas, é fundamental completar os passos anteriores relacionados
à configuração da IDE escolhida.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
254
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividades de experimentação 7 ●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Faça um código utilizando a linguagem Python capaz de calcular o valor de
f(x), sendo x uma variável real fornecida como entrada (input) pelo usuário.
Atividades de experimentação 8 ●●
Atividades de experimentação 9 ●●
255
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividades de experimentação 10 ●●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Elabore um programa em Python que seja capaz de calcular o valor final de
uma compra, considerando a aplicação de descontos. O programa deve
primeiramente pedir ao usuário para inserir o montante total da compra e a
porcentagem de desconto e exibir o valor final da compra na tela.
256
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Existem três categorias principais de estruturas de controle de fluxo:
257
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
consideração comparações entre valores, valores e variáveis, variáveis e
variáveis, e até mesmo expressões mais complexas. Essas comparações sempre
resultam em um valor booleano, podendo ser verdadeiro ou falso,
proporcionando a base para as decisões lógicas dentro do programa.
Fonte: as Autoras.
258
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
retorno
15 == 15 O valor constante 15 é igual ao 1 - Verdade
valor constante 15.
8>5 O valor constante 8 é maior que o 1 - Verdade
valor constante 5.
9 < 13 O valor constante 9 é menor que o 1 - Verdade
valor constante 13.
7 >= 13 O valor constante 7 é maior ou 0 - Falso
igual ao valor constante 13.
variavel == 9 O valor contido na variável 1 – Verdade (se “variavel”
“variavel” é igual a constante 9. conter o valor nove).
259
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
valor igual a 13)
Fonte: as Autoras.
260
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
if condição:
print("O espaço à esquerda desta linha é a indentação")
#mais comandos podem pertencer a essa condicional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
O comando if possui sintaxe simples, a qual é mostrada a seguir:
if condição:
#Seu bloco de comando se inicia aqui
261
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
2. nome = input()
3. idade = int(input('Qual a sua idade: '))
4. if idade >= 18:
5. print('Bem vindo(a),',nome)
Figura 206: Terminal do VSCode exibindo as saídas geradas pelo código apresentado.
Fonte: captura de tela da IDE.
262
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 207: Terminal do VSCode exibindo as saídas geradas pelo código apresentado.
Fonte: captura de tela da IDE.
else:
'''Seu bloco de código se inicia aqui e será
executado se a condição do if for falsa'''
263
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
exemplo anterior. Nessa situação, caso a idade seja maior ou igual a 18 anos, o
programa exibe na tela a mensagem “Bem-vindo, usuário”. Caso contrário,
exibe “Proibida a entrada”.
Analisando o código acima, podemos verificar a execução da estrutura e o código CRC UZDIGMX2.
264
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Figura 208: Terminal do VSCode exibindo as saídas geradas pelo código apresentado.
Fonte: captura de tela da IDE.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Observe que o terminal acima exibe uma possível saída, considerando que
o usuário forneceu a idade de 45 anos. Nesse cenário, o valor fornecido é
analisado na condição do if (45 > 18), a qual é avaliada como verdadeira.
Portanto, o bloco de comandos associado ao if é executado, e a mensagem
"Bem-vindo, José Eduardo Santos" é exibida na tela. O bloco de comandos
vinculado ao else será ignorado.
265
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
matemática. Nesse caso, o valor do denominador é testado e somente é
realizada a divisão se esse valor for diferente de zero (!=). Deve ser exibida na
tela o valor da divisão exata (//) e o resto da divisão (%).
266
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Caso contrário, isto é, se a condição que acompanha o if for falsa (booleano
for 0), o programa se direciona para a linha 9, executando o bloco de comandos
que a acompanha. Ambos os casos podem ser vistos nos terminais a seguir
(Figura 210).
Figura 210: Terminal do VSCode exibindo as saídas geradas pelo código apresentado.
Fonte: captura de tela da IDE.
Observe que o terminal acima exibe uma possível saída, considerando que
o usuário forneceu um denominador diferente de zero. Nesse contexto, o valor
e o código CRC UZDIGMX2.
fornecido é analisado na condição do if (3 != 0), a qual é avaliada como
verdadeira.
267
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 211: Terminal do VSCode exibindo as saídas geradas pelo código apresentado.
Fonte: captura de tela da IDE.
268
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
m: '))
4. if largura > 0 :
5. comprimento = float(input('Forneça o comprimento do
terreno em m: '))
6. if comprimento > 0:
7. area = largura * comprimento
8. print('A área do terreno retangular é: ,area,'m²')
9. else :
10. print('Valor inválido fornecido. ')
11. else:
12. print('Valor inválido fornecido. ')
269
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3.3.10.3.4. Operadores lógicos
Operadores lógicos desempenham um papel crucial na construção de
estruturas de condições compostas, simplificando a implementação de códigos
e reduzindo a necessidade de estruturas condicionais extensas. Em termos
gerais, esses operadores são utilizados para conectar condições menores,
criando assim condições compostas mais abrangentes.
270
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Fonte: as Autoras.
Tabela Verdade
Condição 1 Condição 2 Saída
Verdadeira Verdadeira Verdadeira
e o código CRC UZDIGMX2.
Falsa Verdadeira Falsa
Verdadeira Falsa Falsa
Falsa Falsa Falsa
Tabela 7: Tabela Verdade operador lógico and.
Fonte: as Autoras.
271
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
1. # Vamos calcular a área de um terreno retangular
2. print('Vamos calcular a área de um terreno retangular
em m²')
3. largura = float(input('Forneça a largura do terreno em
m: '))
4. comprimento = float(input('Forneça o comprimento do
terreno em m: '))
5. if (largura > 0 and comprimento > 0):
6. area = largura * comprimento
7. print('A área do terreno retangular é: ',area, 'm²')
8.
9. else:
10. print('Valor(es) inválido(s) fornecido(s). ')
e o código CRC UZDIGMX2.
272
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Tabela Verdade
Condição 1 Condição 2 Saída
Verdadeira Verdadeira Verdadeira
Falsa Verdadeira Verdadeira
Verdadeira Falsa Verdadeira
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Falsa Falsa Falsa
Tabela 8: Tabela Verdade operador lógico or.
Fonte: as Autoras.
6.
7. if (PCD == 1 or idade >= 60):
8. print('Você será direcionado para a próxima seção
do processo seletivo.')
9. else:
10. print('Não existem vagas para o seu perfil neste
momento. ')
273
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
O operador not é o único operador que recebe apenas um valor como
entrada e sua função é simplesmente inverter esse valor. Em outras palavras, se
o valor de entrada for verdadeiro, o resultado será falso, e se o valor de
entrada for falso, o resultado será verdadeiro.
elif (senão, se): Pode ser utilizado após um if para verificar uma condição
adicional, caso a condição do if seja falsa. Se a condição do elif for verdadeira, o
bloco de código dentro do elif é executado.
274
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
if condição1:
# Bloco de código se condição1 for verdadeira
elif condição2:
# Bloco de código se condição2 for verdadeira
else:
# Bloco de código se nenhuma das condições
anteriores for verdadeira
275
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
(N3>=0 and N3<=10):
6. soma = N1 + N2 + N3
7. media = soma/3
8. if media >= 0 and media <=4:
9. print('Sua média foi: ', media,'. \nEste aluno
está reprovado. ')
10. elif media >= 4 and media <=7:
11. print('Sua média foi: ', media,'. \nEste aluno
está em regime de recuperação especial. ')
12. else:
13. print('Sua média foi: ', media,'. \nEste aluno
está aprovado. ')
14. else:
15. print('Esse valor não corresponde que ao intervalo
esperado') e o código CRC UZDIGMX2.
276
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação
propostas, é fundamental completar os passos anteriores relacionados
à configuração da IDE escolhida.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
277
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Atividade de experimentação 11 ●●●
Atividade de experimentação 12 ●
278
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividade de experimentação 14 ●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Atividade de experimentação 15 ●●
Atividade de experimentação 17 ●●
Atividade de experimentação 18 ●●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
neste valor, o programa deve verificar a existência e o percentual de um
desconto aplicável, de acordo com as faixas de valor pré-estabelecidas pela loja.
Caso o desconto seja aplicável, o programa deve calcular e mostrar o valor final
após a aplicação deste desconto. Se não houver desconto, o programa deve
exibir o valor original da compra.
280
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
ou até mesmo repetições infinitas.
range(10)
Na sintaxe apresentada acima o comando range irá gerar uma sequência e o código CRC UZDIGMX2.
for i in range(n):
#bloco de comandos que serão repetidos
281
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
1. for i in range(7):
2. if i == 6:
3. print(i, end = '.')
4. else:
5. print(i, end = ',')
Figura 212: Terminal do VSCode exibindo as saídas geradas pelo código apresentado.
Fonte: captura de tela da IDE.
5
Iterar na programação é o ato de repetir ações ou passos várias vezes, geralmente com loops como "for" ou
"while", para percorrer dados ou executar uma tarefa até que uma condição específica seja alcançada.
6
O argumento end é um parâmetro opcional que pode ser passado para controlar o caractere que será adicionado
ao final de cada chamada da função print()
282
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
formatação; do contrário, ocorrerá um erro.
Veja um exemplo simples capaz de exibir uma frase no console por cinco
vezes utilizando o comando for.
1. for i in range(5):
2. print('Hello World')
Figura 213: Terminal do VSCode exibindo as saídas geradas pelo código apresentado.
Fonte: captura de tela da IDE.
283
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Assim, a sintaxe do comando while é a seguinte:
while condição:
# blocos de comandos que serão repetidos enquanto a
condição tiver como saída verdade
284
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
1. print('Sistema de acesso a plataforma Facti')
2. print('Para iniciar a sua sessão forneça a sua senha
de acesso: ')
3. senha = input()
4. while senha != 'facti123':
5. print('Senha incorreta!')
6. print('Tente novamente')
7. senha = input('Forneça a sua senha de acesso:')
8. print('Seja bem vindo(a)')
285
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 214: Terminal do VSCode exibindo as saídas geradas pelo código apresentado.
Fonte: captura de tela da IDE.
286
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação
propostas, é fundamental completar os passos anteriores relacionados
à configuração da IDE escolhida.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
287
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Atividades de experimentação 19 ●●●
288
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividades de experimentação 22 ●●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Atividades de experimentação 23 ●●●
Atividades de experimentação 24 ●●
289
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividades de experimentação 25 ●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e o código CRC UZDIGMX2.
290
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
partes menores. Por exemplo, diversas funções podem ser criadas e utilizadas
para solucionar um problema abrangente.
291
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
● Se uma subtarefa tem potencial para ser utilizada como uma função
independente.
● Quando um conjunto específico de comandos é repetido frequentemente
no programa.
● Se há a intenção de compartilhar uma solução específica com outros
programadores, como parte de uma biblioteca.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
As funções são caracterizadas por elementos distintos que definem sua
estrutura e funcionalidade. Três elementos principais são essenciais para a
identificação e operação de uma função:
1. Parâmetros ou Argumentos:
3. Valores de Retorno:
292
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
def nome(argumentos):
#linhas de comandos que farão parte dessa função
Note que a sintaxe para declarar funções é direta e clara, mas requer
atenção a certos detalhes. Para iniciar a declaração de uma função usa-se a
palavra reservada def. Além disso, é importante estar atento ao uso do símbolo
de dois pontos : , que marca o início do corpo (conteúdo) da função.
def exibir_elementos():
293
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
def calcular_soma(valor1,valor2):
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
uma função simples, surge a questão de como utilizá-la. Nas seções práticas,
você aprenderá mais sobre como declarar funções e suas aplicações.
1. #função criada
2. def exibe_mensagem():
3. print("Essa frase será exibida quando a função for
solicitada.")
4.
5. #programa principal, em que a função será solicitada
6. exibe_mensagem() e o código CRC UZDIGMX2.
294
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
ou uma string.
1. import cmath
2.
3. def bhaskara(a, b, c):
4. delta = b**2 - 4 * a * c
5.
6. # Cálculo de raízes usando números complexos para
lidar com delta negativo
7. x1 = (-b + cmath.sqrt(delta)) / (2 * a)
8. x2 = (-b - cmath.sqrt(delta)) / (2 * a)
9. e o código CRC UZDIGMX2.
295
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
raiz quadrada de delta seja calculada corretamente, mesmo quando delta é
negativo (o que resultaria em raízes complexas). A função retorna as duas
possíveis soluções da equação, que podem ser reais ou complexas,
dependendo do valor de delta.
296
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. import cmath
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
2.
3. def bhaskara(a, b, c):
4. delta = b**2 - 4 * a * c
5. # Cálculo de raízes usando números complexos para
lidar com delta negativo
6. x1 = (-b + cmath.sqrt(delta)) / (2 * a)
7. x2 = (-b - cmath.sqrt(delta)) / (2 * a)
8. return x1, x2
9.
10. #programa principal
11. a = float(input('Forneça o valor de a: '))
12. b = float(input('Forneça o valor de b: '))
13. c = float(input('Forneça o valor de c: '))
14.
e o código CRC UZDIGMX2.
15. x1, x2 = bhaskara(a, b, c)
16. print('O valor de X1 é:', x1)
17. print('O valor de X2 é:', x2)
297
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
eh_par(4) retorna True.
1. def eh_par(x):
2. resto = x % 2
3. return resto
4.
5. # programa principal
6.
7. x = int(input('Forneça o valor de x '))
8. resto = eh_par(x)
9. if resto == 0:
10. print('True')
11. else:
298
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
declarada dentro de uma função, ela só pode ser usada
dentro dessa função específica. Por outro lado, uma variável
global é definida fora de todas as funções e pode ser
acessada por qualquer parte do código, tendo assim um
alcance mais amplo e podendo ser utilizada por várias
funções diferentes no programa. Ambos os tipos de variáveis
são essenciais para a organização e a estruturação do código
em um programa.
299
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação, é
fundamental completar os passos anteriores relacionados à
configuração da IDE escolhida.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
300
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Atividades de experimentação 26 ●●
Atividades de experimentação 27 ●●
Atividades de experimentação 28 ●●
301
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Atividades de experimentação 30 ●●●
302
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
caracterizado por uma sequência de caracteres como letras, números, símbolos
e espaços. Em Python, são delimitadas por aspas simples (' ') ou aspas duplas
(" "), permitindo, assim, que o programa identifique e manipule o texto,
conforme apresentado no exemplo a seguir.
palavra = "Python"
frase = 'Inteligência Artificial aplicada à Visão
Computacional'
● Concatenação
● Fatia (Slicing)
● Substituição
● Busca
● Comparação
303
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3.3.13.1.1. O que é concatenação?
A concatenação é o processo de unir duas ou mais strings (sequências de
caracteres) para formar uma única string. É como se você pegasse palavras ou
frases separadas e as colasse para formar uma frase ou parágrafo mais longo.
304
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3. # Utilizando slicing para extrair "Hello"
4. # O índice começa em 0 e vai até 4 (o 5º índice
não é incluído)
5. palavra = texto[0:5]
6.
7. print(palavra)
305
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
1. palavra_01 = 'Capitulo 1:'
2. palavra_02 = 'Python'
3. concatenacao = palavra_01 + ' ' + palavra_02
4. print(concatenacao)
306
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Onde:
307
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3.3.13.1.4. O que é Busca?
A busca em strings é uma operação comum e útil, permitindo encontrar
substrings ou caracteres específicos dentro de uma string maior. Python oferece
várias maneiras de realizar essa busca, sendo as mais comuns os métodos
find(), index(), rfind(), rindex() e a utilização de expressões regulares com o
módulo re.
● Método find()
e o código CRC UZDIGMX2.
308
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
● Método index()
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
substring não for encontrada.
Retorno: Retorna o índice da primeira ocorrência da substring.
re.search(pattern, string)
re.match(pattern, string)
309
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
uma ferramenta poderosa para processamento de texto,
permitindo a busca, substituição e manipulação de strings de
maneira avançada e flexível, baseada em padrões específicos.
310
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
A comparação de strings é um conceito fundamental em programação,
usado para avaliar a relação entre duas strings. Em muitas linguagens de
programação, incluindo Python, strings podem ser comparadas usando
operadores de comparação. Essas comparações podem ser usadas para
verificar a igualdade, a ordem alfabética ou outras relações específicas entre as
strings. Vamos detalhar como funciona essa comparação, por meio dos tipos de
comparação existentes.
● Igualdade e Desigualdade:
○ Verifica se duas strings são exatamente iguais (mesmo conteúdo e
mesma capitalização).
311
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
● Case Sensitivity: Letras maiúsculas e minúsculas diferem
para comparações. Por exemplo, "A" é diferente de "a".
● Codificação de Caracteres: A forma como os caracteres são
codificados pode afetar a comparação. Por exemplo, em
Unicode, caracteres acentuados ou especiais podem
influenciar a ordem lexicográfica.
● Normalização: Em alguns casos, é útil normalizar as strings
(como converter tudo para minúsculas) antes de
compará-las, especialmente se a comparação não deve ser
sensível a maiúsculas e minúsculas.
312
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. string1 = "Maçã"
2. string2 = "maçã"
3.
4. # Comparação sensível a maiúsculas e minúsculas
5. print(string1 == string2) # Saída: False
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
6. # Comparação insensível a maiúsculas e minúsculas
7. print(string1.lower() == string2.lower()) # Saída:
True
8. # Comparação de ordem alfabética
9. print(string1 < string2) # Saída depende da
codificação de caracteres
313
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
3.3.13.2.Atividades de experimentação
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação, é
fundamental completar os passos anteriores relacionados à
configuração da IDE escolhida.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
314
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividades de experimentação 31 ●
Escreva uma função em Python que recebe uma string e retorna ela
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
invertida. Por exemplo, a entrada "Hello" deve retornar "olleH".
Atividades de experimentação 32 ●
Escreva uma função que receba uma string e retorne uma nova string com
apenas os caracteres em posições ímpares. Por exemplo, "abcdef" deve
retornar "bdf".
Dada uma frase e uma lista de palavras proibidas, escreva uma função que
substitua cada palavra proibida por "****". Exemplo: para a frase "Python é
incrível" e a palavra proibida "incrível", o resultado deve ser "Python é ****".
315
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividades de experimentação 35 ●●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Atividades de experimentação 36 ●
316
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
manipulação de arquivos, focando em quatro elementos:
● Abrir arquivos;
● Ler arquivos;
● Escrever arquivos;
● Fechar arquivos.
open(file, mode)
onde:
317
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
● É ideal para situações em que você apenas precisa ler dados de um
arquivo existente.
318
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
● Modo de Atualização ('+'):
● Pode ser combinado com outros modos, como 'r+', 'w+' ou 'a+'.
● Permite a leitura e a escrita no mesmo arquivo.
● 'r+' abre o arquivo para atualização (leitura e escrita) sem apagar o
conteúdo existente.
● 'w+' e 'a+' combinam as funcionalidades de escrita/adicionar com a
capacidade de leitura.
319
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3.3.13.3.2.1. Método read()
file.read(size)
file.readline(size)
7
Um arquivo JSON (JavaScript Object Notation) é um formato leve de troca de dados, fácil de ler e escrever para
humanos e simples de analisar e gerar para máquinas. JSON é baseado em um subconjunto da linguagem de
programação JavaScript, mas é independente de linguagem, sendo amplamente utilizado em muitas linguagens
de programação para o intercâmbio de dados.
320
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Aplicação: Ideal para casos em que você deseja processar um arquivo linha
por linha, como ler um arquivo de log ou processar um arquivo CSV linha a
linha.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
do arquivo. Quando o fim do arquivo é alcançado, readline() retorna uma string
vazia ('').
file.readlines(size)
321
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
5.
6. # Usando read()
7. with open('exemplo.txt', 'r') as file:
8. conteudo = file.read()
9. print(conteudo)
10.
11. # Usando readline()
12. with open('exemplo.txt', 'r') as file:
13. linha = file.readline()
14. while linha:
15. print(linha, end='') # end='' para evitar nova
linha extra
16. linha = file.readline()
17.
322
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3.3.13.3.3.1. Métodos para escrever em
arquivos
● Método write():
file.write(string)
323
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
● Método writelines():
file.writelines(lista_de_strings)
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Funcionalidade: Escreve uma lista de strings no arquivo. Assim como no
write(), não adiciona novas linhas automaticamente.
Exemplo:
324
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Ao manipular arquivos em programação, é fundamental
fechar o arquivo após seu uso para assegurar a correta gravação
dos dados e liberação de recursos, sendo recomendado o uso do
gerenciador de contexto with em Python para esse fim. Além
disso, é importante estar atento ao tratamento de erros, como
dificuldades ao abrir arquivos para escrita, para garantir a
robustez e segurança do programa.
325
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
● Método close():
● Funcionalidade: o método close() é usado para fechar um arquivo
explicitamente após a conclusão de todas as operações de leitura ou
escrita.
● Fechar um arquivo é importante por várias razões:
■ Liberação de recursos: quando um arquivo é aberto, recursos do
sistema são alocados para essa operação. Fechá-lo libera esses
recursos.
■ Garantia de escrita: no caso de operações de escrita, fechar o
arquivo assegura que todas as operações pendentes sejam
concluídas e que os dados sejam efetivamente gravados no disco.
● Exemplo:
e o código CRC UZDIGMX2.
326
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
● Vantagens:
■ Redução de Erros: Diminui o risco de esquecer de fechar o arquivo,
um erro comum que pode levar a problemas como vazamento de
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
recursos ou dados não salvos.
■ Melhor Tratamento de Exceções: Garante que o arquivo seja
fechado adequadamente mesmo quando uma exceção é
encontrada, ajudando a manter a integridade dos dados e do
programa.
● Exemplo:
327
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação, é
fundamental completar os passos anteriores relacionados à
configuração da IDE escolhida.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
328
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividades de experimentação 39 ●●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
meu_arquivo.txt. Use o programa para escrever a frase "Olá, mundo da
programação em Python!" no arquivo. Não esqueça de verificar se o arquivo foi
criado e se o conteúdo está correto.
Atividades de experimentação 40 ●●
Atividades de experimentação 41 ●●
Atividades de experimentação 42 ●●
329
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Atividades de experimentação 44 ●●
Atividades de experimentação 45 ●●
Crie um programa que, cada vez que for executado, adicione a data e hora
atuais em um arquivo chamado log.txt. As entradas no log devem estar em
linhas separadas e incluir a data e a hora exatas da execução.
330
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Uma definição acadêmica clássica de estruturas de dados pode ser
encontrada no livro "Algorithms" de Robert Sedgewick e Kevin Wayne:
“Estruturas de dados são uma maneira de armazenar e organizar dados em um
computador, para que possam ser usados eficientemente.” (Sedgewick; Wayne,
2011, p. 1.)
Python oferece várias estruturas de dados embutidas que são tanto flexíveis
quanto poderosas. Aqui estão algumas das mais comuns:
● Tuplas (tuple): Uma vez criadas, os itens em uma tupla não podem ser
alterados. As tuplas são declaradas com parênteses ().
● Listas (lists): São coleções ordenadas e mutáveis de itens (que podem
ser de tipos diferentes). As listas são declaradas com colchetes [] e seus
elementos podem ser acessados por índices.
● Dicionários (Dicts): São coleções desordenadas de pares chave-valor. São
331
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
manipulá-las de maneira eficiente, tornando Python uma linguagem poderosa e
flexível para programação de dados. Os próximos itens abordados serão
destinados a trabalhar cada uma dessas estruturas e suas organizações.
● Imutabilidade: Uma vez que uma tupla é criada, seus elementos não podem
ser alterados, adicionados ou removidos. Por causa dessa imutabilidade, as
tuplas são frequentemente usadas para armazenar dados que não devem
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
● Usos Comuns:
1. Armazenar dados que não devem mudar, como coordenadas ou
configurações.
2. Passar múltiplos valores de/para funções.
3. Uso em estruturas de dados como chaves de dicionários, em que a
imutabilidade é necessária.
333
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. # Tupla de números
2. numeros_tupla = (1, 2, 3, 4, 5)
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3. print("Tupla de números:", numeros_tupla)
4.
5. # Tupla com tipos misturados
6. mistura_tupla = (42, "gato", 3.14, True)
7. print("Tupla mista:", mistura_tupla)
8.
9. # Tupla aninhada (tupla dentro de outra tupla)
10. aninhada_tupla = (1, 2, (3, 4))
11. print("Tupla aninhada:", aninhada_tupla)
1. singleton = (42,)
2. print("Tupla singleton:", singleton)
1. numeros_tupla = (1, 2, 3, 4, 5)
2. # Tentando alterar um elemento da tupla (isto
causará um erro)
3. try:
4. numeros_tupla[0] = 100
5. except TypeError as e:
6. print("Erro:", e)
334
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. numeros_tupla = (1, 2, 3, 4, 5)
2. # Acessando o primeiro elemento
3. primeiro = numeros_tupla[0]
4. print("Primeiro elemento:", primeiro)
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
5.
6. # Acessando o último elemento
7. ultimo = numeros_tupla[-1]
8. print("Último elemento:", ultimo)
9.
10. # Acessando um intervalo (fatiamento)
11. intervalo = numeros_tupla[1:4] # Do segundo ao
quarto elemento
12. print("Intervalo:", intervalo)
335
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. numeros_tupla = (1, 2, 3, 4, 5)
2.
3. # Iterando sobre uma tupla
4. for numero in numeros_tupla:
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
5. print("Número:", numero)
6.
7. # Desempacotando uma tupla
8. a, b, c, d, e = numeros_tupla
9. print("Desempacotado:", a, b, c, d, e)
336
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
● Definição e Características:
1. Mutabilidade: São mutáveis, o que significa que você pode alterar,
adicionar ou remover elementos depois que a lista é criada.
2. Ordenação: Os elementos em uma lista têm uma ordem definida, que é
a ordem na qual você os adiciona ou específica.
3. Tipos de Dados: Uma lista pode conter itens de diferentes tipos,
incluindo outras listas, tornando-as estruturas muito flexíveis.
337
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
● Indexação e Fatiamento: Elas suportam indexação (acesso a um elemento
específico) e fatiamento (acesso a uma subseção), permitindo manipulação
detalhada dos dados.
Atenção:
338
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. # Lista de números
2. numeros = [1, 2, 3, 4, 5]
3. print("Lista de números:", numeros)
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
4.
5. # Lista com tipos de dados misturados
6. mistura = [42, "gato", 3.14, False]
7. print("Lista mista:", mistura)
8.
9. # Lista aninhada (lista dentro de outra lista)
10. aninhada = [1, 2, [3, 4]]
11. print("Lista aninhada:", aninhada)
339
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. numeros = [1, 2, 3, 4, 5]
2. print("Lista de números:", numeros)
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3.
4. #acessando o ultimo elemento
5. ultimo = numeros[-1]
6. print("Último elemento:", ultimo)
1. numeros = [1, 2, 3, 4, 5]
2. print("Lista de números:", numeros)
3. intervalo = numeros[1:4] # Do segundo elemento ao
quarto e o código CRC UZDIGMX2.
4. print("Intervalo:", intervalo)
340
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. numeros = [1, 2, 3, 4, 5]
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
2. print("Lista de números:", numeros)
3. # Adicionando um elemento ao final da lista
4. numeros.append(6)
5. print("Após adicionar:", numeros)
6.
7. # Inserindo um elemento em uma posição específica
8. numeros.insert(2, 99)
9. print("Após inserir:", numeros)
10.
11. # Removendo um elemento
12. numeros.remove(99)
13. print("Após remover:", numeros)
14.
15. # Alterando um elemento
16. numeros[0] = 100 e o código CRC UZDIGMX2.
341
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. numeros = [1, 2, 3, 4, 5]
2. print("Lista de números:", numeros)
3.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
4. # Comprimento da lista
5. tamanho = len(numeros)
6. print("Tamanho da lista:", tamanho)
7.
8. # Verificando se um elemento está na lista
9. contem = 4 in numeros
10. print("Contém 4?", contem)
11.
12. # Iterando sobre uma lista
13. for numero in numeros:
14. print("Número:", numero)
15.
16. # List Comprehension para criar uma nova lista
17. quadrados = [x**2 for x in numeros]
18. print("Quadrados dos números:", quadrados) e o código CRC UZDIGMX2.
342
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Vamos explorar suas principais características:
● Definição e Características:
1. Chave-valor: cada item em um dicionário é um par de chave-valor. As
chaves são únicas dentro de um dicionário e são usadas para acessar os
valores correspondentes.
2. Mutabilidade: os dicionários são mutáveis, permitindo adicionar,
modificar e remover pares de chave-valor.
3. Não ordenado: até o Python 3.6, os dicionários eram considerados
coleções não ordenadas. No entanto, a partir do Python 3.7, eles
mantêm a ordem de inserção.
● Criação de Dicionários: São criados usando chaves {}, com pares chave-valor e o código CRC UZDIGMX2.
343
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
● Acesso e Modificação:
1. Acesso: O valor associado a uma chave é acessado usando a sintaxe
dicionario[chave].
2. Adição/Atualização: Pares chave-valor são adicionados ou atualizados
usando a mesma sintaxe.
3. Remoção: Itens podem ser removidos usando del dicionario[chave] ou o
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
método pop(chave).
● Métodos Comuns:
1. keys(): Retorna uma visualização das chaves no dicionário.
2. values(): Retorna uma visualização dos valores.
3. items(): Retorna uma visualização dos pares chave-valor.
4. get(chave, valor_padrao): Obtém o valor associado a uma chave,
retornando um valor padrão se a chave não existir.
344
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3. print("Dicionário de contatos:", contatos)
4.
5. # Dicionário com vários tipos de dados
6. pessoa = {"nome": "Ana", "idade": 30, "altura": 1.65}
7. print("Dicionário de pessoa:", pessoa)
8.
9. # Dicionário aninhado
10. agenda = {
11. "João": {"telefone": "1234-5678", "email":
"joao@example.com"},
12. "Maria": {"telefone": "9876-5432", "email":
"maria@example.com"}
13. }
14. print("Dicionário aninhado (agenda):", agenda)
e o código CRC UZDIGMX2.
345
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
"9876-5432"}
3. print("Dicionário de contatos:", contatos)
4.
5. # Acessando um valor
6. telefone_joao = contatos["João"]
7. print("Telefone do João:", telefone_joao)
8.
9. # Modificando um valor
10. contatos["João"] = "1111-2222"
11. print("Telefone do João atualizado:",
contatos["João"])
12.
13. # Adicionando um novo par chave-valor
14. contatos["Carlos"] = "3333-4444"
346
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
"9876-5432"}
2. print("Dicionário de contatos:", contatos)
3.
4. # Obtendo todas as chaves
5. chaves = contatos.keys()
6. print("Chaves:", list(chaves))
7.
8. # Obtendo todos os valores
9. valores = contatos.values()
10. print("Valores:", list(valores))
11.
12. # Obtendo todos os pares chave-valor
13. itens = contatos.items()
14. print("Itens:", list(itens))
347
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
4. # Iterando sobre as chaves
5. for nome in contatos:
6. print(nome)
7.
8. # Iterando sobre os valores
9. for telefone in contatos.values():
10. print(telefone)
11.
12. # Iterando sobre os pares chave-valor
13. for nome, telefone in contatos.items():
14. print(nome, telefone)
348
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
simétrica. As características e operações fundamentais relacionadas aos sets
em Python são:
● Definição e Características:
1. Não Ordenados: Os elementos em um set não têm uma ordem
específica.
2. Elementos Únicos: Não são permitidos valores duplicados em um set.
3. Mutabilidade: Enquanto você pode adicionar ou remover itens de um
set, os elementos individuais contidos neles devem ser imutáveis (como
números, strings, tuplas).
● Criação de Sets:
meu_set = {1, 2, 3}
outro_set = set([4, 5, 6]) # Criando um set a partir
de uma lista
349
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
● Operações de Conjunto:
1. União: a | b ou a.union(b).
2. Interseção: a & b ou a.intersection(b).
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3. Diferença: a - b ou a.difference(b).
4. Diferença Simétrica: a ^ b ou a.symmetric_difference(b) (elementos
que estão em a ou em b, mas não em ambos).
350
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3. print("Conjunto de números:", numeros_set)
4.
5. # Criando um conjunto a partir de uma lista (para
remover duplicatas)
6. lista_com_duplicatas = [1, 2, 2, 3, 3, 4, 5]
7. conjunto_unico = set(lista_com_duplicatas)
8. print("Conjunto sem duplicatas:", conjunto_unico)
351
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3. print("Conjunto de números:", numeros_set)
4.
5. # Outro conjunto para operações
6. outro_set = {4, 5, 6, 7, 8}
7.
8. # União de conjuntos
9. uniao = numeros_set.union(outro_set)
10. print("União:", uniao)
11.
12. # Interseção de conjuntos
13. intersecao = numeros_set.intersection(outro_set)
14. print("Interseção:", intersecao)
15.
16. # Diferença entre conjuntos
352
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
4.
5. # Verificando a existência de um elemento
6. contem = 5 in numeros_set
7. print("Contém 5?", contem)
8.
9. # Iterando sobre um conjunto
10. for numero in numeros_set:
11. print("Número:", numero)
353
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação, é
fundamental completar os passos anteriores relacionados à
configuração da IDE escolhida.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
354
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividades de experimentação 48 ●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
elemento.
Atividades de experimentação 49 ●●
Atividades de experimentação 50 ●
355
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividades de experimentação 51 ●
Imagine que você está desenvolvendo um software que lida com uma série
de dados numéricos. Esses dados estão inicialmente desorganizados e
precisam ser ordenados para facilitar análises futuras.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
ordenar esta lista em ordem crescente.
Use list comprehension para criar uma lista dos quadrados dos números de
1 a 10. Esta lista representará uma transformação simples dos dados, um passo
que pode ser útil para visualizar relações não lineares nos dados ou para
356
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Pois bem, uma biblioteca, também denominada de módulo ou pacote, é um
conjunto de código reutilizável que contém funções, classes e variáveis que
podem ser usadas para realizar tarefas específicas. As bibliotecas são uma parte
fundamental do ecossistema e são projetadas para simplificar o
desenvolvimento de programas, permitindo que os programadores aproveitem
o código já existente em vez de reinventar a roda.
import math
357
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
● Bibliotecas Padrão: Python possui uma biblioteca padrão rica que vem
com a instalação padrão da linguagem. Isso inclui bibliotecas como os para
operações de sistema operacional, datetime para manipulação de datas e
horas, json para trabalhar com dados no formato JSON, random para
geração de números aleatórios e muitas outras.
● Bibliotecas de Terceiros: Além da biblioteca padrão, existem inúmeras
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
bibliotecas de terceiros disponíveis no repositório PyPI (Python Package
Index) que você pode instalar e usar para uma ampla variedade de tarefas.
Alguns exemplos populares incluem Numpy para computação numérica,
Pandas para análise de dados, Matplotlib para visualização de dados e
Requests para fazer solicitações HTTP.
● Documentação: A maioria das bibliotecas Python é bem documentada, o
que significa que você pode encontrar informações detalhadas sobre como
usá-las, incluindo exemplos e tutoriais, nos sites oficiais ou em outros
recursos.
358
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
3.3.14.1. Matplotlib
Matplotlib é uma ferramenta fundamental no universo da programação em
Python, especialmente para quem lida com análise e visualização de dados.
Com ela é possível criar gráficos e visualizações personalizadas de alta
qualidade para representar dados de forma eficaz.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Uma característica importante é sua flexibilidade, pois oferece uma ampla
gama de recursos e opções de personalização, permitindo que você ajuste
praticamente todos os aspectos do seu gráfico, desde cores até títulos, rótulos
de eixo e escalas. Isso significa que você pode criar gráficos que atendam às
necessidades específicas do seu projeto.
359
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
4. plt.plot([1, 2, 3, 4], [10, 20, 25, 30])
5. plt.show()
360
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
5. plt.xlabel('Eixo X')
6. plt.ylabel('Eixo Y')
7. plt.grid(True)
8. plt.show()
361
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
5. plt.show()
362
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
5. plt.ylim(0, 35)
6. plt.xticks([1, 2, 3, 4])
7. plt.yticks([0, 10, 20, 30])
8. plt.plot([1, 2, 3, 4], [10, 20, 25, 30])
9. plt.annotate('Ponto Importante', xy=(2, 20),
xytext=(2.5, 22),
10. arrowprops=dict(arrowstyle='->',
color='red'))
11. plt.text(3, 15, 'Texto Adicional', fontsize=12,
color='blue')
12. plt.show()
363
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 218: Gráfico com comentários e limites de eixo definidos.
Fonte: Saída gerada pelo código
364
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
5. plt.plot([1, 2, 3, 4], [10, 20, 25, 30])
6.
7. plt.subplot(2, 2, 2) # 2 linhas, 2 colunas, segundo
subplot
8. plt.bar(['A', 'B', 'C', 'D'], [3, 7, 2, 5])
9.
10. plt.show()
365
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
criado no diretório de trabalho atual (a menos que você especifique um
caminho de arquivo diferente). Esse arquivo conterá uma imagem do gráfico
criado, permitindo que você compartilhe ou incorpore o gráfico em
documentos ou apresentações.
366
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação, é
fundamental completar os passos anteriores relacionados à
configuração da IDE escolhida.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
367
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividade de experimentação 54 ●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
relação entre os números de 1 a 10 e seus quadrados. Adicione títulos aos eixos
X e Y, e também um título ao gráfico.
Atividade de experimentação 55 ●●
Imagine que você é um analista de dados em uma loja de varejo. Sua tarefa
é apresentar um relatório sobre o desempenho de vendas de diversos produtos.
Para tornar o relatório mais acessível e compreensível, você decide incluir um
gráfico de barras que mostra visualmente as vendas de diferentes categorias de.
Dessa forma crie um gráfico de barras para ilustrar as vendas de diferentes
produtos em uma loja. Use pelo menos 5 produtos com valores de vendas
fictícios. Adicione rótulos apropriados aos eixos e um título ao gráfico.
Atividade de experimentação 56 ●●
e o código CRC UZDIGMX2.
368
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Imagine que você é um analista de dados que precisa apresentar uma visão
abrangente de um conjunto de dados complexos. Cada tipo de gráfico pode
revelar diferentes aspectos e tendências nos dados, fornecendo uma
compreensão mais rica e multifacetada. Por exemplo, você pode estar
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
analisando dados de vendas de uma empresa, tendências meteorológicas ao
longo do tempo, ou resultados de uma pesquisa de mercado. Com base nessas
informações crie uma figura com 4 subplots: um gráfico de linha, um gráfico de
barras, um gráfico de dispersão e um histograma, com dados à sua escolha.
Adicione títulos a cada subplot para identificar claramente o tipo de gráfico.
import random
369
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3.3.14.3. Numpy
A biblioteca NumPy, uma abreviação para "Numerical Python", é uma das
bibliotecas usadas para computação científica em Python. Ela oferece suporte
para grandes e arrays multidimensionais e matrizes, junto com uma ampla
coleção de funções matemáticas de alto nível para operar nestes arrays.
370
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e extração de dados de arrays).
● Base para computação científica: muitas bibliotecas Python para
computação científica e análise de dados são construídas sobre o
NumPy, tornando-o um componente essencial do ecossistema Python
para essas aplicações.
comando.
2. Verifique se o Python e o pip estão instalados: Você pode verificar se
o Python está instalado digitando python --version ou python3 --version.
Para verificar o pip, digite pip --version ou pip3 --version.
3. Instale o NumPy: Se o Python e o pip estiverem instalados, você pode
instalar o NumPy digitando o seguinte comando:
371
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
bem-sucedida.
5. Atualize pip, se necessário: se encontrar algum problema durante a
instalação, pode ser útil atualizar o pip para a versão mais recente. Isso
pode ser feito com o comando pip install --upgrade pip.
372
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
1. import numpy as np
2. a = np.array([[1, 2, 3], [4, 5, 6]])
3. print(a)
1. import numpy as np
2. a = np.array([[1, 2, 3], [4, 5, 6]])
3. print('A = \n', a)
4. print('***' *10)
373
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. import numpy as np
2. # Definindo a matriz A e o vetor B
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3. A = np.array([[4, 2, 1], [2, 3, 5], [1, 5, 7]])
4. B = np.array([9, 8, 10])
5.
6. # Resolvendo o sistema de equações Ax = B
7. x = np.linalg.solve(A, B)
8.
9. # Calculando o determinante de A
10. determinante = np.linalg.det(A)
11.
12. # Encontrando autovalores e autovetores de A
13. autovalores, autovetores = np.linalg.eig(A)
14.
15. # Realizando a decomposição em valores singulares
374
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. import numpy as np
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
2. import matplotlib.pyplot as plt
3. # Gerando um sinal de exemplo
4. t = np.linspace(0, 1.0, 500)
5. sinal = np.sin(2 * np.pi * 5 * t) + np.sin(2 * np.pi * 10 * t)
# Sinal com duas frequências
6.
7. # Realizando a Transformada de Fourier
8. fft = np.fft.fft(sinal)
9. # Preparando o vetor de frequência para plotagem
10. freq = np.fft.fftfreq(len(t), d=t[1]-t[0])
11. # Manipulando o espectro de frequências (por exemplo,
removendo frequências acima de 8 Hz)
12. fft[np.abs(freq) > 8] = 0
13. # Realizando a Transformada Inversa de Fourier
14. sinal_filtrado = np.fft.ifft(fft) e o código CRC UZDIGMX2.
15.
16. # Plotando os resultados
17. plt.figure(figsize=(12, 6))
18. plt.subplot(2, 1, 1)
19. plt.plot(t, sinal)
20. plt.title('Sinal Original')
375
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. import numpy as np
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
2. # Geração de um número aleatório simples entre 0 e 1
3. num_aleatorio = np.random.random()
4. print("Número aleatório simples:", num_aleatorio)
5. # Criação de um array 3x3 com números aleatórios
seguindo uma distribuição uniforme [0, 1)
6. array_uniforme = np.random.rand(3, 3)
7. print("Array 3x3 com distribuição uniforme:\n",
array_uniforme)
8. # Criação de um array 3x3 com números aleatórios
seguindo uma distribuição normal (Gaussiana) com
média 0 e desvio padrão 1
9. array_normal = np.random.randn(3, 3)
10. print("Array 3x3 com distribuição normal:\n",
array_normal)
e o código CRC UZDIGMX2.
11. # Geração de um array de inteiros e embaralhamento
dos elementos
12. array_inteiros = np.arange(10) # Cria um array de 0
a 9
13. np.random.shuffle(array_inteiros)
14. print("Array de inteiros embaralhado:",
array_inteiros)
376
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. import numpy as np
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
2. # Criando um array inicial
3. array_original = np.arange(12) # Um array de 0 a 11
4. # Redimensionando o array para uma forma 3x4
5. array_reshape = array_original.reshape(3, 4)
6. print("Array redimensionado (3x4):\n", array_reshape)
7. # Transpondo o array
8. array_transposto = array_reshape.T
9. print("Array transposto:\n", array_transposto)
10. # Empilhamento vertical e horizontal de arrays
11. array_v1 = np.array([1, 2, 3])
12. array_v2 = np.array([4, 5, 6])
13. array_vertical = np.vstack((array_v1, array_v2))
14. print("Empilhamento vertical:\n", array_vertical)
15. array_horizontal = np.hstack((array_v1.reshape(-1, 1),
array_v2.reshape(-1, 1))) e o código CRC UZDIGMX2.
377
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
1. import numpy as np
2.
3. # Adicionar um escalar a um array
4. array = np.array([[1, 2, 3], [4, 5, 6]])
5. escalar = 10
6. resultado_escalar = array + escalar
7. print("Adicionar escalar a array:\n",
resultado_escalar)
8.
9. # Multiplicar cada linha de uma matriz por um vetor
10. matriz = np.array([[1, 2, 3], [4, 5, 6]])
11. vetor = np.array([1, 2, 3])
12. resultado_multiplicacao = matriz * vetor
13. print("Multiplicar matriz por vetor:\n",
e o código CRC UZDIGMX2.
resultado_multiplicacao)
14.
15. # Adicionar um vetor a cada linha de uma matriz
16. vetor_linha = np.array([1, 2, 3])
17. resultado_soma = matriz + vetor_linha
18. print("Adicionar vetor a cada linha de uma
matriz:\n", resultado_soma)
378
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. import numpy as np
2.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3. # Criando um array de exemplo
4. array = np.array([1, 2, 3, 4, 5, 6])
5.
6. # Operações de Comparação
7. # Encontrar elementos maiores que 3
8. maior_que_3 = array > 3
9. print("Elementos maiores que 3:", maior_que_3)
10.
11. # Combinação de Operações Lógicas
12. # Encontrar elementos menores que 5 E maiores que 2
13. menor_que_5_e_maior_que_2 = np.logical_and(array > 2,
array < 5)
14. print("Elementos menores que 5 e maiores que 2:",
379
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
1. import numpy as np
2.
3. # Criando um array de exemplo
4. array = np.array([[1, 2, 3], [4, 5, 6]])
5.
6. # 1. Escrever um Array NumPy para um Arquivo de Texto
(CSV)
7. np.savetxt("array.csv", array, delimiter=",")
8.
9. # 2. Ler um Array NumPy de um Arquivo de Texto (CSV)
10. array_lido = np.loadtxt("array.csv", delimiter=",")
11. print("Array lido do arquivo CSV:\n", array_lido)
12.
13. # 3. Salvar um Array NumPy em um Formato Binário
380
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
● Integração com C/C++ e Fortran: pode ser integrado com código C e
Fortran, permitindo que operações pesadas de processamento sejam
escritas nessas linguagens para melhorar o desempenho.
3.3.14.3.Pandas
A biblioteca Pandas é uma das ferramentas mais populares e poderosas
para análise de dados em Python. Foi desenvolvida por Wes McKinney e é
especialmente projetada para trabalhar com dados estruturados de maneira
fácil e intuitiva. Essa é a biblioteca mais adequada para iniciar as suas análises
exploratórias de dados, pois ela nos permite ler, manipular, agregar e plotar os
dados em poucos passos.
381
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
um DataFrame. Pode ser pensada como uma única coluna de dados,
com índices.
● Manipulação de dados:
○ Permite a importação e exportação de dados em uma variedade de
formatos, incluindo CSV, Excel, SQL, JSON, entre outros.
○ Facilita a manipulação de dados ausentes, redundantes ou
malformados.
○ Possui ferramentas para remodelar, girar e agregar dados.
● Análise de dados:
○ Oferece funcionalidades para realizar operações de grupo
(agrupamento), combinar dados de diferentes fontes (join e merge),
além de filtragem e seleção de dados.
○ Suporta operações de janela deslizante (rolling) e expansão para análise
382
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
dados, ciência de dados, Machine Learning, e em muitos outros campos
que requerem análise e manipulação de dados.
import pandas as pd
383
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. import pandas as pd
2. # Dados de exemplo
3. dados = {
4. 'Data': ['2024-01-01', '2024-01-02',
'2024-01-03', '2024-01-04'],
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
5. 'Vendas_Produto_A': [100, 120, 90, 110],
6. 'Vendas_Produto_B': [80, 85, 88, 85]
7. }
8. # Criar um DataFrame
9. df = pd.DataFrame(dados)
10. # Converter a coluna 'Data' para o tipo datetime
11. df['Data'] = pd.to_datetime(df['Data'])
12. # Manipulação de Dados: Adicionar uma coluna
'Receita_Total'
13. preco_produto_a = 20 # Supondo um preço fixo
14. preco_produto_b = 15
15. df['Receita_Total'] =
df['Vendas_Produto_A']*preco_produto_a +
df['Vendas_Produto_B']*preco_produto_b
e o código CRC UZDIGMX2.
16. # Análise Básica
17. media_vendas_a = df['Vendas_Produto_A'].mean()
18. receita_total = df['Receita_Total'].sum()
19. print("DataFrame com vendas e receita total:")
20. print(df)
21. print("\nMédia de Vendas - Produto A:",
media_vendas_a)
22. print("Receita Total:", receita_total)
384
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
3.3.14.4.Tensorflow
TensorFlow é uma biblioteca de software de código aberto para
computação numérica que utiliza grafos9 de fluxo de dados. Foi originalmente
desenvolvida por pesquisadores e engenheiros da equipe do Google Brain
dentro da organização de pesquisa de Inteligência Artificial do Google para
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
atender às necessidades de sistemas capazes de construir e treinar redes
neurais para detectar e decifrar padrões e correlações, análogos à maneira
como os humanos aprendem e raciocinam.
385
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
● Flexibilidade e escalabilidade: é projetada para ser flexível na definição de
algoritmos e escalável em termos de processamento, podendo ser
executada em CPUs, GPUs e até em clusters de servidores de alto
desempenho.
● Grafos de fluxo de dados: permite aos usuários criar grafos de fluxo de
dados, em que os nós representam operações matemáticas e as bordas
representam os dados multidimensionais (tensores) que fluem entre eles.
Isso facilita a construção de modelos complexos de Aprendizado de
Máquina.
● Eager execution: característica que permite uma interface mais interativa e
flexível para a construção de grafos, tornando mais fácil e acessível a
depuração e a experimentação de modelos.
● TensorBoard: ferramenta de visualização que permite visualizar
graficamente o treinamento de modelos, métricas, e outros aspectos de
386
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Para verificar se o Tensorflow foi instalado corretamente, você pode tentar
importá-lo em um interpretador Python. Abra o Python no terminal digitando
python ou python3 e depois tente:
import tensorflow as tf
387
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. import tensorflow as tf
2. from tensorflow.keras.datasets import mnist
3. from tensorflow.keras.models import Sequential
4. from tensorflow.keras.layers import Dense, Flatten
5. from tensorflow.keras.optimizers import Adam
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
6. # Carregar e preparar o conjunto de dados MNIST
7. (mnist_train_images, mnist_train_labels),
(mnist_test_images, mnist_test_labels) =
mnist.load_data()
8. mnist_train_images, mnist_test_images =
mnist_train_images / 255.0, mnist_test_images / 255.0
9. # Construir o modelo de rede neural
10. model = Sequential([
11. Flatten(input_shape=(28, 28)), # Camada de entrada
(aplainamento da imagem 28x28)
12. Dense(128, activation='relu'), # Camada oculta com
128 neurônios
13. Dense(10, activation='softmax') # Camada de saída
com 10 neurônios (um para cada dígito)
14. ])
15. # Compilar o modelo
16. model.compile(optimizer=Adam(),
388
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
3.3.14.5. Keras
Keras é uma biblioteca de redes neurais de alto nível, escrita em Python e
capaz de rodar em cima de backends de Aprendizado de Máquina como
TensorFlow, CNTK ou Theano. Foi desenvolvida com o foco em permitir
experimentação rápida e eficiente, sendo uma escolha ideal para iniciantes e
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
pesquisadores que buscam um framework de fácil compreensão e utilização.
389
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
expressar redes neurais de maneira clara e concisa.
● Modular e componível: opera com a ideia de que tudo é um módulo.
Um modelo Keras é composto por várias camadas configuráveis, que
podem ser facilmente combinadas e personalizadas para atender a uma
grande variedade de aplicações de Aprendizado de Máquina.
● Fácil de estender: é fácil adicionar novos módulos como novas
camadas, funções de perda e otimizadores, o que torna o Keras
personalizável e extensível.
● Suporta convencionais e inovadoras arquiteturas de rede neural:
com o Keras, você pode construir facilmente redes neurais
convolucionais (CNNs), redes neurais recorrentes (RNNs) e combinar
ambas.
● Execução em CPU e GPU: Keras é capaz de rodar em cima de várias
plataformas de Aprendizado de Máquina, e pode se aproveitar de CPUs
e o código CRC UZDIGMX2.
e GPUs para acelerar o processo de treinamento.
● Integração com backends de Aprendizado de Máquina: embora Keras
tenha sido originalmente desenvolvido como uma interface para a
biblioteca Theano, ela agora suporta múltiplos backends, com
TensorFlow sendo o mais popular.
● Foco em experimentação rápida: a filosofia por trás do Keras é facilitar
a rápida experimentação. Em pesquisa, a habilidade de experimentar
rapidamente ideias é chave para encontrar uma boa solução.
390
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Agora, você pode acessar as funcionalidades do Keras por meio do módulo
tf.keras. Por exemplo, se você quiser importar modelos sequenciais, camadas
densas, ou outras funcionalidades do Keras, você faria da seguinte maneira:
391
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. import tensorflow as tf
2. from tensorflow.keras.models import Sequential
3. from tensorflow.keras.layers import Dense, Flatten
4. # Carregar o conjunto de dados Fashion MNIST
5. fashion_mnist = tf.keras.datasets.fashion_mnist
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
6. (train_images, train_labels), (test_images,
test_labels) = fashion_mnist.load_data()
7. # Normalizar os dados de imagem
8. train_images = train_images / 255.0
9. test_images = test_images / 255.0
10.
11. # Construir o modelo de rede neural
12. model = Sequential([
13. Flatten(input_shape=(28, 28)), # Transformar a
imagem 28x28 em um array 1D
14. Dense(128, activation='relu'), # Uma camada
densa com 128 neurônios
15. Dense(10, activation='softmax') # Uma camada de
saída com 10 neurônios, um para cada classe
16. ])
17.
18. # Compilar o modelo
392
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
3.3.14.6. OpenCV
A biblioteca OpenCV (do inglês, Open Source Computer Vision) foi desenvolvida
pela Intel em 1999 por Gary Bradsky e agora é mantida pela Willow Garage e
pela Itseez. Sua primeira versão foi lançada em 2000, suportando uma ampla
variedade de linguagens de programação, como C++, Python, Java etc., e está
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
disponível em diferentes plataformas, incluindo Windows, Linux, OS X, Android e
iOS.
393
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
histogramas etc.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
● Algoritmos de Visão Computacional: inclui algoritmos para detecção e
reconhecimento de características, comparação de imagens,
rastreamento de objetos, reconstrução 3D, entre outros.
● Aprendizado de Máquina: o OpenCV também vem com uma biblioteca
de Aprendizado de Máquina para classificação, reconhecimento de
padrões e agrupamento de dados.
● Performance e otimização: foi projetada para ser eficiente, com um
forte foco em aplicações em tempo real. Pode ser otimizada para tirar
proveito de hardware específico.
import cv2
394
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Vamos criar um exemplo simples de implementação usando a biblioteca
OpenCV. Neste exemplo, vamos carregar uma imagem, converter essa imagem
para escala de cinza e, em seguida, exibir a imagem original e a imagem em
escala de cinza.
395
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
4. from google.colab import files # Módulo do Google Colab
para upload de arquivos
5.
6. # Fazer o upload da imagem
7. uploaded = files.upload() # Abre um prompt de upload
de arquivo para carregar uma imagem do seu computador
8. image_name = next(iter(uploaded)) # Obtém o nome do
arquivo carregado
9.
10. # Carregar a imagem
11. imagem = cv2.imread(image_name) # Lê o arquivo de
imagem para uma variável usando o OpenCV
12.
13. # Converter a imagem para escala de cinza
396
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
17. plt.subplot(1, 2, 1)
18. plt.imshow(cv2.cvtColor(imagem,cv2.COLOR_BGR2RGB))
19. plt.title('Imagem Original')
20. plt.axis('off')
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
21. plt.subplot(1, 2, 2)
22. plt.imshow(imagem_cinza, cmap='gray')
23. plt.title('Imagem em Escala de Cinza')
24. plt.axis('off')
25.
26. plt.show() # Exibe a figura com os subplots
397
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
3.3.14.7. Pillow
Pillow é uma biblioteca de processamento de imagens para a linguagem de
programação Python. Ela é uma extensão e melhoria da biblioteca Python
Imaging Library (PIL), que não é mais mantida. O objetivo da Pillow é oferecer
suporte moderno e fácil de usar para o processamento de imagens, mantendo a
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
compatibilidade com o PIL.
398
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
comando:
399
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 223: Imagem utilizada no exemplo.
Fonte: imagem gerada por IA.
400
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
17. # Converter a imagem para o modo RGB
18. if imagem_girada.mode != 'RGB':
19. imagem_girada = imagem_girada.convert('RGB')
20. # Salvar a imagem modificada
21. imagem_girada.save('imagem_modificada.jpg')
22.
23. # Exibir as duas imagens usando matplotlib
24. plt.figure(figsize=(12, 6))
25. plt.subplot(1, 2, 1)
26. plt.imshow(imagem)
27. plt.title('Imagem Original')
28. plt.axis('off')
29.
30. plt.subplot(1, 2, 2)
e o código CRC UZDIGMX2.
31. plt.imshow(imagem_girada)
32. plt.title('Imagem Modificada')
33. plt.axis('off')
34.
35. plt.show()
401
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 224: Saída gerada por meio do código apresentado
Fonte: as Autoras.
3.3.14.8. PyTorch
PyTorch é uma biblioteca de Aprendizado de Máquina de código aberto
amplamente utilizada para aplicações de Inteligência Artificial, particularmente
em redes neurais profundas. Foi desenvolvida principalmente pela Facebook's AI
Research Lab (FAIR) e possui as seguintes características principais:
402
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
TensorFlow usam grafos de computação estáticos, PyTorch usa grafos
dinâmicos, o que significa que o gráfico de rede é construído on-the-fly à
medida que as operações ocorrem. Isso oferece mais flexibilidade e
facilidade na programação, o que pode ser particularmente útil para tarefas
complexas de Aprendizado de Máquina.
● Fácil integração com outras bibliotecas Python: se integra bem com o
ecossistema Python, incluindo bibliotecas populares como NumPy e SciPy,
assim como bibliotecas especializadas em visualização de dados como
Matplotlib.
Para uma instalação padrão sem suporte CUDA, você pode usar o pip
diretamente no terminal ou prompt de comando:
10
CUDA, que significa Compute Unified Device Architecture, é uma plataforma e um modelo de programação
desenvolvidos pela NVIDIA. Ela permite aos desenvolvedores usarem uma linguagem de programação baseada
em C, C++ e outras para escrever programas que executam cálculos intensivos diretamente nas Unidades de
Processamento Gráfico (GPUs) da NVIDIA.
403
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Se você possui uma GPU NVIDIA e quer aproveitar a aceleração por
hardware, escolha a versão apropriada com suporte CUDA no site do PyTorch e
use o comando fornecido.
Vamos criar um exemplo simples para construir e treinar uma pequena rede
neural para classificar dígitos do conjunto de dados MNIST, que é um conjunto
de dados padrão usado em Aprendizado de Máquina para reconhecimento de
dígitos manuscritos.
404
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
1. import torch
2. import torchvision
3. import torchvision.transforms as transforms
4. import torch.nn as nn
5. import torch.optim as optim
6.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
7. # 1. Carregar e normalizar o MNIST
8. transform = transforms.Compose([transforms.ToTensor(),
transforms.Normalize((0.5,), (0.5,))])
9. trainset = torchvision.datasets.MNIST(root='./data',
train=True, download=True, transform=transform)
10. trainloader = torch.utils.data.DataLoader(trainset,
batch_size=4, shuffle=True)
11.
12. testset = torchvision.datasets.MNIST(root='./data',
train=False, download=True, transform=transform)
13. testloader = torch.utils.data.DataLoader(testset,
batch_size=4, shuffle=False)
14.
15. # 2. Definir uma rede neural
16. class Net(nn.Module):
405
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
momentum=0.9)
32. # 4. Treinar a rede
33. for epoch in range(2): # loop over the dataset
multiple times
34. for i, data in enumerate(trainloader, 0):
35. inputs, labels = data
36. optimizer.zero_grad()
37. outputs = net(inputs)
38. loss = criterion(outputs, labels)
39. loss.backward()
40. optimizer.step()
41. print('Finished Training')
42. # 5. Testar a rede nos dados de teste
43. correct = 0
44. total = 0
45. with torch.no_grad():
e o código CRC UZDIGMX2.
46. for data in testloader:
47. images, labels = data
48. outputs = net(images)
49. _, predicted = torch.max(outputs.data, 1)
50. total += labels.size(0)
51. correct += (predicted == labels).sum().item()
52.
53. print('Accuracy of the network on the 10000 test
images: %d %%' % (100 * correct / total))
406
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
que foram criteriosamente escolhidos e disponibilizados. Trata-se de
recursos que têm por objetivo apresentar informações adicionais e
insights, permitindo que você amplie e enriqueça o seu
conhecimento acerca dos temas discutidos neste capítulo.
407
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
3.4. Consolidar
Nesta seção, será explorado um exemplo prático com o objetivo de
compreender o papel da linguagem Python em aplicações relacionadas a
Inteligência Artificial.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Para isso, é fundamental se basear nos conceitos de IA, redes neurais e
Machine Learning apresentados nos capítulos anteriores. Outros conceitos e
aplicações serão tratados nos próximos capítulos.
408
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Esta atividade não terá correção formal por parte do instrutor e não irá
compor a avaliação. A implementação encontra-se no Google Colab. O link está
disponível no Google Sala de Aula, “Etapa Consolidar”. Lembrando que os
trechos apresentados compõem uma única implementação e foram
estruturados em partes a fim de facilitar o entendimento.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
● Parte 1: Preparação dos Dados
○ Carregamento do Dataset MNIST
■ Utilize TensorFlow para carregar o dataset MNIST.
○ Pré-processamento dos Dados
■ Realize tarefas como normalização e remodelagem dos dados de
entrada.
409
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 226: Saída gerada por meio do código apresentado.
Fonte: as Autoras.
410
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
"Etapa Inspirar" e as suas anotações e conclusões iniciais. Na
sequência, você deverá promover o aprimoramento da solução
anteriormente apresentada usando os conhecimentos que obteve
ao longo do capítulo e do conteúdo adicional.
411
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Arquive o refinamento do estudo de caso no formulário disponível
no Google Sala de Aula, na aba “Etapa Consolidar”.
412
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
3.5. Avaliar
Para concluir este capítulo, você deverá realizar a “Etapa Avaliar”, que
consiste no preenchimento do Questionário de Avaliação disponível no Google
Sala de Aula e que tem como objetivo permitir que você acompanhe
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
individualmente a evolução do seu aprendizado.
Não será atribuída nota para a atividade, mas a sua entrega é obrigatória,
pois, acima de tudo, servirá como insumo para uma análise pessoal e também
para a realização de autocrítica a respeito dos pontos compreendidos e daqueles
que exigem maior dedicação.
413
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Referências
BADER, D. Python Tricks: The Book. 2. ed. San Francisco: No Starch Press, 2023.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
linguagem Python. 3. ed. Rio de Janeiro: Alta Books, 2023.
DÍAZ, A.; VELLÓN, J.C.F.S. Curso intensivo de Python: uma introdução prática e
baseada em projetos à programação. 1. ed. São Paulo: Novatec, 2023.
RAMALHO, L. Python Fluente: claro, conciso e eficaz. 1. ed. Rio de Janeiro: Alta
Books, 2023.
414
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e o código CRC UZDIGMX2.
415
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Capítulo 4:
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Visão Computacional
aplicada ao
reconhecimento facial
em imagens
Autores
Júlio César Leitão Júnior
4.1. Introdução
Boas vindas ao capítulo Visão Computacional aplicada ao
reconhecimento facial em imagens, este material foi escrito para conduzir
você pelo campo da Visão Computacional, com um foco particular no
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
reconhecimento facial em imagens.
417
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
mento facial, pois cada um deles possui suas próprias técnicas e metodologias
para processar e analisar as características faciais e são amplamente utilizados
em diversas aplicações.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
imagens, mas também terá adquirido habilidades práticas para enfrentar os
desafios no campo da IA.
418
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
4.2. Inspirar
Você já considerou os avanços e impactos da Visão Computacional,
especialmente no campo do reconhecimento facial em imagens, para
aprimorar, por exemplo, a segurança e personalizar experiências do usuário?
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Já pensou em como essa tecnologia consegue identificar e analisar
características faciais em fotografias e vídeos, convertendo esses dados visuais
em informações úteis e acionáveis? E qual é o papel desses sistemas avançados
na detecção, catalogação e interpretação eficaz de rostos em uma variedade de
aplicações?
419
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
facial em um aspecto específico e direcionado.
A solução inicial que você elaborará não será objeto de e o código CRC UZDIGMX2.
420
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
(ICT) Privada
O objetivo deste estudo é evidenciar como, por meio da análise da
necessidade de um cliente e a utilização de tecnologias avançadas, é possível
desenvolver um sistema de controle de acesso automatizado, eficiente e seguro.
421
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
4.2.1.1. Cenário
A Facti, como uma ICT privada, pode realizar projetos com recursos da Lei de
Informática juntamente dos seus parceiros. Um de seus clientes procurou a
instituição buscando uma solução para automatizar o seu controle de acesso
corporativo, de forma a aumentar a segurança e, em razão da pandemia da
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
COVID-19, diminuir o contato físico e o contágio entre seus funcionários.
Este software requer uma alta precisão algorítmica e deve ser dotado de
capacidades avançadas de processamento de imagem e reconhecimento de
padrões. Isso é essencial para garantir uma identificação eficaz de funcionários,
mesmo em situações em que o rosto esteja parcialmente oculto devido ao uso
de máscaras de proteção facial, assegurando assim a eficiência e confiabilidade
do sistema em diversos cenários.
422
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
4.2.1.2. Decisões tecnológicas
O objetivo, neste estudo de caso, será construir um algoritmo de
reconhecimento facial para o projeto da Facti e, para isto, será necessário tomar
algumas decisões de negócio. Por meio das perguntas abaixo, reflita acerca do
que deseja explorar:
423
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
4.3. Conceitualizar
4.3.1. Definição sobre detecção e
reconhecimento de imagem
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
A detecção de objetos é uma tarefa realizada para obter o completo
conhecimento a respeito do conteúdo de um conjunto de imagens que, muitas
vezes, não é o bastante apenas classificá-las com base em alguma característica
particular, é necessário estimar a localização dos objetos presentes em cada
imagem.
424
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 229: Exemplo de detecção de objetos.
Fonte: adaptado de AWS Rekognition.
425
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
classes, sendo uma delas o plano de fundo da imagem e, a outra, a classe de
interesse (Zhao et al., 2019).
426
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 231: Exemplo de reconhecimento de objetos.
Fonte: adaptado de AWS Rekognition.
427
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
principalmente durante os últimos anos e pode-se citar ao menos dois motivos
para isto: o primeiro é o grande número e variedades de aplicações possíveis,
sejam elas comerciais, militares ou de segurança pública e o segundo é a
disponibilidade de tecnologias viáveis após décadas de pesquisa (Zhao et al.,
2003).
428
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 232: Exemplo de reconhecimento facial em imagem.
Fonte: adaptado de AWS Rekognition.
429
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
“Art. 1° - Esta Lei dispõe sobre o tratamento de dados pessoais,
inclusive nos meios digitais, por pessoa natural ou por pessoa
jurídica de direito público ou privado, com o objetivo de
proteger os direitos fundamentais de liberdade e de privacidade
e o livre desenvolvimento da personalidade da pessoa natural
(BRASIL, 2018)”.
430
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
4.3.3. Como o Aprendizado de Máquina
detecta e reconhece imagens
O Aprendizado de Máquina em reconhecimento de imagens é um campo
que ilustra perfeitamente a interseção entre tecnologia avançada e inovação
criativa. Neste domínio, redes neurais, particularmente as redes neurais
convolucionais (CNNs), são empregadas para interpretar e analisar imagens de
maneira sofisticada, demonstrando a incrível capacidade das máquinas de
“aprender” a partir de dados visuais (DSA, 2021).
431
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Durante o treinamento, a rede neural examina as imagens rotuladas,
aprendendo a identificar características distintivas de cada categoria. Este
aprendizado não é superficial; ele envolve ajustar a arquitetura da rede,
modificar taxas de aprendizado e implementar técnicas para evitar o
sobreajuste, assegurando que o modelo possa generalizar seu aprendizado para
imagens não vistas anteriormente.
432
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
4.3.4. Principais algoritmos de reconheci-
mento facial
433
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Os diferentes tipos de filtros são demonstrados na Figura 233. Para auxiliar
no processo de extração das características são utilizadas as imagens integrais
que simplificam os cálculos e os tornam mais rápidos.
434
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 234: Classificador em cascata.
Fonte: adaptado de Grando (2020).
435
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação, é
fundamental completar os passos anteriores relacionados à
configuração das IDEs. Para esta atividade recomenda-se o uso do
PyCharm.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
436
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividade de experimentação 58 ●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
mento_facial.zip, disponibilizados no Google Sala de Aula, para exemplos de
códigos e imagens a serem exploradas.
Atividade de experimentação 59 ●●
Atividade de experimentação 60 ●●
Atividade de experimentação 61 ●●
Atividade de experimentação 62 ●●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Uma técnica que está sendo comumente usada para a redução da
dimensionalidade na área de Visão Computacional, particularmente em
reconhecimento de faces, é o PCA (Principal Component Analysis). Também
conhecidas como métodos Karhunen-Loeve, que reduzem a dimensionalidade
dos dados por meio de uma análise estatística que se baseia na redundância e
na variância existentes nos dados. Ao aplicar o PCA em reconhecimento de
faces, obtêm-se características chamadas Eigenface, que podem ser utilizadas
por um classificador para diferenciar faces (Barahate e Saturwar, 2010; Machidon
et al., 2019 ).
438
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 235: Representação de uma imagem após o Eigenface.
Fonte: adaptado de Fujikawa (2016).
A técnica PCA é uma das mais famosas para resolver esse problema. Ela tem
como objetivo encontrar um subespaço contendo bases ortonormais, que são os
principais vetores que definem a distribuição dos dados que otimizam a
correlação entre os dados (Figura 236).
439
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Saturwar, 2010).
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
consequência, as amostras projetadas podem se sobrepor no espaço de
características, dificultando ou até impossibilitando uma classificação eficaz..
440
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 237: Representação de imagens com o Fisherface.
441
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
projetada (Figura 238), assim como os Eigenface, mas são identificados recursos
e projetadas amostras de imagens em cada uma das reconstruções, obtendo
uma melhor representação (OpenCV, 2022). 8 imagens para cada pessoa.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 238: Representação final de imagens com o Fisherface.
Fonte: adaptado de OpenCV (2022).
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 239: Eficiência da taxa de reconhecimento em relação à quantidade de imagens para os
classificadores Eigenface e Fisherface.
Fonte: adaptado de OpenCV (2022).
Com isso, se a intensidade do pixel central for maior igual à do seu vizinho,
443
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
então adota como 1 ou 0 se não for, terminando com um número binário para
cada pixel. Logo, com 8 pixels ao redor, tem-se 28 combinações possíveis,
chamadas de LBP (OpenCV, 2022). O primeiro operador LBP usava uma
vizinhança 3 x 3, conforme a Figura 240.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 240. Operador LBP com limiar igual a 5.
Fonte: adaptado de OpenCV (2022).
Este operador é uma extensão dos códigos LBP originais, por isso às vezes é
chamado de Extended LBP (também conhecido como circular LBP). Desta forma,
se uma coordenada de pontos no círculo não corresponder às coordenadas da
imagem, o ponto será interpolado (OpenCV, 2022).
444
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 241: Operador Circular LBP.
Fonte: adaptado de OpenCV (2022).
445
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Neste momento, retorne ao Google Sala de Aula e, na aba
"Atividades", procure a seção intitulada "Etapa Conceitualizar".
446
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
4.4. Consolidar
4.4.1. Estudo de Caso
Você se lembra do caso em que um parceiro buscou a Facti para automatizar
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
o seu controle de acesso corporativo e diminuir o contato físico entre seus
funcionários?
447
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
programação escolhido será a IDE do PyCharm.
Nosso objetivo será direcionar o cliente para que ele tenha a melhor solução
para realizar o reconhecimento facial de seus funcionários, sem ou com a
utilização de máscara de proteção facial.
A Facti precisa apresentar uma solução para seu cliente que envolva o
448
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
No Google Sala de Aula, na aba “Atividades”, na seção “Etapa Consolidar”,
há uma sugestão de solução para o estudo de caso, que trará códigos que
necessitam ser desenvolvidos, conforme acima.
(haarcascade_eye.xml).
449
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
amostra aparecerá a mensagem “[Foto X capturada com sucesso]”. Ao final das
25 amostras, aparecerá a mensagem “Faces capturadas com sucesso” e a
janela de captura será fechada;
3. As amostras capturadas terão dimensões de 200 x 200 pixels, convertidas
em escala de cinza e serão nomeadas como pessoa.X.Y.jpg, sendo X
referente ao número do identificador e Y às amostras capturadas (1 a 25).
Figura 243: Janela de captura das imagens faciais (sem e com máscara).
Fonte: os Autores.
450
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
novo documento Python. Para isto, clique com o botão direito do mouse no
Projeto “Reconhecimento Facial”, selecione a opção “New” e em seguida, "Python
File”, nomeando-o como “Treinamento” e dê "Enter”.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Eigenface (classificadorEigen.yml), Fisherface (classificadorFisher.yml) e LBPH
(classificadorLBPH.yml) para realizar o treinamento.
Eigenface
Para criar o algoritmo de reconhecimento Eigenface para a análise, será
preciso iniciar um novo documento Python. Para isto, clique com o botão direito
do mouse no Projeto “Reconhecimento Facial”, selecione a opção “New” e em
seguida, "Python File”, nomeando-o como “Reconhecedor_Eigenface” e dê "Enter”.
451
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
amostras capturadas para cada um dos identificadores (menores valores
indicam um melhor resultado para a análise).
Figura 244: Janela de reconhecimento das imagens faciais (sem e com máscara).
Fonte: o Autor.
452
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
do mouse no Projeto “Reconhecimento Facial”, selecione a opção “New” e em
seguida, "Python File”, nomeando-o como “Reconhecedor_Fisherface” e dê "Enter”.
453
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 245: Janela de reconhecimento das imagens faciais (sem e com máscara).
Fonte: os Autores.
454
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
3. Verifique se o reconhecimento está acontecendo de maneira correta (Figura
246) e anote os valores dos intervalos de confiança para comparação com
os demais algoritmos.
Figura 246: Janela de reconhecimento das imagens faciais (sem e com máscara).
Fonte: os Autores.
Lembrando que menores valores significam que estão mais próximos das
amostras capturadas como referência, portanto, sinalizam para um melhor
reconhecimento.
455
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e o código CRC UZDIGMX2.
456
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
4.5. Avaliar
Para concluir este capítulo, você deverá realizar a “Etapa Avaliar”, que
consiste no preenchimento do Questionário de Avaliação disponível no Google
Sala de Aula e que tem como objetivo permitir que você acompanhe
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
individualmente a evolução do seu aprendizado.
Não será atribuída nota para a atividade, mas a sua entrega é obrigatória,
pois, acima de tudo, servirá como insumo para uma análise pessoal e também
para a realização de autocrítica a respeito dos pontos compreendidos e daqueles
que exigem maior dedicação.
457
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Referências
AHONEN, T., HADID, A., PIETIKAINEN, M. Face recognition with local binary
patterns. In: Computer vision-eccv 2004, p. 469–481. Springer, 2004.
BARAHATE, S.R., SATURWAR, J. Face recognition using pca based algorithm and
neural network. In: Proceedings of the International Conference and
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Workshop on Emerging Trends in Technology, p. 249–252, 2010.
458
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
LIENHART, R., MAYDT, J. An Extended Set of Haar-Like Features for Rapid Object
Detection. International Conference on Image Processing, Vol. 1, Rochester,
22-25, 2002.
TORRES, R. S., FALCÃO, A. X., GONÇALVES, M. A., PAPA, J. P., ZHANG, B., FAN, W.,
e o código CRC UZDIGMX2.
FOX, E. A. A genetic programming framework for content-based image retrieval.
Pattern Recognition, Elsevier, v. 42, n. 2, p. 283–292, 2009.
VIOLA, P., JONES, M. Rapid object detection using a boosted cascade of simple
features. In: Proceedings of the 2001 IEEE Computer Society Conference on
Computer Vision and Pattern Recognition. CVPR 2001, v. 1, p. I–I, 2001.
459
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
ZHAO, Z.Q., ZHENG, P., XU, S.T., WU, X. Object detection with Deep Learning: A
review. IEEE Transactions on Neural Networks and Learning Systems, v. 30, p.
1–21, 2019.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e o código CRC UZDIGMX2.
460
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Capítulo 5:
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Visão Computacional
aplicada ao
reconhecimento de
imagens
Autores
Júlio César Leitão Júnior
5.1. Introdução
Boas vindas ao capítulo Visão Computacional aplicada ao
reconhecimento de imagens, um material escrito para guiar você pelo campo
da Visão Computacional, com um foco particular no reconhecimento de
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
imagens.
5.2. Inspirar
Você já pensou sobre o impacto transformador da Visão Computacional
aplicada ao reconhecimento de imagens hoje em dia? Como essa tecnologia
está moldando o futuro ao identificar padrões e objetos em fotos e vídeos,
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
impactando áreas como negócios, saúde e pesquisa científica?
463
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Será explorada a aplicação prática e adaptável de Visão Computacional,
integrando tecnologias de reconhecimento de imagens em cenários específicos
e focados. Nosso propósito é guiar e incentivar o aprimoramento da eficiência
em um mundo progressivamente tecnológico.
464
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
pode-se desenvolver um sistema de reconhecimento de imagens automatizado,
eficiente e preciso.
5.2.1.1. Cenário
A imagiologia médica tem um papel de extrema relevância no diagnóstico e
tratamento de patologias e consiste em um conjunto de processos ou técnicas
em que são criadas representações visuais das partes interiores do corpo
(Figura 247), tais como órgãos ou tecidos, com um propósito clínico a fim de
465
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
(Krupinski, 2000). Muitas empresas estão investindo em tecnologias inovadoras
para aprimorar a área de imagiologia médica, buscando oferecer diagnósticos
mais precisos e tratamentos eficazes.
466
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
infeccioso ou irritante (bactérias, vírus, fungos e por reações alérgicas) no
espaço alveolar. Esse local deve estar sempre muito limpo, livre de substâncias
que possam impedir o contato do ar com o sangue. Um exame clínico, como
auscultação dos pulmões e radiografias de tórax, são recursos essenciais para o
diagnóstico de pneumonia (Varella, 2011).
467
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
muitos anos, em uma renomada universidade brasileira, se especializou em
pneumologia e direcionou sua área de atuação no tratamento das patologias
das vias respiratórias.
Do que era sua rotina diária há anos atrás para a atual, o Dr. Orlando
quadruplicou seus atendimentos e não consegue obter ajuda humana com as
análises das radiografias, que são cada vez mais volumosas e precisam ser
468
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
quantidade que só aumentava em sua mesa e, de outro lado, muitas das
radiografias estavam inconclusivas, impossibilitando o parecer final e como
proceder na prescrição de tratamento para seus pacientes.
Diante destes fatos, ele foi conversar com o diretor do hospital com o
intuito contratar uma Instituição para ajudá-lo nesta problemática. Conhecendo
a Facti, Instituição Científica e Tecnológica (ICT) Privada, de outros projetos o
diretor, juntamente com o Dr. Orlando, marcaram uma reunião presencial na
sede da organização para sugerir o desenvolvimento de um software de
reconhecimento de raios-x.
Desta forma, pense como o Dr. Orlando poderia ser ajudado neste cenário
em que o volume de atendimentos e radiografias para analisar não param de
crescer e ele precisa ser preciso nos diagnósticos de seus pacientes.
Para isso, uma alternativa pode ser recorrer à IA para propor uma solução
469
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
trabalhar as suas ideias iniciais com o máximo de detalhamento que
puder. Mais adiante, as suas anotações serão retomadas para o
refinamento da solução do estudo de caso.
470
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
5.3. Conceitualizar
5.3.1. Como redes neurais aprimoram o
reconhecimento de imagens
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Surgindo como uma alternativa de algoritmo desenvolvido para
implementar Machine Learning (ML), a Deep Learning (DL) emerge como uma
técnica avançada empregando redes neurais de múltiplas camadas, conhecidas
como redes profundas. Inspirada pela complexa biologia do cérebro humano,
esta abordagem busca emular a maneira como processamos informações dos
diferentes sentidos, tais como a visão, audição, tato, paladar e olfato, de forma
eficiente e inteligente, abrindo novos caminhos para a resolução de problemas
complexos (Cunha, 2021).
471
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
mas consegue identificar o que é um triângulo, o que é um círculo e é capaz de
reconhecer cores.
472
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
base na diferença entre sua previsão e o rótulo real.
Após o treinamento, a rede está pronta para a fase de inferência, em que ela
pode aplicar o que aprendeu à novas imagens, realizando tarefas como
e o código CRC UZDIGMX2.
identificação e classificação de objetos. Essa capacidade de generalizar a partir
do treinamento para aplicações práticas é o que torna as redes neurais tão
poderosas e úteis em uma variedade de aplicações, desde reconhecimento facial
até a análise de imagens médicas.
473
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
● redes neurais convolucionais;
● redes neurais recorrentes;
● long short-term memory (LSTM);
● redes de Hopfield;
● máquinas de Boltzmann;
● deep belief network;
● deep auto-encoders;
● generative adversarial network;
● deep neural network capsules.
474
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
vez de estruturas planas medidas apenas por largura e altura, uma vez que as
imagens em cores digitais possuem uma codificação baseada em
vermelho-verde-azul (RGB, red-green-blue), misturando-as para produzir o
espectro de cores que os seres humanos percebem (DSA, 2021). As redes
convolucionais ingerem e processam imagens como tensores (array), que são
matrizes (linhas x colunas) de números com várias dimensões.
Assim, uma rede convolucional recebe uma imagem como uma caixa
retangular cuja largura e altura são medidas pelo número de pixels ao longo
dessas dimensões e cuja profundidade é de três camadas profundas, em RGB.
Essas camadas de profundidade são referidas como canais.
475
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 250: Estrutura de uma rede neural convolucional.
Fonte: adaptado de DSA (2021).
476
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Nas próximas seções será abordado sobre cada uma destas camadas que
constituem uma rede neural convolucional.
477
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação, é
fundamental completar o estudo do conteúdo dos tópicos anteriores
para se familiarizar com os temas que serão abordados na atividade.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
478
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividade de experimentação 63 ●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Siga os passos a seguir:
479
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
redes neurais se destacam como componentes essenciais. Especialmente, as
redes neurais convolucionais emergem como uma classe profunda e inovadora,
projetadas especificamente para essa tarefa.
Embora as CNNs sejam um caso de uso comum para este modelo, devido à
sua capacidade de processar e interpretar eficientemente informações visuais, o
modelo sequencial é versátil o suficiente para atender a uma variedade de
necessidades em diferentes domínios de Aprendizado de Máquina, facilitando a
implementação de soluções inovadoras e eficazes.
480
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 251: Exemplo de implementação das camadas do modelo sequencial.
Fonte: os Autores.
481
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Com uma base sólida na compreensão de suas estruturas e funções, há
agora uma preparação mais avançada do que nunca para explorar técnicas mais
sofisticadas e participar das inovações contínuas no excitante campo da Visão
Computacional e Inteligência Artificial.
482
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
estatística, em que um modelo analítico se ajusta demais aos dados específicos
em que foi treinado. Tecnicamente, isso significa que o modelo aprende tanto os
padrões subjacentes quanto o ruído nos dados de treinamento. Como resultado,
ele tem um desempenho excepcionalmente bom nesses dados específicos, mas
falha em generalizar para novos conjuntos de dados ou dados de teste
(Marchiori, 2023).
483
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Assim, as CNNs, com sua capacidade de aprender diretamente dos dados
visuais e melhorar continuamente por meio do treinamento, representam uma
das mais promissoras áreas da Inteligência Artificial. À medida em que se
explora e entende a respeito dessas redes, abrem-se portas para inovações em
Visão Computacional, aplicando esses conhecimentos para resolver desafios
complexos e criar tecnologias que podem transformar o mundo de maneira que
ainda estamos começando a imaginar.
484
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Cada filtro é cuidadosamente projetado para detectar características
específicas, como bordas, ângulos ou padrões mais intrincados. À medida que se
desloca pela imagem, cada filtro gera um mapa de características que ressalta as
áreas em que essas características particulares são mais evidentes. Esse
processo transforma a imagem de entrada em uma representação que a rede
pode compreender e manipular de forma mais eficaz nas camadas
subsequentes (TensorFlow, 2022).
485
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Visão Computacional.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
a interpretar o mundo visual de maneira cada vez mais sofisticada e precisa.
486
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
necessidade de inicialização de pesos cuidadosamente calibradas, tornando a
rede mais robusta a escolhas iniciais de parâmetros. Essa camada não apenas
facilita um treinamento mais rápido e estável, mas também atua como um
regularizador, reduzindo, em certa medida, a necessidade de outras técnicas de
regularização, como Dropout. Isso ocorre porque cada mini-lote tem sua
normalização, o que adiciona um certo nível de ruído aos dados durante o
treinamento, ajudando a rede a desenvolver uma representação mais robusta e
a evitar o overfitting (Ioffe e Szegedy, 2015).
487
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
mente simples, mas extremamente eficaz: ele examina uma janela deslizando
depois essa janela por toda a área da entrada. Essa operação resulta em uma
representação reduzida, porém preservada, das características originais (Keras,
2024c).
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
benefícios. Primeiramente, ao diminuir as dimensões, ela reduz
significativamente o número de parâmetros a serem processados nas camadas
subsequentes, o que não apenas diminui a carga computacional e a memória
necessária para treinar a rede, mas também melhora a eficiência do modelo
como um todo (Marchiori, 2023).
488
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
A camada de Dropout é uma estratégia inteligente e eficaz de regularização
usada em redes neurais, incluindo CNNs. O princípio por trás do dropout é
surpreendentemente simples, mas poderosamente eficaz: durante o
treinamento, alguns neurônios são aleatoriamente "desligados", ou seja,
ignorados temporariamente. Isso significa que, a cada passo do treinamento,
uma porção aleatória dos neurônios não contribui com a propagação para a
frente e a atualização dos pesos durante a retropropagação (Marchiori, 2023).
Essa abordagem tem um efeito duplo.
489
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e seus pesos são ajustados de acordo com a probabilidade de eliminação,
garantindo que a saída seja uma média ponderada de todas as sub-redes
treinadas. Isso mantém a eficácia da rede enquanto aproveita a regularização
fornecida pelo dropout (Marchiori, 2023).
490
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Esse processo é como desenrolar todas as características detectadas e
colocá-las em uma linha contínua, de modo que cada elemento do vetor agora
representa uma característica específica identificada nas camadas anteriores.
491
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
entrelaçada de conexões (Keras, 2024f).
492
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
certas considerações. Devido ao grande número de conexões, elas podem ser
propensas a overfitting, especialmente em conjuntos de dados menores.
Técnicas como Dropout e regularização L2 são frequentemente usadas para
mitigar esse risco, promovendo a generalização do modelo.
493
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
profundas devido à sua eficiência computacional e à capacidade de mitigar o
problema do gradiente de desaparecimento, permitindo que a rede aprenda
mais rapidamente e alcance um desempenho melhor.
494
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Ao escolher e implementar funções de ativação adequadas, os praticantes
podem melhorar significativamente o desempenho e a eficácia de suas redes
neurais, abrindo novas possibilidades para avanços no campo do Aprendizado
de Máquina e Inteligência Artificial.
495
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Como a ReLU tem uma derivada constante de 1 para entradas positivas, ela
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
não sofre tanto com esse problema, permitindo que informações e gradientes
passem pela rede de forma mais eficiente.
Uma vez que isso acontece, esses neurônios deixam de contribuir para o
ajuste da rede, pois sua derivada é zero para entradas negativas. Variantes da
496
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
normalizadas, interpretados como níveis de confiança da rede (Marchiori, 2023).
497
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
tas e as reais.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
No fim das contas, a função de ativação Softmax é um componente decisivo
em muitas redes neurais de classificação, transformando os logits em
probabilidades compreensíveis e interpretáveis.
498
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação, é
fundamental completar os passos anteriores relacionados à
configuração das IDEs. Para a segunda atividade recomenda-se o uso
do Google Colab.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
499
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Siga os passos a seguir:
500
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
OBSERVAÇÃO:
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
É importante indicar corretamente o caminho para a imagem escolhida,
assim como o formato em que a imagem se encontra, por exemplo, JPG, JPEG,
PNG etc. Siga o modelo que está descrito no documento da atividade:
imagem = cv2.imread('/content/caes-e-gatos/teste/gato/cat.3500.jpg')
501
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Nessa área você encontrará uma série de links com materiais
que foram criteriosamente escolhidos e disponibilizados. Trata-se de
recursos que têm por objetivo apresentar informações adicionais e
insights, permitindo que você amplie e enriqueça o seu
conhecimento acerca dos temas discutidos neste capítulo.
502
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
5.4. Consolidar
5.4.1. Estudo de Caso
Você se lembra do Dr. Orlando, o renomado pneumologista que enfrentou
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
um aumento significativo em sua carga de trabalho durante a pandemia e
quadros de gripe, com uma demanda crescente por análise de radiografias
pulmonares?
503
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
contar além de um navegador, o Python, o Jupyter Notebook e também com a
ferramenta Tkinter que será apresentada a seguir.
5.4.2.1. Tkinter
Tkinter é uma biblioteca da linguagem Python que acompanha a instalação
padrão e permite desenvolver interfaces gráficas. Isso significa que qualquer
computador que tenha o interpretador Python instalado é capaz de criar
interfaces gráficas usando o Tkinter, com exceção de algumas distribuições
Linux, exigindo que seja feito o download do módulo separadamente.
504
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
● Event handler: são tratadores de eventos, isto é, ao clicarmos em um botão
para executar uma ação, uma rotina é executada;
● Event loop: o event loop verifica constantemente se outro evento foi
acionado. Caso a hipótese seja verdadeira, ele irá executar a rotina
correspondente.
505
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
diretório de fácil acesso (por exemplo, na pasta Documentos), pois precisará
direcionar o caminho para esta pasta que contém a seguinte estrutura:
● raio-x-torax.zip
○ teste (contém 100 imagens variadas de raio-x de tórax, numeradas de 1
a 100 e sem qualquer identificação);
○ treino (contém 200 imagens já previamente indicadas pelo Dr. Orlando
como normal ou pneumonia, numeradas de 0 a 99).
506
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
filenames=os.listdir('C:\\Users\\MarceloViana\\Documents\\
Projetos_Jupyter\\raio-x-torax\\treino')
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
# Após realizar o download e descompactar a pasta
raio-x-torax.zip, localize o caminho correto do local da
pasta. Você precisará acessar a pasta treino. Note que a
cada pasta, é necessário o uso de barras duplas
invertidas.
507
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
train_generator =
train_datagen.flow_from_dataframe(train_df,
"C:\\Users\\MarceloViana\\Documents\\Projetos_Jupyte
r\\raio-x-torax\\treino",
# note que o caminho para a pasta treino deverá
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
novamente ser apontado. Atente-se para não apagar as
aspas e barras duplas.
x_col='filename',
y_col='category',
target_size=Image_Size,
class_mode='categorical',
batch_size=batch_size)
validation_datagen = ImageDataGenerator(rescale=1./255)
validation_generator =
validation_datagen.flow_from_dataframe(
validate_df,
"C:\\Users\\Marcelo
Viana\\Documents\\Projetos_Jupyter\\raio-x-torax\\trein
508
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
test_filenames = os.listdir("C:\\Users\\Marcelo
Viana\\Documents\\Projetos_Jupyter\\raio-x-torax\\teste")
# note que o caminho para a pasta TESTE deverá novamente
ser apontado. Atente-se para não apagar as aspas e barras
duplas.
test_df = pd.DataFrame({
'filename': test_filenames
})
test_generator =
train_datagen.flow_from_dataframe(test_df,
'C:\\Users\\MarceloViana\\Documents\\Projetos_Jupyter\\rai
o-x-torax\\teste',
# note que o caminho agora é para a pasta TESTE. Atente-se
para não apagar as aspas e barras duplas.
509
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
sample_test = test_df.head(18)
sample_test.head()
plt.figure(figsize=(12, 24))
for index, row in sample_test.iterrows():
filename = row['filename']
category = row['category']
img =
load_img("C:\\Users\\MarceloViana\\Documents\\Projetos
_Jupyter\\raio-x-torax\\teste\\"+filename,
target_size=Image_Size)
# note que o caminho para a pasta TESTE deverá
novamente ser apontado. Atente-se para não apagar as
aspas e barras duplas.
plt.subplot(6, 3, index+1)
plt.imshow(img)
510
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
im=Image.open("C:\\Users\\MarceloViana\\Documents\\Projet
os_Jupyter\\raio-x-torax\\teste\\1.jpg")
# note que o caminho para a pasta TESTE deverá novamente
ser apontado. Atente-se para não apagar as aspas e barras
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
duplas.
# escolha uma imagem para testar se é um raio x normal ou
com pneumonia
Sendo assim, a cada imagem indicada para o aprendizado, ele retornará com e o código CRC UZDIGMX2.
511
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
No entanto, para refinar a forma de entrada das imagens de raio-x para o Dr.
Orlando, proponha uma GUI mais fácil e intuitiva para ele! Gere uma codificação
que, realizada no próprio Jupyter Notebook, abrirá uma janela de “Classificador
GUI para imagens médicas”.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e, na própria tela, o resultado será apresentado. As imagens a seguir mostram o
resultado de duas análises para diagnóstico indicado como normal (imagem
15.jpeg; Figura 254) e pneumonia (imagem 20.jpeg; Figura 255). Observe abaixo
que o aprendizado está demonstrando ~93% para um possível diagnóstico
normal para o raio-x de tórax.
512
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 255: Classificador para raio-x de tórax, indicação pneumonia de 93%.
Fonte: o Autor.
513
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
5.5. Avaliar
Para concluir este capítulo, você deverá realizar a “Etapa Avaliar”, que
consiste no preenchimento do Questionário de Avaliação disponível no Google
Sala de Aula e que tem como objetivo permitir que você acompanhe
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
individualmente a evolução do seu aprendizado.
Não será atribuída nota para a atividade, mas a sua entrega é obrigatória,
pois, acima de tudo, servirá como insumo para uma análise pessoal e também
para a realização de autocrítica a respeito dos pontos compreendidos e daqueles
que exigem maior dedicação.
514
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Referências
BEUTELl, J., KUNDEL, H.L., VAN METTER, R.L. Handbook of Medical Imaging.
Bellingham, Washington Spie Press, 2000.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
artificial-uma-corrida-desleal-80bfa53075ed Acesso em: 18 janeiro 2024.
515
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
KERAS. MaxPooling2D layer. 2024c. Disponível em: https://keras.io/api/layers/
pooling_layers/max_pooling2d/. Acesso em: 19 janeiro 2024.
516
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Capítulo 6:
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Visão Computacional
aplicada ao
reconhecimento de
emoções
Autores
Júlio César Leitão Júnior
6.1. Introdução
Boas vindas ao capítulo Visão Computacional aplicada ao
reconhecimento de emoções, que foi projetado para levar você ao campo da
Visão Computacional com um foco específico no reconhecimento de emoções
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
em imagens.
518
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Ao final deste capítulo, você terá não apenas compreendido os conceitos
fundamentais da Visão Computacional aplicada ao reconhecimento de
emoções, mas também terá adquirido habilidades práticas para enfrentar os
desafios no campo da IA.
519
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
6.2. Inspirar
Você já refletiu sobre o efeito da Visão Computacional no reconhecimento
de emoções e como essa inovação está revolucionando a forma como
interagimos com a tecnologia na atualidade? Imagine o potencial dessa
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
aplicação na compreensão humana e na melhoria da interação entre pessoas e
máquinas, abrindo caminho para avanços significativos em várias áreas?
Vejamos alguns exemplos.
No ambiente corporativo, essa tecnologia pode ser utilizada para avaliar a e o código CRC UZDIGMX2.
520
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Antes de iniciarmos a "Etapa de Conceitualização" na qual
haverá a apresentação do conteúdo e a experimentação dos
conceitos trabalhados por meio de atividades práticas, entre no
Google Sala de Aula, na aba "Etapa Inspirar", para acessar todos
os materiais disponibilizados, que visam a estimular sua reflexão e
iniciar a ambientação com o conteúdo deste capítulo.
521
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Com o objetivo de demonstrar como a análise detalhada das necessidades
educacionais e a integração de tecnologias avançadas de Inteligência Artificial
podem resultar na criação de um sistema eficiente e inovador de
reconhecimento de emoções, especialmente adaptado ao ambiente do curso.
Leia com atenção o cenário do estudo de caso e lembre-se: o e o código CRC UZDIGMX2.
6.2.1.1. Cenário
Uma das demandas de projeto da Facti, como uma Instituição Científica e
522
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
docente composto por especialistas no campo da tecnologia.
523
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
6.2.1.2. Decisões tecnológicas
O objetivo será construir um algoritmo de reconhecimento de emoções para
a Facti e, para isto, vamos precisar tomar algumas decisões de negócio.
524
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
6.3. Conceitualizar
6.3.1. Introdução ao reconhecimento de
emoções
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
São frequentes as situações em que as pessoas necessitam assegurar sua
autenticidade, como na realização de transações bancárias, identificação em
empresas, aeroportos e a biometria é um dos métodos empregados como meio
de identificação mais utilizados. Existem diversas características biológicas que
podem ser utilizadas em um processo de identificação, dentre as principais
tem-se: impressão digital, retina, íris, geometria da mão, face, voz e assinatura
(Carlos Jr, 2011).
525
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
forma que seja possível, dada uma imagem de rosto humano, retornar uma lista
ordenada de imagens com os rostos mais similares dentro de uma base de
dados. Em geral, essas tarefas são realizadas utilizando algoritmos e abordagens
de extração de características e métricas de distância que comparam pares de
imagens (Fujikawa, 2016).
526
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 257: Expressões emocionais universais.
Fonte: Body Language Brazil.
527
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
neutra, caracterizada pela inexistência de movimentos faciais;
● Raiva: o corpo naturalmente se projeta para frente, as sobrancelhas são
franzidas para o centro, com olhar concentrado e lábios cerrados;
● Medo: o corpo é lançado levemente para trás, como forma de defesa e
esquiva, sobrancelhas se levantam, pestanas superiores se levantam e
inferiores tensionadas e lábios ligeiramente esticados em direção às orelhas;
● Nojo: o nojo é geralmente relacionado a algo revoltante, com sensação de
vômito, apresentando o nariz franzido e lábio superior levantado;
● Surpresa: o corpo tende a ficar atento para entender o que está
acontecendo para absorver a informação, as sobrancelhas se levantam, os
olhos e boca se abrem. Esta expressão de surpresa geralmente é seguida de
outra expressão.
528
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
algoritmos de IA sendo treinados com conjuntos de dados que contêm imagens
previamente rotuladas com as emoções conhecidas.
529
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Dada a abordagem ao tema, reflita:
Como garantir que esses sistemas não sejam usados para vigilância
invasiva ou para fins discriminatórios?
530
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
interpretar e reagir às nuances humanas. Esta jornada, embora repleta de
promessas, navega por um mar de desafios complexos e considerações éticas
significativas.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e Souza, 2014).
532
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Iniciando com uma vasta coleção de imagens faciais, cada uma
meticulosamente anotada com a emoção correspondente e específicas. Essa
tecnologia não apenas aprende a ler expressões humanas, mas também a
entender a complexidade e a nuance por trás delas.
533
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
determinar sua eficácia em reconhecer emoções em novas imagens. Ajustes e
otimizações são realizados conforme necessário para melhorar a performance
do modelo. A validação cruzada atua como uma espécie de prova de fogo,
garantindo que o modelo possa aplicar com sucesso o que aprendeu a novos
dados, mantendo sua eficácia e precisão.
534
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Dado o que foi explicitado, pense sobre quais tipos de dados e
características são mais eficazes para treinar modelos de Aprendizado
de Máquina em reconhecimento de emoções? E, quais são os
principais desafios e limitações na precisão desses sistemas?
535
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação, é
fundamental completar os passos anteriores relacionados à
configuração das IDEs. Para as atividade propostas recomenda-se o uso
do Google Colab.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
536
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividade de experimentação 65 ●●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Siga os passos a seguir:
537
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividade de experimentação 66 ●●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
no Google Sala de Aula.
538
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividade de experimentação 67 ●●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
arquivos disponibilizados no Google Sala de Aula.
539
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
que foram criteriosamente escolhidos e disponibilizados. Trata-se de
recursos que têm por objetivo apresentar informações adicionais e
insights, permitindo que você amplie e enriqueça o seu
conhecimento acerca dos temas discutidos neste capítulo.
540
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
6.4. Consolidar
6.4.1. Estudo de Caso
Você se lembra que a Facti decidiu integrar os princípios da Visão
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Computacional em seus métodos de ensino para aprimorar continuamente a
qualidade e relevância de seus cursos?
541
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Para este MVP, será escolhida a linguagem de programação Python,
utilizando a biblioteca TensorFlow para reconhecimento de emoções. O
ambiente de programação escolhido será o Google Colab IDE.
542
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Comece a organizar a infraestrutura pelo banco de imagens e arquivos de
modelos pré-treinados, que está disponível na aba “Atividades” deste capítulo,
na plataforma do Google Sala de Aula.
543
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
há uma sugestão de solução para o estudo de caso e, a cada célula, trechos de
código podem ser executados. Atente-se às seguintes orientações para
conseguir executar o algoritmo, conforme a numeração dos itens que constam
no arquivo do Google Colab:
ATENÇÃO: ao executar este trecho, abrirá uma janela (Figura 259) para que
conecte o Google Colab ao Google Drive. Localize sua conta de e-mail e clique
em Permitir o acesso.
544
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 259: Autorização de acesso do Google Colab ao Google Drive.
Fonte: adaptado de Google Drive.
2. Testando o modelo
545
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
face_cascade =
cv2.CascadeClassifier('/content/haarcascade_frontalface_de
fault.xml')
faces = face_cascade.detectMultiScale(gray, 1.1, 3)
546
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
6.5. Avaliar
Para concluir este capítulo, você deverá realizar a “Etapa Avaliar”, que
consiste no preenchimento do Questionário de Avaliação disponível no Google
Sala de Aula e que tem como objetivo permitir que você acompanhe
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
individualmente a evolução do seu aprendizado.
Não será atribuída nota para a atividade, mas a sua entrega é obrigatória,
pois, acima de tudo, servirá como insumo para uma análise pessoal e também
para a realização de autocrítica a respeito dos pontos compreendidos e daqueles
que exigem maior dedicação.
547
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Referências
CARLOS Jr, L.F.M. Reconhecimento facial utilizando redes neurais. Trabalho de
conclusão de curso (Ciência da Computação) - Centro Universitário Eurípides de
Marília. Marilia, p. 52, 2011.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
em uma abordagem supervisionada. Dissertação (Mestrado em Ciência da
Computação), Universidade Federal de Ouro Preto, Ouro Preto, 2012.
548
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Capítulo 7:
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Visão Computacional
aplicada ao
rastreamento de
objetos
Autores
Júlio César Leitão Júnior
7.1. Introdução
Boas vindas ao capítulo Visão Computacional aplicada ao rastreamento
de objetos, um conteúdo projetado para introduzir você ao campo da Visão
Computacional, com um enfoque particular no rastreamento de objetos em
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
vídeos.
550
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
A abordagem prossegue em discutir sobre os "algoritmos de detecção e
rastreamento de objetos", em que será apresentado vários algoritmos, em que
cada um deles é analisado em termos de suas características, vantagens e
aplicações práticas.
551
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
7.2. Inspirar
Você já explorou as possibilidades da Visão Computacional, em especial no
rastreamento de objetos em imagens, uma ferramenta que pode ter aplicações
importantes para setores diversos, como logística e gerenciamento da cadeia de
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
suprimentos, robótica, automotivo e transporte, segurança e etc?
552
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
vários contextos.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Antes de iniciarmos a "Etapa de Conceitualização" na qual
haverá a apresentação do conteúdo e a experimentação dos
conceitos trabalhados por meio de atividades práticas, entre no
Google Sala de Aula, na aba "Etapa Inspirar", para acessar todos
os materiais disponibilizados, que visam a estimular sua reflexão e
iniciar a ambientação com o conteúdo deste capítulo.
553
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
O foco deste estudo de caso é ilustrar a capacidade de uma ICT privada, a
Facti, em responder às demandas específicas de desenvolvimento de projetos na
área de Tecnologia da Informação e Comunicação (TIC), particularmente no que
tange à segurança corporativa por meio de soluções tecnológicas avançadas.
7.2.1.1. Cenário
Uma ICT privada, assim como em outros negócios, recebe demandas de
desenvolvimento de projetos provenientes de empresas parceiras, interessadas
554
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Um de seus clientes, não divulgado por questões contratuais, procurou a
empresa buscando uma solução para automatizar seu monitoramento de
acesso corporativo, de forma a aumentar a segurança da empresa que vem
passando por incidentes como roubos, invasões e vandalismo, e deseja
implementar um sistema de rastreamento de objetos para monitorar e melhorar
a segurança ao redor da empresa, trazendo, também, melhor segurança a seus
funcionários.
555
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
7.2.1.2. Decisões tecnológicas
O objetivo será construir um algoritmo de rastreamento de objetos para a
Facti e, para isto, será preciso tomar algumas decisões de negócio.
556
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
7.3. Conceitualizar
7.3.1. Diferenças entre detecção, reconheci-
mento e rastreamento de objetos
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
O rastreamento de objetos se refere ao processo de monitorar e
acompanhar a localização e o movimento de objetos físicos ao longo do tempo.
Isso é feito usando uma variedade de tecnologias e métodos para coletar
informações sobre a posição e o estado desses objetos.
557
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
A Figura 261 demonstra o exemplo de rastreamento de objetos a partir do
algoritmo de detecção de objetos.
558
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
visuais, que envolvem cores, formas e texturas do objeto para que, em nível de
detecção, um objeto possa ser diferenciado de outro (Macena, 2021).
559
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
O rastreamento de objetos é usado em várias aplicações em diferentes
campos, incluindo logística, transporte, segurança, entretenimento, ciência e
muito mais. Alguns exemplos de aplicações de rastreamento de objetos incluem:
560
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
6. Medicina: o rastreamento de objetos pode ser usado para acompanhar o
movimento de instrumentos cirúrgicos durante procedimentos
minimamente invasivos, cirurgia assistida por computador e radioterapia, ou
para rastrear o movimento de órgãos internos e tumores em exames
médicos, como a tomografia computadorizada, garantindo procedimentos
precisos e seguros.
7. Monitoramento ambiental: no monitoramento ambiental, o rastreamento
de objetos ajuda a acompanhar a migração de animais, a movimentação de
massas de gelo, a disseminação de poluentes e outros fenômenos
importantes para a compreensão e conservação do meio ambiente.
8. Varejo e marketing: no varejo, o rastreamento de objetos é usado para
análise de comportamento do consumidor, permitindo que empresas
compreendam como os clientes interagem com os produtos.
561
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
pesquisadores buscam superar seus desafios e melhorar a eficácia dos sistemas.
562
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
ocorrer. Sistemas eficientes devem, portanto, ser não apenas adaptativos, mas
também suficientemente robustos para lidar com essas mudanças rápidas e
frequentes.
563
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
como oclusões temporárias, mudanças de escala, objetos semelhantes no
ambiente, iluminação variável e situações (plano de fundo) em que o objeto
pode estar inserido, tornando complexo o projeto de um extrator de
características na descrição perfeita do objeto em qualquer situação (ZHAO et al.,
2019).
564
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
mento se tornem cada vez mais sofisticados, confiáveis e capazes de lidar com
as complexidades do mundo real.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Dada a abordagem ao tema, reflita:
565
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
por exemplo, dentro de vídeos. A Figura 263, demonstra um exemplo do que se
deseja alcançar, costumeiramente, com um algoritmo de detecção de objetos.
566
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
papel distinto, mas complementar, na interpretação de cenas dinâmicas e
complexas.
567
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 264: Exemplo de rastreamento de objetos.
Fonte: os Autores.
Por exemplo da imagem, pode-se notar que à frente de um corredor vai ser
gerado um retângulo na parte de cima, um retângulo na parte de baixo, e um
retângulo na parte central. A ideia do algoritmo é que ele receba um pet de
568
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
comportamentos, essenciais para áreas como segurança pública, gestão de
tráfego, análise de comportamento em varejo e desenvolvimento de veículos
autônomos. Além disso, com o avanço contínuo da tecnologia de Aprendizado
de Máquina, esses modelos estão se tornando cada vez mais sofisticados.
569
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
À medida que esses modelos evoluem, eles prometem abrir novos caminhos
para aplicações práticas, melhorando a segurança, a eficiência e a compreensão
do mundo ao nosso redor.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Dada a abordagem ao tema, reflita:
Quais são as tendências futuras e possíveis avanços na área de e o código CRC UZDIGMX2.
570
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
O algoritmo BOOSTING (do inglês, Boosted Multiple Instance Learning) para
rastreamento de objetos é uma técnica de Aprendizado de Máquina que foi
projetada para rastrear objetos em sequências de vídeo em tempo real. O
BOOSTING é uma abordagem baseada em características visuais que utiliza um
classificador - Haar Cascade AdaBoost - para treinar e rastrear objetos em
movimento, em tempo de execução (online) com exemplos positivos (que
contêm o objeto de interesse) e negativos (que não contêm o objeto). O objetivo
do treinamento é aprender um modelo que possa distinguir entre o objeto e o
fundo (Brouton Lab, 2022).
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
7.3.4.2. Algoritmo MIL
O algoritmo MIL (Multiple Instance Learning) é uma técnica de rastreamento
de objetos que se baseia no Aprendizado Supervisionado. Ele é projetado para
rastrear objetos em sequências de vídeo, especialmente quando a localização
exata do objeto é incerta ou difícil de determinar com precisão. O MIL é usado
em uma variedade de aplicações de rastreamento, como vigilância,
rastreamento de alvos móveis e monitoramento de objetos em tempo real
(Brouton Lab, 2022).
572
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
O algoritmo KCF (Kernelized Correlation Filters) é um método popular de
rastreamento de objetos baseado em filtros de correlação “kernelized”. Ele é
amplamente utilizado para rastrear objetos em sequências de vídeo em tempo
real devido à sua eficiência computacional e capacidade de lidar com desafios
como mudanças de escala, rotação e oclusões parciais.
573
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
O algoritmo TLD (Tracking-Learning-Detection) é uma técnica de
rastreamento de objetos que visa combinar o rastreamento de objetos, o
aprendizado e a detecção para rastrear objetos em sequências de vídeo em
tempo real. O TLD é especialmente projetado para lidar com desafios como
oclusões temporárias, variações na aparência do objeto e mudanças na escala.
574
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
que se movem de maneira relativamente suave e previsível. Não é muito
adequado para objetos com movimentos rápidos ou que mudam sua aparência
rapidamente.
575
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
na aparência do objeto.
576
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
mudanças na aparência do objeto, deslocamentos e oclusões temporárias
(Brouton Lab, 2022).
577
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
SUGESTÕES DE USO:
• Use o KCF quando precisar de um FPS mais rápido, mas pode lidar
com uma precisão de rastreamento de objeto um pouco menor;
578
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação, é
fundamental completar os passos anteriores relacionados à
configuração das IDEs. Para as atividade propostas recomenda-se o uso
do PyCharm.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
579
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividade de experimentação 68 ●●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Sala de Aula.
580
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividade de experimentação 70 ●●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
de interesse escolhido pelo usuário em um vídeo ao vivo.
581
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Ao contrário do Optical Flow Dense, que será abordado na próxima seção,
calcula o movimento de todos os pixels em um quadro, o Optical Flow Sparse
seleciona um conjunto limitado de pontos-chave ou características visuais
distintas e rastreia seu movimento ao longo do vídeo (Wulff e Black, 2015). Seu
funcionamento baseia-se na:
582
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
frequentes. Para cenários mais desafiadores, outros algoritmos de rastreamento
mais avançados ou a combinação de abordagens de rastreamento podem ser
preferíveis.
583
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação, é
fundamental completar os passos anteriores relacionados à
configuração das IDEs. Para as atividade propostas recomenda-se o uso
do PyCharm.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
584
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Utilize o conjunto de arquivos disponibilizados no Google Sala de Aula.
585
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
quadro em relação ao quadro subsequente (Wulff e Black, 2015). Desta forma, o
seu funcionamento baseia-se:
586
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
pode ser computacionalmente intensivo, pois envolve o processamento de
todos os pixels em cada quadro do vídeo.
Figura 266: Comparativo entre os algoritmos Optical Flow Sparse e Optical Flow Dense.
Fonte: o Autor.
587
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
que foram criteriosamente escolhidos e disponibilizados. Trata-se de
recursos que têm por objetivo apresentar informações adicionais e
insights, permitindo que você amplie e enriqueça o seu
conhecimento acerca dos temas discutidos neste capítulo.
588
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
7.4. Consolidar
7.4.1. Estudo de Caso
Você se lembra que a Facti recebeu uma demanda de desenvolvimento de
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
projeto buscando uma solução para automatizar o monitoramento de acesso
corporativo de um cliente, de forma a aumentar a segurança da empresa que
vem passando por incidentes como roubos, invasões e vandalismo, sendo que
ela deseja implementar um sistema de rastreamento de objetos para monitorar
e melhorar a segurança ao redor da empresa, trazendo, também, melhor
segurança a seus funcionários?
589
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Para este MVP, será escolhida a linguagem de programação Python,
utilizando a biblioteca OpenCV para rastreamento de objetos. O ambiente de
programação escolhido será a IDE PyCharm.
O nosso cliente, a Facti, solicitou uma solução para o rastreamento de e o código CRC UZDIGMX2.
objetos e você, que acabou de receber o conteúdo do curso, está apto a propor
uma solução. Primeiro será necessário realizar alguns passos para iniciarmos
nosso estudo de caso.
590
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Agora será preciso criar o código. Com o PyCharm será possível executar os
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
códigos de cada algoritmo, codificando e testando o por meio do comando
“Run”. Para criar o algoritmo será preciso iniciar um novo documento Python.
Para isto, clique com o botão direito do mouse para criar o Projeto
“Rastreamento”, selecione a opção “New” e em seguida, "Python File”,
nomeando-o como “rastreamento_sparce” e dê "Enter”. Uma nova área de
programação é criada para a escrita do algoritmo de rastreamento.
Com o algoritmo desenvolvido será possível demonstrar o fluxo óptico da e o código CRC UZDIGMX2.
591
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 267: Rastreamento utilizando o algoritmo Optical Flow Dense.
Fonte: os Autores.
592
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
notificações automáticas para a equipe de segurança ou para sistemas de
resposta a incidentes.
● Monitoramento contínuo: o sistema pode funcionar 24 horas por dia,
oferecendo monitoramento contínuo, o que é essencial para a prevenção de
roubos, invasões e vandalismo;
● Registro e análise de vídeos: além do monitoramento em tempo real, o
sistema pode gravar vídeos para posterior análise e revisão. Isso pode ser
útil para investigações após incidentes de segurança;
● Melhoria da segurança dos funcionários: o sistema pode ser usado para
garantir a segurança dos funcionários, monitorando suas entradas e saídas e
garantindo que apenas pessoas autorizadas tenham acesso a áreas
específicas.
593
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
7.5. Avaliar
Para concluir este capítulo, você deverá realizar a “Etapa Avaliar”, que
consiste no preenchimento do Questionário de Avaliação disponível no Google
Sala de Aula e que tem como objetivo permitir que você acompanhe
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
individualmente a evolução do seu aprendizado.
Não será atribuída nota para a atividade, mas a sua entrega é obrigatória,
pois, acima de tudo, servirá como insumo para uma análise pessoal e também
para a realização de autocrítica a respeito dos pontos compreendidos e daqueles
que exigem maior dedicação.
594
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Referências
BROUTON LAB. A Complete Review of the OpenCV Object Tracking
Algorithms. 2022. Disponível em: https://broutonlab.com/blog/opencv-
object-tracking. Acesso em: 10 janeiro 2024.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Aprendizado Profundo em Hardware Limitado. Trabalho de conclusão de
curso (Ciência da Computação) – Universidade Federal de Sergipe. São Cristóvão,
p. 73, 2021.
TORRES, R.S., FALCÃO, A.X., GONÇALVES, M.A., PAPA, J.P., ZHANG, B., FAN, W.,
FOX, E.A. A genetic programming framework for content-based image retrieval.
Pattern Recognition, Elsevier, v. 42, n. 2, p. 283–292, 2009.
e o código CRC UZDIGMX2.
TRUCCO, E., VERRI, A. Introductory techniques for 3-D computer vision.
Prentice Hall Englewood Cliffs, 1998.
WULFF, J., BLACK, M.J. Efficient Sparse-to-Dense Optical Flow Estimation using a
Learned Basisand Layers. IEEE Conference on Computer Vision and Pattern
Recognition (CVPR), p. 120-130, 2015.
ZHAO, Z.Q., ZHENG, P., XU, S.T., WU, X. Object detection with Deep Learning: A
review. IEEE Transactions on Neural Networks and Learning Systems, v. 30, p.
1–21, 2019.
595
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Capítulo 8:
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Visão Computacional
aplicada ao
reconhecimento de
textos
Autores
Júlio César Leitão Júnior
8.1. Introdução
Boas vindas ao capítulo Visão Computacional aplicada ao
reconhecimento de textos, um material para guiar você ao mundo da Visão
Computacional, com um enfoque particular no reconhecimento de textos. Este
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
capítulo desvenda como as máquinas interpretam e processam textos a partir
de imagens, explorando o papel crucial das técnicas de Inteligência Artificial na
transformação de imagens em informações textuais compreensíveis.
597
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e o código CRC UZDIGMX2.
598
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
8.2. Inspirar
Você já explorou a importância crescente da Visão Computacional no campo
do reconhecimento de textos, uma tecnologia empregada por diversas
entidades, incluindo empresas e governos, para melhorar processos e oferecer
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
serviços mais eficientes e personalizados?
599
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
texto em contextos específicos e direcionados. O objetivo é propor e guiar o
desenvolvimento da eficiência em um mundo cada vez mais tecnológico.
600
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Este estudo visa demonstrar como a análise minuciosa das necessidades de
preservação e acesso a documentos históricos, aliada à integração de
tecnologias avançadas de Inteligência Artificial, pode resultar no
desenvolvimento de um sistema eficiente e inovador para a conversão de textos
manuscritos em formato digital.
8.2.1.1. Cenário
Em um projeto que une tradição e tecnologia, uma prestigiada universidade,
detentora de um acervo significativo de documentos manuscritos históricos,
601
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Comunicação (TIC), para desenvolver uma solução tecnológica inovadora.
Este projeto, ao ser concluído, representará um marco na preservação do e o código CRC UZDIGMX2.
Deste modo, a Facti necessita contar com a sua ajuda para transformar este
projeto em realidade, ou seja, você precisa criar este algoritmo para o
reconhecimento de textos.
602
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
2. Como será o desenvolvimento do algoritmo, qual ambiente de
programação será utilizado?
3. Quais as bibliotecas de programação disponíveis para realizar o
reconhecimento de textos?
603
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
8.3. Conceitualizar
8.3.1. Introdução ao reconhecimento de
textos com OCR
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
A quantidade de dados disponível em formato digital tem aumentado
incessantemente nas últimas décadas, com estimativas de dados gerados,
segundo a AIIM International (Association for Information and Image Management
International), na ordem de trilhões de gigabytes. Desta forma, dada a
impossibilidade de processar e gerenciar manualmente essa vasta quantidade
de dados textuais, surge a necessidade de sistemas automáticos para descrever
o conteúdo textual de imagens e vídeos (Turner et al., 2014).
604
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
funcionamento do OCR são:
605
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
imagens são referidos, portanto, como sistemas de extração e reconhecimento
de texto. As técnicas utilizadas para localizar e reconhecer o texto nesses
sistemas dependem significativamente do contexto em que o texto aparece na
imagem e do fundo sobre o qual ele está inserido. Existem diferentes categorias
de imagens baseadas nesses aspectos e os tipos de texto presentes nelas são:
imagens de documentos, imagens artificiais (texto superposto) e imagens de
cena (Jung et al., 2004).
606
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
atuais alcançam taxas de reconhecimento de caracteres entre 95% e 99% para
imagens classificadas como documentos (Jung et al., 2004).
Figura 269: Exemplo de imagem artificial com a inserção do texto AI (Artificial Intelligence).
Fonte: imagem gerada por IA.
607
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
impactadas por variações nos parâmetros das câmeras, incluindo foco,
iluminação e movimento.
608
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
eficiente e precisa, além de procurar corrigir os defeitos na imagem por meio de
algoritmos. Para aprimorar a qualidade das imagens é necessário utilizar duas
principais técnicas, realce e restauração, de modo que a imagem resultante seja
mais adequada que a imagem original (Bovik, 2009).
609
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
8.3.2.2. Equalização de Histograma
O histograma é uma representação gráfica que correlaciona cada valor de
intensidade possível de um pixel com a frequência de sua ocorrência na
imagem. Basicamente, é uma tabela que contabiliza quantas vezes cada valor de
intensidade, ou faixa de intensidades, aparece nos pixels da imagem.
Geralmente, esses valores são exibidos em um gráfico de barras, mostrando
para cada nível de cinza a quantidade (ou percentual) de pixels correspondentes
na imagem (Figura 272). A análise do histograma de uma imagem fornece
insights sobre a qualidade do contraste e do brilho médio da imagem, ajustando
o contraste da imagem para distribuir uniformemente a intensidade luminosa,
melhorando a visibilidade do texto.
610
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
uniformemente o brilho ou as intensidades dos pixels de uma imagem de forma
a abranger todo o espectro disponível de intensidades, realçando as
características e detalhes da imagem.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
imagem sem alterar o conteúdo;
● Normalização: ajuste das intensidades de pixel para reduzir as variações
causadas por diferentes condições de iluminação ou qualidade da câmera;
● Ajuste final e recorte: após a rotação, pode ser necessário fazer ajustes
finos ou recortar a imagem para remover bordas desnecessárias ou espaços
vazios resultantes da rotação.
612
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
captura, transmissão ou processamento da imagem. A remoção de ruído é
especialmente importante em aplicações como reconhecimento de padrões,
processamento de imagens médicas (Figura 274) e análise de imagens de
satélite (Barboza, 2013).
● Filtro médio (Mean filter): este método substitui cada pixel na imagem pelo
valor médio dos pixels em sua vizinhança. É eficaz para reduzir ruídos
aleatórios, mas pode resultar em perda de detalhes e bordas na imagem;
● Filtro Gaussiano: utiliza uma função de distribuição gaussiana para suavizar
613
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
a imagem, atribuindo pesos aos pixels vizinhos com base na sua distância do
pixel central. É útil para reduzir ruídos, preservando melhor os detalhes em
comparação com o filtro médio;
● Filtro mediano (Median filter): substitui cada pixel pelo valor mediano de
seus vizinhos. É eficaz na remoção de ruídos do tipo impulsivo, caracterizado
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
pela presença de pixels brancos e pretos aleatórios espalhados pela
imagem, e preserva melhor as bordas do que o filtro médio;
● Filtro bilateral: combina a suavização de ruído com a preservação de
bordas. O filtro bilateral pondera os pixels pela proximidade espacial e pela
semelhança em intensidade, mantendo as bordas enquanto suaviza outras
áreas;
● Transformada wavelet: uma abordagem mais sofisticada que envolve a
decomposição da imagem em componentes de frequência. Permite a
remoção seletiva de ruídos de alta frequência, preservando os detalhes
importantes;
● Técnicas de Aprendizado de Máquina e Deep Learning: métodos
avançados que utilizam redes neurais e outras técnicas de aprendizado para
aprender a remover ruídos de forma mais eficiente, muitas vezes superando
os métodos tradicionais.
614
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
que medida ele se encaixa ou não na imagem e o elemento estruturante
selecionado proporciona uma perspectiva única do objeto analisado,
ressaltando a importância de sua escolha apropriada para a análise desejada.
Duas operações morfológicas básicas são a dilatação e a erosão, das quais
outras operações, como abertura e fechamento, são derivadas (Romero, 2018):
615
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
identificar e isolar características específicas dentro de uma imagem, facilitando
a análise e posterior interpretação (Romero, 2018).
8.3.2.7. Limiarização
A técnica de limiarização (thresholding) é um método simples, mas eficaz de
segmentação de imagem usado no processamento de imagens. O objetivo da
limiarização é simplificar a análise de uma imagem ao reduzir a quantidade de
cores ou tons de cinza para apenas dois, transformando a imagem em uma
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
representação binária (Figura 276). Isso é alcançado ao estabelecer um limiar de
intensidade em que todos os pixels com intensidades acima do limiar são
convertidos para um valor, geralmente branco, e todos os pixels com
intensidades abaixo do limiar são convertidos para outro valor, geralmente preto
(Romero, 2018).
617
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
tos (Romero, 2018). Desta forma, os pixels rotulados com 1 (um) correspondem
aos objetos e os pixels etiquetados com 0 (zero) correspondem ao fundo
(background).
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
estabelecido apenas com base no valor do pixel original, ele é conhecido como
limiar global. No entanto, se o limiar também levar em consideração
propriedades locais do ponto, como a média dos pixels vizinhos, ele é referido
como limiar local. Além disso, se o limiar variar dependendo das coordenadas
espaciais do pixel original, ele é classificado como limiar dinâmico ou adaptativo
(ROMERO, 2018).
618
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
(colorida) (escala de cinza) (Otsu)
619
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
podem ser inadequadas por não preservar detalhes locais suficientemente
(Seixas et al., 2008). A Figura 278 ilustra o resultado da aplicação do método de
Niblack.
620
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Os métodos comuns de limiarização adaptativa, utilizados no
processamento de imagens, incluem a Limiarização Adaptativa Local, que
determina o valor de limiar para cada pixel com base na média ou mediana dos
pixels vizinhos; a Limiarização Adaptativa com Base em Ponderação, que utiliza
pesos ou combinações de medidas estatísticas como média, mediana e desvio
padrão; e Algoritmos Específicos, como os métodos de Sauvola ou Niblack, que
se baseiam em cálculos estatísticos mais complexos (Bertholdo, 2007).
621
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
algumas das ferramentas mais populares e amplamente utilizadas.
622
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
espaços incertos (Smith, 2007).
¹ Blobs referem-se a regiões de uma imagem que diferem em propriedades, como brilho ou cor, em comparação com o fundo ou
áreas circundantes. Eles são usados para identificar e extrair informações sobre objetos ou características específicas em uma
imagem.
623
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
O classificador do Tesseract emprega dados previamente treinados para
efetuar a classificação e identificar correspondências de caracteres. O uso de um
classificador adaptativo é aconselhável para reconhecer diferentes tipos de
fontes. A normalização da linha de base e da altura do caracter facilita a
distinção entre caracteres maiúsculos e minúsculos. Essas características fazem
do Tesseract um líder de mercado em precisão, com suas escolhas distintas de
atributos representando uma vantagem significativa (Smith, 2007).
624
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
corrigir imperfeições como distorções ou iluminação inadequada (Ch et al.,
2015).
625
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação, é
fundamental completar os passos anteriores relacionados à
configuração das IDEs. Para as atividade propostas recomenda-se o uso
do Google Colab.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
626
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividade de experimentação 72 ●●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
diferentes configurações da Tesseract OCR para lidar com idiomas e cenários
variados. Utilize o conjunto de arquivos disponibilizados no Google Sala de Aula.
627
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
anúncios ou mesmo em condições desafiadoras, como texto com orientação
variada, fontes diversas e sob diferentes condições de iluminação. Ele utiliza
técnicas de Deep Learning e redes neurais convolucionais (CNNs) para identificar
regiões de texto na imagem, gerando caixas delimitadoras ao redor do texto
detectado (Zhou, 2017).
628
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação, é
fundamental completar os passos anteriores relacionados à
configuração das IDEs. Para as atividade propostas recomenda-se o uso
do Google Colab.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
629
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividade de experimentação 73 ●●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
reconhecimento de texto e explorar o uso de algoritmos de supressão de
máxima e não-máxima para resultados mais precisos. Utilize o conjunto de
arquivos disponibilizados no Google Sala de Aula.
630
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
pontos chave sobre a EasyOCR são:
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Após o reconhecimento dos caracteres, a EasyOCR utiliza técnicas de PLN
para formar palavras e frases coerentes, o que inclui a correção de erros e a
formatação adequada do texto, suportado por modelos treinados em grandes
conjuntos de dados contendo textos em diferentes línguas, o que permite
reconhecer texto em diversos idiomas com eficácia. O resultado do processo é
entregue em um formato que inclui o texto extraído, juntamente com
informações sobre a localização do texto na imagem, assim como as
coordenadas das caixas delimitadoras (Vedhaviyassh et al., 2022).
632
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação, é
fundamental completar os passos anteriores relacionados à
configuração das IDEs. Para as atividade propostas recomenda-se o uso
do Google Colab.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
633
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividade de experimentação 74 ●●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
múltiplos idiomas. Utilize o conjunto de arquivos disponibilizados no Google Sala
de Aula.
634
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
informações visuais em formato textual. Esta aplicação envolve o treinamento
de algoritmos para identificar e transcrever caracteres e palavras a partir de
imagens, transformando-os em dados textuais legíveis e manipuláveis por
computadores. A principal vantagem do uso do Aprendizado de Máquina em
OCR é a sua capacidade de lidar com a complexidade e a diversidade do texto
em diferentes contextos e formatos (Silva Filho, 2022).
635
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
correspondem a diferentes caracteres e palavras. Esse aprendizado é facilitado
por técnicas como backpropagation e otimização por gradientes, que ajustam os
pesos da rede para minimizar os erros de reconhecimento. Assim, após a
transcrição inicial, um processo de pós-processamento pode ser aplicado para
corrigir erros comuns e melhorar a precisão do texto reconhecido.
636
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
que foram criteriosamente escolhidos e disponibilizados. Trata-se de
recursos que têm por objetivo apresentar informações adicionais e
insights, permitindo que você amplie e enriqueça o seu
conhecimento acerca dos temas discutidos neste capítulo.
637
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
8.4. Consolidar
8.4.1. Estudo de Caso
Você se lembra que a universidade, em parceria com a Facti, decidiu integrar
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
as mais recentes tecnologias de Inteligência Artificial em seu projeto de
digitalização de manuscritos históricos?
638
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Para este MVP, será escolhida a linguagem de programação Python,
utilizando a biblioteca TensorFlow para reconhecimento de textos. O ambiente
de programação escolhido será o Google Colab IDE.
639
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
O nosso cliente, a Facti, solicitou uma solução para o reconhecimento de
textos e você, que acabou de receber o conteúdo do curso, está apto a propor
uma solução. Primeiro será necessário realizar alguns passos para iniciar o
estudo de caso.
640
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
no documento para conseguir executar o algoritmo, conforme constam no
arquivo do Google Colab.
641
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
8.5. Avaliar
Para concluir este capítulo, você deverá realizar a “Etapa Avaliar”, que
consiste no preenchimento do Questionário de Avaliação disponível no Google
Sala de Aula e que tem como objetivo permitir que você acompanhe
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
individualmente a evolução do seu aprendizado.
Não será atribuída nota para a atividade, mas a sua entrega é obrigatória,
pois, acima de tudo, servirá como insumo para uma análise pessoal e também
para a realização de autocrítica a respeito dos pontos compreendidos e daqueles
que exigem maior dedicação.
642
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Referências
BARBOZA, R.S. Filtragem de Ruídos em Imagens Digitais. Tese (Doutorado) –
Universidade Federal de Pernambuco. Programa de Pós-Graduação em
Engenharia Elétrica. Recife, p.104, 2013.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Visual de Documentos Históricos. Dissertação (Mestrado) – Universidade
Federal de Minas Gerais. Curso de Pós-Graduação em Ciência da Computação,
p75, 2007.
BOVIK, A.C. The essential guide to image processing. Academic Press, 2009.
GONZALEZ, R.C., WOODS, R.E. Digital image processing. Upper Saddle River, NJ,
Pearson/Prentice Hall, 2008.
e o código CRC UZDIGMX2.
HOUGH, P.V. Method and means for recognizing complex patterns. U.S. Patent
3,069,654, 1962.
JUNG, K., KIM, K.I., JAIN, A.K. Text information extraction in images and video: a
survey. Pattern recognition, 37(5): 977-997, 2004.
643
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
SEIXAS, F.L., MARTINS, A., STILBEN, A.R., MADEIRA, D., ASSUMPÇÃO, R., MANSUR,
R., VICTER, S.M., MENDES, V.B., CONCI, A. Avaliação dos métodos para a
segmentação automática dos tecidos do encéfalo em ressonância magnética.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Simpósio de Pesquisa Operacional e Logística da Marinha, Rio de Janeiro,
2008.
SMITH, R.W. History of the Tesseract OCR engine: what worked and what didn’t.
Proc. SPIE 8658, Document Recognition and Retrieval XX, 865802, 2013.
TURNER, V., GANTZ, J.F., REINSEL, D., MINTON, S. The digital universe of
e o código CRC UZDIGMX2.
opportunities: rich data and the increasing value of the internet of things. IDC
Analyze the Future, 2014.
VEDHAVIYASSH, D.R., SUDHAN, R., SARANYA, G., SAFA, M., ARUN, D. Comparative
Analysis of EasyOCR and TesseractOCR for Automatic License Plate Recognition
using Deep Learning Algorithm. 6th International Conference on Electronics,
Communication and Aerospace Technology, 2022.
ZHOU, X., YAO, C., WEN, H., WANG. Y., ZHOU, S., HE, W., LIANG, J. EAST: An
Efficient and Accurate Scene Text Detector. IEEE Conference on Computer
Vision and Pattern Recognition (CVPR), 5551-5560, 2017.
644
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Capítulo 9:
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Visão Computacional
aplicada ao
reconhecimento e
sintetização de voz
Autores
Júlio César Leitão Júnior
9.1. Introdução
Boas vindas ao capítulo Visão Computacional aplicada ao
reconhecimento e sintetização de voz, um conteúdo construído para levar
você ao campo da Visão Computacional, com um enfoque particular no
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
reconhecimento e na síntese de voz.
646
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
to a síntese de voz, que transforma texto em fala natural. Além disso, serão
apresentadas as bibliotecas de programação e ferramentas utilizadas nesses
processos.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
variações de sotaque e a complexidade da linguagem natural.
647
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
9.2. Inspirar
Você já considerou a extraordinária evolução da Visão Computacional
aplicada ao reconhecimento e síntese de voz? Esta tecnologia está
revolucionando a forma como interagimos com máquinas e sistemas, sendo
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
amplamente utilizada por instituições para aprimorar a segurança, personalizar
experiências do usuário e até mesmo auxiliar na acessibilidade.
Essa tecnologia pode ser usada, por exemplo, para garantir que apenas
pessoas autorizadas acessem informações sensíveis ou locais restritos. Além e o código CRC UZDIGMX2.
648
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
as imersivas e personalizadas.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
cada vez mais tecnológico, explorando as múltiplas aplicações dessa tecnologia
que podem aprimorar significativamente operações em variados ambientes.
649
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Artificial podem conduzir à criação de um assistente de voz inteligente
transformador, projetado especificamente para atender às necessidades de
suporte técnico remoto de uma renomada empresa de tecnologia.
9.2.1.1. Cenário
Uma renomada empresa de tecnologia, que mantém seu nome em sigilo
650
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
O projeto consiste no desenvolvimento de um software para um assistente
de voz inteligente. O objetivo principal é que este assistente possa compreender
com precisão e responder a comandos de voz em tempo real, oferecendo
soluções técnicas imediatas e personalizadas.
O algoritmo deve ser capaz de lidar com variações na fala, como diferentes
sotaques, modulações e ambiguidades linguísticas, garantindo assim uma
interação eficaz com uma base de clientes global e diversificada.
651
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
9.2.1.2. Decisões tecnológicas
O objetivo será construir um algoritmo de reconhecimento de voz para a
Facti e, para isto, vamos precisar tomar algumas decisões de negócio.
652
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
9.3. Conceitualizar
9.3.1. Introdução ao reconhecimento e
sintetização de voz
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
São frequentes as situações em que as pessoas necessitam assegurar sua
autenticidade, como na realização de transações bancárias, identificação em
empresas, aeroportos e a biometria é um dos métodos empregados como meio
de identificação mais utilizados. Existem diversas características biológicas que
podem ser utilizadas em um processo de identificação, dentre as principais
tem-se: impressão digital, retina, íris, geometria da mão, face, voz e assinatura
(Carlos Jr, 2011).
653
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
processamento de sinal para extrair características acústicas da fala e
compará-las a modelos pré definidos, como Modelos Ocultos de Markov (HMMs)
ou Modelos de Mistura Gaussiana (GMMs), para identificar as palavras faladas.
654
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
uma biblioteca de unidades sonoras é construída a partir da gravação de vozes
humanas e, posteriormente, essas unidades são combinadas para formar o
áudio desejado.
655
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
reside na direção do processamento, o reconhecimento de voz lida com a
entrada de fala e a converte em texto, enquanto a síntese de voz faz o oposto,
convertendo texto em fala artificial.
656
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
características acústicas de uma fonte sonora, como uma voz, uma música ou
qualquer outro som. São amplamente utilizados em várias aplicações, como
comunicação por telefone, transmissão de rádio, música, gravação de voz,
sistemas de reconhecimento de fala e síntese de voz (Covo, 2016).
Essas variações de pressão são o que cria as oscilações de uma onda sonora
657
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
A sequência de compressões e rarefações é o que permite a transmissão do
som de uma fonte sonora para o ouvinte. Ao propagar-se através de um meio,
como o ar, as ondas sonoras geradas pelas compressões e rarefações causam a
vibração das partículas, resultando em um padrão de pressão que é detectado
pelo ouvido humano, permitindo a percepção do som (Costa, 2014).
658
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
mudando ao longo de um período de tempo;
● Velocidade do som: é a velocidade com que a onda sonora se propaga
através do meio;
● Harmônicos: muitos sons complexos, como instrumentos musicais,
possuem componentes de frequência adicionais chamados harmônicos.
Esses são múltiplos inteiros da frequência fundamental e contribuem para a
qualidade e timbre do som.
659
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
volumes de dados de áudio (Franchin, 2007).
660
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
9.3.2.2. Tipos de sinais de áudio
Um sinal de áudio analógico é uma representação contínua e física do som.
Ele é gerado por meio de variações elétricas ou mecânicas que correspondem às
características da onda sonora original. Um sinal analógico é contínuo no tempo
e na amplitude, ou seja, pode assumir qualquer valor dentro de uma faixa
contínua. Os sinais de áudio analógicos são utilizados em tecnologias mais
antigas, como toca-discos, fitas cassete e rádios FM (Pinto, 2018).
661
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
O uso de sinais de áudio digital traz vantagens como a facilidade de
armazenamento, a capacidade de processamento e a capacidade de transmitir e
reproduzir áudio com alta fidelidade. Além disso, sinais digitais podem ser
facilmente manipulados e processados por meio de algoritmos de
processamento de sinais, permitindo uma ampla gama de aplicações em
tecnologias modernas de áudio.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 280: Sinal no domínio do tempo.
Fonte: adaptado de Deckmann e Pomilio (2020).
663
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
transformação de Fourier é aplicada para obter a representação das
componentes de frequência presentes naquele intervalo de tempo. O
resultado é então plotado como um gráfico bidimensional, em que o eixo
horizontal representa o tempo e o eixo vertical representa a frequência.
664
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Dada a abordagem, reflita:
665
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
reconhecimento e síntese de voz. Esses avanços são possíveis graças a
algoritmos sofisticados e a bibliotecas especializadas que facilitam o
desenvolvimento de aplicações de áudio.
666
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
por técnicas avançadas como redes neurais profundas, que podem capturar
nuances complexas da linguagem falada.
667
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
para mapear as características acústicas para unidades linguísticas. Esses
modelos são treinados com enormes conjuntos de dados de áudio e seus
transcritos correspondentes.
● Decodificação: a saída do modelo acústico é então transformada em uma
sequência de palavras. Isso geralmente envolve o uso de modelos de
linguagem, que ajudam a garantir que a transcrição final faça sentido no
contexto da linguagem.
668
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
de dados de treinamento mais diversificados, a síntese de voz está se tornando
cada vez mais sofisticada, permitindo aplicações em áreas como assistentes
virtuais, leitura de textos para pessoas com deficiência visual, sistemas de
navegação GPS e até em jogos e entretenimento, em que a capacidade de gerar
vozes realistas e expressivas abre novas possibilidades para a interação entre
usuários e tecnologia.
669
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação, é
fundamental completar os passos anteriores relacionados à
configuração das IDEs. Para as atividade propostas recomenda-se o uso
do Google Colab.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
670
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividade de experimentação 75 ●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
familiarizar-se com a biblioteca, explorar diferentes métodos de reconhecimento
de voz e trabalhar com arquivos de áudio em diversos formatos. Utilize o
conjunto de arquivos disponibilizados no Google Sala de Aula.
671
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
permitem comunicações mais naturais e intuitivas, além de desempenharem um
papel importante em aplicações que vão desde a assistência virtual até
tecnologias assistivas. Vamos explorar algumas das ferramentas e bibliotecas
mais influentes neste campo, destacando suas funcionalidades únicas e
aplicações práticas.
672
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
mento de modelos de fala, alinhamento (sincronização de áudio com texto) e
decodificação (conversão do sinal de áudio em texto). Sua eficácia é evidente em
sistemas de reconhecimento de voz em que a precisão e a rapidez são críticas.
673
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Pense a respeito:
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
De que forma os avanços no Aprendizado de Máquina têm
contribuído para melhorar a precisão e naturalidade no
reconhecimento e na síntese de voz, e quais são os principais
desafios que ainda precisam ser superados?
674
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IMPORTANTE: Antes de iniciar as atividades de experimentação, é
fundamental completar os passos anteriores relacionados à
configuração das IDEs. Para as atividade propostas recomenda-se o uso
do Google Colab.
● Complexidade Baixa
●● Complexidade Média
●●● Complexidade Alta
675
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Atividade de experimentação 76 ●●
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
manipulação de áudio com a biblioteca Librosa e visualizará espectrogramas
para entender as características do áudio. Utilize o conjunto de arquivos
disponibilizados no Google Sala de Aula.
676
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
características, treinamento do modelo e avaliação do desempenho. O objetivo é
criar um modelo capaz de identificar a emoção expressa em um arquivo de
áudio. Utilize o conjunto de arquivos disponibilizados no Google Sala de Aula.
677
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
técnicos quanto éticos.
Além disso, o avanço das técnicas de Inteligência Artificial tem dado origem
a uma nova preocupação: o deepfake de áudio. Deepfakes são manipulações
digitais avançadas que podem criar gravações de voz falsas, mas incrivelmente
realistas. Essas gravações podem ser usadas para imitar a voz de uma pessoa
específica e são capazes de enganar sistemas de reconhecimento de voz e até
mesmo seres humanos.
678
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
reconhecimento de voz estão trabalhando em melhorias na precisão do
reconhecimento, em algoritmos mais robustos contra interferências e ruídos, e
em sistemas mais sofisticados de compreensão de linguagem natural. Estão
sendo desenvolvidas técnicas para detectar e prevenir o uso mal-intencionado
de deepfakes de áudio.
Veja algumas abordagens que estão sendo exploradas para combater esses
problemas.
679
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
deepfakes de áudio.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
como a proteção de vítimas.
● Autenticação de fontes: desenvolvimento de sistemas que verificam a
origem de gravações de áudio, assegurando que elas vêm de fontes
confiáveis e não foram alteradas.
● Aprimoramento contínuo de técnicas de detecção: à medida que as
técnicas de criação de deepfakes evoluem, as estratégias de detecção
também precisam ser continuamente atualizadas e aprimoradas para
manter sua eficácia.
680
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
que foram criteriosamente escolhidos e disponibilizados. Trata-se de
recursos que têm por objetivo apresentar informações adicionais e
insights, permitindo que você amplie e enriqueça o seu
conhecimento acerca dos temas discutidos neste capítulo.
681
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
9.4. Consolidar
9.4.1. Estudo de Caso
Você se lembra de como a Facti foi desafiada a criar um assistente de voz
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
inteligente para uma empresa de tecnologia, com o objetivo de melhorar o
suporte técnico remoto?
682
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Para este MVP, será escolhida a linguagem de programação Python,
utilizando a biblioteca Librosa para reconhecimento de voz. O ambiente de
programação escolhido será o Google Colab IDE.
a propor uma solução. Primeiro será necessário realizar alguns passos para
iniciarmos nosso estudo de caso.
683
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
caminho para esta pasta dentro do seu Google Drive, para facilitar o acesso aos
documentos que serão utilizados durante o curso. Siga os seguintes passos para
realizar o upload desta pasta em seu Google Drive:
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Figura 283;
● Localize e selecione a pasta Material_complementar_reconhecimento_voz.zip
em seu computador para realizar o upload;
● Não é necessário descompactar os arquivos da pasta.
Agora comece a criar o código. Como o Google Colab nos permite executar
684
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
a exploração de dados (EDA) para entender melhor o dataset, incluindo a
visualização da distribuição dos comandos e a duração das gravações de áudio.
O modelo deve ser treinado por várias épocas, utilizando callbacks para
monitorar o progresso e salvar o melhor modelo. A avaliação do modelo deve
mostrar uma taxa de acerto significativa, e as métricas de precisão e perda são
685
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
e o código CRC UZDIGMX2.
686
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
9.5. Avaliar
Para concluir este capítulo, você deverá realizar a “Etapa Avaliar”, que
consiste no preenchimento do Questionário de Avaliação disponível no Google
Sala de Aula e que tem como objetivo permitir que você acompanhe
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
individualmente a evolução do seu aprendizado.
Não será atribuída nota para a atividade, mas a sua entrega é obrigatória,
pois, acima de tudo, servirá como insumo para uma análise pessoal e também
para a realização de autocrítica a respeito dos pontos compreendidos e daqueles
que exigem maior dedicação.
687
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Referências
CARLOS Jr, L.F.M. Reconhecimento facial utilizando redes neurais. Trabalho de
conclusão de curso (Ciência da Computação) - Centro Universitário Eurípides de
Marília. Marilia, p. 52, 2011.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
parâmetros hidrológicos. Tese de doutorado (Escola de Engenharia) -
Universidade Federal de Minas Gerais. Belo Horizonte, p. 115, 2014.
688
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Divinópolis, p. 98, 2018.
689
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Avaliação Final
Você concluiu todo o seu ciclo de estudos neste curso, totalizando 240 horas
de capacitação.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
Computacional possa de alguma maneira contribuir com a sua carreira
profissional ou acadêmica - ou, pelo menos, trazer conhecimentos que sejam
úteis e interessantes para qualquer aspecto da sua vida.
Você tem direito a receber um certificado gratuito, a ser emitido pela Facti.
Para isto, deverá obter a aprovação em uma Avaliação Final, que está
disponibilizada no Google Sala de Aula, englobando todo o conteúdo
apresentado nos capítulos deste material.
690
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Considerações finais
A conclusão deste curso de Inteligência Artificial aplicada à Visão
Computacional não lhe dará todas as respostas sobre o tema. Pelo contrário: a
nossa expectativa é de que ele ajude na formulação de novas perguntas e
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
reflexões a respeito daquilo que já foi inventado ou ainda nem sequer
conseguimos imaginar que será criado.
Deixamos uma reflexão final a você, que concluiu todo o curso: o que
esperar da Inteligência Artificial aplicada à Visão Computacional nos próximos
anos e como fazer para que essas tecnologias não se tornem algo desconhecido
ou fora de controle?
691
Trilha de Aprendizagem: Inteligência Artificial aplicada à Visão Computacional
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
INSTITUIÇÃO EXECUTORA
COORDENADORA
INICIATIVA
Este projeto foi apoiado pelo Ministério da Ciência, Tecnologia e Inovação, com recursos da Lei nº 8.248,
de 23 de outubro de 1991, no âmbito do PPI-Softex, coordenado pela Softex e publicado Residência em
TIC 03 (Processo: 01245.010224/2022-33).
Portal de Assinatura Eletrônica
Documento assinado eletronicamente por Adriana da Silva Nogueira, autenticado por meio de
usuário e senha, em 31/01/2024, às 21:06, mediante o emprego da Plataforma de Assinatura
Eletrônica do P91.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IP: 187.106.43.141
Navegador: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/121.0.0.0 Safari/537.36
Documento assinado eletronicamente por José Augusto de Lima Prestes, autenticado por meio de
usuário e senha, em 31/01/2024, às 21:13, mediante o emprego da Plataforma de Assinatura
Eletrônica do P91.
IP: 179.228.160.49
Navegador: Mozilla/5.0 (iPhone; CPU iPhone OS 17_3 like Mac OS X) AppleWebKit/605.1.15
(KHTML, like Gecko) FxiOS/122.0 Mobile/15E148 Safari/605.1.15
Documento assinado eletronicamente por Marcelo de Almeida Viana, autenticado por meio de
usuário e senha, em 31/01/2024, às 21:08, mediante o emprego da Plataforma de Assinatura
Eletrônica do P91.
IP: 177.194.14.152
Navegador: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/121.0.0.0 Safari/537.36
Documento assinado eletronicamente por Larissa de Oliveira Figueira Canciglieri, autenticado por
meio de usuário e senha, em 31/01/2024, às 21:09, mediante o emprego da Plataforma de
Assinatura Eletrônica do P91.
IP: 179.191.248.93
Navegador: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/120.0.0.0 Safari/537.36
Documento assinado eletronicamente por Bruno Agrofoglio Ferreira, autenticado por meio de usuário
e senha, em 31/01/2024, às 21:09, mediante o emprego da Plataforma de Assinatura Eletrônica do
P91.
IP: 179.125.214.7
Navegador: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/120.0.0.0 Safari/537.36
e o código CRC UZDIGMX2.
Portal de Assinatura Eletrônica
Documento assinado eletronicamente por Peterson Gomes de Moura Barros, autenticado por meio
de usuário e senha, em 31/01/2024, às 21:08, mediante o emprego da Plataforma de Assinatura
Eletrônica do P91.
Documento assinado eletronicamente. Verificação no site https://p91.facti.com.br/pae/validacao.html, informando o código verificador PAE5-4855-8341-7156-3868-3111
IP: 179.232.48.82
Navegador: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/120.0.0.0 Safari/537.36
Em consonância com o previsto na Lei Geral de Proteção de Dados Pessoais - LGPD (Lei nº.
13.709/2018), tanto o responsável pelo documento quanto quem o assinou autorizaram a Facti a
promover o tratamento dos seguintes dados pessoais de sua titularidade para os fins de assinatura
eletrônica de documento, estando cientes e de acordo com a exibição pública desses mesmos
dados na folha de assinaturas: nome completo e endereço IP da conexão.
Em consonância com o previsto na Lei Geral de Proteção de Dados Pessoais - LGPD (Lei nº.
13.709/2018), tanto o responsável pelo documento quanto quem o assinou declararam e
reconheceram que a Facti poderá manter arquivados por tempo indeterminado os dados pessoais
citados anteriormente, bem como compartilhá-los com terceiros (sejam eles pessoas físicas ou
jurídicas, públicas ou privadas) nas formas admitidas pela legislação, a fim de demonstrar a validade
do ato jurídico praticado quando da assinatura eletrônica de documento.