Google Clous Vision API возвращает пустой при вызове object_localization, в то время как label_detection обнаруживает много - PullRequest
0 голосов
/ 11 мая 2019

Я сталкивался с несколькими случаями, когда вызов object_localization в API Google Vision возвращает пустое значение, тогда как ячейка для label_detection с тем же изображением возвращает много объектов с высоким уровнем достоверности.

Пример:

Это изображение из Google Street View

enter image description here

API может идентифицировать рекламный щит с высокой степенью достоверности

from google.cloud import vision

path = '***'
credentials = '****'
client = vision.ImageAnnotatorClient(credentials=credentials)
image_file = io.open(path, 'rb')
content = image_file.read()
image = types.Image(content=content)

# Label detection API call
response = client.label_detection(image=image)
labels = response.label_annotations
for label in labels:
    print("%s, %.4f" % (label.description, label.score))
Billboard, 0.9892
Advertising, 0.9786
Display advertising, 0.7132
Signage, 0.6700
Banner, 0.5565
Road, 0.5271
Asphalt, 0.5006

Но потом я пробую это с локализацией объекта и ... ничего

# Object localization API call
localized_objects = client.object_localization(image=image)
localized_objects.localized_object_annotations
[]

Когда я пробую это с другими изображениями, я получаю частичную локализацию, как на этом изображении: enter image description here

Я получаю и метки, и аннотации локализации объекта:

Ярлыки:

Residential area, 0.9777
Road, 0.9677
Lane, 0.9456
Asphalt, 0.9204
Thoroughfare, 0.8924
Neighbourhood, 0.8511
Town, 0.8481
Transport, 0.8351
Suburb, 0.8245
Infrastructure, 0.8193
Street, 0.7811
Road surface, 0.7508
Sky, 0.7326
Overhead power line, 0.7230
Tree, 0.6869
Highway, 0.6551
Architecture, 0.6545
House, 0.6313
Compact car, 0.6117
Nonbuilding structure, 0.5980
Urban design, 0.5613
Building, 0.5337
Sidewalk, 0.5259
Public utility, 0.5242
City, 0.5135

Аннотации локализации объекта:

localized_objects[0]
mid: "/m/0k4j"
name: "Car"
score: 0.6203218698501587
bounding_poly {
  normalized_vertices {
    x: 0.8491114974021912
    y: 0.6019535660743713
  }
  normalized_vertices {
    x: 0.9929937124252319
    y: 0.6019535660743713
  }
  normalized_vertices {
    x: 0.9929937124252319
    y: 0.7152476906776428
  }
  normalized_vertices {
    x: 0.8491114974021912
    y: 0.7152476906776428
  }
}

enter image description here

Итак, похоже, что нет никаких фундаментальных проблем с моей конфигурацией API, но есть ли что-то, что я могу сделать по-другому, чтобы заставить его работать?

...