VMAF (Video Multimethod Assessment Fusion) 由 Netflix
开发并开源,利用大量的主观数据作为训练集,通过机器学习的手段将不同评估维度的算法进行“融合”,得到一个能准确反映主观意志的画质评价标准。

VMAF 主要包括3种指标:visual quality fidelity(VIF)、detail loss
measure(DLM)、temporal information(TI)。其中 VIF 和 DLM 是空间域的也即一帧画面之内的特征,TI
是时间域的也即多帧画面之间相关性的特征。这些特性之间融合计算总分的过程使用了训练好的 SVM 来预测。对每张图的打分,最终用于参考

一、命令汇总

编译环境准备

brew install gcc meson doxygen nasm freetype pkg-config hdf5
brew install numpy scipy

下载源码

git clone https://github.com/Netflix/vmaf.git
cd vmaf
git submodule update --init --recursive

编译

make

下载 VMAF 并安装

cd python
pip3 install cython
pip3 install -r requirements.txt
pip3 install --user .   # 此时,会出现各种报错

环境变量配置

vim ~/.bash_profile
source ~/.bash_profile

在 vmaf 根目录下

./unittest

PyCharm执行

which python
python ./vmaf/script/run_vmaf.py yuv420p 576 324 test/resource/yuv/src01_hrc00_576x324.yuv test/resource/yuv/src01_hrc01_576x324.yuv --out-fmt json

二、报错汇总

编译环境准备时:
报错1:
Permission denied @ apply2files - /usr/local/lib/docker/cli-plugins解决1:
sudo chown -R $(whoami) $(brew --prefix)/*
下载 VMAF 并安装:
报错2:ninja: build stopped: subcommand failed.解决2:其实不影响后续的执行,但是在最终运行的时候会报错。我是通过替换tools的文件解决的。
报错3:vmaf/core/adm_dwt2_cy.c:634:10: fatal error: '../../../libvmaf/src/feature/adm.c' file not found#include "../../../libvmaf/src/feature/adm.c"^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~解决3:修改相关路径为绝对路径文件路径:/vmaf/python/vmaf/corevim adm_dwt2_cy.pyx重新执行pip3 install -r requirements.txtpip3 install --user .
报错4:#warning "Using deprecated NumPy API, disable it with " \^In file included from vmaf/core/adm_dwt2_cy.c:636:/Users/meizhuo/vmaf/libvmaf/src/feature/adm_tools.c:27:10: fatal error: 'mem.h' file not found#include "mem.h"^~~~~~~解决4:
cd libvmaf/src/feature/
cp /Users/XXXX/vmaf/libvmaf/src/mem.h .
执行Python文件命令:
python ./vmaf/script/run_vmaf.py yuv420p 576 324 test/resource/yuv/src01_hrc00_576x324.yuv test/resource/yuv/src01_hrc01_576x324.yuv --out-fmt json
报错5:
ModuleNotFoundError: No module named 'vmaf'解决5:/vmaf/python/vmaf/script/run_vmaf.py
curpath = os.path.abspath(os.path.dirname(__file__))
root_path = os.path.split(os.path.split(curpath)[0])[0]
if root_path not in sys.path:sys.path.append(root_path)/vmaf/python/vmaf/svmutil.py
if VmafConfig.root_path() not in sys.path:
sys.path.append(VmafConfig.root_path())

三、执行命令

VMAF:
python ./vmaf/script/run_vmaf.py yuv420p 576 324 test/resource/yuv/A.yuv test/resource/yuv/B.yuv --out-fmt jsonpython ./vmaf/script/run_vmaf.py yuv420p 480 270 test/resource/yuv/sparks_ref_480x270.yuv42010le.yuv test/resource/yuv/sparks_dis_480x270.yuv42010le.yuv --out-fmt json./vmaf/script/run_vmaf.py yuv420p 1280 720 ./test/resource/yuv/_1.000000.yuv ./test/resource/yuv/_1.000001.yuv --out-fmt json./run_vmaf yuv420p 576 324 python/test/resource/yuv/src01_hrc00_576x324.yuv python/test/resource/yuv/src01_hrc01_576x324.yuv --out-fmt jsonmfPEVQScore:4.534
mfPEVQScore:4.532

四、成功图示:

五、运用-处理顺序

1、截取视频中的一张图:确认视频的分辨率、宽高:ffmpeg -i screenrecording.mov -ss 00:00:00 -frames:v 1 image.png -hide_banner2、修改分辨率,宽高等比缩放
ffmpeg -i screenrecording.mov -ss 00:00:5.95 -t 00:00:12 -vf scale=320:180 out.mov3、截取视频长度,以防循环播放:
ffmpeg -i screenrecording.mov -ss 00:00:5.95 -t 00:00:11.9 -vf scale=320:180 out.mov4、从图片中获取log的位置,进行尺寸切除
ffmpeg -i screenrecording.mov -ss 00:00:5.95 -t 00:00:11.9 -filter:v "crop=2868:1614:6:16,scale=1280:720" -r 30 sc_cropped.movffmpeg -i screenrecording.mov -ss 00:00:5.95 -t 00:00:11.9 -filter:v "crop=2868:1614:6:16,scale=1280:720" -r 30 -c:v rawvideo sc_cropped.avi5、进行裁剪:摆脱小作物
ffmpeg -i sc_cropped.mov -filter:v "crop=iw/1.1:ih/1.1” sc_cropped_overlays.mov6、使用原始视频作为输入,并且我们可以指定一个无损的 h.264 avi 文件作为输出:
ffmpeg -i sc_cropped.avi -filter:v "crop=iw/1.1:ih/1.1" -c:v libx264  -crf 0 sc_cropped_overlays.avi7、我们将相同的裁剪应用于原始文件,并将输出指定为无损 h.264:
ffmpeg -i meeting_ref.avi -filter:v "crop=iw/1.1:ih/1.1" -c:v libx264 -crf 0 meeting_ref_1_1_crop.avi8、传入执行:curl

六、学习地址、参考文档

1.音频质量评估-1
2.https://github.com/ludlows/python-pesq
3.https://github.com/google/visqol
4.实践总结地址:https://www.cnblogs.com/darlingmz/p/14832841.html
5.PS:学习地址Mac安装教程:https://testerhome.com/topics/25083

【音频测评】全参考测评相关推荐

  1. AI:华为云HiLens Kit试用测评—全栈全场景的人工智能

    AI:华为云HiLens Kit试用测评-全栈全场景的人工智能 导读:博主为CSDN社区的博客专家,目前拥有65000多的粉丝,曾经荣获十多项与人工智能相关的证书,也同时撰写了十多项发明专利和软件著作 ...

  2. W800BT Plus耳机测评 【耳机测评】 【分贝测试】

    耳机型号:W800BT Plus 性价比:高. 价格:199RMB. 外观:黑色.金属感强. 透气性:带2-3小时,耳朵不热也不疼.比较舒服. 音效:动物声音逼真.鼓声逼真.(音频在文后相关链接) 环 ...

  3. 图像全参考客观评价算法比较

    Lin Zhang等人在论文<A COMPREHENSIVEEVALUATION OF FULL REFERENCE IMAGE QUALITY ASSESSMENT ALGORITHMS> ...

  4. 全参考客观视频质量评价方法 (MSE, PSNR,SSIM)原理

    全参考客观视频质量评价方法是指把原始参考视频与失真视频在每一个对应帧中的每一个对应像素之问进行比较.准确的讲,这种方法得到的并不是真正的视频质量,而是失真视频相对于原始视频的相似程度或保真程度.最简单 ...

  5. 全参考视频质量评价方法(PSNR,SSIM)以及相关数据库

    最常用的全参考视频质量评价方法有以下2种: PSNR(峰值信噪比):用得最多,但是其值不能很好地反映人眼主观感受.一般取值范围:20-40.值越大,视频质量越好. SSIM(结构相似性):计算稍复杂, ...

  6. 腾讯多媒体实验室:基于三维卷积神经网络的全参考视频质量评估算法

    腾讯有多个视频业务线,点播视频有腾讯视频.企鹅影视,短视频有微视.K歌,直播类有Now直播.企鹅电竞,实时传输类有QQ和微信的音视频通话.无线投屏和腾讯会议等. 用户对不同的产品有不同程度的期待:比如 ...

  7. 亚马逊、沃尔玛、速卖通、Temu、OZON自养号测评和真人测评两者如何选择?

    近年来,随着跨境电商逐步引爆全球的网络热潮,关于跨境电商的许多新型发展模式受到许多卖家和平台的关注,都推动着跨境电商步入新的发展阶段.最近有许多跨境电商平台和卖家在关注跨境电商的listing,那么l ...

  8. 微信小程序---霍兰德职业兴趣测试、心里测评、性格测评

    微信小程序-霍兰德职业兴趣测试.心里测评.性格测评 #链接 职业兴趣测试.心里测评.性格测评

  9. 什么是等保测评?等保测评必须进行吗?

    在网络安全这个圈子里,等保测评是非常热门的词汇,而且对于很多企业而言,等保测评是必须进行的项目,如果不进行等保测评可能会面临罚款等.因此很多人就比较关心:APP有必要进行等保测评吗?接下来我们通过文章 ...

最新文章

  1. Linux虚拟化介绍
  2. JS数组去重之利用set数据结构去重
  3. Django ORM 中的批量操作
  4. php中border属性,css中display属性和border属性常遇问题讲解
  5. Linux配置最基础的命令
  6. 激光摄像机的原理及应用
  7. python集合的元素可以是_Python - 集合与元素之集合定义和基本操作方法
  8. 图案、标签、logo
  9. 高级售前客户服务专员题库
  10. python爬取设置了权限的qq空间_日常用Python来监控女神QQ空间!就算他把我屏蔽,也阻止不了我!-qq空间怎么设置访问权限...
  11. CSS 3之鼠标特效
  12. 9个offer,12家公司,35场面试,计算机应届毕业生求职之路
  13. 关于低功耗车牌识别摄像机,你知道多少
  14. golang:模拟http post请求
  15. arduino上传项目总是出错,串口通信或TX/RX显示上传项目出错
  16. Tipask目录结构
  17. 9个Excel小技巧,提高你的数据分析效率
  18. 如何安装VMware Tool
  19. 艾默生流量计校验功能
  20. 如何去除软件内嵌广告_iphone5去除应用软件内置广告教程(图文)

热门文章

  1. 正在改变世界的硅谷创业趋势
  2. Matlab进行升序降序,matlab sort()升序和降序
  3. IData T1扫码终端H5 扫码实现
  4. shell编程数组与冒泡算法排序详解
  5. 腾讯云IM简介和使用流程
  6. Springboot Filter 多过滤器的使用
  7. 谈一谈网络编程的经验
  8. 提示ora-04098:触发器无效且未通过重新验证
  9. 【EndNote】文献模板编排语法详解
  10. 大四女生成跨国软件公司亚洲副总裁