Pull to refresh

Comments 102

>> Здесь программа может эффективно повышать качество фотографий, сделанных в плохих условиях освещения или с низким разрешением матрицы.

И потом из ниоткуда у твоей девушки на фотографии появится член — так сказать, добавит деталь, характерную для людей.
Вы ошиблись, это не реактор.
Я так понимаю, это только если ваша девушка с усами и у неё волосатая грудь…
В противном случае нейросеть должна корректно понимать где можно чего пририсовывать, а где нет.
В идеальном мире так и будет. А в нашем, к сожалению, нейросети частенько допускают ошибки такого рода, ибо это уровень несколько выше распознавания отдельных фич, это один из последних слоёв, связывающий отобранные фичи воедино, потому ошибка в нём наиболее критична, и сеть вполне может пририсовать, скажем, кадык или лишний палец. Или пупок затереть, да.
Ни кто не собирается ими дорисовывать девушкам область пикселей между ног, собираются этим алгоритмом размытость на видео убирать. Не несите чепухи, ребят.
Речь шла о том факте, что сеть, как и живой человек, может неправильно интерпретировать некоторые объекты, и за ней желательно проверять работу. Девушки здесь прошли фоном. В случае со свёрточными сетями у Вас скорее всего не будет выбора, что дорисовывать, а что — нет, т.к. на вход зачастую будут подаваться достаточно большие блоки изображения. Разве что Вы потом зададите маску и смешаете исходник с результатом в нужном виде, но в случае видео это достаточно трудоёмкая операция, т.к. маску придётся обновлять для каждого кадра.
за что человека затоптали я не понял? НС и не такое домысливать умеют — вопрос как их тренировать. Интернет облетели картинки гугловских НС, которым всюду мерещатся собачьи морды. Если НС «воспитывать» на картинках «девушек с членами», будут члены мерещиться.
Еще чуть-чуть и
CSI.jpeg
image
уже не будет шуточным мемом

Но вообще хотелось бы чуть больше подробностей по тому, как она это делает.
А то пока описание технологии выглядит как «берем кучу фоток, загружаем их в нейросеть, перемешиваем и смотрим что получилось».
> Как пишет издание MIT Technology Review, при обучении нейросети исследователи генерировали картинки низкого качества из картинок высокого разрешения — и подавали эти пары изображений на вход нейросети.

Телепатирую, что имеется в виду следующее: обучение с учителем сделали в виде интерполяционного схождения на выходе первой картинки ко второй, после чего выход как-то сопоставляется со вторым входом (условно говоря, ее просили «сделай первое похожим на второе… а теперь вот это еще более похожим… и еще… и еще...»).

К слову, это до некоторой степени похоже на самовозбуждение нейросети, когда выход нейросети прямо подается на вход, и нейросеть «видит сны», обрабатывая собственные сгенерированные образы. Только в этом случае нейросеть «видела сны», но с каждой итерацией «сон» становился все более «реалистичным». У меня кстати, когда я всматриваюсь в сгенерированную штукатурку справа, возникает именно ощущение, что я вижу кадр из чьего-то сна — из-за такого же обилия мелких несостыковок, при котором видимое все же выглядит реальным.
Простите, я к вам из прошлого, из 2016го, а когда вот это вот все, что вы пишете стало реальностью!? Чувствую, что начинаю отставать от жизни ))
Если бы мне показали правый кадр вне текущего контекста, я бы и не заподозрил, что текстура сгенерированна. Явных повторений я тут не вижу. Мне кажется, что если вам показать сотню реальных фоток подобных текстур вперемешку со сгенерированными, погрешность угадывания где реальная фотка а где генератор будет сильно велика.
Да так же, как человек… Когда видишь недостающие детали, например, несколько пикселей на месте глаз — ты понимаешь, что это глаза и далее уже не имея информации по опыту предполагаешь, что там есть глазное яблоко, веки, зрачок и т.п. Аналогично — можно, видя неопределенную группу пикселей там, где должен быть нос, предположить, как он очерчен, что там должны быть ноздри и т.п.
Заметил на примере игр SQ от Sierra — пятая часть смотрится отлично. А там 320x200 и не полный экран, так что схематичность изображения весьма серьезная. Но мозг дорисовавает те детали, которых не видно на картинке, но они предполагаются там. Фигурка в десяток переливающихся пикселей вполне воспринимается как идущий человек… А в шестой части приплыли — графика стала детальнее в четыре раза, 640x480, супер-VGA и все такое… при этом вызывает настоящее отвращение. Кажется, «зловещая долина» в действии — слишком детально для того, чтобы запустился механизм достраивания изображения, но слишком схематично, чтобы воспринять эту картинку, как годную саму по себе…

От художника сильно зависит. Вот, голова высотой в 10 пикселей, меж тем весь спектр эмоций:

Тоже из игрушки эпохи 320x200.


Что касается SQ, то там не только разрешение, но и стилистику поменяли, и именно в этом проблема.

У меня подобные ощущения от современных игр. Совсем уж пиксельная графика, честно говоря, мне кажется месивом, а вот игры где-то ранних 00-х — самое то в плане компромисса между схематичностью и реалистичностью. С одной стороны, достаточно детальные модели и текстуры, чтобы это действительно выглядело как люди, машины и кусты, а с другой — достаточно свободы для воображения, дорисовывающего детали. И по последнему пункту современные игры таки проигрывают тем старым — просто потому, что, когда всё такое из себя супер-HD, минимальные "баги" (типа там волос, проходящих насквозь через щеку) тут же бросаются в глаза (а на лоу-поли модельках этого всего не было, т.к. они сами по себе менее детальны).


То же самое и с текстурами, возможно, в связке с моделями. Одно дело — когда на стене из четырех полигонов такая же размазанная текстура, другое — разные унылые HD-моды, которые лепят на ту же стенку из 4 полигонов текстуру 4096x4096. Всё такое супердетальное, но неестественно плоское / треугольное.

Насчёт текстур совершенно не согласен. Ранний 3D — это текстуры с низким разрешением и объекты с маленьким числом вершин, однако разрешение экрана уже было достаточно хорошим, чтобы все эти косяки были прекрасно видны. В результате у мозга нет возможности придумывать недостающие детали: картинка этому придумыванию активно противостоит.


Скажем, меня безмерно огорчала "эволюция" от WarCraft II к WarCraft III: на замену идеально чёткому пиксель-арту пришёл "кубизм" раннего 3D. И если в миссиях при достаточном отдалении моделей и низком разрешении экрана (800x600) всё было более-менее сносно (и даже был бонус — больше анимаций), то ролики на игровом движке неизменно вызывали содрогание.


По сути, 3D в играх я начал воспринимать не как эволюцию задом наперёд именно тогда, когда до игр добрались высокополигональные модели, захват движения, захват мимики и прочее такое.


Аналогично и с 3D-мультфильмами: какое-то время страдал из-за смены технологии, когда 2D уже умер, а 3D ещё не родился. По сути, приближаться по динамичности и сложности к 2D стали только недавно. Даже когда 3D уже начинал позволять делать качественную картинку, "мультяшность" оставалась за рамками возможностей 3D.

меня безмерно огорчала «эволюция» от WarCraft II к WarCraft III: на замену идеально чёткому пиксель-арту пришёл «кубизм» раннего 3D

Ground Control вышедший раньше третьего Варкрафта — кубизма не имел.

Глянул скриншоты. Модельки юнитов хорошие, земля средней паршивости, деревья ужасны. Тут какое дело: для 3D идеально подходят техника, здания и прочие рукотворные вещи, потому что они изначально угловаты и "никзополигональны". Да и фантастический сеттинг позволяет придумывать модели, не слишком заостряя внимание на похожести на привычные предметы окружения.


У Близзарда с Варкрафтом подобной свободы не было: им приходилось рисовать животных и зверей, которые мало того, что имеют много сложных форм, так ещё и обладают безмерным числом степеней свободы: рука — не башня танка. Кроме того, Близзард всегда старался сделать игры максимально доступными, у них даже современные игры отлично работают на ископаемом железе. Думаю, это тоже убавило вершин.

Было такое… Я примерно в то же время практически перестал играть в игрушки. Помню то убийственное чувство, когда я увидел потуги делать на базе 3D типа-РПГ — когда ты носишься и стреляешь в DOOM, то это почти незаметно, но когда ты бродишь по миру, состоящему из грубейших кубов, а вокруг криво парят плоские, нулевой толщины, всегда повернутые к тебе объекты (т.к. на 3D-модели всего мощности уже не хватит) — это вызывает смешанные чувства. Сильнейший разрыв между 3D-элементами — плохо прорисованными, но «настоящими», и такими вот плоскими призраками, нарисованными лучше, но явно «не из этого мира». Низкополигональность моделей полностью 3D игр уже тогда просто поражала — первый Quake, например. Но за счет динамичности со временем это становилось не слишком важно, а вот бродилки-гляделки в таком исполнении совершенно не получались, только рост мощности «вылечил» эту проблему, где-то с 2010 года начал опять поигрывать…
Согласен с вами… Правда, делать «шаг назад» уже не получается, мозг отвергает ранюю 3D графику. Для меня огромная проблема в том, что современные игры не имеют собственного почерка, это серьезный урон атмосферности: игры все похожи друг на друга и… на окружающий мир. Скука
Иногда их намеренно делают непохожими. Самый известный пример — Minecraft. Графика принципиально схематична, «пиксели» на полэкрана, квадратные головы и т.п., но с погружением в игру эта схематичность как-то незаметно исчезает. Кто близок к теме восприятия реальности человеком — мог бы, думаю, диссертацию по этой теме написать…
Да-да. И мода на 8-битную графику — тоже не только от ностальгирующих. И я уж не говорю о качественных 2D проектах, графика которых всегда глубоко уникальна. В общем, что и говорить: качество игры от графики зависит не в первую очередь
Не сказал бы, что те же Dishonored или Bioshock сильно похожи на реальный мир, так что, какая бы графика ни была, всё в руках авторов.
Я думаю проблема того что ты описываешь в том, что у большинства отключено сглаживание из-за недостаточности производительности или «мыльных» алгоритмов, а supersampling (SSAA) как в фильмах вообще могут позволить себе единицы, чтобы не было никаких «лесенок» и отдельных пикселей как в кино и CGI.
Мне одному кажется, что этот способ вполне очевидный, и его патент — это почти патентный троллинг. Автокодировщики изобретены уже давно, а то что они сделали — по сути половинка автокодировщика.
Более того, я два года назад это уже реализовал на автоэнкодерах как раз.

Вот, можете посмотреть результаты: https://drive.google.com/folderview?id=0B3QDURLCBJrBUUtqVFJodkxZMVE
UFO just landed and posted this here
Потому что там не сырцы, а лишь результат работы сети. Сырцы в текущем виде не представляют какой-то ценности, это просто рабочее решение, которое для продакшена нужно переписывать с нуля, потому едва ли их следует показывать. Если угодно, это я сделал походя, пока занимался другой, более сложной нейросетью.
UFO just landed and posted this here
Во именно чтобы такие подобные патенты мочить приор артом в зародыше и надо публиковать такие наработки и даже просто черновики.

Зернистости некисло добавляет. И было бы интересно глянуть на изначально некачественных картинках, там в исходниках всё-таки довольно высокое качество.

На изначально некачественных скорее всего появятся артефакты, но да, интересно всё равно. Зернистость потому, что в высококачественных исходниках она присутствовала часто, и алгоритм посчитал, что это показатель высокого качества.
отлично выглядит, как это работает, кроме того что используется НС?
нет, у вас результат классный, но в статье говорится все-же про другое: НС обучили на других изображениях, и она «угадала», что же должно быть в картинке на самом деле, нашла, например, волосы и форму лица для восстановления пиксельного дума.
> отлично выглядит, как это работает, кроме того что используется НС?

Это набор энкодеров от Sparse Autoecnoders + линейный слой, восстанавливающий 3 канала центрального пикселя блока. Я пробовал и другие модели, но слишком часто упирался в производительность железа моего домашнего компьютера (особенно 4 GB на GPU очень мало). Вообще, я занимаюсь этим уже как минимум лет 5.

> нет, у вас результат классный, но в статье говорится все-же про другое: НС обучили на других изображениях, и она «угадала», что же должно быть в картинке на самом деле, нашла, например, волосы и форму лица для восстановления пиксельного дума.

И в чём же «другое»? Или Вы считаете, что я как полнейший профан обучал на том же изображении, на котором тестировал? Единственная разница, которая бросается в глаза: мне в голову не приходило заниматься депикселизацией картинки столь низкого разрешения, как голова персонажа в думе, я ориентируюсь в первую очередь на восстановление фич реально существующих или реалистичных объектов.
<сарказм>Ну, вот в этом и ваш просчет. Из-за этого фирма, а не вы, получит 20 патентов и будет стричь капусту.</сарказм>
А вообще мне очень понравились результаты работы вашей программы. Есть ли шанс пощупать ее самостоятельно? Хотя бы готовую обученную сеть?
Как я уже сказал, это было два года назад. Надо для начала хотя бы исходники найти. :) Всё думал запилить большую статью по разным нейросетям, которые я учил, да было лень. Касательно патентов, да, так и будет. Ну не бизнесмен я.
Чем то похоже на http://iproc.ru/software/enlarge/?
Подходы разные. Я не пытаюсь интерполировать изображение самостоятельно, перекладываю это на сеть, которая использует свою память для масштабирования. Это позволяет при желании использовать такой алгоритм для исправления других локальных искажений заданного вида.
Жутко медленно?
На вид выглядит как умный шарп.
Было бы интересно увидеть сравнение со всякими другими фильтрами, типа nnedi, eedi, photoshop smart unsharp.
Без оптимизации, конечно, медленно, порядка нескольких минут на изображение. Но никто не мешает переписать эффективнее и вообще реализовать на GPU.
Заодно, если кто знает кино, существующее в 720p, но не существующее в 1080p и с незашумлённой картинкой, я был бы очень рад узнать о таковом. Куда интереснее проверять работу сети на изначально плохом материале, нежели ухудшать хороший.
Таких кино вагон… Навскидку — любой старинный телесериал, снимавшийся прямо на ТОГАШНЮЮ телекамеру. Можно поражаться, как столь низкое качество картинки смотрели тогда и не замечали этого… Не нравятся сериалы — многие старые и не являющиеся при этом выдающимися произведениями искусства кинофильмы также доступны только в виде убогих VHS-рипов, но там хотя бы есть теоретическая возможность поднять пленку и отсканировать ее в хайрезе, для изначально телевизионной картинки такой возможности, очевидно, нет.
Кстати, первые (4-5-6) части Звездных войн в оригинальной версии, без переделанных на современном уровне сцен, существует только в виде рипа с видеодиска, а это далеко не Full HD.
Вот убогие VHS-рипы мой алгоритм не прожуёт, он обучен всё-таки на качественный исходник при низком разрешении. Любые искажения исходника, будь то шум, муар или что-то ещё, скорее всего будут усилены алгоритмом.
Сериал не обязательно VHS-со-снегом, снимали-то все же с нормальным светом и на профессиональные камеры, писали на какой-нибудь Betamax, с которого в итоге и порипали для DVD. Т.е. картинка вполне чистенькая, но разрешения это не добавляет.
Сериал LEXX выходил только в виде DVD, вот бы его до 720p хотя бы «разогнать».
Хм, я даже такой помню, посмотрю, что можно сделать. Правда, результаты на разрешениях ниже 720p у меня были несколько хуже, т.к. там слишком большая неоднозначность. 720p -> 4k как-то попроще получается. Тем не менее, попробую, спасибо.
28 дней спустя, кажется, есть только в 720.
Фантастика! Все старые игры автоматически становятся новыми. ))

Фиг вам. С технологией, закрытой за 20-ю патентами-то...


Жалко, конечно. Картинки многообещающие.

Технология сама по себе несложная, можете посмотреть мои результаты выше. Другое дело, у них в ролике это работает несколько лучше, нежели у меня, но здесь нужно всего лишь немного доработать технологию, перекинуть это, скажем, на cnn.
Только смысла в этом нет. В игру с «улучшенной» рожицей из первой картинки я бы не играл. Мой мозг все же дорисовывает лучше (и взгляд, и кровь из носу, и не ступенчатые абрисы).

Я многие старые игры с фильтрами играю. Дело вкуса. Как минимум, было бы интересно посмотреть.

Вы, как и многие, любите «теплую ламповую 8-битную графику». Возьмите современного ребенка. Дайте ему эмулятор с игрой SNES с обработкой, а потом — без. Вот вам пример:
Оригинал:
image

Сглаженная версия:
image

И спросите, какая ему кажется красивее. Боюсь, что он предпочтет, когда вместо его собственной фантазии изображение до высокого качества дорисовывает компьютер. Ососбенно если компьютер этому хорошенько обучить (на сглаженной картинке есть неправильные места типа черных линий на панцыре черепахи, которые алгоритм «понял» неверно)

P.S. А я бы поиграл в Doom с картинкой, обработанной алгоритмом из статьи. Получился бы такой «акварельный » Doom.
Так в дос-боксе и я с этим фильтром играл. Вы не учитываете существенное отличие в масштабах увеличения. Рожица из дума — это попытка увеличить разрешение в 9х9 раз. Т.е. из одного пикселя получаем целых 81 пиксель!

А увеличенную в 2х2 или 3х3 раза картинку вполне можно оставить как есть или обработать таким вот простым фильтром. Причем, что будет предпочтительнее, зависит не только от вкуса, но и от контента. Master of Orion 2 я играл без фильтров. Что-то мелкое фильтры то ли съедали, то ли смазывали.

А при монструозном увеличении рожицы получилось «ни туда, ни сюда». Результат может быть хорош для опознания, но не для постоянного лицезрения. Хочется уменьшить обратно (пусть и не во все 9 раз).

Ну так вот — покрупнее:
image
image

К сожалению, у меня нет «ретины». А то было бы еще в четыре раза крупнее.

Этому алгоритму разрешение не важно — он пытается найти отрезки прямых на изображении.

Но мысль моя была не про конкретный фильтр — я его привел только в качестве иллюстрации того, что хороший «улучшайзер», всё же, понравится зрителю (особенно, современному, без ностальгии) больше, чем пикселизация.
Он будет ещё лучше генерировать картинку, если придумать, как ему объяснить — что вот это — лицо, а это — нечто другое. Такие пояснения могут быть индивидуальными для игры или фильма.
Понятно, что если придумать/сделать лучше, то результат будет… лучше. Если придумать как, то машина будет сама делать игры/фильмы от начала и до конца быстрее и качественнее большой оравы специалистов. Разве речь шла о том, что потенциально что-то невозможно?

И спросите, какая ему кажется красивее

«Кажется красивее» и «является красивее» — это разные вещи. Первое впечатление может быть обманчиво. Дети любят сладкое, для них вкусное==сладкое. Но такая оценка — это поверхностный подход. С возрастом дети начинают любить, например, сыр или оливки или даже кофе без сахара. Чтобы понять и оценить их вкусность — нужно время и больше практики.

Возьмем два варианта марио, один оригинальный (пикселированный), другой — после фильтра. В первом случае пикселированность картинки является сигналом для мозга: «дорисуй!» И дорисовкой картинки занимается мозг с его мощными нейросетями. Получаем великие и красочные миры в воображении игрока. В случае отфильтрованной картинки дорисовывать нечего — картинка вроде четкая и резкая, без пикселизации. Мозгу дорисовывать нечего, и вот теперь если сравнить дорисованную мозгом первую картинку в восприятии игрока и недорисованную вторую — то неизвестно еще, какая окажется красивее. Как по мне — то первая.

И вообще включать воображение — это не тот навык, которому обучают современных детей. Книжек не читают, игры — прорисованные до деталей.
Так в эти (NES, SNES etc.) игры играли на CRT телевизоре. Там бесплатное «аппаратное» сглаживание ) Понятное дело, что на эмуляторе с фильтром будет симпатичнее, имхо, для любого человека.
Я выбирал SuperSal в эмуляторах. Показался оптимальным.
А их вообще целый ворох: https://en.wikipedia.org/wiki/Image_scaling#Pixel_art_scaling_algorithms

Для разных игр оптимальны разные фильтры. 16-цветный Commander Keen отлично смотрится с AdvMAME или HQ, а Sai, SuperSai и SuperEagle оба заметно мутные и находят лишние узоры. С 256-цветными Aladdin или The Lion King наоборот семейство Sai лучше справляется, а AdvMAME и HQ устраивают треугольную лесенку. На некоторых играх типа WarCraft I все фильтры выглядят ужасно...

«так можно автоматически генерировать элементы для реалистичных виртуальных миров»

И это прекрасно, т.к. на такие элементы нельзя будет оформить авторские права, а, значит, использовать их смогут и другие разработчики.
Это смотря как лицензировать. Чтобы использовать производные от изображения, надо тоже иметь разрешения от правообладателя.
Авторское право распространяется только на результаты творческого труда человека.
/зануда моуд он

В глубине фишка была немного другой — виртуальную реальность додумывал мозг самого пользователя, а не программа.
Ребята, ну это же обычное сглаживание. В этом примере нейросеть не может восстановить потерянные данные, она только интерполирует их. То, что нейронная сеть может апроксимировать любую функцию это было доказано еще в работах 20 века, в студенты 00ых уже учили сетки аппроксимировать какую-либо функцию в качестве лабораторных работ. А тут патент дали. Бред какой-то, нельзя же вроде давать патенты на очевидные технологии.
Это не совсем сглаживание. Нейронные сети могут и дорисовывать то, чего нет, как это делает Deep Dream. Но вот то, что технология очевидная — это да.
Дорисовывание давно используется в продвинутых методах сглаживания. Уже лет 5 как юзаю Photozoom Pro, где программа сама догадывается «где круг, где квадрат, а где треугольник» и сглаживает (дорисовывает) более логично, а значит качественно. Результат мало чем отличается от приведенного выше, но для этого не нужен суперкомпьютер.

Хотя то, что делают ребята, всё равно впечатляет. Для старых игр (как начали мечтать выше) это не нужно — для них достаточно было бы методов Photozoom (только все равно что-то никто не использует). В кино тоже давно используют нечто подобное. А вот для более сложных вещей штука классная. Вообще, нейросети перспективная вещь.
Видео посмотрите. Там игровая картинка практически не изменилась. Но шрифты будто заново наложили более высокого разрешения. Т.е. если это не обманка, то сеть научилась из замыленного текста восстанавливать практически оригинальный четкий. А вот произвольные элементы — это да — сложнее. Нужно ее долго учить на огромнейшем объеме разнообразных примеров.
Я сперва дико затупил, включил видео в 360р, и не понимал, в чем же тут «прогресс».
Интересно, какая задержка картинки будет при использовании этой технологии
Если задержки вас смущают, то просто используйте это: https://habrahabr.ru/company/ibm/blog/280844/
Если бы придумали какой-то локальный вариант нейросети, который не делал бы особых нагрузок и имел нормальный вес, то можно существенно экономить на трафике сети, корректируя фильмы плохого качества и малого разрешения. А так у технологии уже больше будущее. Интересно как она исправила бы нечеткое фото номеров машины, где человек при всех попытках бросил бы идею узнать их?
На приведённом видео (сразу после 1ой секунды) вместо 36 получилось 16, доверять неинтеллектуальным дорисовщикам нельзя в любом случае.
Английский стартап изобрёл велосипед и бьёт себя пяткой в грудь. Задача повышения разрешения изображений с использованием обучающего набора данных в формате пар патчей изображений высокого и низкого разерешения известна уже пару десятков лет.

Использование сверточных нейросетей — полно научных статей на эту тему с описанием конкретных алгоритмов и открытой реализацией. Так что патенты не должны иметь никакой силы.

Кстати, могу сразу сказать, чем подобные алгоритмы плохи — это нестабильность результат и фликинг. Додумывание несуществующих деталей может привести к тому, что на соседних кадрах видео детали будут достроены по-разному. Реальное видео всегда имеет небольшой шум, поэтому после обработки возможны неприятные эффекты.
Проблема с соседними кадрами частично решается подачей 3D-патчей, скажем, 11x11x7(x3). Я делал именно так, попутно ещё и средняя ошибка несколько снижается за счёт использования данных из соседних кадров.
Нагенерированная стенка вполне подойдет в шутере, например, при плохом освещении и средней сложности игры — наверное можно было бы проверить это в какой ни будь открытой игре — сделать тестовую версию, с некоторыми новыми «возможностями» а потом посмотреть что будут обсуждать игроки — странные косяки игры или то, что этих возможностей на самом деле там не оказалось. А потом раскрыть правду об эксперименте.
Нейросети — это тоже не новое изобретение. Не помню уж, сколько лет назад я слышал про nnedi3.
Я бы хотел видеть обратный эффект, что новый Doom выглядел как старый :)
Ну это-то простой эффект, на шейдерах легко сделать пикселизацию. ;)
есть такая штука enb для skyrim так вот её можно использовать и для других игр (старые версии) и для неё есть такой фильтр. Самое крутое — хорроры. В остальном быстро надоедает.
А существует что-то подобное для звуковых файлов, особенно с низкой частотой дискретизации (22050 hz)?
Просто столько замечательных саундтреков игр существует только в виде геймрипов, аж жутко становится.

Я даже грустное фан-письмо сегодня написал Jarrid Mendelson'у по поводу саундтрека к Emperor: Battle for Dune (Ordos) в надежде, что он ответит.

Скорее всего тоже должно быть, ну или по крайней мере такое возможно. Ведь по сути изображение — это тоже сигнал, только в двухмерном пространстве. Для обработки картинок и звука используются похожие алгоритмы.

Вы пропустили целое поколение улучшайзеров для WinAmp :-)

Ну, смотря какой результат вам нужен. Если чтобы прямо восстановить то, что утеряно — нет. А если вам просто хочется больше высоких частот (которых там теперь нет) — можно отзеркалить спектр от частоты среза, и будет звучать… ну… нормально.

Обычно такой фильтр называют bitcrusher (во всяком случае, название закрепилось в куче популярных реализаций). Если у вас есть под рукой DAW (программа для написания музыки) или аудиоредактор с поддержкой VST, возьмите любой биткрашер из гугла и поиграйтесь на свой вкус. Я для своих целей обычно использую dBlue Glitch, например, но это — не только биткрашер, в нем еще много всего.


Смысл такой: берется частота N кГц, и всё, что ниже нее, отражается наверх. Добрались до 2N — отражается еще раз (т.е. исходное, просто поднятое). И еще раз. И еще раз. И так далее, пока не доберемся до половины частоты дискретизации сигнала.


Звук получается таким "хрустящим", но, если отражать от совсем уж низкой частоты, то он становится совсем уж пережеванным (что, впрочем, вполне используют как спецэффект, но на отдельных звуках, а не на всём треке целиком, само собой).

Уточню: эффект в биткрашере может создаваться разный. Можно убавлять битность звука ("по вертикали"), тогда получается что-то вроде экстремальной компрессии и дисторшена, вместе взятых. Можно убавлять частоту дискретизации ("по горизонтали") и интерполировать значения между оставшимися замерами, тогда, естественно, это работает как ФНЧ. А можно при этом не интерполировать значения между оставшимися замерами, а так и тянуть значение амплитуды до следующей сохранившейся точки. Вместо 1 2 3 4 5 6 7 8 9 10 будет 1 1 1 1 5 5 5 5 9 9… Вот последнее — это как раз то, что вам нужно. Эффект в частотной области — описанное мной многократное отзеркаливание.

Что-то не очень верится, что в ролике, который в статье, разница между левым и правым видео заслуга исключительно нейросети. Уж очень идеально везде распознан и улучшен текст.

Если это действительно нейросеть выполнила такое улучшение исключительно по картинке слева, то сразу можно отправить эту нейросеть на сканирование книжек.
Судя по тому, что распознание текста и иконок на кнопках удалось лучше, чем основного «поля битвы», есть подозрение, что среди обучающих материалов нейросети был конкретно этот шрифт в хороше разрешении и конкретно эти иконки. То есть ей значительно лучше удалось распознать статические, знакомые образы, нежели дорисовать динамические, незнакомые. И это, в принципе, логично.
При распознавании сканов документов, все шрифты известны программе. Но вычитка и редактура все время требуется в больших масштабах. Тут же есть моменты где распознать глазом (не зная точных слов) просто нельзя, но нейросеть распознала идеально.
А кто вам сказал, что сеть распознает отдельные буквы? Она распознает слова. Те, которые ранее видела.

Если вы возьмете просто книгу и будете учить нейросеть «видеть» эту книгу в низком разрешении, она будет вычитывать слова, даже словосочетания (если слова стоят рядом). Размер образа распознавания ограничен только глубиной сети. Какая там глубина — ни я, ни вы не знаем.
Файнридер тоже распознает слова. У него отличный словарь, правила языка, смысловая проверка. Но он все равно промахивается.
В общем я бы хотел посмотреть как эта нейросеть справится со сканом книг, возможно это был бы реально прорыв.

А древние манускрипты попробовать подкинуть?
Более того, устройства могут обладать своим мнением:
https://habrahabr.ru/post/189010/

Вот обработало устройство текст, а содержание исказилось. Что делать?
https://github.com/nagadomi/waifu2x
Довольно давно на github лежит код который ресайхит anime по такому же принципу, статья по которой он написан 2014 года.
Наконец-то можно будет поиграть в инди-игры, вышедшие в последние годы, с нормальной картинкой.
Приятно осознавать что живешь в такие замечательные времена, когда фантастика из книжек, становиться реальностью.
В детстве я почему-то был уверен, что это с него образ и срисован. Как в Contra на заставке Сталоне и Шварц. Сейчас смотрю, вроде у дума более лицо холёное, чем у Дольфа )
Моя внутричерепная нейросеть опознала в DOOM guy Дольфа Лундгрена!
Sign up to leave a comment.

Other news