精华内容
下载资源
问答
  • 有时候使用手机竖版拍摄的视频,放于PPT中会产生旋转。需要使用格式工厂进行反旋转。 网上很多教程都说使用“高级...首先改变输出视频宽高比。因为视频顺时针旋转90度,原来的宽720就变成了旋转以后的高720了,原...

    有时候使用手机竖版拍摄的视频,放于PPT中会产生旋转。需要使用格式工厂进行反旋转。

    网上很多教程都说使用“高级”设置中的“旋转”功能,然而却无法实现我们想要的效果。

    实际参考:http://jingyan.baidu.com/article/9158e000686fc2a2541228db.html

    首先改变输出视频的宽高比。因为视频顺时针旋转90度,原来的宽720就变成了旋转以后的高720了,原来的高480旋转以后就成了宽480了。所有说旋转以后的视频宽480高720。宽高比就是0.6666,宽高比就是480除以720。在格式工厂参数配置里点击宽高比,在“自动”选项框了双击鼠标删除“自动”两个字,输入计算好的视频参数0.6666。

    展开全文
  • 腾讯多媒体技术专栏伴随手机等智能设备的广泛使用以及短视频平台的兴起,越来越多的“竖屏”视频开始占据人们的视野。目前,许多“竖屏”视频仍是由16:9等宽高比的“横屏”视频剪辑而成,然而传统的...

    腾讯多媒体技术专栏

    伴随手机等智能设备的广泛使用以及短视频平台的兴起,越来越多的“竖屏”视频开始占据人们的视野。目前,许多“竖屏”视频仍是由16:9等宽高比的“横屏”视频剪辑而成,然而传统的静态裁剪和补充黑边等视频宽高比转换算法已经不能满足用户对横屏到竖屏的内容转换需求。对此,多媒体实验室“智媒”平台提出了一种基于显著性的视频裁剪方法,它可以根据视频的内容实现横屏到竖屏的自动裁剪。与竞品相比,本文方法可以获得更智能、更稳定的裁剪结果。

    1、背景

    1.1背景介绍

    快速发展的智能传感器和多媒体技术让人们可以通过手机、数码相机和摄像机等智能终端设备方便地获取、传播与使用视频数据。

    一直以来,传统的视频主要在电视、电脑显示器等设备上播放,视频采集和编辑通常使用4:3或者16:9的宽高比,目前主流视频平台(如腾讯视频、爱奇艺、哔哩哔哩,Youtube等)的大部分视频资源均采用这种比例。

    与此同时,手机、平板等智能终端设备和社交网络的兴起与风靡,让越来越多的消费者更加倾向于用手机等移动设备观看视频,而不是电视或电脑显示器。手机等智能设备的显示屏广泛使用9:16,甚至更小的宽高比,使得传统的4:3和16:9宽高比的视频不能很好地在手机上显示。

    为了拥有更好的用手机观看视频体验,用户通常需要对视频宽高比格式进行转换。除此之外,随着近年来短视频平台,如微视、抖音、快手、美拍、K歌等,以及直播平台,如虎牙、斗鱼、B站等快速崛起,已经吸引了大量的用户,越来越多视频生产者针对手机等设备进行视频生产与编辑。

    这些短视频平台、直播平台的视频内容较多使用“竖屏”方式,即9:16的宽高比。而常用的数码相机、单反、摄像机等视频采集设备获取的原始视频素材通常是横屏,这些素材往往需要由人工转为竖屏。

    传统的视频宽高比转化的方法通常使用静态裁剪(即使用一个固定的视角窗口对视频进行裁剪,保留窗口内的视频内容,裁剪掉窗口外的部分)和补充黑边(即固定视频长宽比缩放,并在其他位置补充零值)。

    由于视频构图、视频内容运动、相机运动等的多样性,固定窗口的静态裁剪方法通常很难获得令人满意的效果。

    为了提升裁剪后视频观看效果,需要视频编辑者手动地确定每一帧视频中的显著目标或区域,并且跟踪他们在连续帧中的位置,然后进行手工视频裁剪。

    对于海量视频的裁剪,这种手工逐帧裁剪的方式,需要消耗大量的时间和人力成本,并且该裁剪过程通常比较繁琐,容易出错。而补充黑边的方式在有限的显示区域内引入较多无效值,严重影响视频观看体验。

    因此,研究视频帧智能裁剪技术,根据视频内容进行自适应裁剪,可以大规模应用于视频编辑和辅助编辑,具有较高的实用价值。

    1.2应用场景

    视频智能裁剪技术可以被广泛应用于视频宽高转换和视频素材编辑。如图1所示,常见的各类型视频数据,都可以根据显示设备和应用需求不同进行有针对性的裁剪,使得视频可以有更好的观看体验。

    1)针对不同设备进行视频转换。对于已经存在的新闻、舞蹈综艺、影视电视剧、在线教育视频、广告、体育、表演、动画等视频资源,通过智能裁剪技术,可以针对不同播放设备进行视频宽高比转换。例如旧的电视访谈和影视作品等通常采用4:3的宽高比,这些视频如今播放时,可以根据不同设备进行针对性裁剪,如对于平板设备裁剪比例为3:2,手机裁剪为9:16(竖屏)或16:9(横屏)。

    2)针对不同应用/需求进行视频编辑。对于直播用户、Vlog用户、社交媒体工作者(网红)、广告视频编辑等,智能裁剪技术可以根据不同平台视频长宽比格式要求,自动裁剪原始视频素材得到不同宽高比的视频,如16:9上传YouTube/腾讯视频,9:16上传Tiktok/腾讯微视,1:1用于网页宣传广告/QQ空间/朋友圈等。

    1 视频裁剪应用场景示例

    1.3视频裁剪功能

    1.3.1基本功能

    视频智能裁剪的基本功能是根据不同宽高比要求进行自动裁剪。如图2所示,对于原始16:9的视频,可以根据需求裁剪为9:16,1:1和4:3等。视频裁剪结果还需要尽量满足以下3点要求:1)主要(显著性)目标/区域在裁剪后的视频中持续保留;2)裁剪后视频镜头/场景切换自然;3)裁剪后视频抖动较小。

    图2 视频智能裁剪功能示例

    1.3.2进阶功能

    满足基本功能的视频裁剪算法通常会根据算法设计尽可能地进行视频裁剪,然而指定的裁剪比例是否合理、裁剪后视频的质量是否满足用户需求并不能直观反映出来。除了满足裁剪基本功能以外,本文也总结了一些进阶功能,为后续研究提供一些可能的方向。本文所述的进阶功能主要是从三个方面出发:1)裁剪质量评价;2)特殊需求处理;3)困难场景人机交互处理。

    1)视频裁剪质量评价。对于裁剪后的视频,对其进行质量评价或者可靠度评估是一个很直接的需求,目前大部分裁剪算法仅进行裁剪,不能评价裁剪后结果是否满足一定质量要求。本文在实验和分析中将裁剪质量评价简单的分为几点:

    a)内容完整性评价,主要是评价裁剪后视频是否能够完整的表达原始视频的主要内容。裁剪后视频内容应尽可能完整或者更大范围包含原始视频的有效信息,减少因裁剪引起的信息损失,因此评价内容完整性非常必要。内容完整性评价与主观质量评价有所不同,当出现多个主要目标时,可能裁剪主观质量很好,但是由于遗漏部分显著性区域,可能完整性较差。如图3所示,图3(a)结果的主观质量和内容完整性都较好,裁剪结果完整包含两个主要目标,图3(b)完整性相对较好,但是裁剪主观质量较差,图3(c)和图3(d)裁剪主观结果较好,但是完整性较差。内容完整性评价也响应了基本功能第一点主要(显著性)目标/区域在裁剪后视频中持续保留

    b)时序一致性评价,主要是评价裁剪后视频主要目标是否在时序上连续一致。裁剪后视频内容应尽可能在时序上具有一致性,即在时序上连续完整包含同一显著性目标,尽可能减少频繁的裁剪目标切换。时序一致性评价也响应了基本功能第二点裁剪后视频场景切换自然。裁剪后场景反复切换,在一定程度上会影响主观质量。如图3(c)和图3(d)所示,仅看单帧裁剪结果,两帧的结果在主观质量上都较好,但是时序上裁剪视频的主要目标不一致。若裁剪结果在两个目标中反复切换,将明显影响视频质量。

    c)裁剪方案主观评价,主要是评价裁剪之后视频观看效果。与视频质量评价不同,本文裁剪主观感知评价主要是视频裁剪方案是否合理,不评价视频本身质量。例如原始视频质量较差(存在过曝/模糊/噪声等),裁剪算法不能改变原始视频质量,但是裁剪视频能够完整连续包含视频主要目标,视频切换自然,抖动较小,也可以认为该裁剪方案质量较高。引起主观感知不同的因素较多,例如裁剪位置是否合理、镜头切换是否自然、抖动是否明显等。如图3(d)所示,图中2个蓝色虚线框和红色框都能完整包含右边舞者(显著性目标),但是红框将显著性目标放在中心位置,主观质量更佳。在时序上,两个蓝色虚线框内范围均可以完整连续包含右边舞者,不同抖动情况会对裁剪质量产生较大影响。图3(c)到图3(d)两个目标进行镜头切换,不同的切换方式(如直接切换,缓慢移动,快速移动等)也会对视频感知产生影响。

    图3 视频裁剪结果示例

    上述三种评价方向相互相对独立,例如内容是否完整,场景是否切换,不会对裁剪方案的主观感知产生绝对影响。在评价视频裁剪质量时可以选取其中一种进行评价,也可以同时考虑多个指标计算一个综合得分。如图4所示,对于裁剪视频进行质量评分,一方面可以评价裁剪结果的优良,由于辅助用户判断是否需要人工调整,另一方面,质量评分也可以辅助用户判断当前指定裁剪宽高比是否合理,并推荐合适的裁剪比例。图4(a)表示不同裁剪比例评分示例图,红框表示裁剪结果(裁剪框宽高比依次为9:16,1:1,4:3,21:9);图4(b)表示根据评分对不够合理裁剪进行判别,并智能推荐合理裁剪比例,其中绿框表示原始用户指定裁剪比,红框为算法推荐。

    图4 裁剪质量相关功能示例

    2)特殊需求处理。对于某些特定类型视频,用户可能存在某些定制化需求。如图5所示,本文列举了两种常见的特殊处理功能:运动模式指定或自动估计、指定区域处理。

    a)运动模式指定或自动估计。对于不同的场景可能对裁剪视频镜头运动模式有不同的要求。例如对于某些(体育运动)场景,需要连续跟踪快速运动的目标,而对于某些(表演、影视等)场景则需要镜头相对固定或平滑移动。如图5所示,图中第1行第1列为花样滑冰示例,运动员在滑冰场快速运动,裁剪后镜头需持续快速移动,以跟踪主要目标,第2列为太极表演,镜头不需要根据人物运动而实时移动以保持目标在裁剪后视频正中心位置,只要表演者大部分区域没有移动出裁剪范围,裁剪镜头可以相对固定,当表演者移动范围较大或者运动出场景时,才需平滑移动镜头。第3列为风景缩时摄影示例,虽然场景一直在变化,但是固定镜头裁剪更符合人类习惯。智能裁剪进阶功能需要支持用户指定运动模式或自动估计运动模式。

    图5 特殊处理相关功能示例

    b)指定区域处理。对于不同的应用场景可能需要对指定区域或者目标进行裁剪分析,例如指定某些人物、文字、logo必须在裁剪后视频保留。如图5(b)所示,图中包含多种可能需要特殊处理内容:脱口秀演员、字幕、广告、台标等。针对不同应用场景,裁剪算法需要支持指定区域或者目标的裁剪功能,例如裁剪视频包含脱口秀演员,将字幕、广告logo、台标等信息自动识别,并且重新添加到裁剪完成后的视频中。指定区域处理可以辅助视频编辑,但其难度相对较大,是未来研究的方向之一。

    3)困难场景人机交互处理。对于某些裁剪困难视频(如文本、无显著性目标、多显著性目标、显著目标过大或过小,复杂场景等,如图6所示)以及有特殊需求场景,算法可根据指定裁剪宽高比进行裁剪,并对裁剪结果进行评分与排序,以此为基础提醒和辅助用户以人机交互方式优化裁剪结果。

    图6 困难场景示例

    1.4视频裁剪难点

    本文将视频裁剪的难点主要概况为三个方面:

    1)视频类型多样。如图7所示,由于拍摄者、拍摄时间、地点、对象等的不同,视频的类型非常多样,常见的有新闻、用户、影视、网课、广告、体育、动画、游戏,风景,其他等;不同视频的拍摄条件与风格也不同,如环境位置(室内外),光照条件(明暗)、相机/目标运动(快慢)、目标个数(1,2,3等)、拍摄视角(平视与俯视)、摄影距离(远近)、分辨率、时长等均可能不同。视频类型多样,需要对不同类型和拍摄风格的视频均有较好的效果,对裁剪算法具有较大的难度与挑战。

    图7 本文数据集中不同类型视频示例

    2)主要(显著性)目标/区域定位。显著性目标的检测与定位是智能裁剪算法的核心,如上文图6所示,对于某些困难场景,显著性目标的定位与选择具有较大难度。对于多显著性目标场景,如图3和图41行,视频中包含不同数目的舞者,如何合理地从多个运动目标中选取最显著的目标进行裁剪,具有非常大的难度。此外对于某些场景,如图6(d),显著性区域仅为目标的一部分(人眼区域显著),如何确定一个目标哪些部分显著具有较大难度;如图6(e),显著性目标较小(乒乓球),如何检测并裁剪这类小目标也很困难。

    3)裁剪风格(镜头切换等)。不同类型的视频具有不同的裁剪风格,如体育视频和新闻视频风格不同,无人机拍摄视频和普通视频风格不同;不同类型视频镜头切换风格不同,如同样拍摄对象为人物,在体育运动场景需要连续跟踪运动员,在采访场景仅需要保持静态固定,在日常社交场景,可能需要固定或者跟踪相互切换。即使可以合理的将场景中显著性区域精准的检测定位出,使得裁剪结果符合人类裁剪或观看习惯也非常具有挑战性。

    1.5视频裁剪产品调研

    目前,关于图像裁剪的研究和应用项目相对较多,而视频裁剪方面相对较少。视频裁剪需要综合考虑时空相关信息,与图像裁剪任务相比难度较大。本文主要调研了2种视频裁剪产品:

    1)竞品G。竞品G是可根据指定的宽高比,对影片内容进行分析,制定最佳裁剪策略,并自动输出相同时长的新视频的视频裁剪技术。对于给定的裁剪视频,竞品G会根据视频场景分析,检测出视频中显著性的目标,然后根据不同的相机运动模式,对视频中显著性目标区域位置进行跟踪与优化,最后进行裁剪。该方案主要检测人脸、宠物、车辆等显著性目标用于裁剪,对于包含其他类型目标场景裁剪效果不够理想。

    2)竞品A。竞品A是集成于视频剪辑软件中的视频自动裁剪技术。该方案针对不同的社交媒体渠道自动重构视频,通过智能分析和识别视频中主要活动进行裁剪。该方案提供三种视频运动速度选择(慢动作、默认速度、快动作),以让算法判断视频中的画面变化速度,根据不同速度设定,算法会自动创建不同数目的视频关键帧,用于分析和裁剪。竞品自动重构产生的裁剪结果可以在该软件中进一步手工编辑并导出。

    2、视频裁剪数据集

    为更加方便地进行本文视频裁剪算法的效果验证与实验分析,并与其他裁剪方法进行对比,本文收集并建立了一个视频裁剪数据集。该视频裁剪数据集主要包含300段视频,视频选自于3个常用的视频显著性数据,包含不同类型、拍摄条件、分辨率的视频。

    2.1数据集设计

    本文数据集主要用于裁剪结果分析和验证,并与其他方法对比,因此在设计数据集时,主要考虑尽可能多地包含不同类型和拍摄风格的视频。如下列表所示,本文数据包含常见的新闻、用户、影视、网课、广告、体育、动画、游戏、风景和其他等各类型视频,并且考虑不同的视频内容与风格。尽可能多地包含不同拍摄环境、不同场景内容、不同相机和目标运动、不同目标数目、不同拍摄方式、不同分辨率和时长的视频。

    • 不同场景类型

    • 新闻、用户、影视、网课、广告、体育、动画、游戏、风景、其他等

    • 不同内容和拍摄风格

    • 拍摄环境:室内外、明暗、不同时间(早晚,季节)

    • 场景内容:人物、人造物、动物、风景、其他

    • 运动速度:目标的运动速度、相机的运动速度

    • 目标数目:12、大于2

    • 视角类型:平视、俯视

    • 摄影距离:微距、近景、正常、远景

    • 分辨率:不同宽高比、不同分辨率大小

    • 时长:短视频、长视频

    2.2数据集来源

    本文数据集主要源自于3个常用视频显著性数据集:LEDOVAVS1KDIEM

    1LEDOV。全称大规模视频眼动跟踪数据集(Large-scale Eye-tracking Database of Videos, LDEDOV),是一个规模较大的视频显著性预测公开数据集。该数据集包含YouTube视频网站下载的538段视频。这些视频总共可分为三个大类:a)动物,包含51小类,156段视频;b)人类,包含80个小类,260段视频;c)人造物,包含27个小类,122段视频。这些视频分辨率大小不固定,介于720P1080P之间,视频时长4-60秒之间。数据集的眼动点真实值由32个受试者参与,不带任务自由观看视频,使用Tobii TX300眼动仪系统采集得到。

    2DIEM。全称Dynamic Images and Eye Movements dataset,该数据集是一个常用的视频显著性预测公开数据集。该数据集包含从互联网上收集得到的84个视频,这些视频的帧数和分辨率大小各不相同,视频内容非常丰富,主要包含电影预告、纪录片、新闻、广告等。该数据集场景丰富,包含室内室外,白天黑夜等多种场景下数据。DIEM数据集视频时长相对较长,视频长度在0.5-3.3分钟之间。数据集的眼动点真实值由超过250个受试者(观察者)参与,不带任务自由观看视频,使用SR Research Eyelink 1000眼动仪系统采集得到。

    3AVS1K。是一个规模较大的无人机视频显著性预测公开数据集。该数据集主要是YouTube视频网站下载的无人机视频,并手工拆分为1000段视频。这些视频总共可分为四个大类:a)建筑物,240段视频;b)人类,210段视频;c)车辆,200段视频;d)其他350段视频。这些视频分辨率大小不固定,差异较大,视频时长约1-60秒。数据集的眼动点真实值由24个受试者参与,不带任务自由观看视频,使用SMI RED 500眼动仪系统采集得到。

    2.3数据集介绍

    本文视频裁剪数据集由从上述3个数据集1622段视频中选取300段包含不同类型和拍摄风格的视频组成。主要包含5个不同类型的视频,其中动物60段,人造物100段,人类110段,风景10段,其他20段。这些视频分辨率不固定,时长1.5秒到330秒之间,帧率20-60FPS之间,图7展示了一些本文数据集示例。

    1)人类相关,包含110段视频,主要内容为日常行为、社交、表演、新闻、体育、广告、演讲、影视等。日常行为包括:购物、走路、接电话、拍照、读书、做饭、吃饭喝水等;社交场景包括:开会、约会、聚会、舞会、交谈等;表演场景包括:跳舞、音乐、画画、cosplay,其他形式表演;新闻场景包括:新闻播报等;体育-运动场景包括:各种球类、田径、空中(跳伞、滑行)、地面(攀岩、爬山、滑雪、滑板)、水面(跳水、游泳,潜水、冲浪)、室内外(体操、瑜伽、倒立)等;演讲场景包括:网课、讲座、演讲等;影视场景包括:电视、电影、mv、剪辑等。

    2)人造物相关,包括100段视频,主要内容为建筑、交通工具、机器人、日常使用人造物等。建筑主要包括:中西建筑、别墅、公寓、办公楼、灯塔、桥梁、体育馆、雕像等;交通工具主要包括:客机、战斗机、直升机、无人机、轮船、小木船、帆船、游艇、皮艇、火车、地铁、汽车、摩托车、自行车、坦克等;机器人主要包括:机器人、机器狗、玩具等;日常使用人造物主要是:家具、工具、厨具等。

    3)动物相关,包括60段视频,内容为生活在空中、地面、水面/下等各类型动物,主要包含鸟类、地面动物(如猫、狗、狮子、老虎、马、猴子、熊猫等),水中动物(鱼、海豚、鲨鱼、企鹅等)等。

    4)风景相关,包含10段视频。其他包含风景的视频由于也包含如人类、人造物等,在本文数据集中被优先分为其他类型。整个数据集中有不同天气、季节的风景视频,主要包含江河湖海、山、沙漠、植物、雪、雨、雾、夜空等内容。

    5)其他,包含20段视频,主要内容为动画、游戏、监控视频、缩时摄影、文字广告等。

    8展示了本文数据集的其他方面统计结果,包括视频宽高比分布、主要目标数目情况、拍摄平台与视角、视频时长等方面。本文数据集主要视频宽高比为16:9,包含物体数目主要为1-3个,包含正常拍摄和无人机拍摄两种类似视频,大部分视频内容无场景切换,视频时长主要在30秒以内,大部分视频为平视和俯视。

    图8 本文数据集相关统计结果示例

    如图9所示,本文数据集主要包含2种标签信息:a)眼动数据,由于本文视频来源为显著性数据集,因此数据集中300段视频均包含眼动注视点数据和显著性密度图数据。b)本文还随机选取50段视频进行主观质量评价,因此可以提供本文方法和两种竞品方法裁剪结果的主观评分数据。

    图9 本文数据集标签数据示例

    3、裁剪模型

    3.1视频裁剪流程

    本文视频裁剪方法主要包含预处理、显著性预测模型、裁剪模型、后处理等4个部分,其主要流程如图10所示。算法以视频和给定裁剪宽高比作为输入,首先利用预处理算法进行黑边检测,然后利用显著性的方法进行视频主要内容分析,接着根据显著性预测结果进行视频框生成,最后利用后处理算法使得裁剪结果在时序上更加平滑,并保留裁剪视频和裁剪框位置。

    图10 视频裁剪流程示意图

    3.2预处理

    补充黑边是传统视频宽高比转换常见的方法之一,通过在视频的上下或左右区域补充零值,使得视频保持需要的宽高比。补充黑边的方式在有限的显示区域内引入无效值,将影响视频裁剪效果。因此,在进行显著性检测前,本文先通过黑边检测算法进行黑边检测和去除。本文的黑边检测算法原理简单:对视频帧逐行/列进行扫描,若行/列中大部分像素值与某个参考值一致,则认为该行/列存在黑边。具体来说:

    1)从视频帧上下左右四个方向进行扫描,以上黑边为例,计算前????=1行颜色平均值为参考值????_????????????;若仅检测黑边,参考值也可以认为设定为[0,0,0]

    2)依次计算每一行RGB相似值与参考值????_????????????的差异,计算差异超过阈值????_1的像素个数占该行(长度)的比例;

    3)判断该比例是否超过阈值????_2,若超过阈值,则认为大部分像素值与参考值一致,是黑边情况,黑边长度加1;否则不是黑边,终止上黑边搜索。

    4)依次进行四个方向黑边扫描,若某一方向黑边长度小于阈值????_3,则认为该方向黑边个数太少,不当做黑边处理;若某一方向黑边长度大于阈值????_4,则认为该方向黑边个数太多,该帧为黑色帧,选取下一帧进行黑边检测。

    3.2显著性模型

    人类在观察一个场景时,视觉系统会接收大量的视觉信号数据,但是人脑并不能同时处理这些信息,只会优先选择感兴趣区域处理。人类视觉系统不是对每个区域都有相同强度的注意力,而是有选择性地、快速地检测出场景中的显著区域,从而快速获取有价值的视觉信息,这种能力称为视觉注意力机制,这些能快速吸引人注意的部分区域被称为显著性区域。人类的视觉注意力机制可以帮助人类视觉系统聚焦在图像中蕴含重要信息的区域,同时降低图像中不相关区域信息的干扰,显著提升人眼视觉系统对于图像视频信息的处理效率。

    视觉显著性预测相关的工作主要基于特征整合理论(Feature Integration Theory, FIT),该研究认为来自视觉刺激的信号在大脑的不同区域同时被处理形成初步特征,从而产生多个特征图,这些特征在后续大脑视觉信号处理中被聚合起来以辅助对象识别。基于特征整合理论,传统的视频显著性方法主要是设计一些低层特征描述算子,如颜色、光照、形状、方向等,进行空间域显著性特征提取,然后利用光流法提取时间域运动信息。这些特征基于手工设计,表达能力有限,因此模型预测效果不够理想。

    此外,大部分显著性模型也对视觉行为中的中心偏向现象进行建模以提升模型性能。眼动跟踪研究表明,观察自然场景时,人眼注视点会偏向于落到场景中央区域,这被称为中心偏向现象。引起这种现象主要原因有:1)摄影师的偏好,摄影师在拍摄图像和视频时,更加偏向于把感兴趣的目标或区域放在其构图的中心附近,以便于观察者快速聚焦这些摄影师想突出的目标或区域。2)从生理上讲,中心偏向现象可能是由眼跳系统中的运动偏好引起的,即眼球更倾向于短距离眼跳(Short saccades)而不是长距离眼跳(Long saccades)。由于观察者的初始化观察位置是屏幕中央区域,因此这种偏向行为更加偏向于观看中心位置(图像/视频中间区域),而不是远离中心位置的边缘区域。

    基于传统方法特征整合思路,结合深度学习自动提取特征的优势,本文模仿人类视觉信号处理的腹侧流和背侧流,提出了一种基于时空双流网络的视频显著性预测模型,将显著性预测分为空间流网络(Spatial stream network)和时间流网络(Temporal stream network)两个通路分别处理,然后进行融合生成显著性预测结果,算法流程如图11所示。对于时间流网络,本文设计了一种结合深层2D CNN和浅层3D CNN的级联网络架构(Cascade network architecture)。首先利用显著性特征提取网络(Saliency Feature Network, SF-Net)对视频中每帧进行特征提取,为后续显著性预测提供显著性相关特征基础。在此基础上,时间显著性网络(Temporal saliency Network, Te-Net)用于提取和整合视频帧间运动相关信息,得到时间域显著图。SF-Net为深层2D CNN结构,Te-Net为浅层3D CNN结构。与深层3D CNN方法相比,这种级联架构具有更少的参数,可以节省计算资源,提高训练效率,同时降低对训练数据量的需求。空间流网络由显著性特征提取网络和空间显著性网络(Spatial saliency Network, Sp-Net)组成,在显著性相关特征基础上Sp-Net用于整合静态的帧内识别相关特征,如颜色、形状和边缘等,得到空间显著图。最后,使用融合网络(Fusion Network, Fu-Net)将时间和空间显著图组合起来并生成最终的显著图。此外,本文还设计了一种卷积高斯先验(Convolutional Gaussian Priors, CGP)层,用于学习和模拟人类视觉行为中的中心偏向现象,该模型可以自动学习如何根据不同特征添加不同的偏向信息,以提升模型性能。

    图11 显著性预测流程示意图

    3.3裁剪模型

    本文裁剪模型的主要思路是:裁剪后视频内容应尽可能完整或者更大范围包含原始视频的有效信息,减少因裁剪引起的信息损失。因此在算法设计时,需要裁剪框尽可能多的包含显著性区域。在显著性预测结果上,本文利用显著性结果的空间位置分布进行视频裁剪。如图12所示,裁剪模型具体算法如下

    1)根据输入视频大小和裁剪宽高比确定裁剪框大小和候选位置,简单的来说,若原始视频的宽高比大于裁剪视频,则候选框在水平方向移动即可,否则候选框在垂直方向移动。以图12情况为例,输入视频宽高比为16:9(横屏),裁剪视频宽高比为9:16(竖屏),则裁剪框只需要在水平方向移动,寻找最佳位置。

    2)将显著性预测结果在候选框方向投影,如图122列所示,将显著性结果在水平方向投影,得到对应蓝色曲线。

    3)将计算得到的候选框大小,在水平方向滑动,如图122列所示,计算每个滑窗内显著性结果积分,得到不同位置的裁剪框中显著性积分结果,如图123列。

    4)选择包含显著性值最多的框位置,作为该帧的裁剪位置。

    图12 裁剪模型流程示意图

    3.4后处理

    直接利用每一帧显著性结果进行裁剪得到的视频在时序上抖动明显,其主要原因有两点:1)基于卷积神经网络的显著性预测模型存在多个下采样过程,同时利用上采样将显著性结果缩放到原始视频大小,这种缩放在一定程度上会产生前后帧结果位置不一致,引起抖动;2)人眼在观看视频时存在正常的眼球震颤,训练集的眼动数据存在抖动,因此预测模型也存在显著性结果的抖动。本文采用后处理进行结果平滑,使得裁剪结果在时序上更加稳定。

    本文平滑处理的主要思路是:当裁剪框位置在前后帧移动范围较大时,则认为该视频片段运动剧烈,移动范围较小时,这认为该片段运动相对平稳,对于不同运动状态采取不同处理方式。对于运动明显场景,本文尽可能采用跟踪模式进行处理,对于运动较小场景,本文尽可能采用固定镜头方式处理,当目标运动出一定范围则移动镜头进行跟踪。

    如图13所示,横轴为帧数,纵轴为裁剪框位置值,蓝色线表示原始裁剪框在时序上的位置。对于原始裁剪结果,本文首先采用一维高斯滤波进行平滑处理,得到图中黄色线。连续帧在移动距离小于阈值,这将该视频段裁剪位置进行直线化处理,使得裁剪镜头固定,得到绿色线表示处理后结果。

    图13 后处理平滑结果示意图

    4、结果分析

    4.1裁剪结果示例


    如图14所示,对于不同类别(人造物、动物、人类)、不同光照条件、不同视角、目标不同速度与大小等情况均有较好的效果。图中白色评分为模型输出的完整评分,由裁剪窗口内显著性值除以整个视频显著性值得到,该分数可以在一定程度上反映视频是否适合该裁剪方案。

    图14 裁剪结果示例

    下面展示了更多视频裁剪结果,第一段包含人物,第二段包含人造物,最后两段为动物。

    4.2与其他方法对比


    下面视频展示了本文方法、竞品G竞品A三种方法的对比结果,由于本文方法基于显著性预测结果,无需进行目标检测,而竞品G竞品A的方法基于目标检测方法,当视频场景出现未知目标类型时会裁剪失败,因此在部分场景中本文方法效果更好。下面视频从左到右依次为本文方法、竞品G竞品A

    4.3主观实验对比

    为了更好的对比三种方法性能,本文在300段视频中随机选择50段,进行主观打分。实验通过第三方组织的21人进行打分,打分时先观看原始视频,然后分别观看三种方法结果进行打分。如图15所示,本文打分实验中,三种方法结果随机打乱,三种方法结果仅包含裁剪完成视频,不是叠加在原始视频的可视化结果。打分按照1-5分,其中1分表示最差情况,5分表示最好。打分主要参考以下方面(高分情况):裁剪内容合适,主要目标被完整保留;主要目标在时序上一直被稳定裁剪出来;裁剪后视频抖动情况应较小,裁剪后视频镜头切换应自然;视频黑边应该被裁剪出去。

    15主观打分视频示例

     

    图16展示了主观打分情况,本文方法平均分为3.9,竞品G平均分为2.6、竞品A平均分为3.4。本文方法和竞品A方法均在3-4分之间,主观感受相差不大,总体来说本文方法相对较好。竞品G由于检测类型较少,仅包含人物、宠物、车辆,因此效果较差。图16第1行第1列为21个人打分结果和平均分可视化,可以看出本文方法在不同人打分结果中均相对较好。图16第1行第2列为50段视频得分情况,可以看出本文方法对不同视频的裁剪结果得分相差较小,稳定在3-5分之间,而两个竞品对不同视频得分差异较大,部分视频可以很好裁剪,部分视频会裁剪失败。图16第2行表示三种方法在50段视频上打分统计情况,蓝色为本文方法,红色和黄色分别代表竞品G和竞品A。

    16 主观打分结果可视化

     

    4.4输出与耗时

    如图17所示,本文算法根据参数设置,可以输出4种类型结果:1)裁剪位置与得分;2)裁剪结果视频;3)裁剪结果叠加到原始视频可视化结果;4)显著性预测结果。如图17第1列所示,裁剪位置与得分文件包含每一帧裁剪框左上和右下坐标,以及每一帧完整性得分。

     17 模型输出示例

     

    本文在python和pytorch环境实现算法,实验硬件平台为:1)V100 GPU,显存32G;2)Intel(R) Xeon(R) Platinum 8255C CPU @ 2.50GHz,运存:48G。在不考虑读写情况下,显著性预测速度约1000FPS,裁剪速度约600FPS。在考虑读写情况下,保存4种输出约15FPS,仅保存框60FPS。

    五、总结

    本文提出了一种了基于显著性检测的横屏转竖屏视频裁剪方法。与两个竞品相比,本文方法在50段主观质量评价数据集上可以实现更好的效果。

    与竞品G和竞品A不同,由于本文方法基于显著性预测结果,对于未在训练集出现的视频类型也可以有很好的裁剪结果。此外本文算法具有较高的处理效率,在本文实验平台上,不考虑读写情况下,裁剪速度约600FPS;在考虑读写情况下,仅保存裁剪框约60FPS。

    本文也建立了一种裁剪质量评价数据集,提供三种方法的主观打分结果,用于裁剪结果质量评价与分析。

    目前,横屏转竖屏功能已经合入腾讯多媒体实验室的“智媒”内容生产服务平台。“智媒”平台通过深度学习与多模态(视频、图像、文本、音乐)技术实现多媒内容理解与生产功能。

    欢迎联系medialab@tencent.com进行横屏转竖屏功能的试用。

    作者:张考    宋美佳 

       编辑:李松南  Xinya 

    END

    备注:视频

    视频编辑与理解交流群

    扫码备注拉你入群。

    我爱计算机视觉

    微信号:aicvml

    QQ群:805388940

    微博知乎:@我爱计算机视觉

    投稿:amos@52cv.net

    网站:www.52cv.net

    在看,让更多人看到  

    展开全文
  • 视频编辑专家

    2015-04-03 14:37:54
    视频编辑专家是一款专业的视频编辑软件,包含视频合并专家、AVI MPEG视频合并专家 、视频分割专家、 视频截取专家 、RMVB视频合并专家的所有功能,是视频爱好者必备的工具!  功能简介  1.视频合并:把多个不同...
  • FFmpeg给mp4视频加上旋转90度的代码

    万次阅读 2016-03-01 21:22:01
    1、准备h264视频流。(这之前可能是yuv转成的视频流。) 2、准备aac音频流。...比如本来宽高比是720*1080,但是安卓和iphone手机拍出的视频的宽高却是1080*720,但是在metadata里标记了rotate=90。 当你从原

    1、准备h264视频流。(这之前可能是yuv转成的视频流。)

    2、准备aac音频流。

    3、开始muxer成mp4。


    一、如果初始视频是ios或者安卓手机拍摄的竖拍视频,那么这个视频是有90,180,270这样的旋转角度的。

    比如本来宽高比是720*1080,但是安卓和iphone手机拍出的视频的宽高却是1080*720,但是在metadata里标记了rotate=90。

    当你从原始的倒立视频中折腾出yuv,它确是倒立的。


    二、yuv转为h264视频流。


    三、合并h264和aac进入mp4容器。在这个地方,就需要把rotate的90度写入视频。因为是新手,不是很熟悉ffmpeg,所以弄了有几天。网上没有这部分答案。

    其实是写在差不多类似下面的代码:

    for (i = 0; i < ifmt_ctx_v->nb_streams; i++) {
            //Create output AVStream according to input AVStream
            if(ifmt_ctx_v->streams[i]->codec->codec_type==AVMEDIA_TYPE_VIDEO){
                AVStream *in_stream = ifmt_ctx_v->streams[i];
                AVStream *out_stream = avformat_new_stream(ofmt_ctx, in_stream->codec->codec);
                videoindex_v=i;
                if (!out_stream) {
                    printf( "Failed allocating output stream\n");
                    ret = AVERROR_UNKNOWN;
                    goto end;
                }
                videoindex_out=out_stream->index;
                //Copy the settings of AVCodecContext
                ret = av_dict_set(&out_stream->metadata,"rotate","90",0); //设置旋转角度
                if(ret>=0)
                {
                    printf("=========yes=====set rotate success!===\n");
                }
                
                if (avcodec_copy_context(out_stream->codec, in_stream->codec) < 0) {
                    printf( "Failed to copy context from input to output stream codec context\n");
                    goto end;
                }
                out_stream->codec->codec_tag = 0;
                if (ofmt_ctx->oformat->flags & AVFMT_GLOBALHEADER)
                    out_stream->codec->flags |= CODEC_FLAG_GLOBAL_HEADER;
                break;
            }
        }
    

    AVMEDIA_TYPE_VIDEO 判断是视频流,然后申请out_stream,它是AVStream结构。里面就有mateData,所以可以写进去了。
    给每一帧写入:
    ret = av_dict_set(&out_stream->metadata,"rotate","90",0); //设置旋转角度

    
    

    这样就ok了!

    看最后dump视频的信息:

    Output #0, mp4, to '/var/mobile/Containers/Data/Application/5B1DE047-A88C-48C2-B89A-FB5B57381A95/Documents/video/success.mp4':

        Stream #0:0: Video: h264, yuv420p, 1920x1080, q=2-31, 50 tbc

        Metadata:

          rotate          : 90

        Stream #0:1: Audio: aac, 44100 Hz, mono, fltp, 67 kb/s


    已经把rotate写进去了。



    展开全文
  • 之前的文章讲到半屏录制小视频,不过微信不已经全屏了么,我们的项目也要与时俱进不是。在仿微信全屏录制的过程中,有两点需要注意的地方: ...经过测试发现,手机支持的预览尺寸里还是有很接近屏幕宽高比的,这也可能

          之前的文章讲到半屏录制小视频,不过微信不已经全屏了么,我们的项目也要与时俱进不是。在仿微信全屏录制的过程中,有两点需要注意的地方:

         1.camera的预览大小设置

         这个依然采取以前的策略,在支持的预览大小中,选择与当前屏幕宽高比最相近的一个preViewSize,保证surfaceView中画面不会太失真。经过测试发现,手机支持的预览尺寸里还是有很接近屏幕宽高比的,这也可能是机子在设计之初就考虑到了全屏的情况了。

      

         2.录制完结束后,使用mediaPlayer循环播放,直至用户选择确定按钮。

         这里需要注意的地方是,录制结束后,要释放资源,尤其是surfaceHolder。MediaRecorder与camer先后释放出holder后,将其交给MediaPlayer,这样就可以播放了。如果需要重新录制,MediaPlayer释放holder,camera获取即可。

     /**
         * 停止录制:异常返回false
         */
        public boolean stopRecorderVideo() {
    
            handler.removeCallbacks(mTimestampRunnable);
            endTime = System.currentTimeMillis();
    
            if (recorder == null || !isRunning) {
                return false;
            }
    
            try {
                //避免录制过短崩溃
                recorder.setOnErrorListener(null);
                recorder.setPreviewDisplay(null);
                recorder.stop();
                recorder.reset();
                //释放资源
                recorder.release();
                recorder = null;
    
                camera.stopPreview();
                camera.setPreviewDisplay(null);
                isRunning = false;
    
                iVideoRecorder.videoRecordStop(getVideoFilePath(), getVideoFileLongTime(), getVideoSyncFrame());
    
    
            } catch (Exception e) {
                e.printStackTrace();
                iVideoRecorder.videoRecordError();
                return false;
            }
            return true;
        }
     

            这里需要注意的是:camera释放holder时,需要停止预览,否则有的手机会黑屏,无法交接holder了。


         另外在camera开发的过程中,容易报:Camera is being used after Camera.release(),需要在释放资源前,surfaceHolder.removeCallback(this).如果camera设置了PreviewCallback,在释放时,设置为空,以免报错。

          

     






    展开全文
  • 步骤二:首先在界面中间偏左的位置找到“更改项目宽高比”按钮,鼠标左键单击,然后在下拉菜单里找到9:16的手机预设,单击它把当前项目更改为9:16的宽高比。 图二:把当前项目修改为9:16的宽..
  • 灵活的影像设定视频编码器,帧速率,分辨率,宽高比视频比特率。调整像音频编码器,采样率,通道和音频比特率音频设置,优化的音频效果。 友好的用户体验和批量转换 查看超直观的界面,即使是初学者必须掌握你要...
  • 手机屏幕——分辨率

    2012-11-02 10:03:53
    VGA(Video Graphics Array)即视频图形阵列,是IBM在1987年随PS/2机一起推出的一种视频传输标准,...即VGA(640*480)的一半,分辨率为(480*320),(3:2宽高比) QVGA 240*320分辨率版本:一般用于小屏手机 像三星盖世Mini
  • 视频通话问题总结

    千次阅读 2015-05-07 22:29:13
    加之 手机横屏的宽高比太诡异,然后又参考了一些Android的拍照app,这种虚拟键的 横屏之后虚拟键还是在竖屏底部,即原来的位置。 so 大众的横竖屏解决方案,应该是强制竖屏,但是按钮可以根据屏幕旋转来转动。也就是...
  • 录制视频(Surfaceview+MediaRecorder)

    千次阅读 2017-01-10 15:24:11
    这个是自己写的录制视频,为了简单,全写在一个Activity中,可以切换照相机,没有带聚焦,需要聚焦自己写个OnTouch即可。在我的测试机上跑起来...我的思路是获取手机屏幕尺寸,等到/ 比如1280/720 或者1920/10
  • ●多重播放选项:自动旋转,宽高比,屏幕锁定等。 ●适用于 Android 平板电脑和 Android 手机视频播放器高清。 全格式视频播放器 播放所有格式的视频,包括MKV,MP4,M4V,AVI,MOV,3GP,FLV,WMV,RMVB,TS等。...
  • 设置视频编解码器,分辨率,大小,比特率,帧速率,宽高比;载音频编解码器,采样率,比特率,声道,音量等。 转换视频到音频或音频转换为其他音频格式 除了作为一个功能强大的视频文件转换器,iDealshare视频GO也是...
  • ffmpeg获取视频旋转角度,这个主要是在ios或者安卓手机拍照出来的视频,一般是高比宽大。 那么在我们自己用ffmpeg处理视频的时候,比如获取YUV的时候,其实倒立着的。即使你以后处理了,比如做水印什么,估计就做的...
  • 添加摄像机、 Xbox 一/PS4、 智能手机、 IPTV、 视频屏幕录制功能捕捉卡和其他外围设备。 视频录制工件 Bandicam v2.3.1.840 支持 H.264 防火系列 CPU 编码 添加"关闭托盘通知"选项 后安装软件来打开将"英特尔...
  • Android学习十 多媒体

    2017-05-24 21:55:06
    本篇介绍Android中的多媒体,主要包括图形处理的一些方法,播放音频,播放视频三部分,...基本的思路就是分别获取手机宽高、图片的宽高,然后用图片的宽高除以手机宽高获得缩放,根据缩放展示图片。以下是具
  • 高),手机窗口一般是竖向的(不考虑旋转横置的情况),所以比较时将输出尺寸的 宽高比 与 预览窗口的 高宽比 进行比较。 录制视频的时候,为了预览和播放效果好(充满窗口),可以选择宽高比与预览窗...
  • YouCut Pro 130073.apk

    2019-04-13 19:57:08
    更改视频宽高比 以任何宽高比(如1:1,16:9,3:2等)调整视频。 更改视频背景 1. 更改视频的背景颜色。 2.白色背景最能融入Instagram等社交媒体应用。 3.黑色背景让您的视频感觉像是专业电影。 4.不喜欢扁平的颜色...
  • 如上代码片段,在js里各项参数传入的是类似于json格式。后面参数除数字外都是字符串格式(带双引号) ... 设定视频宽高比 支持的值:16:9,24:10,4:3; autostart: 视频自动播放(在手机上不支持设置能否自动...
  • BYPlayer

    2019-09-16 13:05:08
    - 支持几乎所有视频格式avi、flv、m3u8、3gp、RTMP、RTSP、MKV、rmvb、wmv、mp4、mov等 - 全硬件加速支持,可实现更快,极速的高清视频播放。...- 支持自动旋转,宽高比调整。 - 支持字幕播放,支持播放在线流...
  • ●多种播放选项:自动旋转,宽高比,屏幕锁定等。 ●适用于android平板电脑和android手机视频播放器hd。 全格式视频播放器 播放所有格式的视频,包括MKV,MP4,M4V,AVI,MOV,3GP,FLV,WMV,RMVB,TS等。 ...
  • 本人python爱好者,用django搭了个博客,播放视频用的videojs,他自带个fullscreen功能,但只是简单的按固定宽高比填充,pc端这样没问题,手机端的浏览器就无法自动横屏填充,只能开启手机的自动横屏,但陀螺仪那个...
  • 由quadplay✜幻想控制台现在处于公开测试,用于创建和玩视频游戏。 平台类 ...60 fps @ 384 x 224像素= 12:7宽高比≈16:9.3 4096 sRGB(4:4:4)颜色 四个具有D-pad虚拟控制和八个按钮的播放器 本
  • ✓录制或捕捉屏幕时,您可以轻松隐藏无框视频的录制窗口,将宽高比更改为宽屏,垂直或方形。 ✓这是一个稳定的屏幕录像机,可以录制任何应用程序的教程和捕获屏幕视频。 ✓只需轻轻一按即可开始录制带声音的手机上的...
  • V Recorder Editor 2.7.2.apk

    2019-04-11 17:14:30
    您可以在录制或捕获屏幕时轻松隐藏无框视频的录制窗口,将宽高比更改为宽屏,垂直或方形。 它是一个稳定的屏幕录像机,可以录制任何应用程序的教程和捕获屏幕视频 只需轻轻一按即可开始录制带声音的手机上的所有内容...
  • ✓您可以在录制或捕获屏幕时轻松隐藏无帧视频的录制窗口,将宽高比更改为宽屏,垂直或正方形。 ✓这是一款稳定的屏幕录像机,可让您记录任何应用程序的教程并捕获屏幕视频。 ✓只需一键即可开始在手机上录制所有...
  • 注意,在实际开发中,由于Android手机碎片化比较严重,分辨率太多了,建议灵活设置布局的宽高比为4:3或者16:9或者你认为合适的,可以用代码设置。 如果宽高比变形,则会有黑边 <org.yczbj.ycvideoplayerlib....
  • ● WMV视频导出功能增加了PDA常用的WMV 16:9屏幕转换配置文件,现在只需从程序安装路径的WMV配置文件保存目录里直接选取配置文件即可,免除自己设定的烦恼。 ● 全方位错误大修正:修正了修改按钮的显示错误;修正...
  • 11.起VT新增了音乐模块、取消了原来的背景音乐。 12.商城模块产品介绍支持增加多图,图片750为宜。 使用方法 将程序上传至ASP空间 闪灵Flash网站X系列环境要求 200M及以上空间 支持ASP环境 支持aspjpeg...
  • MusicPod V1.73.zip

    2019-07-08 20:14:08
    MusicPod是一个性能多用途的应用程序(声音管理器 音乐播放器 音频转换器),用来管理、播放和转换成吨的音频文件,可以处理范围的不同格式,能将CDA (CD) RA MP1 MP2 OGG WMA MP3 WAV (PCM, Creative/ MS/ ...
  • 如何制作微课.doc

    2019-06-20 11:04:51
    表现亲和力插图要照片好,表现专业性照片要插图好。 (3)图片合适 表现力最强的图片:脸部图片。适合表现主题,不适合做背景。 表现力最弱的图片:云海。适合做背景,不适合做主题。 视觉3B原则:Beauty(美女)...

空空如也

空空如也

1 2
收藏数 39
精华内容 15
关键字:

手机视频宽高比