Cuando configuras los enriquecimientos de objetos, eliges qué modelos de aprendizaje automático analizan los objetos almacenados. Cada modelo evalúa las imágenes o los documentos PDF aptos y adjunta metadatos estructurados directamente a tus objetos de Cloud Storage.
En esta página, se describe cada modelo compatible, sus requisitos de elegibilidad y su esquema de salida para ayudarte a analizar y consultar los metadatos de enriquecimiento en BigQuery o a través de una API.
Relación entre los modelos y los enriquecimientos de objetos
Para activar los modelos, crea una configuración de atributos
(FeatureConfig) que especifique qué buckets
se deben analizar y qué modelos se deben ejecutar. Durante el procesamiento asíncrono,
Cloud Storage evalúa los objetos aptos con los modelos que elegiste
y genera metadatos JSON estructurados llamados
enriquecimientos de objetos.
Cada modelo produce una carga útil JSON dedicada que Cloud Storage adjunta directamente al objeto como un contexto de objeto administrado por Google en la propiedad contexts.custom. Una clave de contexto única con el prefijo
google:annotation: identifica cada carga útil.
Según tu flujo de trabajo, puedes consumir estos metadatos de dos maneras:
- Inspecciona objetos individuales: Recupera enriquecimientos para un objeto específico
con las APIs de objetos, como el método
viewFullContext(vista previa). - Analiza a gran escala: Consulta metadatos enriquecidos en todos los objetos de un bucket con los conjuntos de datos de Storage Insights y SQL estándar en BigQuery.
Detección de rostro
Usa el modelo face-detector para detectar rostros humanos en imágenes almacenadas. El modelo detecta polígonos de límite para cabezas completas y rostros individuales, y ubica 36 puntos de referencia faciales, como ojos, nariz y boca. También calcula los ángulos de orientación de la cabeza, como el balanceo, el paneo y la inclinación, y evalúa las probabilidades de expresión emocional.
Detalles del modelo
- Nombre del modelo:
face-detector - Clave de contexto:
google:annotation:face-detector-v1 - Objetos aptos: Objetos de imagen de 20 MiB o menos con un
Content-Typeadmitido deBMP,GIF,ICO,JPEG,PNG,TIFFoWEBP.
Esquema de salida
El resultado del modelo genera un objeto JSON que contiene modelName, modelVersion y un
faceAnnotationGroup con un array de faceAnnotations. Si falla la ejecución del modelo, el objeto JSON contiene un objeto error en lugar de faceAnnotationGroup.
| Campo | Tipo | Rango | Descripción |
|---|---|---|---|
modelName |
string |
N/A | Es el nombre del modelo de aprendizaje automático que generó este enriquecimiento. |
modelVersion |
string |
N/A | Es la versión del modelo de aprendizaje automático que generó este enriquecimiento. |
faceAnnotationGroup |
object |
N/A | Es el objeto contenedor de nivel superior para los enriquecimientos de detección de rostros. Está presente cuando la ejecución del modelo se realiza correctamente. |
faceAnnotationGroup.faceAnnotations[] |
array |
N/A | Es una lista de los rostros detectados en la imagen. |
faceAnnotationGroup.faceAnnotations[].boundingPoly |
object |
N/A | El BoundingPoly que encierra toda la cabeza y el rostro, ajustado a las dimensiones de la imagen original. |
faceAnnotationGroup.faceAnnotations[].faceDetectionBoundingPoly |
object |
N/A | El BoundingPoly para la detección de rostros. Más ajustado que boundingPoly, ya que solo incluye la piel y los rasgos faciales visibles. |
faceAnnotationGroup.faceAnnotations[].landmarks[] |
array |
N/A | Es una lista de objetos FaceLandmark detectados que representan rasgos faciales específicos. |
faceAnnotationGroup.faceAnnotations[].rollAngle |
number |
De -180 a 180 |
Es la rotación del rostro en el sentido de las manecillas del reloj o en el sentido contrario a las manecillas del reloj, en grados. |
faceAnnotationGroup.faceAnnotations[].panAngle |
number |
De -180 a 180 |
Ángulo horizontal hacia el que apunta el rostro, en grados. |
faceAnnotationGroup.faceAnnotations[].tiltAngle |
number |
De -180 a 180 |
Es el ángulo de inclinación vertical en el que el rostro apunta hacia arriba o hacia abajo, en grados. |
faceAnnotationGroup.faceAnnotations[].detectionConfidence |
number |
0 a 1 (0% a 100%) |
Es la puntuación de confianza para la detección general de rostros. |
faceAnnotationGroup.faceAnnotations[].landmarkingConfidence |
number |
De 0 a 1 (del 0% al 100%) |
Es la puntuación de confianza para el posicionamiento de los puntos de referencia faciales. |
faceAnnotationGroup.faceAnnotations[].joyProbability |
number |
De 0 a 1 (del 0% al 100%) |
Es la probabilidad de que el rostro exprese alegría. |
faceAnnotationGroup.faceAnnotations[].sorrowProbability |
number |
De 0 a 1 (del 0% al 100%) |
Es la probabilidad de que el rostro exprese tristeza. |
faceAnnotationGroup.faceAnnotations[].angerProbability |
number |
De 0 a 1 (del 0% al 100%) |
Es la probabilidad de que el rostro exprese enojo. |
faceAnnotationGroup.faceAnnotations[].surpriseProbability |
number |
De 0 a 1 (del 0% al 100%) |
Es la probabilidad de que el rostro exprese sorpresa. |
faceAnnotationGroup.faceAnnotations[].underExposedProbability |
number |
0 a 1 (0% a 100%) |
Es la probabilidad de que el rostro de la imagen esté subexpuesto. |
faceAnnotationGroup.faceAnnotations[].blurredProbability |
number |
0 a 1 (0% a 100%) |
Es la probabilidad de que el rostro de la imagen esté desenfocado. |
faceAnnotationGroup.faceAnnotations[].headwearProbability |
number |
0 a 1 (0% a 100%) |
Es la probabilidad de que la persona use un accesorio para la cabeza, como un sombrero o una gorra. |
error |
object |
N/A | Es un objeto google.rpc.Status que contiene code y message. Se propaga solo cuando falla la ejecución del modelo. |
BoundingPoly
El objeto BoundingPoly representa un polígono delimitador que encierra un atributo de imagen detectado.
| Campo | Tipo | Rango | Descripción |
|---|---|---|---|
vertices[] |
array |
N/A | Coordenadas de polígono de límite con objetos Vertex de píxeles absolutos. |
normalizedVertices[] |
array |
N/A | Coordenadas del polígono delimitador que usan objetos NormalizedVertex relativos, ajustados de 0 a 1. |
Vertex
El objeto Vertex representa un punto de coordenadas 2D ajustado a las dimensiones de la imagen original.
| Campo | Tipo | Rango | Descripción |
|---|---|---|---|
x |
integer |
0 o más |
Coordenada X horizontal, en píxeles desde el borde izquierdo. |
y |
integer |
0 o superior |
Coordenada Y vertical, en píxeles desde el borde superior. |
NormalizedVertex
El objeto NormalizedVertex representa un punto de coordenadas 2D expresado como una proporción relativa a las dimensiones originales de la imagen.
| Campo | Tipo | Rango | Descripción |
|---|---|---|---|
x |
number |
De 0 a 1 |
Coordenada X horizontal relativa al ancho de la imagen, donde 0.0 es el borde izquierdo y 1.0 es el borde derecho. |
y |
number |
De 0 a 1 |
Es la coordenada Y vertical relativa a la altura de la imagen, en la que 0.0 es el borde superior y 1.0 es el borde inferior. |
FaceLandmark
El objeto FaceLandmark representa un punto de referencia facial específico detectado en un
rostro.
| Campo | Tipo | Rango | Descripción |
|---|---|---|---|
type |
enum |
Consulta Tipo de punto de referencia. | Es el punto de referencia facial específico que se detectó. |
position |
object |
N/A | El Position en 3D del punto de referencia. |
Tipo de punto de referencia
El modelo reconoce 36 puntos faciales específicos:
TYPE_UNSPECIFIEDLEFT_EYERIGHT_EYELEFT_OF_LEFT_EYEBROWRIGHT_OF_LEFT_EYEBROWLEFT_OF_RIGHT_EYEBROWRIGHT_OF_RIGHT_EYEBROWMIDPOINT_BETWEEN_EYESNOSE_TIPUPPER_LIPLOWER_LIPMOUTH_LEFTMOUTH_RIGHTMOUTH_CENTERNOSE_BOTTOM_RIGHTNOSE_BOTTOM_LEFTNOSE_BOTTOM_CENTERLEFT_EYE_TOP_BOUNDARYLEFT_EYE_RIGHT_CORNERLEFT_EYE_BOTTOM_BOUNDARYLEFT_EYE_LEFT_CORNERRIGHT_EYE_TOP_BOUNDARYRIGHT_EYE_RIGHT_CORNERRIGHT_EYE_BOTTOM_BOUNDARYRIGHT_EYE_LEFT_CORNERLEFT_EYEBROW_UPPER_MIDPOINTRIGHT_EYEBROW_UPPER_MIDPOINTLEFT_EAR_TRAGIONRIGHT_EAR_TRAGIONLEFT_EYE_PUPILRIGHT_EYE_PUPILFOREHEAD_GLABELLACHIN_GNATHIONCHIN_LEFT_GONIONCHIN_RIGHT_GONIONLEFT_CHEEK_CENTERRIGHT_CHEEK_CENTER
Posición
El objeto Position representa las coordenadas 3D de un punto de referencia facial.
| Campo | Tipo | Rango | Descripción |
|---|---|---|---|
x |
number |
N/A | Es la coordenada X horizontal. |
y |
number |
N/A | Es la coordenada Y vertical. |
z |
number |
N/A | Coordenada de profundidad relativa al plano de la cara, en la que los valores más pequeños están más cerca de la cámara. |
Ejemplo de resultado
{
"modelName": "face-detector",
"modelVersion": "v1",
"faceAnnotationGroup": {
"faceAnnotations": [
{
"boundingPoly": {
"vertices": [
{ "x": 1079, "y": 148 },
{ "x": 2152, "y": 148 },
{ "x": 2152, "y": 1396 },
{ "x": 1079, "y": 1396 }
],
"normalizedVertices": [
{ "x": 0.35, "y": 0.12 },
{ "x": 0.70, "y": 0.12 },
{ "x": 0.70, "y": 0.95 },
{ "x": 0.35, "y": 0.95 }
]
},
"faceDetectionBoundingPoly": {
"vertices": [
{ "x": 1190, "y": 427 },
{ "x": 2037, "y": 427 },
{ "x": 2037, "y": 1285 },
{ "x": 1190, "y": 1285 }
]
},
"landmarks": [
{
"type": "LEFT_EYE",
"position": { "x": 1368.8, "y": 737.6, "z": 0.0016 }
},
{
"type": "RIGHT_EYE",
"position": { "x": 1659.2, "y": 755.1, "z": -116.4 }
}
],
"rollAngle": 1.959,
"panAngle": -21.954,
"tiltAngle": -2.267,
"detectionConfidence": 0.98,
"landmarkingConfidence": 0.61,
"joyProbability": 0.18,
"headwearProbability": 0.80
}
]
}
}
Detección de objetos
Usa el modelo object-detector para detectar varios objetos distintos y hacerles un seguimiento en una imagen. Para cada objeto identificado, el modelo proporciona un nombre de entidad, un ID de entidad del Gráfico de conocimiento (knowledgeGraphId), una puntuación de confianza y coordenadas de límite.
Detalles del modelo
- Nombre del modelo:
object-detector - Clave de contexto:
google:annotation:object-detector-v1 - Objetos aptos: Objetos de imagen de 20 MiB o menos con un
Content-Typeadmitido deBMP,GIF,ICO,JPEG,PNG,TIFFoWEBP.
Esquema de salida
El resultado del modelo genera un objeto JSON que contiene modelName, modelVersion y un
objectAnnotationGroup con un array de objectAnnotations. Si la ejecución del modelo
falla, el objeto JSON contiene un objeto error en lugar de
objectAnnotationGroup.
| Campo | Tipo | Rango | Descripción |
|---|---|---|---|
modelName |
string |
N/A | Es el nombre del modelo de aprendizaje automático que generó este enriquecimiento. |
modelVersion |
string |
N/A | Es la versión del modelo de aprendizaje automático que generó este enriquecimiento. |
objectAnnotationGroup |
object |
N/A | Es el objeto contenedor de nivel superior para los enriquecimientos de detección de objetos. Está presente cuando la ejecución del modelo se realiza correctamente. |
objectAnnotationGroup.objectAnnotations[] |
array |
N/A | Es una lista de los objetos detectados en la imagen. |
objectAnnotationGroup.objectAnnotations[].knowledgeGraphId |
string |
N/A | Es el ID de entidad del Gráfico de conocimiento de Google para el objeto detectado. |
objectAnnotationGroup.objectAnnotations[].name |
string |
N/A | Es el nombre o la etiqueta del objeto detectado, como "Person" o "Chair". |
objectAnnotationGroup.objectAnnotations[].score |
number |
0 a 1 (0% a 100%) |
Es la puntuación de confianza para la detección de objetos. |
objectAnnotationGroup.objectAnnotations[].boundingPoly |
object |
N/A | El BoundingPoly alrededor del objeto, que contiene coordenadas de píxeles (vertices) y coordenadas normalizadas (normalizedVertices). |
error |
object |
N/A | Es un objeto google.rpc.Status que contiene code y message. Se propaga solo cuando falla la ejecución del modelo. |
Resultado de ejemplo
{
"modelName": "object-detector",
"modelVersion": "v1",
"objectAnnotationGroup": {
"objectAnnotations": [
{
"knowledgeGraphId": "/m/01g317",
"name": "Person",
"score": 0.89,
"boundingPoly": {
"normalizedVertices": [
{ "x": 0.1, "y": 0.15 },
{ "x": 0.2, "y": 0.15 },
{ "x": 0.2, "y": 0.3 },
{ "x": 0.1, "y": 0.3 }
]
}
}
]
}
}
Etiquetado de imágenes general
Usa el modelo label-detector para generar etiquetas descriptivas, palabras clave y categorías semánticas amplias para las imágenes. El modelo identifica entidades, paisajes, actividades y ubicaciones generales, como Landscape, Urban o Night, lo que permite que tus recursos visuales se puedan buscar y catalogar.
Detalles del modelo
- Nombre del modelo:
label-detector - Clave de contexto:
google:annotation:label-detector-v1 - Objetos aptos: Objetos de imagen de 20 MiB o menos con un
Content-Typeadmitido deBMP,GIF,ICO,JPEG,PNG,TIFFoWEBP.
Esquema de salida
El resultado del modelo genera un objeto JSON que contiene modelName, modelVersion y un labelAnnotationGroup con un array de labelAnnotations. Si la ejecución del modelo
falla, el objeto JSON contiene un objeto error en lugar de
labelAnnotationGroup.
| Campo | Tipo | Rango | Descripción |
|---|---|---|---|
modelName |
string |
N/A | Es el nombre del modelo de aprendizaje automático que generó este enriquecimiento. |
modelVersion |
string |
N/A | Es la versión del modelo de aprendizaje automático que generó este enriquecimiento. |
labelAnnotationGroup |
object |
N/A | Es el objeto contenedor de nivel superior para los enriquecimientos de etiquetas de imagen. Está presente cuando la ejecución del modelo se realiza correctamente. |
labelAnnotationGroup.labelAnnotations[] |
array |
N/A | Es una lista de las etiquetas y categorías detectadas. |
labelAnnotationGroup.labelAnnotations[].knowledgeGraphId |
string |
N/A | Es el ID de entidad del Gráfico de conocimiento de Google para la etiqueta. |
labelAnnotationGroup.labelAnnotations[].description |
string |
N/A | Es la descripción textual o el nombre de la etiqueta de la entidad detectada. |
labelAnnotationGroup.labelAnnotations[].score |
number |
De 0 a 1 (del 0% al 100%) |
Es la puntuación de confianza de la etiqueta. |
labelAnnotationGroup.labelAnnotations[].topicality |
number |
De 0 a 1 (del 0% al 100%) |
Es la relevancia de la etiqueta para el tema principal de la imagen, en la que las puntuaciones más altas indican una mayor importancia. |
error |
object |
N/A | Es un objeto google.rpc.Status que contiene code y message. Se propaga solo cuando falla la ejecución del modelo. |
Ejemplo de resultado
{
"modelName": "label-detector",
"modelVersion": "v1",
"labelAnnotationGroup": {
"labelAnnotations": [
{
"knowledgeGraphId": "/m/01d74z",
"description": "Night",
"score": 0.92,
"topicality": 0.19
}
]
}
}
Detección de contenido explícito
Usa el modelo content-safety para analizar las imágenes subidas en busca de contenido sensible,
explícito o inapropiado. El modelo evalúa las imágenes en función de las políticas de seguridad de Google. Evalúa la probabilidad de que haya material para adultos, violento o de otro tipo sensible para ayudarte a automatizar los flujos de trabajo de moderación de contenido.
Detalles del modelo
- Nombre del modelo:
content-safety - Clave de contexto:
google:annotation:content-safety-v1 - Objetos aptos: Objetos de imagen de 20 MiB o menos con un
Content-Typeadmitido deBMP,GIF,ICO,JPEG,PNG,TIFFoWEBP.
Esquema de salida
El resultado del modelo genera un objeto JSON que contiene modelName, modelVersion y un objeto contentSafetyAnnotation con calificaciones de probabilidad. Si la ejecución del modelo
falla, el objeto JSON contiene un objeto error en lugar de
contentSafetyAnnotation.
| Campo | Tipo | Valores / rango | Descripción |
|---|---|---|---|
modelName |
string |
N/A | Es el nombre del modelo de aprendizaje automático que generó este enriquecimiento. |
modelVersion |
string |
N/A | Es la versión del modelo de aprendizaje automático que generó este enriquecimiento. |
contentSafetyAnnotation |
object |
N/A | Es el objeto contenedor de nivel superior para los resultados del análisis de contenido. Se presenta cuando la ejecución del modelo se realiza correctamente. |
contentSafetyAnnotation.adultContentLikelihood |
string |
VERY_UNLIKELY, UNLIKELY, POSSIBLE, LIKELY, VERY_LIKELY |
Es la probabilidad de que la imagen incluya contenido para adultos. |
contentSafetyAnnotation.violentContentLikelihood |
string |
VERY_UNLIKELY, UNLIKELY, POSSIBLE, LIKELY, VERY_LIKELY |
Es la probabilidad de que la imagen represente violencia. |
error |
object |
N/A | Es un objeto google.rpc.Status que contiene code y message. Se propaga solo cuando falla la ejecución del modelo. |
Ejemplo de resultado
{
"modelName": "content-safety",
"modelVersion": "v1",
"contentSafetyAnnotation": {
"adultContentLikelihood": "VERY_UNLIKELY",
"violentContentLikelihood": "UNLIKELY"
}
}
Clasificación de PDFs
Usa el modelo pdf-classification para categorizar automáticamente documentos PDF según su estructura visual y textual. El modelo asigna categorías jerárquicas estandarizadas para empresas, industrias y temas. Estas categorías te ayudan a organizar grandes colecciones de documentos, fundamentar la recuperación de la IA generativa y enrutar documentos a flujos de trabajo posteriores.
Detalles del modelo
- Nombre del modelo:
pdf-classification - Clave de contexto:
google:annotation:pdf-classification-v1 - Objetos aptos: Objetos de documentos PDF de 20 MiB o menos con un
Content-Typedeapplication/pdf.
Esquema de salida
El resultado del modelo genera un objeto JSON que contiene modelName, modelVersion y un pdfClassificationCategoryList con un array de categories clasificados. Si
la ejecución del modelo falla, el objeto JSON contiene un objeto error en lugar de
pdfClassificationCategoryList.
| Campo | Tipo | Rango | Descripción |
|---|---|---|---|
modelName |
string |
N/A | Es el nombre del modelo de aprendizaje automático que generó este enriquecimiento. |
modelVersion |
string |
N/A | Es la versión del modelo de aprendizaje automático que generó este enriquecimiento. |
pdfClassificationCategoryList |
object |
N/A | Es el objeto contenedor de nivel superior para los resultados de la clasificación de PDF. Está presente cuando la ejecución del modelo se realiza correctamente. |
pdfClassificationCategoryList.categories[] |
array |
N/A | Es una lista de categorías de clasificación detectadas. |
pdfClassificationCategoryList.categories[].label |
string |
Consulta las categorías de clasificación de PDF | Es la ruta de categoría jerárquica, como "/Finance/Accounting & Auditing/Tax Preparation & Planning". |
pdfClassificationCategoryList.categories[].score |
number |
De 0 a 1 (del 0% al 100%) |
Es la puntuación de confianza de la categoría asignada. |
error |
object |
N/A | Es un objeto google.rpc.Status que contiene code y message. Se propaga solo cuando falla la ejecución del modelo. |
Categorías admitidas
El modelo pdf-classification asigna categorías de contenido jerárquicas estandarizadas
a los documentos PDF.
Las categorías se estructuran de forma jerárquica con barras diagonales (/) que separan la profundidad de la categoría. Comienzan con una vertical amplia de nivel superior y se reducen a subcategorías específicas:
- Verticales de nivel superior: Son dominios de temas amplios, como
/Finance,/Law & Governmento/Computers & Electronics. - Subcategorías: Son temas específicos dentro de una vertical, como
/Finance/Accounting & Auditing/Tax Preparation & Planning. - Subcategorías
/Other: Son categorías para el contenido que se alinea con la categoría superior, pero que no se ajusta a ninguna subcategoría secundaria específica.
Si un documento abarca varios temas distintos, el modelo puede asignar varias categorías de alta confianza a un solo objeto PDF.
Categorías de nivel superior
El modelo clasifica los documentos PDF en 27 categorías de nivel superior:
/Adult/Arts & Entertainment/Autos & Vehicles/Beauty & Fitness/Books & Literature/Business & Industrial/Computers & Electronics/Finance/Food & Drink/Games/Health/Hobbies & Leisure/Home & Garden/Internet & Telecom/Jobs & Education/Law & Government/News/Online Communities/People & Society/Pets & Animals/Real Estate/Reference/Science/Sensitive Subjects/Shopping/Sports/Travel & Transportation
Las subcategorías siguen la ruta jerárquica /Top-Level-Vertical/Subcategory,
con niveles más profundos opcionales, en estas categorías de nivel superior. Para obtener la lista completa
de todas las rutas de categorías admitidas, consulta
Categorías de clasificación de PDF.
Resultado de ejemplo
{
"modelName": "pdf-classification",
"modelVersion": "v1",
"pdfClassificationCategoryList": {
"categories": [
{
"label": "/Finance/Accounting & Auditing/Tax Preparation & Planning",
"score": 0.85
},
{
"label": "/Business & Industrial/Printing & Publishing/Document & Printing Services",
"score": 0.25
}
]
}
}
¿Qué sigue?
- Obtén más información sobre los enriquecimientos de objetos.
- Configura los enriquecimientos de objetos.
- Administra los enriquecimientos de objetos.
- Analiza los enriquecimientos de objetos en BigQuery.
- Revisa el recurso de la API de JSON
featureConfigs. - Soluciona problemas relacionados con el enriquecimiento de objetos.