一种视频直播中的广告展示方法及装置
技术领域
本发明涉及网络信息技术领域,尤其涉及一种视频直播中的广告展示方法及装置。
背景技术
网络直播的快速兴起,增强网民了的虚拟交互体验。高人气主播能够带来巨大的用户流量,这给运营商投放广告提供契机。然而,广告展示不当会影响用户体验,而且无法引起用户有效关注,因此视频直播过程恰当的广告展示十分有必要。
目前,大多数网络直播的广告都是以弹窗形式硬性插入,或者在直播窗口硬性植入。前一种广告展示方法会立即被用户清除或设置禁止展示,后一种会遮挡屏幕引起用户反感,两种展示方法都难以高效引导用户关注广告内容。
发明内容
本发明实施例提供了一种视频直播中的广告展示方法及装置,能够减少广告对用户观看直播的影响,并能高效引导用户关注广告内容,解决了现有的视频直播中难以高效引导用户关注广告内容的问题,影响用户体验的问题。
第一方面,提供了一种视频直播中的广告展示方法,其特征在于,包括:
采集直播视频的每一帧图片,形成图片序列;
通过深度学习网络,识别所述图片序列每一帧图片中的单色区域,其中,所述深度学习网络是由单色图片和图像分类模型基于深度学习训练得到。
在所述单色区域展示广告。
第二方面,提供了一种视频直播中的广告展示装置,其特征在于,所包括:
采集单元:用于采集直播视频的每一帧图片,形成图片序列;
识别单元:用于通过深度学习网络,识别所述图片序列每一帧图片中的单色区域,其中,所述深度学习网络是由单色图片和图像分类模型基于深度学习训练得到。
展示单元:用于在所述单色区域展示广告。
第三方面,提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。
第五方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被一个或多个处理器执行时实现本申请第一方面提供的所述方法的步骤。
本发明实施例中,通过采集直播视频的每一帧图片,形成图片序列;通过深度学习网络,识别所述图片序列每一帧图片中的单色区域,在所述单色区域展示广告。克服了当前广告插入会遮挡屏幕,难以高效引导用户关注广告内容的问题,使得在直播过程中,插入的广告不会遮挡屏幕,在不影响观众观看直播的同时能有效提高观众对广告的关注度,减少用户抵抗情绪。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的视频直播中的广告展示方法的流程示意图;
图2为本发明实施例二提供的S102中训练图像分类模型的具体实现流程图;
图3为本发明实施例三提供的S102中识别单色区域的具体实现流程图;
图4为本发明实施例四提供的识别单色区域的示意图;
图5为本发明实施例五提供的广告展示的实现流程图;
图6为本发明实施例六提供的视频直播中的广告展示装置的结构示意图;
图7为本发明实施例七提供的服务器的结构示意图。
具体实施方式
本发明实施例提供了一种控制内容实时刷新的方法及装置,用于在动态界面上进行数据内容的实时显示和刷新,保障界面显示效率。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
请参阅图1,本发明实施例提供的视频直播中的广告展示方法的实现流程图,包括以下步骤:
S101、采集直播视频的每一帧图片,形成图片序列。
所述直播视频指的是通过直播平台用户可以在线观看的视频,即通常所指的主播通过网络平台提供给用户观看的视频,可以包括不限于比赛、电视、电影、表演以及视频聊天等。
优选的,所述直播视频还可以包括用户通过网络在线观看的视频,即已经存储在服务器的视频资源,所述视频资源不具有实时性。
所述采集的直播视频可以是其中某一段视频,开始采集的时间以及采集的时长都可以根据实际需要设置。
由于视频都是由一帧帧静态图片组成,所述采集过程就是提取视频中的图片,形成图片序列是为了保存图片播放顺序。
S102、通过深度学习网络,识别所述图片序列每一帧图片中的单色区域。
所述深度学习网络是单色图片对图像分类模型训练,基于深度学习得到。所述图像分类模型是一种可以根据图片颜色对图片进行识别并分类的深度神经网络,具有多层次结构,通过传入单色图片,修改图像分类模型中的参数,进而使其对单色图片敏感,并能识别出图片中的单色区域。
优选的,本发明实施例中采用GoogleNet模型,通过对其训练得到深度学习网络。所述GoogleNet模型能够改善计算机资源利用率,利用非序列化的并行方式提供模型的性能。
可选的,所述识别所述图片序列每一帧图片中的单色区域还包括,当检测到当前图片单色区域后,定位当前单色区域位置,直接识别并判断下一张图片相同位置是否为单色。
可选的,本发明实施例中所述的单色可以是RGB值相差一定范围的颜色,所述范围可以动态设定,本发明实施例中采用的是RGB值相差10以内判定为单色。
S103、在所述单色区域展示广告。
所述广告指的是一种向用户传递的信息,优选的本发明实施例中的广告指的是以图文形式用于展示的商品或服务信息,比如logo、宣传语、动态图等
由于在实际中难以保证获得的单色区域刚好是要用于广告展示的区域,故而需要对广告大小进行调整,可选的,所述广告可以超出单色区域一定比例,例如要保证至少95%的广告落在单色区域,5%可以超出单色区域,所述还包括对广告姿态进行矫正。
可选的,以上还包括根据管理员的设置或直播视频内容要求,选取要展示的广告。
实施例二:
在图1的基础上,图2示出了图1中S102训练图像识别模型的具体实现流程,详述如下:
在S201中,生成单色图片,构建标准库。
根据RGB值生成单色图片,在本发明实施例中为每一个RGB值生成一张图片,对应的有2563张图片,并设置图片的大小为256*256,将这些图片添加到标准库。
在S202中,训练图像分类模型,得到深度学习网络。
所述图像分类模型是一种数据模型,通过训练数据的输入来修改所述模型中的参数,经过训练后的的图像分类模型能够对图片进行识别判定。
具体的,将标准库中的单色图片传入图像分类模型,其中,对输入的单色图片要对数据预处理,对图像分类模型进行进行训练,并根据误差调整权值,重复输入数据修改参数以降低误差,所述图像分类模型可反复训练提高准确度,训练好的的图像分类模型也即是所述的深度学习网络。在使用过程,还可以根据实际识别进一步提高完善模型。
实施例三:
图3为本发明实施例提供的图1步骤S102中识别单色区域的具体实现流程,下面将介绍实现过程:
在S301和S302之后,可以在一帧视频画面上找到一块单色区域,当然,所述单色区域并非最大区域,还需要进一步遍历搜索单色区域。若分割后的视频画面上没有找到单色区域,还可以对提取的视频画面进一划分成更小的图片来找单色区域。
S303、S305以及S308中的判断过程都是通过深度学习网络来识别的,判断是否为单色是指RGB值相隔一定的范围,肉眼可见的差别不大的颜色。
找到相邻的单色小图片,就添加到单色区域,并继续寻找,直至查找不到单色图片,已经找到的单色图片就可以组成单色区域。
S305是在已经找到所有单色图片后,为了弥补图片分割带来的部分单色区域未计算在内的误差,进一步寻找其他小图片中存在的小部分单色区域。
S307、S308以及S309都是为了提取其他不是单色图片,但临近单色区域部分存在相同颜色,这部分完全可以并入单色区域。具体的,将临近单色区域的图片分割,靠近单色区域且有相同颜色的加入单色区域,按S302,S303和S304同样的方法层层搜索识别。
两层的搜索识别就能大致确定单色区域的范围,若想进一步提高精确度,可以在S308后,判断为否时重复S307过程,进一步分割图片。上述过程只是进行两层的分割查找,如果想更高的准确度,可以向下层层分割直至到对每个像素点的识别。
优选的,优先查找提取的直播视频图片的背景区域,即图片的边缘区域。还可以通过人物识别技术,对比前后图片序列上的图片静态区域,以此作为背景区域优先查找。
可选的,当识别的单色区域处于图片的主体上,例如主播、衣物、展示的物品上时,设置当前单色区域不可展示广告。最好单色区域处于例如天花板、主播房间的家具等地方为最优选择。
当找到两个及以上符合条件的单色区域时,都可以用来广告展示。
实施例四:
结合图3,详述识别图片中的单色区域的具体实现过程,如下:
图4表示的的是一帧采集的视频直播的图片。以图片4为例,将图片4按比例划分为一定数量相同大小的图片,包括小图片41、小图片42、小图片43。
创建单色区域,假设小图片41已识别是单色,将小图片41添加到单色区域,并判断小图片41上下左右的图片是否是与单色区域相同颜色且为单色,假如通过深度学习网络识别出小图片42是与小图片41相同颜色且为单色,则将小图片32添加到单色区域中,并继续识别小图片42上下左右的图片是否是与单色区域相同颜色且为单色,直至找不到与单色区域相邻且颜色相同的单色小图片,则标定当前单色区域。此处和树形结构的广度遍历相似,层层搜索并识别。
可选的,以上过程还包括,当发现小图片41上下左右相邻的小图片不是相同颜色,但与小图片41相邻部分颜色相同,例如小图片43与小图片41相邻但颜色不同,但小图片43中一部分颜色与小图片31相同且相同颜色的部分与小图片41相邻,则将小图片43分割成一定大小的图片,如图4所示小图片43分割为包含图片431、图片432及其他,假如确定图片431与单色区域或小图片41颜色相同,则识别与图片431相邻且颜色相同的其他图片,同样识别后的图片添加到单色区域。
实施例五:
图4是本发明实施例提供的选取展示广告的实现流程图,下面将结合该图详述进行广告展示过程:
在进行广告展示42之前需要预先选取进行展示的广告41。所述选取广告41可根据两方面来确定:
在根据视频内容411确定需要展示的广告时,要获取当前直播视频的内容,所述内容可包括主播当前语音、视频画面出现的相关物品、弹幕聊天内容以及对该视频的预分类,以上出现的关键词都可以用来匹配相关性较高的商品。
具体的,通过语音采集、弹幕或字幕的获取、视频画面捕捉并识别以及对直播视频的分类,都可以用来提取其中出现的关键词以及出现次数,某一时段对视频内容进行采集,此步骤要与确定单色区域同步或早于确定单色区域,设置采集的不同内容的权重,比如语音占比0.3、字幕或弹幕0.2、视频分类0.2、画面提取0.1,权重比例可自由设置。同时对广告库中的广告预先设置关键词,并标注广告时长、出价,同样的,分别设置广告关键词、时长、出价权重,计算总权重。最后进行配对,即去广告库选取广告。
可选的,上述过程先确定该时段出现比例最高的关键词,再取广告库搜索匹配,分别按相关性最高选取和收益最大兼顾相关性的选取方法,上述过程可根据实际需要灵活选取,在此不做限定。
优选的,上述根据视频内容411选取广告为默认设定,而根据观看量和广告出价412为管理员根据权限主动选取。
根据观看量和广告出价412为外部的选取方法,硬性插入不相关广告,比如商家出高价要求播放该广告,此时管理员可设置在人气较高或观看量较大的直播间投放该广告。
可选的,还可以根据单色区域大小与广告形状大小匹配程度、广告颜色与单色区域周围颜色的匹配程度等选取广告展示。
可选的,所述广告展示42包括当单色区域消失或同一区域检测不是单色,设置广告不可展示,当单色区域变动未超过预设阈值,则继续展示。
实施例六:
上面主要描述了一种视频直播中的广告展示方法,下面将对一种终端应用通信数据获取与分析的装置进行详细描述。
图6示出了本发明实施例提供的视频直播中的广告展示装置的结构示意图。
采集单元61:采集直播视频的每一帧图片,形成图片序列;
识别单元62:用于通过深度学习网络,识别所述图片序列每一帧图片中的单色区域,其中,所述深度学习网络是由单色图片和图像分类模型基于深度学习训练得到。
优选的,所述识别单元62还包括:训练模块621和识别模块622。
所述训练模块621:用于通过单色图片对所述图像分类模型训练,基于深度学习得到可以识别单色图片的深度学习网络。
具体的,根据不同RGB值生成不同颜色的单色图片,将所述不同颜色的单色图片添加到标准库;设置所述标准库中单色图片的大小,并将所述标准库中单色图片全部传入所述图像分类模型模型中,通过对所述图像分类模型训练,得到深度学习网络。
所述识别模块622:用于识别所述图片序列每一帧图片中的单色区域。
具体的,选取一帧图片,将所述图片等分为大小相同的小图片;通过深度学习网络,识别所述小图片,当确定第一小图片为单色后,将第一小图片添加到单色区域。判断第一小图片相邻的其他小图片是否与第一小图片颜色相同且为单色,若存在相邻的第二小图片与第一小图片颜色相同且为单色,则将第二小图片添加到单色区域,并继续判断与第二小图片相邻的小图片。当不存在与所述单色区域相邻且颜色相同的等分后的单色小图片时,标注当前单色区域。
展示单元63:用于在所述单色区域展示广告。
优选的,所述展示单元63还包括:选取模块631和展示模块632。
所述选取模块631具体用于根据视频内容以及管理员的设置来选取广告。
可选的,所述视频内容可视频的分类以及视频中的语音、弹幕或字幕、每一帧图片来确定。所述管理员设置指的是根据广告出价、主播人气、视频观看量以及其它外部参考因素人为设定广告的选取。
所述展示模块632具体用于在单色区域展示选取好的图片。
实施例七:
参见图5,是本发明实施例五提供的直播平台服务器的示意性框图。如图所示的该服务器可以包括:一个或多个处理器710(图中仅示出一个),存储器720,网卡730,一个或多个输入设备740(图中仅示出一个)以及一个或多个输出设备750(图中仅示出一个)。上述处理器710、存储器720,网卡730,输入设备740和输出设备750通过总线760连接。存储器710用于存储指令,处理器710用于执行存储器720存储的指令。其中:
所述处理器710,用于采集直播视频的每一帧图片,形成图片序列;通过深度学习网络,识别所述图片序列每一帧图片中的单色区域,其中,所述深度学习网络是由单色图片和图像分类模型基于深度学习训练得到。在所述单色区域展示广告。
可选的,所述深度学习网络可利用其它高性能计算机预先训练得到,或借助其它终端设备辅助训练。
所述存储器720,用于存储软件程序以及单元。所述处理器720通过运行存储在所述存储器720的软件程序以及模块,从而执行各种功能应用以及数据处理。还用于存储用于展示的广告,构建广告库,以及存储直播视频。
所述网卡730用于网络连接,接收主播视频流,以及根据用户请求传输直播视频资源及其他服务。
所述输入设备740用于接收管理员设定,包括采集的直播视频、采集的时长、广告的输入、广告的选取等,所述设定可以为预设也可以根据实际需要临时更改。
所述输出设备750用于观看直播视频内容,以及实时监测预览广告展示效果。
可选的,上述输入设备740和输出设备750非本发明实施例中必要的硬件设备,可以根据实际需要通过硬件接口接入或以程序设计实现部分功能。
应当理解,在本发明实施例中,所述处理器710可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器720可以是所述服务器的内部存储单元,例如视频直播中的广告展示装置的硬盘或内存。所述存储器61也可以是所述视频直播中的广告展示装置的外部存储设备,例如所述视频直播中的广告展示装置上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述视频直播中的广告展示装置的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述视频直播中的广告展示装置所需的其他程序和数据。所述存储器720还可以用于暂时地存储已经输出或者将要输出的数据。
该存储器720可以包括只读存储器和随机存取存储器,并向处理器710提供指令和数据。存储器720的一部分还可以包括非易失性随机存取存储器。例如,存储器720还可以存储设备类型的信息。
网卡730是连接计算机和传输介质的接口,能进行数据的编码和解码以及数据缓存,可以包括有线网卡和无线网卡,也可以包括其他用于类型网卡。可选的,还可以包括用于网络通信的硬件设备,例如交换机、路由器、集线器、网桥、网关等设备。
输入设备740可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风、数据接收接口等。输出设备505可以包括显示器(LCD等)、扬声器、数据发送接口等。
输出设备750可以包括显示器、投影仪、绘图仪等,也可以包括数据传输接口。
具体实现中,本发明实施例中所描述的处理器710、存储器720、网卡730、输入设备74和输出设备750可执行本发明实施例提供的数据处理方法的实施例中所描述的实现方式,也可执行实施例一所述服务器中所描述的实现方式,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实施例的模块、单元和/或方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。