评估品牌对大众的曝光程度,深度学习方案可解决这一问题
2017年11月08日 由 yining 发表
177108
0
监控品牌知名度和衡量投资回报率在营销活动是重要的商业挑战,尤其是在广告驱动产业。品牌经常不得不在广告牌,包括户外或网站上,利用有限的时间曝光自己。在这篇文章里,我们会利用深度学习做一个商标检测和知名度分析的解决方案。
品牌通过在体育和文化活动中的赞助达到宣传目的。这些活动吸引大量的观众直接或间接通过媒体报道的了解,让品牌得到有利的定位。然而,赞助合同往往付出了高昂的代价,所以品牌所有者自然更感兴趣他们的支出如何能够更有效地为他们工作。但问题是,很难定量评估他们的品牌的曝光程度。
当前的方法来计算这些统计主要是手动注释宣传材料,这种方法十分乏味并昂贵。为了解决这个问题,我们开发了一个自动化工具用于商标检测和知名度分析,提供了原始的检测和一组丰富的数据。
解决方案概述
我们决定将这个问题分解为两个步骤:用卷积神经网络进行商标检测和计算汇总统计信息的分析步骤。
视频或图片→卷积神经网络→分析模块→曝光时间与覆盖范围报告
这种方法的主要优点是如果要求不同类型的统计数据,可以直接为另一个交换分析模块,或者使神经网络训练一个完全不同的任务。
利用深度学习进行商标检测
在卷积神经网络中,有两种主要的方法来进行对象检测:基于区域的方法和完全卷积的方法。
基于区域的方法,例如R-CNN算法及它的下一代,首先识别可能包含对象(一般为region proposal)的图像区域,然后提取这些区域并分别使用图像分类器处理它们。这一过程相当缓慢,在某种程度上可以通过Fast R-CNN来弥补这个问题,在这个问题上,图像是由卷积网络作为一个整体处理的,然后从高级特征图中提取出区域表示。Faster R-CNN是一个进一步的改进,region proposal也从高级卷积神经网络的特征中得到计算,这加速了region proposal的步长。
像SSD这样的完全卷积的方法,不需要处理单个region proposal,相反,它的目标是在region proposal步长中输出类标签。这种方法可以更快地实现,因为不需要单独提取和处理region proposal。为了使这种工作适用于不同大小的对象,SSD网络有几个探测层连接到不同分辨率的特征映射上。
由于实时视频处理是我们系统的一个要求,所以我们决定采用SSD的方法而不是Faster R-CNN。我们的网络还使用了ResNet-50模型作为它的卷积神经网络支柱,而不是默认的VGG-16模型,这样的方式有助于稳定训练过程。
模型训练
在为我们的需求改进SSD体系结构的过程中,我们进行了许多实验。这是一个迭代的过程,在开始和完成一个实验之间有很大的延迟(通常是1-2天)。为了进行大量的实验,我们使用了我们的机器学习实验管理器——Neptune。当这个实验在进行的时候,Neptune捕捉到了损失函数和其他统计的值,将它们显示在一个web UI中。此外,它还可以通过图像通道捕捉图像并显示它们,这对解决我们测试的数据扩展的不同变化有很大帮助。
商标检测分析
我们所生产的模型可以很好地检测。然而,当分析一个简短的视频时,原始的描述可以跨越数千行。为了帮助人们分析结果,我们创建了软件,将这些描述转换成一系列的统计、图表、排名和可视化,这些数据可以组合成一份简明的报告。
统计数据是根据全球的每个品牌进行计算的。其中一些产品,很多都是为了展示视觉效果。说到这,图表在这个任务中表现得很好。一些特征包括品牌曝光时间,屏幕上的商标位置的热图(heatmap),以及条形图,让你可以方便地比较各个品牌的各种统计数据。最后,我们有一个最重要的模块,即由模型检测到的边界框的可视化。这个模块提供了双重目的,因为这样的可视化也是数据科学家调整模型的重要信息来源。
结果
我们处理了一段关于可口可乐和百事可乐之间竞争的短片,看看哪个品牌在数量上受到了更多的曝光。你可以通过下面这个链接在YouTube上观看。哪个商标有更好的知名度?
视频地址:
https://youtu.be/ekaHlWga5yA
下面,你可以将你的猜测与我们的模型所报告的结果进行比较:
我们发现我们的系统可以很容易地适应其他的对象检测任务。这是一个主要的优势,因为对象检测经常出现在计算机视觉项目中,作为目标本身或者作为更长的处理步骤的一部分。