【快报】Soul 新增查重功能和我对图片查重落地的猜想

admin 2023年2月16日22:10:12评论131 views字数 1870阅读6分14秒阅读模式

0x00 Soul 新增图片查重功能

据微博互联网博主 @赵宏民 发文称社交软件 Soul 上,新增了图片&文本查重功能,当系统识别到出现重复照片或文本时会提示「系统识别该文字(图片)曾在站内出现过」

【快报】Soul 新增查重功能和我对图片查重落地的猜想

我认为这个功能可以从很大程度上增加了盗图的难度,但是从技术角度来看,Soul 使用的查重方法是否容易绕过?是否会催生贩卖绕过识别图片或技术的黑产团伙?目前来看都不是一个定数,但如果此类技术被大范围推广,一定会催生出许多以此为生的黑产作坊,无疑又增加了一个黑灰产的对抗方向

【快报】Soul 新增查重功能和我对图片查重落地的猜想

0x01 对图片识别方法的猜测

我首先在朋友圈调查了一下大家认为是如何实现的,大部分的回答是 Hash ,我认为在整个查重体系中 Hash 可以当作一个维度,假设图片原封不动的被重新上传才会被查验出来,但只要经过一丁点修改,Hash 就会完全改变,所以只靠 Hash 判断我认为太单一了

猜想一:特征向量

这里首先感谢一下朋友圈的 @patch 师傅,对我这篇文章提供了方向上的帮助,我猜测这里是将图片的特征向量提取出来做机器学习,再结合图片分辨率、长度宽度等进行综合判断,一开始我我只查到针对验证码等简单图像的特征向量的相关文章,大概思路就是将图片灰度化后二值化,最后再转化为数组点阵进行机器学习,这里贴一下基于 Python 实现的源码(原文地址见引用):

from PIL import Image
import numpy as np

#将二值化后的数组转化成网格特征统计图
def get_features(array):
    #拿到数组的高度和宽度
    h, w = array.shape
    data = []
    for x in range(0, w/4):
        offset_y = x * 4
        temp = []
        for y in range(0,h/4):
            offset_x = y * 4
            #统计每个区域的1的值
            temp.append(sum(sum(array[0+offset_y:4+offset_y,0+offset_x:4+offset_x])))
        data.append(temp)
    return np.asarray(data)
    
#打开一张图片
img = Image.open("numImage/3.jpg")
#将图片化为32*32的
img = img.resize((3232))

#二值化
img = img.point(lambda x:1 if x > 120 else 0)
#将图片转换为数组形式,元素为其像素的亮度值
img_array = np.asarray(img)
print img_array
#得到网格特征统计图
features_array = get_features(img_array)
print features_array
features_vector =features_array.reshape(features_array.shape[0]*features_array.shape[1])
print features_vector

后来我仔细一想,这样考虑是错误的,Soul 每天处理的必然不是简单的数字图片,那么特征向量能否胜任复杂的图片查重吗?我找到了一篇论文给大家作为参考:基于复杂网络的图像特征提取及多特征融合方案探究

【快报】Soul 新增查重功能和我对图片查重落地的猜想

猜想二:aHashdHashpHash算法

这个是方向是朋友圈师傅 @Tracy McGrady 师傅提出的,这三剑客的本质从名字就可以预见,还是基于 Hash 实现的(这么一看朋友圈大多数人说的是对的),在部分过程中也与特征向量有些共通之处,如都需要进行灰度处理等,如果想具体了解可以见引用的关于这三剑客的文章,我作为小白就不在关公面前舞大刀了


aHash dHash pHash
中文名称 平均哈希算法 差异哈希算法 感知哈希算法
特点 速度快,精确度较差 速度快,判断效果比aHash好 速度慢,相对aHash鲁棒性更好

0x02 引用

  1. Python提取数字图片特征向量 —— www.k2zone.cn
  2. 图片相似度识别:aHash算法 —— 三猫后端
  3. 图片相似度识别:dHash算法 —— 三猫后端
  4. 图片相似度识别:pHash算法 —— 三猫后端
  5. 开源矢量数据库 Milvus(https://github.com/milvus-io/milvus)

原文始发于微信公众号(天禧信安):【快报】Soul 新增查重功能和我对图片查重落地的猜想

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月16日22:10:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【快报】Soul 新增查重功能和我对图片查重落地的猜想http://cn-sec.com/archives/1281254.html

发表评论

匿名网友 填写信息