Обнаружение повреждений молью в лиственничных лесах Вестергётланда с помощью компьютерного зрения

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

Это не означает, что шведские леса не сталкиваются с проблемами. Как и во многих других частях света, инвазивные насекомые-вредители могут нанести значительный ущерб северным лесам. В юго-западном районе Вестергётланда лиственница, маленькая тускло-серая пяденица, наносит значительный экономический ущерб. Самка откладывает яйца на иголки лиственницы. Затем личинка проедает свой путь через внутреннюю часть этой иглы и соседние иглы, превращая внешнюю сторону ранее съеденной иглы в защитный футляр (отсюда и прозвище «носитель»).

Личинка около 5 мм в длину (у американцев менее 1/5 дюйма); шансы увидеть одного невелики. Если бы хотя бы одно или несколько таких существ когда-либо приземлились на одном дереве, их, вероятно, никогда не заметили бы. Лиственница - большие деревья, до 45 м; любой организм такого размера может справиться с несколькими микроскопическими паразитами. Проблема в том, что этих бабочек намного больше, чем несколько. Хотя самих насекомых не видно, ущерб, который они наносят, есть. И если это видно, модель компьютерного зрения может научиться это обнаруживать.

Шведское лесное агентство опубликовало набор данных, состоящий из фотографий лиственничных лесов в пяти районах Вестергётланда, сделанных с помощью дронов. Снимки были сделаны за два дня, 27 мая и 19 августа 2019 года, в пяти регионах Вестергётланда (Бебехойд, Экбака, Ялласваг, Кампе и Нордкап). Все изображения поставляются с файлами XML, содержащими координаты ограничивающей рамки и метки. Этикетки указывают, является ли дерево, заключенное в ограничивающую рамку, лиственницей или каким-либо другим видом (скорее всего, ель, хотя только две ограничивающие рамки обозначены как таковые). Ярлыки для майских изображений также включают уровень повреждений, нанесенных лиственницей, если дерево является лиственницей. Уровни урона: здоровый, низкий урон и высокий урон.

Данные Сводка

Лиственницы составляют почти 80% помеченных деревьев в майских данных, но только около 70% в августовских данных. Данные за август содержат в целом меньше изображений, 698 против 836, но на 1900 деревьев больше, кроме лиственницы.

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

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

Европейская лиственница - не самая темная из хвойных пород. Даже здоровые деревья значительно светлее, чем многие их соседи, а иглы имеют слегка голубоватый оттенок.

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

К тому времени, когда заражение достигло фазы высокого повреждения, все иголки, оставленные деревьями, стали коричневыми.

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

Настройка модели

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

Все изображения, собранные дроном, имеют размер 1500x1500. Хотя единообразие ценится, размер слишком велик для всех моделей EfficientDet, кроме самых крупных. Фактически, модели EfficientDet довольно разборчивы в отношении размеров входных данных, которые они используют для обучения. Самый маленький, D0, занимает 512x512, а следующий по размеру, D1, занимает 640x640. Опыт показал, что отсутствие корректировки входных данных до этих размеров неизменно приводит к потере производительности.

К счастью, обрезка и изменение размера являются стандартными частями конвейеров предварительной обработки глубокого обучения. Обрезка и изменение размера обычно сопровождаются небольшим растяжением и сжатием; случайные культуры берутся с соотношением от 4: 3 до 3: 4, которые затем масштабируются до 1: 1. Значение такого шага для решения этой проблемы спорно. Можно ли придать изображениям деревьев нереалистичные формы? Вероятно, не с таким соотношением высоты к ширине; Полученные изображения, вероятно, все еще отражают естественный вид деревьев в дикой природе.

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

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

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

Параметры обучения для модели достаточно стандартные. Начальная скорость обучения 2,56e-3 и оптимизатор Adam со снижением веса 4e-5 показали хорошие результаты. Правило спада скорости обучения косинуса немного превзошло экспоненциальное затухание; кажется, что модель должна делать большие шаги в течение некоторого времени, чтобы найти оптимальную область, но затем скорость обучения должна быстро снижаться. Поскольку считается, что Адам находит оптимумы в узких долинах, такое поведение неудивительно. Потеря фокуса является значением по умолчанию для этой реализации EfficientDet; К счастью, классы серьезно разбалансированы. Модель обучена для 200 эпох, с сохранением трех наиболее эффективных эпох из набора для проверки.

Размер модели, или, точнее, ограничения памяти Colab, диктуют размер партии. Размер пакета 8 подходит для EfficientDet0 и EfficientDet1, но его нужно уменьшить до 4 для EfficientDet2. Конечным результатом является небольшое снижение точности при переходе от D1 к D2.

Результаты

Общие результаты идентификации хорошие: карта COCO составляет 48,6 для EfficientDet0 и 50,8 для EfficientDet1. Для EfficientDet2 этот показатель снижается до 50,1 из-за меньшего размера пакетов, используемых при обучении. Более практично, поскольку оно отражает фактически используемые прогнозы, AP @ 50 составляет 75,9 для D0, 79,0 для D1 и 77,4 для D2. Очки для отдельных классов различаются в зависимости от частоты классов, самые высокие - за низкий урон, самые низкие - за здоровые.

Снижение точности модели D2 в основном связано с уменьшением способности обнаруживать здоровые деревья. Обнаружение низкого урона немного увеличивается, а высокий урон примерно постоянен. Класс «Здоровый» также показывает наибольшее улучшение при переходе от D0 к D1. Поскольку при переходе от D0 к D1 точность действительно улучшается по всем направлениям, кажется, нет особых причин использовать D0 в производстве (если только ограничения ЦП не очень жесткие). Выбор между D1 и D2 - это суждение, но поскольку D1 значительно лучше справляется с менее частыми классами, это, вероятно, лучшая модель.

Напомним очень хорошо. Учитывая большое количество наземных наблюдений на изображение, в среднем 65, традиционные меры, такие как AR @ 1 и AR @ 10, не имеют большого смысла. AR @ 100 и общий средний отзыв по всем обнаружениям - полезные метрики. И снова D1 - самая эффективная модель.

Интересно отметить, что отзыв для High Damage превосходит отзыв для Other при переходе от AR @ 100 к AR. Поскольку категорию «Другое» легче всего отличить от трех других, обычно она имеет более глубокий оттенок зеленого, обнаружение других категорий может иметь более высокий рейтинг, чем «Высокий урон» на изображении, где оба появляются.

Средняя средняя точность и средний отзыв являются эффективными показателями производительности модели, но сами по себе не говорят о том, как модель может быть использована на практике. Для этого нужен еще один пункт - порог. Наивный выбор порога будет 0,5, все обнаружения выше сохраняются, а все обнаружения ниже отбрасываются. Наивный выбор почти никогда не бывает правильным выбором в мультиклассовых задачах. Чтобы выбрать лучший порог, найдите порог, уравновешивающий точность и отзывчивость. Нет очевидных причин отдавать предпочтение одному перед другим; оценка F1 подходит для определения оптимального порога.

Используя диапазон пороговых значений 0.0:1.0:0.01, вычислите оценку F1 на каждом пороге. F1 вычисляется для каждого класса независимо, а затем усредняется. Для модели D0 оптимальная оценка F1 составляет 0,4, а для D1 оптимальная оценка составляет 0,409. Модель D2 имеет оптимальный порог 0,379.

На приведенном выше изображении MAP 56,2, что немного выше, чем общее значение MAP, равное 50,8. Прогнозы и наземная истина явно совпадают довольно близко. Наиболее очевидное несоответствие - это склонность прогноза к чрезмерному количеству деревьев, кроме лиственницы. В некоторых случаях неясно, обнаруживает ли модель слишком много деревьев или аннотаторы пропустили некоторые. Три зеленых поля обнаружения в верхнем левом углу должно быть только два, но маленький зеленый ложный срабатывание чуть ниже ложного срабатывания High Damage справа действительно выглядит как дерево, которое должно быть на земле. Если на то пошло, ложное срабатывание High Damage выглядит мертвым или умирающим деревом; ли это лиственница - вопрос открытый.

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

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

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

То же самое и с изображениями, в которых преобладают деревья с высоким повреждением. На изображении выше есть небольшой уклон в сторону обозначения деревьев как High Damge, если рядом есть другие деревья с High Damge. Кластер деревьев с низким повреждением в нижнем левом углу меньше на изображении с ограничивающими рамками, предсказанными моделью, а некоторые деревья с низким повреждением в середине слева были отброшены или вообще помечены как высокий урон.

Сосредоточиться на ошибках прогнозирования легко; они всегда визуально очевидны, но точность модели в целом остается хорошей. Модель большего размера, обученная на достаточно большом размере партии, по-прежнему будет работать лучше, но в настоящее время это невозможно с Colab. Учитывая доступные инструменты, эту модель можно было бы назвать успешной.

Образец кода

Блокнот для обучения модели EfficientDet1.

Блокнот с кодом для генерации прогнозов. (Только для пояснительных целей.)

Блокнот с кодом для оценки. (Только для пояснительных целей.)

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

Лицензии

Цитируется прямо из хранилища данных:

Этикетки выпускаются в соответствии с Лицензионным соглашением о данных сообщества (разрешительный вариант).

Что касается изображений с дронов, Шведское лесное агентство получило разрешение на распространение географических данных от Lantmäteriet, органа, принадлежащего Министерству финансов Швеции.

использованная литература

Mingxing Tan, Ruoming Pang и Quoc V. Le. EfficientDet: масштабируемое и эффективное обнаружение объектов. Труды конференции IEEE по компьютерному зрению и распознаванию образов, 2020.

Шведское лесное агентство (2021 г.): Ущерб лесам - Лиственничник 1.0. Национальная лаборатория лесных данных. Набор данных.