API определения типа одежды по фото

Author Автор: Роман Чернышов    Опубликовано: 2 декабря 2020

API определения типа одеждыДоброго времени! В последние несколько лет, интернет торговля и технологии связанные с ней, шагнули далеко вперед, все чаще на сайтах популярных маркет-плейсов, таких как Aliexpress или WildBerries можно встретить всевозможные фишки(функции, инструменты), которые делают жизнь пользователей удобнее, а вероятность покупки еще выше. Одной из таких функций, является поиск товаров по фото — пользователю достаточно загрузить изображение и система распознает вещи на нём, а затем подберет похожие товары. Сегодня я хочу рассказать об API сервиса распознавания одежды по фото, в частности сервис распознает тип одежды, гендерную принадлежность, категорию, плюс ко всему прочему возвращает ряд характеристик самого фото. Далее обо всем по порядку.

Область применения

Данное решение отлично подойдет например для интернет-магазинов торгующих одеждой, обувью, сумками, благодаря ему есть возможность организовать на сайте умный поиск по фото, поиск и подбор похожей одежды, по категории или цвету. Лично я использую его в бизнесе, для обработки десятков тысяч фото одежды, сделанных вручную, для определения категории одежды, экономя при этом массу человеческих ресурсов(а начиналось все с этого).

  • Определение типа и категории одежды при большом объеме фото-данных;
  • Автоматизация процесса определения категоризации товаров по фото;
  • Поиск по фото, как по категории одежды так и по цветовой палитре;
  • Вывод похожих товаров.

Хоть и точность не 100%, это так или иначе позволяет экономить временя на ручной обработке фото. Там где не требуется стопроцентная точность определения, данное решение отлично подойдет. Альтернатива с большей точностью — только ручная обработка фото человечком.

Описание API

Данное решение для определения типа одежды по фото позволяет получить информацию о том какая одежда изображена на фото, отнеся её к одной из групп: Верхняя одежда, Легкая верхняя одежда, Нательное белье, Обувь, Сумки, Аксессуары, Штаны, Прочее.

Также API распознавания, пытается определить более точную категорию одежды, отнеся её к одной из категорий: Ботильоны, Ботинки со шнуровкой, Высокие ботинки, Кожаные сапоги, Кроссовки, Ботинки-дерби, Резиновые сапоги, Угги, Эспадрильи, Ботинки на плоской подошве, Ботинки на шнуровке, Зимние сапоги, Сапоги с каблуком, Ботинки челси, Пуловеры, Платья-миди, Спортивные брюки, Платья мини, Пальто, Брюки-скинни, Блузы, Джемперы, Свитера, Жакеты болеро, Жакеты и так далее.

При распознавании, помимо типа одежды возвращаются также дополнительные параметры с информацией о фото, и цветовой палитре на нем, с процентным соотношениям каждого из цветов.

  • Распознает порядка 140 категорий одежды;
  • Поддерживается ответ в форматах JSON, XML, Serialize, Array;
  • Точность распознавания 75%;
  • На одном фото, распознает только одну вещь.

Пример распознавания одежды по фото

Параметры запрос

Доступ к API осуществляется по адресу:

https://rche.ru/.service/imgdetect.php

С передачей GET параметров: доступа, типа формата ответа (JSON, XML, Serialize, Array), а также URL на изображение с которым требуется поработать:

Запрос GET
ApiKeyКлюч доступа к API
TypeФормат ответа: JSON, XML, Serialize, Array
UrlСсылка на изображение(фото) по которому нужно произвести определение типа одежды

Полный URL запроса будет выглядеть так:

https://rche.ru/.service/imgdetect.php?apikey=15f221e6ab2d1c595f71223f3eb1123d&type=xml&url=https://static.glami.ru/img/400x480btr/119760573.jpg

Параметры ответа

ПараметрЗначениеОписание
CategoryБлузыКатегория одежды
GenderНе определеноМужская, женская или детская
GroupЛегкая верхняя одеждаГруппа
Bits8Количество бит
Channels3Цветовой канал
Width716Ширина изображения
Height1280Высота изображения
MessageФото обработано успешноСообщение о статусе обработки
Error0Код ошибки, если есть. Ноль — значит успешно
URLhttps://static.glami.ru/img/400x480btr/119760573.jpgСсылка на изображение
FILEМассив данныхСодержит информацию о файле изображения
FileName
FileDateTime
FileSize
FileType
MimeType
COMPUTEDМассив данныхСодержит дополнительную информацию о файле изображения, в том числе EXEF данные, данные автора фото и локацию — если есть
COLORSМассив данныхСодержит информацию о цветах в изображении, цвета в значениях HEX, распределение по процентам того или иного цвета

Пример ответа в JSON

{
    "Category": "Пальто",
    "Gender": "Не определено",
    "Group": "Верхняя одежда",
    "Bits": 8,
    "Channels": 3,
    "Width": 400,
    "Height": 480,
    "Message": "Фото обработано успешно",
    "Error": "0",
    "URL": "https://static.glami.ru/img/400x480btr/119760573.jpg",
    "FILE": {
        "FileName": "119760573.jpg",
        "FileDateTime": 0,
        "FileSize": 7089,
        "FileType": 2,
        "MimeType": "image/jpeg",
        "SectionsFound": ""
    },
    "COMPUTED": {
        "html": "width=\"400\" height=\"480\"",
        "Height": 480,
        "Width": 400,
        "IsColor": 1
    },
    "COLORS": {
        "Item1": {
            "Hex": "FAFAFA",
            "Percent": 36.437333333333
        },
        "Item2": {
            "Hex": "323232",
            "Percent": 36.112
        },
        "Item3": {
            "Hex": "000000",
            "Percent": 12.208
        },
        "Item4": {
            "Hex": "003232",
            "Percent": 6.6773333333333
        },
        "Item5": {
            "Hex": "000032",
            "Percent": 5.072
        },
        "Item6": {
            "Hex": "646464",
            "Percent": 1.056
        },
        "Item7": {
            "Hex": "969696",
            "Percent": 0.88
        },
        "Item8": {
            "Hex": "C8C8C8",
            "Percent": 0.81066666666667
        }
    }
}

Заключение

Помимо сложности реализации, работа с изображениями требует достаточно много ресурсов сервера, по этому удобным решением, в рамках вашего проекта, будет вынос данной операции в отдельный сервис доступный по API. Если вас заинтересовало данное решение, обращайтесь, буду рад сотрудничеству! В ряде моих проектов, определение типа одежды по фото, используется достаточно широко и уже принесло свои плоды.

Оставить комментарий

Автор блога
Роман Чернышов
Веб-разработчик,
Full Stack
Senior, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Оформить предзаказ
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка