[发明专利]一种基于Spark的实时主动性图片跟踪保护方法有效
申请号: | 201811552480.7 | 申请日: | 2018-12-18 |
公开(公告)号: | CN109815652B | 公开(公告)日: | 2020-12-25 |
发明(设计)人: | 胡亚红;盛夏;毛家发;钟丹虹;王凯慧 | 申请(专利权)人: | 浙江工业大学 |
主分类号: | G06F21/16 | 分类号: | G06F21/16;G06F21/62;G06F16/55;G06F16/951;G06F16/955;G06T1/00 |
代理公司: | 杭州天正专利事务所有限公司 33201 | 代理人: | 王兵;黄美娟 |
地址: | 310014 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 spark 实时 主动性 图片 跟踪 保护 方法 | ||
1.基于Spark的实时主动图片跟踪保护方法,包括以下步骤:
(1)当用户提交了图片保护请求后,检查该图片是否已经存在于保护数据库中,若没有,则接受用户提出的保护申请;
(2)对接受的图片进行指纹提取;具体包括:
21)进行图片裁减,保留中心部分;
22)对图片进行颜色空间转换,取其亮度分量,得到灰度图像;
23)将图片缩放成108×132像素;
24)用大小为3×3、标准差为0.95的Gaussian低通滤波进行滤波;
25)将处理后的图片分割成144个区域,每个区域大小为9×11;
26)每个区域分割成8个小块,左上为2×5的两个小块,右上为4×3的两个小块,左下两个小块大小分别为5×2、5×3,右下则为2×6、3×6,分别编号为第一小块①至第八小块⑧;均值元素A为第一小块①至第八小块⑧区域的平均像素值,则均值元素A共有144个;差分元素D为第一小块①和第二小块②,第三小块③和第四小块④,第五小块⑤和第六小块⑥以及第七小块⑦和第八小块⑧的像素差值,共576个差分元素D;一张图片的指纹元素共有720个元素;
27)将步骤26)中得到的浮点数值转化为整数;将指纹进行四重量化处理,用四进制数表征图片,再将每4维转换成1个8位编码单元,并转化成整型;720个元素可用180个单元表示;
(3)根据用户给出的属性值对图片进行分类;具体包括:
31)对于待保护的图片,当用户提交图片保护申请时,进行主动式类别选择;
32)根据用户提交的选择,进行关键字模糊匹配,确定图片的类别;
(4)将图片指纹和用户信息数据存入保护数据库;具体包括:
41)整合图片信息,包括图片的指纹值、提交时间、本地存储备份地址、用户名;
42)将图片信息存入该类别对应的数据表;
(5)利用检测数据获取算法进行检测图片收集;具体为使用Scrapy爬虫框架进行监测网站的图片实时采集,包括:
51)为Scrapy Engine打开一个domain;
52)找到处理监测网站的Spider并向该Spider请求第一个要爬取的URL(s);
53)Scrapy Engine从Spider中获取到第一个要爬取的URL并在Scheduler以Request调度;
54)Scrapy Engine向Scheduler请求下一个要爬取的URL;
55)Scheduler返回下一个要爬取的URL给Engine,Engine将URL通过DownloaderMiddlewares转发给Downloader;
56)一旦页面下载完毕,Downloader生成一个该页面的Response,并将其通过Downloader Middlewares发送给Engine;
57)Engine从Downloader中接收到Response并Downloader Middlewares发送给Spider处理;
58)Spider处理Response并返回爬取到的Item及新的Request给Engine;
59)、Engine将爬取到的Item给Item Pipeline,将Request给Scheduler;
510)、重复步骤(54)~(59),直到Scheduler中没有更多的Request,Engine关闭该网站,得到检测数据;
(6)对获取的检测图片进行预处理,并标注Tag值;具体包括:
61)对于步骤(5),在Item中添加图片类别的爬取;
62)根据步骤(1)得到的类别,进行关键字模糊匹配,分析该图片所属类别,确定Tag标签值;
(7)提取检测图片的指纹信息,并将检测图片的指纹和Tag信息存入检测数据库;具体包括:
71)、使用步骤(2)的指纹提取算法提取检测图片的指纹;
72)、整合检测图片信息,包括图片指纹、Tag值、图片获取时间、图片URL,并将图片数据存入对应的检测数据库;
(8)使用图片认证算法判定保护数据库中图片是否出现在检测数据库;具体包括:
81)从检测数据库中提取出第1条数据,分析Tag值所对应的图片类型;
82)根据图片类型,确定保护数据库中对应的数据表;
83)根据步骤(2)的算法提取检测图片的指纹信息DeF;
84)m=1;
85)取出数据表中第m条数据的整数指纹值,还原成四重值指纹PrF,按照式[1]求其归一化Hamming距离:
i=1,2,…,L,L为指纹长度;
使用式[2]求取T的值:
85.1)当T=0时,表示已经发现保护数据库中有与检测数据相同的图片,记下检测数据的URL和使用者信息,发出预警,算法结束;
85.2)当T=1时,表示保护数据库的该条数据与检测数据相似;记下该数据在保护数据表中的位置和Hamming距离,并将该记录标上已查标记,进行下一步;
85.3)当T=2时,直接进行下一步;
86)令数据表中第m条数据转化为下一条整数数据;
87)如果m=k,转到步骤(5),否则转到步骤(8);其中,k为数据表中的记录数;
88)根据T值判断是否存在图片非法使用的情况;
88.1)至少有一条记录满足T=1,取Hamming距离最小的那条记录,记下检测数据的URL和使用者信息,进行人工审核;若通过人工审核,发出预警,算法结束;
88.2)没有记录满足T=1,表示保护数据库中没有相同或者相似的图片,从检测数据表中删除检测记录;
(9)为了提高图片指纹提取和图片认证算法的运行效率,使用Spark平台进行算法优化;具体包括:
91)通过spark-submit命令将程序提交到集群;
92)创建SparkContext对象,使用parallelize函数将每一张图片的地址创建分布式数据集RDD;
93)将单张图片指纹提取算法封装成一个独立函数;
94)调用Map算子对每一个RDD进行图片提取操作;
95)用collect函数收集每个RDD得到的指纹值,并存入数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811552480.7/1.html,转载请声明来源钻瓜专利网。