Это - официальный репозитарий(repo) для нашей статьи U2-Net(U square net), опубликованной в издании “Распознавание образов 2020”(“Pattern Recognition 2020”):
Xuebin Qin, Zichen Zhang, Chenyang Huang, Masood Dehghan, Osmar R. Zaiane иMartin Jagersand
Contact: xuebin[at]ualberta[dot]ca
** (2022-Aug.-24) ** Мы рады объявить что наш U2-Net , опубликованный в издании Распознавания образов Pattern Recognition был признан победителем 2020 года the 2020 Pattern Recognition BEST PAPER AWARD !!!
** (2022-Aug.-17) **
Наши U2-Net-модели теперь доступны на PlayTorch, где вы можете создать свой собственный демонстрационный пример и выполнить его на вашем Android/iOS-телефоне. Испытайте этот демонстрационный пример на и предложите свои идеи о U2-Net к истине в минутах!
** (2022-Jul.-5)** Наша новая работа Очень точная дихотомическая сегментация изображения **Highly Accurate Dichotomous Image Segmentation (DIS) Project Page, Github принята на конференции ECCV 2022. До 17-го июля 2022 будут выпущены наш код и набор данных. Знайте о наших обновлениях.
** (2022-Jun.-3)** Благодарим Adir Kol за совместно используемое iOS-приложение Создатель 3D-фото 3D Photo Creator, основанного на нашей U2-Net.
** (2022-Mar.-31)** Благодарим [Hikaru Tsuyumine] за реализацию iOS-приложения Рисование эскиза портрета Portrait Drawing , основанного на U2-Net-модели генерации портрета.
** (2022-Apr.-12)** Благодарим Kevin Shah за предоставление знакового iOS-приложения Lensto, (Demo Video) , основанного на U2-Net.
** (2022-Mar.-31)** Наша U2-Net-модель также интегрирована Hotpot.ai для художественного проекта.
** (2022-Mar-19)** Благодарим Kikedao за предоставление фантастического веб-приложения Силуэт Silueta, основанного на сети U2-Net. Подробности смотрите на сайте по адресу https://github.com/xuebinqin/U-2-Net/issues/295.
** (2022-Mar-17)** Благодарим Ezaldeen Sahb за реализацию iOS-библиотеки для удаления фона изображения, основанной на сети U2-Net, которая значительно упростит разработку мобильных приложений.
** (2022-Mar-8)** Благодарим Levin Dabhi за обучение удивительной сегментации одежды сетью U2-Net.
** (2022-Mar-3)** Благодарим Renato Violin за предоставление удивительного веб-приложения для удаления фона изображения и замены его, основанного на нашей сети U2-Net.
(2021-Dec-21) Этот блог blog четко описывает способ преобразовать U2-Net-модель в CoreML-модель CoreML и выполнить ее на iPhone.
(2021-Nov-28) Интересные модели Сегментации Неба(Sky Segmentation models), разработанные xiongzhu , используя сеть U2-Net.
(2021-Nov-28) Удивительное приложение редактирования изображения Pixelmator pro использует сеть U2-Net в качестве одной из его моделей удаления фона.
(2021-Aug-24) Мы поиграли немного больше о плавлении исходного изображения и сгенерированных портретов, чтобы составить различные стили. Вы можете
(1) Загрузите этот репозитарий(repo) с помощью команды
git clone https://github.com/NathanUA/U-2-Net.git
(2) Загрузите предварительно обученную модель портрета(pre-trained portrait model) u2net_portrait.pth из Google-диска GoogleDrive или из Baidu Pan(提取码:chgd) и поместите ее в каталог: ./saved_models/u2net_portrait/
,
(3) выполните код с помощью команды
python u2net_portrait_composite.py -s 20 -a 0.5
,где -s
указывает сигму гауссовой функции для размывания(sigma of gaussian function for blurring) исходного изображения и -a
обозначает альфа-веса(alpha weights) исходного изображения при плалении их.
(2021-July-16) Новое веб-приложение удаления фона background removal webapp разработано Изатоп Василий.
(2021-May-26) Благодарим Dang Quoc Quy за его приложение передачи стиля художника Art Transfer APP построенного на сети U2-Net.
(2021-May-5) Благодарим AK391 за совместный доступ к использованию его веб-демонстрационного примера Gradio Gradio Web Demo of U2-Net.
(2021-Apr-29) Благодарим Jonathan Benavides Vallejo за выпуск его приложения LensOCR: Извлечение текста & изображения LensOCR: Extract Text & Image, которое использует сеть U2-Net для извлечения переднего плана у изображения.
(2021-Apr-18) Благодарим Andrea Scuderi за выпуск его приложения Камера с обрезкой фото Clipping Camera, которое является U2-Net-сеть управляемым приложением камеры в реальном времени и она “в состоянии обнаружить соответствующий объект нат сцене и отсечь его, чтобы применить необычные фильтры”.
(2021-Mar-17) Dennis Bappert переобучил U2-Net-модель для покрытия портрета человека human portrait matting. Результаты выглядят очень обещающими, и он также предоставил подробности процесса обучения и стратегии генерации данных (и увеличение), которые являются вдохновляющими.
(2021-Mar-11) Dr. Tim разработал программу удаления фона в видео video version rembg с ипользованием сети U2-Net. Удивительные демонстрационные результаты могут быть найдены на YouTube.
(2021-Mar-02) We found some other interesting applications of our U2-Net including MOJO CUT, Real-Time Background Removal on Iphone, Video Background Removal, Another Online Portrait Generation Demo on AWS, AI Scissor.
(2021-Feb-15) Мы только что выпустили онлайновый демонстрационный пример http://profu.ai для генерации портрета. Опробуйте его и давайте любые предложения или комментарии.
(2021-Feb-06) Недавно, некоторые люди указали на проблему использования сети U2-Net для сегментации человека, поэтому мы обучили другую модель в качестве примера для сегментации человека, на основе Набора данных надзорного/контролируемой персоны Supervisely Person Dataset.
(1) Чтобы выполнить модель сегментации человека, сначала загрузите модель сегментации человека с весами u2net_human_seg.pth в каталог ./saved_models/u2net_human_seg/
.
(2) Подготовьте изображения, будущие сегментированными, в соответствующий каталог, например. ./test_data/test_human_images/
.
(3) Выполните вывод(inference) командой: python u2net_human_seg_test.py
и результаты будут выведены в соответствующий каталог, например. ./test_data/u2net_test_human_images_results/
**Примечания: из-за точности маркировки Набора данных надзорного/контролируемой персоны(Supervisely Person Dataset), модель сегментации человека (u2net_human_seg.pth) здесь не будет давать точность уровня волос. Но эта модель должна быть более устойчивой, чем u2net-модель, обученная с набором данных DUTS-TR на задаче сегментации всего человека. Эта модель может использоваться для сегментации портрета человека, сегментации тела человека и т.д. **
(2020-Dec-28) Некоторые интересные приложения и полезные инструменты на основе U2-Net:
(1) Xiaolong Liu разработал несколько очень интересных приложений на основе U2-Net , включая рисование портрета человека Human Portrait Drawing(Насколько я знаю, Xiaolong - первый, кто использует U2-Net для генерации портрета), image matting и so on.
(2) Владимир Серегин(Vladimir Seregin) разработал интересный инструмент, штриховую графику на основе NN NN based lineart, для сравнения результатов портретирования на основе U2-Net и результатов портретирования на основе других популярных моделей, ArtLine, разработанный Vijish Madhavan.
(3) Daniel Gatis разработал python-инструмент, Rembg, для удаления фона в изображении на основе U2-Net. Я думаю, что этот инструмент значительно упростит применение U2-Net в различных областях.
(2020-Nov-21) Недавно, мы нашли интересное приложение с U2-Net для рисования портрета человека human portrait drawing. Поэтому, мы обучали другую модель для этой задачи на основе набора данных APDrawingGAN dataset.
git clone https://github.com/NathanUA/U-2-Net.git
Загрузите предварительно обученную модель портрета(pre-trained portrait model) u2net_portrait.pth из Google-диска GoogleDrive или Baidu Pan(提取码:chgd) и поместите модель в каталог: ./saved_models/u2net_portrait/
.
Выполните набор тестирования(testing set).
(1) Загрузите набор данных обучения(train) и тестирования(test) из репозитария по адресу: APDrawingGAN. Эти изображения и их истина основы сшиты бок о бок(These images and their ground truth are stitched side-by-side) (512x1024). Вы должны разделить(split) каждое из этих изображений на два изображения размером 512x512 и поместить их в каталог ./test_data/test_portrait_images/portrait_im/
. Вы можете также загрузить набор тестирования разделения(split testing set) на Google-диск GoogleDrive.
(2) Выполните команду вывода умозаключения(inference) python u2net_portrait_test.py
, которая выведет результаты(results) в каталог ./test_data/test_portrait_images/portrait_results
.
./test_data/test_portrait_images/your_portrait_im/
. Чтобы получить достаточно деталей портрета, область головы человека во входном изображении должно иметь размер близкий или больше, чем размер 512x512. Фон головы должен быть относительно четким. python u2net_portrait_demo.py
, которая выведет результаты(results) в каталог ./test_data/test_portrait_images/your_portrait_results/
. python u2net_portrait_demo.py
и python u2net_portrait_test.py
состоит в том, что мы добавили простой face detection шаг обнаружения лица, перед генерацией портрета(before the portrait generation) в команде u2net_portrait_demo.py
. Поскольку набор тестирования(testing set) APDrawingGAN нормализован и обрезан(normalized and cropped) к размеру 512x512 для включения только голов людей, в то время как наш собственный набор данных может меняться в зависимости от различных разрешений и контентов. Поэтому, код python u2net_portrait_demo.py
обнаружит самую большое лицо на данном изображении и затем обрежет, дополнит и изменит размеры(crop, pad and resize ) ROI к размеру 512x512 для передачи к сети. Следующие данные показывают, как сделать ваши собственные фотографии для генерации высококачественных портретов.(2020-Sep-13) Наша U2-Net-модель является 6th в MICCAI 2020 Thyroid Nodule Segmentation Challenge.
(2020-May-18) Официальный доумент нашей сети U2-Net (U square net) (PDF in elsevier(свободный до июля 5 2020), PDF in arxiv) доступен. Если вы не в состоянии получить доступ к архиву, не стесняйтесь известить меня по электронной почте.
(2020-May-16) Мы устранили проблему повышающей дискретизации(upsampling issue) сети. Теперь, модель должна быть в состоянии обработать произвольный входной размер arbitrary input size. (Советы: Эта модификация должна упростить переобучение/переквалификацию(retraining) U2-Net модели на ваших собственных наборах данных. При использовании нашей предварительно-обученной модели(our pre-trained model ) на наборах данных SOD, сохраните входной размер как 320x320, чтобы гарантировать производительность.)
(2020-May-16) Мы высоко ценим Cyril Diagne за разработку этого фантастического AR-проекта(проекта дополненной реальности) AR Copy and Paste , использующего U2-Net (Qin et al, PR 2020) и BASNet(Qin et al, CVPR 2019). Демовидео demo video в Твиттере достигло более 5M просмотров, что феноменально и показывает нам большие возможности применения SOD.
Python 3.6
numpy 1.15.2
scikit-image 0.14.0
python-opencv
PIL 5.2.0
PyTorch 0.4.0
torchvision 0.2.1
glob
git clone https://github.com/NathanUA/U-2-Net.git
Загрузите предварительно-обученную модель(pre-trained model) u2net.pth (176.3 MB) из Google-диска GoogleDrive или Baidu Pan 提取码: pf9k или предварительно-обученную модель(pre-trained model) u2netp.pth (4.7 MB) из Google-диска GoogleDrive или Baidu Pan 提取码: 8xsi и поместите модели в каталоги ‘./saved_models/u2net/’ и ‘./saved_models/u2netp/’
python u2net_train.py
или python u2net_test.py
. Для использования различных моделей, имя модели ‘model_name’ в обоих файлах может быть изменено на ‘u2net’ или на ‘u2netp’.Мы также предоставляем карты предсказанных выступов(predicted saliency maps) (u2net results,u2netp results) для наборов данных(datasets) SOD, ECSSD, DUT-OMRON, PASCAL-S, HKU-IS и DUTS-TE.
@InProceedings{Qin_2020_PR,
title = {U2-Net: Going Deeper with Nested U-Structure for Salient Object Detection},
author = {Qin, Xuebin and Zhang, Zichen and Huang, Chenyang and Dehghan, Masood and Zaiane, Osmar and Jagersand, Martin},
journal = {Pattern Recognition},
volume = {106},
pages = {107404},
year = {2020}
}