• 用人工智能压缩视频的尝试


    开始

    设计一个神经元网络,它有(x, y, t)三个输入,有(R, G, B)三个输出,中间有许多隐藏层。x和y是视频的横纵坐标,t是帧数。输入(x, y, t),输出一个像素,即(R, G, B)。

    2K视频为2048×1080分辨率,2小时的视频大约3.0GB。取其1%作为神经元网络的预期压缩率,即30MB。

    以前的博客中有8比特神经元网络的设想,那么,30MB的神经元网络,有3000万个参数。

    运算量估计

    设视频每秒24帧,运行一次神经元网络需要与参数个数相同的运算量,即3000万。
    2048×1080×24×3000万=1.6Pflops

    现有的个人电脑不支持这么大的运算能力,也许这是属于未来的技术吧?

    上述运算量是播放时的,下面估算训练时的。

    神经元网络中参数个数n=3000万
    训练样本的个数m=2048×1080×24×7200=3822亿
    训练几轮呢?p=100
    总的运算量=pmn2=34398亿亿亿次
    以最先进的百亿亿次超算,需要1091年!

    处理小视频

    这也太长了,不如先对小视频进行压缩。设视频为100×100像素,24帧/秒,15秒。设它有一万分之一的压缩率,则n=1080。它的训练量是多少呢?

    p=100,m=100×100×24×15=360万,n=1080
    训练运算量=420万亿次
    播放运算量=100×100×24×1080=260Mflops
    这还在可以接受的范围内。

    结论

    建立一个神经元网络,它有(x, y, t)输入,(R, G, B)输出。对一个100×100像素,每秒24帧,15秒的小视频进行压缩。播放时,依次输入(x, y, t=1),得到1帧图像,改变t,得到连续的视频。

    对200×200像素的视频,训练运算量为6次方,即64倍;播放运算量为4次方,即16倍;同时,训练运算量是时间的2次方;播放运算量是时间的1次方。

  • 相关阅读:
    使用Xshell远程连接Linux
    [ArcGIS]ArcGIS SceneView视图下浏览器环境设置
    WebGL HUD(平视显示器)
    《web课程设计》基于HTML+CSS+JavaScript典的中医药大学网(11个页面)
    使用hive进行大数据项目分析
    win11点击任务栏固定的应用:该文件没有与之关联的应用来执行该操作
    生产者消费者模型
    栈和队列的基本操作
    安卓实现沉浸式安卓状态栏实现
    XSS-labs 通关(中)
  • 原文地址:https://blog.csdn.net/proorck2019/article/details/127896651