Есть ли полный список потенциальных лейблов, которые API Google Vision вернется?

Я тестировал API Google Vision для прикрепления ярлыков к различным изображениям.

Для данного изображения я вернусь примерно так:

"google_labels": {
            "responses": [{
                "labelAnnotations": [{
                    "score": 0.8966763,
                    "description": "food",
                    "mid": "/m/02wbm"
                }, {
                    "score": 0.80512983,
                    "description": "produce",
                    "mid": "/m/036qh8"
                }, {
                    "score": 0.73635191,
                    "description": "juice",
                    "mid": "/m/01z1kdw"
                }, {
                    "score": 0.69849229,
                    "description": "meal",
                    "mid": "/m/0krfg"
                }, {
                    "score": 0.53875387,
                    "description": "fruit",
                    "mid": "/m/02xwb"
                }]
            }]
        }

- > Мои вопросы:

  • Кто-нибудь знает, опубликовал ли Google свой полный список ярлыков (['produce', 'meal', ...]) и где я мог бы найти это?
  • Являются ли эти ярлыки структурированными каким-либо образом? - например. известно, что "пища" представляет собой, например, надмножество "продукта".

Я предполагаю "Нет" и "Нет", поскольку я не мог ничего найти, но, возможно, нет. Спасибо!

Ответ 1

Существует API для поиска по имени API Google Knowledge Graph API:

https://developers.google.com/knowledge-graph/reference/rest/v1/

Они связывают его в нижней части Документации Google Vision API:

https://cloud.google.com/vision/docs/labels


Изменить: больше информации

Хорошо, средние значения, начинающиеся с /g/, являются объектами google, средние значения, начинающиеся с /m/, являются идентификаторами Freebase, но API-интерфейс Google Maps API не возвращает их всегда.

Эти данные являются общедоступными и могут быть загружены, но в базе данных слишком много записей, и Google не опубликовал, какие из них они используют.

Пример MID, возвращенный в api видения и запись в Викидедии:

{
    desc: "institution",
    mid: "/m/01r28c",
    score: 72.29216694831848,
    confidence: 0,
    locations: [ ],
    properties: [ ]
},

https://www.wikidata.org/wiki/Q178706


Последний дамп бесплатной базы можно скачать здесь:

https://developers.google.com/freebase/

Ответ 2

Хотя я не могу проверить полноту базы данных, у проекта Google Open Images есть список из примерно 20 000 классификаций.

Если вы перейдете на страницу загрузки, вы сможете загрузить список с такими описаниями как CSV.

Я проверил несколько эталонных изображений в CloudVision и получил следующие результаты:

ID / CloudVision Classification / OpenImages Classification
1. 01ssh5 / Shoulder / Shoulder (Body Part)
2. 09cx8 / Finger / Finger
3. 068jd / Photograph / Photograph
4. 01k74n / Facial expression / Facial expression
5. 04hgtk / Head / Human Head

Мне удалось найти все идентификаторы с одинаковым значением в CSV - так что в качестве базового списка этого должно быть достаточно. Имейте в виду, что вы всегда должны соответствовать по идентификатору, а не по классификации, так как есть несколько небольших изменений.

Если вы найдете какие-либо идентификаторы в CloudVision, но не в списке, мне было бы интересно узнать в комментариях!