Список форумов neuroproject.ru neuroproject.ru
Форум сайта компании НейроПроект
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Увеличение изображения с помощью ИНН

 
Начать новую тему   Ответить на тему    Список форумов neuroproject.ru -> Нейронные сети
Предыдущая тема :: Следующая тема  
Автор Сообщение
Time_Master1
Новый посетитель
Новый посетитель


Зарегистрирован: 26 Дек 2011
Сообщения: 10
Откуда: г. Курган

СообщениеДобавлено: Пн Дек 26, 2011 11:03 pm    Заголовок сообщения: Увеличение изображения с помощью ИНН Ответить с цитатой

Всем здрасте.
У меня вот такой вопрос.
Кто-нибудь занимался увеличением изображения с помощью ИНН. ИНН -многослойная сеть. Для начала можно взять только 1 скрытый слой. Обучение - обратное распространение ошибки.
Задача выглядит так:
1. Берётся изображение с меньшим разрешением и разбивается на квадраты(матрицы), скажем 3х3 или 4х4, в общем размерность можно взять любую.(хоть сразу всю картинку). Затем преобразуем матрицу(квадрат) в линейный массив. Допустим N=Y*k+X, где X и Y - это номер столбца и строки, а k - это размерность матрицы(квадрата). Для начала можно взять Ч/Б картинки. Это будет у нас входной вектор. После этого нормируем данные, например так V[n]=(X-128)/128. Получаем Ч/Б картинку нормированную в диапазон [-1;1].
2. Аналогично создаём вектор ответа. Только матрицу берём большего размера, исходя из коэффициента соотношения изображений. Допустим первое изображение 64х64, а второе 128х128 и если разбить первое на квадраты(матрицы) 4х4, то второе будем разбивать на 8х8.
3. Создаём базу вопрос-ответ и обучаем ИНН.
4. Затем подгружаем неизвестное для сети меньшее изображение и создав из него базу вопросов строим увеличенное изображение.

Какие будут мысли по этому поводу?
Не научится ли сеть Бикубику или Трилинеару, или более простым способам увеличения изображений применяемым скажем в том же фотошопе?

Заранее спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
mmi
Участник форума
Участник форума


Зарегистрирован: 15 Май 2010
Сообщения: 30

СообщениеДобавлено: Вт Янв 10, 2012 3:00 pm    Заголовок сообщения: Re: Увеличение изображения с помощью ИНН Ответить с цитатой

Функция ошибки - MSE, наверное, да? Тогда скорее всего линейная интерполяция и получится. В лучшем случае. А скорее всего просто обычный upsampling.

А Вы какую задачу вообще хотите решить? Что Вы хотите получить с помощью нейронной сети такого, что не дадут вам уже известные алгоритмы увеличения изображения?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Time_Master1
Новый посетитель
Новый посетитель


Зарегистрирован: 26 Дек 2011
Сообщения: 10
Откуда: г. Курган

СообщениеДобавлено: Вс Янв 15, 2012 12:36 am    Заголовок сообщения: Ответить с цитатой

Насчёт ошибки да, думал про MSE. Больше ни чего на ум не пришло.

Насчёт результатов и качества:
1. Думаю с помощью информации "сохранённой" в синапсах можно получить более качественное увеличение. Как мне думается сеть выучивая закономерности, сможет качественнее интерполировать недостающие пикселы, чем upsampling основанный на простых алгоритмах.
2. Возможно создать специализированные базы вопрос-ответ для обучения сети, с целью "натаскать" сетку увеличивать фото похожего типа. Например лица, номера машин, текст.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
mmi
Участник форума
Участник форума


Зарегистрирован: 15 Май 2010
Сообщения: 30

СообщениеДобавлено: Вс Янв 15, 2012 12:55 am    Заголовок сообщения: Ответить с цитатой

Какого рода закономерности сеть сможет выучить, если ее тренировать патчами 8x8 из некого набора картинок похожего типа? Что это за "похожесть" такая? К тому же, каким образом Вы будете получать патч 4x4 для входа сети во время обучения? Уменьшать исходный патч 8x8? а по какому алгоритму?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Time_Master1
Новый посетитель
Новый посетитель


Зарегистрирован: 26 Дек 2011
Сообщения: 10
Откуда: г. Курган

СообщениеДобавлено: Чт Янв 19, 2012 12:57 pm    Заголовок сообщения: Ответить с цитатой

При уменьшении патча, скажем с 8х8 до 4х4, мы теряем часть информации(неважно по какому алгоритму мы уменьшаем). Т.к. с помощью ИНС возможно прогнозировать (с определённой долей точности) недостающие данные,то мне думалось, что нейросеть сможет прогнозировать (т.е. востановить) "недостающие" пикселы в патче.

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


Последний раз редактировалось: Time_Master1 (Чт Янв 19, 2012 1:22 pm), всего редактировалось 2 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Time_Master1
Новый посетитель
Новый посетитель


Зарегистрирован: 26 Дек 2011
Сообщения: 10
Откуда: г. Курган

СообщениеДобавлено: Чт Янв 19, 2012 1:14 pm    Заголовок сообщения: Ответить с цитатой

Думается придётся самому проверить свои размышления....
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Victor G. Tsaregorodtsev
Эксперт
Эксперт


Зарегистрирован: 28 Июн 2005
Сообщения: 248
Откуда: Красноярск

СообщениеДобавлено: Чт Янв 19, 2012 6:01 pm    Заголовок сообщения: Ответить с цитатой

Задача решаема без проблем. Правда, не знаю - будет ли значимое (с точки зрения достоверности статистического вывода) улучшение.

Критериев оценки качества изображения (по параметрам зашумленности, размытости, сфокусированности, контрастности, динамическому диапазону,...) - куча. Была, например, статья с таким критерием у Ларри Дэвиса (другой алгоритм Дэвиса, Харвуда и их таиландских аспирантов сейчас используется в библиотеке OpenCV для отделения объектов от фона в видеопотоке, т.е. люди это известные и с изображениями и видео работают плотно уже многие годы).
Сеть при этом надо учить не подгонять увеличенное изображение под то, что получено каким-то другим методом увеличения - а надо учить максимизировать этот самый критерий качества изображения.
Но, честно говоря, не помню - "локальная" или "глобальная" при этом получается оценка для обратного распространения (при локальной оценке можно оценивать и учить каждый конкретный пример, при глобальной надо сначала прогнать все примеры через сеть, посчитать параметры глоб.оценки, и на основе этих параметров уже считать оценки и поправки для отдельных примеров).

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

Под критерий качества изображения можно и другие задачи придумать. Вот, например, алгоритм Виолы и Джонса детекции лиц на изображении учил детектор на картинках лиц, уменьшенных до размеров 21*21 пиксел. И за 10 лет с момента выхода их статьи (и несмотря на то, что статью эту другие люди процитировали в других статьях уже порядка 1500 раз) вроде бы не было экспериментов на тему, какого размера нужно брать картинки-эталоны для максимизации качества последующей детекции. Можно посмотреть, как ведут себя график качества детекции и график критерия качества картинок-эталонов при изменении размеров этих эталонных картинок. Вдруг у них поведение будет схожим, т.е. критерий качества можно будет использовать для того, чтобы строить-обучать детектор только один раз, без его многократного построения на эталонах разных размеров? Алгоритм Виолы-Джонса приводит к экспоненциальному росту числа тестируемых алгоритмом элементарных признаков (т.е. чем крупнее размер картинок-эталонов, тем дольше обучение детектора) - а трудоемкость вычисления критерия качества вроде как линейно связана с размером картинки. Т.е. рабочий индикатор позволит существенно сократить вычислительные эксперименты (быстро указывая на размер картинки, дающий максимальную точность детектора) - поэтому ценность такого индикатора велика, и может быть, индикатором окажется как раз некоторый критерий качества изображения. А что - вполне себе нормальная рабочая гипотеза.
Т.е. если собираетесь работать в науке - то эта тема позволит много лет окучивать довольно близкие и связные задачи.
_________________
neuropro.ru - нейронные сети, анализ данных, прогнозирование
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Time_Master1
Новый посетитель
Новый посетитель


Зарегистрирован: 26 Дек 2011
Сообщения: 10
Откуда: г. Курган

СообщениеДобавлено: Чт Янв 19, 2012 7:33 pm    Заголовок сообщения: Ответить с цитатой

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


Зарегистрирован: 26 Дек 2011
Сообщения: 10
Откуда: г. Курган

СообщениеДобавлено: Пт Янв 20, 2012 1:44 pm    Заголовок сообщения: Ответить с цитатой

Вот выкладываю результаты:
http://2u.ifolder.ru/28207722
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Time_Master1
Новый посетитель
Новый посетитель


Зарегистрирован: 26 Дек 2011
Сообщения: 10
Откуда: г. Курган

СообщениеДобавлено: Пт Янв 20, 2012 2:25 pm    Заголовок сообщения: Ответить с цитатой

http://turbobit.net/496niys4iftu.html
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Victor G. Tsaregorodtsev
Эксперт
Эксперт


Зарегистрирован: 28 Июн 2005
Сообщения: 248
Откуда: Красноярск

СообщениеДобавлено: Пт Янв 20, 2012 4:44 pm    Заголовок сообщения: Ответить с цитатой

Повторяю: надо учить сеть максимизировать критерий качества изображения. Кто сказал, что Ваши примеры "правильные"?

Дополнительно (а то вдруг Вы не врубитесь в эту возможность): можно вовсе обойтись без нейросети Wink Если критерий дифференцируется (если можно получить частную производную всей функции-критерия по значению некоторого конкретного пиксела) - то можно "обучать" "промежуточные" (как-то первоначально проинтерполированные при увеличении изображения) пикселы увеличенного изображения, оставляя необучаемыми те пикселы исходного изображения, которые вошли в увеличенное (т.е. если увеличили картинку в 2 раза - то начинаем "обучать" значение каждого второго пиксела увеличенной картинки).
_________________
neuropro.ru - нейронные сети, анализ данных, прогнозирование
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Time_Master1
Новый посетитель
Новый посетитель


Зарегистрирован: 26 Дек 2011
Сообщения: 10
Откуда: г. Курган

СообщениеДобавлено: Пт Янв 20, 2012 8:49 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
Если критерий дифференцируется (если можно получить частную производную всей функции-критерия по значению некоторого конкретного пиксела) - то можно "обучать" "промежуточные" (как-то первоначально проинтерполированные при увеличении изображения) пикселы увеличенного изображения, оставляя необучаемыми те пикселы исходного изображения, которые вошли в увеличенное (т.е. если увеличили картинку в 2 раза - то начинаем "обучать" значение каждого второго пиксела увеличенной картинки

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


Зарегистрирован: 26 Дек 2011
Сообщения: 10
Откуда: г. Курган

СообщениеДобавлено: Пт Янв 20, 2012 9:01 pm    Заголовок сообщения: Ответить с цитатой

Как в цифрах представить критерий качеств изображения?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Time_Master1
Новый посетитель
Новый посетитель


Зарегистрирован: 26 Дек 2011
Сообщения: 10
Откуда: г. Курган

СообщениеДобавлено: Пн Май 07, 2012 8:31 pm    Заголовок сообщения: Ответить с цитатой

prettywoman писал(а):
Вот всетаки приследуемая цель не понятна. Просто более качественный способ увеличения ... или задумка все таки глубже

Думалось, что более качественно получится, за счёт, "памяти" сети.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов neuroproject.ru -> Нейронные сети Часовой пояс: GMT + 4
Страница 1 из 1

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


Rambler's Top100 Rambler's Top100