Алгоритм создания портретного рисунка "Идеальная перегравировка" U^2-Net

Нейронные сети

Резюме

Алгоритмы обнаружения важности и создания портрета для U^2-Net.

Введение

Привет, меня зовут Джек.

предложено в этом годуU^2-Net Обнаружение значимостиАлгоритм, который взорвал Reddit и Twitter, известен как «самый сильный на земле» алгоритм сегментации статического фона в 2020 году. Вы можете увидеть эффект:

Вы думали, что сегодня мы будем говорить о разделении?неправильный!

U^2-NetСнова через два дняновая жизнь, основанный на сетевой архитектуре U^2-Net, реализуетГенерация портретов, детали воспроизведены "отлично".

Я проверил эффект на моей «фотографии с кривой шеей».

Не меняйте старые правила десять тысяч лет и продолжайте учить от руки.

Принцип алгоритма, построение среды, реализация эффекта,Поезда, все ниже!

2. U^2-Net

Вдохновленный сетью U-Net, U^2-Net также представляет собой сетевую структуру, аналогичную Encoder-Decoder.

Исходя из этого, исследователи предлагают новый остаточный U-блок (ReSidual U-block, RSU), который объединяет особенности рецептивных полей разного размера для захвата большего количества контекстуальной информации разного масштаба.

Сравнение структуры сети RSU и существующих сверточных блоков выглядит следующим образом:

Самая правая структура — это RSU-L, где L представляет количество уровней в кодере, C_in и C_out представляют входные и выходные каналы соответственно, а M представляет количество каналов на внутреннем уровне RSU.

В частности, RSU имеет три основных компонента: входной сверточный слой, симметричную структуру кодера-декодера, подобную U-Net, высотой L и невязку, которая объединяет локальные и многомасштабные признаки путем суммирования соединений.

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

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

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

Общая сетевая архитектура U^2-Net выглядит следующим образом:

U^2-Net в основном состоит из трех частей:

  • 6-ступенчатый энкодер;
  • 5-ступенчатый декодер;
  • Модуль слияния карт важности, связанный с этапом декодера и конечным этапом кодера.

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

Среди них, M=6, Sup1, Sup2, ..., Sup6 стадии U^2-Net.

Выходные карты значимости для Sup1, Sup2, ..., Sup6

функция потерь.

Вывод карты заметности для окончательного слияния

функция потерь.

веса для каждой функции потерь.

Для каждого l используйте стандартную бинарную функцию кросс-энтропийных потерь:

Среди них (r, c) — координаты пикселя, (H, W) — размеры изображения, высота и ширина.

Представлять значения пикселей GT и прогнозируемые карты значимости соответственно.

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

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

АР Вест V.org/PDF/2005.09…

3. Проверка эффекта

Адрес проекта на гитхабе:GitHub.com/Натан UA/U-…

Шаг 1: Настройте тестовую среду.

Это очень просто, никаких специальных библиотек нет, достаточно установить базовые сторонние библиотеки, такие как Pytorch, Numpy и Skimage.

Шаг 2: Загрузите файл веса обученной модели.

мне нужноПрограмма и файл весовВсе упаковано, слишком хлопотно, можно скачать и пользоваться напрямую.

Адрес загрузки (код извлечения: jack):

disk.baidu.com/yes/1 могу я спросить APU0 Гонконг…

Шаг 3: В каталоге проекта запустите программу.

| |

python u2net_portrait_test.py

|

В u2net_portrait_test.py вы можете просмотреть путь к входному и выходному изображениям:

Наконец, посмотрите на эффект операции:

В-четвертых, болтовня

В этом месяце я отправил две волны благосостояния, один красный конверт «521» юаней и один 5 книг.

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

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

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

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

На этот раз активность красного конверта «521» юаня направлена ​​наСпасибо, читателиВсе время поддерживаю, результат все равно видят эти люди, приходите и лайкайте.

Все хорошо и понятно.

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

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

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

Я Джек, увидимся в следующий раз.

Статья постоянно обновляется, вы можете найти [JackCui-AI] в общедоступной учетной записи WeChat, чтобы прочитать ее впервые, эта статья GitHubGitHub.com/Джек-Чери — это…Он был включен, и есть полные тестовые площадки для интервью на крупных заводах Добро пожаловать в Star.