Чи може згорткова нейронна мережа приймати як вхідні зображення різних розмірів?


10

Я працюю в мережі згортки для розпізнавання зображень, і мені було цікаво, чи можу я вводити зображення різного розміру (хоча не дуже різного).

Про цей проект: https://github.com/harvardnlp/im2markup

Вони кажуть:

and group images of similar sizes to facilitate batching

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

Чи є проблеми з використанням різних розмірів? Якщо є, як я повинен підійти до цієї проблеми (оскільки формули не всі вмістяться в одному розмірі зображення)?

Будь-який внесок буде дуже вдячний

Відповіді:


2

Чи є проблеми з використанням різних розмірів? Якщо є, як я повинен підійти до цієї проблеми (оскільки формули не всі вмістяться в одному розмірі зображення)?

Це залежить від архітектури нейронної мережі. Деякі архітектури припускають, що всі зображення мають однаковий вимір, інші (наприклад, im2markup) не припускають такого припущення. Те, що im2markup дозволяє зображенням різної ширини, я не вважаю жодним питанням, я вважаю, оскільки вони використовують RNN, який сканує на виході шару згортки.

введіть тут опис зображення

групувати зображення подібних розмірів, щоб полегшити групування

Це, як правило, для прискорення речей, уникаючи додавання занадто великої кількості підкладки.


2

Чи вважали ви просто масштабувати зображення на етапі попередньої обробки? Інтуїтивно зрозуміло, що людина, що стоїть перед масштабованим зображенням, все одно зможе розпізнати ті самі особливості та об'єкти, і немає очевидних причин, чому CNN не зможе зробити те ж саме на масштабованому зображенні.

Я думаю, що масштабувати зображення однакового розміру може бути простіше, ніж намагатися скласти згорнуту мережу з обробкою зображень різного розміру, що, на мою думку, було б там, у "оригінальній дослідницькій" галузі. Ви, звичайно, можете зробити шари conv convnet обробляти зображення будь-якого розміру, не перекваліфікуючись. Однак вихід конвейнету зазвичай буде якимось класифікатором, і це, мабуть, буде менш добре, якщо я б подавав на введення різного розміру, я б уявив.

Іншим підходом було б просто обклеїти зображення нулями. Але уявіть, що ви інтуїтивно дивитесь або на крихітну фотографію, оббиту чорними рамками, або можете збільшити масштаб, щоб вона піддала розумну дугу у вашому полі зору. Що б ти робив? Що легше побачити?


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

1
чи є у вас приклад зображення, яке впізнається для людей, якщо ви не застосуєте масштабування, а потім стане невпізнанним?
Х'ю Перкінс

Мені це теж цікаво. Коли я намагаюся використовувати існуючу навчену модель від керас, я думаю, що я міг би змінити масштаб зображення відповідно до інтерфейсу InceptionV3 (299x299 від 32x32 -> CIFAR10). Я думаю, що масштабування втрачає якість. Але я думаю, що відповідним способом цього було б виключити вихідний FC та вказати форму вводу до 32x32. Я думаю, що це потребує перенавчання, оскільки зважування вхідного шару буде випадковим.
Joey Carson

Масштабування знижує якість, але сприяє узагальненню: є багато робіт, які відзначають помітний приріст визнання, коли розмиття Гаусса застосовували перед тренуванням. Інтуїтивно ви маєте більше різних вхідних зразків, які нагадують єдине «розмите» зображення, тому роблячи класифікацію більш надійною.
Матьє
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.