3D Ken Burns 项目介绍
3D Ken Burns 项目是一个利用单张图像生成3D运动效果的参考实现,主要依靠PyTorch进行开发。该项目通过虚拟摄像机的扫描、缩放来为静态图像增添运动视差效果。如果用户想要使用本项目成果,请记得引用参考文献。
项目设置
项目中一些功能是通过CUDA使用CuPy实现的,因此CuPy为必需依赖项。用户可以通过执行pip install cupy
安装CuPy,或者根据CuPy官网提供的二进制包进行安装。此外,用户还需要确保已配置CUDA_HOME
环境变量。
为了生成视频结果,用户需要安装moviepy
,可以通过执行命令pip install moviepy
来完成安装。
项目使用
自动生成3D Ken Burns效果
要在图像上自动生成3D Ken Burns效果,可以使用以下命令:
python autozoom.py --in ./images/doublestrike.jpg --out ./autozoom.mp4
手动调整摄像机路径
用户可以使用以下命令启动一个接口来手动调整摄像机的路径:
python interface.py
启动后,用户可以通过浏览器访问http://localhost:8080/
,并使用界面右下角的按钮加载图像。加载图像和保存结果可能需要一些时间,因此请稍等。
深度估计
可以使用如下命令运行深度估计获得原始深度数据,但注意该脚本不执行深度调整。有关深度调整的更多信息,可以参阅相关讨论。
python depthestim.py --in ./images/doublestrike.jpg --out ./depthestim.npy
深度估计性能测试
用户可以运行以下命令来对深度估计性能进行测试:
python benchmark-ibims.py
或
python benchmark-nyu.py
Colab支持
如果用户没有适合运行本项目的环境,可以尝试使用Colab,Colab允许在云端免费运行项目。社区提供了一些Colab notebook可供使用。
数据集信息
该项目数据集依据CC BY-NC-SA 4.0国际公共许可协议授权,仅限非商业用途使用。如需了解更多信息,请参阅LICENSE文件。虽然该数据集总共包含的场景较少,但每个样本具有多变的焦距,有助于提升普适性。同时,某些例子可能存在曝光过度或不足的情况,建议去除这些异常数据。
视频样例
项目提供了一个视频样例,可以帮助理解3D Ken Burns效果。
项目许可
该项目由Adobe Research开发,依据CC BY-NC-SA 4.0国际公共许可协议授权,仅限用于非商业目的。详细信息请查阅LICENSE文件。
参考文献
如果本项目对您的工作有所帮助,欢迎引用我们的研究论文,以分享和交流3D Ken Burns效果在单张图像上的应用研究成果。