Математическая морфология

Уменьшите размер изображений перед обучением модели.

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

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

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

В математической морфологии у нас есть структурирующий элемент (SE), который подобен ядру в операции свертки. SE может быть любого размера, 3*3 или 5*5 или что угодно. Мы должны определить его на основе проблемы, над которой мы работаем. Различают два типа морфологических операций:

  1. Эрозия: обычно используется для уменьшения объектов на изображении. Это похоже на пересечение A B в теории множеств, если вы принимаете A как изображение, а B как SE.

2.Расширение:- обычно используется для расширения объектов на изображении. Это похоже на объединение A B в теории множеств, если вы принимаете A как изображение, а B как SE.

Если мы объединим эти две операции, возможны две другие операции, которые можно использовать во многих приложениях.

  1. Отверстие:- Если мы выполняем эрозию с последующим расширением, это называется открытием. Эта операция используется для удаления шума с изображений и расширения основных объектов.

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

Приложения: Обнаружение границ, сжатие изображений без потери информации.

Я использовал математическую морфологию в одном из своих проектов «Обнаружение подделки подписи с помощью One-Shot Learning».

Ссылка на Github: — https://github.com/krishnasrujan/Signature-Forgery-Detection

Проблема, для которой я использовал морфологию, заключалась в том, чтобы решить низкое качество подписей и высокую размерность изображений. Изначально изображения были не размером 750*250 пикселей, но качество подписей было довольно низким, как показано ниже,

После выполнения морфологических операций размер изображения стал 250*75 с гораздо лучшим качеством, как показано ниже,

Пример кода для математической морфологии:

Если у вас есть вопросы, прокомментируйте их.