Wenbo Bao, Wei-Sheng Lai, Chao Ma, Xiaoyun Zhang, Zhiyong Gao, и Ming-Hsuan Yang
IEEE Конференция по компьютерному зрению и распознаванию образцов, Лонг-Бич, CVPR 2019
Эта работа основана на нашей работе в журнале TPAMI MEMC-Net, где мы предлагаем адаптивный слой смещения. Пожалуйста, также рассмотрите возможность ссылки на эту работу.
Мы предлагаем модель глубинно-осознанного видео-кадрового интерполирования (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}
}
Склонировать репозиторий:
$ 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
Это модификация DAIN, которая позволяет использовать Google Colab и способна выполнить полное демонстрационное интерполирование из исходного видео в целевое видео.
Исходный ноутбук от btahir можно найти здесь.
Чтобы использовать Colab, следуйте этим шагам:
Colab_DAIN.ipynb
(ссылка)..ipynb
Авторы файла Colab: Styler00Dollar и Alpha.
Wenbo Bao; Wei-Sheng (Jason) Lai
Смотрите лицензию MIT
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )