Cree un identificador de objeto en tiempo real con OCI Vision y Oracle Autonomous Database
Descubra cómo crear un modelo de visión en tiempo real que identifique objetos mediante Oracle Cloud Infrastructure (OCI) Vision, Oracle Functions, API Gateway y Oracle Autonomous Database (ADB). Esta arquitectura de referencia describe cómo puede integrar un modelo entrenado por OCI Vision con una aplicación web de front-end para realizar la identificación de objetos en tiempo real con una cámara de teléfono móvil.
Arquitectura
OCI Vision es un servicio de inteligencia artificial (IA) para realizar análisis de imágenes basados en el aprendizaje profundo a gran escala. Con los modelos predefinidos disponibles, los desarrolladores pueden crear rápidamente reconocimiento de imágenes en sus aplicaciones sin experiencia en aprendizaje automático.
Los modelos de visión utilizan la inteligencia artificial para permitir que las computadoras obtengan información de las imágenes. Esta arquitectura utiliza un script de terraform para crear una aplicación web que utiliza el modelo OCI Vision para realizar la identificación de objetos en tiempo real mediante una cámara de teléfono móvil.
Esta arquitectura incluye una aplicación web opcional que los desarrolladores pueden utilizar para realizar la identificación de objetos en tiempo real. Una vez finalizada la configuración de la aplicación web, los usuarios pueden abrir la aplicación web en sus teléfonos móviles, activar la cámara y tomar una instantánea. La aplicación analiza imágenes y devuelve detalles de imágenes.
Se envía una solicitud a la función sin servidor para llamar al servicio OCI Vision y a la base de datos (mediante el SDK de OCI de python). A continuación, el servicio de visión devuelve una lista de etiquetas con una puntuación de confianza y la base de datos ayuda a guardar los detalles en la lista de etiquetas disponibles. El servicio de función es útil en escenarios en los que no es necesario tener un servicio activo todo el tiempo o cuando hay restricciones sueltas en el tiempo de respuesta (porque el servicio de función requiere tiempo de calentamiento). Sin embargo, la ventaja es que solo se le cobra por el tiempo de cálculo que la función tiene activa, por lo que puede ser muy rentable.
Puede utilizar la arquitectura tal y como está con la aplicación web para realizar pruebas rápidas y utilizar todos los recursos disponibles en el repositorio. También puede que desee incorporar el modelo de visión a su propio inquilino, modificar el script para eliminar la arquitectura propuesta de front-end (equilibrador de carga y servidores web) y utilizar API Gateway para llamar a la función cuando sea necesaria desde sus propios servicios de backend.
El servicio de visión se puede utilizar para la clasificación de imágenes, la detección de objetos y el análisis de documentos. El servicio de visión contiene modelos previamente entrenados para fines generales, pero también se puede utilizar con el servicio de etiquetado de datos para crear modelos personalizados para datos específicos que tenga. El script terraform proporciona acceso para crear una arquitectura general para utilizar el servicio de visión.
En el siguiente diagrama se ilustra esta arquitectura de referencia.
aivision-en tiempo real-deployment.zip
La arquitectura tiene los siguientes componentes:
- Región
Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes de otras regiones y grandes distancias pueden separarlas (entre países e incluso continentes).
- Dominios de disponibilidad
Los dominios de disponibilidad son centros de datos independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten una infraestructura como la alimentación o la refrigeración, ni la red interna del dominio de disponibilidad. Por tanto, es poco probable que un fallo en un dominio de disponibilidad afecte a los otros dominios de este tipo en la región.
- Dominios de errores
Un dominio de errores es una agrupación de hardware e infraestructura dentro de un dominio de disponibilidad. Cada dominio de disponibilidad tiene tres dominios de errores, con hardware y energía independientes. Al distribuir recursos entre varios dominios de errores, las aplicaciones pueden tolerar fallos físicos del servidor, mantenimiento del sistema y fallos de alimentación dentro de un dominio de errores.
- Red virtual en la nube (VCN) y subredes
Una VCN es una red personalizable y definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes de centros de datos tradicionales, las VCN le proporcionan un control total de su entorno de red. Una VCN puede tener varios bloques CIDR que no se superpongan y que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, cuyo ámbito puede ser una región o un dominio de disponibilidad. Cada subred está formada por un rango de direcciones contiguas que no se solapan con las demás subredes de la VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.
- Gateway de internet
El gateway de Internet permite el tráfico entre las subredes públicas de una VCN y la red pública de Internet.
- Gateway de traducción de direcciones de red (NAT)
Un gateway de NAT permite que los recursos privados en una VCN accedan a hosts en Internet, sin exponerlos a conexiones de Internet entrantes.
- equilibrador de carga
El servicio Oracle Cloud Infrastructure Load Balancing proporciona una distribución automatizada del tráfico desde un único punto de entrada a varios servidores en el backend.
- Tabla de ruta
Las tablas de rutas virtuales contienen reglas para enrutar el tráfico desde subredes a destinos fuera de una VCN, normalmente a través de gateways.
- Gateway de API
Oracle API Gateway le permite publicar API con puntos finales privados accesibles desde la red y que se pueden exponer a la red pública de Internet si es necesario. Los puntos finales soportan la validación de API, la transformación de solicitud y respuesta, CORS, la autenticación y autorización, y la limitación de solicitudes.
- Autonomous Database
Oracle Cloud Infrastructure Autonomous Database es un entorno de base de datos totalmente gestionado y preconfigurado que puede utilizar para cargas de trabajo de procesamiento de transacciones y almacenamiento de datos. No necesita configurar ni gestionar ningún hardware, ni instalar ningún software. Oracle Cloud Infrastructure gestiona la creación de la base de datos, así como la copia de seguridad, la aplicación de parches, la actualización y el ajuste de la base de datos.
- Funciones
Oracle Functions es una plataforma de funciones como servicio (FaaS) totalmente gestionada, multitenant y altamente escalable. Se basa en el motor de origen abierto Fn Project. Las funciones permiten desplegar el código y llamarlo directamente o dispararlo en respuesta a eventos. Oracle Functions utiliza contenedores de Docker alojados en Oracle Cloud Infrastructure Registry.
- Object Storage
El almacenamiento de objetos proporciona acceso rápido a grandes cantidades de datos estructurados y no estructurados de cualquier tipo de contenido, incluidas copias de seguridad de bases de datos, datos analíticos y contenido enriquecido, como imágenes y vídeos. Puede almacenar datos de forma segura y, a continuación, recuperarlos directamente desde Internet o desde la plataforma en la nube. Puede ampliar el almacenamiento sin problemas sin que se vea afectado el rendimiento o la fiabilidad del servicio. Utilice el almacenamiento estándar para el almacenamiento "activo" al que necesita acceder de forma rápida, inmediata y frecuente. Utilice el almacenamiento de archivos para el almacenamiento "en frío" que conserva durante largos períodos de tiempo y al que rara vez se accede.
- Vault
Oracle Cloud Infrastructure Vault permite gestionar de forma centralizada las claves de cifrado que protegen los datos y las credenciales secretas que utiliza para proteger el acceso a los recursos en la nube.
- Visión
Oracle Cloud Infrastructure Vision es un servicio de IA para realizar análisis de imágenes basados en el aprendizaje exhaustivo a escala. Con los modelos predefinidos disponibles listos para usar, los desarrolladores pueden crear fácilmente reconocimiento de imágenes y reconocimiento de texto en sus aplicaciones sin experiencia en aprendizaje automático (ML).
- Etiquetado de datos de OCI
El servicio de etiquetado de datos de OCI es un servicio nativo del programa que permite a los clientes crear y examinar juegos de datos, ver registros de datos (texto, imágenes) y aplicar etiquetas con fines de creación de modelos de IA/AA. El servicio también proporciona interfaces de usuario interactivas diseñadas para ayudar en el proceso de etiquetado. Los desarrolladores pueden cargar imágenes sin procesar, agregar etiquetas y resaltar áreas de imágenes. Al agregar estas etiquetas a las imágenes, los juegos de datos resultantes se pueden utilizar para entrenar modelos personalizados de clasificación de imágenes y detección de objetos.
Una vez etiquetados los registros, el conjunto de datos se puede exportar como JSON delimitado por líneas para su uso en el desarrollo de modelos de IA/AA. También se puede acceder a OCI Data Labeling directamente desde otros servicios, como OCI Vision y OCI Language, como parte de un flujo de trabajo de entrenamiento de modelo personalizado. Los científicos de datos que prefieren crear y entrenar sus propios modelos de procesamiento de lenguaje natural o aprendizaje profundo pueden consumir el conjunto de datos etiquetado a través de OCI Data Science.
Despliegue
El código necesario para desplegar esta arquitectura de referencia está disponible en GitHub. Puede descargar el código de GitHub en su computadora, personalizar el código y desplegar la arquitectura mediante la CLI de Terraform.
- Vaya a GitHub.
- Clone o descargue el repositorio en la computadora local.
- Siga las instrucciones del documento
README
.
Explorar más
Revise los siguientes recursos para obtener más información sobre OCI Vision y Oracle Autonomous Database.
- Utilice OCI Vision para extraer datos de imágenes y documentos escaneados
- Blog: Anuncio del servicio OCI Vision
- Documentación de OCI Vision
- Introducción al taller de OCI Vision
- Sitio web de OCI Vision
- Marco de mejores prácticas para Oracle Cloud Infrastructure
- Documentación de Oracle Cloud Infrastructure
- Estimador de costos de Oracle Cloud