Суровый технарь
0,1
рейтинг
10 июля 2015 в 01:31

DeepDream — Визуализатор работы нейросети


С месяц назад в блоге Google research появилась запись про визуализацию работы нейросети — мол, как она видит изображения при обработке, пестрящая картинками типа этой.
Народу стало интересно как такое можно сделать самостоятельно и спустя пару недель появилась новая запись с исходниками на гитхаб, которые позволяют все проделать самостоятельно.
Но нашлись те, кому быстро стало скучно, так что осторожно, подкатом психодел.

Настоящая КДПВ:


Берем исходники на гитхабе:
github.com/graphific/DeepDreamVideo

Как все это ставить и как удовлетворить те или иные зависимости можно узнать из подробного мануала на реддите:
www.reddit.com/r/deepdream/comments/3cawxb/what_are_deepdream_images_how_do_i_make_my_own
там же есть как все это запускать.

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


А люди новыми глазками:


Но если натравить визуализатор с обученной искать изображения животных нейросетью на колоритное видео, то… а впрочем смотрите сами:


Пока что авторы активно фиксят баги в репозитории и участвуют в обсуждении, так что присоединяйтесь к веселью.
По ссылке www.youtube.com/playlist?list=PL1z-xdY3wUl_yWU_KK49QLCe9UAp7_S3R можно найти остальные видео, обработанные с помощью #deepdream

UPD: На хабре появился перевод поста, с которого все и началось habrahabr.ru/company/io/blog/262267

Удачной пятницы!
Артем Кашканов @radiolok
карма
25,0
рейтинг 0,1
Суровый технарь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (35)

  • +7
    Можно использовать как новый жанр изобразительного искусства.
    • 0
      Я сначала это чудо в твиттере Гибсона увидел и ещё подумал: «ого, какой свежий подход в изо!»
  • +12
    Схожесть с влиянием веществ на человеческий мозг поражает.

    Может и вправду искусственный интеллект уже совсем рядом.
    • +5
      У Вас не бывало такого, что смотришь на что-то очень необычное и не можешь разглядеть? И только разобравшись в изображении хорошенько, начинаешь видеть? Аналогичная история была у меня в юности с восприятием звука — разговор с первым встреченным иностранцем, болгарином, по-русски. Он мне 3 или 4 раза произносил своё имя, я не мог услышать. И только по буквам, понял. Оказалось — Пантелей. И тогда все стало ясно. Несколько другое произношение звуков — не как в русском, и мои паттерны не срабатывали. Да, похоже таки, ИИ близится. А тут восприятие лица, которое в жизни только животных и видало… логично и похоже.
      • +1
        если долго думать над значением слов, происходит что-то подобное, вот, например, словосочетание «таким образом»: каким образом? куда образом? при чем тут образ?
        • +8
          Лучше основательно задумайтесь над словом «таким». Через время можно вообще перестать понимать что происходит.
        • +1
          Меня в детстве так часто накрывало. Для меня это было не очень приятное ощущение.
    • 0
      Абсолютно не похоже.

      Четкости не хватает и плавности.
      • 0
        Похоже-похоже.

        Наблюдаю явное сходство с некоторыми стадиями аявасочного трипа.
    • +1
      Думаю, механизм такой же. Вещества нарушают работу мозга и некоторые сигналы начинают идти в обратную связь и усиливаться, вызывая псевдогаллюцинации и ошибки распознавания образов. Мышление, тем временем, тоже циклится на обдумывании величия бесконечномерной фрактальной вселенной или чего-то такого. Чем больше молекул употребил — тем больше коротких замыканий по всему мозгу. Если постоянно двигаться — ошибочные сигналы не успевают усилиться настолько, чтобы сильно влиять на действительность, но стоит только остановить взгляд на ковре… А если нейроны за время действия вещества установят стойкую обратную связь там, где не надо — человек заработает HPPD.
      Единственное отличие — наши нейросети непрерывно учились распознавать вообще все подряд и не один десяток лет.
    • 0
      Думаю, более точного аналогией будет сенсорная депривация.
  • +4
    Честно сказать, я удивлен, что на Гиктаймсе появилась статья про это только сейчас (да и на Хабре нету) — по большинству сколь-либо технологичных сообществ в интернете вообще и в рунете в частности волна постов и экспериментов с этой штукой прокатилась где-то еще с неделю назад. Ну это так, не критика автору, просто занятное наблюдение.

    Добавлю, что те, кому лень развертывать у себя, могут воспользоваться веб-сервисами, развернутыми добрыми людьми:

    deepdreams.zainshah.net — скорее мертв, чем жив, работает безумно медленно
    deepdream.pictures — сам сайт работает шустро, но картинку выдает не сразу, а ставит в очередь, нужно ждать и потом искать в выдаче в «new» (перемалывает где-то 20 картинок в час, по словам автора)
    • +3
      нейро-порно сплошное
      • 0
        Они смогли испортить нейро-сеть. Теперь она видит порно там, где его еще нет.
    • +1
      В копилку чудо-ссылок: nerd.d3.ru/algoritm-google-deep-dream-18-779758
      Там же готовые контейнеры для докера.
    • +1
      Я и сам удивился, не обнаружив даже и упоминания о Deep Dream, хотя тема очень интересная.

      На deepderam.pictures очередь как в поликлинику. Моя картинка при добавлении была примерно 2500 в очереди. Уведомление еще не пришло.
      • 0
        Могу ошибаться, но буквально недавно была статья, правда тогда гугл ещё не назвал это DeepDream.
      • 0
        • 0
          Да, полтора часа назад появился перевод оригинальной записи с которой все и началось, добавил ссылку в статью.
          • 0
            Её видимо в черновики убирали, потому как читал её гораздо раньше.
    • 0
      Написали бы первые! )
  • +3
    На видео надо кадры как-то связать, иначе образы слишком быстро меняются. Надо сделать так, чтобы сеть помнила, что в предыдущем кадре выбрала определённые фичи. Например, искать их не в двумерном, а в трёхмерном пространстве, где третье измерение — время.
  • 0
    Кому-нибудь удалось это поднять под Линуксом на caffe?
    • 0
      Поднимал на двух машинах, на xubuntu было все просто по инструкции, на дебиане пришлось попатчить мейкфайл, решение было в issues на гитхабе. CPU версия вообще легко собирается.
      На AWS во Франкфурте есть готовый образ, который я нашел по ключевому слову caffe (deepdream что-то там), на спотовом рынке g2.2xlarge стоит 0.1-0.2 доллара в час, так что если есть аккаунт, это может быть самым быстрым. Там нужно зайти в папку ~/deepdream, установить и запустить ipython notebook.
      Далее пробросить порт на localhost (https://coderwall.com/p/ohk6cg/remote-access-to-ipython-notebooks-via-ssh) и в общем-то все.
  • +2
    Про это уже есть порно.
    И на реддите.
    • +1
      Интересно как бы выглядело с сетью, обученной на симпсонах, например. Или, наоборот, как бы выглядели люди и животные у сети, обученной на порно.
      • 0
        Я бы посмотрел на порно, пропущенное через нейросеть роскомнадзора :)
    • +3
      Не тот подход. Куда интереснее было бы посмотреть не на обычно порно, пропущенное через нейросеть, обученную на животных, а тех же животных (или что угодно), пропущенных через нейросеть, обученную порно-образам :)
      • 0
        А лучше обучить сразу на порно и на котиках.
  • 0
    Вот тут есть образ для docker уже с собранным дипдримом:

    github.com/VISIONAI/clouddream

    Осторожно — разворачиватся на 5 гигов примерно. Внутри несколько скриптов и огромный блоб.
    Картинки показывает в веб-интерфейсе. Работает на CPU, поэтому небыстрый (у меня FullHD картинку жуёт минут 10 на один проход).

    Ну и картинки далеко не все с первого прохода получаются такими психоделичными.
    Портреты вообще плохо обрабатывает, но зато абстрактные изображения или пейзажи — гораздо лучше.
  • +1
    Ха, ха то то Кен Кизи под конец занялся программированием )
  • +2
    Вот еще инструкция на английском как запустить DeeepDeream под Windows или OSx с использованием виртуальной
    машины VirtualBox и Docker. Реализовано через Python Notebooks.

    ryankennedy.io/running-the-deep-dream

    Вкратце работает так (пример для Windows 7, 8)

    1. Ставим boot2docker. Рекомендую версию 1.6.0, т.к. в последней 1.7.0 могут быть проблемы с сертификатом после перезапуска
    виртуальной машины. Поставит все необходимое или недостающее включая VirtualBox и клиент для GitHub.

    github.com/boot2docker/windows-installer/releases/tag/v1.6.0

    2. Запускаем boot2docker через иконку на рабочем столе. Ждем пока инициализируется.
    В консоле загружаем репозиторий с вирутальным контейнером. Контейнер большой — около 3 Гиг.

    docker pull ryankennedyio/deepdream

    3. Запускаем контейнер

    docker run -d -p 443:8888 -e «PASSWORD=password» -v //c/Users/User/Pictures:/src ryankennedyio/deepdream

    Здесь //c/Users/User/Pictures — путь до каталога картинок, который в виртуальном контейнере монтируется как /src.
    User — имя (каталог) пользователя под Windows.
    Нужно помнить, что docker не имеет доступа к другим каталогам кроме каталога пользователя, так что монтирование других
    путей (на других дисках) может не работать.

    4. В браузере заходим по ip адресу виртуальной машины
    Посмотреть какой можно командой boot2docker ip
    Для моего случая (и как описано в инструкции) это будет вебстраница https по ip контейнера.
    192.168.59.103/tree
    Пароль — тот что ввели при запуске виртуального контейнера.

    5. Кликаем на dream.ipynb и попадаем в Python NoteBook.
    Ошибку «Failed to retrieve MathJax from ...» можно просто игнорировать.

    Далее можем по порядку запускать код. Там есть пояснения опять же на английском.
    Вместо img = np.float32(PIL.Image.open('/src/input.jpg'))
    прописываем свой файл, который предварительно скопировали в c:\Users\User\Pictures. Помним, что c:\Users\User\Pictures это /src

    Далее можно играться с разными эффектами или же запустить генератор фреймов из которых потом можно склеить небольшое видео.

    Про Docker статейка была на Хабре — habrahabr.ru/post/253877.

    P.S. Прошу прощения, гиперлинки по известной причине у меня не работают.
  • 0
    А ведь именно так и выглядел бы мир в глазах человека, которому с детства показывали исключительно животных…
  • 0
    А почему получается так много глаз на фотках?
  • –1
    Сделайте кому не долго вот это видео:
    www.youtube.com/watch?v=awChThLHAKQ

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.