Нейронные сети улучшают качество изображений, полученных при помощи телескопа

AlexNet — свёрточная нейронная сеть для классификации изображений

AlexNet — сверточная нейронная сеть, которая оказала большое влияние на развитие машинного обучения, в особенности — на алгоритмы компьютерного зрения. Сеть с большим отрывом выиграла конкурс по распознаванию изображений ImageNet LSVRC-2012 в 2012 году (с количеством ошибок 15,3% против 26,2% у второго места).

Архитектура AlexNet схожа с созданной Yann LeCum сетью LeNet. Однако у AlexNet больше фильтров на слое и вложенных сверточных слоев. Сеть включает в себя свертки, максимальное объединение, дропаут, аугментацию данных, функции активаций ReLU и стохастический градиентный спуск.

Особенности AlexNet

  1. Как функция активации используется Relu вместо арктангенса для добавления в модель нелинейности. За счет этого при одинаковой точности метода скорость становится в 6 раз быстрее.

  2. Использование дропаута вместо регуляризации решает проблему переобучения. Однако время обучения удваивается с показателем дропаута 0,5.
  3. Производится перекрытие объединений для уменьшения размера сети.

    За счет этого уровень ошибок первого и пятого уровней снижаются до 0,4% и 0,3%, соответственно.

Датасет ImageNet

ImageNet — набор из 15 миллионов помеченных изображений с высоким разрешением, разделенных на 22 000 категорий. Изображения собраны в интернете и помечены вручную с помощью краудсорсинга Amazon’s Mechanical Turk.

Начиная с 2010 года проводится ежегодный конкурс ImageNet Large-Scale Visual Recognition Challenge (ILSVRC), являющийся частью Pascal Visual Object Challenge. В челлендже используется часть датасета ImageNet с 1000 изображений в каждой из 1000 категорий.

Всего получается 1,2 миллиона изображений для обучения, 50 000 изображений для проверки и 150 000 — для тестирования. ImageNet состоит из изображений с разным разрешением. Поэтому для конкурса их масштабируют до фиксированного разрешения 256 × 256.

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

Архитектура

Рисунок 1

Архитектура сети приведена на рисунке 1. AlexNet содержит восемь слоев с весовыми коэффициентами. Первые пять из них сверточные, а остальные три — полносвязные. Выходные данные пропускаются через функцию потерь softmax, которая формирует распределение 1000 меток классов.

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

Обратите внимание

Ядра третьего сверточного слоя связаны со всеми картами ядер второго слоя. Нейроны в полносвязных слоях связаны со всеми нейронами предыдущего слоя.

Таким образом, AlexNet содержит 5 сверточных слоев и 3 полносвязных слоя. Relu применяется после каждого сверточного и полносвязного слоя. Дропаут применяется перед первым и вторым полносвязными слоями. Сеть содержит 62,3 миллиона параметров и затрачивает 1,1 миллиарда вычислений при прямом проходе.  Сверточные слои, на которые приходится 6% всех параметров, производят 95% вычислений.

Обучение

AlexNet проходит 90 эпох. Обучение занимает 6 дней одновременно на двух графических процессорах Nvidia Geforce GTX 580, что является причиной того, что сеть разделена на две части.

Используется стохастический градиентный спуск со скоростью обучения 0,01, импульсом 0,9 и распадом весовых коэффициентов 0,0005. Скорость обучения делится на 10 после насыщения точности и снижается в 3 раза в течение обучения.

Схема обновления весовых коэффициентов w имеет вид:

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

Примеры использования и реализация

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

Через год после публикации AlexNet все участники конкурса ImageNet стали использовать сверточные нейронные сети для решения задачи классификации. AlexNet была первой реализацией сверточных нейронных сетей и открыла новую эру исследований.

Сейчас реализовать AlexNet стало проще с помощью библиотек глубокого обучения: PyTorch, TensorFlow, Keras.

Результат

Сеть достигает следующего уровня ошибок первого и пятого уровней: 37,5% и 17,0%, соответственно.

Лучшая производительность, достигнутая в ходе конкурса ILSVRC-2010, составляла 47,1% и 28,2% при использовании подхода, в котором усредняются предсказания, полученные шестью моделями с разреженным кодированием, обученных на различных векторах свойств.

  С тех пор достигнуты результаты: 45,7% и 25,7% при использовании подхода, в котором усредняются предсказания двух классификаторов, обучаемых на векторах Фишера. Результаты ILSVRC-2010 приведены в таблице 1.

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

Источник: https://neurohive.io/ru/vidy-nejrosetej/alexnet-svjortochnaja-nejronnaja-set-dlja-raspoznavanija-izobrazhenij/

Как нейронные сети Google видят изображения

Инженеры Google Александр Мордвинцев, Крисофер Ола и Майк Тика поделились в блоге Google Research удивительными изображениями.

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

Нейросети, с помощью которых распознаются изображения, состоят из 10-30 связанных слоев.

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

Важно

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

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

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

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

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

То, какое у системы получится изображение, зависит от выбранного для распознавания слоя. Базовые слои найдут только общие формы и простые геометрические фигуры (как на фотографии с антилопами выше), зато более высокие увидят на любой фотографии сложные объекы. Вот что, например, нейросеть увидела на фотографии облаков.

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

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

Различные орнаменты, увиденные системой.

Система ищет знакомые черты в картине Жоржа Сёра.

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

Рисунок, полученный с помощью нескольких итераций.

Рисунок, полученный с помощью нескольких итераций.

Рисунок, полученный с помощью нескольких итераций.

Рисунок, полученный с помощью нескольких итераций.

Рисунок, полученный с помощью нескольких итераций.

Рисунок, полученный с помощью нескольких итераций.

Совет

Нейрофизиологи отмечают, что система распознавания образов мозгом устроена схожим образом.

Источник: https://deadbees.net/kak-nejronnye-seti-google-vidyat-izobrazheniya/

Анализируем изображения с помощью нейронных сетей

В курсе “Глубокое обучение на Python” мы научились обучать нейронные сети для распознавания рукописных цифр и объектов из набора данных CIFAR-10. Давайте посмотрим, как применять эти нейронные сети для анализа своих изображений.

Распознавание рукописных цифр

Начнем с распознавания рукописных цифр. Читатели прислали мне несколько отсканированных картинок с рукописными цифрами. Вот одна из них:

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

Keras содержит специальный модуль для работы с изображениями, который называется image. С его помощью можно быстро загрузить изображение из файла и преобразовать его в массив numpy, который мы можем передать модели для распознавания:

import numpy as np
from keras.preprocessing import image # Загружаем изображение
img_path = '2.png'
img = image.load_img(img_path, target_size=(28, 28), grayscale=True) # Преобразуем изображением в массив numpy
x = image.img_to_array(img) # Инвертируем и нормализуем изображение
x = 255 – x
x /= 255
x = np.expand_dims(x, axis=0)

Загружаем из файла обученную сверточную нейронную сеть:

json_file = open(“mnist_model.json”, “r”)
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)
loaded_model.load_weights(“mnist_model.h5”)

Компилируем модель перед использованием

loaded_model.compile(loss=”categorical_crossentropy”, optimizer=”adam”, metrics=[“accuracy”])

Теперь мы готовы к распознаванию цифры. Для распознавания вызываем метод модели predict:

prediction = loaded_model.predict(x)

Модель выдает массив из 10 значений в формате One Hot Encoding. Выбираем индекс максимального значения и печатаем его:

print(np.argmax(prediction))

[2]

Распознавание объектов на изображениях

Давайте рассмотрим более сложную задачу – распознавание объектов на изображении. Будем использовать нейронную сеть, обученную на наборе данных CIFAR-10. Попробуем распознать картинку самолета, которую сеть не видела в процессе обучения:

Загружаем изображение в Keras:

import numpy as np
from keras.preprocessing import image img_path = 'plane.jpg'
img = image.load_img(img_path, target_size=(32, 32))

В отличие от рукописных цифр, в этот раз изображение цветное и его размер 32х32, в соответствии с форматом CIFAR-10. Преобразуем картинку в массив numpy:

x = image.img_to_array(img)
x /= 255
x = np.expand_dims(x, axis=0)

Загружаем сеть, обученную на наборе данных CIFAR-10, и компилируем модель:

json_file = open(“cifar10_model.json”, “r”)
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)
loaded_model.load_weights(“cifar10_model.h5”)
loaded_model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

Запускаем распознавание объекта:

prediction = loaded_model.predict(x)

Для удобства вывода задаем список с названиями классов объектов:

classes=['самолет', 'автомобиль', 'птица', 'кот', 'олень', 'собака', 'лягушка', 'лошадь', 'корабль', 'грузовик']

Печатаем результат распознавания:

print(classes[np.argmax(prediction)])

[самолет]

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

Обратите внимание

Давайте попробуем дать нейронной сети более сложную задачу – распознать не фотографию объекта, а рисунок. Например, вот такой рисунок лошади:

Запускаем программу и получаем результат:

[лошадь]

Нейронная сеть сумела распознать объект даже на рисунке, хотя мы обучали ее только на фотографиях!

Итоги

Мы научились применять нейронные сети для анализа любых изображений, а не только тех, которые входят в стандартные наборы данных для обучения. В Keras для этого есть класс image из модуля keras.preprocessing.

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

Полезные ссылки

Источник: https://www.asozykin.ru/deep_learning/2017/06/20/Image-Classification-Using-Neural-Networks.html

Нейросетевые методы распознавания изображений (стр. 2 из 3)

Нейронные сети высокого порядка (НСВП) отличаются от МНС тем, что у них только один слой, но на входы нейронов поступают так же термы высокого порядка, являющиеся произведением двух или более компонент входного вектора [1]. Такие сети так же могут формировать сложные разделяющие поверхности.

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

Особенность такой сети заключаются в том, что для обучения некоторому классу достаточно предъявить его образ без вариаций масштабов и поворотов – после обучения сеть будет распознавать известные классы инвариантно к масштабу и поворотам. Такая сеть не является полносвязной, быстро обучается и работает.

Отмечено существенное повышение точности классификации такой сетью повёрнутых и масштабированных изображений по сравнению с МНС.

3. Нейронные сети Хопфилда

НС Хопфилда (НСХ) является однослойной и полносвязной (связи нейронов на самих себя отсутствуют), её выходы связаны со входами. В отличие от МНС, НСХ является релаксационной – т.е.

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

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

Важно

Для исследования динамики функционирования НСХ используются методы Ляпунова. Показано [1], что асинхронная НСХ всегда сходится к устойчивым точкам, а аттракторами синхронной НСХ являются устойчивые стационарные точки и предельные циклы длины два.

Таким образом НСХ из начального состояния сходится к ближайшему локальному минимуму энергии сети, состояние нейронов в котором и будет восстановленным образом для задач распознавания, и решением – для оптимизационных задач. Для поиска глобального минимума применительно к оптимизационным задачам используют стохастические модификации НСХ [1].

Применение НСХ в качестве ассоциативной памяти позволяет точно восстанавливать образы, которым сеть обучена, при подаче на вход искажённого образа. При этом сеть “вспомнит” наиболее близкий (в смысле локального минимума энергии) образ, и таким образом распознает его.

Такое функционирование так же можно представить как последовательное применение автоассоциативной памяти, описанной выше. В отличие от автоассоциативной памяти НСХ идеально точно восстановит образ.

Для избежания интерференционных минимумов и повышения ёмкости сети используют различные методы [1,13]. В работе [13] описано применение НСХ, где распознаваемое изображение лица сначала подавалось на НСХ, выход которой затем сравнивался с хранимыми изображениями.

Отмечено, что предварительная обработка входного изображения при помощи НСХ существенно повышает точность распознавания.

Применение НСХ в качестве оптимизационного метода для восстановления пространственной формы лица по двумерному полутоновому изображению (а так же для детектирования граней) описано в [14].

Совет

Здесь используется вариация НСХ – ячеистая нейронная сеть (ЯНС), в которой нейроны связаны только с ближайшими соседями из двумерной области. Матрица связей одинакова для всех нейронов и определяется характером задачи.

Отмечаются хорошие результаты восстановления трёхмерной формы (в частности для изображений лиц) и высокая скорость работы.

4. Самоорганизующиеся нейронные сети Кохонена

Самоорганизующиеся нейронные сети Кохонена (СНСК) обеспечивают топологическое упорядочивание входного пространства образов. Они позволяют топологически непрерывно отображать входное n-мерное пространство в выходное m-мерное, m

Источник: http://MirZnanii.com/a/172859-2/neyrosetevye-metody-raspoznavaniya-izobrazheniy-2

Нейронные сети и распознавание изображений

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

Нейронные сети и машинное обучение

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

Схематичное изображение 3-уровневой нейронной сети, источник

Для распознавания изображений используются сверточные нейронные сети (англ. convolutional neural network — CNN) глубиной 19, 50 или даже 1 000 слоев. CNN получает изображение и выдает 5 предположений, ранжированных по вероятности.

Критерием точности негласно признают ImageNet Challenge, цель которого научить CNN классифицировать картинки по 1 000 категорий (телевизор, кабриолет, собака и т.п.). 1,2 млн изображений используется для тренировки, 100 000 для тестирования и еще 50 000 – для валидации.

Примеры того, как нейронная сеть AlexNet распознает объекты на картинках

Чем чаще топовая категория оказывается верной, тем точнее CNN и ниже top-1 error rate (коэффициент ошибки топ-1). Для top-5 error rate ошибкой считается, если среди 5 лучших вариантов нет правильного ответа.

Например, лучший в 2012, AlexNet показал top-5=15,3%, а Inception-v3 в 2015 — уже 3.5%. Но как справится с заданием человек? Если любопытно, пройти тест можно здесь.

5 приложений, которые понимают, что на картинке

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

Мир глазами программы

AI Scry покажет, как искусственный интеллект видит привычные предметы. «Мозгом» приложения стала нейронная сеть Neural Talk, разработанная Andrej Karpathy. Технологии распознавания не на 100% точны, что приложение с юмором демонстрирует. Например, называя кактус котом.

Источник: creators.vice.com

В AI Scry есть интересная настройка – «Attention Aperture», которая влияет на результат. Поставите на минимум – получите безопасные и очевидные ответы. А если выкрутить до максимума – программа свободнее (и безумнее) интерпретирует объекты. Приложение доступно только для iOS и стоит 75 руб.

Эффекты и фильтры, фильтры и эффекты

FaceApp – наверняка, знакомый вам фоторедактор, который добавляет улыбки, меняет возраст или пол и развлекает другими эффектами. Разработка российской студии Wireless Lab появилась сначала на iOS, а чуть позже стала доступна и на Android.

Создатели «с нуля» тренировали нейронную сеть специально для модификации лиц. FaceApp не запрашивает лишних разрешений вроде GPS (в отличие от конкурента Meitu). Разработчики сказали The Verge, что фото загружаются на сервер для экономии трафика, но долго не хранятся. Монетизируют проект за счет рекламы и платной PRO-версии, где нет объявлений и доступны доп. фичи.

FaceApp меняет Арнольда Шварценеггера: оригинал, улыбка, молодость и женщина

Хотите портрет в стиле поп-арт, импрессионизма или кубизма? Попробуйте Prisma

Источник: https://magora-systems.ru/neironnye-seti-raspoznavanie-izobrajeniy/

Алгоритм улучшения качества подводных снимков на основе нейроэволюционного подхода

1Хаустов П.А. 1 Спицын В.Г. 1 Максимова Е.И. 11 ФГАОУ ВО «Томский политехнический университет (национальный исследовательский университет)»Обнаружение объектов на снимках, выполненных под водой, как правило, осложняется условиями, в которых выполняется съемка: мутная вода, яркие блики и плохая видимость в местах слабой освещенности.

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

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

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

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

Обратите внимание

улучшение качества изображенияискусственная нейронная сетьавтономный необитаемый подводный аппарат1. Цой Ю.Р., Спицын В.Г. Нейроэволюционный способ улучшения визуального качества изображений // Известия Томского политехнического университета. – 2009 – № 5. – С. 131–137.2. Munteanu C. Gray-scale image enhancement as an automatic process driven 202 by evolution // IEEE Trans.

on Systems, Man, and Cybernetics – part B: Cybernetics. – 2004. – Vol. 34, № 2.3. Saitoh F. Image contrast enhancement using genetic algorithm, Proc of IEEE International Conference on SMC. – 1999. – Vol. 4. – Р. 899–904, Oct. 1999.4. Messina G., Castorina A., Battiato S., Bosco A. Image quality improvement by adaptive exposure correction techniques, Proc. of ICME. – 2003.

 – Р. 549–552, July 2003.5. Gonzalez R.C., Woods R.E. Digital image processing. – Reading MA: Addison-Wesley, 2001. – 813 p.6. Spears W.M. Evolutionary algorithms: the role of mutation and recombination. – Berlin Heidelberg: Springer-Verlag, 2000.7. Wang Z., Bovik A.C., Sheikh H.R., Simoncelli E.P.

Image quality assessment: From error visibility to structural similarity – IEEE Transactions on Image Processing. – Apr. 2004. – Vol. 13 – № 4 – Р. 600–612.

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

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

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

Более того, из-за несимметричного расположения источника освещения, некоторые достаточно высокие объекты могут отбрасывать тень, которая также может осложнить задачу обнаружения и распознавания объектов. Кроме того, съемка была выполнена в замутненной водной среде.

Пример изображения со всеми описанными трудностями приведен на рис. 1.

Рис. 1. Пример подводного снимка, сделанного автономным необитаемым подводным аппаратом

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

Функции оценки качества изображений можно разделить на два вида: объективные и субъективные.

Объективные оценки основываются на сравнении с некоторым эталонным или исходным изображением, субъективные же оценки могут опираться лишь на информацию, которая содержится в самом результирующем изображении [5].

Важно

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

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

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

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

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

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

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

L′(x, y) = T(f1(I), f2(I), …, fk(I)),

где L′(x, y) – яркость пиксела (x; y); I – исходное изображение; fi(I) – некоторая функция от значений яркостей исходного изображения.

Совет

Основной задачей разработки нейроэволюционного алгоритма обработки изображения является подбор самих функций fi(I), оценочной функции, типа эволюционной и параметров нейросетевой составляющих алгоритма.

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

Для нейросетевого улучшения качества изображения в некотором пикселе (x; y) важны характеристики, описывающие пикселы из некоторой его окрестности.

Примерами таких характеристик могут являться среднее значение m(x, y) и дисперсия D(x, y) яркостей пикселей этой окрестности.

Среднее значение яркости в некоторой окрестности имеет смысл использовать в сравнении со средним значением ‹L› яркостей всех пикселей изображения [2].

В итоге можно выделить три функции f1, f2 и f3, значения которых рационально использовать в качестве значений входного слоя искусственной нейронной сети:

Здесь и далее d обозначает половину нечетного размера окна области, в которой ищутся математическое ожидание и дисперсия; W – ширина изображения; H – высота изображения; x и y – номер строки и столбца обрабатываемого пиксела соответственно.

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

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

Обратите внимание

Структуру полученной искусственной нейронной сети можно представить схематически (рис. 2).

Рис. 2. Предложенная структура искусственной нейронной сети

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

Для выполнения скрещивания предлагается использовать арифметический кроссинговер. Особи для скрещивания могут быть выбраны рулеточным способом селекции. В процессе мутации особи с вероятностью pi = 0,1 каждая из хромосом может измениться на некоторую случайную величину в диапазоне от –10 до 10. Количество особей в популяции на момент начала стадии селекции равно 32.

В качестве функции приспособленности было предложено использовать оценку Мунтеану – Роса, получившую широкое применение для улучшения качества изображений с использованием различных эволюционных алгоритмов [1, 7].

Аналитические формулы для вычисления такой оценки имеют вид

где τ – количество символов, расположенных на границах внутри изображения; E – суммарная интенсивность пикселей после применения фильтра Собеля; N – количество пикселей на изображении; H – значение энтропии, основанное на гистограмме яркостей полученного изображения; pi – вероятность появления пиксела с уровнем яркости i на изображении.

Оценка Мунтеану – Роса основана на том свойстве, что для человеческого восприятия большее значение имеет перепад яркости в соседних пикселях, чем значение яркости в каждом пикселе, что позволяет сделать вывод о необходимости максимизации E и η [3, 4].

Результаты и выводы

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

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

Важно

В ходе подбора оптимальных параметров было выполнено по десять запусков генетического алгоритма для обучения и апробации полученной искусственной нейронной сети на массиве подводных снимков для значений d (половина размера окна окрестности), равных 1, 2, 3, 4, и значений Ce (количество эпох генетического алгоритма), равных 10, 20, 30, 40.

Среднее значение оценки Мунтеану – Роса для десяти запусков генетического алгоритма для каждой пары [Ce, d]

d = 1 d = 2 d = 3 d = 4
Сe = 10 0,00172 0,00082 0,00089 0,00084
Сe = 20 0,13329 0,00171 0,00099 0,00097
Сe = 30 0,54745 0,01889 0,00242 0,00102
Сe = 40 1,34895 0,04568 0,01422 0,00105

а

б

в

Рис. 3. Примеры улучшения качества подводных снимков с использованием предложенного алгоритма: а – объект на дне в зоне излишней освещенности; б – объект, отбрасывающий тень; в – светлый объект с нечеткими границами

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

При d = 1 и Ce > 20 песчаное дно начинает выглядеть излишне зернисто на итоговом изображении, что ухудшает визуальное восприятие. Поэтому в качестве оптимальных параметров были выбраны значения d = 1 и Ce = 20.

Примеры результирующих изображений показаны на рис. 3.

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

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

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

Библиографическая ссылка

Хаустов П.А., Спицын В.Г., Максимова Е.И. Алгоритм улучшения качества подводных снимков на основе нейроэволюционного подхода // Фундаментальные исследования. – 2016. – № 4-2. – С. 328-332;
URL: http://fundamental-research.ru/ru/article/view?id=40176 (дата обращения: 25.02.2019).

Источник: https://fundamental-research.ru/ru/article/view?id=40176

Электронный научный журнал Международный студенческий научный вестник ISSN 2409-529X

1Старожилова О.В. 1 Захаров К.А. 11 ФГБОУ ВО Поволжский государственный университет телекоммуникаций и информатикиВ статье рассмативаются задачи идентификации неоднородностей на цифровых изображениях, математическая модель построена на основе нейронного подхода.

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

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

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

Совет

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

В качестве алгоритма обучения используется алгоритм обратного распространения ошибки.принципы нейросетевой технологииидентификация неоднородностей1. Осадчий, А.С Повышение эффективности рентгенодиагностики путем компьютерной обработки рентгенограмм Текст. / A.C. Осадчий, И.П. Королюк, Ю.Л. Минаев // Врач-аспирант. -2007. -№6. -С. 501-507.2. Оссовский, С.

Нейронные сети для обработки информации / С. Оссовский, пер. с польского под ред. И.Д. Рудинского. М.: Финансы и статистика, 2002. – 344с.3. Хлесткин А.Ю. Распознавание текстур рентгенографических снимков и УЗИ изображений программными методами Текст. / А.Ю. Хлесткин, В.П. Кривозубов, A.B. Николаева // Инфокоммуникационные технологии. 2006. – № 3. – С. 64-69.4.

Хлесткин А.Ю., Старожилова О.В. Модели слияния рентгеновских и сцинтиграфических изображений в распознавании артефактов //Инфокоммуникационные технологии. – 2010. – № 2. – С. 40–42.5. Яне, Б. Цифровая обработка изображений / Б. Яне; пер. с англ. А.М: Измайловой. -М.: Техносфера, 2007. -584 с.

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

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

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

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

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

Обратите внимание

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

Области D можно поставить в соответствие эталонное изображение, каждый элемент которого определяется в зависимости от его принадлежности области D0 или:

Используя данное представление, можно получить модель нормализуемого изображения в виде следующего соотношения:

где,-центрированные однородные случайные поля с заданными автоковариационными функциями, v(n1, n2) – шумовая составляющая наблюдаемого изображения,и— параметры яркостного преобразования изображения относительно эталона.

Величинаявляется контрастом между объектом и фоном (разность между их средними значениями), а величина— средней яркостью фона.

Построена математеческая модель, использующая метод Бардина-Терсоффа-Хаманна, основана на первопринципном расчете структуры поверхности.

При исследовании рентгеновских изображений необходимо рассмотреть процесс формирования цифрового изображения в пространственной и Фурье-области.

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

Важно

Поэтому возникает необходимость максимально учесть эти факторы при разработке моделей изображений.

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

при

где– упорядоченный кортеж, комплекснозначный вектор.

Как правило, интенсивность освещенности не накапливается точно в этих точках, а в определенной области вокруг них. Тогда сигнал в узлах сетки является интегралом:

,

где– изображение различной яркости, которое могло бы получиться с помощью оптической системы.

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

гдеи– результирующие и обратное преобразование Фурье соответственно [5].

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

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

Дискретизацию можно выразить как

гдеприи– узлы так называемой обратной сетки.

Плотная дискретизация приводит к крупной сетке в Фурье-пространстве и наоборот. Следовательно, дискретизация приводит к воспроизведению спектра изображения в каждом узле сеткив Фурье-пространстве.

Совет

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

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

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

Входное изображениепикселей имеет 625 нейронов во входном слое.

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

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

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

Сверточным нейронным сетям в меньшей степени присущи описанные выше недостатки. Часть нейронов некоторого рассматриваемого слоя нейронной сети может использовать одни и те же весовые коэффициенты.

Нейроны, использующие одни и те же веса, объединяются в карты признаков, а каждый нейрон карты признаков связан с частью нейронов предыдущего слоя.

Обратите внимание

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

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

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

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

Перекрытие составляет 3 пикселя, отсюда по вертикали имеем 7 областейпикселей, по горизонтали 4 областипикселей, отсюда, размерность карты признаков —нейронов.

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

Обучение нейронной сети требует качественной и большой выборки. Если не удалось определить, что за символ включает изображение, это изображению выставлялся в соответствие произвольный класс.

В итоге, подготовлены пары класса изображение/метка.

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

Важно

В качестве алгоритма обучения использовался алгоритм обратного распространения ошибки. Для ускорения обучения использовался стохастический вариант метода Левенберга-Марквардта.

Изображение, пропускается через серию свёрточных, нелинейных слоев, слоев объединения и полносвязных слоёв, и генерируется вывод-класс описывающий изображение.

Вводное изображение — это матрицас пиксельными значениями [2]. Глубина у фильтра должна быть такой же, как и глубина вводного изображения, и размеры этого фильтра —.

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

Нейронная сеть достигла способности распознавать все изображения, ошибка составляет 2%. Тестирование нейронной сети проводилось на изображениях тестовой выборки: ошибка распознавания составила 6% [3].

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

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

Для этого нейронные сети с различным количеством нейронов были обучены на одном и том же множестве.

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

Совет

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

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

Для улучшения качества изображения используется предварительная обработка снимков с использованием полосовых частотных фильтров и преобразованием в псевдоцвета [4]. Простая «однородная» структура делает их привлекательными для практического использования и аппаратной реализации.

Библиографическая ссылка

Старожилова О.В., Захаров К.А. РАСПОЗНАВАНИЕ НЕОДНОРОДНОСТЕЙ НА ЦИФРОВЫХ ИЗОБРАЖЕНИЯХ С ИСПОЛЬЗОВАНИЕМ НЕЙРОННОЙ СЕТИ // Международный студенческий научный вестник. – 2018. – № 1.;
URL: http://eduherald.ru/ru/article/view?id=18114 (дата обращения: 25.02.2019).

Источник: https://eduherald.ru/ru/article/view?id=18114

Сегментация изображений при помощи нейронной сети: U-Net

U-Net — это архитектура свёрточной нейронной сети, предназначенная для сегментации изображений (первоначально, для биомедицинских изображений).

Архитектура U-Net

Архитектура сети представляет собой последовательность слоёв свёртка+пулинг, которые сначала уменьшают пространственное разрешение картинки, а потом увеличивают его, предварительно объединив с данными картинки и пропустив через другие слои свёртки. Таким образом, сеть выполняет роль своеобразного фильтра.

Для обучения сети, считается коэффициент Дайса (Dice coefficient) (так же называется коэффициент Сёренсена — Sorensen–Dice coefficient) или Жаккара (Jaccard similarity coefficient), который показывает меру сходства — в данном случае, показывающий меру площади правильно отмеченных сегментов (отношение площади пересечения к площади объединения).

Примеры реализации U-net

Deep Learning Tutorial for Kaggle Ultrasound Nerve Segmentation competition, using Keras
End-to-end baseline with U-net (keras)
ZF_UNET_224_Pretrained_Model

Код U-Net для Keras (Python 3.*, Keras 2.*, Theano 0.9)

from keras.models import Model from keras import backend as K from keras.layers import Input, concatenate, Conv2D, MaxPooling2D, UpSampling2D, Convolution2D, ZeroPadding2D from keras.optimizers import Adam #For 2D data (e.g. image), “channels_last” assumes (rows, cols, channels) while “channels_first” assumes (channels, rows, cols). K.set_image_data_format('channels_first') def dice_coef(y_true, y_pred): y_true_f = K.flatten(y_true) y_pred_f = K.flatten(y_pred) intersection = K.sum(y_true_f * y_pred_f) return (2. * intersection + 1.0) / (K.sum(y_true_f) + K.sum(y_pred_f) + 1.0) def dice_coef_loss(y_true, y_pred): return -dice_coef(y_true, y_pred) def unet4(img_channels, image_rows, image_cols): # th – (channels, height, width), tf – (height, width, channels) inputs = Input((img_channels, image_rows, image_cols)) conv1 = Conv2D(32, (3, 3), activation='relu', padding='same')(inputs) conv1 = Conv2D(32, (3, 3), activation='relu', padding='same')(conv1) pool1 = MaxPooling2D(pool_size=(2, 2))(conv1) conv2 = Conv2D(64, (3, 3), activation='relu', padding='same')(pool1) conv2 = Conv2D(64, (3, 3), activation='relu', padding='same')(conv2) pool2 = MaxPooling2D(pool_size=(2, 2))(conv2) conv3 = Conv2D(128, (3, 3), activation='relu', padding='same')(pool2) conv3 = Conv2D(128, (3, 3), activation='relu', padding='same')(conv3) pool3 = MaxPooling2D(pool_size=(2, 2))(conv3) conv4 = Conv2D(256, (3, 3), activation='relu', padding='same')(pool3) conv4 = Conv2D(256, (3, 3), activation='relu', padding='same')(conv4) pool4 = MaxPooling2D(pool_size=(2, 2))(conv4) conv5 = Conv2D(512, (3, 3), activation='relu', padding='same')(pool4) conv5 = Conv2D(512, (3, 3), activation='relu', padding='same')(conv5) up6 = concatenate([UpSampling2D(size=(2, 2))(conv5), conv4], axis=1) conv6 = Conv2D(256, (3, 3), activation='relu', padding='same')(up6) conv6 = Conv2D(256, (3, 3), activation='relu', padding='same')(conv6) up7 = concatenate([UpSampling2D(size=(2, 2))(conv6), conv3], axis=1) conv7 = Conv2D(128, (3, 3), activation='relu', padding='same')(up7) conv7 = Conv2D(128, (3, 3), activation='relu', padding='same')(conv7) up8 = concatenate([UpSampling2D(size=(2, 2))(conv7), conv2], axis=1) conv8 = Conv2D(64, (3, 3), activation='relu', padding='same')(up8) conv8 = Conv2D(64, (3, 3), activation='relu', padding='same')(conv8) up9 = concatenate([UpSampling2D(size=(2, 2))(conv8), conv1], axis=1) conv9 = Conv2D(32, (3, 3), activation='relu', padding='same')(up9) conv9 = Conv2D(32, (3, 3), activation='relu', padding='same')(conv9) conv10 = Conv2D(1, (1, 1), activation='sigmoid')(conv9) model = Model(inputs=[inputs], outputs=[conv10]) model.compile(optimizer=Adam(lr=1e-4), loss=dice_coef_loss, metrics=[dice_coef]) return model

Примеры работы

Левая верхняя — исходное изображение. Правая верхняя — исходная маска (для обучения). Левая нижняя — предсказанная маска. Правая нижняя — маска, наложенная на исходную картинку.

Другие сети для сегментации

Mask R-CNN
Mask R-CNN (PDF)

SegNet

SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation (PDF)
SegNet — A Deep Convolutional Encoder-Decoder Architecture for Robust Semantic Pixel-Wise Labelling

Заключение

Архитектура свёрточной сети U-Net — простая и популярная. Очень хорошо показывает себя в соревнованиях по машинному обучению. Может использоваться не только для сегментации, но и для детектирования объектов на изображениях.

Статьи

U-Net: Convolutional Networks for Biomedical Image Segmentation (PDF)

Ссылки

Deep learning for satellite imagery via image segmentation
https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/
Deep Learning Tutorial for Kaggle Ultrasound Nerve Segmentation competition, using Keras
End-to-end baseline with U-net (keras)
ZF_UNET_224_Pretrained_Model
https://github.com/mrgloom/awesome-semantic-segmentation

По теме

Детектирование объектов — нейросетевой подход

Нейронная сеть

Нейронная сеть — введение
Принцип обучения многослойной нейронной сети с помощью алгоритма обратного распространения
Пример работы самоорганизующейся инкрементной нейронной сети SOINN

Источник: http://robocraft.ru/blog/machinelearning/3671.html

Ссылка на основную публикацию