NO.037-拒绝盗图🐶,审核人员的神器!——By.杭州组
评论
收藏

NO.037-拒绝盗图🐶,审核人员的神器!——By.杭州组

经验分享
守卫
2024-01-09 14:01·浏览量:1327
守卫
发布于 2023-11-15 16:44更新于 2024-01-09 14:011327浏览

作者:守卫

关键词:图片审核\相似图片审核

一、问题背景:

在做私域流量或运营时,会征收文案和案例等内容,这时会出现抄袭或盗版等信息,会对审查造成大量影响,目前能解决到的方案只有文字信息等内容,而对于出现相同内容的图片时,就会感觉力不从心,必须要人来完成.

现在有一种方法,虽然不能完全代替人力,但是能完成80%的相似图片识别,进而解决审核人员的时间,将出现相似图片或者盗窃的图片的内容直接驳回,留下系统无法判断的 再交给审核人员进行审核.

二、解决方法:

这里采用了 百度智能云 的方案进行审核:

 逻辑: 将图片 进行百度智能云检测 , 将检测后的数据进行特定的算法进行转换, 再和库中其他的图片数据进行比较,相似度超过70%,我们即可认定为抄袭图片.30%-70%,打上标签未待审核模式,0-30%认定为无相似图片.

1.导入百度智能云并将图片进行智能识别

注:在做图片处理时,所有数据图片的大小尽量调整成一致的,这里已经通过代码将所有的图片转成360x360的大小进行处理数据,而且 !!!不会修改原图片!!! 可以放心直接复制使用.

from aip import AipImageClassify

from PIL import Image

import base64

""" 你的 APPID AK SK """  #-->根据注册时自己搭建应用获取详细可见下图
APP_ID = '***********'
API_KEY = '********************'
SECRET_KEY = '**********************'

client = AipImageClassify(APP_ID, API_KEY, SECRET_KEY)



""" 读取图片 """
def get_file_content(filePath):
    img=Image.open(filePath)
    img_temp = img.resize((360,360))
    img_temp.save("temp.jpg")
    with open("temp.jpg", 'rb') as fp:
        return fp.read()

image = get_file_content("") #-->通过流程参数导入想要查询图片的路径名


""" 调用通用物体和场景识别 """
res = client.advancedGeneral(image)

2.打开百度智能云获取APP_ID\API_KEY\SECRET_KEY参数


 (1)领取免费测试资源

打开百度智能云官网 :  https://cloud.baidu.com/ ;

鼠标悬浮 产品-->鼠标悬浮 图像技术-->点击 图像识别-->点击 立即使用 -->点击去领取

(2)注册公有云应用

创建成功后可以 点击应用列表查看三个想要的数值

3.将图片进行base64处理

原因:由于固定文字无法做到算法匹配,如玻璃杯和水杯;因为为了提高匹配的准确度,将所有的字符提取出来并进行合并,最终再转换成base64编码的,其主要目的就是为了进行可以将字符拆开进行匹配.后续也方便进行存放入库.

st = ""
#将数据进行提取拼接
for i in range(res["result_num"]):
    st+=res["result"][i]["keyword"]
#将字符串转成base64格式
bas_s = base64.b64encode(st.encode("utf-8")).decode()

#Jaccard相似系数
def jaccard_similarity(s1, s2):
    set1 = set(s1)
    set2 = set(s2)
    intersection = set1 & set2
    union = set1 | set2
    return len(intersection) / len(union)
#进行分段识别
idx = len(st)//2

s2 = "导入库中的base64字符"
similarity_0 = jaccard_similarity(st[:idx],s2[:idx])
similarity_1 = jaccard_similarity(st[idx:],s2[idx:])
print(similarity_0*0.8+simiarity_1*0.2)

注:

(1)这里在百度智能云识别过程中,由于面前的内容相对主要,后面的内容相对次要,所以在算法过程中分成了两段,前半段占比0.8,后半段占比0.2; 当然也可以修改成3段 建议占比分别为为 6 3 1

(2)这里采用的是jaccard相似系数,通过集合进行的求值.除此之外,还可以使用编辑距离,或者余弦相似度进行识别.



三、展示结果


(1)第一种情况,将图片进行了镜面处理:识别的相似度为89%,属于相似图片情况

(2)第二种情况 -- 通过不同角度拍摄的同一个图片:识别相似度在60%左右,在人工审核和重复的边缘

收藏8
全部评论1
最新
发布评论
评论