В
предыдущей статье мы определяли цвет одежды по изображению, и это может помочь нам для принятия решений о том, одежду каких стилей покупать, и каким клиентам их отправлять. Мы описали гибридный подход с участием человека и машины, однако подробно описывали только часть работы человека – перевод изображений в иерархию цветов. В данной статье мы углубимся в часть работы компьютера – наш текущий алгоритм компьютерного зрения, процесс его разработки и идеи на будущее.
Откуда нам знать, что алгоритм работает?
Перед разработкой алгоритма нужно задуматься над тем, как мы будем оценивать его работу. Допустим, мы написали алгоритм, и он говорит, что «на этом изображении есть следующие цвета» – правильным ли будет его решение? И что это вообще значит — «правильным»?
Для решения этой задачи мы выбрали два важных измерения – правильную разметку основного цвета и правильное количество цветов. Мы задаём это как расстояние CIEDE 2000 (
формула цветового отличия) между основным цветом, предсказанным нашим алгоритмом, и нашим реальным основным цветом, а также считаем среднюю абсолютную ошибку в количестве цветов. Такой выбор мы сделали по следующим соображениям:
- Эти параметры легко подсчитать.
- При увеличении количества метрик было бы труднее выбрать «лучший» алгоритм.
- При уменьшении количества метрик мы можем упустить важное различие между двумя алгоритмами.
- В любом случае у большинства предметов одежды есть один-два главных цвета, и многие из наших процессов полагаются на основной цвет. Поэтому правильно вычислить основной цвет гораздо важнее, чем правильно вычислить второй или третий цвета.