Подобряване на снимки с невронни мрежи

място да ни покажете снимките си или пък да питате

Модератори: mishaikin, bobo, Ronson, Yoddha

velin_g
Мнения: 2
Регистриран: вт дек 27, 2016 16:00
Репутация: 0

Подобряване на снимки с невронни мрежи

Мнение от velin_g » ср дек 28, 2016 09:54

Здравейте, не съм сигурен дали темата е за този подраздел но заслужава да бъде постнато в отделна тема. Отдавна следя форума но чак сега се регистрирах с цел да ви покажа инструмент който може да е полезен за тези които се занимават с астрофотография. Не знам дали сте запознати с невронните мрежи но това е технология която набира скорост в момента и започва да се използва в почти всички сфери на на живота свързани с компютрите. Интрумента се нарича "neural image enhance" този проект е все още експериментален за това не очаквайте главозаймаващи резултата но от известно време се занимавам с него и резултати са задоволителни. Адреса на проекта е https://github.com/alexjc/neural-enhance.

Идеята на проекта е използването на невронни мрежи с цел подобряване на снимки и фото изображения, в момента проекта поддържа уголемяване на оригиналното изображение с фактор 2х или 4х, също има модел "deblur" и "repair". Тука има една особеност тъй като невроните мрежи трябва да се "тренират" с набор от изображения не очаквайте резултатите да са еднакво добри при всички снимки. В стандартния си вариант пакета не е предназначен за астрофотография въпреки че в стандартния модел има и астрофотографии но ако го използвате специфично за астрофотографии то тогава трябва да се "изтренирате" собствен модел с набор от изображения. Тренирането е малко пипкава работа защото има няколко параметъра с които трябва да се експериментира също модела трябва да се захрани с поне няколко хиляди снимки. Идеята е доста интересна по мои впечатления в някои случаи може да се постигнат резултати по-добри от тези с използва на стандартните фотошопски техники за уголемяване и поправка на изображения. Има и видео ускорение така че тези от вас с Нвидия карти ще могат да се възползват от това ускорение.
Имайте в предвид че се изисква голямо количество памет за ползването на пакета, със снимки по-големи от 1000 пиксела може да възникнат проблеми с недостига на памет.

Най-лесния и бърз начин да подкарате пакета е да използвате "docker". Пробвал съм го на Убунту сървър и на десктоп версията работи без проблем. Следвайте инструкциите за инсталиране на сайт но ако ползвате Убунту. Когато задавате alias- са за стартиране на пакета трябва пред "docker" да има "sudo" команда иначе поне при мен пакета гърми с грешка.

SuperVas220
Мнения: 100
Регистриран: ср фев 18, 2015 21:24
Репутация: 1

Re: Подобряване на снимки с невронни мрежи

Мнение от SuperVas220 » ср дек 28, 2016 12:15

И аз съм съгласен, че изкуствените невронни мрежи са технологичния хит в момента. Това е една доста интересна научна област.

Съществуващите методи и алгоритми за обработка на изображения също са много разнообразни и не бива да се подценяват, но е трудно да намериш програма, която притежава най-добрите алгоритми. Изискват се доста познания по математика за да се направи нещо добро или по-добро от съществуващото. Невронните мрежи от друга страна сами си генерират алгоритъма, като знаят на какъв вход, какъв изход трябва да получат.

Като ми остане време ще го пробвам задължително.

velin_g
Мнения: 2
Регистриран: вт дек 27, 2016 16:00
Репутация: 0

Re: Подобряване на снимки с невронни мрежи

Мнение от velin_g » чет дек 29, 2016 09:08

Който иска да разбере какво точно се прави може да погледне научната разработка върху която се базира този пакет . https://arxiv.org/abs/1603.08155 Интересно е.

Да допълня само защото документацията не е много добре подредена . Примерно използване :

NeuralEnhance 2x Photo (Default): Sample Inputs & Outputs
NeuralEnhance 1x Photo Repair: Sample Inputs & Outputs

Сегашния модел е из трениран с около 300 хиляди снимки. В момента автора подготвя нов модел с около милион снимки. За тези които искат да "тренират" свой модел това се прави на две стъпки погледнете файловете в директория "train" на репозиторито

Betelgeuse
Мнения: 1716
Регистриран: чет авг 11, 2005 22:26
Репутация: 11
Местоположение: остров Ванкувър
Контакти:

Re: Подобряване на снимки с невронни мрежи

Мнение от Betelgeuse » чет дек 29, 2016 09:54

Честно казано, трансфера на стилове ме впечатли повече. Що се отнася до Super resolution, авторите са обяснили добре: In single-image super resolution, the task is to generate a high-resolution output image from a low-resolution input. This is an inherently ill-posed problem, since for each low-resolution image there exist multiple high-resolution images that could have generated it.
Индианчето изглежда най-добре на последната снимка, няма спор, но колието е много далеч от истината.

При научни снимки, не виждам как може да научиш невронната мрежа на нещо което никога преди не е снимано. Методът е интересен, доколкото няколко възможни решения биха могли да бъдат база за по-нататъшни обсъждания и проверки на база "физически съображения".
Space is big. You just won't believe how vastly, hugely, mind-bogglingly big it is.

"...any scientist who couldn't explain to an eight-year old what he was doing is a charlatan."

Боян Спасов
Мнения: 96
Регистриран: нед сеп 18, 2016 14:33
Репутация: 132

Re: Подобряване на снимки с невронни мрежи

Мнение от Боян Спасов » чет дек 29, 2016 11:40

Всъщност колкото и да е шантаво биха могли да постигнат достоверност дори с научна цел :)
Човешкият мозък го прави непрекъснато . Представете си , че в базата данни имаме червен , син , розов и да кажем жълт кръг , с еднакви размери , снимани по единично. След това внасяме нова снимка :
Размазано изображение на същите кръгове , но всички заедно и подредени в геометрична фигура , да кажем с центрове , разположени по върховете на квадрат .
В този случай изображението с най-висока статистическа тежест би било именно вярното с оригинала .
И тук вече е тънкият момент : За каква цел ще решим да ползваме генерираното изображение ?
И ако целта е например разшифроването на извънземна азбука , то достоверността на това изображение би могла да бъде напълно достатъчна .

А сега си представете същият прост принцип мултиплициран и допълнително подплатен чрез апроксимация и интерполационни методи и сте на крачка ако не от изкуственият интелект то поне от изкуствената интуиция :)

SuperVas220
Мнения: 100
Регистриран: ср фев 18, 2015 21:24
Репутация: 1

Re: Подобряване на снимки с невронни мрежи

Мнение от SuperVas220 » чет дек 29, 2016 16:39

Betelgeuse написа:Честно казано, трансфера на стилове ме впечатли повече. Що се отнася до Super resolution, авторите са обяснили добре: In single-image super resolution, the task is to generate a high-resolution output image from a low-resolution input. This is an inherently ill-posed problem, since for each low-resolution image there exist multiple high-resolution images that could have generated it.
Индианчето изглежда най-добре на последната снимка, няма спор, но колието е много далеч от истината.

При научни снимки, не виждам как може да научиш невронната мрежа на нещо което никога преди не е снимано. Методът е интересен, доколкото няколко възможни решения биха могли да бъдат база за по-нататъшни обсъждания и проверки на база "физически съображения".
Ако от едно изображение получиш няколко, какво ти пречиш да ги стакнеш после или да ги комбинираш чрез Drizzle алгоритъма. Както се казва: един кадър не стига, като натрупаш доста, картинката става ясна. Всеки един пример за super-resolution е само един, а те са много и нарастват.
А какво пречи да използваш хилядите други начини за обработка на изображения. Математиката доста е напреднала в тази област и общата култура вече не е достатъчна! Генетичните алгоритми и по-общо еволюционните алгоритми комбинирани с невронни мрежи могат да създадът изкуствен живот (макар и в компютъра), който се учи. Ако включиш и различните оптимизационни прецедури, може да се направят още по-интересни неща.

Ето едно клипче по темата:

Betelgeuse
Мнения: 1716
Регистриран: чет авг 11, 2005 22:26
Репутация: 11
Местоположение: остров Ванкувър
Контакти:

Re: Подобряване на снимки с невронни мрежи

Мнение от Betelgeuse » ср яну 04, 2017 01:11

SuperVas220 написа:
Betelgeuse написа:Честно казано, трансфера на стилове ме впечатли повече. Що се отнася до Super resolution, авторите са обяснили добре: In single-image super resolution, the task is to generate a high-resolution output image from a low-resolution input. This is an inherently ill-posed problem, since for each low-resolution image there exist multiple high-resolution images that could have generated it.
Индианчето изглежда най-добре на последната снимка, няма спор, но колието е много далеч от истината.

При научни снимки, не виждам как може да научиш невронната мрежа на нещо което никога преди не е снимано. Методът е интересен, доколкото няколко възможни решения биха могли да бъдат база за по-нататъшни обсъждания и проверки на база "физически съображения".
Ако от едно изображение получиш няколко, какво ти пречиш да ги стакнеш после или да ги комбинираш чрез Drizzle алгоритъма. Както се казва: един кадър не стига, като натрупаш доста, картинката става ясна. Всеки един пример за super-resolution е само един, а те са много и нарастват.
А какво пречи да използваш хилядите други начини за обработка на изображения. Математиката доста е напреднала в тази област и общата култура вече не е достатъчна! Генетичните алгоритми и по-общо еволюционните алгоритми комбинирани с невронни мрежи могат да създадът изкуствен живот (макар и в компютъра), който се учи. Ако включиш и различните оптимизационни прецедури, може да се направят още по-интересни неща.

Ето едно клипче по темата:

Ако от едно изображение получиш няколко, колкото и да ги комбинираш истинската информация е от едно изображение. Ако има друга - тя е измислена. Точка.
На мен нищо не ми пречи, просто изказах мнение. Аз имам публикувани статии по обработка на астро изображения (но не единични!) с използване на генетични алгоритми.
Space is big. You just won't believe how vastly, hugely, mind-bogglingly big it is.

"...any scientist who couldn't explain to an eight-year old what he was doing is a charlatan."

SuperVas220
Мнения: 100
Регистриран: ср фев 18, 2015 21:24
Репутация: 1

Re: Подобряване на снимки с невронни мрежи

Мнение от SuperVas220 » ср яну 04, 2017 19:35

Betelgeuse написа:Ако от едно изображение получиш няколко, колкото и да ги комбинираш истинската информация е от едно изображение. Ако има друга - тя е измислена. Точка.
На мен нищо не ми пречи, просто изказах мнение. Аз имам публикувани статии по обработка на астро изображения (но не единични!) с използване на генетични алгоритми.
В случая, когато се използва деконволюция за премахване на ефектите на атмосферата на база PSF на звездите например, може ли да се каже, че новата информация е възстановена или корегирана. Тя не е присъствала в оригиналното изображение, но до колко е измислена и може ли да се разчита на нея? Тук се сещам и за метода за Speckle Interferometry за откриване на двойни звезди. Там също се използват голям брой кадри, но едва ли някой би казал, че те съдържат някаква информация. Обаче метода се използва от учените и резултантното изображение показва много добре отделните звезди.

Верно, е че Drizzle използва няколко изображения с различна и реална информация за да създаде по-голямо изображение. Не съм го изучавал подробно, но ако има някакви сметки върху отделните кадри освен извличането на отделни пиксели, то до колко той дава неизмислена информация? Споменах го само като идея, правейки аналогия с подобряването на JPEG изображения с голяма степен на компресия и наличие на блокови артефакти, използвайки само едно изображение.

Нямам представа дали и какви обработки на кадрите се използват от учените (освен калибрирането), но е интересно да се разбере.

SuperVas220
Мнения: 100
Регистриран: ср фев 18, 2015 21:24
Репутация: 1

Re: Подобряване на снимки с невронни мрежи

Мнение от SuperVas220 » съб фев 04, 2017 12:44

Почетох малко за Drizzle алгоритъма и това което разбрах е следното.

Има разработени няколко варианта на оригиналния алгоритъм. Оригиналния Drizzle е комбинация от два по-прости алгоритъма "Interlacing" и "Shift-and-Add".
Първият алгоритъм е простото подреждане на пикселите от входните изображения в изходното без друга обработка. На практика, този метод не дава добри резултати, понеже изместванията между кадрите не са напълно еднакви, а и оптиката внася изкривявания между отделните пиксели. Вторият метод се използвал отдавна и изходните пиксели са сума от няколко съответстващи им от входните изображения. Тук има и осредняване на сумата.
Drizzle алгоритъма е линейна комбинация от горните два алгоритъма, която се контролира от един параметър, каквото и да значи това. Ограниченията при него са по-малко и има свойството да намалява част от шума в новото изображение, както и да се справя с изкривяванията от оптиката.

Сумирането и осредняването мнго приличат на добре познатото стакване на кадри, което използваме. И логичния въпрос какво стакване се използва "averaging/mean" или "median" е много интересен!

Понеже все пак има сумиране на различни пиксели се получава и леко размиване в крайното изображение при използване на Drizzle, който ефект се подтиска чрез свиване на първичните пиксели.

Параметрите на алгоритъма са два и чрез тяхното комбиниране могат да се получат няколко крайни изображения, които естествено могат да се стакнат отново... както и да се използват различни други козметични обработки на изображенията.

Т.е. от един комплект изображения могат да се получат нови изображения, които да съдържат различна крайна информация, която може да се осреднява по някакъв начин. А това води до подобряване на резултатите, които макар и да не са идеални, са много по-качествени от първоначалната информация. Това е пример за "Bootstrapping" техниките, които най-общо казано стакват частични данни извлечени от един по-голям комплект данни.

Повече за Drizzle: http://www.stsci.edu/hst/HST_overview/d ... tml#493920

SuperVas220
Мнения: 100
Регистриран: ср фев 18, 2015 21:24
Репутация: 1

Re: Подобряване на снимки с невронни мрежи

Мнение от SuperVas220 » съб фев 04, 2017 23:24

Другият въпрос, който бях споменал в предишните си постове в тази тема е за отстраняването на блоковите артефакти (blockiness) в силно компресираните JPEG изображения. Когато имаме на разположения няколко изображения на сцената нещата са значително по-лесни. но какво правим ако имаме само едно изображения с ниско качество поради високата компресия?

За процедурата "deblocking" основно на JPEG изображения има разбира се развити доста алгоритми с различна ефективност. Едни прилагат сложна терминология, а други по-елементарни действия. Този, който ми направи впечатление обаче може да се нарече с основание "невъзможен" (за разлика от M-двигателя) {:->) Той прилага повторно JPEG алгоритъма върху едно JPEG изображение. Всеки уважаващ се специалист ще каже че това няма как да подобри нещата... Това твърдение звучи напълно логично и очевидно е вярно. Всички сме свидетели (<-:} Дали все пак не допускаме грешка някъде?

Става дума за алгоритъма описан тук: http://www.utdallas.edu/~aria/mcl/post/
Дори има и публикуван сорс код.

Как работи този невъзможен алгоритъм. JPEG формата разделя всяко изображение на блокове с размери 8х8 пиксела. Когато приложим голяма компресия (филтриране) разликите между съседните блокове стават видими. Алгоритъма повтаря последователно JPEG преобразуванието, но върху блокове, които са изместени с един пиксел в хоризонтално или вертикално направление. Така блоковите граници се падат на различно място всеки път. Т.е. вече разполагаме с 64 нови изображения, които се различават малко. Както вероятно се досещате, ще ги стакнем! А с този процес сме запознати. Напрактика преместванията във всяко направление са 7 (8-то не променя нищо) и следователно имаме 49 изображения. Освен това не било нужно да се правят всички премествания, което допълнително ускорява алгоритъма. Резултати определено са добри. Автора твърди, че неговите резултати са по-добри от съществуващите до момента!

Това е друг пример за генерирането на различни извадки от една първична, като в случая новите извадки са с размера на първичната.

SuperVas220
Мнения: 100
Регистриран: ср фев 18, 2015 21:24
Репутация: 1

Re: Подобряване на снимки с невронни мрежи

Мнение от SuperVas220 » нед фев 05, 2017 12:29

Стигнахме и до изкуствените невронни мрежи. И при тях теорията и практиката са доста развити и съществуват множество видове мрежи и техники за тяхното обучение.
През последните няколко години може да се каже, че развитието им е лавинообразно и намира приложение във все повече области. Което е нормално. Щом придаваме човешки характеристики на нещо, това нещо заприличва на нас хората, а ние сме способни на много неща.

Има три начина за обучение на изкуствените невронни мрежи. И при тях резултатите зависят от обучението им. Както се казва първите 7 години са много важни!
Първият начин е под контрол "supervised learning". При него имаме конкретен входен материал и конкретен изходен материал. Т.е. казваме на мрежата как да мисли, т.е. да смята, за да получи това, което искаме ние.
Вторият начин е този при който нямаме обратна връзка за това, което сме измислили, т.е. мрежата е изчислила. Не се знае каква е грешката.
Третият начин е наречен "Reinforcement learning" и до колкото разбирам от малкото прочетен материал се доближава максимално до Изкуствения интелект, понеже мрежата се обучава да взима решения при различни условия. Тук, пак до колкото разбирам, мрежата може да "предположи" нещо или да "експериментира" с нови параметри. И тук има входни-изходни данни, но не е задължително те да са напълно точни, т.е. и грешката не е много ясна.

Това, което ми направи впечатление е вида изкуствена невронна мрежа "Generative adversarial network". Този вид е предложен само преди 3 години и използва втория начин за обучение. Този вид мрежа се използва за генериране на автентично изглеждащи за човека изображения. Например попълване на изтрита област от дадено изображение. Другото интересно нещо тук е че се използва една невронна мрежа, която се опитва да излъже друга невронна мрежа, че първата е подала истинско изображение, а не генерирано от нея.

Повече за Generative adversarial network: https://en.wikipedia.org/wiki/Generativ ... l_networks

Пример 1: https://swarbrickjones.wordpress.com/20 ... ks-dcgans/
Пример 2: http://www.cc.gatech.edu/~hays/7476/pro ... y_Wenchen/

Една кратка статия за развитието на невронните мрежи през 2017 г.: https://www.technologyreview.com/s/6032 ... e-in-2017/

Betelgeuse
Мнения: 1716
Регистриран: чет авг 11, 2005 22:26
Репутация: 11
Местоположение: остров Ванкувър
Контакти:

Re: Подобряване на снимки с невронни мрежи

Мнение от Betelgeuse » вт фев 07, 2017 22:22

SuperVas220 написа: Сумирането и осредняването мнго приличат на добре познатото стакване на кадри, което използваме. И логичния въпрос какво стакване се използва "averaging/mean" или "median" е много интересен!
Не е ли тривиален - в полза на median?
Space is big. You just won't believe how vastly, hugely, mind-bogglingly big it is.

"...any scientist who couldn't explain to an eight-year old what he was doing is a charlatan."

SuperVas220
Мнения: 100
Регистриран: ср фев 18, 2015 21:24
Репутация: 1

Re: Подобряване на снимки с невронни мрежи

Мнение от SuperVas220 » вт фев 07, 2017 23:33

Betelgeuse написа:
SuperVas220 написа: Сумирането и осредняването мнго приличат на добре познатото стакване на кадри, което използваме. И логичния въпрос какво стакване се използва "averaging/mean" или "median" е много интересен!
Не е ли тривиален - в полза на median?
В софтуера от сайта на Хъбъл Института има и двете възможности. Предполагам, че избора зависи от крайната цел на снимката.

SuperVas220
Мнения: 100
Регистриран: ср фев 18, 2015 21:24
Репутация: 1

Re: Подобряване на снимки с невронни мрежи

Мнение от SuperVas220 » ср фев 08, 2017 21:40

Програмата Neural-Enchance използва GAN невронните мрежи, като комбинира няколко техники за обучение, т.е. за получаване на модела на невронната мрежа, който изпълнява конкретна обработка на входните изображения.

Програмата се инсталира както е описано в сайта, чрез Docker контейнери. Преди това, в Linux-а трябва да се инсталира самия Docker с административни права. В момента програмата е версия 0.3, като се работи по 0.4.

Успях да направя бърз тест с едно изображение от Интернет. Понеже разполагам с 4 ГБ памет+ 4 ГБ виртуална памет се ограничих до изображение с размери до 1000х1000 пиксела. Ето как процедирах:

Пуснах обработката на тестовото изображение през програмата, като едно временно с това го ресайзнах 2х с Lancoz алгоритъма и приложих лека Lucy-Richardson/Richardson-Lucy деконволюция. Тестовото изображение подадено на програмата е получено от оригиналното като то е намалено 2х пъти отново с Lancoz алгоритъма без допълнителна обработка. Така имаме 3 изображения: оригиналното, резултата от програмата и резултата от стандартното ресайзване.
Командата в терминала за функцията super-resolution е: enhance --zoom=2 original2.jpg

Оригинално изображение
orig.png
Изображение от програмата
orig_neural.png
Ресайзнато изображение
orig_resize.png
Ефекта от невронната мрежа ми се струва подобен на ефекта от леко прекаляване с усилването на контраста, което води до усилването на шума във фона. Звездите изглеждат с по-ясни граници. Трябва да се има предвид, че оригиналното изображение има шум и увеличаването е само 2 пъти. Програмата има възможност и за 4х увеличаване. Следващия път ще пробвам с някое перфектно изображение беш шум, висок контраст и 4х увеличение.

Другия възможен тест е сравняването на бинирано изображение 4х4 и такова с бин 1х1 получено с някоя астро камера. Ако някой ми прати две такива изображение ще се пробвам и с тях.

Betelgeuse
Мнения: 1716
Регистриран: чет авг 11, 2005 22:26
Репутация: 11
Местоположение: остров Ванкувър
Контакти:

Re: Подобряване на снимки с невронни мрежи

Мнение от Betelgeuse » ср фев 08, 2017 23:22

пробвай да видим какво ще стане със следната:
helix_hubble256.jpg
helix_hubble256.jpg (10.73 KиБ) Видяна 1889 пъти
като я увеличиш 4 пъти какво ще получиш?
В идеалния случай - това:
Изображение

Ето още две за упражнение, да ги учетвориш. Аз пазя "оригиналите" които са 1024х1024
Прикачени файлове
hires256.jpg
hires256.jpg (75.09 KиБ) Видяна 1886 пъти
yQCG2TA256.jpg
yQCG2TA256.jpg (34.2 KиБ) Видяна 1886 пъти
Space is big. You just won't believe how vastly, hugely, mind-bogglingly big it is.

"...any scientist who couldn't explain to an eight-year old what he was doing is a charlatan."

SuperVas220
Мнения: 100
Регистриран: ср фев 18, 2015 21:24
Репутация: 1

Re: Подобряване на снимки с невронни мрежи

Мнение от SuperVas220 » съб фев 11, 2017 21:38

При опит за 4х увеличение дори на много малко изображение и 8-те ГБ памет не ми стигнаха... За сега оставам на 2х увеличение!

Понеже двете предложени изображения не ми се сториха достатъчно добри за моя тест, намерих друго и го дооправих, така че да стане както аз искам. По долу са резултатите.

Оригинално изображение
Изображение

Резултат при Nearest (най-лошо качество) намаляване на оригинала
Изображение

Резултат при Lanczos (най-добро качество) намаляване на оригинала
Изображение

Следващият път ще пробвам намаляване чрез биниране 2х2 от MaximDL-а.

Впечатленията ми от този рунд са следните:
Разликите между Lanczos и оригинала са незабележими и ако се корегира контраста след намаляването, може да се окаже, че невронната мрежа е "подобрила" изображението повече от необходимото...
При Nearest Neighborhood разликата се забелязва, според мен отново като при прекаляване с контраста в областите с равномерен цвят. В областите с много дребни детайли, дефектите са още по-видими поради използвания метод за намаляване на оригиналното изображение.

SuperVas220
Мнения: 100
Регистриран: ср фев 18, 2015 21:24
Репутация: 1

Re: Подобряване на снимки с невронни мрежи

Мнение от SuperVas220 » нед фев 12, 2017 15:35

Направих тест и с биниране 2х2 през MaximDL, което не е точно като бинирането в камерите, но мисля че върши работа за този тест.
Резултата е почти неразличим от оригинала, като е съвсем малко по-лош от случая на намаляване с Lanczos алгоритъма.

Направих още един тест: 2х увеличаване отново с Lanczos алгоритъма. Резултата е почти същия като оригинала, като изключим съвсем лекото размазване, което е следствие от самото увеличение. Това е очаквано и обикновено след преорязмеряване на изображения се коригира контраста чрез някой от множеството начини.

Последният тест показва, че невронната мрежа прилага и корекция на контраста освен ресайзването. Явно за това е обучена в този режим на работа. Промяна в цветовете не забелязах.
Последната серия тестове я правих с адаптирано изображение, а не с реални единични такива. При наличие на шум или фон приличащ на шум резултатите са според входното изображение.

Астрономическите снимки се различават в по-голямата си част от "стандартните" и вероятно ако невронната мрежа се обучи само с добре подбрани астрономически, резултатите ще са други.

Някой друг да е правил експерименти с програмата с каквито и да е снимки?

Betelgeuse
Мнения: 1716
Регистриран: чет авг 11, 2005 22:26
Репутация: 11
Местоположение: остров Ванкувър
Контакти:

Re: Подобряване на снимки с невронни мрежи

Мнение от Betelgeuse » ср фев 15, 2017 22:31

SuperVas220 написа:
Понеже двете предложени изображения не ми се сториха достатъчно добри за моя тест, намерих друго и го дооправих, така че да стане както аз искам. По долу са резултатите.
Това дето си го намерил, както и това дето първоначално беше пуснал, въобще не е добър избор тъй като почти няма детайлност от 1 пиксел. Така че като го намалиш 2 пъти с ланцос, почти нищо не губиш.
Обратно - двете които аз намалих и ти пуснах имат чудесна едно-пикселова детайлност в оригиналите (самите оригинали не съм пуснал, защото така е по-интересно и по-близо да реалния случай)

Нямам линукс. Имам уиндоус компютри с до 16гб реален рам.
Space is big. You just won't believe how vastly, hugely, mind-bogglingly big it is.

"...any scientist who couldn't explain to an eight-year old what he was doing is a charlatan."

Потребителски аватар
magi208
Мнения: 938
Регистриран: вт фев 24, 2015 17:34
Репутация: 38

Re: Подобряване на снимки с невронни мрежи

Мнение от magi208 » чет фев 16, 2017 02:03

И аз забелязах нещо странно в тези обработки ...
Програмата ми за разпознаване на дублирани файлове ги определя като 99% еднакви :dunno:
Това говори за приложен строг алгоритъм , което е странно . Очаквах някаква креативност в обработката.
Наистина ли само толкова могат невронните мрежи ?
Целестрон 280 F/10 Шмидт-Касегрен
Целестрон 150 F/5 Рефрактор

Потребителски аватар
Synergon
Мнения: 515
Регистриран: пон авг 12, 2013 11:20
Репутация: 235
Местоположение: Владая

Re: Подобряване на снимки с невронни мрежи

Мнение от Synergon » чет фев 16, 2017 11:36

magi208 написа:И аз забелязах нещо странно в тези обработки ...
Програмата ми за разпознаване на дублирани файлове ги определя като 99% еднакви :dunno:
Това говори за приложен строг алгоритъм , което е странно . Очаквах някаква креативност в обработката.
Наистина ли само толкова могат невронните мрежи ?
Здравей,
това са ламерски програми, които изобщо не действат като "невронна" мрежа.
Подаваш им като за калибриране ( а не за обучение) снимки и тя ужким се учи. Дрън дрън.
Прави някаква функция с параметри, като функцията е предварително зададена, само променя параметрите според "обучението" .
Реална невронна симулация няма да докопате в интернет. Там невроните обменят в двете посоки, което изисква съвсем друг подход и
огромна изчислителна мощ. На компа вкъщи няма как да стане.
Все пак темата е интересна.
Лека.
...Space is infinite - your back seat isn't. [-X

Успехът също е вид изпитание !

Video Astronomy System:
Photon 154 mm F/4 Alt-Az Go To
ZWO ASI224MC USB 3.0
ZWO IR/UV Cut Filter
Focal Reducer 0.6x
Barlow 2.3x

SuperVas220
Мнения: 100
Регистриран: ср фев 18, 2015 21:24
Репутация: 1

Re: Подобряване на снимки с невронни мрежи

Мнение от SuperVas220 » чет фев 16, 2017 22:36

Оказа се, че снимките са доста компресирани в сайта, който използвах и всъщност не са оригиналните. Оригиналните на втория тест ги качих тук: http://www.supervas220.biz/neural-enhance/
res1c.png - резултата след биниране 2х2
res1d.jpg - резултата след увеличение отново с Lanczos.

Съгласен съм, че микро контраста или шарпнеса не е голям на всякъде, а само в малка област от изображението. Звездите от първото изображение и малките обекти във второто вършат работа все пак. В първото има и 1-пикселов шум.
Наблюденията ми основно бяха върху синкавата област над ядрото на галахтиката, спайковете на звездата и няколко от малките обекти. Там микро контраста или шарпнеса са високи. Опитах се и при 4х увеличение, но при мен не стана.
Подготвил съм още едно изображение за тесване. То е подходящо със сигурност.

На теория Docker контейнерите могат да работят и под Windows. Не съм пробвал дали точно този ще тръгне под Windows.

Какво показват тези 99 % прилика между оригинала и резултата от невронната мрежа, предполагам? Няма да обсъждаме алгоритъма за сравнение.
Този резултат се дължи отчасти и на силно компресираните файлове от хостинга, който използвах. По-важното е обаче че няма влошаване на изображенията. Ако разликите бяха по-големи можеха да са в резултат на повишаване на фона, появяване на обекти, които ги няма в оригинала, силно размиване на някои области и други дефекти. Т.е. подобрението може и да не е голямо, но поне няма влошаване.

При използване на режима REPAIR на програмата тъмния фон в тестово изображение стана сив, но то нямаше нужда от поправяне на JPEG blocking дефектите, а този режим прави точно това, а не друго. Режима DENOISE нещо не работи.

Тази програма работи с конкретни обработки. Най-добре би било да се обучи с единичен кадър на входа и едно перфектно изображение на изхода, направено и нагласено по-най-добрия начин, включително стакване с голям брой кадри, цветово наситено, контраст, тъмен фон, без никакъв шум и т.н. Проблема е в набавянето на обучителен материал. Ресайзването и deblocking-а лесно се генерират от всяко едно изображение за нула време.

В наши дни видовете невронни мрежи са толкова много, че едва ли някой знае точният им брой. Начините за тяхното обучение са също толкова. Затова не бива да се съди за всички само по една програма, която все още се развива.
По принцип проблемите свъзани с прилагането на невронните мрежи са много като дори има значение първоначалните стойности на параметрите, броя на невроните, големината на извадката за обучение и други.

Betelgeuse
Мнения: 1716
Регистриран: чет авг 11, 2005 22:26
Репутация: 11
Местоположение: остров Ванкувър
Контакти:

Re: Подобряване на снимки с невронни мрежи

Мнение от Betelgeuse » пет фев 17, 2017 09:33

Стига с тоя деблокинг? На кого му трябва деблокинг? На някой дето иска да подобри нещо скапано от идиот, щото нямал достатъчно място на харда?
Тва е абсолютно безмислено за научни снимки. Кой е тоя идиот дето ще запише ценна снимка в джейпег с ниско, качество, ще изтрие некомпресирания оригинал, а по-късно ще му хрумне да подобрява така запазеният боклук. Ае молим ти се.
Space is big. You just won't believe how vastly, hugely, mind-bogglingly big it is.

"...any scientist who couldn't explain to an eight-year old what he was doing is a charlatan."

SuperVas220
Мнения: 100
Регистриран: ср фев 18, 2015 21:24
Репутация: 1

Re: Подобряване на снимки с невронни мрежи

Мнение от SuperVas220 » пет фев 17, 2017 22:17

Много добре казано!

Аз обаче само давах пример за това, че една обработка на снимка може да я развали, ако не е правилна или се прекали.
Компресия има и във видео файловете и понякога се забелязват такива дефекти.

Betelgeuse
Мнения: 1716
Регистриран: чет авг 11, 2005 22:26
Репутация: 11
Местоположение: остров Ванкувър
Контакти:

Re: Подобряване на снимки с невронни мрежи

Мнение от Betelgeuse » пет мар 31, 2017 08:09

То ако на 10 минутно видео за няколко секунди се видят квадратчета - здраве да е. По-големия резил е когато е със сбъркано aspect ratio - една камара такива има в тубата.
Space is big. You just won't believe how vastly, hugely, mind-bogglingly big it is.

"...any scientist who couldn't explain to an eight-year old what he was doing is a charlatan."

Отговори
  • Подобни теми
    Отговори
    Преглеждания
    Последно мнение