Modelos de Análise de Imagem Pré-treinados
O Vision fornece modelos de IA de análise de imagem pré-treinados que permitem encontrar e marcar objetos, texto e cenas inteiras em imagens.
Modelos pré-treinados permitem que você use IA sem experiência em ciência de dados. Forneça uma imagem ao serviço Vision e obtenha informações de volta sobre os objetos, textos, cenas e quaisquer rostos na imagem sem precisar criar seu próprio modelo.
Casos de Uso
Aqui estão vários casos de uso para modelos de análise de imagem pré-treinados.
- Gerenciamento de ativos digitais
- Marque imagens semelhantes a mídias digitais para melhor indexação e recuperação.
- Monitoramento de cenas
- Detecte se os itens estão nas prateleiras de varejo, a vegetação está crescendo na imagem de vigilância de uma linha de energia ou se os caminhões estão disponíveis em muito para entrega ou remessa.
- Detecção facial
-
- Privacidade: Esconda identidades adicionando um borrão à imagem usando as informações de localização do rosto retornadas por meio do recurso de detecção de rosto.
- Pré-requisito para Biometria: Use o escore de qualidade facial para decidir se um rosto é claro e desobstruído.
- Gerenciamento de ativos digitais: marque imagens com informações faciais para melhor indexação e recuperação.
Formatos Suportados
O Vision suporta vários formatos de análise de imagem.
- JPG
- PNG
Modelos Pré-treinados
O Vision tem quatro tipos de modelo de análise de imagem pré-treinado.
Detecção de Objeto
A detecção de objetos é usada para localizar e identificar objetos em uma imagem. Por exemplo, se você tiver uma imagem de uma sala de estar, o Vision encontrará os objetos lá, como uma cadeira, um sofá e uma TV. Em seguida, ele fornece caixas delimitadoras para cada um dos objetos e os identifica.
A visão fornece uma pontuação de confiança para cada objeto identificado. A pontuação de confiança é um número decimal. Pontuações mais próximas de 1 indicam maior confiança na classificação de objetos, enquanto pontuações mais baixas indicam menor pontuação de confiança. O intervalo da pontuação de confiança para cada rótulo é de 0 a 1.
- Rótulos
- Pontuação de confiança
- Polígonos delimitadores de objetos
- Solicitações únicas
- Solicitações em batch
Um exemplo de uso da Detecção de Objetos no Vision.
- Imagem de entrada
-
Imagem de entrada para Detecção de Objetos
- Saída:
-
Imagem de saída para Detecção de Objetos
{ "imageObjects":
[ { "name": "Bus",
"confidence": 0.98872757,
"boundingPolygon":
{ "normalizedVertices":
[ { "x": 0.232,
"y": 0.16114457831325302 },
{ "x": 0.407,
"y": 0.16114457831325302 },
{ "x": 0.407,
"y": 0.36596385542168675 },
{ "x": 0.232,
"y": 0.36596385542168675 } ]
} },
}, ... }
Classificação da Imagem
A classificação de imagem pode ser usada para identificar recursos e objetos baseados em cena em uma imagem. Você pode ter uma ou várias classificações, dependendo do caso de uso e do número de itens em uma imagem. Por exemplo, se você tiver uma imagem de uma pessoa correndo, o Vision identificará a pessoa, a roupa e o calçado.
A visão fornece uma pontuação de confiança para cada rótulo. A pontuação de confiança é um número decimal. Pontuações mais próximas de 1 indicam maior confiança no rótulo, enquanto pontuações mais baixas indicam menor pontuação de confiança. O intervalo da pontuação de confiança para cada rótulo é de 0 a 1.
- Rótulos
- Pontuação de confiança
- Classes de Ontologia
- Solicitações únicas
- Solicitações em batch
Um exemplo de uso de Classificação de imagem no Vision.
- Imagem de entrada
-
Imagem de entrada para Classificação de Imagem
- Saída:
- Resposta da API:
{ "labels": [ { "name": "Overhead power line", "confidence": 0.99315816 }, { "name": "Transmission tower", "confidence": 0.9927904 }, { "name": "Plant", "confidence": 0.9924676 }, { "name": "Sky", "confidence": 0.9924451 }, { "name": "Line", "confidence": 0.9912027 } ] ...
detecção facial
A visão pode detectar e reconhecer rostos em uma imagem.
A detecção de rosto permite que você passe uma imagem ou um lote de imagens para o Vision para detectar o seguinte usando um modelo pré-treinado:
- A existência de rostos em cada imagem.
- A localização das faces em cada imagem.
- Encare pontos de referência para cada rosto.
- Qualidade visual de cada face.
Nenhuma experiência em ciência de dados é necessária para usar esse modelo pré-treinado.
Um exemplo de detecção de rosto em Vision.
- Imagem de entrada
-
Imagem de entrada para solicitação de API
de detecção de rosto:
{ "compartmentId": "ocid1.compartment.oc1..aaaaaaaau3mwjanch4k54g45rizeqy52jcaxmiu4ii3kwy7hvn6pncs6yyba", "image": { "namespaceName": "axwlrwe7tbir", "bucketName": "demo_examples", "objectName": "FaceDetection/FaceDetection1.jpeg", "source": "OBJECT_STORAGE" }, "features": [ { "featureType": "FACE_DETECTION", "maxResults": 50, "shouldReturnLandmarks": true } ] }
- Saída:
-
Imagem de saída para detecção de rosto
{
"ontologyClasses": [],
"detectedFaces": [
{
"confidence": 0.9838427,
"boundingPolygon": {
"normalizedVertices": [
{
"x": 0.48696465492248536,
"y": 0.2889890061576746
},
{
"x": 0.6339863777160645,
"y": 0.2889890061576746
},
{
"x": 0.6339863777160645,
"y": 0.586297366400352
},
{
"x": 0.48696465492248536,
"y": 0.586297366400352
}
]
},
"qualityScore": 0.9043028,
"landmarks": [
{
"type": "LEFT_EYE",
"x": 0.5203125,
"y": 0.41114983
},
{
"type": "RIGHT_EYE",
"x": 0.590625,
"y": 0.41231126
},
{
"type": "NOSE_TIP",
"x": 0.553125,
"y": 0.4715447
},
{
"type": "LEFT_EDGE_OF_MOUTH",
"x": 0.5210937,
"y": 0.5005807
},
{
"type": "RIGHT_EDGE_OF_MOUTH",
"x": 0.5914062,
"y": 0.5017422
}
]
},
{
"confidence": 0.9775677,
"boundingPolygon": {
"normalizedVertices": [
{
"x": 0.7882407665252685,
"y": 0.26365977075734065
},
{
"x": 0.9403343200683594,
"y": 0.26365977075734065
},
{
"x": 0.9403343200683594,
"y": 0.5528718281567582
},
{
"x": 0.7882407665252685,
"y": 0.5528718281567582
}
]
},
"qualityScore": 0.786416,
"landmarks": [
{
"type": "LEFT_EYE",
"x": 0.81328124,
"y": 0.37514517
},
{
"type": "RIGHT_EYE",
"x": 0.88125,
"y": 0.39140534
},
{
"type": "NOSE_TIP",
"x": 0.8296875,
"y": 0.44134727
},
{
"type": "LEFT_EDGE_OF_MOUTH",
"x": 0.8078125,
"y": 0.46689895
},
{
"type": "RIGHT_EDGE_OF_MOUTH",
"x": 0.8726562,
"y": 0.48083624
}
]
},
{
"confidence": 0.97464997,
"boundingPolygon": {
"normalizedVertices": [
{
"x": 0.038544440269470216,
"y": 0.2764744597998784
},
{
"x": 0.17794162034988403,
"y": 0.2764744597998784
},
{
"x": 0.17794162034988403,
"y": 0.560027438173726
},
{
"x": 0.038544440269470216,
"y": 0.560027438173726
}
]
},
"qualityScore": 0.8527186,
"landmarks": [
{
"type": "LEFT_EYE",
"x": 0.08984375,
"y": 0.3809524
},
{
"type": "RIGHT_EYE",
"x": 0.15234375,
"y": 0.39140534
},
{
"type": "NOSE_TIP",
"x": 0.12421875,
"y": 0.44599304
},
{
"type": "LEFT_EDGE_OF_MOUTH",
"x": 0.07734375,
"y": 0.46689895
},
{
"type": "RIGHT_EDGE_OF_MOUTH",
"x": 0.14375,
"y": 0.47619048
}
]
},
{
"confidence": 0.96874785,
"boundingPolygon": {
"normalizedVertices": [
{
"x": 0.2698225736618042,
"y": 0.24420403492713777
},
{
"x": 0.38425185680389407,
"y": 0.24420403492713777
},
{
"x": 0.38425185680389407,
"y": 0.4686152760575457
},
{
"x": 0.2698225736618042,
"y": 0.4686152760575457
}
]
},
"qualityScore": 0.8934359,
"landmarks": [
{
"type": "LEFT_EYE",
"x": 0.29453126,
"y": 0.3240418
},
{
"type": "RIGHT_EYE",
"x": 0.3484375,
"y": 0.33681765
},
{
"type": "NOSE_TIP",
"x": 0.31328124,
"y": 0.3821138
},
{
"type": "LEFT_EDGE_OF_MOUTH",
"x": 0.2890625,
"y": 0.39372823
},
{
"type": "RIGHT_EDGE_OF_MOUTH",
"x": 0.3453125,
"y": 0.40301976
}
]
},
{
"confidence": 0.95825064,
"boundingPolygon": {
"normalizedVertices": [
{
"x": 0.6876011371612549,
"y": 0.10002164585942037
},
{
"x": 0.8045546531677246,
"y": 0.10002164585942037
},
{
"x": 0.8045546531677246,
"y": 0.3600864033804261
},
{
"x": 0.6876011371612549,
"y": 0.3600864033804261
}
]
},
"qualityScore": 0.9237982,
"landmarks": [
{
"type": "LEFT_EYE",
"x": 0.7171875,
"y": 0.19976771
},
{
"type": "RIGHT_EYE",
"x": 0.7703125,
"y": 0.21254355
},
{
"type": "NOSE_TIP",
"x": 0.7367188,
"y": 0.2601626
},
{
"type": "LEFT_EDGE_OF_MOUTH",
"x": 0.7085937,
"y": 0.2752613
},
{
"type": "RIGHT_EDGE_OF_MOUTH",
"x": 0.76640624,
"y": 0.2857143
}
]
}
],
"faceDetectionModelVersion": "1.0.27",
"errors": []
}
OCR (Optical Character Recognition)
O Vision pode detectar e reconhecer texto em um documento.
A classificação de idioma identifica o idioma de um documento, então o OCR desenha caixas delimitadoras em torno do texto impresso ou escrito à mão que encontra em uma imagem e digitaliza o texto. Por exemplo, se você tiver uma imagem de um sinal de interrupção, o Vision localizará o texto nessa imagem e extrairá o texto STOP
. Ele fornece caixas delimitadoras para o texto identificado.
A Vision fornece uma pontuação de confiança para cada agrupamento de texto. A pontuação de confiança é um número decimal. Pontuações mais próximas de 1 indicam maior confiança no texto extraído, enquanto pontuações mais baixas indicam menor pontuação de confiança. O intervalo da pontuação de confiança para cada rótulo é de 0 a 1.
A Detecção de Texto pode ser usada com modelos de AI de Documento ou Análise de Imagem.
O suporte ao OCR é limitado ao inglês. Se você souber que o texto em suas imagens está em inglês, defina o idioma como Eng
.
- Extração de palavra
- Extração de linha de texto
- Pontuação de confiança
- Polígonos delimitadores
- Solicitação única
- Solicitação em batch
Um exemplo de uso do OCR no Vision.
- Imagem de entrada
- Imagem de entrada para Solicitação de API do OCR
:
{ "analyzeImageDetails": { "compartmentId": "", "image": { "namespaceName": "", "bucketName": "", "objectName": "", "source": "OBJECT_STORAGE" }, "features": [ { "featureType": "TEXT_DETECTION" } ] } }
- Saída:
-
Imagem de Saída para OCR
...
{ "text": "585-XRP",
"confidence": 0.9905539,
"boundingPolygon":
{ "normalizedVertices":
[ { "x": 0.466,
"y": 0.7349397590361446 },
{ "x": 0.552,
"y": 0.7319277108433735 },
{ "x": 0.553,
"y": 0.7831325301204819 },
{ "x": 0.467,
"y": 0.7876506024096386 } ]
}
}
...
Usando os Modelos de Análise de Imagem Pré-treinados
A Vision fornece modelos pré-treinados para que os clientes extraiam insights sobre suas imagens sem precisar de Cientistas de Dados.
Você precisa do seguinte antes de usar um modelo pré-treinado:
-
Uma conta de tenancy paga no Oracle Cloud Infrastructure.
-
Familiaridade com o Oracle Cloud Infrastructure Object Storage.
Você pode chamar os modelos de Análise de Imagem pré-treinados como uma solicitação em lote usando APIs Rest, SDK ou CLI. Você pode chamar os modelos de Análise de Imagem pré-treinados como uma única solicitação usando a Console, APIs Rest, SDK ou CLI.
Consulte a seção Limites para obter informações sobre o que é permitido em solicitações de batch.