Índice analítico[Ocultar][Mostrar]
- Que é a clasificación de imaxes?
- Como funciona a clasificación de imaxes?
Clasificación de imaxes usando Tensorflow e Keras en Python+-
- 1. Requisitos de instalación
- 2. Importación de dependencias
- 3. Parámetros de inicialización
- 4. Cargando o conxunto de datos
- 5. Creación do modelo
- 6. Adestramento do modelo
- Proba o modelo
- 7. Importar as utilidades para probar
- 8. Facendo un directorio python
- 9. Cargando datos de proba e modelo
- 10. Avaliación e predición
- 11. Resultados
- Conclusión
É tranquilizador saber que conseguimos dotar aos robots das nosas habilidades innatas para aprender co exemplo e percibir o seu entorno. O reto fundamental é quen lles ensina aos ordenadores a "ver" como se os humanos necesitasen moito máis tempo e esforzo.
Non obstante, cando consideramos o valor práctico que esta habilidade proporciona actualmente ás organizacións e empresas, o esforzo paga a pena. Neste artigo, aprenderás sobre a clasificación de imaxes, como funciona e a súa implementación práctica. Imos comezar.
Que é a clasificación de imaxes?
O traballo de alimentar unha imaxe nun rede neural e que saia algunha forma de etiqueta para esa imaxe coñécese como recoñecemento de imaxe. A etiqueta de saída da rede corresponderá a unha clase predefinida.
Pode haber moitas clases asignadas á imaxe, ou simplemente unha. Cando só hai unha clase, úsase con frecuencia o termo "recoñecemento", mentres que cando hai varias clases, úsase con frecuencia o termo "clasificación".
Detección de obxectos é un subconxunto de clasificación de imaxes no que se detectan instancias particulares de obxectos como pertencentes a unha determinada clase, como animais, vehículos ou humanos.
Como funciona a clasificación de imaxes?
Unha imaxe en forma de píxeles é analizada por un ordenador. Conséguese tratando a imaxe como unha colección de matrices, cuxo tamaño está determinado pola resolución da imaxe. Simplemente falando, a clasificación de imaxes é o estudo de datos estatísticos utilizando algoritmos desde a perspectiva dunha computadora.
A clasificación de imaxes realízase no procesamento dixital de imaxes agrupando píxeles en grupos predeterminados ou "clases". Os algoritmos dividen a imaxe nunha sucesión de características destacables, o que reduce a carga para o clasificador final.
Estas calidades informan ao clasificador sobre o significado da imaxe e a clasificación potencial. Dado que o resto dos procesos na clasificación dunha imaxe dependen dela, o método de extracción característico é a fase máis crítica.
o datos proporcionados ao algoritmo tamén é crucial na clasificación de imaxes, especialmente na clasificación supervisada. En comparación cun conxunto de datos terrible cun desequilibrio de datos baseado na clase e baixa calidade de imaxe e anotación, un conxunto de datos de clasificación ben optimizado funciona de forma admirable.
Clasificación de imaxes usando Tensorflow e Keras en Python
Usaremos o CIFAR-10 conxunto de datos (que inclúe avións, avións, aves e outras 7 cousas).
1. Requisitos de instalación
O seguinte código instalará todos os requisitos previos.
2. Importación de dependencias
Fai un ficheiro train.py en Python. O seguinte código importará as dependencias de Tensorflow e Keras.
3. Parámetros de inicialización
CIFAR-10 inclúe só 10 categorías de imaxes, polo que o número de clases simplemente se refire ao número de categorías a clasificar.
4. Cargando o conxunto de datos
A función usa o módulo Tensorflow Datasets para cargar o conxunto de datos e establecemos con información como True para obter información sobre el. Podes imprimilo para ver cales son os campos e os seus valores, e usaremos a información para recuperar o número de mostras nos conxuntos de adestramento e proba.
5. Creación do modelo
Agora imos construír tres capas, cada unha composta por dúas ConvNets cunha función de agrupación máxima e activación de ReLU, seguidas dun sistema de 1024 unidades totalmente conectado. En comparación con ResNet50 ou Xception, que son modelos de última xeración, este pode ser un modelo comparativamente pequeno.
6. Adestramento do modelo
Usei Tensorboard para medir a precisión e a perda en cada época e proporcionarnos unha visualización encantadora despois de importar os datos e xerar o modelo. Executa o seguinte código; dependendo da túa CPU/GPU, o adestramento levará varios minutos.
Para usar tensorboard, escriba o seguinte comando no terminal ou no directorio actual:
Verás que a perda de validación está a reducirse e que a precisión está aumentando a un 81%. Iso é fantástico!
Proba o modelo
Cando remata o adestramento, o modelo final e os pesos gárdanse no cartafol de resultados, o que nos permite adestrar unha vez e facer predicións sempre que o elixamos. Siga o código nun novo ficheiro Python chamado test.py.
7. Importar as utilidades para probar
8. Facendo un directorio python
Fai un dicionario de Python que traduza cada valor enteiro á etiqueta apropiada do conxunto de datos:
9. Cargando datos de proba e modelo
O seguinte código cargará os datos e o modelo da proba.
10. Avaliación e predición
O seguinte código avaliará e fará predicións sobre as imaxes da ra.
11. Resultados
O modelo predixo a ra cunha precisión do 80.62%.
Conclusión
Está ben, rematamos con esta lección. Aínda que o 80.62 % non é bo para un pouco de CNN, recoméndoche encarecidamente que alteres o modelo ou consultes ResNet50, Xception ou outros modelos de vangarda para obter mellores resultados.
Agora que creaches a túa primeira rede de recoñecemento de imaxes en Keras, deberías probar co modelo para descubrir como os diferentes parámetros afectan o seu rendemento.
Deixe unha resposta