Как сделать распознавание листьев растения python
Перейти к содержимому

Как сделать распознавание листьев растения python

  • автор:

Выделить жилы у листьев растений с помощью python

Нужна помощь. Я пытаюсь выделить структуру листа «Скелет» с помощью метода Кенни но результат не устраивает.

import numpy as np import cv2 as cv from matplotlib import pyplot as plt path = r'C:\Users\Admin\PycharmProjects\pythonProject2\v.png' img = cv.imread(path, 0) edges = cv.Canny(img, 400, 300) plt.subplot(121), plt.imshow(img, cmap='gray') plt.title('Original Image'), plt.xticks([]), plt.yticks([]) plt.subplot(122), plt.imshow(edges, cmap='gray') plt.title('Edge Image'), plt.xticks([]), plt.yticks([]) plt.show() 

Выделяется слишком много границ, а хочется получить только основную структуру как например: введите сюда описание изображения введите сюда описание изображения Допустим вот эту

Графики «стебель-и-листья»: как найти среднее значение, медиану и моду

Графики «стебель-и-листья»: как найти среднее значение, медиану и моду

График « стебель-и-листья » — это тип графика, на котором данные отображаются путем разделения каждого значения в наборе данных на основу и лист .

В этом руководстве объясняется, как рассчитать среднее значение, медиану и режим графика «стебель-листья».

Пример: среднее значение, медиана и мода графика ствола и листа

Предположим, у нас есть следующий график стеблей и листьев, который показывает высоту 19 различных растений:

Иметь в виду:

Чтобы найти среднее значение этого набора данных, мы можем сложить все отдельные значения и разделить на общий размер выборки, равный 19:

Среднее значение = (11+12+13+26+26+30+31+31+42+45+46+51+52+61+78+82+82+93+94) / 19 = 47,68 .

Среднее значение получается 47,68.Это среднее значение набора данных.

Медиана:

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

11, 12, 13, 26, 26, 30, 31, 31, 42, 45 , 46, 51, 52, 61, 78, 82, 82, 93, 94

Медиана получается 45.Это значение находится прямо в середине набора данных.

Режим:

Чтобы найти режим этого набора данных, мы можем определить значения, которые встречаются чаще всего:

11, 12, 13, 26 , 26 , 30, 31, 31, 42, 45, 46, 51, 52, 61, 78, 82 , 82 , 93, 94

Этот набор данных имеет два режима: 26 и 82.Каждое из этих значений встречается в наборе данных дважды, а каждое другое значение встречается только один раз.

АНАЛИЗ МЕТОДОВ КОМПЬЮТЕРНОГО ЗРЕНИЯ, ПЕРСПЕКТИВНЫХ ДЛЯ ПРИМЕНЕНИЯ В АГРОПРОМЫШЛЕННОМ КОМПЛЕКСЕ Текст научной статьи по специальности «Компьютерные и информационные науки»

РОБОТИЗИРОВАННЫЙ МАНИПУЛЯТОР / КОМПЬЮТЕРНОЕ ЗРЕНИЕ / АГРОМЕХАТРОНИКА / РАСПОЗНАВАНИЕ ИЗОБРАЖЕНИЙ / СЕЛЬСКОХОЗЯЙСТВЕННЫЕ РОБОТЫ / АВТОМАТИЗИРОВАННЫЙ СБОР УРОЖАЯ / УПРАВЛЕНИЕ РОБОТАМИ / robotic manipulator / computer vision / agromechatronics / image recognition / agricultural robots / automated harvesting / robot control

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Рыбаков Алексей Владимирович, Выборнов Николай Анатольевич, Рыбаков Илья Александрович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Рыбаков Алексей Владимирович, Выборнов Николай Анатольевич, Рыбаков Илья Александрович

КОНЦЕПЦИЯ РОБОТИЗИРОВАННОГО ТЕПЛИЧНОГО КОМПЛЕКСА ДЛЯ ВЫРАЩИВАНИЯ ТОМАТОВ С ОДНИМ ОПЕРАТОРОМ
ПРОЕКТИРОВАНИЕ РОБОТОТЕХНИЧЕСКИХ МАНИПУЛЯТОРОВ С СИСТЕМОЙ КОМПЬЮТЕРНОГО ЗРЕНИЯ ДЛЯ СБОРА ТОМАТОВ

Применение детерминированных методов и классических алгоритмов машинного обучения для обнаружения плодов роботами для сбора урожая

РАСПОЗНАВАНИЕ ОБЪЕКТОВ В СИСТЕМЕ ТЕХНИЧЕСКОГО ЗРЕНИЯ МОБИЛЬНОГО РОБОТА: ИСПОЛЬЗОВАНИЕ БИБЛИОТЕКИ FLANN И АЛГОРИТМА SURF

ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ СБОРА ЛЕСНЫХ СЕМЯН С ПРИМЕНЕНИЕМ АВТОМАТИЗИРОВАННЫХ УСТРОЙСТВ
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ANALYSIS OF COMPUTER VISION METHODS PROMISING FOR USE IN THE AGRO-INDUSTRIAL COMPLEX

The article analyzes the possibilities of using computer vision for agricultural tasks. Such areas of implementation as agricultural machinery management, seed sowing, seedling cultivation, crop care and harvesting, processing, transportation and storage of fruits are considered in detail. The results of the application of image processing methods obtained from video cameras installed in various positions are presented: in the cabin of agricultural machinery, above boxes with seedlings, on agricultural robots . To implement these methods, programs written in Python using the OpenCV library were used.

Текст научной работы на тему «АНАЛИЗ МЕТОДОВ КОМПЬЮТЕРНОГО ЗРЕНИЯ, ПЕРСПЕКТИВНЫХ ДЛЯ ПРИМЕНЕНИЯ В АГРОПРОМЫШЛЕННОМ КОМПЛЕКСЕ»

ПРИБОРОСТРОЕНИЕ, МЕТРОЛОГИЯ И ИНФОРМАЦИОННО-ИЗМЕРИТЕЛЬНЫЕ ПРИБОРЫ И СИСТЕМЫ

ИНФОРМАЦИОННО-ИЗМЕРИТЕЛЬНЫЕ И УПРАВЛЯЮЩИЕ СИСТЕМЫ

АНАЛИЗ МЕТОДОВ КОМПЬЮТЕРНОГО ЗРЕНИЯ, ПЕРСПЕКТИВНЫХ ДЛЯ ПРИМЕНЕНИЯ В АГРОПРОМЫШЛЕННОМ КОМПЛЕКСЕ

Статья поступила в редакцию 30.01.2022, в окончательном варианте — 20.02.2022.

Рыбаков Алексей Владимирович, Астраханский государственный университет, 414056, Российская Федерация, г. Астрахань, ул. Татищева, 20а,

кандидат физико-математических наук, директор физико-математического института, ORCID: 0000-0003-1192-0913, e-mail: rybakov_alex@mail.ru

Выборнов Николай Анатольевич, Астраханский государственный университет, 414056, Российская Федерация, г. Астрахань, ул. Татищева, 20а,

кандидат физико-математических наук, доцент, доцент кафедры электротехники, электроники и автоматики, ORCID: 0000-0003-1588-2993, e-mail: niko_nikolay@mail.ru

Рыбаков Илья Александрович, Астраханский государственный университет, 414056, Российская Федерация, г. Астрахань, ул. Татищева, 20а,

магистрант, ORCID: 0000-0002-4223-6391, e-mail: ilya_rybakov_99@mail.ru

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

Ключевые слова: роботизированный манипулятор, компьютерное зрение, агромехатроника, распознавание изображений, сельскохозяйственные роботы, автоматизированный сбор урожая, управление роботами

ANALYSIS OF COMPUTER VISION METHODS PROMISING FOR USE IN THE AGRO-INDUSTRIAL COMPLEX

The article was submitted to the editorial office 30.01.2022, in the final version — 20.02.2022.

Rybakov Alexey V., Astrakhan State University, 20a Tatishchev St., Astrakhan, 414056, Russian Federation,

Cand. Sci. (Physics and Mathematics), Director of the Institute of Physics and Mathematics, ORCID: 0000-0003-1192-0913, e-mail: rybakov_alex@mail.ru

Vybornov Nikolay A., Astrakhan State University, 20a Tatishchev St., Astrakhan, 414056, Russian Federation,

Cand. Sci. (Physics and Mathematics), Associate Professor, Associate Professor of the Department of Electrical Engineering, Electronics and Automation, ORCID: 0000-0003-1588-2993, e-mail: niko_nikolay@mail.ru

Rybakov Ilya A., Astrakhan State University, 20a Tatishchev St., Astrakhan, 414056, Russian Federation,

undergraduate student, e-mail: ilya_rybakov_99@mail.ru

The article analyzes the possibilities of using computer vision for agricultural tasks. Such areas of implementation as agricultural machinery management, seed sowing, seedling cultivation, crop care and harvesting, processing, transportation and storage of fruits are considered in detail. The results of the application of image processing methods obtained from video cameras installed in various positions are presented: in the cabin of agricultural machinery, above boxes with seedlings, on agricultural robots. To implement these methods, programs written in Python using the OpenCV library were used.

Keywords: robotic manipulator, computer vision, agromechatronics, image recognition, agricultural robots, automated harvesting, robot control

Graphical annotation (Графическая аннотация)

Введение. По мере роста численности населения урбанизация приведет к постепенному сокращению площади обрабатываемых земель, а давление на сельскохозяйственную систему будет продолжать возрастать [1, 2]. Растет спрос на эффективные и безопасные методы производства сельскохозяйственных продуктов питания. В последние несколько десятилетий системы контроля компьютерного зрения стали важными инструментами в сельскохозяйственных операциях, и их использование значительно возросло [3]. Экспертные и интеллектуальные системы, основанные на алгоритмах компьютерного зрения, становятся обычной частью управления сельскохозяйственным производством, а технологии автоматизации сельского хозяйства на основе компьютерного зрения все чаще используются в сельском хозяйстве для повышения производительности и эффективности [4, 5]. Таким образом, технология компьютерного зрения будет все шире использоваться в области автоматизации сельского хозяйства и будет неуклонно способствовать его развитию. Перспективы применения компьютерного зрения на различных этапах производства приведены ниже.

Обширный обзор публикаций в области использования методов компьютерного зрения для задач сельского хозяйства приведен в [6]. В частности, сообщается об исследованиях Родриго Пе-рез-Завала и др. [7], которые использовали камеру видимого спектра для распознавания ягод винограда и обнаружения виноградных гроздей на основе информации о форме, текстуре и сегментации областей пикселей. Ф. Фахми и др. [8] выполнили ортофотообработку на плантациях пальмового масла на основе алгоритма обработки изображений MATLAB с применением беспилотного летательного аппарата. Они использовали метод GLCM (матрица совпадений в оттенках серого) для классификации плодородных, стерильных и мертвых растений пальмового масла и разработали параметры, основанные на четырех направлениях под определенным углом наклона камеры 0°, 45°, 90° и 135°. Юаньюань Сунь и др. [9] проанализировали морфологию листьев риса с использованием машинного зрения для диагностики уровня азота и извлечения информации об их качественных характеристиках. Чжу и др. [10] использовали систему компьютерного зрения для наблюдения за посевами пшеницы. В этой статье описывается новая автоматическая система наблюдения за стадией колошения пшеницы. Изображения, соответствующие статистическим требованиям, делаются в естественных условиях, когда освещение часто меняется. Для этой цели масштабно-инвариантное преобразование признаков (SIFT) использовалось в качестве визуального дескриптора низкого уровня, затем для генерации представления среднего уровня используется кодирование вектора Фишера (FV). Основываясь на данных семи последовательностей изображений за три года подряд, проводилась серия экспериментов, чтобы продемонстрировать эффективность и надежность нашего предложения. Экспериментальные результаты показывают, что предлагаемый метод значительно превосходит другие существующие методы со средним значением абсолютной погрешности 1,14 дня на тестовом наборе данных. Садеги Тегеран П. и др. [11] провели дальнейшие исследования и разработали автоматизированный метод мониторинга как колоса пшеницы, так и цветения. Этот метод обладает большей точностью обнаружения, чем другие методы, и он достаточно надежен для использования при сложных изменениях окружающей среды, таких как освещение и окклюзия. Юань Тин и др. [12] изучили методы распознавания и сбора признаков для изображений плодов огурца в ближнем инфракрасном диапазоне, и посредством анализа и сравнения каждой спектральной полосы были отмечены и зафиксированы характеристики спектрального отражения плодов огурца, стеблей и листьев. Согласно процедуре проверки алгоритма, показатель успешности извлечения области захвата составил 83,3 %. Чжан Циронг [13] разработал метод идентификации для системы роботизированного зрения. Метод использует

предварительную обработку медианного фильтра, пороговую сегментацию Отцу, устранение шума с порогом области и реализацию преобразования Хафа. Показатель успешности идентификации вишни составил более 96 %. Этот метод значительно снижает сложность и стоимость комплектации и повышает эффективность. Кристофер Маккул и др. [14] предложили новую систему обнаружения сладкого перца (чили) на основе зрения и новый метод сегментации урожая с использованием метода локального бинарного шаблона (LBP). Средняя точность обнаружения человека, просматривающего одно и то же цветное изображение, составила 66,8 %, и 65,2 % посаженных в поле сладких перцев были обнаружены в трех местах с использованием подхода LBP.

Применение технологии гиперспектральной визуализации для обнаружения внутренних повреждений в кожуре киви было представлено Лю и др. [15]. В их исследовании для сбора данных гиперспектральных изображений использовались изображения в видимой ближней инфракрасной области со спектральными длинами волн от 408 до 1117 нм. Кроме того, для выделения эффективных полос был использован анализ основных компонентов (PCA). Результаты эксперимента показали, что частота обнаружения повреждений составила 85,5 %. Кроме того, с помощью PCA и машины опорных векторов (SVM) для построения классификационной модели степени повреждения яблок в литературе [16] исследовались оптические свойства яблок, поврежденных в разной степени в диапазоне длин волн 400~1050 нм. Точность классификации достигла 92,5 %. Однако этот метод основывался на отборе образцов яблочных ломтиков для обнаружения, что приводило к нарушению целостности яблок. В статье [17] разработан неразрушающий метод с использованием рентгеновских компьютерных изображений. Пороговые значения уровня серого для яблок были рассчитаны с помощью многоуровневого порогового метода Otsu. Объем повреждений в экваториальной области яблока был автоматически обнаружен и определен количественно с помощью этого метода. Однако этот метод не только обеспечивает длительный период обнаружения и испускает рентгеновское излучение. Кроме того, технология предъявляет чрезвычайно строгие требования к безопасности и не подходит для широкого применения. В статье [18] изучались яблоки, которые были повреждены в течение последних двух часов. Исследователи применили алгоритм фильтрации частиц к изображению после обработки и построили модель PLS-DA на основе пикселей, улучшив спектральное отношение сигнал/шум. Уровень распознавания повреждений apple составил 96 %. Более того, в [19] применялась технология активной инфракрасной тепловизион-ной визуализации, основанная на гипотезе о том, что внутреннее повреждение и физиологический дисбаланс яблока привели к изменениям тепловых свойств тканей. Авторам удалось выявить ранние повреждения на разных глубинах в последовательностях тепловизионных изображений. К сожалению, разрешение и контрастность изображения были низкими. В статье [20] был представлен новый автоматический метод обнаружения дефектных яблок, сочетающий систему компьютерного зрения с автоматической коррекцией освещенности, количеством кандидатов на дефекты (включая истинные дефекты, дефекты стебля и дефекты чашечки), подсчетом областей и классификатором взвешенных векторов релевантности (RVM).

В статье Мазилли и др. [21] представлены результаты применения компьютерного зрения и машинного обучения на основе нейронной сети EfficientDet D2 для разработки автономной системы выявления заболевания, вызываемого Xylella Fastidiosa на беспилотном летательном аппарате (БПЛА). Как только дрон достигает кроны дерева, он запрашивает планирование геликоидальной траектории, чтобы обойти его. Рабочая станция получает данные одометрии для определения начальной точки траектории, количества фотографий, которые необходимо сделать, и радиуса дерева. Рассчитанные путевые точки, образующие спираль вокруг дерева, определяются вектором из семи элементов (три элемента для положения, четыре элемента для ориентации дрона по кватерниону). По достижении путевых точек беспилотник отправляет код на рабочую станцию, которая считывает изображение камеры и сохраняет его для анализа состояния листьев с использованием нейронной сети.

Постановка задачи. В растениеводстве можно выделить несколько задач, в которых применение методов компьютерного зрения, на наш взгляд, может быть обосновано (табл.).

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

Таблица — Классификация направлений внедрения компьютерного зрения в растениеводстве

Производственная задача Направления внедрения компьютерного зрения Объект установки видеокамер Результаты внедрения

Управление сельскохозяйственными машинами (трактора, комбайны) Вспомогательная технология для подруливающих систем Беспилотное управление движением сельхозтехники на основе компьютерного зрения Автоматическое управление БПЛА для выполнения опрыскивания Кабина сельскохозяйственной машины, подвес БПЛА Улучшение качества вспашки и посева: более эффективное использование площадей, оптимизация обработки посевов с использованием БПЛА

Посев семян Анализ качества посева с помощью методов распознавания семян Навесное оборудование для посева, автоматизированные посевные линии Повышение равномерности всходов

Выращивание рассады Анализ всхожести рассады Анализ состояния рассады Конструкции потолка теплицы, специализированные стойки над ящиками с рассадой, рельсовые опоры в теплице под потолком или на полу Оптимизация управления поливом, освещением, подачей тепла, внесением удобрений на основе данных о состоянии рассады

Уход за посевами Анализ формы, размеров и структуры куста Анализ состояния сформировавшихся растений Определение сорняков Определение болезней растений БПЛА, навесное оборудование для прополки, специализированные стойки в поле, сельскохозяйственные мобильные роботы Своевременность выполнения работ по формированию куста Своевременное внесение удобрений и средств защиты растений Возможность автоматизации операций по формированию куста, прополке, повышение качества их выполнения

Сбор урожая Определение координат плодов для роботизированного сбора Определение количества плодов Комбайны и иные устройства для сбора, мобильные роботы для сбора плодов Автоматизация сбора урожая, своевременность сбора урожая, улучшение качества собираемых плодов

Переработка, транспортировка, хранение Анализ качественных характеристик плодов (форма, цвет) для сортировки или выбраковки Определение координат плодов на конвейере Определение качества переработанной продукции Крепления над конвейерами, ящиками, лотками Автоматизированная сортировка и выбраковка, улучшение качества переработанной продукции

— Определение границ областей вспашки при помощи детектора границ Кэнни

В приведенном ниже примере, реализованном нами с помощью обработки кадров видео в программе, написанной на языке Python с использованием библиотеки OpenCV, показаны результаты работы различных пороговых фильтров. Можно отметить, что в данном случае границы вспаханной области лучше видны при использовании фильтров Yen Threshold [22] и Niblack Threshold [23].

Original Global Threshold

Рисунок 2 — Варианты использования различных пороговых фильтров

Посев семян. При посеве семян целесообразно выполнять их детектирование в ямках и бороздках с использованием цветовых фильтров и таких детекторов формы, как, например, детектор Хафа [24]. На рисунке 3 представлен результат применения программы, написанной на языке Python, для обработки кадра видео посадки семян болгарского перца. В реальном процессе посадки может происходить отслеживание объекта на последовательности кадров, поступающих от установленной на посевном устройстве видеокамеры, подсчет количества посеянных семян и контроль дистанции между ними.

Рисунок 3 — Распознавание контуров семян и их подсчет с применением детектора Хафа

Выращивание рассады. Первоначально необходимость в использовании системы компьютерного зрения возникает в момент прорастания семян. Настроив цветовой фильтр на цвет рассады и определяя границы семядольных листочков, можно получить данные о количестве кустов и всхожести семян. Программа анализа всхожести рассады определяет границы листка по цвету, обводит его контур, вписывает контур листка в прямоугольник и считает количество прямоугольников в ящике с рассадой, также система распознает номер ящика и привязывает полученные данные по количеству всходов к этому номеру. Данные могут обновляться с некоторой периодичностью, сопоставляться с данными о количестве посаженных семян и выдавать результат по их всхожести [25].

Рисунок 4 — Анализ качества рассады с использованием цветовых фильтров и подсчета площади [25]

Уход за посевами. В процессе ухода за посевами возможно применение компьютерного зрения сразу по нескольким направлениям: анализ формы, размеров и структуры куста, состояния сформировавшихся растений, определение сорняков, определение болезней растений.

Для анализа размеров и структуры куста возможно также задействовать пороговые фильтры, детектировать края и подсчитывать площадь каждого листа в абсолютных единицах, зная расстояние до него. Для определения расстояния до объекта можно использовать ультразвуковые сенсоры или бинокулярные видеокамеры. В последнем случае метод определения координат заключается в построении карты глубины [26]. Для каждой точки выполняется поиск парной точки при помощи двух изображений. Определить координаты их прообраза в трехмерном пространстве можно по паре нужных точек. Имея трехмерные координаты прообраза, глубина вычисляется как расстояние до плоскости камеры. Парную точку нужно искать на эпиполярной линии. Таким образом, для упрощения поиска изображения выравнивают так, чтобы все эпиполярные линии были параллельны сторонам изображения (горизонтально). Изображения выравнивают так, чтобы для точки с координатами (x0, y0) соответствующая ей эпиполярная линия задавалась уравнением x = x0. Тогда для каждой точки соответствующую ей парную точку следует искать в той же строчке на изображении со второй камеры (ректификация). Как правило, ректификацию совершают путем ремеппинга изображения. Ее совмещают с избавлением от дисторсий. После того как изображения ректифицированы, выполняют поиск соответствующих пар точек. Самый легкий способ состоит в следующем. Для каждого пикселя картинки слева с координатами (x0, y0) выполняется поиск пикселя на картинке справа. При этом подразумевается, что пиксель на правой картинке должен иметь координаты (x0 — d, y0), где d — величина, называемая несоответствие/смещение. Поиск нужного пикселя выполняется путем вычисления максимума функции отклика, в качестве которой может выступать корреляция окрестностей пикселей. В результате чего следует карта смещений и карта глубины [26].

Определение болезней растений и определение сорняков возможно проводить с применением методов распознавания, основанных на алгоритмах сверточных нейронных сетей. В этом случае необходимо набрать датасеты, состоящие из изображений зараженных растений или сорняков, изображений здоровых растений и тестовый датасет, содержащий их все вместе. Реализацию возможно выполнить на базе библиотек Keras и TensorFlow. Предварительно изображения растений можно обработать, выровняв, например, их гистограммы с использованием метода CLAHE (Contrast-limited Adaptive Histogram Equalization) [11]. При такой обработке изображений сорняки становятся более заметны, как и качество листьев культурных растений и различия во влажности почвы на отдельных участках грядки (рис. 5).

Рисунок 5 — Цветное изображение культурных растений и сорняков [12] (слева) и его обработка методом CLAHE (справа)

Сбор урожая. На стадии сбора урожая возможно применение компьютерного зрения для распознавания плодов, расположенных на кустах и частично перекрытых листьями. В общем случае в этих целях могут быть использованы алгоритмы, основанные на применении цветовых фильтров (Рисунок 6). В приведенном на рисунке примере используется метод выделения объекта по цвету. Исходное RGB-изображение трансформируется в изображение в цветовом пространстве HSV. Затем выполняется бинаризация по пороговым значениям. Выделенные объекты обводятся эллипсом, определяется его центр, являющийся центром плода или группы плодов. К этому центру двигается, например, мобильный робот, совмещая каждый раз с ним центр своей оптической системы (объектив камеры). При приближении на заданное расстояние, попадающее в рабочую зону бортового манипулятора, происходит сближение захватного устройства с центром плода. При этом работает уже другая камера, расположенная возле схвата и позволяющая точнее идентифицировать границы захватываемых объектов. Данный метод чувствителен к освещению и поэтому требует дополнительной корректировки значений для цветовых масок, например, с использованием эталонного элемента заданного цвета. Возможно применение дополнительных прожекторов на уборочной технике.

Рисунок 6 — Распознавание плодов с использованием цветового фильтра

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

Для задач транспортировки и хранения продукции возможно применение роботизированных платформ на всенаправленных колесах, оснащенных компьютерным зрением для навигации [13]. Подобная система позволит оборудовать любое помещение с ровной поверхностью под нужды транспортировки и сортировки. Пример конвейерной линии из роботов представлен на рисунке 7.

Рисунок 7 — Вариант согласованной работы нескольких транспортных роботов [13]

Для локальной системы позиционирования могут быть использованы QR-метки, SLAM (одновременная локализация и картографирование) и линии, нанесенные на пол или потолок склада готовой продукции или теплицы. За счет считывания информации с метки робот определяет текущую позицию. От скорости мобильной платформы зависит скорость обработки данных. Чем скорость больше, тем чаще необходимо обновлять данные о разметке дороги.

Основной алгоритм перемещения платформы по линии:

1. Получить размер изображения.

2. Установить частоту кадров видео.

3. Обрабатывать каждый кадр.

4. Сначала преобразовать кадр в оттенки серого, размыть его, чтобы удалить шум.

5. Установить порог с помощью OpenCV так, чтобы обнаруживались только белый и черный цвета, и удалить все шумы.

6. Инвертировать значение пикселя обрабатываемого изображения и найти контуры.

7. Чтобы удалить ненужный контур, необходимо найти его область и выбрать диапазон площади, который будет обрабатываться.

8. Найти момент контура и, используя момент, найти его центроид.

9. Устанавить диапазон центроида для прямой.

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

Рисунок 8 — Распознавание контуров разметки, нанесенной на пол теплицы [30]

Алгоритм обнаружения рЯ-кода может быть реализован при помощи библиотек pyzabr и ОрепСУ. Алгоритм распознавания в этом случае следующий:

1. Получение изображений с видеокамеры (покадровое считывание).

2. Перевод изображения из цветного в оттенки серого.

3. Бинаризация изображения.

4. Разметка на обособленные области (блобы).

5. Обработка получившихся областей (вычисление числовых и геометрических характеристик).

6. Фильтрация областей.

7. Поиск областей, которые по характеристикам с большей вероятностью похожи на обязательные метки позиционирования на рЯ-коде. Мишень — область рЯ-кода, образованная тремя вложенными квадратами с отношением сторон 7:5:3.

8. Выбор трех наиболее вероятных областей.

9. Анализ расположения QR-кода на изображении.

10. Выделение QR-кода из всего изображения для последующей обработки.

11. Определение необходимых преобразований.

12. Применение необходимых преобразований к QR-коду.

13. Декодирование рЯ-кода с помощью алгоритма, описанного в спецификации ШО/ГБС 18004 «Информационная технология — Автоматическая идентификация и сбор данных — Символика штрихового кода — рЯ-код».

14. При удачном завершении этапа декодирования вывод на экран закодированной информации. На рисунке 9 приведено описание полей рЯ-кода, на которые необходимо ориентироваться

при коррекции полученных изображений.

Рисунок 9 — Описание полей QR-кода [30]

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

1. Всемирная организация здравоохранения. — Режим доступа: http:// www.who.int/ru/, свободный. -Заглавие с экрана. — Яз. рус.

2. Рыбаков, А. В. Перспективы использования мобильных роботов с системами технического зрения в сельском хозяйстве / А. В. Рыбаков, З. М. Ходарова // Симметрии: теоретический и методический аспекты : сборник научных трудов VII Международной научно-практической конференции. — 2018. — С. 39-46.

3. How Dogtooth Technologies’ intelligent robots are mastering strawberry-picking. — Режим доступа: https://www.cambridgeindependent.co.uk/business/how-dogtooth-technologies-intelligent-robots-aremastering-straw berry-picking-9050467/, свободный. — Заглавие с экрана. — Яз. англ.

4. Выращивание рассады томатов в домашних условиях. — Режим доступа: https://chudoclumba.ru/vyrasivanie-rassady-tomatov-v-domasnih-usloviah/, свободный. — Заглавие с экрана. -Яз. рус. (дата обращения: 22.12.2020).

5. Рыбаков, А. В. Проектирование робототехнических манипуляторов с системой компьютерного зрения для сбора томатов / А. В. Рыбаков, А. М. Лихтер, А. Б. Погожева, А. В. Михайлова, А. Б. Дусалиев // Прикаспийский журнал: управление и высокие технологии. — 2020. — № 3 (51). — С. 135-147.

6. Hongkun, Tian. Computer vision technology in agricultural automation / Hongkun, Tian, Tianhai Wang, Yadong Liu, Xi Qiao, Yanzhou Li // Information Processing in Agriculture. — 2020. — Vol. 7, iss. 1. — P. 1-19. -https://doi.org/10.1016/j. inpa.2019.09.006.

7. Perrez-Zavala, R. A pattern recognition strategy for visual grape bunch detection in vineyards / R. Perrez-Zavala, M. Torres-Torriti, F. A. Cheein, et al. // Comput. Electron. Agric. — 2018. — Vol. 151. — P. 136-149.

i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

8. Fahmi F. Image processing analysis of geospatial uav orthophotos for palm oil plantation monitoring / F. Fahmi, D. Trianda, U. Andayani, et al. // J. Phys. Conf. Ser. — 2018. — Vol. 978. — P. 012064.

9. Sun, Y. Utilization of machine vision tomonitor the dynamic responses of rice leaf morphology and colour to nitrogen, phosphorus, and potassium deficiencies / Y. Sun, J. Gao, K. Wang, et al. // J. Spectroscopy. — 2018. — P. 1-13.

10. Zhu, Y. In-field automatic observation of wheat heading stage using computer vision / Y. Zhu, Z. Cao, H. Lu, et al. // Biosyst. Eng. — 2016. — Vol. 143. — P. 28-41.

11. Sadeghi-Tehran, P. Automated method to determine two critical growth stages of wheat: heading and flowering / P. Sadeghi-Tehran, K. Sabermanesh, N. Virlet, et al. // Front. Plant. Sci. — 2017. — № 8. — P. 252.

12. Yuan Ting, X. C. Information acquisition of cucumber fruit in greenhouse environment based on nearing infrared image / X. C. Yuan Ting // Spectrosc. Spect. Anal. — 2009. — Vol. 29 (8). — P. 2054-2058.

13. Zhang, Q. Cherry recognition in natural environment based on the vision of picking robot / Q. Zhang, S. Yu. T. Chen, et al. // IOP Conf. Ser.: Earth Environ Sci. — 2017. — Vol. 61. — Art. 012021.

14. Christopher, McCool IS. Visual detection of occluded crop: for automated harvesting / Christopher McCool IS, Feras Dayoub, Christopher Lehnert, Tristan Perez, and Ben Upcroft // International Conference on Robotics and Automation (ICRA). — 2016. — P. 2506-2512.

15. Lu, Q. Detection of hidden bruise on kiwi fruit using hyperspectral imaging and parallelepiped classification / Q. Lu and M. J. Tang // Procedia Environ. Sci. — Jan. 2012. — Vol. 12. — P. 1172-1179. — DOI: 10.1016/j.proenv.2012.01.404.

16. Zhang, S. An effective method to inspect and classify the bruising degree of apples based on the optical properties / S. Zhang, X. Wu, S. Zhang, Q. Cheng, and Z. Tan // Postharvest Biol. Technol. — May 2017. — Vol. 127. -P. 44-52. — DOI: 10.1016/j.postharvbio.2016.12.008.

17. Elien, D. Assessment of bruise volumes in apples using X-ray computed tomography / D. Elien, V. D. Mat-tias, and K. Janos // Postharvest Biol. Technol. — Jun. 2017. — Vol. 128. — P. 24-32. — DOI: 10.1016/j.postharvbio.2017.01.013.

18. Keresztes, J. C. Real-time pixel based early apple bruise detection using short wave infrared hyperspectral imaging in combination with calibration and glare correction techniques / J. C. Keresztes, M. Goodarzi, and W. Saeys // Food Control. — Aug. 2016. — Vol. 66, no. 1. — P. 215-226. — DOI: 10.1016/j.foodcont.2016.02.007.

19. Mochida, K. Computer vision-based phenotyping for improvement of plant productivity: a machine learning perspective / K. Mochida, S. Koda, K. Inoue, et al. // GigaScience. — 2019. — № 8. — P. 1-53.

20. Vazquez-Arellano, M. 3-D imaging systems for agricultural applications / M. Vazquez-Arellano, H. W. Griepen-trog, D. Reiser, et al. // A review Sensors. — 2016. — Vol. 16. — P. 1-24.

21. Mazzilli. UAV Inspection of Olive Trees for the Detection of Xylella Fastidiosa Disease Using Neural Networks,» / Mazzilli et al. // 17th International Workshop on Cellular Nanoscale Networks and their Applications (CNNA). — 2021. — P. 1-4. — DOI: 10.1109/CNNA49188.2021.9610752.

22. Jui-Cheng, Yen. A new criterion for automatic multilevel thresholding / Jui-Cheng Yen, Fu-Juay Chang, & Shyang Chang // IEEE Transactions on Image Processing. — 1995. — Vol. 4 (3). — P. 370-378. — DOI: 10.1109/83.366472.

23. Niblack, W. An Introduction to Digital Image Processing / W. Niblack. — Prentice Hall, 1986. — P. 115-116.

24. Hough, P. V. C. Method and means for recognizing complex patterns : U.S. Patent / P. V. C. Hough. -1962, Dec. 18. — № 3, 069, 654.

25. Рыбаков, А. В. Анализ использования систем компьютерного зрения для контроля состояния рассады / А. В. Рыбаков, И. В. Михайлов, Р. К. Арыкбаев // Прикаспийский международный молодёжный научный форум агропромтехнологий и продовольственной безопасности — 2019 : cборник научных статей. — Астрахань, 23-24 апреля 2019 г. — Астрахань : Издательский дом «Астраханский университет», 2019. — С. 57-60.

26. Андреев, С. В. Построение стереоанимационных представлений на современных стереоустановках активного и пассивного типов / С. В. Андреев, А. Е. Бондарев, Т. Н. Михайлова, И. Г. Рыжова // Новые информационные технологии в автоматизированных системах. — 2018. — № 21. — С. 4-10.

27. Zuiderveld, K. Contrast Limited Adaptive Histogram Equalization / K. Zuiderveld // Graphics Gems IV. -Academic Press, 1994. — Режим доступа: http://www.docin.com/p-119164091.html, свободный. — Заглавие с экрана. — Яз. англ.

28. Нейросеть заинтересовалась сорняками. — Режим доступа: https://agronomius.livejournal. com/22747.html, свободный. — Заглавие с экрана. — Яз. рус.

29. Рыбаков, А. В. Концепция роботизированного тепличного комплекса для выращивания томатов с одним оператором / А. В. Рыбаков, Е. Ю. Степанович, И. В. Михайлов [и др.] // Прикаспийский журнал: управление и высокие технологии. — 2021. — № 1 (53). — С. 116-126.

30. Матричный код (QR-код). — Режим доступа: http://www.russika.ru/ef.php?s=5337, свободный. — Заглавие с экрана. — Яз. рус.

1. Vsemirnaya organizatsiya zdravookhraneniya [World Health Organization]. Available at: http:// www.who.int/ru/.

2. Rybakov, A. V., Khodarova, Z. M. Perspektivy ispolzovaniya mobilnykh robotov s sistemami tekhnich-eskogo zreniya v selskom hozyaystve [Prospects for the use of mobile robots with technical vision systems in agriculture]. Simmetrii: teoreticheskiy i metodicheskiy aspekty : sbornik nauchnykh trudov VII Mezhdunarodnoy nauchno-prakticheskoy konferentsii [Symmetries: theoretical and methodological aspects : collection of scientific papers of the VII International Scientific and Practical Conference], 2018, pp. 39-46.

3. How Dogtooth Technologies’ intelligent robots are mastering strawberry-picking. Available at: https://www.cambridgeindependent.co.uk/business/how-dogtooth-technologies-intelligent-robots-aremastering-straw berry-picking-9050467/.

4. Vyrashchivanie rassady tomatov v domashnikh usloviyakh [Growing tomato seedlings at home]. Available at: https://chudoclumba.ru/vyrasivanie-rassady-tomatov-v-domasnih-usloviah/ (accessed 22.12.2020).

5. Rybakov, A. V. Likhter, A. M., Pogozheva, A. B., Mikhaylova, A. V., Dusaliev, A. B. Proektirovanie ro-bototekhnicheskikh manipulyatorov s sistemoy kompyuternogo zreniya dlya sbora tomatov [Design of robotic

manipulators with a computer vision system for picking tomatoes]. Prikaspiyskiy zhurnal: upravlenie i vysokie tekhnologii [Caspian Journal: Control and High Technologies], 2020, no. 3 (51), pp. 135-147.

6. Hongkun, Tian, Tianhai, Wang, Yadong, Liu, Xi, Qiao, Yanzhou, Li. Computer vision technology in agricultural automation. Information Processing in Agriculture, 2020, vol. 7, iss. 1, pp. 1-19. https://doi.org/10.1016/j. inpa.2019.09.006.

7. Perrez-Zavala, R., Torres-Torriti, M., Cheein, F. A., et al. A pattern recognition strategy for visual grape bunch detection in vineyards. Comput. Electron. Agric., 2018, vol. 151, pp. 136-49.

8. Fahmi, F., Trianda, D., Andayani, U., et al. Image processing analysis of geospatial uav orthophotos for palm oil plantation monitoring. J. Phys. Conf. Ser., 2018, vol. 978, p. 012064.

9. Sun, Y., Gao, J., Wang, K., et al. Utilization of machine vision tomonitor the dynamic responses of rice leaf morphology and colour to nitrogen, phosphorus, and potassium deficiencies. J. Spectroscopy, 2018, pp. 1-13.

10. Zhu, Y, Cao, Z, Lu, H., et al. In-field automatic observation of wheat heading stage using computer vision. Biosyst. Eng., 2016, vol. 143, pp. 28-41.

11. Sadeghi-Tehran, P., Sabermanesh, K., Virlet, N., et al. Automated method to determine two critical growth stages of wheat: heading and flowering. Front. Plant. Sci., 2017, no. 8, p. 252.

12. Yuan Ting, X. C. Information acquisition of cucumber fruit in greenhouse environment based on nearing infrared image. Spectrosc. Spect. Anal., 2009, no. 29 (8), pp. 2054-2058.

13. Zhang, Q., Chen, S. Yu. T., et al. Cherry recognition in natural environment based on the vision of picking robot. IOP Conf. Ser: Earth Environ. Sci., 2017, vol. 61, art. 012021.

14. Christopher, McCool IS, Feras, Dayoub, Christopher, Lehnert, Tristan, Perez, and Ben, Upcroft. Visual detection of occluded crop: for automated harvesting. International Conference on Robotics and Automation (ICRA), 2016, pp. 2506-2512.

15. Lu, Q. and Tang, M. J. Detection of hidden bruise on kiwi fruit using hyperspectral imaging and parallelepiped classification. ProcediaEnviron. Sci., Jan. 2012, vol. 12, pp. 1172-1179. DOI: 10.1016/j.proenv.2012.01.404.

16. Zhang, S., Wu, X., Zhang, S., Cheng, Q., and Tan, Z. An effective method to inspect and classify the bruising degree of apples based on the optical properties. Postharvest Biol. Technol., May 2017, vol. 127, pp. 44-52. DOI: 10.1016/j.postharvbio.2016.12.008.

17. Elien, D., Mattias, V. D., and Janos, K. Assessment of bruise volumes in apples using X-ray computed tomography. Postharvest Biol. Technol., Jun. 2017, vol. 128, pp. 24-32. DOI: 10.1016/j.postharvbio.2017.01.013.

18. Keresztes, J. C., Goodarzi, M., and Saeys, W. Real-time pixel based early apple bruise detection using short wave infrared hyperspectral imaging in combination with calibration and glare correction techniques. Food Control, Aug. 2016, vol. 66, no. 1, pp. 215-226. DOI: 10.1016/j.foodcont.2016.02.007.

19. Mochida, K., Koda, S., Inoue, K., et al. Computer vision-based phenotyping for improvement of plant productivity: a machine learning perspective. GigaScience, 2019, no. 8, pp. 1-53.

20. Vazquez-Arellano, M., Griepentrog, H. W., Reiser, D., et al. 3-D imaging systems for agricultural applications. A Review Sensors, 2016, vol. 16, pp. 1-24.

21. Mazzilli et al. UAV Inspection of Olive Trees for the Detection of Xylella Fastidiosa Disease Using Neural Networks. 17th International Workshop on Cellular Nanoscale Networks and their Applications (CNNA), 2021, pp. 1-4. DOI: 10.1109/CNNA49188.2021.9610752.

22. Jui-Cheng, Yen, Fu-Juay, Chang, & Shyang, Chang. A new criterion for automatic multilevel thresholding. IEEE Transactions on Image Processing, 1995, vol. 4 (3), pp. 370-378. DOI:10.1109/83.366472.

23. Niblack, W. An Introduction to Digital Image Processing. Prentice Hall, 1986, pp. 115-116.

24. Hough, P. V. C. Method and means for recognizing complex patterns : U.S. Patent. 1962, Dec. 18, no. 3, 069, 654.

25. Rybakov, A. V., Mikhaylov I. V., Arykbaev R. K. Analiz ispolzovaniya sistem kompyuternogo zreniya dlya kontrolya sostoyaniya rassady [Analysis of the use of computer vision systems for monitoring the state of seedlings]. Prikaspiyskiy mezhdunarodnyy molodyozhnyy nauchnyy forum agropromtekhnologiy i prodovolstvennoy bezopasnos-ti — 2019 : sbornik nauchnykh statey, Astrahan, 23-24 aprelya 2019 goda [Caspian International Youth Scientific Forum of Agro-Industrial Technologies and Food Security — 2019 : collection of scientific articles. Astrakhan, April 23-24]. Astrahan, Publishing House «Astrakhan University», 2019, pp. 57-60.

26. Andreev, S. V., Bondarev, A. E., Mikhailova, T. N., Ryzhova, I. G. Postroenie stereoanimatsionnykh pred-stavleniy na sovremennykh stereoustanovkakh aktivnogo I passivnogo tipov [Construction of stereoanimation representations on modern stereo installations of active and passive types]. Novye informatsionnye tekhnologii v avtomati-zorovannykh sistemakh [New Information Technologies in Automated Systems Founders: Moscow Institute of Electronics and Mathematics of the Higher School of Economics], 2018, no. 21, pp. 4-10.

27. Zuiderveld, K. Contrast Limited Adaptive Histogram Equalization. Graphics Gems IV. Academic Press, 1994. Available at: http://www.docin.com/p-119164091.html.

28. Neyroset zainteresovalas sornyakami [The neural network is interested in weeds]. Available at: https://agronomius.livejournal.com/22747.html.

29. Rybakov A. V., Stepanovich E. Yu., Mikhailov I. V. et al. Kontseptsiya robotizirovannogo teplichnogo kompleksa dlya vyrashchivaniya tomatov s odnim operatorom [The concept of a robotic greenhouse complex for growing tomatoes with one operator]. Prikaspiyskiy zhurnal: upravlenie i vysokie tekhnologii [Caspian Journal: Control and High Technologies], 2021, no. 1 (53), pp. 116-126.

L-Systems — математическая красота растений

Красота растений привлекала внимание математиков веками. Активнее всего изучались интересные геометрические свойства растений, такие как симметрия листьев относительно центральной оси, радиальная симметрия цветов, и спиральное расположение семечек в шишках. «Красота связана с симметрией» (H. Weyl. Symmetry). Во время роста живых организмов, особенно растений, можно четко видеть регулярно повторяющиеся многоклеточные структуры. В случае составных листьев, например, маленькие листочки, которые являются частью большого взрослого листа, имеют ту же форму, что весь лист имел на раннем этапе формирования.

В 1968г. Венгерский биолог и ботаник Аристид Линденмайер (Aristid Lindenmayer) предложил математическую модель для изучения развития простых многоклеточных организмов, которая позже была расширена и используется для моделирования сложных ветвящихся структур — разнообразных деревьев и цветов. Эта модель получила название Lindenmayer System, или просто L-System.

Для тех, кто в теме и не хочет все читать целиком, проскрольте вниз, есть вопрос.

Я буду сокращать L-System до L в тексте.

Rewriting.

Основная идея L — постоянная перезапись (rewriting) элементов строки. О чем это? Вкратце, rewriting — это способ получения сложных объектов путем замены частей простого начального объекта по некоторым правилам. Классическим примером является снежинка. На рисунке initiator — это начальный объект, грани которого заменяются на generator. Далее с новым объектом проделывается то же самое. В данном случае обычный фрактал.

Возвращаясь к L и проводя аналогию с фракталами, можно сказать, что L оперирует со строкой символов по специальным правилам, начиная с первоначальной простой аксиомы. Люди, знакомые с понятием грамматики, сразу заметят, что по сути L ей и является. Но фундаментальное отличие L от формальных грамматик состоит в том, что правила применяются одновременно ко всей строке, к каждому символу, плюс, нет понятий терминальных и нетерминальных символов. То есть «вывод» по этой грамматике может продолжаться бесконечно. Одновременность применения правил очень быстро становится понятна, если учесть откуда пришла эта модель. В биологии каждая клетка растет, делится и развивается параллельно во времени. На следующей картинке видно соотношение между контекстносвободными (OL), контекстнозависимыми (IL) L и другими формальными грамматиками в иерархии Хомского.

Самые простые L-Systems.

Также, как и в классификации Хомского, L имеют и свою классификацию от простых до сложных и мощных.

Самым простым примером являются детерминированные контекстносвободные L или сокращенно DOL. Я не люблю формальные определения грамматик, так что скажу просто своими словами. Есть некоторый набор символов — алфавит. Этим алфавитом записывается строка, с которой работает L. Есть аксиома — первоначальная строка из одной или более буквы и набор правил вида a → ab. Во время каждой итерации алгоритма, применяя правило к букве из текущей строки, она (буква) заменяется на набор букв справа от стрелки. Проще рассмотреть конкретный пример развития многоклеточного организма Anabaena catenula, который изучал Линденмайер, когда он предложил модель L.

Пусть наш алфавит состоит из следующих символов, каждый из которых обозначает некоторую клетку: al ar bl br.
Аксиома состоит из одного символа.
ω: ar

Правила говорят какие символы меняются на какие в процессе роста организма. На картинке видно как применяя правила мы наблюдаем «деление» клеток и развитие.

Черепашья интерпретация строк.

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

  • F — продвинуться вперед и нарисовать линию
  • f — продвинуться вперед ничего не рисуя
  • + — повернуть влево
  • — — повернуть вправо
  • & — повернуть вниз
  • ^ — повернуть вверх
  • \ — наклониться влево
  • / — наклониться вправо
  • | — развернуться на 180 градусов

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

Растения и ветвящиеся структуры.

Все, что было до этого является, в общем-то, непрерывными кривыми. Разумеется, таким образом весьма трудно смоделировать растения с их ветвящейся топологией. Для этого в алфавит были добавлены символы [ и ], которые обозначают начало и конец ветвления соответственно. Когда черепашка встречает символ [, ее текущее состояние пишется в стек и вытаскивается оттуда при встрече символа ].

Уже такой простой грамматикой можно сгенерировать довольно интересные двумерные и трехмерные объекты похожие на деревья.

Более сложные грамматики.

Разумеется, наука не стояла на месте, и сейчас мы имеем солидную иерархию L начиная с простых DOL рассмотренных ранее.

Стохастические L.

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

Контекстнозависимые L.

Также, как и контекстнозависимость в формальных граматиках, в L синтаксис правил усложняется и принимает во внимание окружение заменяемого символа.

Парамметрические L.

К каждому символу добавляется параметр-переменная (возможно не одна), которая позволяет, например указывать величину угла поворота для + и -, длину шага и толщину линии, проверять условия для применения правила, считать количество итераций и передавать «сигналы» вперед и назад. Пример парамметрической L.

ω : B(2)A(4, 4)
p1 : A(x, y) :y p2 : A(x, y) :y > 3 → B(x)A(x/y, 0)
p3 : B(x) 😡 < 1 → C
p4 : B(x) 😡 >= 1 → B(x − 1)

Парамметрические контекстнозависимые L позволяют моделировать рост многоклеточных организмов и растений с учетом биохимических процессов и окружающей среды. Например, наша старая знакомая Anabaena catenula в более сложной форме. Пример из книжки [1].

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

L-System ниже моделирует рост бактерии с учетом вышесказанного.

#define присваивает значения константам используемым в L.
#include загружает форму гетероциста, в данном случае круг.
Клетки представлены модулем F(s, t, c), где s — длина клетки, t — тип клетки (0 — гетероцист, 1 и 2 — вегетативные клетки), а c — концентрация азота.

#define CH 900 /* high concentration */
#define CT 0.4 /* concentration threshold */
#define ST 3.9 /* segment size threshold */
#include H /* heterocyst shape specification */
#ignore f ∼ H
ω : -(90)F(0,0,CH)F(4,1,CH)F(0,0,CH)
p1 : F(s,t,c) : t=1 & s>=6 → F(s/3*2,2,c)f(1)F(s/3,1,c)
p2 : F(s,t,c) : t=2 & s>=6 → F(s/3,2,c)f(1)F(s/3*2,1,c)
p3 : F(h,i,k) < F(s,t,c) >F(o,p,r) : s>ST|c>CT → F(s+.1,t,c+0.25*(k+r-3*c))
p4 : F(h,i,k) < F(s,t,c) >F(o,p,r) : !(s>ST|c>CT) → F(0,0,CH) ∼ H(1)
p5 : H(s) : s

Гипножаба.

Вот, например, недавняя гипножаба, покорившая интернет, по сути является комбинацией простейших L.

#define R 1.456
ω : A(1)
p1 : A(s) → F(s)[+A(s/R)][−A(s/R)]

Более advanced.

Это всего лишь поверхностное описание теории и небольшие примеры применения на практике. Что ждет любопытного исследователя дальше?

  • Моделирование роста двумерных и трехмерных многоклеточных организмов
  • Анимация роста организмов деревьев
  • Моделирование влияния окружающей среды
  • Моделирование химикобиологических процессов и growth functions
  • Применение L для генерации поверхностей
  • Другие разнообразные варианты использования, в том числе для моделирования недвижимости и городов

Примеры.

Использование.

Еще в конце 80х L использовались для визуализации моделей растений. Сейчас возможности компьютеров ушли далеко вперед. Многие игры и инструменты 3d моделирования используют процедурную генерацию контента, в том числе и L-Systems. Как видите, из набора простых правил можно получить огромное количество разных растений и засадить ими целые поля.

Из редакторов я сам пользуюсь L в Houdini, слышал, что есть плагины и для других пакетов. Так называемая Виртуальная Лаборатория позволяет экспериментировать и анимировать L.

Методы использования грамматик также используются в так называемых Shape Grammars, но об этом потом.

Книги и дополнительный материал.

Вообще говоря, единственная доступная книга — это The Algorithmic Beauty of Plants. Также, по интернету разбросаны старые рандомные статьи. Более-менее новые можно найти на springerlink.com за кучу денег или в институтской библиотеке забесплатно.

Что сказать, материала довольно маловато.

Околобиологические мысли.

Я сам имею ровно никакое отношение к биологии, а являюсь Магистром Математики с небольшими невиными увлечениями. Но мне чрезвычайно нравится идея L-Systems. Простота с огромными возможностями. Когда-то давно я задумывался как же так в ДНК содержится полная информация обо мне. Как же можно в каждую клетку впихнуть всю информацию обо всех клетках? А никак, можно сказать, теория L открыла мне глаза! У меня в ДНК написано не как я выгляжу, а как меня собрать (общими словами). Что-то похожее на набор правил в L, только относящееся к синтезу протеинов.

Простая модель так четко описывает нашу с вами жизнь.

Дальше больше — превращаем правила в «ДНК» и генетическим алгоритмом выращиваем виртуальных многоклеточных.

Научные мысли.

Мне бы хотелось найти людей, которые тоже заинтересованы в научной составляющей L, поделиться материалами и статьями. Так уж получилось, что я сейчас работаю над апгрейженной концепцией L-Systems, но не имею возможности просмотреть что писалось по этой теме за последние пять лет. Не хочется изобретать велосипед.

Связаться с автором КНИГИ не удалось, автоответчик говорит, что он уехал на шабаш до января (8

Также, я ищу информацию по Shape Grammars для 3d моделирования. Есть задача генерировать из параметров космические корабли, ну знаете такие огромные штуковины с кучей мелких деталей — идеальные кандидаты для SG. Неужели придется писать плагин для Houdini на Python?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *