Нейронная сеть. Часть 8. Переход между картинками.

Поделиться
HTML-код
  • Опубликовано: 17 авг 2021
  • Простые эксперименты с нейросетью.
    Переход от одной картинки к другой.
    Вариант на Python
    github.com/foo52ru/img2img
    Вариант с использованием Tensorflow
    github.com/foo52ru/img2img_te...
    Выражаю благодарность тем, кто поддерживает меня финансами.
    Реквизиты для финансовой поддержки можно найти в
    / foo52ru
  • НаукаНаука

Комментарии • 257

  • @optozorax
    @optozorax 2 года назад +140

    Поздравляю с программистским ростом! Исходники на гитхабе и использование tensorflow - это круто)

    • @cyanmargh
      @cyanmargh 2 года назад +2

      так-то использование tensorflow попроще, написания своей либы будет) рост в какую-то другую сторону получается.

    • @CrazyPit
      @CrazyPit 2 года назад +8

      @@cyanmargh для меня написать свое проще. работать с чужим кодом сложнее. чужие библиотеки использовать ужос

    • @cyanmargh
      @cyanmargh 2 года назад

      @@CrazyPit ну это смотря, как хорошо писать. Библиотку для МЛ и я то написать могу, но не такую уж и обширную и быструю (зато свою))). Нужно ведь для оптимизации, как минимум, знать нужные алгоритмы (например, FFT/FFT2 для свёртки) и знать про программные способы ускорения (кеширование, интринсики, деление на потоки и, в конце концов, запросы к gpu). Я, например, этим пользоваться могу с очень большими трудностями и даже понятия не имею, сколько ещё подобного упускаю.
      upd. судя по вашему аккаунту, вы и без меня понимаете, насколько это всё может быть трудно.

    • @inbuckswetrust7357
      @inbuckswetrust7357 2 года назад

      @@CrazyPit устанешь писать ;)

  • @Vedeney87
    @Vedeney87 2 года назад +24

    Спасибо!

  • @user-hb5rd1hy9h
    @user-hb5rd1hy9h 2 года назад +7

    Техношаман. Мне кажется ты приоткрыл тайну человеческой памяти . . .

  • @Zumon_label
    @Zumon_label 2 года назад +16

    Кто еще не понял - этот чел гений))

    • @mshigaev1564
      @mshigaev1564 2 года назад

      Не гений, а фашист, который своей работой помогает власти на нас паразитировать

    • @wugu42
      @wugu42 2 года назад +13

      Шаман, тут пациент галоперидол забыл принять!

    • @CrazyPit
      @CrazyPit 2 года назад +2

      @@mshigaev1564 вы бы сначала почитали кто такие фашисты, где они появились, что делали и для кого, как приходили к власти. а потом бы и решали кто тут кто

  • @DarkErit
    @DarkErit 2 года назад +32

    Интересные сны ждут после видео

    • @user-vm1hi7bo5s
      @user-vm1hi7bo5s 2 года назад +4

      А чтo, eсли...
      прoсмотр этиx кaртинок нaвсегда измeнил твoи "дaлекие oт выхoда" нeйроны, и тeперь иx фaнтомы бyдут прeследовать тeбя в жи3ни, слoвно тe бyквы oт прeдыдущего изoбражения нa перeобучившейся нeйросети?
      Нeт.

    • @Woodreack
      @Woodreack 2 года назад +3

      @@user-vm1hi7bo5s ты предсказал новую теорию заговора по типу боязни вышек 5g

    • @CrazyPit
      @CrazyPit 2 года назад

      @@user-vm1hi7bo5s что значит нет.. правильно говорить может быть. или доказывать обратное

    • @cropinghigh
      @cropinghigh 2 года назад +2

      @@user-vm1hi7bo5s ну в общем, так оно и будет, память то епта работает тоже на нейронах, и просто сам факт того, что ты видел эти картинки, уже поменял сначала кучу нейронов в кратковременной памяти, и если мозг решит запомнить это, то сохранит уже в долговременную память, где до деменции или альцгеймера, или смерти, будут лежать

    • @forestergogo
      @forestergogo 2 года назад +1

      @@CrazyPit нет

  • @wolfikgame5682
    @wolfikgame5682 2 года назад +27

    Как всегда очень интересно и познавательно. Особенно удивляет, что копия нейронки переученая с кубиков на надпись, при новой задаче пробует ранее верные значения, сильно удивило)

  • @cheburek5116
    @cheburek5116 2 года назад +13

    Ура новое виде, как я долго ждал

  • @user-si1un2cy6v
    @user-si1un2cy6v 2 года назад +4

    На самом деле, уже давно наблюдаю за вашим каналом, и всякий раз удивляет разнообразие и широкий диапазон применения нейросетей в ваших экспериментах. Плюс, грамотно смонтированные ролики, подача и своеобразный юмор повествования. Огромное удовольствие от просмотра вашего контента. Спасибо большое! Так держать! :))

  • @lorem727
    @lorem727 2 года назад +1

    Эти ролики должны набирать миллионы просмотров! Уникальный контент среди серой массы

  • @dev_via_fun
    @dev_via_fun 2 года назад +11

    Ваш контент уникален! спасибо за такой качественный и познавательный контент среди всей серой массы которая наполнилась на ютубе.

  • @kts1381
    @kts1381 2 года назад +2

    Вспомнил про канал, решил проверить, а тут новый ролик. Лайк!

  • @user-ym4mb2gq1k
    @user-ym4mb2gq1k 2 года назад +2

    Автор канала мега крутой!

  • @George-vm7yl
    @George-vm7yl 2 года назад +12

    8:36
    > Да я репер
    Что?)

    • @toms_ekb
      @toms_ekb 2 года назад +1

      Питон увидел впервые,
      И руки у меня кривые.

    • @George-vm7yl
      @George-vm7yl 2 года назад +1

      @@toms_ekb :DDD

  • @Uchuunokanata
    @Uchuunokanata 2 года назад +3

    Классный канал
    Классная аудитория
    Тут сидишь прям и наслаждаешься всем чем только можно

  • @user-fest
    @user-fest 2 года назад +8

    ООчень интересное видео, давно ждал уже на этом канале)) Спасибо!

  • @vyacheslav_sharovarov
    @vyacheslav_sharovarov 2 года назад

    Поорал с "да я рэпер", благодарю)

  • @sergeyv7164
    @sergeyv7164 2 года назад +2

    Ты монстр! Здорово! Рассмотренная задача, обычно решалась морфингом. А тут очень оригинальный подход к переходам. Спасибо!

  • @alcortazzo
    @alcortazzo 2 года назад

    Спасибо за интереснейшие видео!

  • @user-un2mo6dq6b
    @user-un2mo6dq6b 2 года назад +6

    Классные эффекты вышли!

  • @greenred3153
    @greenred3153 2 года назад

    Очень понравилось. Прямо искусство.

  • @user-lv1wy5jp8f
    @user-lv1wy5jp8f 2 года назад +1

    Спасибо, хорошее работа... Ждем снова от тебя новое видео...

  • @alexeyzabashta
    @alexeyzabashta 2 года назад +2

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

  • @user-su8ev4cm8h
    @user-su8ev4cm8h 2 года назад +2

    Ниииииичего не поняла.. но посмотрела с огромным интересом. Благодарный комментарий.

  • @pomatuchto
    @pomatuchto 2 года назад

    Очередной топовый ролик. Мотивация и вдохновение

  • @Tolyan_Kochyan
    @Tolyan_Kochyan 2 года назад

    Короче, очень классный канал. Офигенные ролики! Спасибо, за то, что заинтересовал изучать нейросети)

  • @dmistep3811
    @dmistep3811 2 года назад +1

    Мужик, ты крут! Жду следующих роликов.

  • @RikiNaxx
    @RikiNaxx 2 года назад

    боже ты лучший на ютубе отвечаю

  • @KIRITO_222
    @KIRITO_222 2 года назад

    Круто получилось, особенно с Малевичем!

  • @acidnik00
    @acidnik00 2 года назад +8

    Очень круто! Я бы поэкспериментировал с другими цветовыми моделями, почему-то кажется, что здесь подошел бы yuv

  • @auxnibauxnib7494
    @auxnibauxnib7494 2 года назад +1

    Спасибо! Невероятно интересно :)

  • @drseedon
    @drseedon 2 года назад +1

    Как обычно, под конец ролика иду ставить лайк, а потом обнаруживаю что лайк уже поставлен :)

  • @SMVK
    @SMVK 2 года назад +10

    Вау! А что если похожее сделать но со звуком???
    Интересно было бы услышать музыку которую запомнила нейросеть !

  • @Popandopulus2008
    @Popandopulus2008 2 года назад +1

    Я всё жду следующую часть про деревья!

  • @user-ub6cv6nk5u
    @user-ub6cv6nk5u 2 года назад +2

    Тот самый программист, который печатает код одним пальцем.

  • @NewStoryline
    @NewStoryline 2 года назад

    Ура! Дождались!

  • @startend007
    @startend007 2 года назад

    Молодца содержательно😊👍

  • @Valentin_I
    @Valentin_I 2 года назад

    Оч нравятся ваши видосы 👍

  • @bottlekruiser
    @bottlekruiser 4 месяца назад

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

  • @Habray
    @Habray 2 года назад

    Ура новый как и всегда интересный ролик

  • @user-yw3ox8sq2z
    @user-yw3ox8sq2z 2 года назад

    хорошее, познавательное видео

  • @user-ff1sd6wl1h
    @user-ff1sd6wl1h 2 года назад

    Очень интересно! Поздравляю со знакомством с библиотеками для нейронок)

  • @SanyaSanyavich
    @SanyaSanyavich 2 года назад +1

    Ты сделал мой день

  • @stas_v
    @stas_v 2 года назад

    Супер!

  • @Achmd
    @Achmd 2 года назад +2

    т.к. нейронка - это обычная функция с множеством коэффициентов, то точнее всего будет та, где количество нейронов сопоставимо с количеством пикселей в изображении.

    • @CrazyPit
      @CrazyPit 2 года назад

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

    • @Achmd
      @Achmd 2 года назад

      @@CrazyPit веса и есть константы. В обученной сети они уже не меняются

  • @user-dh7lr6dm2f
    @user-dh7lr6dm2f 2 года назад +7

    2:45 очевидно что просто недостаточно слоев и юнитов в них, поэтому нейросеть ни как не может подобрать подходящую комбинацию для 100% копирования. Раз мы хотим получить 3 выхода значит надо 3 слоя

    • @MaxiRPD
      @MaxiRPD 2 года назад

      А мне кажется недостаточно нейронов а скрытых слоев как раз слишком много. Точную копию по входу можно получить в 1-м скрытом слое с числом нейронов приближающихся к числу пикселей. По сути эти 3 выхода несут одно свойство "цвет". И если взять другое представление (скажем hex код цвета а не RGB) - они вместе станут 1-м нейроном в выходном слое.

  • @JimiDini
    @JimiDini 2 года назад

    Круть!

  • @topsell9397
    @topsell9397 2 года назад

    Отлично!

  • @user-oz6jf6fr8w
    @user-oz6jf6fr8w 2 года назад

    2:05 - 2:15
    Офигеть!! Я то думал как оно может быть реально, а всё вот так гениально и просто. Разве что куча картинок это не супер удобно возможно.

  • @ksviety
    @ksviety 2 года назад

    foo, ты акутненный, делай видео чаще пожалуйста. а то раз в пару лет редко слишком

  • @nikassaiopend8699
    @nikassaiopend8699 2 года назад

    Поставил лайк на второй минуте просмотра(31 минута с момента выпуска!)

  • @COMBATMONC
    @COMBATMONC 2 года назад

    Очень интересный канал

  • @neonsun6162
    @neonsun6162 2 года назад +9

    я понял, тебе просто было лень делать анимации самому) Но проект получился очень интересный :)

  • @user-kq9zf8vu3d
    @user-kq9zf8vu3d 2 года назад +5

    Видос супер!!! Есть идея, как ускорить в 5 раз написание программ, а следовательно и выход видео. Можно использовать 5 пальцев, а если ещё и вторую руку, то получим ускорение в 10 раз))))))))))

  • @naumoff6407
    @naumoff6407 2 года назад

    Тоже приобрел эту книгу. Очень интересная. Хоть я далеко и не программист.

  • @forestergogo
    @forestergogo 2 года назад

    балдеж

  • @kirilm172
    @kirilm172 2 года назад +5

    Так как весов много, можно было поэкспериментировать с алгоритмом их замены. Например, линейно (от первых слоев и до выходных, после можно и в обратном направлении), по спирали и тд. Так можно было бы добиться разных переходов при одних и тех же НС.

    • @user-bj7ll1kv9d
      @user-bj7ll1kv9d 2 года назад

      Алгоритмы перехода будут очень по-разному работать на НС с разными архитектурами, экспериментировать нужно

  • @atlasua2021
    @atlasua2021 2 года назад

    Было бы полезно, сделать небольшой плейлист о создании нейро-сетей, от А од Я.
    Спасибо за твои видео!

  • @oleksandrklimenkov5988
    @oleksandrklimenkov5988 2 года назад +1

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

  • @DenisSvistoplasov
    @DenisSvistoplasov 2 года назад +1

    А еще переходы от одних весов к другим можно очень по-разному делать (все веса одновременно; послойно от входа к выходу; послойно от выхода к входу; некоторая доля рандомных весов за раз; волной...).
    Жалко, об этом не было рассказано.

  • @CrazyPit
    @CrazyPit 2 года назад

    интересное видео

  • @user-oh9zd5cd2i
    @user-oh9zd5cd2i 2 года назад

    Быстрее продавай переход между картинами малевича за NFT-токены, получилось очень красиво, ктонибудь да купит)

  • @chegleeff
    @chegleeff 2 года назад

    👍👍👍👍👍👍👍👍

  • @DinKorso
    @DinKorso 2 года назад

    Только не бросайте канал, пожалуйста

  • @user-zd4is5sp9z
    @user-zd4is5sp9z 2 года назад

    Спасибо...

  • @arduinochel4197
    @arduinochel4197 Год назад

    хорош, для перехода сделал ИИ

  • @ilyailyailyailya
    @ilyailyailyailya 2 года назад +1

    переход к лайку через кубики - так работают детские психологические травмы

  • @BlackPulsar13
    @BlackPulsar13 2 года назад

    Лайк, подписка, бубенцы!

  • @user-fg2xn1zo4h
    @user-fg2xn1zo4h 11 месяцев назад

    1:57 "Хочешь знать откуда у меня эти шрамы?"

  • @user-ql7zh4zk6q
    @user-ql7zh4zk6q 2 года назад

    Бро, дам совет. Зайди на Клавогонки. Пару месяцев соревнований и будешь печатать всеми пальцами в слепую до двухсот символов в минуту. Один раз сделал и забыл на всегда, что значит смотреть на клаву.

  • @vladthemagnificent9052
    @vladthemagnificent9052 2 года назад

    Впечатляюще, что всё это закодировано одним пальцем

  • @dimarusful
    @dimarusful 2 года назад +3

    Интересно что психоделики приблизительно также объединяют картинк.

  • @SSEF1000
    @SSEF1000 2 года назад

    молодец

  • @TheMrKMen
    @TheMrKMen 11 месяцев назад

    Тут лучше использовать цветовую модель YUV. Возможно она как-то натуральнее переходы между изображениями показывать будет нейронке проще

  • @user-ll6ef3by4p
    @user-ll6ef3by4p 2 года назад +4

    Попробуйте вместо RGB использовать HSL

  • @vitalica74
    @vitalica74 2 года назад +1

    "Настоящий доктор может сказать о себе, что он дурак".

  • @t-lore4413
    @t-lore4413 2 года назад +3

    А колокольчик работает)

  • @anon3696
    @anon3696 2 года назад +3

    Еще переход можно делать самим обучением. То есть например обучил 100 эпох, составил картинку и тд

    • @baukaalimgazy2989
      @baukaalimgazy2989 2 года назад

      сейчас так и работает у него

    • @user-hm3io8bi4b
      @user-hm3io8bi4b 2 года назад +1

      Проверил, нельзя. Обучение идет так:
      катринка1:
      эпоха1: фигня
      эпоха2: фигня
      эпоха3: фигня
      ...
      эпоха100: норм
      начинаем учить катринке 2:
      эпоха1: резкий скачок, получается фигня совершенно непохожая на первую картинку и чуть похожая на вторую
      эпоха2,3,4,...: фигня постепенно становится похожа на катринку2
      эпоха100:норм катринка2
      Избавиться от скачка не помогает даже снижение learning rate на порядок
      Кстати, интересные результаты дает использование hsv вместо rgb

  • @bighamuster7149
    @bighamuster7149 2 года назад

    Теперь тоже самое с двумя треками , плс :)

  • @darkfrei2
    @darkfrei2 2 года назад +1

    Как всегда прекрасно! Очень понравился результат с Малевичем, кто сказал что ИИ (слабый) не может рисовать как художник?

  • @anatoliyvasilev4658
    @anatoliyvasilev4658 2 года назад

    Для плавного перехода между лицами можно использовать "Conditional VAE"

  • @Ruslan_Dikiy
    @Ruslan_Dikiy 2 года назад +2

    Круто! Жаль что нифига не понятно)

  • @Alekseev95
    @Alekseev95 2 года назад

    рекомендую GAN и свёрточные слои для этих целей

  • @gagikpog
    @gagikpog 2 года назад

    гений

  • @user-pg7zm2id6k
    @user-pg7zm2id6k 2 года назад

    Добрый день. Очень интересный контент. Даже захотелось узнать побольше о нейросетях. Что посоветуете почитать после Тарика Рашида? Кстати, за совет почитать Тарика - спасибо. Очень доступно написал человек о нейросетях. Жалко только, что мало. )

  • @user-xy6uf4bk7k
    @user-xy6uf4bk7k 2 года назад

    Музыка в начале похожа на Burak - Thursday

  • @Skullckoor_
    @Skullckoor_ Год назад

    Этот код можно создателям ужастиков отдать. Я вот точно сегодня не усну. :(

  • @DoctorFikus
    @DoctorFikus 2 года назад

    А что, если такую технику использовать для интерполяции кадров в видео/анимации с низким фреймрейтом?

  • @Draste-ya-nastya
    @Draste-ya-nastya 2 года назад

    Жаль, что так мало(

  • @WarMusic2022
    @WarMusic2022 2 года назад +1

    А если после 5 обучения подкинуть нейросети картинку под номером 1 как быстро пройдёт переобучение? И если в процессе обучнния например 20 картинок каждую 3(5) подставлять картинку с "тв шумом" или грязную картинку востановит?
    Спасибо за Ваше время и Вашу работу!!

  • @mrcaryy
    @mrcaryy 2 года назад +6

    извините за вопрос) а кем вы являетесь? может математиком или программистом?

  • @racomful
    @racomful 2 года назад

    Я наверно запоздал с предположениями, но что если мы возьмем сеть по типу LSTM в связке с RNN? Научим сеть менять картинки самостоятельно без постоянного переобучения. По итогу: будем подавать начальную картинку и конечную, тем временем сеть будет экстраполировать временной ряд из двух кадров во множество. И обучать надо всего один раз.

  • @TheMrKMen
    @TheMrKMen 2 года назад

    Мне кажется любопытного эффекта можно было бы добиться, если изображения обрабатывались бы не в RGB, а из так же 3х каналов но яркости, и цветности но из 2х каналов (не цвета и насыщенности, а отношения зелёного к красному и синего к красному, таким образом, чтоб значение красного получалось, если от некого числа отнять сумму GB)

    • @TheMrKMen
      @TheMrKMen 2 года назад

      Я кстати такую цветовую модель даже нагуглить не могу. Value Green Blue получается. Для нейронки должно использоваться удобнее ,чем HSV, где значение Hue на 0 и на 1 будет идентичным (зацикленно ведь)

  • @cotlim
    @cotlim 2 года назад

    Если сложно - просто промотайте на 9:43 ))

  • @user-kp4ix2pf4p
    @user-kp4ix2pf4p 2 года назад

    Ого!!! Нейронка показывает внутренний мир по фотографии!!!😂. Мысля в голову пришла: а что если нейросеть натравить на гороскопы? Дофига народу верит в эту херь. Можно поиметь Профит и пустить его на что-нибудь действительно необходимое.

  • @Achmd
    @Achmd 2 года назад

    Задача. На входном нейроне - один пиксель либо чёрного, либо белого цвета. На выходном - аналогично. Нужно, чтобы на белый пиксель сеть выдавала чёрный. То бишь она должна инвертировать входные данные.
    Постройте нейронную сеть, делающую то же самое, что и формула f(x) = |x - 1| для х=1 или х=0.
    Какие у неё будут веса и смещения? Сколько нейронов?

  • @annel0
    @annel0 2 года назад +4

    *А если обученной нейронной сети дать координаты которых небыло на изображении, допустим изображение 100х100, а если нейронке дать от 101 до 200, что будет?*

    • @arthur_koba
      @arthur_koba 2 года назад +1

      Машина восстанет

    • @annel0
      @annel0 2 года назад

      @@JustDux что конкретно она нарисует, это меня интересует. "Да я репер"

    • @annel0
      @annel0 2 года назад

      @@JustDux, да, я смотрел, но а если уже обученную нейронную сеть обучать другой фотографии, но не входить в рамки пред идущей, типо фото 100х100, а начальная координата для новой фотографии 101х101:
      1. как будет изменятся прошлая фотография ?
      2. Сможет ли она нарисовать прошлую и обучиться новой?
      Хм-хм-хм.. Какие-то философские вопросы)

  • @Geptilful
    @Geptilful 2 года назад +1

    Что то не радуете вы новыми выпусками нас?Вы уж не забывайте своих верных подписчиков пожалуйста!

    • @mariabrest
      @mariabrest 2 года назад +4

      Контент не простой. Чтобы сделать видео нужно много нового материала нового усвоить, а потом всё это воплотить в видео с интересной подачей. К тому же надо много мотивация. Так что ролики раз в месяц это закономерно.

  • @1antonioorlo1
    @1antonioorlo1 2 года назад

    Интересно, а сжатие картинок и даже видео таким способом может оказаться эффективным?

  • @Nidelon
    @Nidelon 2 года назад

    Думаю тут тебе лучше изучить GAN, там тоже всё весело :D

    • @Nidelon
      @Nidelon 2 года назад

      И ещё, кому как легче, но можно ещё использовать PyTorch вместо tensorflow с keras

  • @CNTMinerals
    @CNTMinerals 2 года назад +4

    Эх, нам бы кто помог сделать сеть для детектирования объектов (зёрен) на микрофотографиях...

    • @andreydarin3662
      @andreydarin3662 2 года назад +2

      Вам только наличие или нужно именно понимать месторасположение?

    • @anon3696
      @anon3696 2 года назад +1

      opencv в помощь

    • @eclipse3989
      @eclipse3989 2 года назад

      Обратитесь к фрилансерам

    • @cheeryprogrammer6821
      @cheeryprogrammer6821 2 года назад

      Вы разве хакатон не запускали?