TrustMark 用神经网络在图片里嵌入可回读的不可见标记,适合给自有素材建立追踪线索。标记存在不证明作品版权归属,标记缺失也不证明图片未经处理。下面只做编码、压缩和解码验收,不提供去除他人标记的流程。
给标记设计外部记录
准备自有 photo.png,把短 ASCII 标记 pic0001 映射到本地素材台账的文件名、制作日期和授权信息。不要将敏感个人信息塞进水印。官方说明原始载荷为 100 bit,并有不同纠错 schema,实际可存内容与编码配置相关,不能当作可容纳长版权声明的字段。

编码之后立即回读
from trustmark import TrustMark
from PIL import Image
tm = TrustMark(verbose=False, model_type="Q")
cover = Image.open("photo.png").convert("RGB")
tm.encode(cover, "pic0001").save("marked.png")
secret, present, schema = tm.decode(Image.open("marked.png").convert("RGB"))
print("present", present, "payload", secret, "schema", schema)
按官方安装 trustmark;模型在首次使用时下载,不是安装包里必然已包含。参数沿用官方 Q 示例,输出内容须和该版本编码方式对应核对。这里未运行编码,不能给出实际 PSNR 或成功率。
用真实交付格式再解一次
复制 marked.png 成不同 JPEG 质量或缩放版本,分别记录尺寸、格式、变换与解码结果。回读失败时保留原水印图对照,区分“原图就没有正确编码”与“处理后丢失标记”。同时放大看平坦颜色和细纹理是否出现可见改变;不可见是目标,不是所有图片都无损的保证。
标记只能支持有限的来源线索
必须把标记、原始文件与台账关联,别人知道载荷也可能再次嵌入,不能把简单秘密字符串当身份认证。正式来源证明需要更完整的签名和来源链方案,TrustMark 可与 C2PA 等体系结合,但这个示例没有建立签名链。下一步选择常用交付变换做小样本回读,明确在哪些条件下失效。
参考资料
依据 2026-10-03 读取的官方资料整理:官方文档 1。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/33118.html