Как мы создаем Сognitive Agro Data Factory — самый большой нейронный университет в мире

Я начну с революционного: когда мы внедряем Искусственные мозги C-Pilot в сельхозтехнику, мы немного уподобляемся Создателю. Мы Предмет превращаем в думающее и анализирующее Существо, то есть комбайн с Cognitive Agro Pilot начинает видеть и понимать, что происходит вокруг, а также принимать решения по дальнейшим действиям в рамках той производственной задачи, которая перед ним стоит. В каком-то смысле идет создание нового социального слоя тружеников села — слой агроботов с Искусственным Интеллектом C-Pilot, которые обдумывают и решают поставленные человеком агрозадачи.

По сути это зарождающийся слой существ, который надо массово и правильно учить. У человечества были тысячелетия на развитие эволюционного слоя сознания, у роботов это — месяцы. Но для этого надо создать необходимую среду, масштабную фабрику по обучению Искусственных мозгов и подготовки информации для них. В этой статье мы приоткроем тайны Cognitive Data Factory: комбайнa для сбора и переработки данных для агроотрасли.

То по каким учебникам и с какими учителями учатся Ваши дети имеет определяющее значение в их развитии и будущей карьере. Так и в автомотив отрасли — качественные данные и их правильная разметка имеют первостепенное значение для создателей ИИ для беспилотного транспорта и других высокоавтоматизированных систем управления. Cognitive Pilot учится через нашу уникальную Data Factory. Как это устроено внутри?

085787ac2f5facfa69476ab331c82cf4.png
Видеоинформация — пища для роста и обучения нейросеток, составляющих основу любого Искусственного мозга. Когда Маск говорит, что для мозгов Tesla ежедневно собирается информация с 35000 машин в облаке, это лишь слегка преувеличение, но это и база их конкурентного превосходства относительно Mercedes, например. И когда Zoox объявляет, что им нужно еще полмиллирада, чтобы тысячи машин ездили и собирали данные, то все инвесторы воспринимают это очень серьезно. Мы в Cognitive начали готовиться ко всему этому с 2012 года. И сейчас мы с гордостью представляем одну из самых лучших Data Factory в мире.

Своя команда лучше аутсорсеров


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

ee62d3dbebfceac17ee5cb0985fbb033.png

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

Освоили комбайн — освоим и трактор


Рассматривать работу Data Factory лучше всего на примере сельскохозяйственного проекта. У нас уже сделан автопилот для комбайна, который использует видеокамеры, устройство геопозиционирования, а также датчики скорости хода и угла поворота. Теперь настал черед тракторов: информацию наши инженеры собирают в нескольких регионах на полях заинтересованных во внедрении современных решений сельхозпредприятий-партнеров. Съемки идут второй год, поскольку техника задействована в сезонных работах: культивации, посеве, внесении удобрений, прополке, опрыскивании и т.д. Приходится устанавливать несколько видеокамер и вести съемку с разных ракурсов, но механизаторы этого не замечают — их день проходит как обычно. 

784e83304860d13bda2610c88a4cf216.png

На этом этапе важно собрать как можно больше информации и понять особенности выполнения сельхозработ техникой без автоматизированных систем управления. Один и тот же трактор используется с разными прицепами на полях с различными сельскохозяйственными культурами. Траектория его движения зависит от выполняемой операции, поэтому одинаковых съемок не бывает. Постоянно приходится переставлять камеры и менять ракурсы: снимать целый день один вид работ бессмысленно, обычно мы стараемся охватить как можно больше вариантов. 

Главная проблема — отличить уже обработанные площади от необработанных, чтобы определить кромку поля и впоследствии научить этому автопилот. Задача сложная: различия не всегда очевидны даже для человеческого глаза, если, например, трактор разбрасывает удобрения или сеет зерно. Еще очень важно корректно определять препятствия: людей, другую технику, опоры ЛЭП или деревья. Часто камеры приходится ставить не только на трактор, но и на прицепы. Возникают сложности при выполнении таких работ, как культивация. Обычно она проводится в сухую погоду и трактор поднимает облако пыли. За два проезда по полю камера загрязняется настолько, что уже ничего не видит, поэтому приходится ставить ее в кабину. Проблем в процессе съемки бывает множество, но все они преодолимы. Комбайн мы освоили — освоим и трактор.

Сохранить и переработать 


Собранная на полигонах информация попадает в хранилище — специальный машинный зал. Обязательно делается резервное копирование, чтобы нажитое непосильным трудом не терялось из-за сбоев. Поступившие данные смотрят люди, чтобы отобрать полезные. По агротехническим проектам в Data Factory загружается большой объем видеороликов, поэтому полевые сотрудники также помогают их отсматривать. Часто приходится выбрасывать ненужное, если, к примеру, техника стоит во время перерыва. Для облегчения навигации отобранные файлы переименовываются в соответствии с внутренними правилами и упорядочиваются по т.н. стендам. Также можно посмотреть, какие данные еще не были нарезаны, если часть потока мы не успели обработать. Data Factory позволяет нам учитывать уже размеченные объекты и получать статистику по разметке: например, среднюю скорость на стенде или на эпизоде. Хранится и другая внутренняя информация, которую мы отобрали по определенным критериям. Можно посмотреть на карте, где проходила съемка, какие сенсоры были использованы для записи и т.д. 

7b8ae9b1cbeb2f7ddd4b10b1b6c57dbd.png

Готовые стенды мы разбиваем на тестовые и обучающие выборки. В зависимости от задачи из видео могут браться не все кадры: для автоматизации управления сельхозтехникой часто хватает 1 кадра в секунду, что существенно упрощает обработку. Помимо сельскохозяйственного Data Factory обслуживает и другие проекты компании со своими задачами и требованиями.

Теория поля


Отобранные видеоролики попадают на разметку, которая зависит от решаемой задачи. Например, классификация всех пикселей изображения по заданным категориям или выделение границы кромки поля. Если у нас появляется новый вид работ или новая сельскохозяйственная культура, обученных нейросетей для обработки видео под них еще нет и первичную разметку кадров приходится делать вручную. На следующих этапах используется автоматизированная предобработка, которая существенно упрощает процесс — для разметки мы применяем созданные внутри компании инструменты, которые постоянно совершенствуются. Ими также занимаются сотрудники отдела Data Factory: помимо разметчиков у нас в штате есть и разработчики, хотя на самом деле жесткое деление по отделам в Cognitive Pilot не практикуется. 

c08c861a9d68ea2e9ce0abeb0f001172.png

В обучающую выборку включены максимально разные сцены, поскольку здесь важно качество данных, а не их количество. Подготовленные выборки попадают на автоматизированный постпроцессинг, которым уже занимаются не сотрудники Data Factory, а работающие над конкретным проектом специалисты. Скажем для сельского хозяйства им часто приходится решать задачу семантической сегментации изображения в реальном времени. Для этого иногда используются искусственные нейронные сети, построенные с помощью механизмов глубокого обучения. Каждый пиксель изображения ассоциируется с конечным набором возможных состояний: скошено, не скошено, жатка, валок, рядки и другие классы. Архитектура сети обеспечивает правильный баланс между скоростью и производительностью сегментирования в наборах данных. Она предполагает методы работы с информацией разных масштабов с последующим комбинированием выходов остаточной сети ResNet и веткой пространственного разрешения.

Обучаем комбайны


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

bd8d397c8642e311a9a34013f589041d.png

Уборка по кромке


Режим, в котором комбайн движется по полю, удерживая необходимый захват культуры жаткой. По результатам семантической сегментации находится граница между классами «уже скошенное место» и «еще не скошенная культура». В системе координат робота по этой границе строится траектория движения с учетом ширины жатки, высоты культуры, показаний датчиков, предыдущих результатов и других параметров.
 b9qvkfxrzmkf53t4k4p8ig0x_yu.png

Уборка по валкам


Валок — лежащий на поле ряд срезанной зерновой культуры. В этом режиме комбайн с установленным подборщиком должен двигаться по направлению рядов. Задача похожа на предыдущую, только теперь необходимо двигаться не по границе классов, а удерживать комбайн в центре сегмента валка.
 
f41b3881955a16cb97e3b5dc9b4a26f7.png
 

Уборка по рядкам


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

f23c61df6ddc6e36d9dfd5e98186588a.png

Сколько полей, культур и погод мы храним?


Начал масштабную глобальную эпопею лично Владимир Яловенко (низкий поклон человеку), предложив своё агрохозяйство в конце прошлого года в качестве индустриального пилота для масштабирования нашей Data Factory и инновационного расширения этих работ на трактора помимо комбайнов. Далее глобальный контракт с Русагро сразу на роботизацию 242 комбайнов на всей территории России приблизил собираемые объемы данных по полям к амбициям и размерам Zoox. И потянулись западные партнеры с вопросами и предложениями. База то уникальная. В мире такого нет. А догнал ситуацию до мирового максимума сервисный контракт с Эко-Нивой, который говорит об инновационным обслуживании и установке 10000 устройств за три года в: Архангельскую, Владимирскую, Волгоградскую, Вологодскую, Ивановскую, Калужскую, Кировскую, Костромскую, Ленинградскую, Московскую, Новгородскую, Псковскую, Рязанскую, Ростовскую, Смоленскую, Тверскую, Тульскую, Ярославскую области, республику Карелия, Пермский край, Республику Марий ЭЛ, Республику КОМИ, Республику Удмуртия, Краснодарский край, Ставропольский край, республику Калмыкия, Новосибирскую, Кемеровскую, Томскую, Омскую области, Алтайский край, Иркутскую, Воронежскую, Курскую, Белгородскую области.

Уф! Как тебе такое, Илон Маск?))))

На местах это выглядит так:

В Песчанокопской Аграрной группе уборка поля начинается с окашивания его по периметру в два ряда (обычная ширина жатки — 9 метров), чтобы обеспечить пожарную безопасность. Затем выкашивают площадку, куда заезжает техника и где находится вся сменная механизация. После поле разбивается на т.н. загонки — площадки, которые комбайны обкашивают по кругу. 

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

70ca988ab524ac5a380ff2417048ed97.png

Внедрение немного задержалось из-за засухи на юге России и пришедших вслед за ней заморозков. Сейчас прошли дожди и пшеница, если она осталась жива, активно развивается. Сроки уборки скорее всего сдвинутся к началу июля, а говорить о результатах проекта можно будет ближе к осени. Стоит отметить, что по согласованию с заказчиком мы можем через мобильный интернет загружать в Data Factory данные с эксплуатирующегося в «боевом» режиме автопилота. Сейчас туда попадают фотографии с восьми оборудованных в прошлом году у одного из клиентов комбайнов, а чуть позже к ним добавятся данные с машин Песчанокопской Аграрной группы — это необходимо для оперативного реагирования службы поддержки на запросы пользователя в случае, если автопилот работает некорректно. По соображениям безопасности доступ к информации есть только у сотрудников Cognitive Pilot.

Обратная связь


В Data Factory хранятся не только сырые данные или разобранная по стендам информация, здесь есть и готовые (размеченные) датасеты. Помимо обучающих, как мы уже писали, существуют тестовые выборки. Если, скажем, инженеры на новом полигоне понимают, что работа системы идет не по плану, ее можно прогнать на этих наборах. Иногда по результатам тестов сотрудникам Data Factory приходится доразмечать обучающие выборки: скажем, добавлять в них новые классы. При этом существующую разметку мы не меняем, если в ней отсутствуют критические ошибки. Также мы мониторим наличие релевантных своим задачам открытых датасетов и если находим подходящие, обязательно используем их в работе.

Cognitive Agro Dataset


До недавних пор открытые датасеты были доступны в сфере автотранспорта, а для сельского хозяйства публиковались только единичные наборы датасетов под отдельные задачи, вроде опрыскивания полей гербицидами. Мы решили изменить эту ситуацию и поделиться с сообществом своими наработками. В первом квартале запущен проект по подготовке Cognitive Agro Dataset — всеобъемлющей базы собранных в реальных условиях данных, которая позволит обучать нейронные сети для автоматизации сельхозтехники. В Cognitive Agro Dataset будут доступны изображения с видеокамер, а также данные с установленных на беспилотной технике датчиков одометрии и инерциальных сенсоров. Сняты они в различных условиях: меняется геометрия полигонов, сельхозкультуры, а также виды работ. 

Сейчас идет процесс разметки основных объектов полевой сцены: транспортных средств и агрегатов, обработанных и необработанных участков, рядков, валков, людей и объектов других классов. Сотрудники Data Factory принимают непосредственное участие в реализации проекта, завершиться который должен к началу следующего года. В базу еще предстоит добавить данные о новых сельхозкультурах и полученные со стереокамер ролики, а также данные с инерциальных измерительных модулей (IMU). 

Общее дело


Часть дата-сетов российским разработчикам будут доступна бесплатно, и мы рассчитываем, что это станет серьезным стимулом для развития отечественной беспилотной сельхозтехники. 

© Habrahabr.ru