У ИИ большой потенциал: платформа NAIE помогает классифицировать мусор

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

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

Однако мусор часто является крайним вариантом товара, и ситуация здесь особая. На основе визуальной видимости современная технология может обеспечить классификацию мусора и напоминания о тревоге, например, определить, был ли отсортирован мусор. Что касается того, может ли он непосредственно выполнять визуальное обнаружение и классификацию и достигать определенного эффекта, необходимы дополнительные данные и экспериментальная поддержка, чтобы судить о возможности этого вопроса. В ответ на эти проблемы мы можем услышать от Haihua Waste Sorting Challenge, как участники используют технологии, чтобы изменить мир.

Данные Haihua Garbage Classification Challenge включают в себя наборы данных мусора одного класса и наборы данных мусора нескольких категорий. Набор данных одноклассового мусора содержит 80 000 изображений бытового мусора одного класса, и каждое изображение мусора одного класса имеет только один экземпляр мусора. Набор данных мультиклассового мусора включает 4998 изображений, из которых 2998 мультиклассовых изображений мусора используются в качестве данных обучающего набора.Каждый из списков A и B содержит 1000 тестовых изображений, а каждое мультиклассовое изображение мусора содержит не более 20 типов мусора. экземпляры. Мы представим два набора данных отдельно.

1. Мультикатегорийный мусор

Рис. 1. Распределение данных по разным категориям мусора по категориям

Как показано на рисунке 1, мультикатегорийный мусор охватывает 204 типа мусора, но данные по этим 204 типам очень несбалансированы, а некоторых категорий очень мало или они вообще отсутствуют.

Рис. 2. Визуализация многокатегорийных данных о мусоре

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

Из наблюдений и статистики на рисунках 1 и 2 можно сделать несколько выводов:

(1) Поскольку объект часто появляется на нескольких изображениях, переоснащение этих целей очень эффективно, поэтому в этом соревновании AP можно натренировать до более чем 90. Поэтому можно рассматривать магистрали с большими параметрами, такие как ResNext101 X64+DCN.

(2) Изображение взято из вида сверху, и эффективны как горизонтальное, так и вертикальное отражение.

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

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

Таблица 1 Статистика

В дополнение к макростатистике на уровне изображения мы также проводим подробный анализ объектов в наборе данных. Таблица 1 показывает статистику целевого размера и соотношения сторон. В первую очередь длина объекта делится по кокосу.Те, что больше 96 относятся к крупным объектам, а 75% мишеней - крупные объекты, а это значит, что метод улучшения мелких объектов в принципе неэффективен. Во-вторых, мало крупномасштабных объектов в соотношении сторон, что дает нам много вдохновения для настройки параметров якоря.

2. Мусор одной категории

Мусор одной категории в основном содержит 80 000 изображений, каждое из которых имеет 1 цель.Как показано на двух рисунках слева, цели мусора одной категории больше. Есть две основные идеи использования одного класса: одна состоит в том, чтобы расширить данные с помощью нескольких категорий, а другая — использовать набор данных одного класса для обучения, чтобы получить лучшую модель предварительного обучения.

Рисунок 3 Сравнение данных

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

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

3. Схема модели:


1.Baseline

Рисунок 4. Базовая схема

Наша базовая линия выбирает Cascade RCNN, реализованную mmdetection, а магистраль выбирает ResNeXt101 X64+DCN. Поскольку в этом соревновании используется индекс оценки кокоса AP50:95, Cascade RCNN может достичь очень хороших результатов, установив различные пороговые значения для регрессии. Кроме того, более крупные магистрали, как правило, дают лучшие результаты в этом наборе данных.

2. Регулировка параметров

На начальном этапе конкурса мы отобрали 2500 обучающих данных и 498 локальных проверочных данных из обучающей выборки и на этой основе скорректировали параметры. Из-за высокой степени перекрытия целей эффект лучше, когда порог softnms равен 0,001, max_per_img = 300 и используется флип-тест.По сравнению с отсутствием использования этих параметров, его можно улучшить примерно на 0,02. Произвольно обрезать область изображения (0,8w, 0,8h) из изображения из-за ограничения видеопамяти, а затем произвольно ограничить короткую сторону между [640, 960] и длинную сторону до 1800 для многомасштабного обучения, и изображение умеренно увеличено по короткой стороне во время тестирования.При установке значения 1200 точность можно повысить до 88,3%, в сочетании с обучением точности OHEM до примерно 88,6%, и 498 локально проверенных изображений также вводятся в обучение, который может увеличиться примерно на 0,5% до 89,2%.

Для небольшого количества категорий мы добавили дополнительные аннотации к категориям удаления моллюсков, улиток, диодов и косточек сливы в мультиклассовом обучающем наборе и отметили некоторые неоднозначные цели, чтобы улучшить скорость отзыва.Имеется более 100 целей. , который может быть улучшен примерно до 90% в списке А.

Как показано на рисунке 5, для настройки привязки мы корректируем соотношение привязки от [0,5, 1,0, 2,0] до [2,0/3,0, 1,0, 1,5]. Кроме того, чтобы улучшить способность обнаружения крупных объектов, мы скорректировали деление уровня FPN с 56 до 70, что эквивалентно увеличению целей, назначаемых каждым уровнем FPN, а затем мы изменили масштаб привязки с От 8 до 12 для этих крупных объектов.

Рисунок 5. Модификация анкера

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

Рисунок 6. Изменения в распределении количества целей на FPN

Во время улучшения изображения мы добавили онлайн-смешение для 24 эпох обучения, которое может улучшиться до 91,2% ~ 91,3%, но улучшения нет, когда есть только 12 эпох. Смешение, которое мы установили, относительно простое, два изображения сливаются с коэффициентом 0,5, поэтому нет необходимости взвешивать потери.

Рис. 7. Визуализация миксапа

3. Слияние моделей

В предыдущем процессе тестирования мы думали, что скорость 1080Ti и 2080 не должна сильно отличаться.На каждый тест на 1080Ti уходит около 40 минут, поэтому мы выбираем только около 3-х моделей, что является недостатком. Список B, мы обнаружили, что 2080 на самом деле намного быстрее, чем 1080Ti.Мы использовали только одну модель плюс флип-тест в течение 25 минут.Если используется больше моделей, оценка может быть улучшена. Мы используем Cascade RCNN на основе ResNext101 x32+gcb+DCN, Cascade RCNN на основе ResNext101 x64+DCN, Cascade RCNN с управляемой привязкой на основе ResNext101 x64+DCN. Для метода, используемого для слияния, эффекты, достигаемые разными методами, не сильно отличаются.Метод, который мы используем, - это метод, представленный в статье «Слияние взвешенных ящиков: сборка блоков для моделей обнаружения объектов», а порог слияния установлен на 0,8. .

Рис. 8. Визуализация wbf

4. Эффект параметра

Таблица 2 Настройки параметров

Рис. 9 Изменение точности списка А

4. Развертывание и использование платформы NAIE

1. Понимание платформы

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

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

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

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

2. Развертывание модели

Здесь в качестве примера взято развертывание mmdetection.

  • 1) Загрузка кода

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

  • 2) Развертывание среды

Для развертывания среды необходимо написать файл requirements.txt в области локального кода, в котором указаны требуемая библиотека Python и номер версии.

  • 3) Прогон модели

Платформа не поддерживает запуск файлов sh, поэтому вам нужно написать py, такой как model.py, который использует os.system() для выполнения в командной строке.

Кроме того, в model.py следует вызвать пакет moxing, чтобы сохранить обученную модель в облаке.

В области обучения модели выберите model.py и требуемые спецификации графического процессора для обучения.

  • 4) Дополнительная добавка

Невозможно загрузить большие файлы напрямую через загрузку NAIE, поэтому вы можете написать программу в локальной области отладки, например, debug.py, вызвать wget в программе для загрузки файла и передать его в облако через пакет moxing. .В процессе обучения вы можете скачать файл model.py.py использует пакет moxing и затем передает его на сервер.

Несколько участников, наконец, завершили соревнование и получили награды.Хотя рейтинги не были особенно высокими, они все же накопили большой опыт в ходе соревнований. Они сказали, что их достижения неотделимы от вычислительной мощности учебной платформы Huawei NAIE.Учебная платформа Huawei NAIE предоставляет графические карты V100 и P100 для бесплатного обучения, что оказало большую помощь для наших научных исследований и участия в соревнованиях.Это очень удобно, и проблемы, возникающие на ранней стадии платформы, могут быть своевременно разрешены или им может быть оказана помощь. Я надеюсь, что этот обмен может дать вам некоторый опыт, чтобы учиться и избегать ловушек.

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

[1]. Cai Z , Vasconcelos N . Cascade R-CNN: Delving into High Quality Object Detection[J]. 2017.

[2]. Zhang H , Cisse M , Dauphin Y N , et al. mixup: Beyond Empirical Risk Minimization[J]. 2017.

[3]. Solovyev R , Wang W . Weighted Boxes Fusion: ensembling boxes for object detection models[J]. arXiv, 2019.

[4] П. Ван, С. Сун, В. Диао и К. Фу, «Fmssd: однократное обнаружение с объединением признаков для многомасштабных объектов в крупномасштабных изображениях дистанционного зондирования», IEEE Transactions on Geoscience and Remote Sensing. , 2019.

[5]. Zhang S , Chi C , Yao Y , et al. Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection[J]. 2019.

[6]. Pang J , Chen K , Shi J , et al. Libra R-CNN: Towards Balanced Learning for Object Detection[J]. 2019.

[7]. Deng L , Yang M , Li T , et al. RFBNet: Deep Multimodal Networks with Residual Fusion Blocks for RGB-D Semantic Segmentation[J]. 2019.

[8]. Ren S , He K , Girshick R , et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 39(6).

[9] Лин Т. Ю., Доллар, Петр, Гиршик Р. и др. Сети пирамидальных свойств для обнаружения объектов [J], 2016.

[10] Дж. Дай, Х. Ци, Ю. Сюн, Ю. Ли, Г. Чжан, Х. Ху и Ю. Вей, «Деформируемые сверточные сети», в материалах международной конференции IEEE по компьютерному зрению, 2017. С. 764–773.

[11] X. Zhu, H. Hu, S. Lin и J. Dai, «Deformable convnets v2: более деформируемые, лучшие результаты», в материалах конференции IEEE по компьютерному зрению и распознаванию образов, 2019 г., стр. 9308–9316.

[12] Z. Huang, X. Wang, L. Huang, C. Huang, Y. Wei, and W. Liu, «Ccnet: перекрестное внимание для семантической сегментации», в материалах Международной конференции IEEE по компьютерам. Видение, 2019, стр. 603–612.

[13]. Wang J , Chen K , Yang S , et al. Region Proposal by Guided Anchoring[J]. 2019.


Нажмите «Подписаться», чтобы впервые узнать о новых технологиях HUAWEI CLOUD~