Практика сегментации изображений на основе глубокого обучения в AutoNavi

глубокое обучение

Введение

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

Технология сегментации изображений изучается с момента зарождения цифровой обработки изображений в 1960. С постепенным углублением исследований в области глубокого обучения в последние годы технология сегментации изображений также претерпела огромное развитие. Ранние алгоритмы сегментации изображений не могли хорошо сегментировать некоторые объекты с абстрактной семантикой, такие как текст, животные, пешеходы, транспортные средства. Это связано с тем, что ранние алгоритмы сегментации изображений основывались на простых значениях пикселей или некоторых низкоуровневых функциях, таких как края, текстуры и т. д., и некоторым искусственно созданным описаниям сложно точно описать эту семантику. называется «смысловой пробел».

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

jiangfan2.png

(История развития сегментации изображений)

AutoNavi имеет большие данные изображения/видео и должен понимать содержимое изображения во многих бизнес-сценариях. Например, при автоматическом производстве данных обычно необходимо найти такие объекты, как слова, дороги, дома, мосты, знаки и дорожную разметку. Некоторые из этих данных собираются с помощью транспортных средств или спутников, а некоторые — с мобильных телефонов пользователей, как показано на следующем рисунке:

jiangfan3.png

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

2. Период разведки: некоторые ранние попытки

При сборе данных на улице нам необходимо автоматически создавать собранные данные POI (точки интереса), такие как сообщества и магазины. Мы идентифицировали текст с помощью алгоритма OCR, но были обеспокоены невозможностью определить, сколько POI было на захваченных изображениях. Например, на картинке ниже два магазина «Лин Сю Рен» и «Детская одежда Ласточка» легко различимы человеческим глазом, но не машинами. Некоторые простые стратегии, такие как цвет фона, подвержены множеству ошибок.

jiangfan4.png

Например, при обнаружении двух листингов с очень похожими стилями мы используем неконтролируемый алгоритм gPb-owt-ucm [1] для разделения изображения на несколько областей на основе обнаружения многоуровневых контуров и улучшенного алгоритма водораздела. результаты обнаружения текста Cascade Boosting для сегментации области с текстом на рисунке.

3. Период роста: семантическая сегментация в естественных сценах.

Полностью сверточные нейронные сети [2] (FCNs, Fully Convolutional Networks), появившиеся в конце 2014 года, несомненно, являются еще одной вехой в развитии глубокого обучения после победы в конкурсе ImageNet в 2012 году. FCN представляют собой первое комплексное решение для сегментации изображений с глубоким обучением. FCN основаны на CNN для выполнения попиксельной классификации входных данных любого размера. Мы также впервые реализовали его в собственных сценариях приложений AutoNavi, таких как сегментация текстовых областей. Из-за сложного фона, освещения, ориентации текста и шрифтов текста в естественных сценах очень сложно создавать функции вручную.

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

jiangfan5.png

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

jiangfan6.png

Еще одна тревожная проблема — ложная тревога в результатах FCN, то есть нетекстовые области делятся на текстовые. Хотя по сравнению с некоторыми традиционными методами ложных срабатываний в результатах FCN было намного меньше, но для достижения большей точности сегментации мы добавили параллельную подсеть R-CNN на основе исходной сети для обнаружения текста. результаты обнаружения для подавления генерации ложных тревог (False Alarms Suppression).

Чтобы сеть достигла лучших результатов за счет сквозного обучения, мы разработали функцию потери согласованности, чтобы гарантировать, что подсеть сегментации и подсеть обнаружения в магистральной сети могут направлять и оптимизировать друг друга. Как видно из карты энергопотребления, выводимой оптимизированной сетью сегментации, вероятность ложных срабатываний значительно снижается. Подробнее читайте в нашей статье, опубликованной на arxiv в 2017 году [3].

jiangfan7.png

4. Зрелая стадия: уточнение и конкретизация сегментации

Благодаря инфраструктуре Mask R-CNN [4] сегментация экземпляра изображения становится проще. Взяв в качестве примера сегментацию списка продавцов, упомянутого выше, сегментация области списка также очень склонна к слипанию, стили списка различны, и нет очевидной «центральной оси», такой как текстовые строки. Методы обнаружения объектов можно использовать для извлечения окружающего прямоугольника листинга. Но проблема в том, что съемка листингов в естественных сценах часто имеет невертикальный угол обзора, поэтому на изображении не прямоугольник, и обычный алгоритм обнаружения будет давать неточную оценку края. Mask R-CNN обеспечивает общую конкретизированную структуру сегментации изображений за счет хорошей интеграции ветвей обнаружения и сегментации. Ветвь обнаружения целей извлекает целевые области с помощью RPN и классифицирует их для создания экземпляров целей, а затем сегментирует эти целевые области для выделения точных границ.

Некоторые более сложные требования к пониманию сцены также выдвигают более высокие требования к точности сегментации изображения. Это в основном отражается в двух аспектах: (1) точность края (2) способность вспоминать цели разного масштаба.

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

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

jiangfan8.png

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

jiangfan9.png

Во-первых, из-за ограниченности поля восприятия сети непросто точно сегментировать объекты, которые слишком велики или слишком малы, например, дорожное покрытие и фонарные столбы на дорожных сценах, а также дороги и здания на спутниковых снимках. В ответ на эту проблему современные сетевые структуры, такие как PSPNet [5], DeepLab [6], FPN [7], могут быть решены в разной степени.

Во-вторых, из-за разных масштабов цели пропорция количества выборок сети сегментации крайне несбалансирована (каждый пиксель можно рассматривать как выборку), мы перенесли Focal Loss [8], первоначально использовавшуюся для задачи обнаружения цели, на изображение сеть сегментации. Характерной чертой Focal Loss является то, что ошибка может быть сосредоточена на неверных данных для обучения. Эта функция позволяет более точно сегментировать небольшие объекты, которые трудно изучить.

jiangfan10.png

V. Перспективы на будущее

Технология сегментации изображения в настоящее время развивается во все более точном направлении, например предложения Mask Scoring R-CNN [9] и Hybrid Task Cascade [10], которые непрерывно оптимизируют точность его сегментации на основе Mask R-CNN. . Однако с точки зрения приложения сегментация изображений на основе глубокого обучения является «неуклюжей» по сравнению с эквивалентной задачей классификации.

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

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

6. Ссылки

[1] Arbelaez, Pablo, et al. "Contour detection and hierarchical image segmentation." IEEE transactions on pattern analysis and machine intelligence 33.5 (2010): 898-916.

[2] Long, Jonathan, Evan Shelhamer, and Trevor Darrell. "Fully convolutional networks for semantic segmentation." Proceedings of the IEEE conference on computer vision and pattern recognition. 2015.

[3] Jiang, Fan, Zhihui Hao, and Xinran Liu. "Deep scene text detection with connected component proposals." arXiv preprint arXiv:1708.05133 (2017).

[4] He, Kaiming, et al. "Mask r-cnn." Proceedings of the IEEE international conference on computer vision. 2017.

[5] Zhao, Hengshuang, et al. "Pyramid scene parsing network." Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.

[6] Chen, Liang-Chieh, et al. "Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs." IEEE transactions on pattern analysis and machine intelligence 40.4 (2017): 834-848.

[7] Lin, Tsung-Yi, et al. "Feature pyramid networks for object detection." Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.

[8] Lin, Tsung-Yi, et al. "Focal loss for dense object detection." Proceedings of the IEEE international conference on computer vision. 2017.

[9] Huang, Zhaojin, et al. "Mask scoring r-cnn." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019.

[10] Chen, Kai, et al. "Hybrid task cascade for instance segmentation." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019.