В далеком 2018 мы...

Posted on Tue 25 January 2022 • Tagged with from_telegram, in_russian

В далеком 2018 мы с коллегами делали proof of concept сервиса по оценке размера кольца. Точнее, "мы с коллегами" на тот момент в основном означало, что Андрей рисовал на доске геометрические формулы и писал тонны кода, а я приставал к нему с туповатыми вопросами и иногда коммитил инфраструктурные мелочи. Сценарий простой: для онлайн-продаж ювелирки одна из проблем вызвана тем, что пользователи не знают размер своего пальца (или пальца своего партнера), и потому не могут опасаются заказывать кольцо в интернет-магазине. Для дорогих товаров магазины бесплатно высылают специальные мерные кольца, для дешевых - советуют разные эвристики типа "обмотай палец ниткой N раз, померяй использованную нитку линейкой и подставь результат в формулу". Примечание про несколько измерений, кстати, важно: это такой бутстраппинг курильщика, потому что единичные измерения слишком шумные.

Наш подход cтроился на фотографии руки на листе бумаги А4, для которого известен размер, а значит - есть референс для калибровки. Соответственно, можно найти нужный палец, определить его размер в пикселях и перевести в мм. В итоге дальше прототипа дело не пошло по двум причинам. Во-первых, медианная ошибка нашего подхода получалась около 0.4 мм, а это примерно шаг размера, т.е. точность недостаточна. Даже увеличение датасета не спасало ситуацию, т.е. говоря умными словами, большая часть ошибки отражала aleatoric uncertainty. Во-вторых, тестовые пользователи игнорировали инструкции и фотографировали руки на чем угодно (например, на мятых салфетках), но не на ровном листе А4. В итоге направление было деприоритезировано, но многие наработки оттуда были успешно использованы в другом, гораздо более успешном проекте.

И вот прошло четыре года, и я снова делаю измерение физического размера по фотографии, на этот раз сугубо своими руками. На этот раз права на ошибку меньше - в этой нише пользователей интересует точность в микронах. Но общий уровень сложности как будто снизился: сабпиксельная точность четыре года назад оказалась нерешенной задачей, а сейчас уже почти получается. Конечно, не стоит приписывать все заслуги себе: камеры стали лучше, from pretrained_sota import SuperbModel точнее, а итерации на современных GPU и с современными инструментами - быстрее.

source