Я обучил многоклассовой модели обнаружения объектов в Google Cloud AutoML. Я загрузил свою собственную модель из Контейнер экспорта. Чем я развернул его на Docker с изображением Google Cloud AutoML docker. И я отправил запрос с этим кодом:
import base64
import io
import json
import requests
def process(image_file_path, image_key="1", port_number=8501):
with io.open(image_file_path, 'rb') as image_file:
encoded_image = base64.b64encode(image_file.read()).decode('utf-8')
instances = {
"instances": [
{
"image_bytes": {
"b64": str(encoded_image)
},
"key": image_key
}
]
}
url = 'http://localhost:{}/v1/models/default:predict'.format(port_number)
response = requests.post(url, data=json.dumps(instances))
return response.json()
Я успешно получил ответ от docker в формате json:
{
"predictions": [{
"detection_multiclass_scores": [
[0.00540795922, 0.99754715],
...
],
"detection_classes": [1.0, ...],
"num_detections": 40.0,
"image_info": [320, 320, 1, 0, 320, 320],
"detection_boxes": [
[0.0382162929, 0.0984618068, 0.746192276, 0.991413414],
...
],
"detection_scores": [0.99754715, ...],
"detection_classes_as_text": ["image_class", ...],
"key": "1"
}]
}
На данный момент, Я хочу знать, где обнаружен ограничивающий прямоугольник на изображении. Я знаю, что должен получить эту информацию с detection_boxes
, но мне нужно преобразовать ее в значения px. Потому что я снова обработаю ограничивающие рамки.
Каков шаблон detection_boxes
?