U-Net

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

U-Net — це згорткова нейронна мережа, яка була розроблена для сегментації біомедичних зображень на факультеті комп'ютерних наук університету Фрайбурга, Німеччина[1]. Мережа базується на повністю згортковій мережі[2] (не плутайте з повнозв'язною мережею), архітектура якої була модифікована і розширена так, щоб працювати з меншою кількістю зображень для навчання і давати більш точні результати сегментації. Сегментація зображення 512x512 займає менше секунди на останніх моделях GPU.

Опис[ред. | ред. код]

U-Net має більш елегантну архітектуру, що випливає з так званої «повністю згорткової мережі», запропонованої Лонгом і Шелгамером[2].

Основна ідея полягає в тому, щоб доповнити звичайну мережу послідовних шарів, де операції пулінга (зменшення розмірності) об'єктів замінюються операторами збільшення розмірності[en]. Отже, ці шари збільшують роздільну здатність виходу. Більш того, наступний згортковий шар може навчитися будувати точний вихід на основі цієї інформації[1].

Однією з важливих змін у U-Net є те, що в частині, в якій відбувається збільшення розмірності, існує велика кількість каналів ознак, які дозволяють мережі поширювати контекстну інформацію на шари більшої роздільної здатності. Як наслідок, частина в якій відбувається розширення є більш-менш симетричною до частини звуження, це дає U-подібну архітектуру. Мережа використовує тільки згортки без будь-яких повністю пов'язаних шарів[2]. Для прогнозу значення пікселів в межах області зображення, відсутній контекст екстраполюється шляхом додаткового опрацювання (з точки зору симетрії мережі це виглядає як віддзеркалення) вхідного зображення. Ця стратегія замощення важлива для застосування мережі до великих зображень, оскільки в іншому випадку роздільна здатність буде обмежена пам'яттю GPU.

Історія[ред. | ред. код]

U-Net була описана Олафом Роннебергером, Філіпсом Фішером та Томасом Броксом в 2015 році в роботі «UNet: Convolutional Networks for Biomedical Image Segmentation»[1]. Що є поліпшенням та подальшим розвитком архітектури FCN розробленої Еваном Шелгамером, Джонатаном Лонгом та Тревором Дарреллом (2014) у статті «Повністю згорткові мережі для семантичної сегментації»[2].

Архітектура мережі[ред. | ред. код]

Архітектура U-Net для сегментації зображення

Мережа складається з двох частин: шляху звуження і розширення, які й надають йому U-подібну архітектуру. Звуження є типовою згортковою мережею, яка складається з повторного застосування згорток, після кожної з них йде функція активації ReLU і операція макспулінга. Під час звуження просторова інформація зменшується, а інформація про ознаки збільшується. В частині, де відбувається розширення, поєднується просторова інформацію та ознаки за допомогою згорток, які збільшують розмірність і конкатенацій з ознаками, які відповідають високій роздільній здатності на шляху звуження[3].

Застосування[ред. | ред. код]

Існує багато застосувань U-Net в біомедичній сегментації зображень, таких як: сегментація зображення мозку («BRATS»[4]), сегментація зображення печінки («siliver07»[5]) та сегментації нервової системи[en]. Нижче наведено кілька варіантів і застосунків U-Net:

  • Піксельна регресія з використанням U-Net та її застосування для підвищення якості[6];
  • 3D U-Net: навчання щільної об'ємної сегментації у випадку, коли розмічені дані рідко зустрічаються[7];
  • TernausNet: U-Net з енкодером VGG11, попередньо тренованим на ImageNet для сегментації зображень[8].

Реалізації[ред. | ред. код]

jakeret (2017): «Tensorflow Unet»[9]

Вихідний[уточнити] код U-Net з розпізнавання образів і обробки зображень викладений на сайті факультету комп'ютерних наук університету Фрайбурга, Німеччина[10].

Основні статті по U-Net[1][2][7][8] цитувалися 3693, 7049, 442 та 22 рази відповідно на Google Scholar станом на 24 грудня 2018 року[11].

Примітки[ред. | ред. код]

  1. а б в г Ronneberger, Olaf; Fischer, Philipp; Brox, Thomas (2015). «U-Net: Convolutional Networks for Biomedical Image Segmentation». arXiv:1505.04597 [cs.CV]. 
  2. а б в г д Long, J.; Shelhamer, E.; Darrell, T. (2014). «Fully convolutional networks for semantic segmentation». arXiv:1411.4038 [cs.CV]. 
  3. U-Net code. Архів оригіналу за 20 червня 2015. Процитовано 18 липня 2019. 
  4. MICCAI BraTS 2017: Scope | Section for Biomedical Image Analysis (SBIA) | Perelman School of Medicine at the University of Pennsylvania. www.med.upenn.edu. Архів оригіналу за 25 травня 2017. Процитовано 24 грудня 2018. 
  5. SLIVER07 : Home. www.sliver07.org. Архів оригіналу за 29 травня 2008. Процитовано 24 грудня 2018. 
  6. Yao, Wei; Zeng, Zhigang; Lian, Cheng; Tang, Huiming (27 жовтня 2018). Pixel-wise regression using U-Net and its application on pansharpening. Neurocomputing (англ.) 312: 364–371. ISSN 0925-2312. doi:10.1016/j.neucom.2018.05.103. 
  7. а б Çiçek, Özgün; Abdulkadir, Ahmed; Lienkamp, Soeren (2016). «3D U-Net: Learning Dense Volumetric Segmentation from Sparse Annotation». arXiv:1606.06650 [cs.CV]. 
  8. а б Iglovikov, Vladimir; Shvets, Alexey (2018). «TernausNet: U-Net with VGG11 Encoder Pre-Trained on ImageNet for Image Segmentation». arXiv:1801.05746 [cs.CV]. 
  9. Akeret, Joel (24 грудня 2018). Generic U-Net Tensorflow implementation for image segmentation: jakeret/tf_unet. Архів оригіналу за 13 червня 2020. Процитовано 24 грудня 2018. 
  10. U-Net: Convolutional Networks for Biomedical Image Segmentation. lmb.informatik.uni-freiburg.de. Архів оригіналу за 20 червня 2015. Процитовано 24 грудня 2018. 
  11. U-net [Архівовано 14 жовтня 2021 у Wayback Machine.] Google Scholar citation data

Див. також[ред. | ред. код]