CN114097248B - 一种视频流处理方法、装置、设备及介质 - Google Patents
一种视频流处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114097248B CN114097248B CN201980079311.2A CN201980079311A CN114097248B CN 114097248 B CN114097248 B CN 114097248B CN 201980079311 A CN201980079311 A CN 201980079311A CN 114097248 B CN114097248 B CN 114097248B
- Authority
- CN
- China
- Prior art keywords
- image
- video stream
- target
- target person
- person
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/21805—Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/251—Learning process for intelligent management, e.g. learning user preferences for recommending movies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/437—Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/4728—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8549—Creating video summaries, e.g. movie trailer
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/0093—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20068—Projection on vertical or horizontal image axis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0081—Depth or disparity estimation from stereoscopic image signals
Abstract
本申请提供了一种视频流处理方法,涉及人工智能领域,包括:从多路视频流中获取目标人物的图像集,图像集中的图像包括目标人物的正面人脸,针对图像集中的图像确定目标人物视角模式下的虚拟视点,根据多路视频流中与目标人物的视域存在交集的图像(即目标图像)的深度图以及目标图像对应的真实视点的位姿,将目标图像投影到虚拟视点对应的成像平面,得到目标人物视角模式下的视频流。上述方法无需消耗较高的计算资源以及较长时间进行渲染,能够满足直播等业务需求,并且能够提供目标人物视角模式下的视频流,提升了交互体验。
Description
技术领域
本申请涉及人工智能(artificial intelligence,AI)技术领域,尤其涉及一种视频流处理方法、装置、设备以及可读计算机存储介质。
背景技术
随着通信技术的发展,通信网络的传输速率和容量不断提高,一些受带宽限制无法使用的交互方式从理论变为实际。例如,在视频应用场景中,尤其是直播场景中,视频平台可以将多个同步摄像机在不同视角下拍摄产生的多路视频流同时传输到用户端,用户可以在端侧切换不同视角下的视频流,从而获得更好的交互体验。
目前,业界提供了一种基于点云技术的多路视频流处理方案,该方案具体是通过数十台高清摄像头对现场进行拍摄,然后基于拍摄得到的多路视频流,利用点云技术重建现场,使得用户可以在多个不同视角下进行回看。
然而,点云技术需要消耗超高的计算资源,一个短短的瞬间往往需要10分钟以上的时间进行渲染,难以满足直播等业务需求,并且该方案提供的多个视角仍属于第三人称视角(third-person view),交互效果不佳。
发明内容
本申请提供了一种视频流处理方法,解决了已有的视频流处理方法需要消耗超高计算资源以及较长的时间进行渲染,难以满足直播等业务需求,以及处理后的多视角仍然属于第三人称视角导致交互效果不佳的问题。本申请还提供了对应的视频流处理装置、设备、计算机可读存储介质以及计算机程序产品。
第一方面,本申请提供了一种视频流处理方法,该方法可以应用于服务器或者服务器集群,为了方便描述,以服务器进行示例说明。具体地,多个摄像机可以对同一现场如比赛现场、文娱活动现场等进行拍摄,得到多路视频流,服务器获取多路视频流,从该多路视频流中获取目标人物的图像集。其中,图像集中的图像包括目标人物的正面人脸。接着,服务器针对图像集中的图像确定目标人物视角模式下的虚拟视点,然后根据多路视频流中与目标人物的视域存在交集的图像(以下称之为目标图像)的深度图以及目标图像对应的真实视点的位姿,将目标图像投影到虚拟视点对应的成像平面,从而得到目标人物视角模式下的视频流。
一方面,仅需对与目标人物的视域存在交集的图像进行处理,大大减少了计算量,无需消耗较多的计算资源以及花费较长的时间进行渲染,可以满足直播等业务需求;另一方面,能够将第三人称视角模式下的视频流转换为目标人物视角模式(其属于第一人称视角模式)下的视频流,可以提升代入感,具有较好的交互效果。
结合第一方面,在第一方面的第一种实现方式中,服务器可以基于瞳孔识别的方式确定目标人物视角模式下的虚拟视点。具体地,图像集中的图像能够识别出目标人物的瞳孔,服务器可以对图像集中至少一帧图像进行人脸角度估计和瞳孔位置估计,确定目标人物视角模式下的虚拟视点在世界坐标系中的角度,根据至少一帧图像对应的深度图确定目标人物视角模式下的虚拟视点到世界坐标系原点的距离,如此,即确定出目标人物视角模式下的虚拟视点。通过该方法可以快速且准确地定位虚拟视点,有利于提高视频流处理效率和精确度。
结合第一方面的第一种实现方式,在第一方面的第二种实现方式中,服务器可以先通过人脸对齐确定图像集中至少一帧图像中目标人物的眼部区域得到眼部图像,利用预训练的深度神经网络对目标人物的眼部图像进行瞳孔位置识别,进而可以基于识别到的瞳孔位置确定虚拟视点。
结合第一方面,在第一方面的第三种实现方式中,服务器可以通过将图像先反投影到三维空间,然后从三维空间投影到虚拟视点对应的成像平面上的方式实现视频流的视角模式转换。
具体地,服务器根据目标图像对应的真实视点的位姿确定第一投影矩阵,通过第一投影矩阵和目标图像的深度图将目标图像反投影到三维空间,如世界坐标系中,然后根据虚拟视点的位姿确定第二投影矩阵,根据第二投影矩阵将三维空间的像素点投影到虚拟视点对应的成像平面。
结合第一方面,在第一方面的第四种实现方式中,服务器可以通过下述公式实现将目标图像反投影到三维空间,以及将三维空间的像素点投影到虚拟视点对应的成像平面。
具体地,服务器根据如下公式求解目标图像中的点m(u,v)映射到世界坐标系中的点M(X,Y,Z):sm(u,v)=PM(X,Y,Z)
其中,s为收缩因子,P为第一投影矩阵,M(X,Y,Z)中的Z根据深度图确定。
服务器根据如下公式确定世界坐标系中的点M(X,Y,Z)映射到虚拟视点对应的成像平面中的点m′(u,v):
sm′(u,v)=PvM(X,Y,Z)
其中,Pv为第二投影矩阵。
结合第一方面或第一方面的第一种实现方式至第四种实现方式中的任一种实现方式,在第一方面的第五种实现方式中,服务器可以解码多路视频流得到与至少一路视频流对应的图像帧序列,对图像帧序列中至少一帧图像进行人脸检测,然后对同一人物的人脸进行聚类,并从聚类的图像中筛选包括正面人脸的图像,得到目标人物的图像集。
结合第一方面或第一方面的第一种实现方式至第四种实现方式中的任一种实现方式,在第一方面的第六种实现方式中,服务器可以将用户指定的人物确定为目标人物,或者将出现频次高于预设频次的人物确定为目标人物。如此,在满足用户需求的情况下,减少了计算资源消耗。
结合第一方面或第一方面的第一种实现方式至第四种实现方式中的任一种实现方式,在第一方面的第七种实现方式中,服务器可以响应于用户端发送的模式切换请求,向用户端发送目标人物视角模式下的视频流。
第二方面,本申请提供了一种视频流处理方法,该方法可以应用于用户端。其中,用户端具体可以是手机、电脑、电视等任意用户设备。具体实现时,用户端可以向服务器发送模式切换请求,该模式切换请求中携带目标人物的标识,目标人物为多个摄像机对同一现场拍摄所得多路视频流中包括的人物,服务器可以向用户端返回目标人物视角模式下的视频流,该目标人物视角模式下的视频流时根据目标图像的深度图以及目标图像对应的真实视点的位姿,将多路视频流中与目标人物的视域存在交集的图像(以下称之为目标图像)投影到所述目标人物视角模式下的虚拟视点对应的成像平面所得,其中,所述虚拟视点是根据从所述多路视频流中获取的所述目标人物的图像集中至少一帧图像确定,所述图像集中至少一帧图像包括所述目标人物的正面人脸,接着用户端播放所述目标人物视角模式下的视频流。如此,用户代入目标人物视角观看视频,获得较好的交互体验。
结合第二方面,在第二方面的第一种实现方式中,用户端还可以接收服务器返回的关联人物视角模式下的视频流。其中,关联人物为多路视频流中与目标人物存在关联关系的人物。例如,在足球比赛直播场景中,目标人物为前锋时,其关联人物可以是对方防守球员或者守门员,在一些情况下,如出现争议情况下,关联人物还可以是裁判等等。
对应地,用户端不仅播放目标人物视角模式下的视频流,还播放关联人物视角模式下的视频流。例如可以通过多个窗口并行播放目标人物视角模式下的视频流,或者在目标人物视角模式对应的播放窗口中以小窗口的形式播放关联人物视角模式下的视频流。如此,用户可以基于目标人物视角模式以及关联人物视角模式下的视频流获取更丰富的信息,进一步提升了用户体验。
结合第二方面或者第二方面的第一种实现方式,在第二方面的第二种实现方式中,用户可以通过遥控、触控、语音控制或者手势控制等多种方式中的任意一种触发模式切换操作。
对应地,用户端可以响应于用户通过遥控设备触发的模式切换操作,生成所述模式切换请求;或者,响应于用户通过触控或者点击模式切换控件触发的模式切换操作,生成所述模式切换请求;或者,响应于用户通过语音或手势触发的模式切换操作,生成所述模式切换请求。
结合第二方面或者第二方面的第一种实现方式,在第二方面的第二种实现方式中,用户端还可以在视频流播放界面,显示服务器推送的目标人物视角模式下的视频流对应的视频摘要。用户端可以响应于对视频摘要的触发操作,生成模式切换请求,用于将第三人称视角模式切换为所述目标人物视角模式。
第三方面,本申请提供了一种视频流处理装置,该装置包括:
通信模块,用于获取多路视频流,所述多路视频流为多个摄像机对同一现场拍摄所得;
定位模块,用于从所述多路视频流中获取目标人物的图像集,针对所述图像集确定目标人物视角模式下的虚拟视点,所述图像集中的图像包括所述目标人物的正面人脸;
投影模块,用于根据目标图像的深度图以及所述目标图像对应的真实视点的位姿,将所述目标图像投影到所述虚拟视点对应的成像平面,得到所述目标人物视角模式下的视频流,所述目标图像包括所述多路视频流中与所述目标人物的视域存在交集的图像。
结合第三方面,在第三方面的第一种实现方式中,定位模块具体用于:
对所述图像集中至少一帧图像进行人脸角度估计和瞳孔位置估计,确定目标人物视角模式下的虚拟视点在世界坐标系中的角度;
根据所述至少一帧图像对应的深度图确定所述目标人物视角模式下的虚拟视点到所述世界坐标系原点的距离。
结合第三方面的第一种实现方式,在第三方面的第二种实现方式中,定位模块具体用于:
通过人脸对齐确定所述图像集中至少一帧图像中所述目标人物的眼部区域得到眼部图像;
利用预训练的深度神经网络对所述目标人物的眼部图像进行瞳孔位置识别。
结合第三方面,在第三方面的第三种实现方式中,投影模块具体用于:
根据所述目标图像对应的真实视点的位姿确定第一投影矩阵;
通过所述第一投影矩阵和所述目标图像的深度图将所述目标图像反投影到三维空间;
根据所述虚拟视点的位姿确定第二投影矩阵;
根据所述第二投影矩阵将所述三维空间的像素点投影到所述虚拟视点对应的成像平面。
结合第三方面的第三种实现方式,在第三方面的第四种实现方式中,投影模块具体用于:
根据如下公式求解目标图像中的点m(u,v)映射到世界坐标系中的点M(X,Y,Z):
sm(u,v)=PM(X,Y,Z)
其中,s为收缩因子,P为第一投影矩阵,所述M(X,Y,Z)中的Z根据深度图确定;
根据如下公式确定世界坐标系中的点M(X,Y,Z)映射到虚拟视点对应的成像平面中的点m′(u,v):
sm′(u,v)=PvM(X,Y,Z)
其中,Pv为第二投影矩阵。
结合第三方面或第三方面的第一种实现方式至第四种实现方式中的任意一种实现方式,在第三方面的第五种实现方式中,定位模块具体用于:
解码所述多路视频流得到与至少一路视频流对应的图像帧序列;
对所述图像帧序列中至少一帧图像进行人脸检测,然后对同一人物的人脸进行聚类,并从聚类的图像中筛选包括正面人脸的图像,得到目标人物的图像集。
结合第三方面或第三方面的第一种实现方式至第四种实现方式中的任意一种实现方式,在第三方面的第六种实现方式中,所述装置还包括:
确定模块,用于将用户指定的人物确定为所述目标人物,或者将出现频次高于预设频次的人物确定为所述目标人物。
结合第三方面或第三方面的第一种实现方式至第四种实现方式中的任意一种实现方式,在第三方面的第七种实现方式中,通信模块还用于:
响应于用户端发送的模式切换请求,向所述用户端发送所述目标人物视角模式下的视频流。
第四方面,本申请提供了一种视频流处理装置,该装置包括:
通信模块,用于向服务器发送模式切换请求,所述模式切换请求中携带目标人物的标识,所述目标人物为多个摄像机对同一现场拍摄所得多路视频流中包括的人物;
所述通信模块,还用于接收所述服务器返回的所述目标人物视角模式下的视频流,所述目标人物视角模式下的视频流是根据目标图像的深度图以及所述目标图像对应的真实视点的位姿,将目标图像投影到所述目标人物视角模式下的虚拟视点对应的成像平面所得,所述目标图像为所述多路视频流中与所述目标人物的视域存在交集的图像,所述虚拟视点是根据从所述多路视频流中获取的所述目标人物的图像集中至少一帧图像确定,所述图像集中至少一帧图像包括所述目标人物的正面人脸;
播放模块,用于播放所述目标人物视角模式下的视频流。
结合第四方面,在第四方面的第一种实现方式中,所述通信模块还用于:
接收所述服务器返回的关联人物视角模式下的视频流,所述关联人物为所述多路视频流中与所述目标人物具有关联关系的人物;
所述播放模块具体用于:
播放所述目标人物视角模式下的视频流以及所述关联人物视角模式下的视频流。
结合第四方面或第四方面的第一种实现方式,在第四方面的第二种实现方式中,所述装置还包括:
生成模块,用于响应于用户通过遥控设备触发的模式切换操作,生成所述模式切换请求,或者,响应于用户通过触控或者点击模式切换控件触发的模式切换操作,生成所述模式切换请求,或者,响应于用户通过语音或手势触发的模式切换操作,生成所述模式切换请求。
结合第四方面或第四方面的第一种实现方式,在第四方面的第三种实现方式中,所述装置还包括:
显示模块,用于在视频流播放界面,显示所述服务器推送的所述目标人物视角模式下的视频流对应的视频摘要;
生成模块,用于响应于对所述视频摘要的触发操作,生成所述模式切换请求,用于将第三人称视角模式切换为所述目标人物视角模式。
第五方面,本申请提供了一种设备,所述设备包括处理器和存储器;
所述存储器,用于存储计算机指令;
所述处理器,用于根据所述计算机指令执行如第一方面所述的视频流处理方法。
第六方面,本申请提供了一种设备,所述设备包括处理器、显示器和存储器;
所述存储器,用于存储计算机指令;
所述处理器,用于根据所述计算机指令通过所述显示器执行如第二方面所述的视频流处理方法。
第七方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面所述的视频流处理方法。
第八方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第二方面所述的视频流处理方法。
第九方面,本申请提供了一种包含指令的计算机程序产品,当其在设备上运行时,使得设备执行上述第一方面所述的视频流处理方法。
第十方面,本申请提供了一种包含指令的计算机程序产品,当其在设备上运行时,使得设备执行上述第二方面所述的视频流处理方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请提供的一种视频流处理系统的逻辑架构示意图;
图2为本申请提供的一种视频流处理方法的流程图;
图3为本申请提供的一种人脸在图像中角度的示意图;
图4为本申请提供的一种人脸在世界坐标系中角度的示意图;
图5为本申请提供的一种确定虚拟视点的示意图;
图6为本申请提供的一种视频流转换为第一人称视角模式的效果示意图;
图7为本申请提供的一种坐标系关系示意图;
图8为本申请提供的一种图像坐标系和摄像机坐标系转换示意图;
图9为本申请提供的一种摄像机坐标系和世界坐标系的转换示意图;
图10为本申请提供的一种世界坐标系映射到像素坐标系的示意图;
图11为本申请提供的一种视频流处理方法的流程图;
图12为本申请提供的一种视频流处理方法的场景图;
图13为本申请提供的一种视频流处理装置的结构示意图;
图14为本申请提供的一种视频流处理装置的结构示意图;
图15为本申请提供的一种计算机集群的结构示意图;
图16为本申请提供的一种终端计算设备的结构示意图。
具体实施方式
本申请提供一种视频流处理方法,该方法通过多路视频流中包括目标人物正面人脸的图像确定目标人物视角模式下的虚拟视点,然后基于深度图以及真实视点的位姿,将多路视频流中与目标人物的视域存在交集的图像投影到虚拟视点对应的成像平面,从而得到目标人物视角模式下的视频流,如此可以使得观众代入视频流中的目标人物,增强了交互感。而且,在对视频流进行转换时,仅需对与目标人物视域存在交集的图像进行投影,大幅减少了需要处理的图像数量,提高了转换效率,能够满足实时性业务需求。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
图1为本申请提供的一种视频流处理系统的逻辑架构示意图,如图所示,该系统包括摄像机102、服务器104和用户端106,服务器104通过网络与摄像机102和用户端106连接,其中,摄像机102具有分辨率在4K或4K以上的高清摄像头,通过上述高清摄像头对体育赛事或文娱表演等大型活动现场进行图像采集,可以得到多路具有较高清晰度的视频流。
考虑到传输速率和网络容量,在实际应用时,可以通过第五代移动通信网络(5thgeneration mobile networks,5G)进行视频流传输,当多路视频流传输至服务器104时,服务器可以对上述多路视频流进行处理,具体是将视频流从第三人称视角模式(也称作上帝模式)转换为第一人称视角模式(即视频流中人物的视角模式),如此可以为观众提供多种视角模式的视频流。
具体地,服务器104可以包括通信模块1042、定位模块1044和投影模块1046,通信模块1042可以从多个摄像机102获取每个摄像机102对现场进行拍摄所得视频流,得到多路视频流。定位模块1044可以对多路视频流进行处理,确定目标人物视角模式下的虚拟视点。例如,定位模块1044可以通过人脸识别技术识别多路视频流中的至少一帧图像,根据包括目标人物的正面人脸的图像获得目标人物的图像集,然后针对图像集中至少一帧图像确定目标人物视角模式下的虚拟视点。投影模块1046根据目标图像(即多路视频流中与目标人物的视域存在交集的图像)的深度图以及目标图像对应的真实视点的位姿,将目标图像投影到虚拟视点对应的成像平面,得到目标人物视角模式下的视频流。
观众可以通过用户端106触发模式选择操作,用户端106响应于该模式选择操作,从服务器104中获取对应模式的视频流,并显示该视频流。进一步地,观众在观看视频流时,还可以通过用户端106触发模式切换操作,用户端响应于该模式切换操作,从服务器104中获取与切换后模式匹配的视频流,实现视角模式实时切换。观众可以通过第三人称视角模式观看视频,也可以随时代入视频流中目标人物视角模式观看视频,具有较好的交互体验。
在图1所示实施例中,服务器104可以是独立服务器,也可以是云服务器,考虑到成本以及计算能力,在实际应用时,可以采用云服务器;用户端106是任意能够播放视频流的设备,在一个示例中,用户端106包括但不限于台式机、笔记本电脑、平板电脑、手机或者电视。
需要说明的是,图1所示的系统架构仅仅是为了更好的说明本申请所提供的视频流处理方法所提供的系统架构的示例,并不构成对本申请实施例的限定。
接下来,结合图2从服务器角度详细介绍本申请所提供的视频流处理方法,如图所示,所述方法包括:
S202:从多路视频流中获取目标人物的图像集。
多路视频流具体是多个摄像机对同一现场拍摄所得的视频流,例如可以是多个摄像机对体育赛事或者文娱晚会等大型活动现场拍摄所得的视频流。考虑到观众对视频清晰度的要求,可以采用具有高清摄像头的摄像机对上述现场进行拍摄,其中,高清摄像头具体是指分辨率在预设分辨率以上,预设分辨率可以根据实际需求设置,在一个示例中,预设分辨率可以设置为4K。
由于高清晰度的视频流对传输带宽要求和网络容量较高,服务器可以通过5G通信网络接收上述多路视频流,当然,随着通信技术的发展,服务器也可以采用其他具有较大带宽和较大网络容量的通信模块接收上述多路视频流。
为了实现目标人物视角模式转换,服务器先对多路视频流中的目标人物进行识别。具体地,服务器可以先利用解码器对上述多路视频流进行解码,得到与各路视频流对应的图像帧序列,然后针对图像帧序列中的至少一帧图像,通过人脸检测技术检测出该图像中出现的人脸,然后利用人脸识别技术对同一人物的人脸进行聚类,并从聚类的图像中筛选包括该目标人物正面人脸的图像,得到目标人物的图像集,该图像集中至少一帧图像包括目标人物的正面人脸。需要说明的是,包括目标人物正面人脸的图像是指任意能够呈现目标人物全脸概貌的图像,并不局限于摄像机完全正对人脸拍摄所得图像。
其中,人脸检测可以通过人脸检测网络实现,该人脸检测网络以包括人脸的图像为输入,以标识人脸位置的检测框为输出。在实际应用时,服务器可以直接利用开源的人脸检测网络进行人脸检测,也可以获取标注有人脸位置的训练样本,利用该训练样本训练人脸检测网络,并利用训练好的人脸检测网络进行人脸检测。
在上述人脸检测基础上,服务器可以对人脸特征点进行标定,并基于标定的特征点信息识别人脸,从而实现人脸聚类。其中,人脸特征点也称作人脸关键点,具体是标识人脸关键部位的点,该关键部位可以是眉毛、眼睛、鼻子、嘴巴、下颌等部位中的至少一个,针对一个部位可以采用至少一个点进行标识。可以理解,采用多个部位以及较多的点进行标识,有利于提高人脸识别或者人脸聚类的准确度。
在对人脸进行标识后,可以将人脸特征点对应的特征信息扩展到高维向量空间,通过在高维向量空间计算人脸距离,例如可以计算欧式距离,将该距离与预设的判别阈值进行比较,从而确定两张人脸是否为同一个人,将包括同一个人的人脸的图像进行聚合即实现人脸聚类。其中,高维向量空间的维度以及判别阈值可以根据经验值设置,作为一个示例,高维向量空间可以是128维向量空间,判别阈值可以是0.6。
在对人脸图像通过人脸特征点标识出人脸关键部位后,服务器还可以将其与标准人脸比较,计算出人脸特征点偏移的角度,从而得到人脸在图像中的角度,服务器可以根据人脸在图像中的角度确定正面人脸,如此,服务器可以从聚类后的图像中筛选出包括正面人脸的图像,得到目标人物的图像集。
可以理解,上述目标人物可以是多路视频流中出现人物中的任意一个或多个,也即服务器可以对多路视频流中出现的所有人物进行人脸聚类,并筛选包括各人物正面人脸的图像得到各人物的图像集,作为目标人物的图像集,当然,服务器也可以仅对多路视频流出现的所有人物中的部分人物进行人脸聚集,并筛选包括正面人脸的图像得到部分人物的图像集,作为目标人物的图像集。
综合成本和收益等多方面因素,在实际应用中,服务器可以将将用户指定的人物确定为所述目标人物,或者,将多路视频流中出现频次高于预设频次的人物确定为所述目标人物,然后对该目标人物进行人脸聚类,并基于聚类结果筛选包括目标人物正脸的图像得到目标人物的图像集。
S204:针对所述图像集中至少一帧图像确定目标人物视角模式下的虚拟视点。
在本实施例中,为了将多路视频流转换为目标人物视角模式下的视频流,服务器可以在目标人物的视线起点(即视点)处虚拟一摄像机,然后将真实摄像机拍摄的图像投影到上述虚拟摄像机的成像平面上,从而实现视角模式转换。其中,虚拟的摄像机所在位置即虚拟的视线起点,也称作虚拟视点。
考虑到需要将多个摄像机拍摄的图像投影到虚拟摄像机的成像平面,服务器可以建立世界坐标系,从而实现在世界坐标系中对多个摄像机拍摄的图像进行统一处理。在世界坐标系中对多个摄像机拍摄的图像进行处理时,可以先确定目标人物视角模式下的虚拟视点在世界坐标系的位置。
虚拟视点在世界坐标系中的位置可以通过虚拟视点在世界坐标系中的角度以及虚拟视点到世界坐标系原点的距离进行表征。在实际应用时,针对图像集中至少一帧图像,服务器可以根据图像中的瞳孔在世界坐标系中的角度确定虚拟视点在世界坐标系中的角度,根据图像对应的深度图确定虚拟视点到世界坐标系原点的距离,从而确定出虚拟视点在世界坐标系中的位置,即确定出目标人物视角模式下的虚拟视点。需要说明,在采用瞳孔位置确定目标人物视角模式下的虚拟视点时,图像集中包括正面人脸的图像应能够识别出瞳孔。
在一些可能的实现方式中,服务器可以针对图像集中至少一帧图像进行人脸角度估计,确定目标人物的人脸在世界坐标系中的角度,以及对图像中目标人物的瞳孔进行瞳孔位置估计,确定瞳孔在人脸中的角度,根据目标人物的瞳孔在人脸中的角度以及目标人物的人脸在世界坐标系中的角度可以确定目标人物的瞳孔在世界坐标系中的角度。
在具体实现时,服务器可以采用预训练的位置网格回归网络(position mapregression network,RPN)将图像集中至少一帧图像的人脸与标准人脸进行比较,利用仿射变换反向求解人脸关键点偏移的角度,得到至少一帧图像中目标人物的人脸在图像中的角度,接着服务器可以根据目标人物的人脸在图像中的角度以及图像的成像平面在世界坐标系中的角度可以确定出目标人物的人脸在世界坐标系中的角度,得到人脸角度估计结果。
参见图3,人脸在图像中的角度可以通过摄像机坐标系(基于摄像机建立的坐标系,以光心为原点,以光轴为z轴,xy平面与图像的成像平面平行)下x,y,z轴三个方向的旋转角进行表征,具体表示为roll,yaw和pitch。其中,roll用于表示左右歪脑袋的角度,yaw用于表示头部左右摇动的角度,pitch用于表示头部俯仰的角度。由于所有角度取值范围均为-180°至180°,因此,服务器可以在摄像机坐标系中利用上述三个角度值模拟任意角度。
进一步地,服务器将上述角度根据摄像机视角对应至世界坐标系中,可以得到人脸在世界坐标系中的角度。为了便于理解,以世界坐标系和摄像机坐标系在x轴方向上的旋转角的对应关系进行示例说明。
参见图4,在该示例中,摄像机的视角为α,人脸在图像中的角度在x轴的分量为β,假定顺时针方向为正,水平角度为0°,在世界坐标系中人脸角度在x轴的分量可以为180+α+β,同理,世界坐标系中人脸角度在y轴、z轴的分量可以采用类似的方式确定,由此可以确定出人脸在世界坐标系中的角度。
针对图像集中至少一帧图像,服务器还可以定位人眼的关键位置,截取眼部图像进行瞳孔位置估计。具体实现时,服务器可以通过人脸对齐确定至少一帧图像中所述目标人物的眼部区域得到眼部图像,然后利用预训练的深度神经网络(deep neural networks,DNN)对所述目标人物的眼部图像进行瞳孔位置识别。
其中,DNN可以通过标注瞳孔中心的数据集训练得到。具体地,通过人工或机器的方式,用矩形框在图像上标注眼球在眼眶中的位置,并定位出瞳孔的中心位置,作为训练数据,采用裁剪后的残差网络(residual neural network,ResNet)即ResNet18作为主干网络,然后将基于一阶多框检测(single shot multibox detector,SSD)的目标提取检测网络(具体是该网络的一部分)接在ResNet18之后,形成一个完整的SSD网络。
SSD网络的顶层toplayers(也称作额外特征层extra feature layers)由多个卷积层组成。在实际应用时,可以将图像划分为多个小块,一个小块即为一个cell,一个cell由至少一个网格组成,例如可以由8*8网格或者6*6网格组成,SSD的extra feature layers通过池化层pooling layer(或者通过设置步长stride=2)不断将网格数减半,直至为1,相应的,每个网格的大小也随着网格数减半而翻倍增加,如此可以创造出不同形状大小的网格(本申请称之为multibox)来锚定不同形状大小的物体。
对于一个大小为m*n,p通道的卷积层,可以使用3*3的p通道卷积核作为基础预测元素进行预测,在图像的至少一个位置可以得到预测值,该预测值可以是属于某一类别如眼球的得分,其可以表征该位置属于眼球的概率,也可以是预测的矩形检测框相对于标注的矩形检测框的偏移量,基于上述得分或偏移量对SSD模型参数进行调整,从而实现SSD模型训练。
在训练得到SSD模型后,将图像集中至少一帧图像输入至SSD模型进行检测,然后对矩形检测框求取内接圆心可以得到瞳孔的中心位置,该中心位置即为瞳孔位置估计结果。基于瞳孔位置在眼眶中的位置可以确定瞳孔在人脸中的角度,其中,瞳孔在人脸中的角度可以包括水平方向角度horizon和垂直方向角度vertical。根据人脸在世界坐标系中的角度(yaw,pitch,roll)和瞳孔在人脸中的角度(horizon,vertical)可以确定瞳孔在世界坐标系中的角度,具体可以表示为(yaw+horizon,pitch+vertical,roll)。需要说明,眼球不动时,从左向右能看到的最大视野为115°,即保持视线下的最大视野为115°。基于此,参见图5,服务器可以将两眼瞳孔中心位置连接,然后在该瞳孔中心位置形成的线段的垂直中心面上确定出虚拟视点,使得该虚拟视点与瞳孔中心位置连线的两条直线夹角为115°。基于瞳孔在世界坐标系中的角度以及瞳孔中心位置与虚拟视点夹角可以确定虚拟视点在世界坐标系的角度。
对于图像集中至少一帧图像,服务器可以基于至少一帧图像的深度图确定虚拟视点到世界坐标系原点的距离。具体地,以一帧图像的真实视点(即摄像机)为原点建立摄像机坐标系,一帧图像的深度图中每个像素点的像素值可以表征被拍摄的对象到摄像机的距离,基于该摄像机坐标系与世界坐标系的对应关系可以确定世界坐标系原点到摄像机坐标系原点的距离以及世界坐标系原点在摄像机坐标系中的角度,基于深度图中虚拟视点对应的深度信息可以确定虚拟视点到摄像机坐标系原点的距离。
服务器可以根据世界坐标系原点到摄像机坐标系原点的距离、世界坐标系原点在摄像机坐标系中的角度,以及虚拟视点在世界坐标系的角度、虚拟视点到摄像机坐标系原点的距离,利用余弦公式求解虚拟视点到世界坐标系原点的距离。其中,深度图可以利用具有景深的深度摄像头如RGBD摄像头拍摄得到,也可以基于有监督的深度学习方法求解得到,显然,通过有监督的深度学习方法进行求解得到深度图可以进一步减少深度摄像头所带来的成本。
需要说明的是,在有些场景下,如拍摄足球场时,可能存在摄像机被风吹歪,或者部分摄像机严重偏离对焦区域的情况,如此将导致生成的深度图会有缺失,为此,还可以在解码视频流得到图像之后对图像进行镜头校准,使得相邻摄像机所示的画面能拍摄尽量多的相同物体。
S206:根据目标图像的深度图以及所述目标图像对应的真实视点的位姿,将所述目标图像投影到所述虚拟视点对应的成像平面,得到所述目标人物视角模式下的视频流。
目标图像包括所述多路视频流中与所述目标人物的视域存在交集的图像,其中,视域可以理解为视力范围或者视野范围,在绘制目标人物视角模式下的图像时,并不会绘制目标人物视野范围以外的对象,因此,可以仅对多路视频流中与目标人物的视域存在交集的图像也即目标图像进行处理。
在实际应用时,服务器可以基于虚拟视点,确定在115度最大水平视野下,上下150度的双眼重合视域,作为目标人物的视域。进一步地,服务器还可以确定出注意力集中视域,即上40°,下50°以及左右各55°的视野范围,作为目标人物的视域。当然,服务器也可以结合目标人物的视力情况,对上述视域进行进一步调整得到目标人物的视域。
在确定出虚拟视点以及目标人物的视域后,服务器可以采用基于深度图的图像绘制(depth image based rendering,DIBR)技术,根据目标图像的深度图以及目标图像对应的真实视点的位姿,将目标图像投影到所述虚拟视点对应的成像平面,得到目标人物视角模式下的视频流。其中,真实视点即真实摄像机,真实视点的位姿用于表征真实摄像机位置和姿态,在实际应用时,可以通过摄像机的外参矩阵等表征真实摄像机位姿。
在进行投影时,服务器可以先将目标图像反投影到三维空间,如反投影至世界坐标系,然后将三维空间的像素点投影到所述虚拟视点对应的成像平面,模拟从虚拟视点拍摄所得图像,作为一个示例,可以参见图6,其示出了球员视角模式下的图像,将模拟的多帧图像通过编码器进行编码可以得到目标人物视角模式下的视频流。
可以理解,服务器中包括第三人称视角模式下的视频流以及目标人物视角模式下的视频流,当用户触发模式切换操作时,用户端可以向服务器发送模式切换请求,服务器可以响应于该请求,向用户端发送对应视角模式下的视频流。
例如,用户端当前视角模式为第三人称视角模式,用户触发模式切换操作,请求切换为目标人物视角模式时,服务器向该用户端发送目标人物视角模式下的切换。以上仅为第三人称视角模式和目标人物视角模式下的切换,在有些情况下,还可以对不同目标人物进行视角模式切换。
通过上述内容的描述,本申请通过对多路视频流中获取目标人物的图像集,针对图像集中至少一帧图像确定目标人物视角模式下的虚拟视点,然后基于深度图以及真实视点的位姿,将多路视频流中与目标人物的视域存在交集的图像投影到虚拟视点对应的成像平面,从而得到目标人物视角模式下的视频流,如此可以使得观众代入视频流中的目标人物,增强了交互感。而且,在对视频流进行转换时,仅需对目标人物视域存在交集图像进行投影,大幅减少了需要处理的图像数量,提高了转换效率,能够满足实时性业务需求。
为了使得本申请的技术方案更加清楚、易于理解,下面将从坐标系转换的角度对图像反投影和投影的过程进行详细说明。
反投影主要是指将二维图像映射到三维,投影则是指将三维图像映射到二维,上述过程一般涉及像素坐标系、图像坐标系、摄像机坐标系和世界坐标系。
参见图7,图像坐标系和像素坐标系均为二维坐标系,并且图像坐标系是对像素坐标系进行平移得到。一般在对图像进行处理,如对图像的某一行或某一列进行操作时,采用像素坐标系。在进行归一化或者解释一个像素单位代表的物理距离或者提取特征信息时,需要将像素坐标系转换为图像坐标系,具体可以参见如下公式:
其中,u,v是像素坐标系下像素坐标,x,y为图像坐标系下物理坐标,dx,dy分别代表一个像素在水平和垂直方向上的物理距离(单位为mm/像素),mu和mv表示平移关系。
上述公式(1)还可以转化成齐次坐标,如下所示:
如图7所示,摄像机坐标系为三维坐标系,实际物理世界中的一点P,在摄像机的成像平面成像为P1,摄像机坐标系的X、Y轴与图像坐标系中x、y轴平行,将三维空间点投影到YZ平面,可以基于该平面的三角形关系确定摄像机坐标系和图像坐标系的关系。如图8所示,f表征焦距,考虑到单个像素在成像仪上一般是矩形,也即x方向和y方向焦距不同,可以分别采用fx和fy进行表征,另外,主点(主视线与摄像机成像平面的交点)不一定在摄像机成像平面中心,为了准确表示可能存在的偏移,可以引入x和y方向上的偏移参数cx和cy,如此,空间中的X点在图像平面的位置为:
将上述公式转化为其次坐标,如下所示:
上述摄像机坐标系到图像坐标系的转换方式也即摄像机内部捕捉成像的过程,实现该转换的矩阵即摄像机内参矩阵K。该内参矩阵可以通过对摄像机标定获得。
需要说明,在一些复杂成像模型中,摄像机坐标系的X轴和Y轴并不一定是垂直的,为此,还引入了偏移角,此时内参矩阵还可以表示为:
可以理解,从图像的像素坐标系到成像得到的图像坐标系,再到实际的摄像机坐标系均为摄像机内部坐标系转换,为了合成虚拟视点对应的图像,还需要实现从摄像机坐标系至世界坐标系的转换,如图9所示,摄像机坐标系可以通过旋转和平移转换到世界坐标系,具体实现时,可以确定出旋转矩阵R和平移矩阵t,则世界坐标系中的点在摄像机坐标系的位置为:
其中,旋转矩阵R和平移矩阵t组成了摄像机的外参矩阵(具体可以表示为R|t)。外参矩阵也可以通过对摄像机进行标定得到。
接着请参见图10,对于世界坐标系中的一点,通过将其坐标(即世界坐标)左乘外参矩阵(如公式(6)中的R、t组成的矩阵),可以实现刚体变换,得到其在摄像机坐标系中的摄像机坐标,然后将摄像机坐标左乘透视矩阵(即如公式(4)或(5)中所示的外参矩阵)可以实现图像投影,该点在图像坐标系中的图像坐标,然后将图像坐标左乘二次转换矩阵(如公式(2)中所示的矩阵)可以得到像素坐标。在一个示例中,其具体实现过程可以参见如下公式:
其中,s为收缩因子,等式右边第一个矩阵为二次转换矩阵,第二个矩阵为内参矩阵K,第三个矩阵为外参矩阵R|t,三者乘积可以记作投影矩阵P。该过程即为投影过程,其逆过程可以称之为反投影。
在对真实摄像机进行标定,获得真实摄像机的二次转换矩阵、内参矩阵和外参矩阵后,可以通过矩阵乘法运算得到该真实摄像机的投影矩阵,也称作第一投影矩阵。服务器可以利用目标图像中各像素点的像素坐标和目标图像对应的深度图确定各像素点在世界坐标系的位置。
为了便于理解,以目标图像中一点m=[u,v]T进行示例说明,其深度为Z,由公式(7)可以建立如下方程组:
其中,公式(7)中Pij为真实摄像机的投影矩阵P第i行第j列上的元素,由已知的u,v,Z可以求解点m在世界坐标系中的点M。
在确定虚拟摄像机的虚拟视点和视域后,服务器可以基于虚拟视点在世界坐标系的坐标和点M在世界坐标系中的坐标可以确定深度信息,基于该深度信息可以生成虚拟视点下的深度图。其中,虚拟摄像机的内参矩阵和真实摄像机的内参矩阵可以是相同的,因此,服务器可以确定虚拟摄像机的外参矩阵,然后基于内参矩阵和外参矩阵确定虚拟摄像机的投影矩阵Pv,也称作第二投影矩阵。
在具体实现时,服务器可以基于虚拟视点下的深度图在内的信息确定虚拟摄像机的外参矩阵,进而根据虚拟摄像机的内参矩阵和外参矩阵确定虚拟摄像机的投影矩阵Pv。服务器将世界坐标系中的点M基于上述公式(7)重新投影至虚拟摄像机的成像画面,得到新的像素坐标m′,对于目标图像的各个点均进行上述图像处理,然后对处理后的图像进行编码可以得到虚拟摄像机视角下的视频流,也即目标人物视角模式下的视频流。
以上从服务器角度对视频流处理方法进行说明,接下来,从用户端角度对本申请的视频流处理方法进行说明。
参见图11所示的视频流处理方法的流程图,该方法包括:
S302:向服务器发送模式切换请求。
模式切换请求中携带目标人物的标识,用于请求将视频流的视角模式切换为目标人物视角模式。目标人物为多个摄像机对同一现场拍摄所得多路视频流中包括的人物,目标人物可以是上述多路视频流中包括的人物中的一个或多个,例如体育赛事直播场景中,目标人物可以是运动员、教练和裁判中的一个或多个,目标人物的标识具体可以是目标人物的姓名或者编号等等。
用户端可以在受到触发时,向服务器发送模式切换请求。其中,用户端可以支持多种触发机制触发模式切换。具体地,用户可以通过遥控设备如遥控器或者具有遥控功能的智能手机等触发模式切换操作,用户响应于该操作生成模式切换请求,然后向服务器发送模式切换请求。当然,用户端也可以提供模式切换控件,用户可以通过触控或者点击该模式切换控件触发模式切换操作,用户端响应于该模式切换操作,生成模式切换请求,并向服务器发送该模式切换请求。在一些可能的实现方式中,用户也可以通过语音或者手势等触发模式切换操作,用户端可以响应于该模式切换操作,生成模式切换请求,并向服务器发送该模式切换请求。
上述触发模式切换机制是由用户主动发起的一种切换机制,在一些可能的实现方式中,服务器还可以在视频流播放界面,例如第三人称视角模式下的视频流播放界面,显示服务器推送的目标人物视角模式下的视频流对应的视频摘要,该视频摘要可以是静态视频摘要或者是动态视频摘要,用户可以通过点击、触控或者语音等方式触发视频摘要,用户端响应于对视频摘要的触发操作,生成模式切换请求,以将第三人称视角模式切换目标人物视角模式。
S304:接收所述服务器返回的所述目标人物视角模式下的视频流。
目标人物视角模式下的视频流是根据目标图像的深度图以及所述目标图像对应的真实视点的位姿,将目标图像投影到所述目标人物视角模式下的虚拟视点对应的成像平面所得。其中,目标图像是指多路视频流中与目标人物的视域存在交集的图像,目标人物视角模式下的虚拟视点是指基于目标人物视线虚拟的视点,该虚拟视点可以根据从多路视频流中获取的目标人物的图像集中至少一帧图像确定,图像集中至少一帧图像包括所述目标人物的正面人脸。
S306:播放所述目标人物视角模式下的视频流。
用户端播放目标人物视角模式下的视频流,从而实现将视频流的视角模式切换为目标人物视角模式,使得用户能够代入目标人物视角观看视频,增强了交互感和沉浸感。
进一步地,考虑到交互体验,用户端还可以接收服务器返回的关联人物视角模式下的视频流,该关联人物是多路视频流中与目标人物具有关联关系的人物,用户端可以播放目标人物视角模式下的视频流以及关联人物视角模式下的视频流,使得用户能够从多个人物视角观看视频,获知更多细节信息,提高用户体验。
需要说明是的,视频流一般可以采用流式传输方式从服务器传输至用户端,因此,服务器可以在传输目标人物视角模式下的视频流时,对目标人物视角模式下的视频流中的图像进行图像识别,当识别到目标人物执行预设动作或者将要执行预设动作时,自动向用户端返回与目标人物具有关联关系的关联人物视角模式下的视频流。当然,该动作执行完毕,服务器可以停止向用户端返回关联人物视角模式下的视频流。
在一些可能的实现方式中,服务器也可以是在接收到用户端发送的关联人物视角模式请求,再向用户端返回关联人物视角模式下的视频流。具体地,用户可以在观看视频时,通过视频流播放界面显示的关联人物视角模式控件触发关联人物视角模式请求操作,用户端响应于该操作,生成关联人物视角模式请求,并向服务器发送该关联人物视角模式请求,以请求关联人物视角模式下的视频流。
用户端在获得目标人物视角模式下的视频流以及关联人物视角模式下的视频流时,可以通过多个独立的窗口播放目标人物视角模式下的视频流以及关联人物视角模式下的视频流。当然,用户端也可以通过在一个主窗口内展示一个视频流,在主窗口内的子窗口中展示其他视频流的方式,播放上述目标人物视角模式下的视频流以及关联人物视角模式下的视频流。在具体实现时,用户端可以在主窗口展示目标人物视角模式下的视频流,在子窗口内展示关联人物视角模式下的视频流。
需要说明,当服务器识别预设动作执行完毕时,可以停止向用户端返回关联人物视角模式下的视频流,用户端可以退出目标人物视角以及关联人物视角播放模式,恢复播放目标人物视角模式下的视频流的播放模式。
为了便于理解本申请的技术方案,本申请还提供了一具体示例进行说明。
如图12所示,在播放足球比赛时,用户可以选择该足球比赛中的某一球员如球员A作为目标人物,通过视频流播放界面400中的模式切换控件402,触发模式切换操作,用户端响应于该模式切换操作,生成模式切换请求,并向服务器发送模式切换请求,该模式切换请求中携带球员A的姓名,如此,服务器在接收到模式切换请求时,向用户端返回球员A视角模式下的视频流。
在播放球员A视角模式下的视频流时,用户还可以触发关联人物视角模式请求操作,以请求关联人物视角模式下的视频流。例如,球员A为前锋,当球员A执行射门动作或将要执行射门动作时,用户还可以通过关联人物视角模式请求控件404触发关联人物视角模式请求操作,用户端响应于该操作向服务器发送关联人物视角模式请求,其中关联人物具体可以为守门员,当然,在有些情况下,关联人物还可以包括防守球员和裁判,服务器接收到上述关联人物视角模式请求后,向用户端返回关联人物视角模式下的视频流,例如,守门员视角模式下的视频流、防守球员视角模式下的视频流以及裁判视角模式下的视频流,用户端通过多个窗口分别播放球员A视角模式下的视频流、守门员视角模式下的视频流、防守球员视角模式下的视频流以及裁判视角模式下的视频流。
通过上述内容的描述,本申请通过向服务器发送模式切换请求,接收服务器返回的目标任务视角模式下的视频流,然后播放该目标人物视角模式下的视频流,如此可以使得观众代入视频流中的目标人物,增强了交互感。而且,在对视频流的视角模式进行切换时,仅需对目标人物视域存在交集图像进行处理,大幅减少了需要处理的图像数量,提高了转换效率,能够满足实时性业务需求。
值得说明的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制。
本领域的技术人员根据以上描述的内容,能够想到的其他合理的步骤组合,也属于本申请的保护范围内。其次,本领域技术人员也应该熟悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必须的。
上文中结合图1至图12,详细描述了本申请所提供的视频流处理方法,下面将结合图13至图14,描述根据本申请所提供的视频流处理装置和设备。
参见图13所示的视频流处理装置的结构示意图,该视频流处理装置1040包括如图1所示的通信模块1042、定位模块1044和投影模块1046;
所述通信模块1042,用于获取多路视频流,所述多路视频流为多个摄像机对同一现场拍摄所得;
所述定位模块1044,用于从所述多路视频流中获取目标人物的图像集,针对所述图像集确定目标人物视角模式下的虚拟视点,所述图像集中的图像包括所述目标人物的正面人脸;
所述投影模块1046,用于根据目标图像的深度图以及所述目标图像对应的真实视点的位姿,将所述目标图像投影到所述虚拟视点对应的成像平面,得到所述目标人物视角模式下的视频流,所述目标图像包括所述多路视频流中与所述目标人物的视域存在交集的图像。
可选的,所述定位模块1044具体用于:
对所述图像集中至少一帧图像进行人脸角度估计和瞳孔位置估计,确定目标人物视角模式下的虚拟视点在世界坐标系中的角度;
根据所述至少一帧图像对应的深度图确定所述目标人物视角模式下的虚拟视点到所述世界坐标系原点的距离。
可选的,所述定位模块1044具体用于:
通过人脸对齐确定所述图像集中至少一帧图像中所述目标人物的眼部区域得到眼部图像;
利用预训练的深度神经网络对所述目标人物的眼部图像进行瞳孔位置识别。
可选的,所述投影模块1046具体用于:
根据所述目标图像对应的真实视点的位姿确定第一投影矩阵;
通过所述第一投影矩阵和所述目标图像的深度图将所述目标图像反投影到三维空间;
根据所述虚拟视点的位姿确定第二投影矩阵;
根据所述第二投影矩阵将所述三维空间的像素点投影到所述虚拟视点对应的成像平面。
可选的,所述投影模块1046具体用于:
根据如下公式求解目标图像中的点m(u,v)映射到世界坐标系中的点M(X,Y,Z):
sm(u,v)=PM(X,Y,Z)
其中,s为收缩因子,P为第一投影矩阵,所述M(X,Y,Z)中的Z根据深度图确定;
根据如下公式确定世界坐标系中的点M(X,Y,Z)映射到虚拟视点对应的成像平面中的点m′(u,v):
sm′(u,v)=PvM(X,Y,Z)
其中,Pv为第二投影矩阵。
可选的,所述定位模块1044具体用于:
解码所述多路视频流得到与至少一路视频流对应的图像帧序列;
对所述图像帧序列中至少一帧图像进行人脸检测,然后对同一人物的人脸进行聚类,并从聚类的图像中筛选包括正面人脸的图像,得到目标人物的图像集。
可选的,所述装置1040还包括:
确定模块,用于将用户指定的人物确定为所述目标人物,或者将出现频次高于预设频次的人物确定为所述目标人物。
可选的,所述通信模块1042还用于:
响应于用户端发送的模式切换请求,向所述用户端发送所述目标人物视角模式下的视频流。
本申请实施例还提供另一种视频流处理装置。参见图14所示的视频流处理装置的结构示意图,视频流处理装置1060包括:
通信模块1062,用于向服务器发送模式切换请求,所述模式切换请求中携带目标人物的标识,所述目标人物为多个摄像机对同一现场拍摄所得多路视频流中包括的人物;
所述通信模块1062,还用于接收所述服务器返回的所述目标人物视角模式下的视频流,所述目标人物视角模式下的视频流是根据目标图像的深度图以及所述目标图像对应的真实视点的位姿,将目标图像投影到所述目标人物视角模式下的虚拟视点对应的成像平面所得,所述目标图像为所述多路视频流中与所述目标人物的视域存在交集的图像,所述虚拟视点是根据从所述多路视频流中获取的所述目标人物的图像集中至少一帧图像确定,所述图像集中至少一帧图像包括所述目标人物的正面人脸;
播放模块1064,用于播放所述目标人物视角模式下的视频流。
可选的,所述通信模块1062还用于:
接收所述服务器返回的关联人物视角模式下的视频流,所述关联人物为所述多路视频流中与所述目标人物具有关联关系的人物;
所述播放模块1064具体用于:
播放所述目标人物视角模式下的视频流以及所述关联人物视角模式下的视频流。
可选的,所述装置1060还包括:
生成模块,用于响应于用户通过遥控设备触发的模式切换操作,生成所述模式切换请求,或者,响应于用户通过触控或者点击模式切换控件触发的模式切换操作,生成所述模式切换请求,或者,响应于用户通过语音或手势触发的模式切换操作,生成所述模式切换请求。
可选的,所述装置1060还包括:
显示模块,用于在视频流播放界面,显示所述服务器推送的所述目标人物视角模式下的视频流对应的视频摘要;
生成模块,用于响应于对所述视频摘要的触发操作,生成所述模式切换请求,用于将第三人称视角模式切换为所述目标人物视角模式。
根据本申请实施例的视频流处理装置1040和视频流处理装置1060可对应于执行本申请实施例中描述的方法,并且视频流处理装置1040中的各个功能模块的上述和其它操作和/或功能为了实现图2中的各个方法的相应流程,视频流处理装置1060中的各个功能模块的上述和其它操作和/或功能为了实现图11中的各个方法的相应流程。为了简洁,在此不再赘述。
需要说明,图13和图14所示实施例仅仅是视频流处理装置一种示意性的划分方式,本申请实施例其他可能的实现方式中,视频流处理装置1040和视频流处理装置1060也可以划分为不同的功能模块,例如,可以在图13至图14所示实施例基础上对一些功能模块进行拆分或者组合。
可以理解,图13所示的视频流处理装置可以部署于计算机集群中。图15提供了一种计算机集群,图15所示的计算机集群以包括至少一台计算机进行示例说明。如图15所示,计算机集群500具体可以用于实现上述图11所示实施例中视频流处理装置104的功能。计算机集群500包括总线501、处理器502、通信接口503和存储器504。处理器502、存储器504和通信接口503之间通过总线501通信。
总线501可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口503用于与外部通信。例如,通信接口503可以接收摄像机102发送的多路视频流,或者接收用户端106发送的模式切换请求等。
其中,处理器502可以为中央处理器(central processing unit,CPU)。存储器504可以包括易失性存储器(volatile memory),例如随机存取存储器(random accessmemory,RAM)。存储器504还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,HDD或SSD。
存储器504中存储有可执行代码,处理器502执行该可执行代码以执行前述视频流处理方法。具体地,在实现图13所示实施例的情况下,且图13实施例中所描述的各模块为通过软件实现的情况下,执行图13中的定位模块1044、投影模块1046和确定模块功能所需的软件或程序代码存储在存储器504中,通信模块1042功能通过通信接口503实现,处理器用于执行存储器504中的指令,执行应用于视频流处理装置1040的视频流处理方法。
需要说明的是,图15是以包括一台计算机的计算机集群500实现视频流处理装置1040的功能进行示例说明的。在本申请其他可能的实现方式中,视频流处理装置1040的功能也可以是多台计算机组成的计算机集群实现。
在一些可能的实现方式中,计算机集群可以包括多台计算机,每台计算机能够实现视频流处理装置1040的全部功能。也即,计算机集群中的每台计算机的存储器504存储有实现定位模块1044、投影模块1046和确定模块功能所需的软件或程序代码。
在另一些可能的实现方式中,计算机集群可以包括多台计算机,至少一台计算机实现视频流处理装置1040的部分功能,多台计算机能够通过协作实现视频流处理装置1040的全部功能。在一个示例中,计算机集群中的计算机可以分为如下几组,一组计算机的存储器中存储有实现定位模块1044功能所需的软件或程序代码,另一组计算机的存储器中存储有实现投影模块1046功能所需的软件或程序代码,还有一组计算机的存储器中存储有实现确定模块功能所需的软件或程序代码,如此,通过多台计算机实现视频流处理装置1040的全部功能。
图14所示的视频流处理装置可以部署于终端计算设备中。该终端计算设备可以是手机、电脑或者电视等用户端。图16提供了一种终端计算设备,终端计算设备600包括总线601、处理器602、通信接口603、存储器604和显示器605,显示器605可以是液晶显示器(liquid crystal display,LCD)或者是有机发光显示器(Organic Light-EmittingDiode,OLED)等。处理器602、存储器604、显示器605和通信接口603之间通过总线601通信。
终端计算设备600在实现图14所示实施例,且图14实施例中所描述的各模块为通过软件实现的情况下,执行图14中的播放模块1064和生成模块功能所需的软件或程序代码存储在存储器604中,通信模块1062功能通过通信接口603实现,处理器用于执行存储器604中的指令,通过显示器605执行应用于视频流处理装置1060的方法。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述应用于视频流处理装置1040的视频流处理方法。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述应用于视频流处理装置1060的视频流处理方法。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品被计算机执行时,所述计算机执行前述视频流处理方法的任一方法。该计算机程序产品可以为一个软件安装包,在需要使用前述视频流处理方法的任一方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
Claims (26)
1.一种视频流处理方法,其特征在于,所述方法包括:
从多路视频流中获取目标人物的图像集,所述多路视频流为多个摄像机对同一现场拍摄所得,所述图像集中的图像包括所述目标人物的正面人脸;
针对所述图像集中的图像确定目标人物视角模式下的虚拟视点,基于所述虚拟视点确定所述目标人物的视域,从所述多路视频流中确定与所述目标人物的视域存在交集的目标图像;
根据所述目标图像的深度图以及所述目标图像对应的真实视点的位姿,将所述目标图像投影到所述虚拟视点对应的成像平面,得到所述目标人物视角模式下的视频流。
2.根据权利要求1所述的方法,其特征在于,所述针对所述图像集中的图像确定目标人物视角模式下的虚拟视点包括:
对所述图像集中至少一帧图像进行人脸角度估计和瞳孔位置估计,确定目标人物视角模式下的虚拟视点在世界坐标系中的角度;
根据所述至少一帧图像对应的深度图确定所述目标人物视角模式下的虚拟视点到所述世界坐标系原点的距离。
3.根据权利要求2所述的方法,其特征在于,所述对所述图像集中至少一帧图像进行瞳孔位置估计包括:
通过人脸对齐确定所述图像集中至少一帧图像中所述目标人物的眼部区域得到眼部图像;
利用预训练的深度神经网络对所述目标人物的眼部图像进行瞳孔位置识别。
4.根据权利要求1所述的方法,其特征在于,所述根据目标图像的深度图以及所述目标图像对应的真实视点的位姿,将所述目标图像投影到所述虚拟视点对应的成像平面包括:
根据所述目标图像对应的真实视点的位姿确定第一投影矩阵;
通过所述第一投影矩阵和所述目标图像的深度图将所述目标图像反投影到三维空间;
根据所述虚拟视点的位姿确定第二投影矩阵;
根据所述第二投影矩阵将所述三维空间的像素点投影到所述虚拟视点对应的成像平面。
5.根据权利要求4所述的方法,其特征在于,所述通过所述第一投影矩阵和所述目标图像的深度图将所述目标图像反投影到三维空间包括:
根据如下公式求解目标图像中的点m(u,v)映射到世界坐标系中的点M(X,Y,Z):
sm(u,v)=PM(X,Y,Z)
其中,s为收缩因子,P为第一投影矩阵,所述M(X,Y,Z)中的Z根据深度图确定;
所述根据所述第二投影矩阵将所述三维空间的像素点投影到所述虚拟视点对应的成像平面包括:
根据如下公式确定世界坐标系中的点M(X,Y,Z)映射到虚拟视点对应的成像平面中的点m′(u,v):
sm′(u,v)=PvM(X,Y,Z)
其中,Pv为第二投影矩阵。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述从多路视频流中获取目标人物的图像集包括:
解码多路视频流得到与至少一路视频流对应的图像帧序列;
对所述图像帧序列中至少一帧图像进行人脸检测,然后对同一人物的人脸进行聚类,并从聚类的图像中筛选包括正面人脸的图像,得到目标人物的图像集。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
将用户指定的人物确定为所述目标人物;或者,
将出现频次高于预设频次的人物确定为所述目标人物。
8.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
响应于用户端发送的模式切换请求,向所述用户端发送所述目标人物视角模式下的视频流。
9.一种视频流处理方法,其特征在于,所述方法包括:
向服务器发送模式切换请求,所述模式切换请求中携带目标人物的标识,所述目标人物为多个摄像机对同一现场拍摄所得多路视频流中包括的人物;
接收所述服务器返回的所述目标人物视角模式下的视频流,所述目标人物视角模式下的视频流是根据目标图像的深度图以及所述目标图像对应的真实视点的位姿,将目标图像投影到所述目标人物视角模式下的虚拟视点对应的成像平面所得,所述目标图像为所述多路视频流中与所述目标人物的视域存在交集的图像,所述虚拟视点是根据从所述多路视频流中获取的所述目标人物的图像集中至少一帧图像确定,所述图像集中至少一帧图像包括所述目标人物的正面人脸,所述目标人物的视域基于所述虚拟视点确定;
播放所述目标人物视角模式下的视频流。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
接收所述服务器返回的关联人物视角模式下的视频流,所述关联人物为所述多路视频流中与所述目标人物具有关联关系的人物;
所述播放所述目标人物视角模式下的视频流包括:
播放所述目标人物视角模式下的视频流以及所述关联人物视角模式下的视频流。
11.根据权利要求9或10所述的方法,其特征在于,所述方法还包括:
响应于用户通过遥控设备触发的模式切换操作,生成所述模式切换请求;或者,
响应于用户通过触控或者点击模式切换控件触发的模式切换操作,生成所述模式切换请求;或者,
响应于用户通过语音或手势触发的模式切换操作,生成所述模式切换请求。
12.根据权利要求9或10所述的方法,其特征在于,所述方法还包括:
在视频流播放界面,显示所述服务器推送的所述目标人物视角模式下的视频流对应的视频摘要;
响应于对所述视频摘要的触发操作,生成所述模式切换请求,用于将第三人称视角模式切换为所述目标人物视角模式。
13.一种视频流处理装置,其特征在于,所述装置包括:
通信模块,用于获取多路视频流,所述多路视频流为多个摄像机对同一现场拍摄所得;
定位模块,用于从所述多路视频流中获取目标人物的图像集,针对所述图像集确定目标人物视角模式下的虚拟视点,所述图像集中的图像包括所述目标人物的正面人脸;
投影模块,用于基于所述虚拟视点确定所述目标人物的视域,从所述多路视频流中确定与所述目标人物的视域存在交集的目标图像,根据所述目标图像的深度图以及所述目标图像对应的真实视点的位姿,将所述目标图像投影到所述虚拟视点对应的成像平面,得到所述目标人物视角模式下的视频流。
14.根据权利要求13所述的装置,其特征在于,所述定位模块具体用于:
对所述图像集中至少一帧图像进行人脸角度估计和瞳孔位置估计,确定目标人物视角模式下的虚拟视点在世界坐标系中的角度;
根据所述至少一帧图像对应的深度图确定所述目标人物视角模式下的虚拟视点到所述世界坐标系原点的距离。
15.根据权利要求14所述的装置,其特征在于,所述定位模块具体用于:
通过人脸对齐确定所述图像集中至少一帧图像中所述目标人物的眼部区域得到眼部图像;
利用预训练的深度神经网络对所述目标人物的眼部图像进行瞳孔位置识别。
16.根据权利要求13所述的装置,其特征在于,所述投影模块具体用于:
根据所述目标图像对应的真实视点的位姿确定第一投影矩阵;
通过所述第一投影矩阵和所述目标图像的深度图将所述目标图像反投影到三维空间;
根据所述虚拟视点的位姿确定第二投影矩阵;
根据所述第二投影矩阵将所述三维空间的像素点投影到所述虚拟视点对应的成像平面。
17.根据权利要求16所述的装置,其特征在于,所述投影模块具体用于:
根据如下公式求解目标图像中的点m(u,v)映射到世界坐标系中的点M(X,Y,Z):
sm(u,v)=PM(X,Y,Z)
其中,s为收缩因子,P为第一投影矩阵,所述M(X,Y,Z)中的Z根据深度图确定;
根据如下公式确定世界坐标系中的点M(X,Y,Z)映射到虚拟视点对应的成像平面中的点m′(u,v):
sm′(u,v)=PvM(X,Y,Z)
其中,Pv为第二投影矩阵。
18.根据权利要求13至17任一项所述的装置,其特征在于,所述定位模块具体用于:
解码所述多路视频流得到与至少一路视频流对应的图像帧序列;
对所述图像帧序列中至少一帧图像进行人脸检测,然后对同一人物的人脸进行聚类,并从聚类的图像中筛选包括正面人脸的图像,得到目标人物的图像集。
19.根据权利要求13至17任一项所述的装置,其特征在于,所述装置还包括:
确定模块,用于将用户指定的人物确定为所述目标人物,或者将出现频次高于预设频次的人物确定为所述目标人物。
20.根据权利要求13至17任一项所述的装置,其特征在于,所述通信模块还用于:
响应于用户端发送的模式切换请求,向所述用户端发送所述目标人物视角模式下的视频流。
21.一种视频流处理装置,其特征在于,所述装置包括:
通信模块,用于向服务器发送模式切换请求,所述模式切换请求中携带目标人物的标识,所述目标人物为多个摄像机对同一现场拍摄所得多路视频流中包括的人物;
所述通信模块,还用于接收所述服务器返回的所述目标人物视角模式下的视频流,所述目标人物视角模式下的视频流是根据目标图像的深度图以及所述目标图像对应的真实视点的位姿,将目标图像投影到所述目标人物视角模式下的虚拟视点对应的成像平面所得,所述目标图像为所述多路视频流中与所述目标人物的视域存在交集的图像,所述虚拟视点是根据从所述多路视频流中获取的所述目标人物的图像集中至少一帧图像确定,所述图像集中至少一帧图像包括所述目标人物的正面人脸,所述目标人物的视域基于所述虚拟视点确定;
播放模块,用于播放所述目标人物视角模式下的视频流。
22.根据权利要求21所述的装置,其特征在于,所述通信模块还用于:
接收所述服务器返回的关联人物视角模式下的视频流,所述关联人物为所述多路视频流中与所述目标人物具有关联关系的人物;
所述播放模块具体用于:
播放所述目标人物视角模式下的视频流以及所述关联人物视角模式下的视频流。
23.根据权利要求21或22所述的装置,其特征在于,所述装置还包括:
生成模块,用于响应于用户通过遥控设备触发的模式切换操作,生成所述模式切换请求,或者,响应于用户通过触控或者点击模式切换控件触发的模式切换操作,生成所述模式切换请求,或者,响应于用户通过语音或手势触发的模式切换操作,生成所述模式切换请求。
24.根据权利要求21或22所述的装置,其特征在于,所述装置还包括:
显示模块,用于在视频流播放界面,显示所述服务器推送的所述目标人物视角模式下的视频流对应的视频摘要;
生成模块,用于响应于对所述视频摘要的触发操作,生成所述模式切换请求,用于将第三人称视角模式切换为所述目标人物视角模式。
25.一种设备,其特征在于,所述设备包括处理器和存储器;
所述存储器,用于存储计算机指令;
所述处理器,用于根据所述计算机指令执行如权利要求1至12任一项所述的视频流处理方法。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1至12任一项所述的视频流处理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/129847 WO2021134178A1 (zh) | 2019-12-30 | 2019-12-30 | 一种视频流处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114097248A CN114097248A (zh) | 2022-02-25 |
CN114097248B true CN114097248B (zh) | 2023-03-28 |
Family
ID=76686122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980079311.2A Active CN114097248B (zh) | 2019-12-30 | 2019-12-30 | 一种视频流处理方法、装置、设备及介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220329880A1 (zh) |
EP (1) | EP4072147A4 (zh) |
CN (1) | CN114097248B (zh) |
WO (1) | WO2021134178A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022077380A (ja) * | 2020-11-11 | 2022-05-23 | キヤノン株式会社 | 画像処理装置、画像処理方法、およびプログラム |
CN113538316B (zh) * | 2021-08-24 | 2023-08-22 | 北京奇艺世纪科技有限公司 | 图像处理方法、装置、终端设备以及可读存储介质 |
CN114125490B (zh) * | 2022-01-19 | 2023-09-26 | 阿里巴巴(中国)有限公司 | 直播播放方法及装置 |
CN114125569B (zh) * | 2022-01-27 | 2022-07-15 | 阿里巴巴(中国)有限公司 | 直播处理方法以及装置 |
CN115022613A (zh) * | 2022-05-19 | 2022-09-06 | 北京字节跳动网络技术有限公司 | 一种视频重建方法、装置、电子设备及存储介质 |
CN115314658A (zh) * | 2022-07-29 | 2022-11-08 | 京东方科技集团股份有限公司 | 基于三维显示的视频通信方法及系统 |
CN115330912B (zh) * | 2022-10-12 | 2023-03-24 | 中国科学技术大学 | 基于音频和图像驱动的用于生成人脸说话视频的训练方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107155101A (zh) * | 2017-06-20 | 2017-09-12 | 万维云视(上海)数码科技有限公司 | 一种3d播放器使用的3d视频的生成方法及装置 |
CN109712067A (zh) * | 2018-12-03 | 2019-05-03 | 北京航空航天大学 | 一种基于深度图像的虚拟视点绘制方法 |
JP2019140483A (ja) * | 2018-02-08 | 2019-08-22 | キヤノン株式会社 | 画像処理システム、画像処理システムの制御方法、伝送装置、伝送方法及びプログラム |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3971691B2 (ja) * | 2002-10-31 | 2007-09-05 | 日本電信電話株式会社 | 仮想視点画像生成方法及び仮想視点画像生成装置、ならびに仮想視点画像生成プログラム及び記録媒体 |
US10169646B2 (en) * | 2007-12-31 | 2019-01-01 | Applied Recognition Inc. | Face authentication to mitigate spoofing |
US8106924B2 (en) * | 2008-07-31 | 2012-01-31 | Stmicroelectronics S.R.L. | Method and system for video rendering, computer program product therefor |
CN102186038A (zh) * | 2011-05-17 | 2011-09-14 | 浪潮(山东)电子信息有限公司 | 一种在数字电视屏幕上同步播放多视角画面的方法 |
US9851877B2 (en) * | 2012-02-29 | 2017-12-26 | JVC Kenwood Corporation | Image processing apparatus, image processing method, and computer program product |
US20140038708A1 (en) * | 2012-07-31 | 2014-02-06 | Cbs Interactive Inc. | Virtual viewpoint management system |
TWI530157B (zh) * | 2013-06-18 | 2016-04-11 | 財團法人資訊工業策進會 | 多視角影像之顯示系統、方法及其非揮發性電腦可讀取紀錄媒體 |
US10521671B2 (en) * | 2014-02-28 | 2019-12-31 | Second Spectrum, Inc. | Methods and systems of spatiotemporal pattern recognition for video content development |
JP6482498B2 (ja) * | 2016-05-25 | 2019-03-13 | キヤノン株式会社 | 制御装置、制御方法、及び、プログラム |
CN106162137B (zh) * | 2016-06-30 | 2018-10-12 | 北京大学 | 虚拟视点合成方法及装置 |
CN106254916A (zh) * | 2016-08-09 | 2016-12-21 | 乐视控股(北京)有限公司 | 直播播放方法及装置 |
US10496163B2 (en) * | 2016-09-22 | 2019-12-03 | Apple Inc. | Eye and head tracking |
JP7034666B2 (ja) * | 2016-12-27 | 2022-03-14 | キヤノン株式会社 | 仮想視点画像の生成装置、生成方法及びプログラム |
JP6425780B1 (ja) * | 2017-09-22 | 2018-11-21 | キヤノン株式会社 | 画像処理システム、画像処理装置、画像処理方法及びプログラム |
CN107809630B (zh) * | 2017-10-24 | 2019-08-13 | 天津大学 | 基于改进虚拟视点合成的多视点视频超分辨率重建算法 |
CN108376424A (zh) * | 2018-02-09 | 2018-08-07 | 腾讯科技(深圳)有限公司 | 用于对三维虚拟环境进行视角切换的方法、装置、设备及存储介质 |
CN108900857B (zh) * | 2018-08-03 | 2020-12-11 | 东方明珠新媒体股份有限公司 | 一种多视角视频流处理方法和装置 |
CN109407828A (zh) * | 2018-09-11 | 2019-03-01 | 上海科技大学 | 一种凝视点估计方法及系统、存储介质及终端 |
-
2019
- 2019-12-30 WO PCT/CN2019/129847 patent/WO2021134178A1/zh unknown
- 2019-12-30 CN CN201980079311.2A patent/CN114097248B/zh active Active
- 2019-12-30 EP EP19958141.4A patent/EP4072147A4/en active Pending
-
2022
- 2022-06-28 US US17/851,856 patent/US20220329880A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107155101A (zh) * | 2017-06-20 | 2017-09-12 | 万维云视(上海)数码科技有限公司 | 一种3d播放器使用的3d视频的生成方法及装置 |
JP2019140483A (ja) * | 2018-02-08 | 2019-08-22 | キヤノン株式会社 | 画像処理システム、画像処理システムの制御方法、伝送装置、伝送方法及びプログラム |
CN109712067A (zh) * | 2018-12-03 | 2019-05-03 | 北京航空航天大学 | 一种基于深度图像的虚拟视点绘制方法 |
Also Published As
Publication number | Publication date |
---|---|
EP4072147A4 (en) | 2022-12-14 |
CN114097248A (zh) | 2022-02-25 |
US20220329880A1 (en) | 2022-10-13 |
WO2021134178A1 (zh) | 2021-07-08 |
EP4072147A1 (en) | 2022-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114097248B (zh) | 一种视频流处理方法、装置、设备及介质 | |
CN109345556B (zh) | 用于混合现实的神经网络前景分离 | |
Garon et al. | Deep 6-DOF tracking | |
US10855909B2 (en) | Method and apparatus for obtaining binocular panoramic image, and storage medium | |
US10573060B1 (en) | Controller binding in virtual domes | |
WO2019238114A1 (zh) | 动态模型三维重建方法、装置、设备和存储介质 | |
TWI752502B (zh) | 一種分鏡效果的實現方法、電子設備及電腦可讀儲存介質 | |
WO2021120157A1 (en) | Light weight multi-branch and multi-scale person re-identification | |
WO2014187223A1 (en) | Method and apparatus for identifying facial features | |
WO2018000609A1 (zh) | 一种虚拟现实系统中分享3d影像的方法和电子设备 | |
CN112543343B (zh) | 基于连麦直播的直播画面处理方法、装置及电子设备 | |
CN109840946B (zh) | 虚拟对象显示方法及装置 | |
WO2017092432A1 (zh) | 一种虚拟现实交互方法、装置和系统 | |
CN107197135B (zh) | 一种视频生成方法及视频生成装置 | |
Zhao et al. | Laddernet: Knowledge transfer based viewpoint prediction in 360◦ video | |
CN108421240A (zh) | 基于ar的球场弹幕系统 | |
CN114495169A (zh) | 一种人体姿态识别的训练数据处理方法、装置及设备 | |
CN111292234B (zh) | 一种全景图像生成方法及装置 | |
KR102176805B1 (ko) | 뷰 방향이 표시되는 vr 컨텐츠 제공 시스템 및 방법 | |
US20210125349A1 (en) | Systems and methods for visualizing ball trajectory in real-time | |
WO2021031210A1 (zh) | 视频处理方法和装置、存储介质和电子设备 | |
US20180227575A1 (en) | Depth map generation device | |
CN113709544B (zh) | 视频的播放方法、装置、设备及计算机可读存储介质 | |
CN113887354A (zh) | 图像识别方法、装置、电子设备及存储介质 | |
CN113515187B (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 |