company_banner

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

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

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

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



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

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


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



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

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


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


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



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



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


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


    Маршрут комбайна на карте. Зеленым выделен путь, пройденный комбайном в рамках всех эпизодов сезона nhd.071. Красным обозначены пути из других сезонов.

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



    Теория поля


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



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

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


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

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


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

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


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

     

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


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



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


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

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

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

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

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


    Ночные съемки

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

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


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

    Cognitive Agro Dataset


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

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

    Общее дело


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

    Комментарии 18

      –2
      Каков смысл внедрения роботов в комбайны?
        +5
        Механизатор во время работы должен следить за сотнями вещей и при этом постоянно смотреть на кромку поля, чтобы двигаться ровно. Фактически он следит за процессом обработки зерна (одно рабочее место) и при этом ведёт технику (другое рабочее место). Но только это один человек. Следствие — страдает что-то одно. Поскольку, если плохо вести, можно случайно перемолоть камень или человека на поле, то страдает обычно качество уборки зерна. При этом рабочий день длится 12 часов и из-за усталости к концу смены механизатор оставляет вне захвата до полутора метров от длины жатки. Это ведет к потери времени на уборку и дополнительному расходу топлива. В нашей первой статье мы довольно подробно рассказали, что именно мы автоматизируем и как модифицируем даже довольно старые комбайны своими роботами.
          +3
          Прочитали ли вы статью?
          Смыслов- море+вагон+маленькая тележка)
          Но главных- два.
          Экономия на рабочей силе. Хорошего комбайнера еще поди-поищи. Работа в страду- круглосуточная. В другое время- работы мало.Заболел, выпил- урожай пропал. Ситуация на Юге России настолько плачевна что есть бригады комбайнеров из Турции- которые нанимаются со своими комбайнами (привозят на автовозах)- и убирают урожай.)
          Автоматизация и оптимизация процесса.
          про это написано:
          «Компьютер позволяет разбить загонку таким образом, чтобы в ней было целое количество жаток, тогда комбайнам не придется убирать узкие гребни. Кроме того вручную механизатору сложно ловить кромку, следить за скоростью и одновременно управлять другими функциями машины. Такая работа требует постоянного внимания и множества различных действий, человек довольно быстро устает и начинает ошибаться. Уборка идет круглосуточно, а управлять комбайном в вечернее и ночное время особенно тяжело — механизаторы устают быстрее. Автоматика берет на себя выполнение множества функций, существенно упрощая труд человека и повышая эффективность работы сложной машины. „

          Представьте что вы приехали к кромке поля. Вы все убрали.Перед вами- последняя полоса пшеницы. Шириной два метра. А жатка- 9. А поле- 10 километров. И у вас-перерасход топлива, выработка моторесурса, переплата персоналу. А если следом еще такое поле- с полосой в метр- то у вас все повторяется еще раз… и еще… и еще… а потом дождь и урожай сгнил.
            +1
            Избавиться от этих хлипких мясных мешков, которых сначала надо учить, потом мотивировать, потом лечить от алкоголизма, потом перепрофилировать, зарплату платить, премии. Короче, одна морока. А тут знай только батарейки меняй да камеру протирай — хорошо!
              0
              А тут знай только батарейки меняй да камеру протирай

              со временем жалкие людишки совсем деградируют и им и это будет нельзя доверить.
              Слава Роботам!
            +1
            Спасибо за статью. Читал предыдущие статьи ваших коллег, там писали, что на комбайне с автопилотом используется камера. А вы пишите:
            За два проезда по полю камера загрязняется настолько, что уже ничего не видит, поэтому приходится ставить ее в кабину.
            Как во время работы автопилота решается вопрос загрязнения?
              0
              В процитированном вами абзаце речь идет про тракторы:
              Возникают сложности при выполнении таких работ, как культивация. Обычно она проводится в сухую погоду и трактор поднимает облако пыли. За два проезда по полю камера загрязняется настолько, что уже ничего не видит, поэтому приходится ставить ее в кабину.
              Решение для тракторов несколько отличается от комбайнов, там камера вынесена выше гораздо и пыль не «земляная», поэтому загрязнения не происходит (небольшой слой пыли конечно присутствует, но не мешает видеть камере). Тема сельского хозяйства шире чем комбайны, поэтому мы прорабатываем разные направления работ и техники
              0
              Спасибо, Ольга, за статью! Всегда с большим интересом и удовольствием читаю и смотрю интервью с Вами.

              Поначалу было недоверие: «Да не может быть. Они действительно делают это? И их, русских математиков, работу и, главное, девайсы действительно высоко оценили мировые эксперты (а ведь известно, что у нас много гениальных идей, но катастрофически мало их воплощений в продукт)?»

              А сейчас: гордость за «наши умы»; радость за вас и, благодаря вам, за нас; восхищение тем, как вы не останавливаетесь перед, кажется, бесконечными чиновничьими препонами и чьими-то политическими интересами, идущими вразрез с развитием технологий и, главное, их внедрением в массы для всеобщего удобства. Короче говоря, вы — мои герои :) Сил и удачи вам!
                +1
                успехов в реализации этих проектов
                  –1
                  1. Сколько на текущий сезон лето-осень 2020 под управлением Вашими продуктами комбайнов и с/х площадей и агропредприятий?
                  2. Комбайны ездят дистанционно без людей?
                  3. Как отразилась текущая эпидемия КОВИД на применении вашей технологии в с/х? По идее ваша технология?
                  4. Как вам идея управлять с/х техникой «по-удалёнке», насколько это близко к вашей реальности?
                  5. Порядок или примеры цен на ваши системы «под ключ» без маркетингого мусора
                    +2
                    1. Деталей раскрывать не буду, но скажем так, в управлении хозяйств куда мы поставляем системы сотни тысяч Га, пока самый крупный единоразовый флот будет здесь.

                    2. Если под дистанционной ездой подразумевается езда с дистанционным удаленным управлением, то это вчерашний день. Наши системы превращают комбайн в «думающее» устройство, которое самостоятельно видит поле и понимает, что на нем происходит, как человек. Человек из кабины не убирается, он переключается с задач вождения на задачи самих сельхоз работ.

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

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

                    5. А нет никакого секрета, мы же сейчас по сотням хозяйств работаем, сейчас комплект 650 тыс руб. за штуку при единичных экземплярах. Для примера решения которые ездят по GPS от именитых брендов как правило начинаются с цифры 800+, а если с управлением гидравликой, а не электрической крутилкой, ещё смело +400-500 тыс.
                    Причем для наших клиентов Сбер подготовил спец.программы по льготному кредитованию и для массовых закупок мы разработали систему скидок.
                      0
                      Не умаляя достоинства такой реализации — а можно сравнить соотношение цена/повышение эффективности с другими реализациями?

                      Сейчас, на сколько я вижу по пункту (2), задача системы формулируется как удержание техники на определённой и заранее рассчитываемой траектории что бы человек уделял больше внимания процессу обработки.

                      Человек за рулём в несколько смен (Х тыс.р.) ~= столько «центнеров с гектара».
                      Цифра в 650 тыс.р. за комплект ~= +сколько в «центнеров с гектара»?

                      Что если сравнить с логикой от Roomba с активными или пассивными маячками и перенести в масштаб «поля»? Ни тебе GPS/ГЛОНАСС, ни 5G не нужен… Камеру и распознавание можно проще, что бы только машины-людей на фоне культуры отличать…

                      Не на «малинке», конечно, но вдруг дешевле 650к выйдет при тех же результатах?
                    0
                    Рассмотрим ситуацию с двух сторон, ребята однозначно молодцы, что занимаются таким сложным делом, тем более когда идет аналитика по изображениям или видео, по сути это тыканье пальцем в небо и попытка подобрать подходящую выборку, которая почему-то дает лучший результат, даже на этом этапе можно просто сойти с ума, низкий поклон. Теперь о минусах, тема автономного вождения во внешних средах со случайным возникновением препятствий не решена в науке, и есть сомнения, что ее вообще можно решить. Именно по этому по нашим дорогам до сих пор не катаются беспилотные автомобили. Всегда будут возникать случаи, когда комбайны будут наезжать на людей в поле, из-за пыли, из-за того, что человек оделся в одежду, которая слилась с растениями, из-за того, что он лег и еще множество ситуаций. Ситуацию следующие 10 лет можно будет описывать так: «Работает, но не до конца», и вот это самое «не до конца», этот 1% из 100% невозможно победить в ближайшее время. По этому те наработки, которые были 10 лет назад (основанные на ГЛОНАСС/GPS), мало чем по качеству отличаются от текущих.
                      +1
                      Спасибо, очень интересная статья!
                      Вообще, тема автоматизации и оптимизации сейчас актуальна в огромном количестве отраслей. В данном случае — это поразительная экономия рабочих рук, что особенно актуально например во время пандемии. В данный момент учусь в НИТУ МИСиС, заканчиваю первый курс. Есть ли какие-то стажировки по данному направлению? Невероятно интересна эта отрасль.
                        0
                        Пробовали ли применять отличные от традицонных сверточных сетей для задач computer vision? Например, капсульные сети.
                          0
                          Спасибо за вопрос.
                          Мы активно следим за альтернативными подходами в глубинном обучении, в том числе и за архитектурами кодирования пространственной информации с применением капсульных слоев.

                          Согласно последним исследованиям, капсульные сети сейчас конкурируют по качеству с Unet, несмотря на лучшую производительность. Используются в основном для анализа пространственной информации, причем в тех случаях, когда отсутствует инвариантность в анализируемой сцене. В нашем случае большинство сцен инвариантны и геометрическая аугментация в процедуре обучения полностью нивелирует разницу в применении капсульных слоев в архитектуре. Кроме того, в используемой нами архитектуре работает экстрактор пространственной информации.
                          0
                          Очень интересная статья! А есть ли она на английском? Хотелось бы показать ее своим товарищам по работе, работаем с фермерами по всему миру, аккаунтинг правда. Но интеграции всегда нужны ;)

                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                        Самое читаемое