Анализ задачи, сбор требований и предварительное проектирование, далеко не простая задача и немалый этап перед началом разработки проекта. На самом деле, в процентном соотношении это почти всегда занимает порядка 60% от всего процесса разработки бизнес-систем (в том числе, с использованием ИИ). О том, как это бывает — рассказываем ниже, с примерами и зарисовками из жизни Заказчика и Исполнителя.
Задумывались ли вы, как происходит оценка повреждения б/у устройств при больших объемах ? Как выстроен процесс ? И есть ли возможность его автоматизировать, чтобы масштабировать приемку такой техники ?
Заказчик пришел с потребностью оптимизировать проверку б/у устройств на большом потоке. Сейчас это происходит довольно трудоёмко и присутствует большая доля человеческого фактора. Каждое устройство нужно фотографировать и провести осмотр на степень повреждений, затем написать резюме по устройству в ЛК системы. Присвоить степень изношенности устройству. Всё просто. Устройство слегка потерто? Близко к идеалу. Присутствуют вмятины и поврежден экран? К сожалению, оно изрядно износились, стоимость такого устройства будет низкой.
Процесс несложный, но есть проблема в объемах. Большое количество устройств, плюс человеческий фактор и сразу растет вероятность погрешностей, которое на больших объемах существенно отражается на суммах.
Заказчик планирует решить эту задачу при помощи ML (machine learning — машинного обучения) и построенного датасета (Data set — набор данных) на основе большого количества снимков за всё время работы. На самом деле, если внимательно изучить этот вопрос, то станет понятно, что результат по задаче не гарантирует 100% успеха. Это лишь эксперимент и исследование, которое потребует много времени и денег (по данным HeadHunter на 2018 года средняя зарплата специалистов по машинному обучению — около 180 тысяч). Мы предложили разбить задачу на бОльшее количество этапов. Каждый этап задачи будет иметь результат, при помощи которого возможно будет корректировать риски/стоимость/время. Также, определили стоимость проекта, за которую нельзя выходить (экономическая нецелесообразность автоматизации процесса) и сроки реализации проекта для подтверждения гипотезы (1,5-2 месяца).
Как выглядит резюме после обсуждения с заказчиком и исполнителем в области проектирования ИС с использованием ML:
Этап №1. Исследование.
Задача: определить по снимку возможный тип повреждения на устройстве. Язык Python + openCV(библиотека алгоритмов компьютерного зрения, обработки изображений) + tensorflow (открытая программная библиотека для машинного обучения), функционал, определяющий дефекты на устройствах. Обучение системы происходит на минимальном объеме данных. А именно, 600 различных снимков только для одной конкретной модели устройства (100 разных мобильных экземпляров одной модели по 6 фотографий на каждый со всех ракурсов). Важное условие, снимки должны быть реальными (не готовые базы, не скаченные из разных источников фотографии и т.д.). Данные, которые “скармливают” алгоритму, должны быть качественными, иначе это будет выливаться в похожую историю как у Amazon (https://www.bbc.com/russian/other-news-45814099)
Цель этапа: определить наличие и тип дефекта. Мы загружаем 6 фотографий и на основе снимков определяется дефект, фиксируется уровень изношенности (происходит описание).
Затем описание, выданное системой, мы сравниваем с визуальной оценкой от специалиста (выполняющего эту задачу вручную) и принимаем решение об экономической целесообразности последующих этапов.
Этап №2 этап. Разработка.
Написание четких критериев классификации всех возможных повреждений (т.е. нужно оцифровать человеческое восприятие и научиться оценивать на основе входных данных). Алгоритм учится не только определять наличие и тип дефекта, но и приводить его в нужную классификацию, распределяя по степени повреждения. Учитывается площадь дефекта, глубина, разветвленность трещин и других дополнительных факторов.
Цель этапа: алгоритм способен определять самые сильные повреждения (очевидные) о том, что устройство в плохом состоянии или, напротив, в идеальном. Затем, по мере обучения, система должна научиться определять менее очевидные повреждения.
Этап №3. Интеграция разработанного решения в бизнес-процесс и обучение специалистов.
Что еще ?
В ходе исследования были определены дополнительные условия, усложняющие реализацию:
- по фотографии даже человеку не всегда просто определить степень повреждений, не видно всех царапин и, иногда, даже трещин на аппарате. Для ИС любой блик от освещения, пыль или другой визуальный мусор создадут дополнительные помехи.
Решение производить съемку в разном цветовом спектре, что значительно увеличивает стоимость всего процесса.
- фотографии должны быть сделаны в одинаковых условиях: в одном положении, на одинаковые по параметрам и настройке камеры и при идентичном освещении. Исходя из выстроенного бизнес-процесса заказчика, будет тяжело обеспечить схожие условия фотографирования изображений. Соответственно, перестроение устоявшихся процессов, также влечет дополнительные траты для заказчика.
Решение по оборудованию зоны нужно принимать на более поздних этапах, после точного подсчета.
- разные материалы корпуса устройств (стекло/алюминий/пластик), это отличающиеся критерии оценки.
Решение расширение стандарта оценки, не только по моделям устройств, но и по характеру корпуса.
После пары тестовых прогонов фотографий и анализа входных данных и исследования рынка, сделали вывод, что для соответствия всем необходимым критериям снимка объекта, необходимо усложнить процесс фотосъемки. Уже в начале исследования появляется слишком много “но”, которые сильно влияет на оценку стоимости проекта.
Анализ задачи, сбор требований и предварительное проектирование — необходимые процессы, которые в значительной степени скажутся на проекте. Не следует ими пренебрегать. Ведь такой подход к разработке, помогает двум сторонам оценить свои силы, а также правильно подойти заказчику к бюджетированию проекта, избежать лишних расходов на этапе исследования и знать все риски сразу.
Больше статей и кейсов можно найти здесь: https://subscribe.at-develop.ru/