作为一个初入超分的新手,被安排测试一下怎么使用VMAF。
当我搜索“怎么使用VMAF”时,各个奇奇怪怪的教程没有一个统一的,使用环境也不说,各种采坑。
所以本篇使用方法基本是对VMAF github仓库的ReadMe翻译而来,过程自己跑过没问题。
0、环境
ubuntu18、Python3.6
1、新建虚拟环境
本步骤我没有走,使用自己原先的环境也可以的。
如果走可以按照以下代码创建:
python3 -m pip install virtualenv
python3 -m virtualenv .venv
source .venv/bin/activate
2、安装相关包
pip install meson cython numpy
sudo apt-get install nasm doxygen
说明1:
此处我没有使用apt 安装 ninja,因为提示"E: 软件包 ninja 没有可安装候选"。所以使用
sudo pip install ninja
说明2:
根据仓库说明,apt-get 可以根据系统环境更换为yum, brew等,我没有试过,如果自己环境对应需要可以试试。
说明3:
使用 nasm --version 命令 确认 nasm >=
2.13.02
使用 ninja --version 命令 确认 ninja >=
1.7.1
继续安装
sudo apt-get install python-dev # 安装python-dev
make # 编译
pip install -r python/requirements.txt # 安装其他包
3、测试
./unittest
4、使用VMAF测试YUV格式文件
PYTHONPATH=python ./python/vmaf/script/run_vmaf.py yuv420p 576 324 src01_hrc00_576x324.yuv src01_hrc01_576x324.yuv --out-fmt json
这一步是在运行测试案例,需要src01_hrc00_576x324.yuv和
src01_hrc01_576x324.yuv两个文件,可以从这个Git仓库下载后,拷贝到当前目录。
即可得到结果:
{
...
"aggregate": {
"VMAF_feature_adm2_score": 0.93458780776205741,
"VMAF_feature_motion2_score": 3.8953518541666665,
"VMAF_feature_vif_scale0_score": 0.36342081156994926,
"VMAF_feature_vif_scale1_score": 0.76664738784617292,
"VMAF_feature_vif_scale2_score": 0.86285338927816291,
"VMAF_feature_vif_scale3_score": 0.91597186913930484,
"VMAF_score": 76.699271371151269,
"method": "mean"
}
}