Esta postagem foi tornada pública como parte do Data Science Blogathon.
Introdução

Formulários
- Acreditação facial – Câmeras de telefone usam crachá facial para desbloquear o telefone. Os sistemas de acreditação facial podem ser implementados nas portas de entrada dos edifícios de escritórios.
- Classificação de imagem – Usado para distinguir entre vários conjuntos de imagens. Indústrias como a automobilística, retalho, os jogos, etc. eles o usam para vários fins.
- Credenciamento de imagem – As empresas de segurança usam o credenciamento de imagem para detectar várias coisas nas malas dos aeroportos, scanners de imagem, etc.
Etapas para criar o aplicativo
- Obtenha os dados
- Preparação de dados
- Modelagem de dados
- Projete a interface do usuário
- Integrar interface de usuário e modelagem
Obtenha os dados
Os dados estariam na forma de imagens, Em outras palavras, Fotografias. As imagens são uma matriz de pixels. Imagens em um número maior seriam necessárias para construir todo o aplicativo ponta a ponta. Os dados estarão disponíveis dentro da própria organização ou deverão ser obtidos na Internet aberta. Dependendo do tipo de aplicação, o tipo de dados necessários irá variar. Se for um pedido de acreditação facial, Podemos até criar dados através da coleção de imagens de várias pessoas. Se as imagens forem obtidas na Internet aberta, podemos raspar as imagens da web.
Las imágenes capturadas deben ser de alta resoluçãoo "resolução" refere-se à capacidade de tomar decisões firmes e atingir metas estabelecidas. Em contextos pessoais e profissionais, Envolve a definição de metas claras e o desenvolvimento de um plano de ação para alcançá-las. A resolução é fundamental para o crescimento pessoal e o sucesso em várias áreas da vida, pois permite superar obstáculos e manter o foco no que realmente importa.... y pueden estar ligeramente distorsionadas. Pode haver uma certa quantidade de ruído presente nas imagens para que o algoritmo possa categorizar as imagens corretamente.
Exemplo de imagens de raspagem da web em uma página da Web –
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument(--ignore-certificate-errors')
options.add_argument("--tipo de teste")
options.binary_location = "/usr/bin/cromo"
motorista = webdriver. Cromar(chrome_options=opções)
motorista.obter('https://imgur.com/')
imagens = driver.find_elements_by_tag_name('img')
para imagem em imagens:
imprimir(image.get_attribute('src'))
motorista.close()
Preparação de dados
- As imagens precisam ser redimensionadas para que todas as imagens tenham o mesmo tamanho
- As imagens podem ser nítidas com alta resolução, bem como um pouco embaçado e barulhento.
- Operações de transformação como tradução, rotação e escala devem ser aplicadas de modo que as imagens capturadas estejam presentes em todos os ângulos.
- As imagens podem ser distorcidas ou cortadas para generalizar bem.
- Introduzir ruído nas imagens, caso não esteja presente
- Uma distribuição uniforme do número de imagens deve ser apresentada em cada uma das classes.
– Autor de Sapiens
Código para redimensionar uma imagem
img = cv2.imread('/home/img/python.png', cv2. IMREAD_UNCHANGED)
imprimir('Original Dimensions : ',img.shape)
scale_percent = 60
largura = int(img.shape[1] * scale_percent / 100)
altura = int(img.shape[0] * scale_percent / 100)
dim = (largura, altura)
# resize image
resized = cv2.resize(img, Ofuscar, interpolação = cv2.INTER_AREA)
Modelagem de dados
Una vez que se hayan obtenido todas las imágenes, colóquelas en la carpeta adecuada para cada una de las clases. Asegúrese de que haya una distribución adecuada de imágenes para el TreinamentoO treinamento é um processo sistemático projetado para melhorar as habilidades, Conhecimento ou habilidades físicas. É aplicado em várias áreas, como esporte, Educação e desenvolvimento profissional. Um programa de treinamento eficaz inclui planejamento de metas, prática regular e avaliação do progresso. A adaptação às necessidades individuais e a motivação são fatores-chave para alcançar resultados bem-sucedidos e sustentáveis em qualquer disciplina...., validação e teste de conjuntos de dados. Para a classificação e credenciamento de imagens teremos que utilizar redes neurais. A arquitetura de convolucional neuronal vermelhoRedes Neurais Convolucionais (CNN) são um tipo de arquitetura de rede neural projetada especialmente para processamento de dados com uma estrutura de grade, como fotos. Eles usam camadas de convolução para extrair recursos hierárquicos, o que os torna especialmente eficazes em tarefas de reconhecimento e classificação de padrões. Graças à sua capacidade de aprender com grandes volumes de dados, As CNNs revolucionaram campos como a visão computacional.. se adapta melhor a las imágenes cuando trabajan con matrices.
As redes neurais convolucionais possuem diferentes camadas que auxiliam nas operações matemáticas que são realizadas nas imagens. As camadas incluem a camada de convolução, camada de agrupamento, la capa de padronizaçãoA padronização é um processo fundamental em várias disciplinas, que busca estabelecer padrões e critérios uniformes para melhorar a qualidade e a eficiência. Em contextos como engenharia, Educação e administração, A padronização facilita a comparação, Interoperabilidade e compreensão mútua. Ao implementar normas, a coesão é promovida e os recursos são otimizados, que contribui para o desenvolvimento sustentável e a melhoria contínua dos processos.... por lotes, Funções de gatilho e camadas totalmente conectadas. O aprendizado de passagem oferece a capacidade de usar arquiteturas de modelo de rede pré-treinadas que funcionam bem com imagens de conjunto de dados padrão. Então comece escrevendo sua própria rede, mas você verá que as redes pré-treinadas proporcionarão um desempenho muito melhor.
Comece com alguns dos modelos básicos pré-treinados, como:
- VGG16
- Começar
- Xception
- MobileNet
- ResNet50
Você pode usar as bibliotecas Tensorflow ou Keras para usar esses modelos que apresentam suas implementações na biblioteca. Esto le facilitará changer los parametroso "parametros" são variáveis ou critérios usados para definir, medir ou avaliar um fenômeno ou sistema. Em vários domínios, como a estatística, Ciência da Computação e Pesquisa Científica, Os parâmetros são essenciais para estabelecer normas e padrões que orientam a análise e interpretação dos dados. Sua seleção e manuseio adequados são cruciais para obter resultados precisos e relevantes em qualquer estudo ou projeto.... de las diferentes capas de la arquitectura. Você pode evitar o ajuste de hiperparâmetros para aumentar o desempenho. Durante o treinamento dos modelos, certifique-se de salvar os valores dos coeficientes ou pesos do modelo. Esses valores que você salva podem ser usados para prever imagens futuras que você fornecerá ao seu aplicativo.
Código de modelo VGG16
image_size=224 from keras.applications import VGG16 from keras import models from keras import layers from keras import optimizers #Load the VGG model vgg_conv = VGG16(pesos ="imagenet", include_top=Falso, input_shape =(224, 224, 3)) para camada em vgg_conv.layers[:-4]: layer.trainable = False for layer in vgg_conv.layers: imprimir(camada, camada.trainable) modelo = modelos. Sequencial() # Add the vgg convolutional base model model.add(vgg_conv) # Add new layers model.add(Camadas. Achatar()) model.add(Camadas. Denso(1024, activation='relu')) model.add(Camadas. Abandono escolar(0.5)) model.add(Camadas. Denso(29, activation='softmax')) # Mostre um resumo do modelo. Check the number of trainable parameters model.summary()
A biblioteca Keras oferece uma maneira fácil de salvar coeficientes de modelo usando:
model.save('filename.h5')
Projete a interface do usuário
Assim que o modelo estiver pronto para uso, deve funcionar na interface do usuário. Se você estiver desenvolvendo um aplicativo Android, você pode projetar a interface do usuário com a ajuda de Kotlin ou Flutter. A interface do usuário deve ser fácil de ler e interpretar. Deve ser projetado de tal forma que atenda ao objetivo principal do aplicativo.
Se você estiver desenvolvendo um aplicativo da web, Flask ou Django podem ser usados para o mesmo propósito. A GUI pode ser projetada usando bibliotecas Python como Tkinter, etc.
Integrar interface de usuário e modelagem
Para aplicativos Android, O Flutter permite que você integre seus modelos de classificação com a ajuda de uma biblioteca chamada Tensorflow Lite. A implementação do Tensorflow Lite só precisa de dois arquivos para classificação de imagem, Em outras palavras, o arquivo de texto do rótulo da classe e o peso do modelo ou arquivo de coeficientes. Uma vez que esses dois arquivos são colocados na estrutura de pastas, o aplicativo Android estará completo e pronto para ser testado. O widget da câmera que é criado com Flutter pode ser usado para tirar a imagem de entrada.
Código para incluir os dois arquivos –
loadModel() assíncrono {
aguarde Tflite.loadModel(
modelo: "ativos / model_unquant.tflite",
rótulos: "ativos / etiquetas.txt",
);
}
Aqui, o arquivo .tflite é o arquivo de coeficientes que é criado a partir do modelo e tags.txt são os nomes das classes de imagem separados por uma nova linha. Incorpore isso na estrutura do Android.
Para aplicativos da web, O Flask permite que você integre a biblioteca Tensorflow e use os pesos do modelo para fazer o tipo correto de predição na imagem de entrada.
Seguindo este procedimento, passo a passo, você pode construir seu próprio modelo de classificação imediatamente.



