1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-DAIN

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

DAIN (Глубинно-Осознанное Видео-Кадровое Интерполирование)

Проект | Статья

Wenbo Bao, Wei-Sheng Lai, Chao Ma, Xiaoyun Zhang, Zhiyong Gao, и Ming-Hsuan Yang

IEEE Конференция по компьютерному зрению и распознаванию образцов, Лонг-Бич, CVPR 2019

Эта работа основана на нашей работе в журнале TPAMI MEMC-Net, где мы предлагаем адаптивный слой смещения. Пожалуйста, также рассмотрите возможность ссылки на эту работу.

Содержание

  1. Введение
  2. Цитирование
  3. Требования и зависимости
  4. Установка
  5. Тестирование предварительно обученных моделей
  6. Загрузка результатов
  7. Создание эффекта замедленной съёмки
  8. Обучение новых моделей
  9. Демонстрация Google Colab

Введение

Мы предлагаем модель глубинно-осознанного видео-кадрового интерполирования (DAIN), которая явно выявляет затенение, используя глубинный признак. Мы разработали слой глубинно-осознанного потока проектирования для синтеза промежуточных потоков, предпочитающего выбор ближайших объектов перед дальними. Наш метод достигает уровня передовых технологий на наборе данных Middlebury. Мы предоставляем видео здесь.

Цитирование

Если вам полезны этот код и наборы данных в вашем исследовании, пожалуйста, цитируйте:

@inproceedings{DAIN,
    автор    = {Bao, Wenbo и Lai, Wei-Sheng и Ma, Chao и Zhang, Xiaoyun и Gao, Zhiyong и Yang, Ming-Hsuan}, 
    заголовок     = {Глубинно-Осознанное Видео-Кадровое Интерполирование}, 
    конференция = {IEEE Конференция по компьютерному зрению и распознаванию образцов},
    год      = {2019}
}
@статья{MEMC-Net,
     заголовок={MEMC-Net: Нейронная Сеть, Основанная на Оценке Движения и Коррекции Движения для Интерполяции и Улучшения Качества Видео},
     автор={Bao, Wenbo и Lai, Wei-Sheng, и Zhang, Xiaoyun и Gao, Zhiyong и Yang, Ming-Hsuan},
     журнал={IEEE Transactions on Pattern Analysis and Machine Intelligence},
     doi={10.1109/TPAMI.2019.2941941},
     год={2018}
}

Требования и зависимости

  • Ubuntu (мы тестировали на Ubuntu = 16.04.5 LTS)
  • Python (мы тестировали на Python = 3.6.8 в Anaconda3 = 4.1.1)
  • Cuda & Cudnn (мы тестировали на Cuda = 9.0 и Cudnn = 7.0)
  • PyTorch (Наши специализированные слои требуют ATen API в PyTorch = 1.0.0)
  • GCC (скомпиляция расширений PyTorch 1.0.0 (.c/.cu) требует gcc = 4.9.1 и nvcc = 9.0 компиляторов)
  • NVIDIA GPU (Мы использовали Titan X (Pascal) с compute = 6.1, но поддерживаются устройства compute_50/52/60/61, если у вас есть устройства с более высокой способностью вычисления, пожалуйста, отредактируйте этот)

Установка

Склонировать репозиторий:

$ git clone https://github.com/baowenbo/DAIN.git

Перед сборкой Pytorch расширений убедитесь, что у вас установлен pytorch >= 1.0.0:

$ python -c "import torch; print(torch.__version__)"

Сгенерировать наши PyTorch расширения:

$ cd DAIN
$ cd my_package 
$ ./build.sh

Сгенерировать корреляционный пакет, необходимый для PWCNet:

$ cd ../PWCNet/correlation_package_pytorch1_0
$ ./build.sh

Тестирование предварительно обученных моделей

Создайте директорию весов модели и директорию набора данных Middlebury:

$ cd DAIN
$ mkdir model_weights
$ mkdir MiddleBurySet

Загрузите предварительно обученные модели,

$ cd model_weights
$ wget http://vllab1.ucmerced.edu/~wenbobao/DAIN/best.pth

и набор данных Middlebury:

$ cd ../MiddleBurySet
$ wget http://vision.middlebury.edu/flow/data/comp/zip/other-color-allframes.zip
$ unzip other-color-allframes.zip
$ wget http://vision.middlebury.edu/flow/data/comp/zip/other-gt-interp.zip
$ unzip other-gt-interp.zip
$ cd ..

Предустановки:

$ cd PWCNet/correlation_package_pytorch1_0
$ sh build.sh
$ cd ../my_package
$ sh build.sh
$ cd ..

Теперь можно запустить:

$ CUDA_VISIBLE_DEVICES=0 python demo_MiddleBury.py

Интерполированные результаты находятся в директории MiddleBurySet/other-result-author/[случайное число]/, где [случайное число] используется для различия между разными запусками.

Загрузка результатов

Наша модель DAIN достигает уровня передовых технологий на наборах данных UCF101, Vimeo90K и Middlebury (eval и other). Загрузите наши интерполированные результаты следующими командами:

$ wget http://vllab1.ucmerced.edu/~wenbobao/DAIN/UCF101_DAIN.zip
$ wget http://vllab1.ucmerced.edu/~wenbobao/DAIN/Vimeo90K_interp_DAIN.zip
$ wget http://vllab1.ucmerced.edu/~wenbobao/DAIN/Middlebury_eval_DAIN.zip
$ wget http://vllab1.ucmerced.edu/~wenbobao/DAIN/Middlebury_other_DAIN.zip

Создание эффекта замедленной съёмки

Наша модель полностью способна создавать эффект замедленной съёмки с небольшим изменением архитектуры сети. Запустите следующий скрипт, указав time_step = 0.25 для создания эффекта замедленной съёмки x4:

$ CUDA_VISIBLE_DEVICES=0 python demo_MiddleBury_slowmotion.py --netName DAIN_slowmotion --time_step 0.25

или установите time_step равным 0.125 или 0.1 соответственно:

$ CUDA_VISIBLE_DEVICES=0 python demo_MiddleBury_slowmotion.py --netName DAIN_slowmotion --time_step 0.125
$ CUDA_VISIBLE_DEVICES=0 python demo_MiddleBury_slowmotion.py --netName DAIN_slowmotion --time_step 0.1

чтобы создать эффект замедленной съёмки x8 и x10 соответственно. Либо, если вы хотите иметь эффект замедленной съёмки x100 для забавы. $ CUDA_VISIBLE_DEVICES=0 python demo_MiddleBury_slowmotion.py --netName DAIN_slowmotion --time_step 0.01

Вы можете также создать GIF-анимацию следующим образом:

$ cd MiddleBurySet/other-result-author/[случайное число]/Beanbags
$ convert -delay 1 *.png -loop 0 Beanbags.gif #10 миллисекунд задержка 

Приятного использования и хорошего временипровождения!

Обучение новых моделей

Загрузите набор данных Vimeo90K тройных кадров для задачи интерполяции видеокадров, также см. здесь работу Xue et al., IJCV19.

$ cd DAIN
$ mkdir /путь/к/вашему/набору/данных & cd /путь/к/вашему/набору/данных 
$ wget http://data.csail.mit.edu/tofu/dataset/vimeo_triplet.zip
$ unzip vimeo_triplet.zip
$ rm vimeo_triplet.zip

Загрузите предварительно обученные модели MegaDepth и PWCNet

$ cd MegaDepth/checkpoints/test_local
$ wget http://vllab1.ucmerced.edu/~wenbobao/DAIN/best_generalization_net_G.pth
$ cd ../../../PWCNet
$ wget http://vllab1.ucmerced.edu/~wenbobao/DAIN/pwc_net.pth.tar
$ cd ..

Запустите скрипт обучения:

$ CUDA_VISIBLE_DEVICES=0 python train.py --datasetPath /путь/к/вашему/датасету --batch_size 1 --save_which 1 --lr 0.0005 --rectify_lr 0.0005 --flow_lr_coe 0.01 --occ_lr_coe 0.0 --filter_lr_coe 1.0 --ctx_lr_coe 1.0 --alpha 0.0 1.0 --patience 4 --factor 0.2

Оптимизированные модели будут сохранены в директорию model_weights/[случайное число], где [случайное число] генерируется для разных запусков.

Замените предварительно обученную модель model_weights/best.pth новой тренированной моделью model_weights/[случайное число]/best.pth. Затем протестируйте новую модель, выполнив:

$ CUDA_VISIBLE_DEVICES=0 python demo_MiddleBury.py

Демо в Google Colab

Это модификация DAIN, которая позволяет использовать Google Colab и способна выполнить полное демонстрационное интерполирование из исходного видео в целевое видео.

Исходный ноутбук от btahir можно найти здесь.

Чтобы использовать Colab, следуйте этим шагам:

  • Скачайте файл Colab_DAIN.ipynb (ссылка).
  • Посетите Google Colaboratory (ссылка)
  • Выберите опцию "Загрузить", затем загрузите файл .ipynb
  • Начните запускать ячейки последовательно, следуя указаниям.

Авторы файла Colab: Styler00Dollar и Alpha.

Контакты

Wenbo Bao; Wei-Sheng (Jason) Lai

Лицензия

Смотрите лицензию MIT

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

Вы можете оставить комментарий после Вход в систему

Введение

Интерполяция видеокадров с учётом глубины (CVPR 2019) Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-DAIN.git
git@api.gitlife.ru:oschina-mirror/mirrors-DAIN.git
oschina-mirror
mirrors-DAIN
mirrors-DAIN
master