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 | Легкая верхняя одежда | Группа |
Bits | 8 | Количество бит |
Channels | 3 | Цветовой канал |
Width | 716 | Ширина изображения |
Height | 1280 | Высота изображения |
Message | Фото обработано успешно | Сообщение о статусе обработки |
Error | 0 | Код ошибки, если есть. Ноль — значит успешно |
URL | https://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
предложить оффер
- jQuery: как получить значение атрибута?
- PHP работа с изображением, класс SimpleImage
- Интеграция с API ОСАГО сайта sravni.ru
- Комментарии на PHP, Ajax, mySQL
- PHP: Категории бесконечного уровня вложенности.
- Nginx редирект на другой сервис с сохранением URL спросил (а) Сергей
- Исполнитель пропал, почему такое случается и понять с кем работать? спросил (а) Артем
- Можно ли WordPress считать универсальным движком? спросил (а) Андрей
- Что такое самописный скрипт или CMS? спросил (а) Антон
- Как при поиске в linux используя grep, добавить исключения? спросил (а) Алексей
- Консольный скрипт(JavaScript) для автоматических заказов на OZON к записи
- Консольный скрипт(JavaScript) для автоматических заказов на OZON к записи
- Как создать Telegram-бота с авторизацией через сайт к записи
- PHP скрипт: каталог закладок на сайты к записи
- Валидация на PHP к записи
- Сколько зарабатывают в бизнесе на совместных покупках к записи
- Сколько зарабатывают в бизнесе на совместных покупках к записи
Archive
- +2024 (26)
- Ноябрь 2024 (11)
- Октябрь 2024 (8)
- Сентябрь 2024 (1)
- Август 2024 (5)
- Май 2024 (1)
- +2023 (27)
- Ноябрь 2023 (1)
- Октябрь 2023 (13)
- Сентябрь 2023 (10)
- Апрель 2023 (1)
- Март 2023 (1)
- Февраль 2023 (1)
- +2022 (21)
- Декабрь 2022 (11)
- Ноябрь 2022 (1)
- Май 2022 (2)
- Апрель 2022 (2)
- Март 2022 (3)
- Февраль 2022 (1)
- Январь 2022 (1)
- +2021 (17)
- Декабрь 2021 (5)
- Ноябрь 2021 (2)
- Июль 2021 (1)
- Июнь 2021 (2)
- Май 2021 (5)
- Апрель 2021 (1)
- Март 2021 (1)
- +2020 (20)
- Декабрь 2020 (6)
- Сентябрь 2020 (2)
- Август 2020 (1)
- Июль 2020 (2)
- Май 2020 (2)
- Апрель 2020 (2)
- Март 2020 (2)
- Февраль 2020 (1)
- Январь 2020 (2)
- +2019 (18)
- Декабрь 2019 (3)
- Ноябрь 2019 (2)
- Октябрь 2019 (2)
- Сентябрь 2019 (1)
- Август 2019 (2)
- Июль 2019 (1)
- Июнь 2019 (1)
- Апрель 2019 (2)
- Март 2019 (1)
- Февраль 2019 (3)
- +2018 (44)
- Декабрь 2018 (4)
- Ноябрь 2018 (7)
- Октябрь 2018 (8)
- Сентябрь 2018 (1)
- Август 2018 (4)
- Июль 2018 (5)
- Май 2018 (3)
- Апрель 2018 (7)
- Март 2018 (1)
- Февраль 2018 (2)
- Январь 2018 (2)
- +2017 (19)
- Декабрь 2017 (2)
- Ноябрь 2017 (1)
- Октябрь 2017 (1)
- Сентябрь 2017 (2)
- Июль 2017 (1)
- Июнь 2017 (1)
- Май 2017 (2)
- Апрель 2017 (3)
- Март 2017 (2)
- Февраль 2017 (1)
- Январь 2017 (3)
- +2016 (36)
- Декабрь 2016 (3)
- Ноябрь 2016 (3)
- Октябрь 2016 (2)
- Сентябрь 2016 (3)
- Август 2016 (7)
- Июнь 2016 (3)
- Май 2016 (3)
- Апрель 2016 (3)
- Февраль 2016 (1)
- Январь 2016 (8)
- +2015 (36)
- Ноябрь 2015 (5)
- Октябрь 2015 (4)
- Сентябрь 2015 (1)
- Август 2015 (8)
- Июнь 2015 (1)
- Май 2015 (4)
- Апрель 2015 (8)
- Март 2015 (3)
- Февраль 2015 (2)
- +2014 (26)
- Ноябрь 2014 (2)
- Октябрь 2014 (5)
- Сентябрь 2014 (6)
- Июль 2014 (1)
- Июнь 2014 (2)
- Май 2014 (3)
- Апрель 2014 (6)
- Февраль 2014 (1)
- +2013 (27)
- Декабрь 2013 (2)
- Ноябрь 2013 (1)
- Октябрь 2013 (1)
- Август 2013 (1)
- Июль 2013 (3)
- Июнь 2013 (10)
- Май 2013 (1)
- Апрель 2013 (2)
- Февраль 2013 (3)
- Январь 2013 (3)
- +2012 (41)
- Декабрь 2012 (2)
- Ноябрь 2012 (3)
- Октябрь 2012 (7)
- Сентябрь 2012 (2)
- Август 2012 (1)
- Июль 2012 (3)
- Июнь 2012 (2)
- Май 2012 (6)
- Апрель 2012 (2)
- Март 2012 (7)
- Февраль 2012 (5)
- Январь 2012 (1)
- +2011 (57)
- Декабрь 2011 (6)
- Ноябрь 2011 (2)
- Октябрь 2011 (3)
- Сентябрь 2011 (5)
- Август 2011 (4)
- Июль 2011 (3)
- Июнь 2011 (3)
- Май 2011 (3)
- Апрель 2011 (4)
- Март 2011 (10)
- Февраль 2011 (5)
- Январь 2011 (9)
- +2010 (43)
- Декабрь 2010 (7)
- Ноябрь 2010 (21)
- Октябрь 2010 (14)
- Сентябрь 2010 (1)
Свежие записи
- Бот для автоматических заказов на Wildberries 22.11.2024
- Интеграция платежной системы MoonPay на сайт по API 10.11.2024
- Парсер товаров с Taobao 08.11.2024
- Упаковка и минификация кода JavaScript онлайн 07.11.2024
- Как эффективно анализировать логи при DDOS атаке 07.11.2024