Percival:制作浏览器的感知广告阻止利用深度学习

2021-03-08 03:34:57

在这个项目中,我们呈现Percival,浏览器嵌入式,Lighpeight,深入学习的广告拦截器。珀塞瓦尔是眨眼 - 铬渲染引擎。 Percival将自己嵌入到图像渲染管道中,这使得可以拦截IFRame的渲染,由复杂的JavaScript变换以及GIF和常规图像创建的图像。 Percival检查这些图像帧并基于深度学习图像分类进行阻塞。

Percival位于渲染器过程中 - 这负责从HTML,CSS,JavaScript创建光栅化像素。随着渲染器进程创建DOM和解码并将所有图像帧进行重塑,它们首先通过Percival。 Percival阻止归类为广告的帧。删除的ADS对应的输出显示在上面(右)* 64位英特尔机器,带8GB的RAM。建议使用16GB。* 100 GB可用磁盘空间* Python v2

退出后,它将生成构建文件。对于这个项目,我们没有使用ICECC分布式编译器。我们也没有使用ccache。

为了评估我们的系统性能,我们使用Alexa的前5,000个URL来测试Ubuntu Linux 16.04上的ChromiumCompiled,有没有我们的系统激活。我们还测试了勇敢的面向近似的基于铬的浏览器的Percival,默认情况下会阻止使用过滤器列表的广告。对于每个实验,Wemeasured渲染时间。在我们的评估中,我们在使用Ad-Plocker和Shields打开时,在铬括号的关键路径和281.85ms的渲染临界路径中运行Percival时,我们显示了178.23 ms的渲染时间。

此延迟是对页面上图像的数量和复杂性的函数以及分类器所需的时间来对它们进行分类。当我们同步归类时,我们测量渲染时间影响。

使用Percival浏览网页。 Percival可以阻止来自流行网站的广告和赞助的内容。

我们使用Google图像作为从具有高或低广告的分布获取图像的方法。例如,我们使用搜索查询&#34获取结果;广告"

任何网页都可以被认为是通过网络传送的HTML,CSS和JavaScript代码的集合;渲染引擎解析此代码并构建DOM树和布局树,并通过Skia发出OpenGL呼叫(Google Graphics库)

浏览器构建了DOM树并处理了样式纸张,旁边调用渲染引擎旁边,以确定所有元素的可视几何,即计算与屏幕上的RegionSthese元素对应的矩形的坐标;这被称为布局阶段,信息存储在布局树中。将已知对象的几何形状,闪烁绘制这些元素,即在Display项目列表中记录绘制操作(用户将在其中查看用户的抽象内容区域)。

这是光栅化进程,它采用这些显示项目并将其转换为位图。光栅化openGL通过摘要硬件操作的Skia库绘制呼叫。

我们要感谢Steven Kobes Vladimir Levin Aleksandar Stojiljkovic和整个铬图形团队,为广泛的文档,演示文稿和Google文档详细说明了图形管道的各个部分。

我们还要感谢托比亚斯·赫尔曼对节俭深刻。 Percival使用节俭深刻的叉子。