CN116055861A - 一种视频编辑方法和电子设备 - Google Patents

一种视频编辑方法和电子设备 Download PDF

Info

Publication number
CN116055861A
CN116055861A CN202210603653.3A CN202210603653A CN116055861A CN 116055861 A CN116055861 A CN 116055861A CN 202210603653 A CN202210603653 A CN 202210603653A CN 116055861 A CN116055861 A CN 116055861A
Authority
CN
China
Prior art keywords
image
video
close
terminal
principal angle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210603653.3A
Other languages
English (en)
Other versions
CN116055861B (zh
Inventor
韩钰卓
朱世宇
张志超
代秋平
张农
杜远超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202210603653.3A priority Critical patent/CN116055861B/zh
Priority to PCT/CN2023/089100 priority patent/WO2023231622A1/zh
Publication of CN116055861A publication Critical patent/CN116055861A/zh
Application granted granted Critical
Publication of CN116055861B publication Critical patent/CN116055861B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72439User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for image or video messaging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Studio Devices (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请提供了一种视频编辑方法。该方法可应用在手机、平板电脑等终端设备上。实施上述方法,上述终端设备可以在录制视频的同时对视频进行裁剪,生成以视频主角为中心的特写视频,并保存上述特写视频。此外,终端设备还可以对本地保存的视频进行裁剪,同样生成并保存以视频主角为中心的特写视频。这样,无论是正在录像的过程中,或者对于已录制的视频,用户均可以设定拍摄主角,并得到以主角为中心的特写视频,以满足用户个性化的使用需求。

Description

一种视频编辑方法和电子设备
技术领域
本申请涉及终端领域,尤其涉及一种视频编辑方法和电子设备。
背景技术
现在,手机等支持拍摄视频的终端设备可以实现自动追踪的拍摄模式。在录制视频时,终端设备可以接收用户选中的主角。然后,终端设备可以在后续录制视频的过程中,始终跟随该主角,并得到视频中心始终为上述被选中主角的特写视频。
发明内容
本申请提供了视频编辑方法和电子设备,针对摄像头当前采集的图像或本地视频中的图像,用户可以选定图像中的一个对象为主角,电子设备可以对上述图像中的主角进行自动追踪,录制并保存主角的特写视频。
第一方面,本申请提供了一种视频编辑方法,应用于电子设备,其特征在于,所述方法包括:在第一界面中显示第一图像以及第一图像关联的一个或多个标记;第一图像包括一个或多个对象,第一图像关联的一个或多个标记分别与第一图像中的一个或多个对象对应;第一图像为电子设备的摄像头当前采集的图像,或电子设备存储的第一视频中的一帧图像;检测到作用于第一标记的第一操作;响应于第一操作,确定第一对象为主角,获取以主角为中心的特写图像;第一图像关联的一个或多个标记包括第一标记,第一图像中的一个或多个对象包括第一对象,第一标记对应第一对象;基于以主角为中心的特写图像,生成以主角为中心的第二视频。
实施本申请实施例,用户可以选定摄像头采集的图像中的一个对象为主角;在录制摄像头采集的原始视频时,电子设备可以针对摄像头采集的图像序列中的主角进行自动追踪,录制主角的特写视频。电子设备可以显示用户选择的本地视频,用户可以选定本地视频的一帧图像中的一个对象为主角;电子设备可以对本地视频中上述一帧图像及之后的图像中的主角进行自动追踪,录制并保存主角的特写视频。
在一种实现方式中,在确定第一对象为主角之后,还包括:在第一界面中显示第二图像和第二图像关联的一个或多个标记,第二图像包括一个或多个对象,第二图像关联的一个或多个标记分别与第二图像中的一个或多个对象对应;第二图像为电子设备的摄像头采集的第一图像之后的图像,或第一视频中第一图像之后的一帧图像;检测到作用于第二标记的第五操作;响应于第五操作,将主角切换为第二对象,第二图像关联的一个或多个标记包括第二标记,第二图像中的一个或多个对象包括第二对象,第二标记对应第二对象;所述获取以主角为中心的特写图像,包括:根据第一图像至第二图像之间包括第一对象的图像,生成以第一对象为中心的特写图像,根据第二图像及其之后的图像,生成以第二对象为中心的特写图像;第二视频包括第一子视频和第二子视频,第一子视频是基于以第一对象为中心的特写图像生成的视频,第二子视频是基于以第二对象为中心的特写图像生成的视频。实施本申请实施例,在录制原始视频过程中,在录制、暂停录制或停止录制第一对象的特写视频时,电子设备还可基于摄像头采集的图像确定新主角,例如将主角由第一对象切换为第二对象,进而录制第二对象的特写视频。电子设备显示本地视频时,用户还可以选定本地视频的另一帧图像中的另一个对象为新主角,例如将主角由第一对象切换为第二对象;电子设备可以对本地视频中上述另一帧图像及之后的图像中的主角进行自动追踪,进而录制第二对象的特写视频。本申请中,电子设备可以分别保存第一对象的特写视频和第二对象的特写视频,也可以将第一对象的特写视频和第二对象的特写视频合为一个视频进行保存。
在一种实现方式中,所述获取以主角为中心的特写图像,具体为:根据第一视频中的第一图像至最后一帧图像中包括第一对象的图像,生成以第一对象为中心的特写图像。实施本申请实施例,针对本地视频,可以录制仅以一个对象为主角的特写视频。
在一种实现方式中,当第二图像为第一视频中第一图像之后的一帧图像时,在第一界面显示第一图像以及第一图像关联的一个或多个标记之前,所述方法还包括:显示第一视频的缩略图;检测到作用于第一视频的缩略图的第二操作;所述在第一界面显示第一图像以及第一图像关联的一个或多个标记,包括:响应于第二操作,在第一界面显示第一视频的第一帧图像,以及与第一帧图像中一个或多个对象对应的一个或多个标记,第一图像为第一帧图像。实施本申请实施例,用户通过电子设备的特定应用(例如图库)中显示的本地视频的缩略图,可以触发电子设备显示用于播放本地视频的第一界面;在第一界面显示本地视频的第一帧图像时,无需用户操作,即可以自动显示图像中的各对象对应的标记,以供用户选择主角。
在一种实现方式中,当第二图像为第一视频中第一图像之后的一帧图像时,在第一界面显示第一图像以及第一图像关联的一个或多个标记之前,所述方法还包括:在第一界面显示第一视频的第一帧图像和第一控件;检测到作用于第一控件的第三操作;响应于第三操作,播放第一视频;在第一界面显示第一图像以及第一图像关联的一个或多个标记,包括:当第一视频播放到第M帧图像时,在第一界面显示上述第M帧图像,以及上述第M帧图像关联的一个或多个标记。实施本申请实施例,第一界面显示本地视频中的图像时,用户通过指定操作才能触发电子设备显示图像中的各对象对应的标记。这样,无需对本地视频的每一帧图像进行对象识别,节省了对象识别的功耗。
在一种实现方式中,所述当第一视频播放到第M帧图像时,在第一界面显示上述第M 帧图像,以及上述第M帧图像关联的一个或多个标记,包括:当第一视频播放到第M帧图像时,检测到作用于第一控件的第四操作;响应于第四操作,暂停播放第一视频,显示当前播放到的第M帧图像;响应于暂停播放的操作,在上述第M帧图像上显示上述第M帧图像关联的一个或多个标记。实施本申请实施例,本地视频暂停播放时,针对本地视频当前显示的图像,电子设备才显示图像中的各对象对应的标记。这样,无需对本地视频的每一帧图像进行对象识别,节省了对象识别的功耗。
在一种实现方式中,第一界面还包括第二控件,所述基于以主角为中心的特写图像,生成以主角为中心的第二视频,包括:检测到作用于第二控件的第六操作;响应于第六操作,基于以主角为中心的特写图像,生成以主角为中心的第二视频。实施本申请实施例,录制主角的特写视频的过程中,用户可以通过预设操作控制电子设备停止录制特写视频。
在一种实现方式中,当第一图像为电子设备的摄像头当前采集的图像时,第二控件为用于停止录像的控件。实施本申请实施例,录制视频的第一界面包括用于停止录像的控件,录制主角的特写视频的过程中,用户通过上述控件可以控制电子设备停止录制特写视频。
在一种实现方式中,所述方法还包括:响应于第六操作,摄像头停止采集图像,基于摄像头已采集的图像生成并保存原始视频。实施本申请实施例,用户通过预设操作控制电子设备停止录制原始视频时,电子设备也自动停止录制主角的特写视频时。
在一种实现方式中,在确定第一对象为主角之后,所述方法还包括:显示第一窗口,在第一窗口中显示以主角为中心的特写图像。实施本申请实施例,录制主角的特写视频时,通过第一窗口,用户可以实时预览主角的特写视频的录制进程。
在一种实现方式中,当第一图像为电子设备的摄像头当前采集的图像时,所述方法还包括:检测到第一触发条件,第一触发条件为第一图像之后的连续的Y帧图像中不包括主角;所述基于以主角为中心的特写图像,生成以主角为中心的第二视频,具体为:响应于第一触发条件,基于以主角为中心的特写图像,生成以主角为中心的第二视频。实施本申请实施例,检测到摄像头连续采集的Y帧图像均不包括用户选定的主角时,判断主角脱离摄像头的拍摄范围,电子设备停止录制主角的特写视频。
在一种实现方式中,所述根据第一图像至第二图像之间包括第一对象的图像,生成以第一对象为中心的特写图像,包括:从第一图像中获取以第一对象为中心的第一特写图像;从第三图像中获取以第一对象为中心的第三特写图像;第三图像是第一图像之后、第二图像之前的图像;第二视频包括第一特写图像和第二特写图像。实施本申请实施例,可以定位摄像头采集的图像或本地视频的图像中的主角,获取上述图像中的主角的特写图像,进而录制特写图像生成特写视频。
在一种实现方式中,在从第三图像中获取以第一对象为中心的第三特写图像之前,所述方法还包括:确定第三图像中是否包括第一对象;所述从第三图像中获取以第一对象为中心的第三特写图像,具体为:当第三图像中包括第一对象时,从第三图像中获取以第一对象为中心的第三特写图像。实施本申请实施例,可以定位摄像头采集的图像或本地视频的图像中的主角,裁剪上述图像获取以主角为中心的特写图像。
在一种实现方式中,所述确定第三图像中包括第一对象,包括:利用人体检测算法识别第三图像中的人体图像区域;当第三图像中的人体图像区域不重叠时,计算第三图像中的各个人体图像区域与第一图像中主角的人体图像区域的交并比IoU距离;确定IoU距离最小且满足IoU距离阈值的第一人体图像区域;第一人体图像区域对应的对象为主角;当第三图像中的人体图像区域重叠时,计算第三图像中的各个人体图像区域与第一图像中主角的人体图像区域的IoU距离和重定位ReID距离;确定IoU距离与ReID距离的和最小且满足IoU+ReID 距离阈值的第一人体图像区域;第一人体图像区域对应的对象为主角。实施本申请实施例,通过图像中各对象的IoU距离和ReID距离,可以准确识别主角的人体图像区域。
在一种实现方式中,所述从第三图像中获取以主角的为中心的第三特写图像,具体包括:基于第一人体图像区域确定包括第一人体图像区域的第三特写图像。实施本申请实施例,识别图像中主角的人体图像区域后,可以基于该人体图像区域对图像进行裁剪,获取裁剪后的主角的特写图像。
在一种实现方式中,所述基于第一人体图像区域确定包括第一人体图像区域的第三特写图像,具体包括:根据第一人体图像区域确定第一缩放比;基于第一缩放比确定第三特写图像的尺寸。实施本申请实施例,缩放比用于反映原始图像中的主角的大小,基于缩放比确定的主角的特写图像的尺寸,可以适应用于显示特写图像的小窗口,从而避免小窗口显示特写图像时发生图像变形的问题。
在一种实现方式中,所述根据第一人体图像区域确定第一缩放比,具体包括:根据第三图像中的最大的人体图像区域的尺寸和第一人体图像区域的尺寸,确定第一缩放比。实施本申请实施例,可以基于摄像头采集的各图像或本地视频显示的各图像中主角的人体图像区域的尺寸,实时调整缩放比。
在一种实现方式中,所述基于第一缩放比确定第三特写图像的尺寸,具体包括:根据第一缩放比、预设的第二视频的尺寸,确定第三特写图像的尺寸。实施本申请实施例,可以基于摄像头采集的各图像或本地视频的各图像对应的缩放比,以及特写视频的尺寸,实时调整从上述各图像中裁剪出的特写图像的尺寸,以保证特写图像可以适应用于显示特写图像的小窗口。
在一种实现方式中,第三特写图像的宽高比与预设的第二视频的宽高比相同。实施本申请实施例,保证了特写图像可以适应用于显示特写图像的小窗口,从而避免小窗口显示特写图像时发生图像变形的问题。
第二方面,本申请提供了一种电子设备,包括一个或多个处理器和一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行上述第一方面任一项可能的实现方式中的视频编辑方法。
第三方面,本申请实施例提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第一方面任一项可能的实现方式中的视频编辑方法。
第四方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述第一方面任一项可能的实现方式中的视频编辑方法。
附图说明
图1A-图1M、图1O-图1P是本申请实施例提供的一组主角模式拍摄方法的用户界面示意图;
图1N是本申请实施例提供的一种终端100在拍摄场景下保存已拍摄特写视频的示意图;
图2A-图2B、图2D-图2E是本申请实施例提供的一组主角模式拍摄方法的用户界面示意图;
图2C是本申请实施例提供的一种终端100在拍摄场景下保存已拍摄特写视频的示意图;
图3A-图3C是本申请实施例提供的一组主角模式拍摄方法的用户界面示意图;
图4A-图4H是本申请实施例提供的一组主角模式拍摄方法的用户界面示意图;
图5A、图5B-1~图5B-4、图5C-图5E是本申请实施例提供的一组主角模式拍摄方法的用户界面示意图;
图6是本申请实施例提供的终端100在拍摄场景下编辑并生成特写视频的流程图;
图7A是本申请实施例提供的终端100执行对象识别与标记的流程图;
图7B是本申请实施例提供的终端100确定图像中的人脸图像和人体图像的示意图;
图7C是本申请实施例提供的终端100确定选择框的显示位置的示意图;
图8A是本申请实施例提供的终端100确定以主角为中心的特写图像的流程图;
图8B是本申请实施例提供的终端100确定特写图像的尺寸的流程图;
图8C-图8D是本申请实施例提供的终端100对特写图像进行自适应调整以适应窗口展示的示意图;
图9是本申请实施例提供的终端100定位在后图像帧中主角的流程图;
图10A是本申请实施例提供的多对象场景下对象不重叠的一帧图像;
图10B是本申请实施例提供的多对象场景下对象重叠的一帧图像;
图10C-图10D是本申请实施例提供的终端100利用IoU位置定位主角的示意图;
图11是本申请实施例提供的终端100确定图像中主角的ReID距离示意图;
图12A是本申请实施例提供的另一种终端100定位在后图像帧中主角的流程图;
图12B是本申请实施例提供的另一种终端100在拍摄场景下编辑并生成特写视频的流程图;
图13是本申请实施例提供的终端100在编辑本地视频的场景下生成特写视频的流程图;
图14是本申请实施例提供的终端100的系统结构示意图;
图15是本申请实施例提供的终端100的硬件结构示意图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。
在本申请提供的一种实施例中,手机、平板电脑等具备拍摄和图像处理功能的终端设备 (记为终端100,后续统一使用终端100指代上述终端设备)可以在多对象场景中,识别图像中的多个对象,并自动追踪用户指定的对象,生成并保存该对象的特写视频。同时,终端 100还可保存原始视频。
其中,原始视频是由摄像头采集的原始图像组成的。特写视频是在原始图像的基础上,以原始图像中的主角为中心裁剪得到的。特写视频即始终以主角为拍摄中心的视频。这样,在选定主角之后,用户既可以拍得以主角为中心的特写视频,又可以同时得到由原始的摄像头采集的原始图像组成的原始视频。
进一步的,终端100还可识别本地视频中包括的对象,然后根据用户的选择操作,确定该视频的主角。在确定主角之后,终端100也可对上述本地视频进行提取主角特写视频的编辑操作,从而得到始终以主角为拍摄中心的特写视频。
不限于手机、平板电脑,终端100还可以是桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmentedreality, AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificialintelligence,AI)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备,本申请实施例对该终端的具体类型不作特殊限制。
下面具体介绍终端100实施本申请实施例提供的视频编辑方法的用户示意图。
首先,图1A示例性示出了终端100启用摄像头执行拍摄动作的用户界面101。
如图1A所示,用户界面101可包括模式栏111、拍摄控件112、预览窗113、回看控件114、转换控件115。
模式栏111中可显示有多个拍摄模式选项,例如夜景、录像、拍照、人像等拍摄模式。夜景模式可用于光线较暗的场景下拍摄照片,例如夜晚拍摄照片。录像模式可用于录制视频。拍照模式可用于日光场景下拍摄照片。人像模式可用于拍摄人物特写照片。在本申请实施例中,模式栏111还包括主角模式。主角模式对应本申请实施例提供的拍摄方法:在拍摄视频的过程中,确定并自动追踪视频中的主角,保存原始视频和以主角为拍摄中心的主角特写视频。
拍摄控件112可用于接收用户的拍摄操作。在拍照场景下(包括拍照模式、人像模式、夜景模式),上述拍摄操作即作用于拍摄控件112的控制拍照的操作。在录制视频的场景下(录像模式),上述拍摄操作包括作用于拍摄控件112的开始录制的操作。
预览窗113可用于实时地显示摄像头采集的图像帧序列。预览窗113中显示图像可称为原始图像。在一些实施例中,预览窗113中显示的是经过下采样处理的图像帧序列。此时,预览窗113中显示的图像对应的未经下采样处理的图像帧序列可称为原始图像。
回看控件114可用于查看前一次拍摄的照片或视频。一般的,回看控件114可显示前一次拍摄的照片的缩略图或前一次拍摄的视频的首帧图像的缩略图。
用户界面101还可包括设置栏116。设置栏116中可显示有多个设置控件。一个设置控件用于设置摄像头的一类参数,从而改变摄像头采集到的图像。例如,设置栏116可显示有光圈1161、闪光灯1162、滤镜1164等设置控件。光圈1161可用于调整摄像头光圈大小,从而改变摄像头采集到的图像的画面亮度;闪光灯1162可用于开启或关闭闪光灯,从而改变摄像头采集到的图像的画面亮度;滤镜1164可用于选择滤镜风格,进而调整图像色彩。设置栏 116还可包括更多设置控件1165。更多设置控件1165可用于提供更多的用于调整摄像头拍摄参数或图像优化参数的控件,例如白平衡控件、ISO控件、美颜控件、美体控件等等,从而为用户提供更丰富的拍摄服务。
默认的,在启用摄像头拍摄时,终端100可首先选择拍照模式,参考用户界面101。在此过程中,终端100可检测到作用于模式栏111选择主角模式的用户操作,例如图1A所示的点击主角拍摄模式选项的操作,又或者滑动模式栏111选择主角拍摄模式选项的操作等。响应于上述操作,终端100可确定开启主角模式进行拍摄。
图1B示例性示出了终端100在主角模式下进行拍摄的用户界面102。
在选择主角模式之后,终端100可对摄像头采集的图像进行图像内容识别(对象识别),识别该图像中包括的对象。上述对象包括但不限于人、动物、植物。本申请实施例后续主要以人物为例进行说明。在终端100在预览窗113中显示摄像头采集的图像的同时,终端100 还可在识别到的各个对象上显示选择框。
参考用户界面102,某一时刻摄像头采集的图像中包括人物1、人物2、人物3。终端100 在接收到摄像头采集并生成的上述图像之后,在显示上述图像之前,可利用预设的对象识别算法识别图像中包括的对象。这里,对象识别算法可以包括人脸识别算法、人体识别算法。这时,利用上述对象识别算法,终端100可识别到上述图像中包括人物1、人物2、人物3这 3个对象。
当然,在一些示例中,不限于上述用户界面102中介绍的人物1、2、3,终端100还支持识别动物、植物类型的对象。相应的,上述对象识别算法还包括针对一种或多种动物的识别算法,以及针对一种或多种植物的识别算法,本申请实施例对此不作限制。
一方面,终端100可在预览窗113中显示上述包括人物1、人物2、人物3的图像。另一方面,在显示上述图像之前,终端100可以确定与上述各个对象对应的选择框。在显示上述图像时,终端100可显示与各个对象对应的选择框,例如对应人物1的选择框121、对应人物2的选择框122、对应人物3的选择框123。这时,用户可以通过上述选择框确认视频主角。
同时,用户界面102还可显示提示语125,例如“请点击主角人物,开启自动追焦录像”。提示语125提示用户确定视频主角。根据提示语125的提示,用户可点击上述选择框中的任意一个。用户点击操作作用于的选择框对应的对象即用户确定的视频主角。
用户界面102(主角模式拍摄界面)还可包括焦距控件126、美颜控件127。焦距控件126 可用于设置摄像头的焦距,以调整摄像头的取景范围。摄像头的取景范围变化时,预览窗中显示的图像会相应地变化。美颜控件127可用于调整图像中的人物的人脸图像。当检测作用于美颜控件127的用户操作之后,终端100可对图像中的人物进行美颜处理,并在预览窗中显示美颜处理后的图像。用户界面102还可显示有其他拍摄控件,这里不再一一例举。
在显示图1B所示的用户界面102时,终端100可检测到作用于任一选择框的用户操作。响应于上述操作,终端100可确定上述选择框对应的对象为主角。例如,参考图1C所示的用户界面103,终端100可检测到作用于选择框123的用户操作。响应于上述操作,终端100可确定选择框123对应的人物3为拍摄主角。
随后,终端100可在预览窗113中以画中画的形式显示一个小窗,并在该小窗中显示人物3的特写图像。上述特写图像是指在摄像头采集的原始图像(预览窗中显示的图像)的基础上,以选定的主角为中心进行裁剪,得到的图像。
图1D示例性示出了终端100显示小窗并在小窗中显示人物3的特写图像的用户界面104。
如图1D所示,用户界面104的预览窗113中可包括小窗141。此时,小窗141中可显示人物3的特写图像。随着预览窗113中显示的图像的变化,小窗141中显示的图像也会相应的变化。并且,小窗141中显示的始终为以人物3为中心的图像。这样,小窗141中显示的图像所构成的视频即人物3的特写视频。
可选的,小窗141中显示的特写图像与预览窗113中显示的原始图像还可来自不同的摄像头。例如,小窗141中显示的特写图像可以来自于普通摄像头采集的图像,预览窗113中显示的原始图像可以来自于广角摄像头采集的图像。普通摄像头和广角摄像头可以同时采集图像。普通摄像头和广角摄像头采集的图像在同一时刻是对应。这样,用户可以在预览窗113 浏览更大范围的景观,同时,在小窗141中显示细节更多的主角图像。
在确定人物3为拍摄主角之后,人物3对应的选择框123可变成图1D中选中框142所示的样子。用户可通过选中框142确定已选中的拍摄主角。不限于用户界面104中所示的选中框142,终端100还可显示其他样式的图标,以表示人物3被选中为主角,以示区分。
可选的,用于展示特写图像的窗口141还可包括关闭控件143和转置控件144。关闭控件 143可用于关闭窗口141。转置控件可用于调整窗口141的尺寸。
在一些示例中,在根据作用在关闭控件143的用户操作关闭小窗141之后,终端100可取消之前确定的主角(人物3)。然后,终端100可指示用户重新在已识别到的对象中选择拍摄主角。这时,终端100可基于重新确定的主角,再次在预览窗113中显示小窗141。此时,小窗141中显示以新主角中心对原始图像进行处理得到的特写图像。
在一些示例中,在开始录制视频之后,关闭控件143还可用于暂停录制特写视频。此时,终端100不会取消之前确定主角。在暂停录制之后,关闭控件143可更换为开启控件。当检测到作用于开启控件的用户操作之后,终端100可继续以上述主角为中心,录制特写视频。
在另一些示例中,在关闭小窗141后,终端100仅不显示该小窗,即不显示之前确定的主角(人物3)的特写图像,但是,终端100仍然保持之前确定的主角。这时,预览窗113 不会被展示主角特写图像的小窗141遮挡住部分。用户可以更好的监测原始视频的图像内容,从而得到质量更高的原始视频。这时,用户可通过点击选中框142的操作,取消已选中的主角人物3,从而重新在已识别到的对象中选择新的主角。
可选的,在确定主角之后,终端100可首先生成宽高比9:16的用于展示特写图像的小窗(竖窗),参考图1D中的小窗141。上述宽高比为示例性例举,竖窗的宽高比包括但不限于 9:16这一类。当检测到作用于转置控件144的用户操作之后,终端100可将原来的竖窗变更为宽高比16:9的横向窗口(横窗)。当然,终端100也可默认生成横窗,然后,根据用户操作将横窗调整为竖窗,本申请实施例对此不作限制。这样,用户可用过转置控件144调整特写视频的视频内容,以满足自身个性化需求。
可选的,终端100可固定地在屏幕的左下方(或右下方、左上方、右上方)显示展示特写图像的小窗。在一些示例中,上述小窗还可根据预览窗中的主角的位置,调整显示位置,以避免对预览窗中主角的造成遮挡。
进一步的,终端100还可根据用户操作调整小窗的位置和大小。在一些示例中,终端100 还可检测到作用于小窗141的长按操作和拖动操作,响应于上述操作,终端100可将小窗移动到用户拖动操作最后停下的位置。在另一些示例中,终端100还可检测到作用于小窗141 的双击操作,响应于上述操作,终端100可将放大或缩小小窗141。不限于上述介绍的长按操作、拖动操作以及双击操作,终端100还可通过手势识别和语音识别来控制调整小窗的位置和大小。例如,终端100可通过摄像头采集的图像识别到用户做出了握拳手势,响应于上述握拳手势,终端100可缩小小窗141。终端100可通过摄像头采集的图像识别到用户做出了张手手势,响应于上述张手手势,终端100可放大小窗141。
在确定主角之后,终端100可检测到开始拍摄的用户操作。在开始拍摄之后,终端100 还可检测到结束拍摄的用户操作。响应于上述开始拍摄和结束拍摄的操作,终端100可将上述操作期间摄像头采集的图像帧序列保存为视频。
参考图1E所示的用户界面105,终端100可检测到作用于拍摄控件112的用户操作。上述作用于拍摄控件112的用户操作可称为开始拍摄的用户操作。响应于上述开始拍摄的用户操作,终端100可将预览窗113对应的原始图像与小窗141对应的特写图像写入到特定的存储空间中。
一方面,终端100可将摄像头采集的原始图像(预览窗113中显示的未经裁剪的图像) 写入到特定的存储空间中,从而生成原始视频;另一方面,终端100还可将以主角为中心的特写图像(小窗141中显示的图像)写入到特定的存储空间中,从而生成特写视频。
参考图1F所示的用户界面106,在检测到开始拍摄的用户操作之后,终端100可将拍摄控件112变更为用户界面106中拍摄控件161。拍摄控件161可用于指示当前正处于录制过程中。
在开始拍摄之后的某一时刻,用户初始选定的主角可能离开终端100的摄像头的取景范围(即预览窗113中不包括主角)。参考图1G所示的用户界面107,预览窗113中可识别到的对象包括人物1和人物2,但是不包括前述用户选中的主角:人物3。
这时,终端100可显示关闭显示主角特写图像的小窗141。参考图1G,此时预览窗113 中不包括小窗141。同时,终端100可显示提示语162,例如“主角丢失,请对准主角拍摄”,以提示用户主角丢失,无法确定到主角的特写图像。
响应于上述提示语162,用户可调整摄像头位置以使得主角在摄像头的取景范围内,从而使得摄像头可以重新采集到包括主角的图像。参考图1H所示的用户界面108,此时,预览窗113中重新检测到人物3(主角),于是,终端100可重新生成小窗141,并在小窗141中显示当前的以主角为中心的特写图像。
在一些实施例中,终端100可也间隔几帧之后再决定是否关闭小窗141。例如,在图1G 所示的用户界面107所示的时刻(未检测到主角)之后,终端100可继续检测此帧图像之后的N帧图像,若这N帧图像均不包括主角,则终端100关闭小窗141。在主角消失之后、确认关闭小窗141之前,终端100可以以主角消失之前最后一帧的裁剪区域确定上述期间的小窗141中显示的图像内容。
在录制视频一段时间之后,用户可通过拍摄控件161结束拍摄视频。参考图1I所示的用户界面109,终端100可检测到作用于拍摄控件161的用户操作,上述作用于拍摄控件161 的用户操作可称为结束拍摄的用户操作。
响应于结束拍摄的用户操作,终端100可将写入到特定存储空间中的原始图像帧序列封装为一个视频,即原始视频。同时,终端100还可写入到特定存储空间中的特写图像帧序列封装为一个视频,即特写视频。
在结束拍摄之后,终端100可显示图1J所示的用户界面110。
如用户界面110所示,在结束拍摄之后,终端100可将拍摄控件161变更为拍摄控件112,以指示用户已结束视频录制。同时,终端100可在回看控件114中显示表征上述原始视频和特写视频的标识。一般的,上述标识可以为上述原始视频的第一帧图像的缩略图,或者上述特写视频的第一帧视频的缩略图。
用户可通过回看控件114浏览已拍摄的视频。这里,完成一次主角模式的视频拍摄之后,终端100可得到两个视频。上述两个视频中一个为上述原始视频,一个为上述特写视频。参考图1J所示的用户界面110,终端100可检测到作用于回看控件114的用户操作。响应于上述操作,终端100可显示上述两个视频,以供用户浏览。
图1K示例性示出了终端100显示已拍摄的视频的用户界面111。
用户界面111可包括窗口191。窗口191可用于播放已拍摄的视频。可选的,终端100可首先在窗口191中播放前述主角模式下基于预览窗113拍摄得到的原始视频。同时,终端100可显示提示语192。提示语192例如“左滑浏览主角特写视频”。通过上述提示语,用户可执行左滑操作,从而获取特写视频。
如用户界面111所示,终端可检测到左滑操作。响应于上述左滑操作,终端100可播放在主角模式下拍摄的以主角为中心的特写视频。参考图1L所示的用户界面112和图1M所示的用户界面113,此时,窗口191中可播放基于小窗141拍摄得到的特写视频。
在一些示例中,终端100可将以主角为中心的特写视频封装为一个特写视频。例如,参考图1G所示的用户界面107,在拍摄视频的过程中,初始选定的主角可能消失在终端100的取景范围内,一段时间后,初始选定的主角又可能重新出现在终端100的取景范围内。这时,以主角为中心的特写视频存在中断。优选的,终端100也可忽略上述中断,将全部特写图像封装为一个特写视频。
具体的,图1N示例性示出了终端100将全部特写图像封装为一个特写视频的示意图。
如图1N所示,T1可表示开始录制视频的时刻,T2可表示结束录制视频的时刻,T3可表示检测到主角丢失的视频(图1G所示的用户界面107),T4可表示主角重新检测到主角的时刻(图1H所示的用户界面108)。T1-T2时间内,摄像头采集的原始图像组成原始视频。 T1-T3时间内,基于摄像头采集的原始图像提取的以人物3为中心的特写图像组成特写视频1。T3-T4时间内,基于摄像头采集的原始图像提取的以人物3为中心的特写图像组成特写视频2。在拍摄结束之后,终端100可将上述特写视频1、特写视频2封装为一个特写视频。
在另一些示例中,终端100也可保存多个特写视频。例如,终端100可将中断之前的主角特写图像封装为一个特写视频1,将中断之后的主角特写图像封装为一个特写视频2。然后,终端100可分别保存上述特写视频。
在一些实施例中,终端100也可通过图1O-图1P所示的方法,开启主角模式。如图1O所示,在录像模式下,终端100可在设置栏116中显示主角模式控件1166。当检测到作用于主角模式控件1166的用户操作时,终端100可开启主角模式,参考图1P。
在一些实施例中,在检测到主角丢失之后,终端100还可确定新的主角,并拍摄以上述新的主角为中心的特写视频。
结合图1G所示的用户界面107,在检测到预览窗113中的全部对象不包括初始选定的主角(人物3)时,终端100可确认检测到主角丢失。这时,终端100可关闭显示主角特写图像的小窗141,并显示提示语162,以指示用户调整摄像头方位,从而重新获取到新的包含主角的图像。
在本申请实施例中,参考图2A所示的用户界面201,用户还可以选择人物2作为主角。示例性的,终端100可检测到作用于选择框122的用户操作。响应于上述操作,终端100可确定新的主角:人物2。
其中,在切换主角的过程中,小窗141可以直接显示切换后的人物2的特写图像,呈现跳跃式的显示效果。可选的,小窗141还可通过平滑策略实现非跳跃式的主角切换显示效果。例如,在将主角切换为人物2之后,终端100可根据预览窗113中人物3到人物2的路径,确定一组平滑移动的图像帧,然后在小窗141中显示上述图像帧,以实现非跳跃式的主角切换显示。例如,终端100还可使用固定的过渡效果,连接切换前后的主角的特写图像。上述固定的过渡效果例如视频编辑中常用的叠加、旋涡、平移等等。本申请实施例对此不作限定。
同样的,结合图1B中介绍的焦距控件126。在使用焦距控件126切换当前焦距(或者摄像头)时,小窗141中显示的特写图像的切换效果也可参考上述角色切换时的切换效果。例如,在检测到将当期焦距从1倍焦距(1×)变更为2倍焦距(2×)时,可选的,终端100 可直接在窗口141中显示基于2×的原始图像得到的特写图像;可选的,终端100还可基于1 ×和2×的原始图像确定一组具有渐变过渡效果的图像帧,从而实现小窗141中非跳跃式的焦距切换显示效果;可选的,终端100也可使用叠加、旋涡、平移等固定的过渡效果实现小窗141中非跳跃式的焦距切换显示效果,这里不再赘述。
参考图2B所示的用户界面202,在确定新的主角人物2之后,终端100可重新生成小窗 141,并在小窗141中显示以新的主角为中心的特写图像。然后,终端100可以持续地追踪人物2,并在小窗141中实时地显示人物2的特写图像。
这时,在结束拍摄之后,终端100生成的特写视频是包括多个主角的特写视频。
参考图2C所示的示意图,T3时刻是检测到初始选定的主角(人物3)丢失的时刻。T5时刻是检测到用户选定新的主角(人物3)的时刻。这时,T1-T3内,特写视频1是以初始选定的主角(人物3)为中心的特写视频;T5-T2内,特写视频2是以重新选定的主角(人物2) 为中心的特写视频。
在本申请实施例中,终端100可将上述特写视频1、特写视频2合并,封装为一个视频。然后,终端100可播放上述合并后的特写视频,以供用户浏览。参考图2D-图2E所示的用户界面204、205,窗口191中可播放上述合并后的特写视频。在用户界面204中,前一段的特写视频(即特写视频1)的主角为人物3。在用户界面205中,后一段的特写视频(即特写视频2)的主角为人物2。
在一些实施例中,终端100也可先检测到作用于拍摄控件112的开始拍摄的用户操作,开始录制视频。在录制视频的过程中,终端100可实时地检测图像包含的对象,并显示与各个对象对应的选择框。在检测到用户点击某一选择框的用户操作之后,终端100可确定该选择框对应的对象为主角,并显示展示有主角特写图像的小窗,同时,终端100还可录制小窗中的特写图像。在上述方法中,特写视频的视频长度一定小于原始视频。
在结束拍摄之后,用户还可以通过图库应用随时浏览本地视频。上述本地视频包括前述过程中拍摄并保存的原始视频和特写视频。
图3A示例性示出了终端100展示本地保存的视频和/或图片的用户界面301。
如图3A所示,用户界面301可显示多个缩略图图标。一个缩略图图标对应一次拍摄操作得到的视频或图片。示例性的,上述多个缩略图图标可包括图标213。图标213可对应前述图1E-图1I所示的拍摄操作生成的视频。
终端100可检测到作用于图标213的用户操作。响应于上述操作,终端100可展示前述图1E-图1I所示的拍摄操作拍摄的视频:原始视频和特写视频,参考图3B。
如图3B所示,图3B所示的用户界面302可包括窗口221。窗口221可用于展示已拍摄的视频:原始视频和特写视频。此时,窗口221可展示视频222和视频223。其中,视频222 为主角模式下拍摄得到的原始视频。视频223为主角模式下拍摄得到的特写视频。
在一些示例中,终端100在显示用户界面302时,可同时播放视频222和视频223。这样,用户可以同时浏览原始视频和特写视频。在一些示例中,终端100也可先播放视频222后播放视频223,以便用户浏览。
在用户界面302的基础上,终端100可检测到作用于视频222或视频223的用户操作,例如点击操作。以视频222为例,在检测到作用于视频222的点击操作之后,终端100可显示图1K所示的用户界面111,进一步展示原始视频。对应的,在检测到作用于视频223的点击操作之后,终端100可显示图1L所示的用户界面112,进一步展示特写视频。
可选的,在图3A所示的用户界面301的基础上,在检测到作用于图标213的用户操作之后,终端100也可直接显示图1K所示的用户界面111,展示原始视频。然后,在检测到左滑操作之后,终端100可显示图1L所示的用户界面112,展示特写视频。
图3C示例性示出了另一种终端100展示本地保存的视频和/或图片的用户界面303。
在用户界面303中,终端100可以显示两个缩略图图标,例如图标231,图标232。这两个缩略图图标分别对应主角模式下拍摄得到的原始视频和特写视频。例如,图标231可对应上述原始视频,图标232可对应上述特写视频。
在检测到作用于图标231的用户操作之后,终端100可显示图1K所示的用户界面111,展示原始视频。在检测到作用于图标232的用户操作之后,终端100可显示图1L所示的用户界面112,展示特写视频。
同样的,在显示原始视频之后,用户可通过左滑或右滑操作浏览特写视频。在显示特写视频之后,用户可通过右滑或左滑操作浏览原始视频。
实施上述视频编辑方法,在多对象视频拍摄场景中,终端100可以自动追踪用户选定的主角在图像中运动轨迹,并生成始终以主角为中心的特写视频。然后,终端100还可同时保存特写视频和原始视频,以供用户浏览和使用,以满足用户更多样化的需求。原始视频可以保留录制过程中摄像头采集到的全部图像内容。特写视频可以集中地展示用户选定的主角的视频内容。其中,在录制视频的过程中,终端100还可根据用户的操作实时地更换主角,以满足用户变更拍摄主角的需求,进一步提升用户使用体验。
不限于在拍摄视频的过程中生成并保存以主角为中心的特写视频。终端100还可对已拍摄的本地视频进行对象识别和主角跟踪。基于跟踪到的每一帧中的主角,终端100可对上述本地视频进行裁剪、组合以及封装等编辑操作,从而得到以主角为中心的特写视频。
图4A-图4F示出了终端100编辑本地视频得到以主角为中心的特写视频的一组用户界面。首先,图4A示例性示出了终端100展示本地保存的视频和/或图片的用户界面401。
用户界面401可显示多个对应本地保存的视频和/或图片的缩略图图标,例如图标411。图标411对应终端100上存储的一个本地视频。
终端100可检测到作用于图标411的用户操作。响应于上述操作,终端100可展示上述本地视频。参考图4B所示的用户界面402,用户界面402可包括窗口412。窗口412可用于展示本地存储的视频和/或图片。这时,终端100可在窗口412中播放上述图标411对应的本地视频。
用户界面402还包括菜单栏413。菜单栏413中包括一个或多个用于设置图片或视频的控件,例如分享控件、收藏控件、编辑控件、删除控件等等。菜单栏413还包括用于展示更多设置项的控件414。当检测到作用于控件414的用户操作时,终端100可显示更多设置项。
参考图4C,在检测到作用于控件414的用户操作之后,终端100可显示菜单栏413。菜单栏413可包括更多的设置项,例如“详细信息”、“分类标签”等设置项。“详细信息”可用于显示当前展示的图片或视频的拍摄信息,例如拍摄时间、拍摄地点、摄像头参数等等。“分类标签”可用于设置当前展示的图片或视频标签,以便于用户通过标签快速地获取该图片或视频。
在本申请实施例中,菜单栏413还可包括设置项“提取主角”。“提取主角”可用于生成以选定主角为中心的特写视频。如图4C所示,终端100可检测到作用于“提取主角”设置项的用户操作。响应于上述操作,终端100可显示图4D所示的用户界面404。用户界面404 可用于确定主角、生成并保存以主角为中心的特写视频。
如图4D所示,用户界面404可包括窗口420。窗口420可播放上述本地视频,即依次显示上述本地视频的图像帧序列。用户界面404还包括进度条424。进度条424可用于指示播放进度;在视频暂停或播放时,进度条424还可用于切换当前显示的图像帧,即用户可以通过手动拖动进度条改变播放进度,以切换当前显示的图像帧。
可选的,视频播放和暂停时,窗口420还可显示与当前显示的图像帧中各个对象对应的选择框,例如选择框421、422、423。其中,选择框421对应当前图像帧中的人物1、选择框422对应当前图像帧中的人物2、选择框423对应当前图像帧中的人物3。可选的,视频播放过程中,检测到作用于窗口420的预设操作时,窗口420才显示与当前显示的图像帧中各个对象对应的选择框。例如,上述预设操作为用于暂停视频播放的操作;例如,上述预设操作为拖动进度条以切换图像帧的操作;例如,上述预设操作为作用于当前播放的图像帧的触摸操作、双击操作或长按操作等。
示例性的,参考图4D,在显示上述本地视频的第一帧图像时,终端100可检测到用户选择人物3作为主角的操作,例如点击与人物3对应的选择框423的操作。响应于上述操作,终端100可确定人物3为主角,然后,终端100可依次确定后续图像帧中人物3的位置,并确定以人物3为中心的特写图像的大小。组合各个以人物3为中心的特写图像,终端100可得到人物3的特写视频。
终端100也可在窗口420显示本地视频的第一帧图像之后的任意一帧图像时,检测到确定主角的用户操作。例如,参考图4E所示的用户界面405,当播放到第i帧时,终端100可检测到用户选择人物3(或其他对象)作为主角的操作。可选的,用户选择主角后,窗口420还可自动显示与当前显示的每一图像帧中各个对象对应的选择框。这样,可以便于用户随时可以通过后续图像帧对应的选择框切换主角。可选的,用户选择主角后,检测到作用于窗口 420的预设操作时,窗口420才显示与当前显示的图像帧中各个对象对应的选择框。这样,仅在用户意图切换主角时,基于预设操作显示选择框,可以节省对象识别的能耗。
用户界面404还可包括控件425。控件425可用于保存当前生成的特写视频。例如,在检测到作用于控件425的用户操作之后,终端100可将上述人物3的特写视频保存到本地存储空间中。在完成保存操作之后,终端100可显示图4G所示的用户界面407,展示上述被保存的特写视频。此时,用户可随时浏览上述特写视频。
当然,在编辑本地视频的特写视频时,终端100也可支持用户切换主角,以获取包括多个对象的特写视频。
示例性的,在图4D所示的用户界面404(第一帧图像)中,响应于用户点击选择框423 的操作,终端100可确定当前主角为人物3。然后,参考图4H所示的用户界面408,终端100 显示第一帧图像之后的任意一帧包括至少一个对象的图像(例如第N帧)时,还可以显示所述至少一个对象分别对应的选择框,例如人物2对应的选择框422;终端100可检测到用户点击选择框422(对应人物2)的操作,响应于上述操作,终端100可切换主角为人物2。这时,第M帧图像到第N-1帧图像的主角为人物3,第N帧图像至视频结束的主角为人物2。
需要说明的是,若在播放本地视频的第M帧图像(例如图4D所示的第一帧图像)时,用户开始选定主角为人物3,在播放本地视频的第N帧图像(例如图4H所示的图像)时,将主角由人物3切换为人物2,然后保存特写视频,则本地视频中的第M帧图像到第N-1帧图像的主角为人物3,第N帧图像至视频结束的主角为人物2。可选的,终端100保存的特写视频的前半段视频是以人物3为中心的特写视频,是基于本地视频的第M帧图像至第N-1 帧图像中包括人物3的图像生成的;上述特写视频的后半段视频是以人物2为中心的特写视频,是基于本地视频的第M帧图像至最后一帧图像中包括人物2的图像生成的。可选的,终端100也可以分别保存两个特写视频,即以人物3为中心的特写视频和以人物2为中心的特写视频。
在一些实施例中,图4D所示的编辑主角和特写视频的用户界面还可为图5A所示的样子。
如图5A所示,终端100可首先遍历当前展示的本地视频,确定该视频中包括的全部对象。这时,终端100可显示上述全部对象,例如用户界面501中的人物1、人物2、人物3。然后,终端100可检测到作用于上述任一人物的用户操作,确定被选中的人物为主角,然后基于本地视频中包括主角的图像,获取主角的特写图像;进而将上述主角的特写图像组合起来,获取以上述主角为中心的特写视频。
当然,在图5A所示的用户界面501中,用户可也设定多个主角,从而得到包括多个主角的特写视频,或多个主角分别对应的特写视频。
可选的,用户界面501还可包括分割控件511。分割控件511可将窗口420中展示的本地视频分割为多个视频段。示例性的,参考图5B-1所示的用户界面502-1,终端100可检测到作用于分割控件511的用户操作。响应于上述用户操作,终端100可显示图5B-2所示的用户界面502-2。此时,用户可通过对进度条424的分割操作,将本地视频分割为一个或多个视频段。
例如,如用户界面502-2所示,终端100可检测用户点击进度条424的操作。响应于上述用户操作,终端100可显示图5B-3所示的用户界面502-3。此时,终端100可在进度条424上显示分割框512。然后,用户可通过上述分割框512将本地视频分割为两个视频段。
参考图5B-4所示的用户界面502-4,终端100可将原本地视频划分为2段。此时,0:00-2:30 为一段视频(视频段1);2:30-4:00为一段视频(视频段2)。当前选中的视频段可用黑色表示。进一步的,在选中一个视频段时,用户还可通过分割控件511将该视频段进一步分割为两个视频段。这样,终端100可以将原本地视频分割为多个视频段。
以用户界面502-4为例,在选中视频段1的场景下,终端100可确定视频段1中包括的全部对象,然后显示出来,例如人物1、2、3。用户可从显示的全部对象中选择任意对象最为主角。例如,终端100可根据检测到的作用于人物3上的用户操作确定人物3为视频段1的主角。
然后,用户可更换选中的视频段,确定更换后的视频段中的主角。例如,参考图5C,终端100可检测到用户点击视频段2的操作。响应于上述操作,终端100可显示图5D所示的用户界面504。此时,在用户界面504中,终端100可显示视频段2中包括的全部对象,例如人物1、人物2(视频段2中不包括人物3)。这时,用户可选择人物2作为视频段2的主角。
参考图5E,终端100可检测到作用于控件425的操作。响应于上述操作,终端100可保存基于上述本地视频得到的特写视频。此时,本地视频的0:00-2:30内的主角为人物3,2:30-4:00 内的主角为人物2,特写视频的前半段视频是以人物3为中心的特写视频,是基于本地视频的0:00-2:30中包括人物3的图像生成的;上述特写视频的后半段视频是以人物2为中心的特写视频,是基于本地视频的2:30-4:00中包括人物2的图像生成的。类似的,终端100也可以分别保存两个特写视频,即以人物3为中心的特写视频和以人物2为中心的特写视频。
实施上述实施例介绍的视频编辑方法,终端100可以对已拍摄的本地视频进行对象识别和主角跟踪,然后,终端100可生成并保存以主角为中心的特写视频。这样,对于终端100 上存储的任意视频,用户可以随时随地利用上述方法,获取该视频中的任意对象的特写视频,从而满足用户的个性化编辑需求。
图6示例性示出了终端100在拍摄的过程中生成主角特写视频的流程图。
S601:检测到作用于第一控件的用户操作。
参考图1B所示的用户界面102,实施主角模式对应的视频编辑方法需要实时地识别并标记摄像头采集的图像中的对象(例如人物、动物、植物等)。这需要占用大量的终端100的计算资源。因此,在本申请实施例中,默认的,在开启摄像头时,主角模式是关闭的。
终端100可为用户提供开启或关闭主角模式的控件,记为第一控件。当检测到作用于上述第一控件的用户操作之后,终端100可开启主角模式,执行主角模式对应的拍摄算法,例如识别图像中的对象、主角追踪等等。例如,在图1B所示的用户界面102中,模式栏111中的主角模式选项可称为第一控件。当检测到作用于主角模式选项的用户操作之后,终端100 可为用户提供图1B-图1I所示的拍摄服务。
这样,用户可根据自身需求确定是否开启主角模式,进而避免占用终端100计算资源,降低终端100的计算效率,影响用户使用体验。
S602:对摄像头采集的第i帧图像进行对象检测,确定第i帧图像中的包括的对象。
参考图1B-图1D所示的用户界面,在主角模式下,终端100需要根据用户的选择操作确定主角。这时,终端100需要首先识别摄像头采集到的图像中包括的对象,然后将识别到的对象标记出来。这样,用户可以在上述识别到的对象中选择任意对象作为主角。相应地,终端100也才能根据用户操作确定主角。
图7A示例性示出了在开启主角模式之后终端100识别图像中的对象的流程图。
S701:对摄像头采集的第i帧图像进行人脸识别和人体识别,确定第i帧中的人脸图像和人体图像。
终端100中可阈值有人脸识别算法和人体识别算法。人脸识别算法可用于识别图像中的人脸图像。人体识别算法可用于识别图像中的人体图像,包括人脸、躯体、四肢。
以摄像头采集的第i帧图像为例,终端100可分别执行人脸识别算法和人体识别算法,进而确定第i帧图像中的人脸图像和人体图像。其中,第i帧图像是开启主角模式后摄像头采集的任意一帧图像。
如图7B所示的第i帧图像,通过人脸识别算法,终端100可确定该帧图像包括人脸face1、 face2、face3;通过人体识别算法,终端100可确定该帧图像包括人体body1、body2、body3。
S702:对识别到的人脸图像和人体图像进行匹配,确定第i帧图像中包括的对象。
在确定第i帧图像中的人脸图像和人体图像之后,终端100可计算各个人脸图像和人体图像的交并比(intersection over union,IoU),记为IoUface&body。然后,终端100可利用上述 IoUface&body将识别到的人脸图像和人体图像进行匹配,确定第i帧图像中包括的对象。
根据经验可知,图像中两个不重叠人中的任意一个人的人脸与对方的人体的交集为0,而与自身的人体的交集基本上接近于自身人脸。因此,IoUface&body越小越接近0,则该IoUface&body对应的人脸和人体不匹配,即不可视为同一人的人脸和人体。
因此,终端100中可预设有第一阈值M1。当IoUface&body≥M1时,该IoUface&body对应的人脸和人体匹配,反之,则不匹配。匹配的一组人脸图像和人体图像可确定一个对象。这样,终端100可基于已识别到的人脸图像和人体图像确定出第i帧图像中包括的M个对象。
具体的,以图7B所示的人脸face1、face2、face3和人体body1、body2、body3为例,终端100可分别计算face1、face2、face3与body1、body2、body3的IoU。以face1为例,face1与body2、body3的IoU的取值均为0,face1与body1的IoU的取值不为0且满足M1,这时,终端100可确定face1与body1可构成一个对象(即人物1)。同样的,终端100可确定face2 与body2可构成一个对象(即人物2),face3与body3可构成一个对象(即人物3)。
其中,为提升计算效率,在确定一个对象之后,在后续计算各个人脸图像与人体图像的 IoU时,终端100可不再计算上述已构成一个对象的人脸图像与人体图像的IoU。例如,终端 100可首先计算face1与所有body(body1、body2、body3)的IoU。这时,终端100可确定与face1匹配的body1,于是,终端100可确定face1与body1构成一个对象。然后,终端100 可计算face2与剩余所有body(body2、body3)的IoU。这时,终端100可不再计算face2与 body1的IoU,以减少冗余计算,提升计算效率。
可选的,在S701中,终端100也可直接使用人体检测算法识别第i帧图像中的对象。这时,终端100也无需进行人脸图像和人体图像匹配。
上述方法在单对象场景中,以及多对象且多对象之间不重叠的场景中,能够较好的识别第i帧图像中包括的对象。但是,当拍摄的人物较多且存在人物重叠的场景下,上述方法识别第i帧图像中包括的对象的准确率就较低,容易出现识别错位或根本识别不到重叠的人物。
因此,在多对象场景中,特别是人物重叠的多对象场景中,S701-S702所示对象识别方法可以更稳定地且正确的识别到图像帧中包括的多个对象。
可以理解的,在终端100支持识别动物、植物等对象的场景下,上述对象识别算法还包括特定动物的识别算法,以及特定植物的识别算法。这样,终端100可以识别第i帧图像中是否包括动物、植物等类型的对象。进一步的,终端100可以将上述动物、植物等对象设定为主角。对象识别算法识别可支持识别的对象取决于开发人员的预先设定。
S603:显示第i帧图像及与第i帧图像中各对象对应的标记。
在确定第i帧图像中包括M个对象之后,终端100可创建与上述M个对象分别对应的标记。在显示上述第i帧图像时,终端100可同时显示上述标记。该标记可用于提示用户终端100识别到的可确定为主角的对象。进一步的,该标记可用于用户指示终端100确定哪一对象为主角。
结合图7B所示的第i帧图像,在确定第i帧图像中包括的3个对象(人物1、人物2、人物3)之后,终端100可确定与上述3个对象对应的3个标记。参考图1B所示的用户界面 102,上述标记可以为预览窗113中的选择框。终端100在显示上述第i帧图像时,终端100 可显示选择框121、122、123。其中,选择框121、122、123分别用于标记图像中的人物1、人物2、人物3。
这样,用户在预览窗113中既可以浏览到摄像头实施采集的图像,又可以同时获取到终端100识别到的对象,即支持设定的主角。进一步的,用户还可以点击任一选择框(例如选择框123),确定该选择框对应的对象(人物3)为主角。在检测到用户点击任意选择框的用户操作之后,终端100可将上述被点击的选择框对应的对象设定为主角。后续,终端100可在摄像头采集的图像序列中定位上述主角,从而实现主角追踪,生成主角特写视频。
可以理解的,在终端100支持识别动物、植物等对象的场景下,终端100可相应地在上述动物、植物的图像上显示选择框。用户也可选择上述动物、植物作为主角。
具体的,选择框的显示位置可基于人脸图像和人体图像确定。图7C示例性示出了终端 100确定选择框的显示位置的示意图。如图7C所示,在识别到人脸图像和人体图像之后,终端100可确定人脸图像和人体图像的中点:人脸图像的中点P1,人体图像的中点P2。基于上述P1、P2,终端100可确定上述人脸图像和人体图像对应的对象(即人物3)的中点P3。选择框123的中点即上述P3。
S604:判断是否检测到选择第i帧图像中第一对象的用户操作。如果是,则确定所述第一对象为主角,将第i帧图像的帧索引号FrameID设置为1;如果否,则获取第i帧图像的下一帧图像(i=i+1),重复S602。
在终端100执行完S603所示的操作之后,用户可在终端100的屏幕上看到摄像头相机的第i帧图像,以及与第i帧图像中各个对象对应标记(选择框),参考图1B所示的用户界面102。
在显示上述携带有标记的第i帧图像帧之后,终端100可检测到作用于任一标记的用户操作。响应于上述操作,终端100可确定上述标记对应的对象为主角,并将第i帧图像的帧索引号FrameID设置为1。
例如,参考图1C所示的用户界面103,终端100可检测到作用于选择框123的用户操作。响应于上述操作,终端100可确定选择框123对应的对象为主角,即人物3为主角,并将该帧图像的帧索引号FrameID设置为1,即FrameID=1。上述人物3即第一对象,作用于选择框123的用户操作即选择第一对象的操作。FrameID可用于反映该帧图像是确定主角的第几帧图像。
终端100显示第i帧图像的时间是较短的。在显示第i帧图像的时间内,终端100不一定能检测到用户选择某一对象作为主角的操作。同时,在显示第i帧图像之后,终端100需要继续显示摄像头采集的第i帧之后的图像帧。因此,如果在显示上述显示期间内,终端100未检测到作用于任一选择框的用户操作,则终端100可执行i=i+1的操作,获取第i帧图像的下一帧图像,并重复S602。这样,终端100可以实时地识别摄像头采集到的对象,并显示与之对应的标记,以供用户在任意时刻选定一个主角。
S604:确定以主角为中心的特写图像。
上述特写图像是指在摄像头采集的原始图像(预览窗中显示的图像)的基础上,以选定的主角为中心进行裁剪,得到的图像内容为主角的图像。
在确定第i帧图像中第一对象为主角之后,终端100可基于第i帧图像确定第i帧图对应的以主角为中心的特写图像。例如,在用户界面403中,在确定人物3为主角之后,终端100 可以以人物3为中心对当前预览窗113中显示的图像进行裁剪,得到图像内容为人物3的特写图像。
图8A示例性示出了终端100确定主角为中心的特写图像的流程图。
S801:根据第i帧图像中主角的人体图像确定第i帧图像帧的缩放比ZoomRatio。
如果选定的主角在距离摄像头较远,则主角图像在整个原始图像中所占的图像面积越小。这时,以主角为中心的特写图像的尺寸越小。反之,主角图像在整个原始图像中所占的图像面积越大,则主角为中心的特写图像的尺寸越大。
具体的,参考图8B所示的第i帧图像,如果主角为人物1,则小窗中期望展示的人物1 的特写图像应该为虚线框61围成的图像。这时,虚线框61的尺寸即为第i帧图像中主角的特写图像的尺寸。如果主角为人物3,则小窗中期望展示的人物3的特写图像应该为虚线框62围成的图像。这时,虚线框62的尺寸即为第i帧图像中主角的特写图像的尺寸。由此可知,为了保证主角的完整性,终端100需要根据原始图像中的主角的大小确定特写图像的尺寸。
缩放比ZoomRatio可用于反映原始图像中的主角的大小。在确定ZoomRatio之后,终端 100可确定当前帧中主角的特写图像的尺寸。
具体的,终端100确定ZoomRatio的计算过程如下:
首先,在S602所示的对象识别步骤中,终端100可利用预设的人体识别算法识别图像中的人体图像,例如body1、body2、body3等。在确定人物3为主角之后,终端100可利用人物3的人体图像(body3)的尺寸确定ZoomRatio。
其中,利用人体图像确定ZoomRatio的计算公式(Q1)如下:
其中,maxBboxSize是指识别到的最大的人体图像的尺寸;detectBboxSize是指主角的人体图像的尺寸;minZoomRatio是预设的ZoomRatio的最小值;maxZoomRatio为预设的ZoomRatio的最大值。
将第i帧图像中的maxBboxSize[i]和detectBboxSize[i]输入Q1,终端100可确定第i帧图像的ZoomRatio[i]。
S802:根据ZoomRatio[i]确定第i帧图像对应的主角特写图像的尺寸:CropRagionWidth、 CropRagionHeight。
CropRagionWidth用于表示特写图像的宽,CropRagionHeight用于表示特写图像的高。 CropRagionWidth、CropRagionHeight可基于前述介绍的ZoomRatio来确定。具体的,CropRagionWidth、CropRagionHeight的计算公式(Q2、Q3)如下:
其中,WinWidth用于表示小窗的宽;WinHeight用于表示小窗的高。基于WinWidth、WinHeight和ZoomRatio得到的CropRagionWidth、CropRagionHeight刚好可以与小窗的宽、高对应,从而避免在小窗中显示特写图像时发生图像变形的问题。优选的,当小窗为竖窗时, WinWidth的取值可以为1080p(pixel),WinHeight的取值可以为1920p。当小窗为横窗时, WinWidth的取值可以为1920p,WinHeight的取值可以为1080p。
S803:根据CropRagionWidth、CropRagionHeight以及对象中点对第i帧图像进行裁剪,确定第i帧图像对应的以主角特写图像。
在确定CropRagionWidth、CropRagionHeight之后,结合已知的主角的人物中点(P3),终端100可对原始图像进行裁剪得到以主角为中心的特写图像。参考图8B,以P3为中心,宽和高分别为CropRagionWidth、CropRagionHeight所构成的区域内的图像即主角(人物3) 的特写图像。
S606:在小窗中显示上述特写图像,生成特写视频的一帧。
在检测到确定第i帧图像中第一对象为主角的用户操作之后,终端100可生成一个用于展示特写图像的小窗。优选的,该小窗可以以画中画的形式嵌入在预览窗中。
参考图1D所示的用户界面104,小窗141以画中画的形式嵌入在预览窗113中。优选的,上述小窗可以为宽高比为9:16(竖窗)或16:9(横窗)的矩形。当然,在其他实施例中,预览窗与小窗与还可以其他方式排列,小窗还可以是呈现其他尺寸和形状。例如,在检测到确定主角之后,终端100可将预览窗113分为左右两个并排排列的窗口。一个窗口用于展示摄像头实时采集的原始图像;另一个窗口用于展示以主角为中心的特写图像。本申请实施例对用于展示特写图像具体形式不作限制。
在经过S605的处理之后,终端100可确定第i帧图对应的以主角为中心的特写图像。这时,终端100可在上述小窗中显示以主角为中心的特写图像。
在一些示例中,特写图像的宽CropRagionWidth、高CropRagionHeight与用于展示特写图像的小窗的宽WinWidth、高WinHeight分别相等,参考图8C。例如,CropRagionWidth=1080p、CropRagionHeight=1920p,同时,WinWidth=1080p、WinHeight=1920p。这时,按1080p、1920p 裁剪得到的特写图像刚好以小窗匹配,终端100可以直接将上述特写图像显示在小窗中。
但是,在另一些示例中,特写图像的CropRagionWidth、CropRagionHeight与WinWidth、WinHeight不相等。这时,终端100可以对特写图像进行自适应调整,以获得与小窗尺寸匹配的特写图像,然后在小窗中显示上述特写图像。上述自适应调整包括等比例扩大和等比例缩小。例如,参考图8D,CropRagionWidth=540p、CropRagionHeight=960p,而用于展示特写图像的小窗的WinWidth=1080p、WinHeight=1920p。这时,终端100可以将对540p、960p的特写图像进行等比例扩大,从而得到1080p、1920p的特写图像。这样,终端100也可以将上述特写图像显示在小窗中。
在录制视频的过程中,上述经过自适应调整处理的,送往小窗显示的特写图像即特写视频的一帧。
S607:获取FrameID=1之后的第j帧图像,FrameID=1+j,确定第j帧图像中的主角。
参考S603中的介绍,在检测到用户作用在第i帧图像上的确定第一对象为主角的操作之后,终端100可以将第i帧图像的FrameID设置为1,以表示该帧为确定主角的第一帧图像。
在显示FrameID=1中主角的特写图像时,终端100还可同时获取FrameID=1之后的摄像头采集的图像帧。在接收到FrameID=1之后的图像帧之后,终端100可以识别FrameID=1之后的图像帧中的对象,确定该帧图像是否包括主角。
下面以FrameID=1之后的第j帧图像帧(FrameID=1+j)为例,具体介绍终端100定位 FrameID=1之后的图像帧中的主角的方法。
方法一:
在一些示例中,在获取到第j帧图像之后,终端100可以利用人体识别算法首先识别第j 帧图像中包括的对象,参考S602。然后,终端100可利用相似度算法,计算上述各个对象与第j-1帧图像中主角的相似度,进而确定上述各个对象与第j-1帧图像中主角的相似距离(相似距离=1-相似度)。相似距离越小则表示该对象与主角的区别越小,即越相似。因此,第j 帧图像中相似距离最小且低于相似距离阈值的对象可被确定为主角。
当然,终端100也可直接使用相似度确定第j帧图像中的主角。这时,第j帧图像中相似度最高且高于相似度阈值的对象可被确定为主角。
然而,每次都计算第j帧图像中各个对象与第j-1帧图像中主角的相似度是十分耗费计算资源的。而且,当第j帧图像中,如果两个或两个以上的对象的图像内容重叠,则上述对象与第j-1帧图像中主角的相似度会受到影响,从而影响主角识别结果的准确性。
方法二:
针对方法一所存在的缺陷,终端100也可以使用方法二定位第j帧图像中的主角。图9 示例性示出了第二种定位第j帧图像中的主角的流程图。
首先,终端100仍然需要先对第j帧图像进行对象识别,确定第j帧图像中包括的对象。然后,终端100可判断该第j帧图像帧中的对象是否重叠,然后根据第j帧图像中的对象是否重叠,确定使用不同的主角定位方法确定第j帧图像中的主角。
当第j帧图像帧中的对象不存在重叠的情况时,终端100可通过第j帧图像中所有对象的与第j-1中主角的交并比距离(IoU距离,记为[IoU])来确定第j帧图像的主角。反之,当重叠时,终端100可通过第j帧图像中所有对象的与第j-1中主角的IoU距离和重识别距离(ReID 距离,记为[ReID])来确定第j帧图像的主角。
参考S602的介绍,在确定第j帧中包括的对象时,终端100可以通过人体检测算法识别到的多个对象的人体范围(即人体框)。这时,终端100可利用上述人体框是否相交来判断第 j帧图像中的对象是否存在重叠。如图10A所示,第j帧图像任意两个对象不重叠(任意两个对象的人体框不相交),例如人物3与人物4,则终端100确定第j帧图像中的对象不重叠。如图10B所示,第j帧图像中存在至少两个对象重叠,例如人物3与人物4,则第j帧图像中的对象重叠。
在不重叠的情况下,终端100可通过第j帧图像中所有对象的与第j-1中主角的IoU距离确定第j帧图像的主角。
这是因为,在录制视频的过程中,前后两帧图像的时间间隔非常短。以帧率30fps为例,前后两帧的时间间隔为1/30s。这时,在相邻两帧的时间内,一个对象在前后两帧图像中存在较大的IoU距离是比较困难的。因此,在不重叠的情况下,终端100可首先确定第j帧图像中所有对象的与第j-1中主角的IoU距离,并确定第j帧图像中的最小IoU距离[IoU]min
具体的,参考图10C,其中,虚线框3可表示第j-1帧中主角的人体框;虚线框1'可表示第j帧中人物1的人体框;虚线框2'可表示第j帧中人物2的人体框;虚线框3'可表示第j帧中人物3的人体框;虚线框4'可表示第j帧中人物4的人体框。
以虚线框3和虚线框1'为例,利用上述两个虚线框所构成的区域,终端100可确定虚线框3和虚线框1'的交并比,记为IoU31。于是,终端100可确定第j帧中人物1与第j-1帧中主角的IoU距离[IoU31]:
[IoU31]=1-IoU31
同样的,终端100可得到第j帧中人物2、3、4与第j-1帧中主角的IoU距离:[IoU32]、[IoU33]、[IoU34]。参考图10C,此时,终端100可确定第j帧图像中的[IoU]min为[IoU33]。IoU距离越小表示两个对象之间位置变化越小。结合相邻两帧之间时间较短,主角在前后两帧中难以产生较大的位移,因此,IoU距离越小对象越可能为主角。
但是,第j帧图像中与第j-1中主角的IoU距离最小的对象也不一定为主角。例如,参考图10D,第j帧图像中人物1、2、4与第j-1中主角的IoU距离均为1,第j帧图像中人物3 与第j-1中主角的IoU距离为0.9。这时,人物3与主角的IoU距离是最小的。但是,实际上,人物3与主角的IoU距离是非常大的。因此,若直接将IoU距离最小的对象(人物3)确定为主角,容易发生主角误识别,进而导致针对主角的自动追踪失败,影响用户使用体验。
因此,在确定第j帧图像中的[IoU]min之后,终端100还需确定上述[IoU]min是否小于预设的IoU距离阈值(记为D1)。
如果[IoU]min<D1,则终端100可确定上述[IoU]min对应的对象为主角。示例性的,D1=0.2。结合图10C中确定的最小[IoU]距离:[IoU33]。当[IoU33]<0.2时,终端100可确定第j帧图像中的人物3与第j-1帧图像中的主角为同一对象,即确定第j帧图像的人物3为主角。
如果[IoU]min<D1不成立,则终端100可标记该帧图像中主角丢失(未匹配到主角)。然后终端100可根据当前累计的主角丢失的图像帧的数量确定是否终止主角追踪,这里先不展开。
IoU距离为可选的一种判断后一帧视频中各个对象与前一帧中主角的相似程度的指标。当然,终端100可也选用其他指标。例如,终端100还可直接使用IoU确定第j帧图像的所有对象中与第j-1中主角的相似程度。这时,第j帧图像中与第j-1中主角的IoU最大且大于IoU 阈值的对象可被确认为主角。
在重叠的情况下,终端100可通过第j帧图像中所有对象的与第j-1中主角的IoU距离和 ReID距离确定第j帧图像的主角。
如果第j帧图像中的对象存在重叠,那么重叠的对象彼此之间的距离是较近的。这时,在相邻两帧的时间内,一个对象从前一帧中的自己所处的位置移动到另一对象所处的位置是容易实现的。因此,在重叠的场景下,非主角的对象极有可能在一下帧中移动到原来主角所处的位置。这时,仅仅通过第j帧图像中所有对象的与第j-1中主角的IoU距离,终端100不能确定第j帧图像的主角。
例如,第j-1帧图像与主角重叠的某一对象可能在第j帧图像中就出现在了原来第j-1帧图像中主角的位置。这时,上述某一对象与主角的IoU距离是最近的,但是,该对象却不是主角。这样容易导致误识别。
因此,在重叠的情况下,终端100除了利用前后两帧图像中各个对象的IoU距离确定主角之外,终端100还需要判断各个位置中的对象是否为用户原来确定的主角。这时,终端100 还需计算第j帧图像中所有对象与第j-1图像中主角的ReID距离。ReID距离是基于利用神经网络得到的,用于反映图像内容之间相似程度的参数。
图11示例性示出了终端100确定第j帧图像中各个对象与第j-1图像中主角的ReID距离示意图。如图11所示,利用卷积神经网络(convolutional neural network,CNN),终端100 可确定第j-1帧图像中主角的特征向量F0。同样的,利用CNN,终端100可确第j帧图像中各个对象(人物1~4)的特征向量F1~F4。然后,终端100可计算第j帧图像中各个对象的特征向量(F1~F4)与第j-1帧图像中主角的特征向量F0的内积:<F0,F1>、<F0,F2>、<F0,F3>、<F0,F4>。
以人物1为例,在确定特征向量F1与第j-1帧图像中主角的特征向量F0的内积<F0,F1> 之后,终端100可确定人物1与主角的ReID距离(记为[ReID]31):
[ReID]31=1-<F0,F1>;
同样的,终端100可得到第j帧中人物2、3、4与第j-1帧中主角的ReID距离:[ReID]32、 [ReID]33、[ReID]34。ReID距离越小则表示该对象与主角的相似度越高。在确定第j帧各个对象与第j-1帧中主角的ReID距离之后,终端100可确定第j帧图像中的最小ReID距离 [ReID]min。参考图11,此时,终端100可确定第j帧图像中的[ReID]min为[ReID]33
然后,终端100可确定上述各个对象与主角的IoU+ReID距离,即IoU距离与ReID距离的和,记为[IoU+ReID]。[IoU+ReID]越小意味着对象与主角的IoU越小,同时ReID距离也越小。从图像上看,该对象与原主角的位置相近且图像内容相似。因此,终端100可利用[IoU+ReID]确定第j帧图像的主角。并且,[IoU+ReID]越小的对象越可能为主角。
同样的,在重叠的情况下,第j帧图像中与第j-1中主角的[IoU+ReID]最小的对象也不一定为主角。因此,在确定第j帧图像中的[IoU+ReID]min之后,终端100还需确定上述[IoU+ReID]min是否小于预设的IoU+ReID距离阈值(记为D2)。如果[IoU+ReID]min<D2,则终端100可确定上述[IoU+ReID]min对应的对象为主角。反之,如果[IoU+ReID]min<D2不成立,则终端100可标记该帧图像中主角丢失。
在一些实施例中,为了提升计算效率,终端100还可周期性的执行图9所示的定位第j 帧图像中的主角的方法,参考图12A。
如图12A所示,在获取FrameID=1之后的第j帧图像之后,终端100可首先判断该图像帧的帧索引号FrameID是否能被N整除(本申请实施例以N=4为例进行说明)。
当FrameID%4=0成立时,即FrameID能被4整除,终端100可通过图9中介绍的方法确定第j帧图像中的主角。反之,当FrameID%4=0不成立时,即FrameID不能被4整除,终端100可利用核相关滤波算法(Kernel Correlation Filter,KCF)确定第j帧图像中的主角。KCF 算法是现有的,这里不再赘述。
这样,终端100可以避免每次都计算IoU距离、ReID距离,从而节省计算资源,提升计算效率。
S608:确认是否匹配到主角,如果是,则执行S405所示的步骤;如果否,则判断丢失帧是否小于丢失帧数阈值Y。
在确定第j帧图像中的主角之后,终端100可执行两方面的操作:一是执行S605所示的步骤:基于第j帧图像中的主角确定以该主角为中心的特写图像,然后在小窗中显示上述特写图像,生成特写视频的一帧;二是获取第j帧图像的下一帧图像(j=j+1),重复S607所示的步骤,进而确定下一帧图像中的主角、显示下一帧图像中的主角的特写图像,以及生成特写视频的又一帧图像。
其中,确定第j帧图像中的主角的特写图像的方法可参考S605的介绍,这里不再赘述。特别的,在一些示例中,终端100可以间隔几帧计算一次ZoomRatio,例如每4帧计算一次ZoomRatio。
这是因为,在连续的4帧(以4帧为例)的时间内,图像中的某一对象也难以发生较大的变化,这时,这4帧对应的ZoomRatio几乎是一致的。因此,在第k帧确定了一个ZoomRatio 之后,第k+1帧、第k+2帧、第k+3帧可沿用上述ZoomRatio,从而节省ZoomRatio的计算频率,节省计算资源。
在一些示例中,当两次ZoomRatio变化较大,终端100可在确定特写图像的过程中,进行平滑处理,从而避免图像跳跃。
如果在第j帧图像中未匹配到主角(例如第j帧图像的[IoU]min≥D1,或者第j帧图像的 [IoU+ReID]min≥D2),这时,终端100可修改丢失帧数:将丢失帧数的计数增加1。丢失帧数是指终端100连续未识别到的主角的图像帧的数量。然后,终端100可基于丢失帧数判断是否结束主角追踪。
具体的,终端100可设置有丢失帧数阈值Y。如果当前记录的丢失帧数≥Y,则终端100 可确定摄像头采集的对象已经不包括用户初始选定的主角。这时,终端100可确认结束主角追踪。如果当前记录的丢失帧数<Y,则终端100可获取下一帧图像(第j+1帧图像),确定下一帧图像中是否包括主角。可以理解的,在确定所述下一帧图像是否包括主角时,终端100 可以将所述下一帧图像与之前匹配到主角的最后一帧图像进行图9所示的主角追踪计算,确定所述下一帧图像中是否有主角。这里,所述下一帧图像为第j帧图像,所述匹配到主角的最后一帧图像为第j-1帧图像。当后续图像帧均未能识别到初始选中的主角时,丢失帧数会持续增加,直到丢失帧数≥Y,结束主角追踪。
在一些实施例中,在确认结束主角追踪之后,终端100可保持初始设定的主角,并在后续摄像头采集的图像中继续定位上述主角。当重新检测到上述主角后,终端100可继续录制该主角的特写视频。
结合图1F-图1H所示的用户界面,在检测到连续多帧图像中不包括初始设定的主角人物 3时,终端100可关闭小窗141并停止录制人物3的特写视频。当重新检测到人物3时,终端100可重新显示小窗141,并重新开始录制人物3的特写视频。
在一些实施例中,在确认结束主角追踪,终端100还可指示用户选择新的主角。在再次检测到用户选择主角的用户操作,终端100可确定新的主角,并定位后续图像中的新的主角,同时显示并保存新主角的特写视频。
结合图2A-图2B所示的用户界面,在确定结束追踪人物3之后,当重新检测到选择人物 2为主角的用户操作之后,终端100可重新确定人物2为主角,生成小窗141并在小窗141 中显示人物2的特写图像。
结合图2A-图2B所示的用户界面,在一些实施例中,终端100支持在拍摄的过程中切换主角。这时,终端100还可应在获取第j帧图像之后,确定该帧图像是否对应有切换主角的用户操作,以更换主角,更换小窗141中显示特写图像。
参考图12B,在S607所示的步骤之后,终端100可确定是否检测到切换主角的用户操作,例如图2A-图2B所示的点击与人物2对应的选择框122将主角人物3切换为人物2的用户操作。当检测到上述切换主角的用户操作时,终端100可确定第j帧图像中的人物2为主角。然后,终端100可将上述第j帧图像的FrameID重新设定为1(S604),并获取该图像帧之后的图像帧,定位后续图像帧中的人物2,从而实现在小窗141中显示新主角人物2的特写图像。
下面,图13例性示出了终端100编辑已拍摄的本地视频、生成并保存特写视频的流程图。
参考图4C所示的用户界面403,此时,第一控件可以为菜单栏413中的“提取主角”选项控件。用户点击上述“提取主角”的用户操作可称为作用于第一控件的用户操作。
然后,终端100可以获取本地视频的图像帧序列,确定各个图像帧中包括的对象。参考图4D所示的用户界面404,终端100可以显示本地视频中的各个图像帧。在显示上述图像帧时,终端100还会显示对应各个对象的标记(选择框)。进而,终端100可以根据用户操作确定多个对象中的主角。然后,终端100可一次遍历后续图像帧,确定后续图像帧中的主角,从而得到后续以主角为中心的特写图像,生成特写视频。这一过程与图1A-图1I所示的实时拍摄过程中的确定主角的方法相同,这里不再赘述。
不同的,在图13所示的编辑本地视频、生成特写视频的方法中,在确定第j帧图像未匹配到主角时,终端100可以不记录丢失帧数。这里,终端100只需判断是否遍历完该本地视频,即第j帧图像是否为本地视频的最后一帧。若视频未结束,即第j帧图像不是本地视频的最后一帧,则终端100可以继续获取下一帧图像,定位下一帧图像中的主角。
此外,在图13所示的编辑本地视频、生成特写视频的方法中,在确定某一帧图像中的主角以及主角的特写图像之后,终端100可不显示该特写图像。这是因为,在对本地视频的编辑过程中,因为,终端100无需播放上述本地视频,于是,终端100也就无需在编辑过程中的播放特写视频。在编辑完成后,终端100可以保存上述特写视频。随后,用户可以随时浏览上述特写视频。
图14是本申请实施例提供的终端100的系统结构示意图。
分层架构将系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将系统分为五层,从上至下分别为应用层,应用框架层、硬件抽象层、驱动层以及硬件层。
应用层可以包括一系列应用程序包。在本申请实施例中,应用程序包可以包括相机、图库等。
应用框架层为应用层的应用程序提供应用编程接口(application programminginterface, API)和编程框架。应用框架层包括一些预先定义的函数。在本申请实施例中,应用框架层可以包括相机访问接口,视频编辑接口。其中,相机访问接口可以包括相机管理以及相机设备。相机访问接口用于为相机应用提供应用编程接口和编程框架。视频编辑接口用于为图库应用提供编辑图片和/或视频的应用编程接口和编程框架。本申请实施例中主要使用视频编辑接口提供的编辑视频的应用编程接口和编程框架。
硬件抽象层为位于应用框架层以及驱动层之间的接口层,为操作系统提供虚拟硬件平台。本申请实施例中,硬件抽象层可以包括相机硬件抽象层以及相机算法库。
其中,相机硬件抽象层可以提供相机设备1、相机设备2或更多的相机设备的虚拟硬件。相机算法库可包括实现本申请实施例提供的视频编辑方法的运行代码和数据。
驱动层为硬件和软件之间的层。驱动层包括各种硬件的驱动。驱动层可以包括相机设备驱动、数字信号处理器驱动以及图像处理器驱动等。
其中,相机设备驱动用于驱动摄像头的传感器采集图像以及驱动图像信号处理器对图像进行预处理。数字信号处理器驱动用于驱动数字信号处理器处理图像。图像处理器驱动用于驱动图形处理器处理图像。
下面结合上述系统结构,对本申请实施例中的视频编辑方法进行具体描述:
1、在录制视频的同时裁剪原始视频生成主角特写视频:
响应于用户打开相机应用的操作,例如点击相机应用图标的操作,相机应用调用应用框架层的相机访问接口,启动相机应用,进而通过调用相机硬件抽象层中的相机设备(相机设备1和/或其他相机设备)发送启动摄像头的指令。相机硬件抽象层将该指令发送到内核层的相机设备驱动。该相机设备驱动可以启动相应的摄像头传感器,并通过传感器采集图像光信号。相机硬件抽象层中的一个相机设备对应硬件层的一个摄像头传感器。
然后,摄像头传感器可将采集到的图像光信号传输到图像信号处理器进行预处理,得到图像电信号(原始图像),并将上述原始图像通过相机设备驱动传输至相机硬件抽象层。
一方面,相机硬件抽象层可以将上述原始图像发送到显示器,进行显示。
另一方面,相机硬件抽象层可将原始图像发送的相机算法库。相机算法库中存储有实现本申请实施例提供的视频编辑方法(对象识别、主角追踪、裁剪特写图像等处理流程)的程序代码。基于数字信号处理器、图像处理器,执行上述代码,相机算法库还可输出识别到的图像帧中的对象、确定以主角为中心的特写图像,从而实现定位原始图像中的主角,裁剪以主角为中心的特写图像的功能。
相机算法库可以将确定的特写图像发送到相机硬件抽象层。然后,相机硬件抽象层可以将其进行送显。这样,相机应用可以在显示原始图像的同时,显示以选定主角为中心的特写图像。
在送显的同时,相机硬件抽象层还可将原始图像序列和特写图像序列写入的特定存储空间。这样,终端100可以实现录制视频的功能,将摄像头实时采集的原始图像流和基于原始图像得到的特写图像流保存为本地视频(原始视频和特写视频)。
2、裁剪本地视频生成主角特写视频:
响应于用户执行的对本地视频进行提取主角的操作,例如图4C所示的点击“提取主角”的操作,相机应用调用应用框架层的图像编辑接口,进而调用相机算法库中存储有实现本申请实施例提供的视频编辑方法的程序代码。基于数字信号处理器、图像处理器,相机算法库执行上述代码,可实现定位原始图像中的主角,裁剪以主角为中心的特写图像的功能,进而实现编辑原始视频得到特写视频的功能。
本申请实施例中,图像中的各对象对应的标记也可以称为选择框;第二视频也可以称为特写视频。
在一些实施例中,第一界面可以是图1B所示的用户界面102;所述第一图像可以是用户界面102中预览窗113显示的摄像头采集的图像,例如,第一图像为图1B中预览窗113显示的图像,或者,前述摄像头采集的第i帧图像;参考图1C,第一标记可以为人物3对应的选择框123,第一操作可以是作用于选择框123的输入操作,第一对象可以为人物3;第二图像可以是图2A所示的用户界面201的预览窗显示的图像,第二标记可以是上述图像中人物2对应的选择框122,第二对象可以是前述人物2,第五操作可以是作用于选择框122的输入操作;第一子视频可以是前述以人物3为中心的特写视频,第二子视频是可以是前述以人物2为中心的特写视频。第二控件可以是前述控件161;第一窗口可以是前述小窗141;
在一些实施例中,第一视频也可以称为本地视频,参考图4A和图4B,第一视频可以为前述图标411对应的本地视频,第一视频的缩略图可以为本地视频的图标411,第二操作可以为点击图标411的操作;第一界面可以是图4D所示的用户界面404;所述第一图像可以本地视频中的一帧图像,例如,第一图像可以是图4D所示的用户界面404中窗口420中显示的图像,或者,前述本地视频的第i帧图像;参考图4D,第一标记可以为人物3对应的选择框423,第一操作可以是点击选择框423的操作,第一对象可以为人物3;第二图像可以是图 4H所示的用户界面404的窗口显示的图像,第二标记可以是上述图像中人物2对应的选择框422,第二对象可以是前述人物2,第五操作可以是点击选择框422的输入操作;第一子视频可以是前述以人物3为中心的特写视频,第二子视频是可以是前述以人物2为中心的特写视频。
图15是本申请实施例提供的终端100的硬件结构示意图。
终端100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线 1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头 193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对终端100的具体限定。在本申请另一些实施例中,终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit, NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110 中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface, MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端100的结构限定。在本申请另一些实施例中,终端100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。
终端100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。
移动通信模块150可以提供应用在终端100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。
无线通信模块160可以提供应用在终端100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,终端100的天线1和移动通信模块150耦合,天线2和无线通信模块 160耦合,使得终端100可以通过无线通信技术与网络以及其他设备通信。
终端100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)。显示面板还可以采用有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,QLED)等制造。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1 的正整数。
在本申请实施例中,终端100追踪主角并确定主角的特写图像,以及显示图1A-图1M、图2A-图2D、图3A-图3C、图4A-图4H、图5A-图5E所示的用户界面的能力,依赖于上述GPU,显示屏194,以及应用处理器提供的显示功能。
终端100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体 (complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,终端100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。终端100可以支持一种或多种视频编解码器。这样,终端100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
在本申请实施例中,终端100通过ISP,摄像头193提供的拍摄能力采集原始图像,通过视频编解码器,GPU提供的图像计算与处理能力,执行追踪主角并确定主角的特写图像等计算处理。其中,终端100可通过NPU提供的计算处理能力,实施人脸识别、人体识别、重识别(ReID)等神经网络算法。
内部存储器121可以包括一个或多个随机存取存储器(random access memory,RAM) 和一个或多个非易失性存储器(non-volatile memory,NVM)。
随机存取存储器可以包括静态随机存储器(static random-access memory,SRAM)、动态随机存储器(dynamic random access memory,DRAM)、同步动态随机存储器(synchronous dynamic random access memory,SDRAM)、双倍资料率同步动态随机存取存储器(double data rate synchronous dynamic random access memory,DDR SDRAM,例如第五代DDR SDRAM一般称为DDR5 SDRAM)等。
非易失性存储器可以包括磁盘存储器件、快闪存储器(flash memory)。快闪存储器按照运作原理划分可以包括NOR FLASH、NAND FLASH、3D NAND FLASH等,按照存储单元电位阶数划分可以包括单阶存储单元(single-level cell,SLC)、多阶存储单元(multi-level cell,MLC)、三阶储存单元(triple-level cell,TLC)、四阶储存单元(quad-levelcell,QLC)等,按照存储规范划分可以包括通用闪存存储(英文:universal flashstorage,UFS)、嵌入式多媒体存储卡(embedded multi media Card,eMMC)等。
随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
在本申请实施例中,实现本申请实施例所述的视频编辑方法的代码可存储在非易失性存储器上。在运行相机应用时,终端100可将非易失性存储器中存储的可执行代码加载到随机存取存储器。
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展终端100的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。
终端100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端100 可以通过扬声器170A收听音乐,或收听免提通话。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。耳机接口170D用于连接有线耳机。
在本申请实施例中,终端100在启用摄像头采集图像的过程中,可以同时启用麦克风170C 采集声音信号,并将声音信号转换为电信号存储下来。这样,用户可以得到有声的视频。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。
陀螺仪传感器180B可以用于确定终端100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定终端100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测终端100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端100的抖动,实现防抖。
气压传感器180C用于测量气压。在一些实施例中,终端100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。磁传感器180D包括霍尔传感器。终端100可以利用磁传感器180D检测翻盖皮套的开合。加速度传感器180E可检测终端100在各个方向上(一般为三轴)加速度的大小。当终端100静止时可检测出重力的大小及方向。距离传感器180F,用于测量距离。终端100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,终端 100可以利用距离传感器180F测距以实现快速对焦。接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。终端100 通过发光二极管向外发射红外光。终端100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定终端100附近有物体。当检测到不充分的反射光时,终端100可以确定终端100附近没有物体。环境光传感器180L用于感知环境光亮度。终端100 可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。指纹传感器180H用于采集指纹。终端100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。温度传感器180J用于检测温度。在一些实施例中,终端100利用温度传感器180J检测的温度,执行温度处理策略。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于终端100的表面,与显示屏194所处的位置不同。
在本申请实施例中,终端100可利用触摸传感器180K检测用户作用于显示屏194上的点击、滑动等操作,以实现图1A-图1M、图2A-图2D、图4A-图4H、图5A-图5E所示的视频编辑方法。
骨传导传感器180M可以获取振动信号。按键190包括开机键,音量键等。终端100可以接收按键输入,产生与终端100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。终端100可以支持1个或N个SIM卡接口,N为大于 1的正整数。
本申请的说明书和权利要求书及附图中的术语“用户界面(user interface,UI)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。应用程序的用户界面是通过java、可扩展标记语言(extensible markup language,XML)等特定计算机语言编写的源代码,界面源代码在终端设备上经过解析,渲染,最终呈现为用户可以识别的内容,比如图片、文字、按钮等控件。控件(control) 也称为部件(widget),是用户界面的基本元素,典型的控件有工具栏(toolbar)、菜单栏(menu bar)、文本框(text box)、按钮(button)、滚动条(scrollbar)、图片和文本。界面中的控件的属性和内容是通过标签或者节点来定义的,比如XML通过<Textview>、<ImgView>、 <VideoView>等节点来规定界面所包含的控件。一个节点对应界面中一个控件或属性,节点经过解析和渲染之后呈现为用户可视的内容。此外,很多应用程序,比如混合应用(hybrid application)的界面中通常还包含有网页。网页,也称为页面,可以理解为内嵌在应用程序界面中的一个特殊的控件,网页是通过特定计算机语言编写的源代码,例如超文本标记语言 (hyper text markup language,GTML),层叠样式表(cascading style sheets,CSS),java脚本 (JavaScript,JS)等,网页源代码可以由浏览器或与浏览器功能类似的网页显示组件加载和显示为用户可识别的内容。网页所包含的具体内容也是通过网页源代码中的标签或者节点来定义的,比如GTML通过<p>、<img>、<video>、<canvas>来定义网页的元素和属性。
用户界面常用的表现形式是图形用户界面(graphic user interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线) 或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体 RAM、磁碟或者光盘等各种可存储程序代码的介质。

Claims (21)

1.一种视频编辑方法,应用于电子设备,其特征在于,所述方法包括:
在第一界面中显示第一图像以及所述第一图像关联的一个或多个标记;所述第一图像包括一个或多个对象,所述第一图像关联的一个或多个标记分别与所述第一图像中的一个或多个对象对应;所述第一图像为所述电子设备的摄像头当前采集的图像,或所述电子设备存储的第一视频中的一帧图像;
检测到作用于第一标记的第一操作;
响应于所述第一操作,确定第一对象为主角,获取以所述主角为中心的特写图像;所述第一图像关联的一个或多个标记包括所述第一标记,所述第一图像中的一个或多个对象包括所述第一对象,所述第一标记对应所述第一对象;
基于以所述主角为中心的特写图像,生成以所述主角为中心的第二视频。
2.根据权利要求1所述的方法,其特征在于,在确定第一对象为主角之后,还包括:
在所述第一界面中显示第二图像和所述第二图像关联的一个或多个标记,所述第二图像包括一个或多个对象,所述第二图像关联的一个或多个标记分别与所述第二图像中的一个或多个对象对应;所述第二图像为所述电子设备的摄像头采集的所述第一图像之后的图像,或所述第一视频中所述第一图像之后的一帧图像;
检测到作用于第二标记的第五操作;
响应于所述第五操作,将所述主角切换为第二对象,所述第二图像关联的一个或多个标记包括所述第二标记,所述第二图像中的一个或多个对象包括所述第二对象,所述第二标记对应所述第二对象;
所述获取以所述主角为中心的特写图像,包括:根据所述第一图像至所述第二图像之间包括所述第一对象的图像,生成以所述第一对象为中心的特写图像,根据所述第二图像及其之后的图像,生成以所述第二对象为中心的特写图像;
所述第二视频包括第一子视频和第二子视频,所述第一子视频是基于以所述第一对象为中心的特写图像生成的视频,所述第二子视频是基于以所述第二对象为中心的特写图像生成的视频。
3.根据权利要求1所述的方法,其特征在于,所述获取以所述主角为中心的特写图像,具体为:
根据所述第一视频中的所述第一图像至最后一帧图像中包括所述第一对象的图像,生成以所述第一对象为中心的特写图像。
4.根据权利要求1所述的方法,其特征在于,当所述第二图像为第一视频中所述第一图像之后的一帧图像时,在第一界面显示第一图像以及所述第一图像关联的一个或多个标记之前,所述方法还包括:
显示第一视频的缩略图;
检测到作用于所述第一视频的缩略图的第二操作;
所述在第一界面显示第一图像以及所述第一图像关联的一个或多个标记,包括:
响应于所述第二操作,在所述第一界面显示第一视频的第一帧图像,以及与所述第一帧图像中一个或多个对象对应的一个或多个标记,所述第一图像为所述第一帧图像。
5.根据权利要求1所述的方法,其特征在于,当所述第二图像为第一视频中所述第一图像之后的一帧图像时,在第一界面显示第一图像以及所述第一图像关联的一个或多个标记之前,所述方法还包括:
在所述第一界面显示第一视频的第一帧图像和第一控件;
检测到作用于所述第一控件的第三操作;
响应于所述第三操作,播放所述第一视频;
在第一界面显示第一图像以及所述第一图像关联的一个或多个标记,包括:
当所述第一视频播放到第M帧图像时,在所述第一界面显示所述第M帧图像,以及所述第M帧图像关联的一个或多个标记。
6.根据权利要求5所述的方法,其特征在于,所述当所述第一视频播放到第M帧图像时,在所述第一界面显示所述第M帧图像,以及所述第M帧图像关联的一个或多个标记,包括:
当所述第一视频播放到第M帧图像时,检测到作用于所述第一控件的第四操作;
响应于所述第四操作,暂停播放所述第一视频,显示当前播放到的第M帧图像;
响应于所述暂停播放的操作,在所述第M帧图像上显示所述第M帧图像关联的一个或多个标记。
7.根据权利要求1或2所述的方法,其特征在于,所述第一界面还包括第二控件,所述基于以所述主角为中心的特写图像,生成以所述主角为中心的第二视频,包括:
检测到作用于所述第二控件的第六操作;
响应于所述第六操作,基于以所述主角为中心的特写图像,生成以所述主角为中心的第二视频。
8.根据权利要求7所述的方法,其特征在于,当所述第一图像为所述电子设备的摄像头当前采集的图像时,所述第二控件为用于停止录像的控件。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:响应于所述第六操作,摄像头停止采集图像,基于摄像头已采集的图像生成并保存原始视频。
10.根据权利要求8所述的方法,其特征在于,在确定第一对象为主角之后,所述方法还包括:显示第一窗口,在所述第一窗口中显示所述以所述主角为中心的特写图像。
11.根据权利要求1或2所述的方法,其特征在于,当所述第一图像为所述电子设备的摄像头当前采集的图像时,所述方法还包括:检测到第一触发条件,所述第一触发条件为所述第一图像之后的连续的Y帧图像中不包括所述主角;
所述基于以所述主角为中心的特写图像,生成以所述主角为中心的第二视频,具体为:
响应于所述第一触发条件,基于以所述主角为中心的特写图像,生成以所述主角为中心的第二视频。
12.根据权利要求2所述的方法,其特征在于,所述根据所述第一图像至所述第二图像之间包括所述第一对象的图像,生成以所述第一对象为中心的特写图像,包括:
从所述第一图像中获取以所述第一对象为中心的第一特写图像;
从所述第三图像中获取以所述第一对象为中心的第三特写图像;所述第三图像是所述第一图像之后、所述第二图像之前的图像;所述第二视频包括所述第一特写图像和所述第二特写图像。
13.根据权利要求12所述的方法,其特征在于,在从所述第三图像中获取以所述第一对象为中心的第三特写图像之前,所述方法还包括:
确定所述第三图像中是否包括所述第一对象;
所述从所述第三图像中获取以所述第一对象为中心的第三特写图像,具体为:
当所述第三图像中包括所述第一对象时,从所述第三图像中获取以所述第一对象为中心的第三特写图像。
14.根据权利要求13所述的方法,其特征在于,所述确定所述第三图像中包括所述第一对象,包括:
利用人体检测算法识别所述第三图像中的人体图像区域;
当所述第三图像中的人体图像区域不重叠时,计算所述第三图像中的各个人体图像区域与所述第一图像中所述主角的人体图像区域的交并比IoU距离;确定所述IoU距离最小且满足IoU距离阈值的第一人体图像区域;所述第一人体图像区域对应的对象为所述主角;
当所述第三图像中的人体图像区域重叠时,计算所述第三图像中的各个人体图像区域与所述第一图像中所述主角的人体图像区域的IoU距离和重定位ReID距离;确定所述IoU距离与所述ReID距离的和最小且满足IoU+ReID距离阈值的第一人体图像区域;所述第一人体图像区域对应的对象为所述主角。
15.根据权利要求14所述的方法,其特征在于,所述从所述第三图像中获取以所述主角的为中心的第三特写图像,具体包括:基于所述第一人体图像区域确定包括所述第一人体图像区域的所述第三特写图像。
16.根据权利要求15所述的方法,其特征在于,所述基于所述第一人体图像区域确定包括所述第一人体图像区域的所述第三特写图像,具体包括:
根据所述第一人体图像区域确定第一缩放比;
基于所述第一缩放比确定所述第三特写图像的尺寸。
17.根据权利要求16所述的方法,其特征在于,所述根据所述第一人体图像区域确定第一缩放比,具体包括:根据所述第三图像中的最大的人体图像区域的尺寸和所述第一人体图像区域的尺寸,确定所述第一缩放比。
18.根据权利要求17所述的方法,其特征在于,所述基于所述第一缩放比确定所述第三特写图像的尺寸,具体包括:根据所述第一缩放比、预设的所述第二视频的尺寸,确定所述第三特写图像的尺寸。
19.根据权利要求18所述的方法,其特征在于,所述第三特写图像的宽高比与预设的所述第二视频的宽高比相同。
20.一种电子设备,其特征在于,包括一个或多个处理器和一个或多个存储器;其中,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得执行如权利要求1-19中任一项所述的方法。
21.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得执行如权利要求1-19中任一项所述的方法。
CN202210603653.3A 2022-05-30 2022-05-30 一种视频编辑方法和电子设备 Active CN116055861B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210603653.3A CN116055861B (zh) 2022-05-30 2022-05-30 一种视频编辑方法和电子设备
PCT/CN2023/089100 WO2023231622A1 (zh) 2022-05-30 2023-04-19 一种视频编辑方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210603653.3A CN116055861B (zh) 2022-05-30 2022-05-30 一种视频编辑方法和电子设备

Publications (2)

Publication Number Publication Date
CN116055861A true CN116055861A (zh) 2023-05-02
CN116055861B CN116055861B (zh) 2023-10-20

Family

ID=86113880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210603653.3A Active CN116055861B (zh) 2022-05-30 2022-05-30 一种视频编辑方法和电子设备

Country Status (2)

Country Link
CN (1) CN116055861B (zh)
WO (1) WO2023231622A1 (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1713254A2 (en) * 2005-04-14 2006-10-18 THOMSON Licensing Camera system with PIP in viewfinder
JP2007086269A (ja) * 2005-09-21 2007-04-05 Hitachi Kokusai Electric Inc カメラ装置およびカメラ装置のズームレンズ光学系の焦点距離調節方法
US20090256901A1 (en) * 2008-04-15 2009-10-15 Mauchly J William Pop-Up PIP for People Not in Picture
KR20110112686A (ko) * 2010-04-07 2011-10-13 (주)조아영상기술 화상 회의 장치 및 방법
CN105519097A (zh) * 2013-08-27 2016-04-20 高通股份有限公司 用于显示画中画的系统、装置和方法
CN105913453A (zh) * 2016-04-01 2016-08-31 海信集团有限公司 一种目标跟踪方法和装置
CN108604379A (zh) * 2016-02-12 2018-09-28 高通股份有限公司 用于确定图像中的区域的系统及方法
CN110301136A (zh) * 2017-02-17 2019-10-01 Vid拓展公司 在流传输视频中进行选择性感兴趣对象缩放的系统和方法
CN111052753A (zh) * 2017-08-30 2020-04-21 Vid拓展公司 跟踪式视频缩放
CN111093026A (zh) * 2019-12-30 2020-05-01 维沃移动通信(杭州)有限公司 视频处理方法、电子设备及计算机可读存储介质
CN111401238A (zh) * 2020-03-16 2020-07-10 湖南快乐阳光互动娱乐传媒有限公司 一种视频中人物特写片段的检测方法及装置
CN112954219A (zh) * 2019-03-18 2021-06-11 荣耀终端有限公司 一种多路录像方法及设备
CN114125179A (zh) * 2021-12-07 2022-03-01 维沃移动通信有限公司 拍摄方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010232814A (ja) * 2009-03-26 2010-10-14 Nikon Corp 映像編集プログラムおよび映像編集装置
US10645344B2 (en) * 2010-09-10 2020-05-05 Avigilion Analytics Corporation Video system with intelligent visual display
CN109922363A (zh) * 2019-03-15 2019-06-21 青岛海信电器股份有限公司 一种显示画面截图的图形用户界面方法及显示设备
CN111757138A (zh) * 2020-07-02 2020-10-09 广州博冠光电科技股份有限公司 一种基于单镜头直播视频的特写显示方法及装置

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1713254A2 (en) * 2005-04-14 2006-10-18 THOMSON Licensing Camera system with PIP in viewfinder
JP2007086269A (ja) * 2005-09-21 2007-04-05 Hitachi Kokusai Electric Inc カメラ装置およびカメラ装置のズームレンズ光学系の焦点距離調節方法
US20090256901A1 (en) * 2008-04-15 2009-10-15 Mauchly J William Pop-Up PIP for People Not in Picture
KR20110112686A (ko) * 2010-04-07 2011-10-13 (주)조아영상기술 화상 회의 장치 및 방법
CN105519097A (zh) * 2013-08-27 2016-04-20 高通股份有限公司 用于显示画中画的系统、装置和方法
CN108604379A (zh) * 2016-02-12 2018-09-28 高通股份有限公司 用于确定图像中的区域的系统及方法
CN105913453A (zh) * 2016-04-01 2016-08-31 海信集团有限公司 一种目标跟踪方法和装置
CN110301136A (zh) * 2017-02-17 2019-10-01 Vid拓展公司 在流传输视频中进行选择性感兴趣对象缩放的系统和方法
CN111052753A (zh) * 2017-08-30 2020-04-21 Vid拓展公司 跟踪式视频缩放
CN112954219A (zh) * 2019-03-18 2021-06-11 荣耀终端有限公司 一种多路录像方法及设备
CN111093026A (zh) * 2019-12-30 2020-05-01 维沃移动通信(杭州)有限公司 视频处理方法、电子设备及计算机可读存储介质
CN111401238A (zh) * 2020-03-16 2020-07-10 湖南快乐阳光互动娱乐传媒有限公司 一种视频中人物特写片段的检测方法及装置
CN114125179A (zh) * 2021-12-07 2022-03-01 维沃移动通信有限公司 拍摄方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱青松 等: "《基于高斯混合模型的说话人识别系统》", 《黑龙江科技学院学报》, pages 45 - 48 *

Also Published As

Publication number Publication date
WO2023231622A1 (zh) 2023-12-07
WO2023231622A9 (zh) 2024-02-01
CN116055861B (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
WO2021147482A1 (zh) 一种长焦拍摄的方法及电子设备
CN111526314B (zh) 视频拍摄方法及电子设备
CN113747085B (zh) 拍摄视频的方法和装置
CN113099146B (zh) 一种视频生成方法、装置及相关设备
WO2022262475A1 (zh) 拍摄方法、图形用户界面及电子设备
CN113536866A (zh) 一种人物追踪显示方法和电子设备
CN114845059B (zh) 一种拍摄方法及相关设备
CN114866860A (zh) 一种播放视频的方法及电子设备
CN116055861B (zh) 一种视频编辑方法和电子设备
CN115442509B (zh) 拍摄方法、用户界面及电子设备
CN116055867B (zh) 一种拍摄方法和电子设备
CN115914860A (zh) 一种拍摄方法及电子设备
WO2023231616A1 (zh) 一种拍摄方法和电子设备
CN117221743A (zh) 一种拍摄方法和电子设备
CN115883957B (zh) 一种拍摄模式推荐方法
CN114285963B (zh) 多镜头视频录制方法及相关设备
WO2023231696A1 (zh) 一种拍摄方法及相关设备
CN115802144B (zh) 视频拍摄方法及相关设备
CN117459825A (zh) 一种拍摄方法和电子设备
WO2022228010A1 (zh) 一种生成封面的方法及电子设备
CN117221709A (zh) 一种拍摄方法及相关电子设备
CN115883958A (zh) 一种人像拍摄方法
CN117221708A (zh) 一种拍摄方法及相关电子设备
CN117119285A (zh) 一种拍摄方法
CN117221707A (zh) 一种视频处理方法和终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant