CN111598917B - 数据嵌入方法、装置、设备及计算机可读存储介质 - Google Patents
数据嵌入方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111598917B CN111598917B CN202010681011.6A CN202010681011A CN111598917B CN 111598917 B CN111598917 B CN 111598917B CN 202010681011 A CN202010681011 A CN 202010681011A CN 111598917 B CN111598917 B CN 111598917B
- Authority
- CN
- China
- Prior art keywords
- image
- points
- area
- corner points
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000009466 transformation Effects 0.000 claims abstract description 24
- 238000001514 detection method Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 10
- 238000003708 edge detection Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 9
- 230000000694 effects Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 19
- 238000013527 convolutional neural network Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/168—Segmentation; Edge detection involving transform domain methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本申请公开了一种数据嵌入方法、装置、设备及计算机可读存储介质,属于图像处理技术领域。所述方法包括:响应于图像中具有目标形状的第一区域,获取所述第一区域的至少三个第一角点,所述目标形状为多边形;根据所述至少三个第一角点中相邻第一角点之间的至少三条第一连线,确定分别包括所述至少三条第一连线的至少三个第二区域;分别对所述至少三个第二区域进行直线变换,得到至少三条第一直线;将所述至少三条第一直线之间的至少三个交点确定为第二角点;根据所述图像中至少三个所述第二角点所围成的区域,将待嵌入数据嵌入所述图像中。上述技术方案达到了提高角点的精准度的效果。
Description
技术领域
本申请涉及图像处理技术领域,特别涉及一种数据嵌入方法、装置、设备及计算机可读存储介质。
背景技术
在视频画面中嵌入数据(如图像或视频)时,相关装置可以获取视频的每一帧图像中可嵌入数据的区域的角点,以定位该区域,进而将待嵌入数据嵌入该区域,该区域通常包括至少三条边,角点为至少这三条边的连接点。
相关技术中一种数据嵌入方法,服务器通过对图像进行热图变换,可以将包括人工标注角点的图像转换为热度图,服务器可以使用图像以及该图像的热度图训练初始卷积神经网络(Convolutional Neural Network,CNN)模型,得到CNN模型,该CNN模型可以检测出输入图像中可嵌入数据的区域的角点,进而可以将待嵌入数据嵌入上述角点所围成的区域中。
但是,使用上述图像角点获取方法得到的角点精准度较低。
发明内容
本申请实施例提供了一种数据嵌入方法、装置、设备及计算机可读存储介质。所述技术方案包括如下几个方面。
根据本申请的一方面,提供了一种数据嵌入方法,所述数据嵌入方法包括:
响应于图像中具有目标形状的第一区域,获取所述第一区域的至少三个第一角点,所述目标形状为多边形;
根据所述至少三个第一角点中相邻第一角点之间的至少三条第一连线,确定分别包括所述至少三条第一连线的至少三个第二区域;
分别对所述至少三个第二区域进行直线变换,得到至少三条第一直线;
将所述至少三条第一直线之间的至少三个交点确定为第二角点;
根据所述图像中至少三个所述第二角点所围成的区域,将待嵌入数据嵌入所述图像中。
另一方面,提供了一种数据嵌入装置,所述数据嵌入装置包括:
第一获取模块,用于响应于图像中具有目标形状的第一区域,获取所述第一区域的至少三个第一角点,所述目标形状为多边形;
第一确定模块,用于根据所述至少三个第一角点中相邻第一角点之间的至少三条第一连线,确定分别包括所述至少三条第一连线的至少三个第二区域;
第二获取模块,用于分别对所述至少三个第二区域进行直线变换,得到至少三条第一直线;
第二确定模块,用于将所述至少三条第一直线之间的至少三个交点确定为第二角点;
嵌入模块,用于根据所述图像中至少三个所述第二角点所围成的区域,将待嵌入数据嵌入所述图像中。
又一方面,提供了一种数据嵌入设备,所述数据嵌入设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如一方面所述的数据嵌入方法。
再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如一方面所述的数据嵌入方法。
本申请实施例提供的技术方案带来的有益效果至少包括:提供了一种数据嵌入方法,该数据嵌入方法通过获取图像中具有目标形状的第一区域的至少三个第一角点,并根据至少三个第一角点确定至少三个第二区域,通过直线变换得到至少三条第一直线,并将至少三条第一直线的至少三个交点确定为第二角点,将待嵌入数据嵌入至少三个第二角点确定的区域中,达到了提高角点的精准度的效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据嵌入方法的实施环境的示意图;
图2是本申请实施例提供的一种数据嵌入方法的流程图;
图3是本申请实施例提供的一种图像的第一区域的示意图;
图4是图3所示图像中第二区域的示意图;
图5是图3所示图像中第一直线的示意图;
图6是图3所示图像中第二角点的示意图;
图7是将待嵌入数据嵌入图3所示的图像中的示意图;
图8是本申请实施例提供的另一种数据嵌入方法的流程图;
图9是本申请实施例提供的一种待处理视频的任一帧图像的示意图;
图10是本申请实施例提供的一种四边形区域的外接图形以及四边形区域的四个热度图;
图11是本申请实施例提供的一种第二区域的示意图;
图12是本申请实施例提供的一种第二角点的示意图;
图13是本申请实施例提供的一种数据嵌入装置的框图;
图14是本申请实施例提供的一种数据嵌入装置的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
相关技术中一种数据嵌入方法中,服务器通过对图像进行热图变换,可以将包括人工标注角点的图像转换为热度图,服务器可以使用图像以及该图像的热度图训练初始卷积神经网络(Convolutional Neural Network,CNN)模型,得到CNN模型,该CNN模型可以检测出输入图像中可嵌入数据的区域的角点,以便将待嵌入数据嵌入上述角点所围成的区域中。CNN模型检测得到的可嵌入区域的角点坐标与实际角点坐标之间的误差大于两个像素。
本申请实施例提供了一种数据嵌入方法、装置、设备及计算机可读存储介质。
图1是本申请实施例提供的数据嵌入方法的实施环境的示意图,该实施环境可以包括服务器11以及终端12。
服务器11可以为一个服务器或服务器集群。
终端12可以为手机、平板电脑、笔记本电脑、智能可穿戴设备等各种终端。终端12可以通过有线或无线的方式(图1示出的是以无线的方式进行连接的情况)与服务器连接。操作人员可以通过终端12来对服务器11进行控制,以使服务器11执行本申请实施例提供的数据嵌入方法。
图2是本申请实施例提供的一种数据嵌入方法的流程图。该数据嵌入方法可以应用于上述实施环境的服务器中,本申请实施例在此以应用于服务器为例进行说明。该数据嵌入方法可以包括以下步骤。
步骤201,响应于图像中具有目标形状的第一区域,获取第一区域的至少三个第一角点。
其中,目标形状为多边形,第一区域为图像中可嵌入数据的区域,服务器获取到的第一区域的至少三个第一角点的坐标与该第一区域的实际角点坐标之间的误差大于两个像素,因而服务器可以根据第一区域的至少三个第一角点获取第一区域的粗略位置。服务器可以识别出图像中具有至少一个目标形状的第一区域,当第一区域的数量大于一时,服务器可以按顺序对至少一个第一区域进行处理,也可以选择其中的一个第一区域进行处理。
示例性的,如图3所示,其为本申请实施例提供的一种图像的第一区域的示意图。目标形状可以为四边形,则服务器可以响应于图像中具有四边形的第一区域a,获取第一区域a的四个第一角点b。
步骤202,根据至少三个第一角点中相邻第一角点之间的至少三条第一连线,确定分别包括至少三条第一连线的至少三个第二区域。
服务器可以根据第一区域的至少三个第一角点中相邻第一角点之间的至少三条第一连线,确定分别包括至少三条第一连线的至少三个第二区域。也即是,任意相邻的两个第一角点相连可以确定一条第一连线,服务器可以获取包括第一连线的第二区域。服务器可以以第一连线为起始,分别向垂直于第一连线的两个方向延伸第一预设长度的延伸区域,这两个位于第一连线两边的延伸区域以及第一连线所在的区域共同构成该第二区域。
示例性的,如图4所示,其为图3所示图像中第二区域的示意图。图像中可以包括四个第二区域c(图4中仅示出了其中的一个第二区域,但并不对此进行限制),第一连线d为四个第一角点b中相邻的两个第一角点b之间的连线。每个第二区域c均包括一条第一连线d。
步骤203,分别对至少三个第二区域进行直线变换,得到至少三条第一直线。
服务器可以分别对至少三个第二区域进行直线变换,得到至少三条第一直线。第一直线为经过直线变换得到的直线,该直线与第一区域a的实际边缘所在的直线之间有一定的误差。
示例性的,如图5所示,其为图3所示图像中第一直线的示意图。服务器可以在第二区域c中检测到第一区域的边缘点x(在图5中,边缘点x也即是第二区域c中除两个第一角点b之外的其他点),边缘点为第一区域中边缘所在直线上的点,对第二区域中检测到的边缘点进行直线变换可以得到第一直线e。
步骤204,将至少三条第一直线之间的至少三个交点确定为第二角点。
服务器可以获取经过直线变换得到的至少三条第一直线之间的至少三个交点,并将该至少三个交点确定为第二角点。第二角点的坐标与实际角点的坐标之间的误差为一至两个像素之间。
示例性的,如图6所示,其为图3所示图像中第二角点的示意图。服务器可以将四条第一直线e的四个交点确定为第二角点f。
步骤205,根据图像中至少三个第二角点所围成的区域,将待嵌入数据嵌入图像中。
服务器可以根据图像中至少三个第二角点所围成的区域,将待嵌入数据(例如广告视频数据中的一帧图像数据)嵌入图像中。
示例性的,如图7所示,其为将待嵌入数据嵌入图3所示的图像中的示意图。待嵌入数据g为广告视频数据中的一帧图像数据,服务器可以将待嵌入数据g嵌入四个第二角点f所围成的区域中。
综上所述,本申请实施例提供了一种数据嵌入方法,该数据嵌入方法通过获取图像中具有目标形状的第一区域的至少三个第一角点,并根据至少三个第一角点确定至少三个第二区域,通过直线变换得到至少三条第一直线,并将至少三条第一直线的至少三个交点确定为第二角点,将待嵌入数据嵌入至少三个第二角点确定的区域中,达到了提高角点的精准度的效果。
图8是本申请实施例提供的另一种数据嵌入方法的流程图,该数据嵌入方法可以应用于上述实施环境的服务器中,本申请实施例在此以应用于服务器为例进行说明。参考图8可以看出,该数据嵌入方法可以包括以下步骤。
步骤801,获取待处理视频以及待嵌入数据。
服务器可以获取待处理视频以及待嵌入数据。待处理视频为可以嵌入数据的视频。待嵌入数据可以为广告数据,视频植入广告数据是将广告素材载体,比如广告图片数据,视频数据等嵌入到视频内容当中。视频植入广告的技术包括定点,渲染,后处理三部分。定点的作用是检测出视频中可植入广告的点位,比如识别出视频中存在显示器(也即是目标形状的第一区域),并定位出显示器的4个角点,在视频中跟踪显示器的4个角点。渲染是通过图像变换技术,将广告的素材图片数据通过变换融合到视频的点位当中,比如将广告图片数据变换融合到视频中显示器区域当中。后处理是通过改变图像的对比度,增加暗角等技术,让融合到视频中的广告图片数据与视频本身更加和谐。
使用本申请实施例提供的数据嵌入方法,可以在视频中植入广告数据,通过从视频中找到可植入广告的点位,将广告数据植入到视频当中,无损用户体验,提高广告的显示数量。
步骤802,将待处理视频的图像输入检测模型。检测模型用于检测图像中目标形状的第一区域。
服务器可以将待处理视频中每帧图像分别输入检测模型,以检测图像中是否具有目标形状的第一区域。检测模型可以包括区域掩码卷积神经网络(Mask RegionConvolutional Neural Network,Mask-RCNN)模型。
服务器可以根据图像以及该图像的第一区域分割结果训练初始Mask-RCNN模型,得到Mask-RCNN模型。Mask-RCNN模型可以检测出图像中是否具有目标形状的第一区域,以及第一区域的坐标。
目标形状的第一区域为图像中可嵌入数据的区域,该区域可以包括至少三条边(也即是该区域可以为三角形区域,四边形区域等多边形区域)。可选地,该第一区域可以为四边形区域,四边形区域在视频中可以是显示器所在的区域、海报所在的区域以及黑板或白板所在的区域,这些区域均适宜嵌入数据,嵌入数据的显示效果较好,且后续处理也较为简单。
步骤803,响应于待处理视频的图像中具有目标形状的第一区域,获取第一区域的外接图形。
操作人员对待处理视频嵌入数据(例如广告视频数据以及广告图像数据等)时,操作人员可以通过终端对服务器进行控制,以使服务器可以对待处理视频进行处理。服务器可以获取待处理视频的每一帧图像,并检测图像中是否具有目标形状的第一区域,服务器响应于图像中具有目标形状的第一区域,服务器可以获取第一区域的外接图形。服务器可以识别出图像中具有至少一个目标形状的第一区域,当第一区域的数量大于一时,服务器可以按顺序对至少一个第一区域进行处理,也可以选择其中的一个第一区域进行处理。
每个第一区域对应有一个外接图形,该外接图形包括第一区域,可以便于服务器获取到完整的第一区域。
示例性的,如图9所示,其为本申请实施例提供的一种待处理视频的任一帧图像的示意图。其中,该图像可以包括显示器区域901以及圆形区域902。服务器可以将四边形设置为目标形状,因而服务器可以将显示器区域901确定为第一区域。服务器可以获取显示器区域901的外接图形。
步骤804,将外接图形中的图像输入第一模型,得到至少三个热度图。每个热度图包括一个关键点。
服务器可以获取图像中第一区域的外接图形中的图像,并将该外接图形中的图像输入第一模型,得到至少三个热度图。每个热度图包括一个关键点,也即是热度图的数量与第一区域中关键点的数量相同。热度图可以反映输入第一模型的图像的一个关键点。
可选地,第一模型可以是沙漏(Hourglass)网络模型,在本申请实施例中沙漏网络模型可以根据输入图像获取该输入图像的至少三个热度图,其中每个热度图中标注有一个关键点。沙漏网络模型可以融合图像的低层次信息和高层次信息,同时还可以保证图像的尺度不变,也即是沙漏网络模型可以实现高保真的特征提取操作。
服务器可以根据图像以及该图像的热度图训练初始第一模型,得到第一模型。图像的热度图标注有该图像中的一个关键点。关键点也即是角点,角点可以是图像亮度变化剧烈的点或图像边缘曲线上曲率极大值的点。对于待处理视频的每一帧图像,在视角发生变化时,同一个第一区域(例如显示器)的角点通常不会发生变化,因而角点具备稳定性,使用角点可以在视频中较为准确地定位第一区域。在本申请实施例中,服务器可以根据相邻角点连线所围成的区域确定可嵌入数据的区域。第一模型可以检测图像中具有目标形状的第一区域的至少三个关键点,每个热度图中标注有一个关键点。
热度图中标注的关键点的坐标与实际的关键点的坐标之间误差一般为两个像素以上,视频的每一帧图像检测出的同一物体的同一个关键点(例如显示器左上角的角点)的坐标之间也可能由于视频视角的变动而存在较大的误差,若将待嵌入数据嵌入待处理视频中时,由于视频的每一帧中同一位置的关键点的坐标存在误差,进而导致嵌入数据后的视频中嵌入数据的画面可能会出现抖动的情况。
示例性的,如图10所示,其为本申请实施例提供的一种四边形区域的外接图形以及四边形区域的四个热度图。其中,每个热度图中包括一个关键点k,关键点k分别位于四边形区域1001的热度图中的左上角区域,右上角区域,左下角区域以及右下角区域。
步骤805,将至少三个热度图的至少三个关键点确定为第一区域的至少三个第一角点。
服务器可以将第一模型输出的至少三个热度图的至少三个关键点确定为第一区域的至少三个第一角点。由于每个热度图中包括一个关键点,因而可以将至少三个热度图的关键点整合在一个图像中,并将上述至少三个关键点确定为第一区域的至少三个第一角点。
执行步骤805后可以选择执行步骤806或步骤814,本申请实施例对此并不进行限制。
步骤806,根据至少三个第一角点中相邻第一角点之间的至少三条第一连线,确定分别包括至少三条第一连线的至少三个第二区域。
服务器可以根据第一区域的至少三个第一角点中相邻的第一角点的至少三条第一连线,确定分别包括至少三条第一连线的至少三个第二区域。也即是,任意相邻的两个第一角点可以确定一条第一连线,服务器可以获取包括第一连线的第二区域。服务器可以以第一连线为起始,分别向垂直于第一连线的两个方向延伸第一预设长度的延伸区域,这两个位于第一连线两边的延伸区域以及第一连线所在的区域共同构成该第二区域。该第二区域的长度可以与第一连线的长度相等,也可以大于第一连线的长度,例如可以将第一连线的两端分别延伸第一预设长度后的长度作为第二区域的长度。其中第一预设长度通常远小于该第一连线的长度,例如第一连线的长度可以是第一预设长度的10倍以上,如此可以避免第一预设长度过长,影响后续直线变换的精度。
示例性的,如图11所示,其为本申请实施例提供的一种第二区域的示意图。服务器可以以第一连线1101为起始,分别向垂直于第一连线1101的两个方向(m方向与n方向)延伸20个像素形成两个延伸区域,位于第一连线1101两边的两个宽度为20个像素的区域以及第一连线所在的位置共同构成该第二区域1100,该第二区域1100的长度可以与第一连线1101的长度相等。
步骤807,分别对至少三个第二区域进行直线变换,得到至少三条第一直线。
服务器可以分别对至少三个第二区域进行直线变换,得到至少三条第一直线。
示例性的,服务器可以先检测出待测第二区域中的边缘点,再通过霍夫(Hough)变换得到该待测第二区域中的第一直线。
霍夫变换是一种特征检测(feature extraction)技术,被广泛应用在图像分析(image analysis)、计算机视觉(computer vision)以及数位影像处理(digital imageprocessing)领域。霍夫变换可以用来辨别找出图像中的特征,例如:直线。霍夫变换的算法流程大致包括,给定一个图像中的物体以及要辨别的特征的种类(如直线),通过霍夫变换会在参数空间(parameter space)中执行投票来决定该物体的形状,而这是由累加空间(accumulator space)里的局部最大值(local maximum)来决定。示例的,在进行霍夫变换时,平面空间中第二区域的每个边缘点对应于参数空间中的一条直线(对应的,参数空间中的点对应平面空间中的直线)。当参数空间中的多条直线相交与一点时,该相交点即对应平面空间中的直线,如此便能通过霍夫变换得到待测第二区域中的第一直线。
步骤808,将至少三条第一直线之间的至少三个交点确定为第二角点。
服务器可以在得到至少三条第一直线后,将至少三条第一直线之间的至少三个交点确定为第二角点。由于霍夫变换获取到的第二区域中的第一直线与第一区域实际的边缘之间的误差较小,因而通过至少三条第一直线的交点确定的第二角点的坐标与实际角点的坐标之间的误差较小,误差在一个像素与两个像素之间。服务器在执行步骤808后,可以将待嵌入数据嵌入至少三个第二角点所围成的区域中,服务器也可以继续执行步骤809,本申请实施例对此并不进行限制。
示例性的,如图12所示,其为本申请实施例提供的一种第二角点的示意图。第一区域为显示器区域,四条第一直线为服务器进行直线变换得到的显示器的边缘,服务器可以将四条第一直线之间的四个交点确定为第二角点1200。
步骤809,根据至少三个第二角点中相邻第二角点之间的至少三条第二连线,确定分别包括至少三条第二连线的至少三个第三区域。
服务器可以以至少三个第二角点中相邻的两个第二角点的第二连线为起始,分别向垂直于第二连线的两个方向延伸第二预设长度的延伸区域,这两个位于第二连线两边的延伸区域以及第二连线所在的区域共同构成第三区域,该第三区域的长度可以与第二连线的长度相等,也可以大于第二连线的长度,例如可以将第二连线的两端分别延伸第二预设长度后的长度作为第三区域的长度,其中第二预设长度通常远小于该第二连线的长度,例如第二连线的长度可以是第二预设长度的20倍以上,如此可以避免第二预设长度过长,影响后续直线拟合的精度。
示例性的,服务器可以以第二连线为起始,分别向垂直于第二连线的两个方向延伸5个像素的延伸区域,这两个延伸区域位于第二连线两边的宽度为5个像素的区域以及第二连线所在的位置共同构成第三区域,该第三区域的长度可以与第二连线的长度相等。
步骤810,提取至少三个第三区域中图像的边缘点。
服务器可以通过边缘检测算子分别对至少三个第三区域中的图像进行边缘检测,得到至少三个第三区域中图像的边缘点。边缘检测算子可以用于检测图像中的边缘点,边缘检测算子可以包括索贝尔算子(Sobel operator),罗伯茨算子(Roberts operator)以及普威特算子(Prewitt operator)等。
其中,索贝尔算子可以使用两个3*3的矩阵与待检测图像中的任一像素点作卷积运算,分别得到待检测图像中像素点横向和纵向的梯度值,如果梯度值大于某一个阈值,则认为该像素点为边缘点。罗伯茨算子可以采用对角线方向相邻两像素之差近似梯度幅值,梯度的大小代表边缘的强度,梯度的方向与边缘的走向垂直,以此实现边缘点检测。普威特算子利用像素点上下、左右邻点的灰度差得到新的灰度值,若新的灰度值大于或等于阈值,则新的灰度值对应的像素点为边缘点。
在本申请实施例中,服务器可以通过索贝尔算子提取至少三个第三区域中图像的边缘点。边缘点是图像中灰度或结构信息突变(灰度级的突变、颜色的突变以及纹理结构的突变)的点。边缘点意味着一个区域的结束,也是另一个区域的开始,利用该边缘点可以对图像进行分割。
步骤811,以欧式距离作为约束,分别对至少三个第三区域中图像的边缘点进行拟合,得到至少三条第二直线。
在本申请实施例中,服务器可以通过欧式距离作为约束,来对第三区域中图像的边缘点进行拟合,如此可以避免过拟合情况的发生,提高了确定的第二直线的精度。
此外,服务器可以以欧式距离(L2-loss),分别对至少三个第三区域中的图像的边缘点进行拟合,得到至少三条第二直线。本申请实施例对此不进行限制。
其中,欧式距离可以实现各边缘点到拟合直线的距离平方和最小,绝对值误差函数可以实现各边缘点到拟合直线的距离的差值绝对值之和最小,服务器以欧式距离,绝对值误差函数或绝对值误差平滑函数为约束,对第三区域中的图像的边缘点进行拟合,可以防止过拟合,使得拟合得到的至少三条第二直线较为准确,可以减小第二直线与实际第一区域的边缘之间的误差。
步骤812,将至少三条第二直线之间的至少三个交点确定为第三角点。
服务器可以将至少三条第二直线之间的至少三个交点确定为第三角点。第三角点的坐标与实际角点的坐标之间的误差可以为0.5个像素。
通过执行步骤810与步骤811,可以将第三角点的坐标精确到小数点,将第三角点的坐标与实际角点的坐标误差控制在亚像素级别。示例性的,执行步骤810,步骤811与步骤812后,第三角点坐标与实际角点坐标之间的误差可以为0.5个像素左右。使用本申请实施例提供的数据嵌入方法获取到的第三角点坐标与实际角点坐标的误差较小,可以保证后期图片渲染的过程中,不会出现嵌入数据的画面出现抖动的情况。
步骤813,将待嵌入数据嵌入至少三个第三角点所围成的区域。
服务器可以获取待处理视频中每一帧图像中的第三角点的坐标,将待嵌入数据嵌入至少三个第三角点所围成的区域中并进行图像渲染,以实现将待嵌入数据嵌入视频中。
使用本申请实施例提供的数据嵌入方法,可以在视频中植入广告数据,通过从视频中找到可植入广告的点位,将广告数据植入到视频当中,无损用户体验,提高广告的显示数量。
步骤814,响应于图像中具有平行四边形的第一区域,将待嵌入数据嵌入该平行四边形的第一区域中。
服务器在执行步骤805后,可以直接执行步骤813,服务器可以根据第一区域的至少三个第一角点可以确定一个形状为平行四边形的第一区域,服务器可以响应于图像中具有平行四边形的第一区域,将待嵌入数据嵌入该平行四边形的第一区域中。图像中具有平行四边形的区域也即是图像中的第一角点的坐标符合平行四边形约束,由于通常仅有显示屏等矩形结构在特定的角度下才会在图像中呈平行四边形,因而当获取的第一角点围成的区域恰好为平行四边形时,表明此时获取的第一角点的精度可能较高,进而可以不进行后续步骤,而向该第一角点围成的区域中嵌入待嵌入数据。
综上所述,本申请实施例提供了一种数据嵌入方法,该数据嵌入方法通过获取图像中具有目标形状的第一区域的至少三个第一角点,并根据至少三个第一角点确定至少三个第二区域,通过直线变换得到至少三条第一直线,并将至少三条第一直线的至少三个交点确定为第二角点,将待嵌入数据嵌入至少三个第二角点确定的区域中,达到了提高角点的精准度的效果。
在一个示例性实施例中,本申请实施例提供的数据嵌入方法应用在服务器中,服务器可以将待处理视频中的每一帧图像输入Mask-RCNN模型,以判断图像中是否具有目标形状的第一区域。服务器响应于图像中具有目标形状(目标形状为四边形)的第一区域,获取该第一区域的外接图形。服务器将外接图形中的图像输入第一模型,得到四个热度图,每个热度图中标注有一个关键点。服务器将四个热度图中的关键点整合在一个图像中,并将四个关键点确定为第一区域的四个第一角点。服务器根据四个第一角点中相邻第一角点之间的四条第一连线,延垂直于第一连线的两个方向各延伸20个像素的区域,以第一连线的长度为第二区域的长度,确定分别包括四条第一连线的四个第二区域。服务器分别对四个第二区域进行直线变换,得到四条第一直线。服务器将四条第一直线之间的四个交点确定为第二角点。服务器根据四个第二角点中相邻的第二角点的四条第二连线,延垂直于第二连线的两个方向各延伸5个像素的区域,以第二连线的长度为第三区域的长度,确定包括四条第二连线的四个第三区域。服务器通过索贝尔算子提取四个第三区域中图像的边缘点。服务器以欧式距离作为约束,分别对四个第三区域中图像的边缘点进行拟合,得到四条第二直线。服务器将四条第二直线之间的四个交点确定为第三角点,并将待嵌入数据嵌入四个第三角点所围成的四边形区域中。
图13是本申请实施例提供的一种数据嵌入装置的框图。参考图13可以看出,该数据嵌入装置1300可以包括以下模块。
第一获取模块1301,用于响应于图像中具有目标形状的第一区域,获取第一区域的至少三个第一角点,目标形状为多边形。
第一确定模块1302,用于根据至少三个第一角点中相邻第一角点之间的至少三条第一连线,确定分别包括至少三条第一连线的至少三个第二区域。
第二获取模块1303,用于分别对至少三个第二区域进行直线变换,得到至少三条第一直线。
第二确定模块1304,用于将至少三条第一直线之间的至少三个交点确定为第二角点。
嵌入模块1305,用于根据图像中至少三个第二角点所围成的区域,将待嵌入数据嵌入图像中。
综上所述,本申请实施例提供了一种数据嵌入装置,该数据嵌入装置通过获取图像中具有目标形状的第一区域的至少三个第一角点,并根据至少三个第一角点确定至少三个第二区域,通过直线变换得到至少三条第一直线,并将至少三条第一直线的至少三个交点确定为第二角点,将待嵌入数据嵌入至少三个第二角点确定的区域中,达到了提高角点的精准度的效果。
可选地,嵌入模块包括:
第一确定子模块,用于根据至少三个第二角点中相邻第二角点之间的至少三条第二连线,确定分别包括至少三条第二连线的至少三个第三区域。
提取子模块,用于提取至少三个第三区域中图像的边缘点。
拟合子模块,用于分别对至少三个第三区域中图像的边缘点进行拟合,得到至少三条第二直线。
第二确定子模块,用于将至少三条第二直线之间的至少三个交点确定为第三角点。
嵌入子模块,用于将待嵌入数据嵌入至少三个第三角点所围成的区域。
可选地,拟合子模块还用于:
以欧式距离作为约束,分别对至少三个第三区域中图像的边缘点进行拟合,得到至少三条第二直线。
可选的,拾取子模块还用于:
通过边缘检测算子分别对至少三个第三区域中图像进行边缘检测,得到至少三个第三区域中图像的边缘点。
可选地,数据嵌入装置还包括:
输入模块,用于将图像输入检测模型,检测模型用于检测图像中目标形状的第一区域。
第一获取模块包括:
输入子模块,用于响应于图像中具有目标形状的第一区域,将第一区域中的图像输入第一模型,得到至少三个热度图,每个热度图包括一个关键点。
第三确定子模块,用于将三个热度图的三个关键点确定为第一区域的至少三个第一角点。
可选地,输入子模块还用于:
响应于图像中具有目标形状的第一区域,获取第一区域的外接图形。
将外接图形中的图像输入第一模型,得到至少三个热度图。
可选地,数据嵌入装置还包括:
第二嵌入模块,用于响应于图像中具有平行四边形的第一区域,将待嵌入数据嵌入该平行四边形的第一区域中。
图14是本申请实施例提供的一种数据嵌入装置1400的结构示意图,该数据嵌入装置1400可以为服务器。示例地,如图14所示,该数据嵌入装置1400包括中央处理单元(Central Processing Unit,CPU)1401、存储器1402,以及连接存储器1402和中央处理单元1401的系统总线1403,存储器1402可以包括诸如硬盘或者紧凑型光盘只读储存器(CompactDisc Read-Only Memory,CD-ROM)之类的计算机可读介质(未示出)。
不失一般性,计算机可读存储介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、带电可擦写可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字多功能光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。
上述存储器1402还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行,以实现本申请实施例提供的数据嵌入方法。
本申请实施例还提供了一种数据嵌入设备,该数据嵌入设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,上述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上述方法实施例所提供的数据嵌入方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由处理器加载并执行以实现如上述方法实施例所提供的数据嵌入方法。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种数据嵌入方法,其特征在于,所述方法包括:
响应于图像中具有目标形状的第一区域,获取所述第一区域的至少三个第一角点,所述目标形状为多边形;
根据所述至少三个第一角点中相邻第一角点之间的至少三条第一连线,确定分别包括所述至少三条第一连线的至少三个第二区域;
分别对所述至少三个第二区域中检测到的所述第一区域的边缘点进行直线变换,得到至少三条第一直线;
将所述至少三条第一直线之间的至少三个交点确定为第二角点;
根据至少三个所述第二角点中相邻第二角点之间的至少三条第二连线,确定分别包括所述至少三条第二连线的至少三个第三区域;
提取所述至少三个第三区域中图像的边缘点;
分别对所述至少三个第三区域中图像的边缘点进行拟合,得到至少三条第二直线;
将所述至少三条第二直线之间的至少三个交点确定为第三角点;
将待嵌入数据嵌入至少三个所述第三角点所围成的区域。
2.根据权利要求1所述的方法,其特征在于,所述分别对所述至少三个第三区域中图像的边缘点进行拟合,得到至少三条第二直线,包括:
以欧式距离作为约束,分别对所述至少三个第三区域中图像的边缘点进行拟合,得到所述至少三条第二直线。
3.根据权利要求1所述的方法,其特征在于,所述提取所述至少三个第三区域中图像的边缘点,包括:
通过边缘检测算子分别对所述至少三个第三区域中图像进行边缘检测,得到所述至少三个第三区域中图像的边缘点。
4.根据权利要求1所述的方法,其特征在于,所述响应于图像中具有目标形状的第一区域,获取所述第一区域的至少三个第一角点,所述目标形状为多边形之前,所述方法还包括:
将所述图像输入检测模型,所述检测模型用于检测所述图像中目标形状的第一区域;
所述响应于图像中具有目标形状的第一区域,获取所述第一区域的至少三个第一角点,所述目标形状为多边形,包括:
响应于所述图像中具有所述目标形状的第一区域,将所述第一区域中的图像输入第一模型,得到至少三个热度图,所述热度图均包括一个关键点;
将所述至少三个热度图的至少三个所述关键点确定为所述第一区域的所述至少三个第一角点。
5.根据权利要求4所述的方法,其特征在于,所述响应于所述图像中具有所述目标形状的第一区域,将所述第一区域中的图像输入第一模型,得到至少三个热度图,包括:
响应于所述图像中具有所述目标形状的第一区域,获取所述第一区域的外接图形;
将所述外接图形中的图像输入所述第一模型,得到所述至少三个热度图。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述图像中具有平行四边形的第一区域,将所述待嵌入数据嵌入所述平行四边形的第一区域中。
7.一种数据嵌入装置,其特征在于,所述数据嵌入装置包括:
第一获取模块,用于响应于图像中具有目标形状的第一区域,获取所述第一区域的至少三个第一角点,所述目标形状为多边形;
第一确定模块,用于根据所述至少三个第一角点中相邻第一角点之间的至少三条第一连线,确定分别包括所述至少三条第一连线的至少三个第二区域;
第二获取模块,用于分别对所述至少三个第二区域中检测到的所述第一区域的边缘点进行直线变换,得到至少三条第一直线;
第二确定模块,用于将所述至少三条第一直线之间的至少三个交点确定为第二角点;
嵌入模块,所述嵌入模块包括:
第一确定子模块,用于根据至少三个所述第二角点中相邻第二角点之间的至少三条第二连线,确定分别包括所述至少三条第二连线的至少三个第三区域;
提取子模块,用于提取所述至少三个第三区域中图像的边缘点;
拟合子模块,用于分别对所述至少三个第三区域中图像的边缘点进行拟合,得到至少三条第二直线;
第二确定子模块,用于将所述至少三条第二直线之间的至少三个交点确定为第三角点;
嵌入子模块,用于将待嵌入数据嵌入至少三个所述第三角点所围成的区域。
8.一种数据嵌入设备,其特征在于,所述数据嵌入设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至6任一所述的数据嵌入方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至6任一所述的数据嵌入方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010681011.6A CN111598917B (zh) | 2020-07-15 | 2020-07-15 | 数据嵌入方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010681011.6A CN111598917B (zh) | 2020-07-15 | 2020-07-15 | 数据嵌入方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111598917A CN111598917A (zh) | 2020-08-28 |
CN111598917B true CN111598917B (zh) | 2020-12-04 |
Family
ID=72188269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010681011.6A Active CN111598917B (zh) | 2020-07-15 | 2020-07-15 | 数据嵌入方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111598917B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112308836B (zh) * | 2020-11-02 | 2022-10-04 | 创新奇智(上海)科技有限公司 | 角点检测方法、装置、电子设备及可读存储介质 |
CN113177885B (zh) * | 2021-03-30 | 2024-08-13 | 新东方教育科技集团有限公司 | 校正图像的方法、装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226387A (zh) * | 2013-04-07 | 2013-07-31 | 华南理工大学 | 基于Kinect的视频人手指尖定位方法 |
CN108228835A (zh) * | 2018-01-04 | 2018-06-29 | 百度在线网络技术(北京)有限公司 | 用于处理视频的方法和装置 |
CN111178295A (zh) * | 2019-12-31 | 2020-05-19 | 华为技术有限公司 | 车位检测和模型训练方法、装置、车辆、设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8934024B2 (en) * | 2010-01-14 | 2015-01-13 | Fuji Xerox Co., Ltd. | Efficient, user-friendly system to stream screens inside video using a mobile device |
CN105069799B (zh) * | 2015-08-13 | 2017-03-22 | 深圳市华汉伟业科技有限公司 | 一种角点定位方法及装置 |
CN107493488B (zh) * | 2017-08-07 | 2020-01-07 | 上海交通大学 | 基于Faster R-CNN模型的视频内容物智能植入的方法 |
CN110163640B (zh) * | 2018-02-12 | 2023-12-08 | 华为技术有限公司 | 一种在视频中植入广告的方法及计算机设备 |
CN110765795B (zh) * | 2019-09-24 | 2023-12-12 | 北京迈格威科技有限公司 | 二维码识别方法、装置及电子设备 |
CN111178236B (zh) * | 2019-12-27 | 2023-06-06 | 清华大学苏州汽车研究院(吴江) | 一种基于深度学习的车位检测方法 |
CN111372122B (zh) * | 2020-02-27 | 2022-03-15 | 腾讯科技(深圳)有限公司 | 一种媒体内容植入方法、模型训练方法以及相关装置 |
-
2020
- 2020-07-15 CN CN202010681011.6A patent/CN111598917B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226387A (zh) * | 2013-04-07 | 2013-07-31 | 华南理工大学 | 基于Kinect的视频人手指尖定位方法 |
CN108228835A (zh) * | 2018-01-04 | 2018-06-29 | 百度在线网络技术(北京)有限公司 | 用于处理视频的方法和装置 |
CN111178295A (zh) * | 2019-12-31 | 2020-05-19 | 华为技术有限公司 | 车位检测和模型训练方法、装置、车辆、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111598917A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112348815B (zh) | 图像处理方法、图像处理装置以及非瞬时性存储介质 | |
CN111340752B (zh) | 屏幕的检测方法、装置、电子设备及计算机可读存储介质 | |
CN108225303B (zh) | 二维码定位标签、基于二维码的定位导航系统和方法 | |
CN111259889A (zh) | 图像文本识别方法、装置、计算机设备及计算机存储介质 | |
CN105989317B (zh) | 一种二维码的识别方法及装置 | |
CN111275730A (zh) | 地图区域的确定方法、装置、设备及存储介质 | |
CN111598917B (zh) | 数据嵌入方法、装置、设备及计算机可读存储介质 | |
CN108074237B (zh) | 图像清晰度检测方法、装置、存储介质及电子设备 | |
CN110414649B (zh) | Dm码的定位方法、装置、终端及存储介质 | |
CN115063618B (zh) | 一种基于模板匹配的缺陷定位方法、系统、设备及介质 | |
CN111260564A (zh) | 一种图像处理方法和装置及计算机存储介质 | |
CN112419207A (zh) | 一种图像矫正方法及装置、系统 | |
CN114359352A (zh) | 图像处理方法、装置、设备、存储介质及计算机程序产品 | |
CN111968145B (zh) | 箱式结构识别方法、装置、电子设备及存储介质 | |
CN115345895B (zh) | 用于视觉检测的图像分割方法、装置、计算机设备及介质 | |
CN116894849A (zh) | 图像分割方法和装置 | |
CN114792354B (zh) | 模型处理方法、装置、存储介质及电子设备 | |
CN112668578B (zh) | 指针式仪表读数方法、装置、计算机设备和存储介质 | |
CN111368572A (zh) | 一种二维码的识别方法及系统 | |
CN112784737B (zh) | 结合像素分割和线段锚的文本检测方法、系统及装置 | |
CN112446895B (zh) | 棋盘格角点自动提取方法、系统、设备及介质 | |
CN112434698A (zh) | 字符识别方法、装置、电子设备及存储介质 | |
CN111260723A (zh) | 棒材的质心定位方法及终端设备 | |
CN113487594B (zh) | 一种基于深度学习的亚像素角点检测方法、系统及介质 | |
CN114627114B (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 |