CN110599605B - 图像处理方法及装置、电子设备和计算机可读存储介质 - Google Patents

图像处理方法及装置、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN110599605B
CN110599605B CN201910854877.XA CN201910854877A CN110599605B CN 110599605 B CN110599605 B CN 110599605B CN 201910854877 A CN201910854877 A CN 201910854877A CN 110599605 B CN110599605 B CN 110599605B
Authority
CN
China
Prior art keywords
target
frame image
coordinate system
video
dimensional model
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
Application number
CN201910854877.XA
Other languages
English (en)
Other versions
CN110599605A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910854877.XA priority Critical patent/CN110599605B/zh
Publication of CN110599605A publication Critical patent/CN110599605A/zh
Priority to PCT/CN2020/111638 priority patent/WO2021047396A1/zh
Priority to EP20863666.2A priority patent/EP3923248A4/en
Priority to JP2021555830A priority patent/JP7270761B2/ja
Priority to US17/185,393 priority patent/US11538229B2/en
Application granted granted Critical
Publication of CN110599605B publication Critical patent/CN110599605B/zh
Priority to US17/986,322 priority patent/US20230075270A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Architecture (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开提供一种图像处理方法及装置、电子设备和计算机可读存储介质,包括:获取待处理视频;在待处理视频的第一帧图像的目标平面上放置目标三维模型;获取目标面的多个特征点在世界坐标系的三维坐标及其在第一帧图像上的像素坐标;获得第一帧图像的相机坐标系相对于世界坐标系的位姿;根据目标平面、目标面的多个特征点在世界坐标系的三维坐标及其在第一帧图像上的像素坐标,获得待处理视频的第二至第m帧图像的相机坐标系相对于世界坐标系的位姿;将目标展示链接模型替换目标三维模型放置在世界坐标系上,根据待处理视频的每一帧图像的相机坐标系相对于世界坐标系的位姿,生成包含目标展示链接模型的目标视频。

Description

图像处理方法及装置、电子设备和计算机可读存储介质
技术领域
本公开涉及计算机和通信技术领域,具体而言,涉及一种图像处理方法及装置、电子设备和计算机可读存储介质。
背景技术
视觉广告植入(video-in advertisement)是在已经制作完成的视频中,利用计算机视觉技术智能植入广告的技术,相比视频前后贴、视频浮层卖货等传统视频技术具有体验更优、流量覆盖更高等优点,成为国内外竞相发展的技术手段。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例提供一种图像处理方法及装置、电子设备和计算机可读存储介质,能够提高在视频中植入展示链接模型的效率和效果。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种图像处理方法,所述方法包括:获取待处理视频,所述待处理视频包括m帧图像,m为大于或等于2的正整数;在所述待处理视频的第一帧图像的目标平面上放置目标三维模型,其中所述目标三维模型的目标面的多个特征点落在所述目标平面上;获取所述目标面的多个特征点在世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标;根据所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标,获得所述第一帧图像的相机坐标系相对于所述世界坐标系的位姿;根据所述目标平面、所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标,获得所述待处理视频的第二至第m帧图像的相机坐标系相对于所述世界坐标系的位姿;将目标展示链接模型替换所述目标三维模型放置在所述世界坐标系上,根据所述待处理视频的每一帧图像的相机坐标系相对于所述世界坐标系的位姿,生成包含所述目标展示链接模型的目标视频。
根据本公开的一个方面,提供一种图像处理装置,所述装置包括:处理视频获取模块,配置为获取待处理视频,所述待处理视频包括m帧图像,m为大于或等于2的正整数;三维模型放置模块,配置为在所述待处理视频的第一帧图像的目标平面上放置目标三维模型,其中所述目标三维模型的目标面的多个特征点落在所述目标平面上;第一坐标获取模块,配置为获取所述目标面的多个特征点在世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标;第一位姿获得模块,配置为根据所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标,获得所述第一帧图像的相机坐标系相对于所述世界坐标系的位姿;第二位姿获得模块,配置为根据所述目标平面、所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标,获得所述待处理视频的第二至第m帧图像的相机坐标系相对于所述世界坐标系的位姿;目标视频生成模块,配置为将目标展示链接模型替换所述目标三维模型放置在所述世界坐标系上,根据所述待处理视频的每一帧图像的相机坐标系相对于所述世界坐标系的位姿,生成包含所述目标展示链接模型的目标视频。
根据本公开实施例的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中所述的图像处理方法。
根据本公开实施例的一方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,配置为存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的图像处理方法。
在本公开的一些实施例所提供的技术方案中,一方面,通过在待处理视频的第一帧图像中放入一个目标三维模型,把该目标三维模型摆在该第一帧图像中的一个目标平面上,计算出该第一帧图像中的目标三维模型相对于相机坐标系的位姿,通过对该目标平面的跟踪,可以计算出该待处理视频后面每一帧图像中的目标三维模型相对相机坐标系的位姿,然后,把该待处理视频中的目标三维模型,替换成目标展示链接模型,即可实现自动地在该待处理视频的每帧图像上面植入该目标展示链接模型;另一方面,由于采用了对目标平面的跟踪方式,不依赖对待处理视频中的图像的特征点的计算,不要求视差大的视频,计算量小速度快,操作方便,准确性高,可以适用于更多的视频,能提高在视频中植入目标展示链接模型的效率和效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本公开实施例的图像处理方法或图像处理装置的示例性系统架构的示意图;
图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图;
图3示意性示出了根据本公开的一实施例的图像处理方法的流程图;
图4示意性示出了根据本公开的另一实施例的图像处理方法的流程图;
图5示出了图3中所示的步骤S320在一实施例中的处理过程示意图;
图6示出了图3中所示的步骤S330在一实施例中的处理过程示意图;
图7示出了图6中所示的步骤S331在一实施例中的处理过程示意图;
图8示出了图3中所示的步骤S350在一实施例中的处理过程示意图;
图9示出了图3中所示的步骤S360在一实施例中的处理过程示意图;
图10示意性示出了根据本公开的又一实施例的图像处理方法的流程图;
图11示意性示出了根据本公开的一实施例的立方体及其世界坐标系的示意图;
图12示意性示出了根据本公开的一实施例的拖动立方体的顶点来控制立方体的位姿的示意图;
图13示意性示出了根据本公开的一实施例的旋转立方体来控制立方体的位姿的示意图;
图14示意性示出了根据本公开的一实施例的跟踪立方体所在的目标平面的示意图;
图15示意性示出了根据本公开的一实施例的显示各帧图像上面的立方体的示意图;
图16示意性示出了根据本公开的一实施例的在各帧图像上合成三维广告的示意图;
图17示意性示出了根据本公开的一实施例的图像处理装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision,CV)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR(Optical Character Recognition,光学字符识别)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D(3dimension,三维)技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
本申请实施例提供的方案涉及人工智能的计算机视觉和机器学习、以及区块链等技术,具体通过如下实施例进行说明。
图1示出了可以应用本公开实施例的图像处理方法或图像处理装置的示例性系统架构100的示意图。
如图1所示,系统架构100可以包括终端设备101、102、103中的一种或多种,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于可穿戴智能设备、虚拟现实设备、智能家居、智能手机、平板电脑、便携式计算机和台式计算机、数字电影放映机等等。
服务器105可以是提供各种服务的服务器。例如用户利用终端设备103(也可以是终端设备101或102)打开待处理视频并在所述待处理视频的第一帧图像上拖入一个目标三维模型,调整所述目标三维模型的位姿,使得所述目标三维模型的目标面的多个特征点落在所述第一帧图像的目标平面上,所述待处理视频包括m帧图像,m为大于或等于2的正整数;用户利用终端设备103向服务器105发送请求,服务器105可以基于该请求中携带的相关信息,获取所述目标面的多个特征点在世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标;根据所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标,获得所述第一帧图像的相机坐标系相对于所述世界坐标系的位姿;根据所述目标平面、所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标,获得所述待处理视频的第二至第m帧图像的相机坐标系相对于所述世界坐标系的位姿;将目标展示链接模型替换所述目标三维模型放置在所述世界坐标系上,根据所述待处理视频的每一帧图像的相机坐标系相对于所述世界坐标系的位姿,生成包含所述目标展示链接模型的目标视频,服务器105可以将该目标视频返回给终端设备103,进而用户可以在终端设备103上查看显示的包含所述目标展示链接模型的目标视频。
又如终端设备103(也可以是终端设备101或102)可以是智能电视、VR(VirtualReality,虚拟现实)/AR(Augmented Reality,增强现实)头盔显示器、或者其上安装有即时通讯、视频应用程序(application,APP)等的移动终端例如智能手机、平板电脑等,用户可以通过该智能电视、VR/AR头盔显示器或者该即时通讯、视频APP向服务器105发送各种请求。服务器105可以基于该请求,获取响应于所述请求的反馈信息返回给该智能电视、VR/AR头盔显示器或者该即时通讯、视频APP,进而通过该智能电视、VR/AR头盔显示器或者该即时通讯、视频APP将返回的反馈信息显示。
图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图2示出的电子设备的计算机系统200仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图2所示,计算机系统200包括中央处理单元(CPU,Central Processing Unit)201,其可以根据存储在只读存储器(ROM,Read-Only Memory)202中的程序或者从储存部分208加载到随机访问存储器(RAM,Random Access Memory)203中的程序而执行各种适当的动作和处理。在RAM 203中,还存储有系统操作所需的各种程序和数据。CPU201、ROM 202以及RAM 203通过总线204彼此相连。输入/输出(I/O)接口205也连接至总线204。
以下部件连接至I/O接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(CRT,Cathode Ray Tube)、液晶显示器(LCD,Liquid Crystal Display)等以及扬声器等的输出部分207;包括硬盘等的储存部分208;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至I/O接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入储存部分208。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分209从网络上被下载和安装,和/或从可拆卸介质211被安装。在该计算机程序被中央处理单元(CPU)201执行时,执行本申请的方法和/或装置中限定的各种功能。
需要说明的是,本公开所示的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF(RadioFrequency,射频)等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的方法、装置和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块和/或单元和/或子单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的模块和/或单元和/或子单元也可以设置在处理器中。其中,这些模块和/或单元和/或子单元的名称在某种情况下并不构成对该模块和/或单元和/或子单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图3或图4或图5或图6或图7或图8或图9或图10所示的各个步骤。
相关技术中的三维广告植入的方法,一般是基于三维重建算法SLAM(Simultaneous localization and mapping,即时定位与地图构建,或并发建图与定位)或者SFM(structure from motion,运动重构),对整个场景进行三维重建,得到一个三维空间,并且计算出每帧图像的相机位置和姿态。然后把三维广告模型加入到这个三维空间中,再投影到每帧图像上,实现三维广告的植入。
但是,上述基于整体三维重建的三维广告植入方法,至少存在以下问题:
第一,必须要视差大的视频。相机必须要平移运动一段距离,使得图像有明显变化,才能准确计算。如果视差不够,则计算误差会很大,或者不能成功计算出结果。
第二,必须要足够数量的特征点来进行三维重建。如果图像纹理不够的话,不能提取到足够的特征点,则不能进行计算。
第三,计算量大,耗时久。相关技术中的三维重建的方法,需要对整个图片里面的所有像素都进行三维重建。例如对100张640*480像素的图片进行三维重建,需要1个小时以上的时间。
第四,操作不方便。在三维重建成功以后,重建出来的是一堆点云,要在点云空间中找到合适的位置来植入三维广告,需要调整广告位置和姿态,操作会比较麻烦。
第五,准确性不够。相关技术中的三维重建方法,算出来的相机位置抖动较大,植入广告后,广告也会抖动,效果不好。
图3示意性示出了根据本公开的一实施例的图像处理方法的流程图。本公开实施例提供的方法可以由任意具备计算处理能力的电子设备执行,例如如图1中的终端设备101、102、103中的一种或多种和/或服务器105。
如图3所示,本公开实施例提供的图像处理方法可以包括以下步骤。
在步骤S310中,获取待处理视频,所述待处理视频包括m帧图像,m为大于或等于2的正整数。
本公开实施例中,所述待处理视频例如可以是当前准备要植入某个广告的视频,可以通过对其进行解帧处理,提取到其中包含的且将要植入该广告的m帧图像,但这里并不限定所述待处理视频仅只包括这m帧图像。
在步骤S320中,在所述待处理视频的第一帧图像的目标平面上放置目标三维模型,其中所述目标三维模型的目标面的多个特征点落在所述目标平面上。
本公开实施例中,所述第一帧图像可以是指上述提取出的m帧图像中按时间排序的最先的一帧图像,可以将其编号为0或者1(下面以编号为1为例)。但本公开并不限定于此,在其他实施例中,也可以将所述上述提取的m帧图像中的任一帧作为该第一帧图像。
本公开实施例中,所述第一帧图像的目标平面是指用户预计要将该广告放置于其上的某一个平面,例如可以是该第一帧图像中的桌面、凳面、钢琴面、书桌面、地面等中的任意一种。
本公开实施例中,所述目标三维模型可以立方体、长方体、魔方、四棱锥、球体、圆柱体等中的任一一种,本公开对此不作限定。甚至,还可以在该第一帧图像中直接放入待植入的广告本身的三维模型作为所述目标三维模型,例如下面实施例中提及的红色可乐罐子。在下面的举例说明中,均以所述目标三维模型为立方体为例进行说明,例如若将要植入的广告为红色可乐罐子,则可以采用边长为0.1米的立方体作为所述目标三维模型,但本公开并不限定于此,只要满足放入的目标三维模型的大小大致与将要植入的广告的体积大小相适应即可,当用户预计植入的广告的形状和大小发生变化时,可以适应性的调整放入的目标三维模型的形状和大小。这里采用立方体作为目标三维模型,是因为立方体的形状,能更直观地看出来位姿是否正确,调整位置和姿态会更方便。
以立方体为例,可以将立方体的目标面确定为该立方体的底面,且可以将该立方体的底面的四个顶点作为四个特征点,调整立方体在该第一帧图像上的位置和姿态(简称位姿),使得该立方体的底面的四个顶点落在该目标平面上。
需要说明的是,在其他实施例中,并不限于采用立方体的底面作为目标面,可以将立方体的任意一个面作为目标面,此外,也不限于采用目标面的顶点作为特征点,可以采用目标面上的任意几个便于标定的特征点即可。且特征点的个数也不限于上述列举的4个,例如还可能是5个特征点或者6个特征点等等。若使用其他三维模型作为该目标三维模型,则其目标面不限于有顶点的形状,也可以为如圆形/椭圆形等没有顶点的形状,例如若采用圆柱体作为目标三维模型,则可以将其底部的圆形作为目标面,此时可以标定该圆形上的几个特征点即可。即使所确定的目标面为有顶点的图形,但是目标面不局限于四边形等图形,例如若为三角形,此时三角形只有三个顶点,然亦可以取三个顶点以及其他特征点作为其多个特征点。即只要能确定所取的至少4个特征点在目标三维模型的世界坐标系下的三维坐标就可以。再例如若目标三维模型为球体,可以取球体的中心为坐标原点,过中心的一个截面为目标面,该截面与球面相交的圆上的点为特征点。
在步骤S330中,获取所述目标面的多个特征点在世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标。
在步骤S340中,根据所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标,获得所述第一帧图像的相机坐标系相对于所述世界坐标系的位姿。
在步骤S350中,根据所述目标平面、所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标,获得所述待处理视频的第二至第m帧图像的相机坐标系相对于所述世界坐标系的位姿。
在步骤S360中,将目标展示链接模型替换所述目标三维模型放置在所述世界坐标系上,根据所述待处理视频的每一帧图像的相机坐标系相对于所述世界坐标系的位姿,生成包含所述目标展示链接模型的目标视频。
本公开对选取的目标三维模型和目标展示链接模型的形状和结构不做限制,目标平面和目标面不受限于三角形、四边形等,可以是任意的形状,如圆形、椭圆形等。
本公开实施例中,还是以在视频中植入广告的应用场景为例,所述目标展示链接模型例如可以是目标三维广告模型,本领域技术人员可以理解的是,本公开实施例提供的方案也可以用于二维广告的植入,因为可以把二维广告当成是无限薄的一个三维广告。
本公开实施方式提供的图像处理方法,一方面,通过在待处理视频的第一帧图像中放入一个目标三维模型,把该目标三维模型摆在该第一帧图像中的一个目标平面上,计算出该第一帧图像中的目标三维模型相对于相机坐标系的位姿,通过对该目标平面的跟踪,可以计算出该待处理视频后面每一帧图像中的目标三维模型相对相机坐标系的位姿,然后,把该待处理视频中的目标三维模型,替换成目标展示链接模型,即可实现自动地在该待处理视频的每帧图像上面植入该目标展示链接模型;另一方面,由于采用了对目标平面的跟踪方式,不依赖对待处理视频中的图像的特征点的计算,不要求视差大的视频,计算量小速度快,操作方便,准确性高,可以适用于更多的视频,能提高在视频中植入目标展示链接模型的效率和效果。
图4示意性示出了根据本公开的另一实施例的图像处理方法的流程图。
如图4所示,与上述实施例的不同之处在于,本公开实施例提供的图像处理方法还可以进一步包括以下步骤。
在步骤S410中,通过神经网络模型对所述第一帧图像进行处理,获得所述第一帧图像上的至少一个平面。
本公开实施例中,所述神经网络模型可以是任意一种能够进行实例分割(Instance segmentation)的深度学习模型,例如Mask R-CNN(Mask Region-Convolutional Neural Networks,掩膜区域卷积神经网络)。
在示例性实施例中,所述方法还可以包括:获取训练数据集,所述训练数据集包括样本图片及其标注的平面位置和平面类型;利用所述训练数据集训练所述神经网络模型。
本公开实施例中,可以预先在一批样本图片上面,标注平面位置和平面类型,例如桌面、墙面、钢琴平面、凳子平面等,然后用这批样本训练一个神经网络模型。之后,将要植入广告的待处理视频的第一帧图像送入到这个训练好的神经网络模型中,即能把第一帧图像上面的各个平面分割出来。
在步骤S420中,响应于对所述第一帧图像的平面选择指令,从所述至少一个平面中确定所述目标平面。
例如,假设要将红色可乐罐子的目标三维广告植入待处理视频的图像上的钢琴平面上,则可以选择将该第一帧图像上的钢琴平面作为所述目标平面。
在其他实施例中,还可以是用户手动选取该第一帧图像上的某个平面作为所述目标平面,例如用户拖动鼠标,在该第一帧图像的钢琴平面上做一个标记,则将该钢琴平面作为所述目标平面,本公开对如何确定目标平面的方式不作限定。
图5示出了图3中所示的步骤S320在一实施例中的处理过程示意图。
如图5所示,本公开实施例中,上述步骤S320可以进一步包括以下步骤。
在步骤S321中,响应于向所述第一帧图像中添加所述目标三维模型的添加指令,将所述目标三维模型加入所述第一帧图像。
例如,用户可以用手指或者鼠标按住立方体,将其拖入所述待处理视频的第一帧图像中,或者通过添加等功能按钮,在第一帧图像中加入选定或默认的目标三维模型。
在步骤S322中,确定所述目标三维模型的目标面及其多个特征点。
例如,可以将立方体的底面作为立方体的目标面,立方体的底面的四个顶点作为4个特征点。
在步骤S323中,调整所述目标三维模型的位姿,使得所述目标面的多个特征点落在所述目标平面上。
在示例性实施例中,调整所述目标三维模型的位姿,使得所述目标面的多个特征点落在所述目标平面上,可以包括:调整所述目标三维模型的多个特征点,使得所述目标面的多个特征点落在所述目标平面上;或者旋转所述目标三维模型,使得所述目标面的多个特征点落在所述目标平面上。
例如,将立方体拖入待处理视频的第一帧图像后,在该第一帧图像中,可以用户人工手动调整立方体的多个顶点或者旋转该立方体来使得立方体的底面的四个顶点落在第一帧图像的目标平面上。再例如,也可以基于AI的方式自动识别该第一帧图像中的目标平面和立方体,自动调整该立方体的位姿,使得该立方体的底面的四个顶点落在第一帧图像的目标平面上。之后,可以记录立方体所在的这个目标平面,以及这个立方体在目标平面上的4个点(可以是立方体的底面的4个顶点,也可以是底面的其他任意4个像素点,下面的举例说明中均以4个顶点为例进行说明)。
图6示出了图3中所示的步骤S330在一实施例中的处理过程示意图。
如图6所示,本公开实施例中,上述步骤S330可以进一步包括以下步骤。
在步骤S331中,根据所述目标三维模型建立所述世界坐标系。
在步骤S332中,确定所述目标面的多个特征点在所述世界坐标系的三维坐标。
在步骤S333中,当所述目标面的多个特征点落在所述目标平面上时,记录所述目标面的多个特征点在所述第一帧图像上的像素坐标。
以立方体的底面为目标面为例,则其底面的a、b、c、d这4个顶点在所述第一帧图像上的像素坐标可以记为:pa,1、pb,1、pc,1、pd,1
图7示出了图6中所示的步骤S331在一实施例中的处理过程示意图。
如图7所示,本公开实施例中,上述步骤S331可以进一步包括以下步骤。
在步骤S3311中,以所述立方体最左上角的特征点为原点。
在步骤S3312中,以所述立方体与所述最左上角的特征点相交的三条边为坐标轴,建立所述世界坐标系。
这里将立方体的底面的a、b、c、d这4个顶点在所述世界坐标系的三维坐标记录为Pa、Pb、Pc、Pd
若采用其他三维模型作为所述目标三维模型,例如四棱锥,则可以以四棱锥的底面的最左下角顶点为原点,原点到右边顶点为x轴,原点到左上角顶点为y轴,垂直于这个底面的方向为z轴,建立直角坐标系作为该四棱锥的世界坐标系。
图8示出了图3中所示的步骤S350在一实施例中的处理过程示意图。
如图8所示,本公开实施例中,上述步骤S350可以进一步包括以下步骤。
在步骤S351中,获得所述待处理视频的第j帧图像上的目标平面相对于所述第一帧图像上的目标平面的单应矩阵,j为大于或等于2且小于或等于m的正整数。
单应是射影几何中的概念,又称为射影变换。它把一个射影平面上的点(三维齐次矢量)映射到另一个射影平面上,并且把直线映射为直线,具有保线性质。总的来说,单应是关于三维齐次矢量的一种线性变换,可以用一个3×3的非奇异矩阵H表示。
本公开实施例中,以在视频中植入广告的应用场景为例,对待处理视频中的目标平面B进行跟踪,计算该目标平面B在每一帧图像中的区域以及形变,就是计算出当前帧图像中的目标平面B,相对另外一帧图像中的该目标平面B的单应矩阵。在之后的每一帧图像上,采用平面跟踪方式,跟踪目标平面B,计算单应矩阵。
下面以待处理视频的第一帧、第二帧和第三帧图像为例进行举例说明。
首先,在待处理视频的第一帧图像选择待植入广告的目标平面B,获取目标平面B上的所有的像素坐标A1,假设A1={p1 1(u1 1,v1 1),p1 2(u1 2,v1 2),p1 3(u1 3,v1 3)…p1 n(u1 n,v1 n)},其中p1 i(u1 i,v1 i)表示的是目标平面B在A1中的第i个像素点,假设一共有n个像素点,n为大于等于1的正整数,i为大于等于1且小于等于n的正整数。
假设该待处理视频的第二帧图像的单应矩阵H2的初值为单位矩阵
Figure BDA0002198032410000171
然后,用H2把A1映射到第二帧图像上,得到目标平面B上的所有的像素坐标A2,A2={p2 1(u2 1,v2 1),p2 2(u2 2,v2 2),p2 3(u2 3,v2 3)…p2 n(u2 n,v2 n)}。例如,A1中的第一个像素点的像素坐标为p1 1(u1 1,v1 1),映射到A2中的第一个像素点的像素坐标为p2 1(u2 1,v2 1),计算表达式如下:
p2 1(u2 1,v2 1)=H2·p1 1(u1 1,v1 1) (1)
其中,
Figure BDA0002198032410000172
Figure BDA0002198032410000173
然后,计算A1的每一个像素点的像素值与它对应的A2的每一个像素点的像素值的残差来计算相关度f,相关度f就是评价A1和A2的相似程度,其计算方法,可以是SSD(sum ofsquared differences,误差平方和)方法,也可以是皮尔森相关法等。根据相关度f来优化单应矩阵H2(记为H2,0)。也就是对H2进行调整ΔH,目标使得相关度f的值最大,其优化表达式如下:
Figure BDA0002198032410000174
上述公式中,I1和I2分别代表待处理视频的第一帧图像和第二帧图像,对优化
Figure BDA0002198032410000175
的具体计算,可以采用梯度下降法、高斯牛顿法和牛顿法等中的任意一种。
Figure BDA0002198032410000176
表示的是最优的ΔH。因为ΔH的初值是零矩阵,经过高斯牛顿法等方法优化之后,才会变成最优值
Figure BDA0002198032410000177
得到优化后的H2,0。其更新如下表达式所示:
Figure BDA0002198032410000178
再将优化后的H2,0作为待处理视频的第三帧图像的单应矩阵H3的初值假设,用H3把A1映射到第三帧图像上,得到优化后的H3,0。再将优化后的H3,0作为待处理视频的第四帧图像的单应矩阵H4的初值假设……如此一直重复下去直至第m帧图像。
本公开实施例中,当某一帧图像中的目标平面B里面有前景遮挡的时候,比如人、车,则被遮挡部分的像素,不计算残差。当平面A里面有前景遮挡的时候,比如人、车,则被遮挡部分的像素,不计算残差。而识别哪些区域被遮挡了,可以是人工选取的方法,也可以是一些深度学习的方法。即A1,A2,A2…Am中参与计算相关度f计算的像素,都为非遮挡的像素。
本公开实施例提供的方案,不依赖于提取特征点,可以在目标平面亮度变化小、纹理不丰富的情况下,也能工作。且能够充分利用整个目标平面的信息。本公开实施例提供的平面跟踪方法,每次利用上一帧优化后的单应矩阵作为下一帧的单应矩阵的初值,在此基础上对下一帧的单应矩阵进行优化,计算速度较快,可以对待处理视频中的目标平面进行有效跟踪。并且在目标平面被遮挡的情况下,不受限于对目标平面的观察角度,当后面的图像相对于第一帧的观察角度发生较大变化时,也能有效跟踪。
在其他实施例中,还可以采用特征点法来对目标平面进行跟踪。它通过对不同帧图像的特征点进行匹配,然后计算出不同帧图像之间的单应矩阵。
在步骤S352中,根据所述第j帧图像的单应矩阵和所述目标面的多个特征点在所述第一帧图像上的像素坐标,获得所述目标面的多个特征点在所述第j帧图像上的像素坐标。
还是以立方体的底面为目标面为例,则先用平面跟踪方式,计算得到第j帧图像上的目标平面B相对于第一帧图像上面的目标平面的单应矩阵Hj,0。然后,基于单应矩阵Hj,0,计算出立方体的底面的4个顶点在第j帧图像上面的像素坐标:pa,j、pb,j、pc,j、pd,j,计算表达式可以如下所示:
pa,j=Hj,0*pa,1 (6)
pb,j=Hj,0*pb,1 (7)
pc,j=Hj,0*pc,1 (8)
pd,j=Hj,0*pd,1 (9)
需要说明的是,本公开并不限定使用平面跟踪的方法,来计算单应矩阵,再根据单应矩阵来计算立方体的底面的4个顶点在当前帧图像上的像素坐标。在其他实施例中,可以采用特征点匹配的方法,直接跟踪匹配这4个顶点在每帧图像上的像素坐标。
在步骤S353中,根据所述待处理视频的相机内参、所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第j帧图像上的像素坐标,获得所述待处理视频的第j帧图像的相机坐标系相对于所述世界坐标系的位姿。
假设相机内参K是已知的,如果相机内参K未知的话,可以把待处理视频的图像送入深度学习模型中,学习出相机内参K,这里的深度学习模型可以是任意的能实现“SingleImage Camera Calibration(单图像相机校准)”的深度学习模型。例如一种深度单图像相机标定的感知测量方法(A Perceptual Measure for Deep Single Image CameraCalibration)。
本公开实施例中,在之后的每一帧图像,计算出目标平面B相对第一帧图像的单应矩阵。根据单应矩阵,计算出在第j帧图像上面的立方体的底面的4个特征点的像素坐标pa,j、pb,j、pc,j、pd,j,。然后,根据这4个特征点的像素坐标pa,j、pb,j、pc,j、pd,j,和立方体的底面的4个特征点的三维坐标Pa、Pb、Pc、Pd,以及相机内参K,算出第j帧图像上的立方体的位置和姿态。
例如,可以将立方体的底面的4个顶点的三维坐标Pa、Pb、Pc、Pd,以及它们在第j帧图像上面的像素坐标pa,j、pb,j、pc,j、pd,j,以及相机内参K,输入到PnP(Perspective-n-Point,透视-n-点)算法中,计算得到第j帧图像的相机坐标系相对于世界坐标系O的位置ti和姿态Ri。然后,可以把立方体投影到当前帧图像上面显示。
需要说明的是,本公开并不限定使用PnP方法来计算立方体的位姿,可以是其它任何方法,只要能实现这样的功能:通过输入目标三维模型的目标面的多个特征点在世界坐标系的三维坐标,以及在当前帧图像上的像素坐标,能够计算出当前帧图像的相机坐标系相对于世界坐标系的位置t和姿态R。
图9示出了图3中所示的步骤S360在一实施例中的处理过程示意图。
如图9所示,本公开实施例中,上述步骤S360可以进一步包括以下步骤。
在步骤S361中,基于所述待处理视频的第二至第m帧图像的相机坐标系相对于所述世界坐标系的位姿,将所述目标三维模型分别投影至所述待处理视频的第二至第m帧图像上。
例如,基于当前帧图像的位置和姿态,把立方体投影到当前帧图像的画面上。
在步骤S362中,将所述目标展示链接模型替换所述目标三维模型放置在所述待处理视频的每一帧图像的所述世界坐标系上。
在步骤S363中,根据所述待处理视频的每一帧图像的相机坐标系相对于所述世界坐标系的位姿,将所述目标展示链接模型投影到所述待处理视频的每一帧图像上。
在步骤S364中,合成所述待处理视频的每一帧图像,生成包含所述目标展示链接模型的目标视频。
例如,在待处理视频的每帧图像上面,用目标三维广告模型替换掉立方体。把目标三维广告模型投影到每帧图像上,合成每帧图像生成包含所述目标展示链接模型的目标视频。
具体的,根据之前的步骤,计算得到待处理视频的所有帧图像的相机坐标系相对于世界坐标系的位置和姿态,把目标三维广告模型放置在世界坐标系上,根据每帧图像的位姿,把目标三维广告模型投影到每一帧图像上面,合成包含目标三维广告模型的目标视频。
例如,以立方体的底面上的某一个顶点为原点,建立三维直角坐标系为所述世界坐标系。红色可乐罐子的三维模型,有它自己的参考坐标系。只要把红色可乐罐子的参考坐标系定义为立方体的三维直角坐标系,也就是,得出红色可乐罐子相对于立方体的位置和姿态(固定不变的),就可以计算得到红色可乐罐子相对于相机坐标系的位置和姿态,实现替换。计算过程如下:
Tcam_coca=Tcam_cube*Tcube_coca (10)
上述公式中,Tcam_coca表示红色可乐罐子相对于相机坐标系的位姿,Tcam_cube表示立方体相对于相机坐标系的位姿,Tcube_coca表示红色可乐罐子相对于立方体的位姿。也可以理解为,一开始就把这个红色可乐罐子放入到立方体中,红色可乐罐子的底面与立方体的底面重合。那么,每帧图像中的目标三维广告模型相对于相机坐标系的位置和姿态,也就都基于立方体相对于相机坐标系的位置和姿态得到了。最后把立方体去掉,把红色可乐罐子显示出来。
图10示意性示出了根据本公开的又一实施例的图像处理方法的流程图。
如图10所示,本公开实施例提供的图像处理方法可以包括以下步骤。
在步骤S1001中,获取视频D。
在步骤S1002中,计算得到视频D中的图像帧的数量为m,令j=1。
在步骤S1003中,在视频D的第一帧图像上面拖入立方体A。
在步骤S1004中,调整立方体A的位置和姿态使其底面的4个顶点落在第一帧图像的目标平面B上。
在步骤S1005中,记录立方体A落在目标平面B上的底面的4个顶点在第一帧图像上的像素坐标p1
在步骤S1006中,j<=m;若是,则进入步骤S1007;若否,则跳转到步骤S1013。
在步骤S1007中,获取视频D的第j帧图像Mj
在步骤S1008中,跟踪目标平面B,计算第j帧图像Mj中目标平面B相对第一帧图像中目标平面B的单应矩阵Hj,0
在步骤S1009中,根据单应矩阵Hj,0,计算得到第j帧图像Mj上,立方体A落在目标平面B上的4个顶点在第j帧图像Mj上的像素坐标pj=Hj,0*p1
在步骤S1010中,根据pj,算出第j帧图像Mj的相机坐标系的位置tj和姿态Rj
在步骤S1011中,根据Mj的位姿tj和Rj,投影立方体A到第j帧图像Mj上。
在步骤S1012中,令j=j+1,跳回到步骤S1006,继续执行上述步骤S1007至1012,直至j大于m为止。
在步骤S1013中,获取广告C。
在步骤S1014中,根据记录的每帧图像的位姿R和t,把广告C投影到每帧图像,合成包括广告C的视频D’。
在步骤S1015中,结束。
本公开实施例中,所涉及到的原始数据和/或处理后的数据均可以存储于区块链中。例如,可以将未植入三维广告的原始视频数据存储在区块链中,从区块链存储的原始视频数据中可以提取出待处理视频。还可以将广告存储至所述区块链中,当需要在所述待处理视频中植入某个广告时,从所述区块链中提取出目标三维广告。执行上述图像处理方法的主体可以是区块链中的任意一个节点(可以是服务器和/或用户终端设备等)。对提取出的待处理视频和目标三维广告执行完上述图像处理方法后,可以获得植入了目标三维广告的目标视频。
下面以立方体作为目标三维模型、目标面为立方体的底面、目标平面为待处理视频中的钢琴平面为例进行举例说明,本公开实施例的方案可以包括:在待处理视频的第一帧图像中拖入立方体;对待处理视频中的钢琴平面进行跟踪;更新立方体的位姿;合成包含三维广告的目标视频。
图11示意性示出了根据本公开的一实施例的立方体及其世界坐标系的示意图。
如图11所示,假设立方体的边长设定为0.1米,以立方体的最左上角的顶点为原点,三条边为坐标轴,建立世界坐标系O。则可以得到立方体的底面上的4个顶点的三维坐标P。a顶点的三维坐标为Pa(0,0,0),b顶点的三维坐标为Pb(0,0.1,0),c顶点的三维坐标为Pc(0.1,0.1,0),d顶点的三维坐标为Pd(0.1,0,0)。
图12示意性示出了根据本公开的一实施例的拖动立方体的顶点来控制立方体的位姿的示意图。
如图12所示,在待处理视频的第一帧图像上拖入立方体,然后在第一帧图像上拖动立方体的各个顶点,来调整立方体的位置和姿态。图12左边的(a)图表示刚开始将立方体拖入第一帧图像时各白色圆点的初始位置;中间的(b)图表示拖动白色圆点,将其调整到用户想要的位置,例如用户认为立方体的底面的4个顶点和顶面的1个顶点应该出现的像素位置;右边的(c)图表示根据(b)图调整的白色圆点的位置,自动调整立方体的位姿,使得立方体的顶点尽量靠近这些白色圆点,使得立方体看起来它的底面的4个顶点是落在目标平面上的,并且,整个立方体看起来的位置和姿态也是正确的。即用户可以通过拖动这些白色圆点来调整立方体的位置和姿态。
需要说明的是,图12中虽然示出了5个白色圆点来调整立方体的5个顶点,但实际操作时并不限定于此,例如还可以使用4个、6个、7个甚至8个或者更多的白色圆点来分别对应调整立方体的8个顶点。
在图12中,还可以设置用不同颜色来绘制立方体的不同边,从而将其不同面区分开来,例如底面的四条边用蓝色表示,顶面的四条边用红色表示,侧面的四条边用绿色表示,但本公开并不限定于此。
图13示意性示出了根据本公开的一实施例的旋转立方体来控制立方体的位姿的示意图。
除了上述图12所示的方式,还可以通过如图13所示的方式来调整立方体的位姿。图13左边的(a)图将立方体拖入第一帧图像时的初始位置,中间的(b)图表示用户旋转立方体,以达到右边的(c)图的最终效果的目的,即立方体的底面的4个顶点落在目标平面上,且立方体的位姿看起来是正确的。用户可以通过手指或者鼠标来按住箭头来拖动立方体,还可以通过按住圆弧来旋转立方体,从而可以调整立方体的位姿。
本公开实施例中,可以通过人工交互方式来调整立方体的位姿,也可以通过基于AI的方法识别第一帧图像中的目标平面,自动调整立方体的位置和姿态,把立方体放置在目标平面B上。调整的目标是,调整立方体的位置和姿态,使得立方体的底面的4个顶点a、b、c、d落在目标平面B上。记录这个时候,这4个顶点在第一帧图像上面的像素坐标。将立方体的底面的4个顶点的三维坐标,以及它们在第一帧图像上面的像素坐标,以及相机内参,输入到PnP算法中,计算得到第一帧图像的相机坐标系相对于世界坐标系O的位置和姿态。
图14示意性示出了根据本公开的一实施例的跟踪立方体所在的目标平面的示意图。
假设目标平面为钢琴平面,则平面跟踪效果如图14所示。图14左边的(a)图假设为待处理视频的第一帧图像上显示的目标平面,中间的(b)图假设为第二帧图像上显示的目标平面,右边的(c)图假设为第三帧图像上显示的目标平面。
图15示意性示出了根据本公开的一实施例的显示各帧图像上面的立方体的示意图。
图15左边的(a)图假设为待处理视频的第一帧图像上显示的立方体,中间的(b)图假设为第二帧图像上显示的立方体,右边的(c)图假设为第三帧图像上显示的立方体。
图16示意性示出了根据本公开的一实施例的在各帧图像上合成三维广告的示意图。
图16左边的(a)图假设为待处理视频的第一帧图像上显示的红色可乐罐子,中间的(b)图假设为第二帧图像上显示的红色可乐罐子,右边的(c)图假设为第三帧图像上显示的红色可乐罐子。
图17示意性示出了根据本公开的一实施例的图像处理装置的框图。
如图17所示,本公开实施方式提供的图像处理装置1700可以包括:处理视频获取模块1710、三维模型放置模块1720、第一坐标获取模块1730、第一位姿获得模块1740、第二位姿获得模块1750以及目标视频生成模块1760。
其中,处理视频获取模块1710可以配置为获取待处理视频,所述待处理视频包括m帧图像,m为大于或等于2的正整数。三维模型放置模块1720可以配置为在所述待处理视频的第一帧图像的目标平面上放置目标三维模型,其中所述目标三维模型的目标面的多个特征点落在所述目标平面上。第一坐标获取模块1730可以配置为获取所述目标面的多个特征点在世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标。第一位姿获得模块1740可以配置为根据所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标,获得所述第一帧图像的相机坐标系相对于所述世界坐标系的位姿。第二位姿获得模块1750可以配置为根据所述目标平面、所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标,获得所述待处理视频的第二至第m帧图像的相机坐标系相对于所述世界坐标系的位姿。目标视频生成模块1760可以配置为将目标展示链接模型替换所述目标三维模型放置在所述世界坐标系上,根据所述待处理视频的每一帧图像的相机坐标系相对于所述世界坐标系的位姿,生成包含所述目标展示链接模型的目标视频。
在示例性实施例中,第二位姿获得模块1750可以包括:单应矩阵获得单元,可以配置为获得所述待处理视频的第j帧图像上的目标平面相对于所述第一帧图像上的目标平面的单应矩阵,j为大于或等于2且小于或等于m的正整数;像素坐标获得单元,可以配置为根据所述第j帧图像的单应矩阵和所述目标面的多个特征点在所述第一帧图像上的像素坐标,获得所述目标面的多个特征点在所述第j帧图像上的像素坐标;位姿获得单元,可以配置为根据所述待处理视频的相机内参、所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第j帧图像上的像素坐标,获得所述待处理视频的第j帧图像的相机坐标系相对于所述世界坐标系的位姿。
在示例性实施例中,目标视频生成模块1760可以包括:三维模型投影单元,可以配置为基于所述待处理视频的第二至第m帧图像的相机坐标系相对于所述世界坐标系的位姿,将所述目标三维模型分别投影至所述待处理视频的第二至第m帧图像上;展示模型替换单元,可以配置为将所述目标展示链接模型替换所述目标三维模型放置在所述待处理视频的每一帧图像的所述世界坐标系上;展示模型投影单元,可以配置为根据所述待处理视频的每一帧图像的相机坐标系相对于所述世界坐标系的位姿,将所述目标展示链接模型投影到所述待处理视频的每一帧图像上;图像合成单元,可以配置为合成所述待处理视频的每一帧图像,生成包含所述目标展示链接模型的目标视频。
在示例性实施例中,三维模型放置模块1720可以包括:三维模型拖入单元,可以配置为响应于向所述第一帧图像中添加所述目标三维模型的添加指令,将所述目标三维模型加入所述第一帧图像;目标面确定单元,可以配置为确定所述目标三维模型的目标面及其多个特征点;三维模型位姿调整单元,可以配置为调整所述目标三维模型的位姿,使得所述目标面的多个特征点落在所述目标平面上。
在示例性实施例中,所述三维模型位姿调整单元可以包括:特征点调整子单元或者三维模型旋转子单元。其中,所述特征点调整子单元可以配置为调整所述目标三维模型的多个特征点,使得所述目标面的多个特征点落在所述目标平面上。所述三维模型旋转子单元可以配置为旋转所述目标三维模型,使得所述目标面的多个特征点落在所述目标平面上。
在示例性实施例中,第一坐标获取模块1730可以包括:世界坐标系建立单元,可以配置为根据所述目标三维模型建立所述世界坐标系;三维坐标确定单元,可以配置为确定所述目标面的多个特征点在所述世界坐标系的三维坐标;像素坐标记录单元,可以配置为当所述目标面的多个特征点落在所述目标平面上时,记录所述目标面的多个特征点在所述第一帧图像上的像素坐标。
在示例性实施例中,所述目标三维模型可以为预定边长的立方体。其中,所述世界坐标系建立单元可以包括:原点确定子单元,可以配置为以所述立方体最左上角的特征点为原点;坐标轴确定子单元,可以配置为以所述立方体与所述最左上角的特征点相交的三条边为坐标轴,建立所述世界坐标系。
在示例性实施例中,图像处理装置1700还可以包括:平面获得模块,可以配置为通过神经网络模型对所述第一帧图像进行处理,获得所述第一帧图像上的至少一个平面;目标平面确定模块,可以配置为响应于对所述第一帧图像的平面选择指令,从所述至少一个平面中确定所述目标平面。
本公开实施例提供的图像处理装置中的各个模块、单元和子单元的具体实现可以参照上述图像处理方法中的内容,在此不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块、单元和子单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块、单元和子单元的特征和功能可以在一个模块、单元和子单元中具体化。反之,上文描述的一个模块、单元和子单元的特征和功能可以进一步划分为由多个模块、单元和子单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (18)

1.一种图像处理方法,其特征在于,包括:
获取待处理视频,所述待处理视频包括m帧图像,m为大于或等于2的正整数;
在所述待处理视频的第一帧图像的目标平面上放置目标三维模型,其中所述目标三维模型的目标面的多个特征点在所述目标平面上;
获取所述目标面的多个特征点在世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标;
根据所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标,获得所述第一帧图像的相机坐标系相对于所述世界坐标系的位姿;
在所述第一帧图像和所述待处理视频的第二至第m帧图像中跟踪所述目标平面,计算出所述第二至第m帧图像中的每帧图像与所述第一帧图像之间的单应矩阵;
根据所述第二至第m帧图像中的每帧图像与所述第一帧图像之间的单应矩阵、所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标,获得所述待处理视频的第二至第m帧图像的相机坐标系相对于所述世界坐标系的位姿;
将目标展示链接模型替换所述目标三维模型放置在所述世界坐标系上,根据所述待处理视频的每一帧图像的相机坐标系相对于所述世界坐标系的位姿,生成包含所述目标展示链接模型的目标视频。
2.根据权利要求1所述的方法,其特征在于,根据所述目标平面、所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标,获得所述待处理视频的第二至第m帧图像的相机坐标系相对于所述世界坐标系的位姿,包括:
获得所述待处理视频的第j帧图像上的目标平面相对于所述第一帧图像上的目标平面的单应矩阵,j为大于或等于2且小于或等于m的正整数;
根据所述第j帧图像的单应矩阵和所述目标面的多个特征点在所述第一帧图像上的像素坐标,获得所述目标面的多个特征点在所述第j帧图像上的像素坐标;
根据所述待处理视频的相机内参、所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第j帧图像上的像素坐标,获得所述待处理视频的第j帧图像的相机坐标系相对于所述世界坐标系的位姿。
3.根据权利要求1所述的方法,其特征在于,将目标展示链接模型替换所述目标三维模型放置在所述世界坐标系上,根据所述待处理视频的每一帧图像的相机坐标系相对于所述世界坐标系的位姿,生成包含所述目标展示链接模型的目标视频,包括:
基于所述待处理视频的第二至第m帧图像的相机坐标系相对于所述世界坐标系的位姿,将所述目标三维模型分别投影至所述待处理视频的第二至第m帧图像上;
将所述目标展示链接模型替换所述目标三维模型放置在所述待处理视频的每一帧图像的所述世界坐标系上;
根据所述待处理视频的每一帧图像的相机坐标系相对于所述世界坐标系的位姿,将所述目标展示链接模型投影到所述待处理视频的每一帧图像上;
合成所述待处理视频的每一帧图像,生成包含所述目标展示链接模型的目标视频。
4.根据权利要求1所述的方法,其特征在于,在所述待处理视频的第一帧图像的目标平面上放置目标三维模型,其中所述目标三维模型的目标面的多个特征点落在所述目标平面上,包括:
响应于向所述第一帧图像中添加所述目标三维模型的添加指令,将所述目标三维模型加入所述第一帧图像;
确定所述目标三维模型的目标面及其多个特征点;
调整所述目标三维模型的位姿,使得所述目标面的多个特征点落在所述目标平面上。
5.根据权利要求4所述的方法,其特征在于,调整所述目标三维模型的位姿,使得所述目标面的多个特征点落在所述目标平面上,包括:
调整所述目标三维模型的多个特征点,使得所述目标面的多个特征点落在所述目标平面上;或者
旋转所述目标三维模型,使得所述目标面的多个特征点落在所述目标平面上。
6.根据权利要求1所述的方法,其特征在于,获取所述目标面的多个特征点在世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标,包括:
根据所述目标三维模型建立所述世界坐标系;
确定所述目标面的多个特征点在所述世界坐标系的三维坐标;
当所述目标面的多个特征点落在所述目标平面上时,记录所述目标面的多个特征点在所述第一帧图像上的像素坐标。
7.根据权利要求6所述的方法,其特征在于,所述目标三维模型为预定边长的立方体;其中,根据所述目标三维模型建立所述世界坐标系,包括:
以所述立方体最左上角的特征点为原点;
以所述立方体与所述最左上角的特征点相交的三条边为坐标轴,建立所述世界坐标系。
8.根据权利要求1所述的方法,其特征在于,还包括:
通过神经网络模型对所述第一帧图像进行处理,获得所述第一帧图像上的至少一个平面;
响应于对所述第一帧图像的平面选择指令,从所述至少一个平面中确定所述目标平面。
9.一种图像处理装置,其特征在于,包括:
处理视频获取模块,配置为获取待处理视频,所述待处理视频包括m帧图像,m为大于或等于2的正整数;
三维模型放置模块,配置为在所述待处理视频的第一帧图像的目标平面上放置目标三维模型,其中所述目标三维模型的目标面的多个特征点落在所述目标平面上;
第一坐标获取模块,配置为获取所述目标面的多个特征点在世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标;
第一位姿获得模块,配置为根据所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标,获得所述第一帧图像的相机坐标系相对于所述世界坐标系的位姿;
第二位姿获得模块,配置为在所述第一帧图像和所述待处理视频的第二至第m帧图像中跟踪所述目标平面,计算出所述第二至第m帧图像中的每帧图像与所述第一帧图像之间的单应矩阵;根据所述第二至第m帧图像中的每帧图像与所述第一帧图像之间的单应矩阵、所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第一帧图像上的像素坐标,获得所述待处理视频的第二至第m帧图像的相机坐标系相对于所述世界坐标系的位姿;
目标视频生成模块,配置为将目标展示链接模型替换所述目标三维模型放置在所述世界坐标系上,根据所述待处理视频的每一帧图像的相机坐标系相对于所述世界坐标系的位姿,生成包含所述目标展示链接模型的目标视频。
10.根据权利要求9所述的装置,其特征在于,所述第二位姿获得模块包括:
单应矩阵获得单元,配置为获得所述待处理视频的第j帧图像上的目标平面相对于所述第一帧图像上的目标平面的单应矩阵,j为大于或等于2且小于或等于m的正整数;
像素坐标获得单元,配置为根据所述第j帧图像的单应矩阵和所述目标面的多个特征点在所述第一帧图像上的像素坐标,获得所述目标面的多个特征点在所述第j帧图像上的像素坐标;
位姿获得单元,配置为根据所述待处理视频的相机内参、所述目标面的多个特征点在所述世界坐标系的三维坐标及其在所述第j帧图像上的像素坐标,获得所述待处理视频的第j帧图像的相机坐标系相对于所述世界坐标系的位姿。
11.根据权利要求9所述的装置,其特征在于,所述目标视频生成模块包括:
三维模型投影单元,配置为基于所述待处理视频的第二至第m帧图像的相机坐标系相对于所述世界坐标系的位姿,将所述目标三维模型分别投影至所述待处理视频的第二至第m帧图像上;
展示模型替换单元,配置为将所述目标展示链接模型替换所述目标三维模型放置在所述待处理视频的每一帧图像的所述世界坐标系上;
展示模型投影单元,配置为根据所述待处理视频的每一帧图像的相机坐标系相对于所述世界坐标系的位姿,将所述目标展示链接模型投影到所述待处理视频的每一帧图像上;
图像合成单元,配置为合成所述待处理视频的每一帧图像,生成包含所述目标展示链接模型的目标视频。
12.根据权利要求9所述的装置,其特征在于,所述三维模型放置模块包括:
三维模型拖入单元,配置为响应于向所述第一帧图像中添加所述目标三维模型的添加指令,将所述目标三维模型加入所述第一帧图像;
目标面确定单元,配置为确定所述目标三维模型的目标面及其多个特征点;
三维模型位姿调整单元,配置为调整所述目标三维模型的位姿,使得所述目标面的多个特征点落在所述目标平面上。
13.根据权利要求12所述的装置,其特征在于,所述三维模型位姿调整单元包括:
特征点调整子单元,配置为调整所述目标三维模型的多个特征点,使得所述目标面的多个特征点落在所述目标平面上;或者
三维模型旋转子单元,配置为旋转所述目标三维模型,使得所述目标面的多个特征点落在所述目标平面上。
14.根据权利要求9所述的装置,其特征在于,所述第一坐标获取模块包括:
世界坐标系建立单元,配置为根据所述目标三维模型建立所述世界坐标系;
三维坐标确定单元,配置为确定所述目标面的多个特征点在所述世界坐标系的三维坐标;
像素坐标记录单元,配置为当所述目标面的多个特征点落在所述目标平面上时,记录所述目标面的多个特征点在所述第一帧图像上的像素坐标。
15.根据权利要求14所述的装置,其特征在于,所述目标三维模型为预定边长的立方体;其中,所述世界坐标系建立单元包括:
原点确定子单元,配置为以所述立方体最左上角的特征点为原点;
坐标轴确定子单元,配置为以所述立方体与所述最左上角的特征点相交的三条边为坐标轴,建立所述世界坐标系。
16.根据权利要求9所述的装置,其特征在于,所述装置还包括:
平面获得模块,配置为通过神经网络模型对所述第一帧图像进行处理,获得所述第一帧图像上的至少一个平面;
目标平面确定模块,配置为响应于对所述第一帧图像的平面选择指令,从所述至少一个平面中确定所述目标平面。
17.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,配置为存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至8中任一项所述的图像处理方法。
18.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的图像处理方法。
CN201910854877.XA 2019-09-10 2019-09-10 图像处理方法及装置、电子设备和计算机可读存储介质 Active CN110599605B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201910854877.XA CN110599605B (zh) 2019-09-10 2019-09-10 图像处理方法及装置、电子设备和计算机可读存储介质
PCT/CN2020/111638 WO2021047396A1 (zh) 2019-09-10 2020-08-27 图像处理方法及装置、电子设备和计算机可读存储介质
EP20863666.2A EP3923248A4 (en) 2019-09-10 2020-08-27 IMAGE PROCESSING METHOD AND APPARATUS, ELECTRONIC DEVICE AND COMPUTER READABLE STORAGE MEDIA
JP2021555830A JP7270761B2 (ja) 2019-09-10 2020-08-27 画像処理方法及び装置、電子機器並びにコンピュータプログラム
US17/185,393 US11538229B2 (en) 2019-09-10 2021-02-25 Image processing method and apparatus, electronic device, and computer-readable storage medium
US17/986,322 US20230075270A1 (en) 2019-09-10 2022-11-14 Image processing method and apparatus, electronic device, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910854877.XA CN110599605B (zh) 2019-09-10 2019-09-10 图像处理方法及装置、电子设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110599605A CN110599605A (zh) 2019-12-20
CN110599605B true CN110599605B (zh) 2021-07-13

Family

ID=68858713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910854877.XA Active CN110599605B (zh) 2019-09-10 2019-09-10 图像处理方法及装置、电子设备和计算机可读存储介质

Country Status (5)

Country Link
US (2) US11538229B2 (zh)
EP (1) EP3923248A4 (zh)
JP (1) JP7270761B2 (zh)
CN (1) CN110599605B (zh)
WO (1) WO2021047396A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11538184B2 (en) * 2018-06-01 2022-12-27 Hewlett-Packard Development Company, L.P. Substantially real-time correction of perspective distortion
CN110599605B (zh) * 2019-09-10 2021-07-13 腾讯科技(深圳)有限公司 图像处理方法及装置、电子设备和计算机可读存储介质
CN111242952B (zh) * 2020-01-15 2023-06-30 腾讯科技(深圳)有限公司 图像分割模型训练方法、图像分割方法、装置及计算设备
CN111311654B (zh) * 2020-02-13 2023-11-24 北京百度网讯科技有限公司 一种相机位置的配准方法、装置、电子设备及存储介质
CN111599005B (zh) * 2020-05-19 2024-01-05 湖南飞戈数字科技有限公司 一种三维模型植入方法、装置、电子设备及存储介质
CN111612851B (zh) * 2020-05-20 2023-04-07 阿波罗智联(北京)科技有限公司 用于标定相机的方法、装置、设备以及存储介质
CN111652831B (zh) * 2020-06-28 2022-04-19 腾讯科技(深圳)有限公司 对象融合方法、装置、计算机可读存储介质及电子设备
CN111768454B (zh) * 2020-08-05 2023-12-22 腾讯科技(深圳)有限公司 位姿确定方法、装置、设备及存储介质
CN111986133B (zh) * 2020-08-20 2024-05-03 叠境数字科技(上海)有限公司 一种应用于子弹时间的虚拟广告植入方法
CN112528094B (zh) * 2020-12-04 2022-08-16 国网山东省电力公司信息通信公司 一种基于分层映射的多字段范围tcam编码方法及系统
CN112822418B (zh) * 2020-12-31 2022-12-06 北京字节跳动网络技术有限公司 视频处理方法和装置、存储介质和电子设备
CN112887793B (zh) * 2021-01-25 2023-06-13 脸萌有限公司 视频处理方法、显示设备和存储介质
CN112837424B (zh) * 2021-02-04 2024-02-06 脸萌有限公司 图像处理方法、装置、设备和计算机可读存储介质
CN113819890B (zh) * 2021-06-04 2023-04-14 腾讯科技(深圳)有限公司 测距方法、装置、电子设备及存储介质
CN113345022B (zh) * 2021-07-05 2023-02-17 湖南快乐阳光互动娱乐传媒有限公司 动态三维广告植入方法、装置、电子设备及存储介质
CN113689466B (zh) * 2021-07-30 2022-07-12 稿定(厦门)科技有限公司 一种基于特征点的平面跟踪方法、系统
CN113689467B (zh) * 2021-07-30 2022-07-12 稿定(厦门)科技有限公司 一种适用于平面跟踪的特征点优化方法、系统
CN113689321B (zh) * 2021-08-23 2023-12-22 深圳普汇智为科技有限公司 基于立体投影加密的图像信息传输方法及装置
CN113923493B (zh) * 2021-09-29 2023-06-16 北京奇艺世纪科技有限公司 一种视频处理方法、装置、电子设备以及存储介质
CN114898084B (zh) * 2022-04-18 2023-08-25 荣耀终端有限公司 视觉定位方法、设备和存储介质
CN114963025B (zh) * 2022-04-19 2024-03-26 深圳市城市公共安全技术研究院有限公司 泄漏点定位方法、装置、电子设备及可读存储介质
CN116091711B (zh) * 2023-04-12 2023-09-08 荣耀终端有限公司 一种三维重建方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028432A1 (en) * 2001-08-01 2003-02-06 Vidius Inc. Method for the customization of commercial product placement advertisements in digital media
CN101512553A (zh) * 2006-07-16 2009-08-19 西姆比有限公司 用于虚拟内容安置的系统和方法
CN103024480A (zh) * 2012-12-28 2013-04-03 杭州泰一指尚科技有限公司 一种在视频中嵌入广告的方法
CN110213629A (zh) * 2019-06-27 2019-09-06 腾讯科技(深圳)有限公司 一种信息植入方法、装置、服务器及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544852B (zh) * 2013-10-18 2015-08-05 中国民用航空总局第二研究所 一种在机场场面监视视频中实现飞机自动挂标牌的方法
US10192133B2 (en) * 2015-06-22 2019-01-29 Seiko Epson Corporation Marker, method of detecting position and pose of marker, and computer program
JP6489654B2 (ja) * 2016-01-22 2019-03-27 Kddi株式会社 カメラのキャリブレーション装置、方法及びプログラム
CN106097457A (zh) 2016-06-12 2016-11-09 上海大学 基于stl缺损模型的切割修整方法
CN107665506B (zh) * 2016-07-29 2021-06-01 成都理想境界科技有限公司 实现增强现实的方法及系统
CN107016704A (zh) * 2017-03-09 2017-08-04 杭州电子科技大学 一种基于增强现实的虚拟现实实现方法
CN108629843B (zh) * 2017-03-24 2021-07-13 成都理想境界科技有限公司 一种实现增强现实的方法及设备
JP6989276B2 (ja) * 2017-04-05 2022-01-05 株式会社Soken 位置計測装置
US10580148B2 (en) * 2017-12-21 2020-03-03 Microsoft Technology Licensing, Llc Graphical coordinate system transform for video frames
JP6931267B2 (ja) * 2018-06-21 2021-09-01 Kddi株式会社 原画像を目標画像に基づいて変形した表示画像を生成するプログラム、装置及び方法
CN109410680A (zh) * 2018-11-19 2019-03-01 叶哲伟 一种基于混合现实的虚拟手术训练方法及系统
CN110599605B (zh) * 2019-09-10 2021-07-13 腾讯科技(深圳)有限公司 图像处理方法及装置、电子设备和计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030028432A1 (en) * 2001-08-01 2003-02-06 Vidius Inc. Method for the customization of commercial product placement advertisements in digital media
CN101512553A (zh) * 2006-07-16 2009-08-19 西姆比有限公司 用于虚拟内容安置的系统和方法
CN103024480A (zh) * 2012-12-28 2013-04-03 杭州泰一指尚科技有限公司 一种在视频中嵌入广告的方法
CN110213629A (zh) * 2019-06-27 2019-09-06 腾讯科技(深圳)有限公司 一种信息植入方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
US20210183165A1 (en) 2021-06-17
EP3923248A4 (en) 2022-06-08
EP3923248A1 (en) 2021-12-15
WO2021047396A1 (zh) 2021-03-18
JP7270761B2 (ja) 2023-05-10
US11538229B2 (en) 2022-12-27
US20230075270A1 (en) 2023-03-09
CN110599605A (zh) 2019-12-20
JP2022524891A (ja) 2022-05-10

Similar Documents

Publication Publication Date Title
CN110599605B (zh) 图像处理方法及装置、电子设备和计算机可读存储介质
WO2022001236A1 (zh) 三维模型生成方法、装置、计算机设备及存储介质
US11257300B2 (en) Scalable three-dimensional object recognition in a cross reality system
CN113822977A (zh) 图像渲染方法、装置、设备以及存储介质
EP3992919B1 (en) Three-dimensional facial model generation method and apparatus, device, and medium
CN109151540A (zh) 视频图像的交互处理方法及装置
US20220358675A1 (en) Method for training model, method for processing video, device and storage medium
CN110490959B (zh) 三维图像处理方法及装置、虚拟形象生成方法以及电子设备
CN112927362A (zh) 地图重建方法及装置、计算机可读介质和电子设备
CN112085835B (zh) 三维卡通人脸生成方法、装置、电子设备及存储介质
CN111161398B (zh) 一种图像生成方法、装置、设备及存储介质
CN111754622B (zh) 脸部三维图像生成方法及相关设备
US20210407125A1 (en) Object recognition neural network for amodal center prediction
Michael et al. Model-based generation of personalized full-body 3D avatars from uncalibrated multi-view photographs
Cheng et al. Quad‐fisheye Image Stitching for Monoscopic Panorama Reconstruction
CN110096144A (zh) 一种基于三维重建的交互全息投影方法及系统
CN109816791B (zh) 用于生成信息的方法和装置
CN116863044A (zh) 人脸模型的生成方法、装置、电子设备及可读存储介质
CN113673567B (zh) 基于多角度子区域自适应的全景图情感识别方法及系统
CN113223137B (zh) 透视投影人脸点云图的生成方法、装置及电子设备
CN114998514A (zh) 一种虚拟角色的生成方法及设备
WO2022026603A1 (en) Object recognition neural network training using multiple data sources
Gourley Pattern-vector-based reduction of large multimodal data sets for fixed-rate interactivity during visualization of multiresolution models
CN116433852B (zh) 数据处理方法、装置、设备及存储介质
WO2024007968A1 (en) Methods and system for generating an image of a human

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