В октябре 2019 года я отправился в центр Чикаго и посетил хакатон BuiltWorlds 2019 с друзьями из DeepWalk Research, стартапа, ориентированного на машинное обучение, частью которого я был. У нас были веселые выходные в городе — мы остановились в хорошем Airbnb, отведали настоящего японского барбекю и, к счастью, выиграли хакатон!

Мы с Эмили написали эту статью вместе, мы подумали, что было бы неплохо поделиться тем, что мы сделали и почему мы это сделали. Мы уверены, что наше решение является хорошим первым шагом к решению представленных проблем, которые я кратко опишу.

Хакатон BuiltWorlds — это соревнование, посвященное решению «проблем искусственного мира». Это все, что влияет на мир, в котором мы живем, а именно на наши города, здания и базовую инфраструктуру. У нашей команды уже есть общее представление о строительной отрасли и ее практиках, поэтому мы чувствовали себя достаточно уверенно на этом хакатоне.

Мы все пришли в Университет Рузвельта в центре Чикаго на хакатон и поразились тому, что это единственное здание, наше основное место жительства в течение 36 часов, превратилось почти в целый кампус колледжа. После регистрации в полупереполненном зале мы внимательно выслушали три вопроса, поставленные компаниями-спонсорами хакатона BuiltWorlds 2019: Clayco, Autodesk и Caterpillar Inc. В частности, Caterpillar предложила проблему неспособности эффективно анализировать использования и износа их техники на строительных площадках.

Привлеченные к проблеме Caterpillar и зная, что у нас есть некоторый опыт в области анализа изображений, мы решили принять вызов Caterpillar и сразу же начали обсуждать с командой Caterpillar возможные решения. Тогда же мы познакомились с Эмили, единственным человеком в нашей команде, который еще не является частью DeepWalk Research — у Эмили не обязательно были технические навыки, но она была очень хорошо осведомлена о корпоративных приложениях и дизайне презентаций из-за ее обширных знаний. опыт венчурного капитала и предыдущий опыт участия в хакатонах. Это дополняло навыки Брэндона, так что в итоге мы стали мощной командой из 6 человек.

Столкнувшись с такой большой проблемой и зная, что нам нужно использовать машинное обучение («ML») и анализ изображений, нам нужно было разбить задачи на основе имеющихся у нас данных. В этом случае мы внимательно изучили существующие видеозаписи экскаваторов Caterpillar на строительных площадках. Брендон вытащил свой стираемый маркер и написал на доске основные типы действий экскаватора, которые мы потенциально можем проанализировать: перемещение, сгребание и черпание. Сначала мы решили заняться одним действием, а именно черпанием, так как это было наиболее целесообразно для ограниченного количества времени, которое у нас было для обучения моделей машинного обучения.

Мы собрали большое количество видеороликов с рабочих площадок Caterpillar из разных источников. Теперь нам нужно было аннотировать наши кадры изображений, выбрать наш алгоритм машинного обучения, обучить его на нашем наборе данных изображений и протестировать наши обученные модели машинного обучения. Аннотировав сотни изображений на нескольких видеороликах о строительных площадках, Аншул начал обучать нашу модель с помощью YOLOv2. После пары часов обучения мы начали сталкиваться с множеством проблем с памятью и хранилищем с инстансами EC2, которые у нас были на AWS. Проблемы в конечном итоге достигли своей кульминации и, к сожалению, сломали удаленный сервер…

Пока команда спорила о технической реализации, Брэндон и Эмили приступили к мозговому штурму бизнес-приложений для нашего решения. Крайне важно было не только иметь работающий прототип, но и подчеркнуть его осязаемую ценность для бизнеса для клиентов Caterpillar.

По сути, экономическое обоснование сводится к следующему вопросу: как мы можем преобразовать базовую информацию, такую ​​как количество ковшов экскаватора за заданный период времени, в такие показатели производительности, как общая эффективность рабочей площадки? Логичным показателем был прогресс проекта с точки зрения общего количества кубических ярдов, перемещаемых в день. Мы знали, что этот показатель является ключевым для менеджеров, придерживающихся сроков проекта, поскольку несоблюдение сроков приводило к искам на строительство на миллионы долларов в год.

Еще одним показателем, который имел большое значение для Caterpillar, была исправность машин, так как поломки машин могут стоить до 180 000 долларов США за каждый инцидент. Количество совков было фактором прогнозируемого модального времени для технического обслуживания и ремонта. Наконец, мы могли измерить производительность оператора на основе объема перемещенной грязи.

Быстрое сообщение LinkedIn Дэну Риму, главному директору по аналитике Caterpillar, подтвердило его заинтересованность в возможности сбора необработанных данных о черпании и связанных с ним показателях производительности. Теперь, когда у нас были эти 3 показателя производительности, самым интуитивно понятным способом их визуализации стала онлайн-панель. На нашей приборной панели будет 4 панели: 3 с показателями производительности и 1 с видео нашего работающего алгоритма машинного обучения.

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

Вскоре мы вернулись к нашему Airbnb. В предрассветные часы команда в конце концов решила отказаться от обученных моделей YOLOv2 и переключиться на Mask R-CNN, поскольку время стало большой проблемой. К счастью, это сработало как волшебство. Хотя мы до сих пор не выяснили, в чем заключались проблемы с YOLOv2, по крайней мере, у нас были некоторые рабочие модели.

К концу субботы мы полностью перешли с YOLOv2 на Mask R-CNN для обучения нашей модели машинного обучения. Когда все снова заработало, мы немного отпраздновали с бутылкой (дешевого?) вина, которое нам дали на нашем Airbnb… Мы поиграли в дартс, посмотрели несколько шоу Netflix и действительно хорошо провели время вместе. Мы также боролись с названиями команд и остановились на DeepScoop, отражающем нашу близость и, возможно, небольшую склонность к глубокому обучению. Теперь пути назад не было.

В воскресенье утром, всего за два часа до полудня, нам наконец удалось получить рабочее видео, на котором наша модель успешно определяет количество черпаков экскаватора Caterpillar. Филипп включил видео и данные обучения в нашу заполненную панель инструментов DeepScoop. Тем временем Эмили набросала гладкую презентацию. За час до дедлайна в 12 часов дня и зная, что все должны присутствовать, Эмили начинала с описания ключевых показателей производительности строительных компаний: сроков реализации проектов, эффективности операторов и исправности машин. Все эти факторы были необходимы для максимизации производительности и сокращения незапланированных простоев.

Всего за 36 часов мы создали решение под названием DeepScoop, которое использует технологию машинного обучения для преобразования видеопотоков с камер наблюдения в информативные идеи и предоставляет производителям машин, таким как Caterpillar, мощные аналитические данные.

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

Наша финальная презентация на хакатоне прошла гладко, и мы увидели, что судьи были заинтригованы. Когда его спросили о включении других факторов в производительность, Брэндон ответил, что DeepScoop может учитывать данные о погоде, количество строительных рабочих на стройплощадке, количество строительных материалов и многое другое. Подсчет совков был лишь ранним началом решения этой большой и сложной проблемы — это всего лишь проверка концепции, едва осуществимый минимально жизнеспособный продукт (MVP), который мы придумали за очень ограниченное количество времени, которое у нас было.

После нашей презентации мы все чувствовали себя очень приподнятыми. Мы все приложили все усилия, доблестные усилия и были счастливы независимо от результата. К нашей величайшей радости, мы действительно выиграли хакатон! Прямо перед тем, как объявить победителя, Дэн Реом сказал, что команда-победитель «не откусила больше, чем может прожевать, эффективно представив маленький кусочек головоломки для более крупной проблемы» — в тот момент я понял, что они говорят о нас! Мы все были действительно очень рады этому положительному результату.

Самое замечательное в хакатоне то, что мы часто общались с командой Caterpillar, узнавая, как они используют мощные сервисы, предлагаемые AWS, для своих цифровых сервисов и платформ. Мы были очарованы их инновационными стратегиями с аналитическими платформами, автономными транспортными средствами и дронами, которые произвели революцию в строительной отрасли стоимостью 10 триллионов долларов.

Мы отпраздновали это ужином в Gyu-Kaku, аутентичном японском барбекю-ресторане. Мы все были очень благодарны за возможность посетить хакатон BuiltWorlds. Я встретил так много людей из разных областей промышленности и многому научился в эти выходные, поэтому я очень счастлив. Это был третий хакатон, который я посетил за свою студенческую карьеру, и я с уверенностью могу сказать, что он, пожалуй, лучший.

Эта статья была написана Филипом Куо и Эмили Куо в сотрудничестве с Аншулом Шахом, Вишалом Нарасимханом, Куанг Траном и Брэндоном Йейтсом, которые были частью команды.