watermark papers
[TOC]
CD-UAP: Class Discriminative Universal Adversarial Perturbation(AAAI,2020)
Consequently, it can be of practical relevance for an attacker to have control over the classes to attack. A natural question arises whether it is possible to craft a universal perturbation that fools the network only for certain classes while having minimal inflfluence on other classes
没怎么看懂
攻击方的角度控制分类/分割网络的分类结果。要求控制具有灵活性,能够控制特定的类别,而不影响其他类别
UAP:A single universal adversarial perturbation (UAP)
CD-UAP:class di ...
film to picture
123456789101112131415161718192021import cv2video_path = r'D:\ApowerREC\20220808_153435.mp4' # 视频地址output_path = r'D:/ApowerREC/False/' # 输出文件夹interval = 3 # 每间隔10帧取一张图片if __name__ == '__main__': num = 1 vid = cv2.VideoCapture(video_path) while vid.isOpened(): is_read, frame = vid.read() if is_read: if num % interval == 1: file_name = '%08d' % num cv2.imwrite(output_path + str(file_name) + & ...
noise layer surver
[TOC]
noise layer是鲁棒性水印的基础工作。几乎是不可能绕过去的。
本文主要写noise layer,其他的基本不写了。反正这些家伙的网络结构都差不多
这些家伙怎么写这破烂玩意都能投顶会呀。
Noise Layer本纪
有一点我觉得很奇怪,JPEG可微压缩的论文应该在2017年就有了,这些家伙竟然到2020才用到。
(不知道是在哪篇论文里面写的,但是讲的很全,到2020初的noise layer为止,2020年还有很重要的一篇cvpr没有讲)
如何在网络中处理攻击失真才能使得水印算法在实用中更鲁棒,是近年来的研究热点。攻击主要分为两种,已知攻击和未知攻击。针对已知攻击目前主要有两种解决方法,一种是生成真实攻击失真数据[56],缺点是需要大量的实拍数据,并进行矫正,需要很高的成本,并且难以有效模拟实际拍摄中的几何扭曲变换。另一种是模拟攻击数据。很多研究者进行研究,最大的困难是解决不可微压缩问题,如JPEG压缩等。2019年,文献[57]首次提出噪声层的设计并且通过JPEG-Drop对系数采用渐进式滤除。文献[58,59]中,通过设计一系列可微分的函数来模拟JPEG压缩的每 ...
论文loss曲线绘制方法
1 先用tensorboard把loss曲线做出来这一步还是不够的,因为tensorboard直接下载的矢量图的格式是不符合论文规范的。比如起点不在原点,坐标轴没有图例之类的大人的原因。
2 从tensorboard里面下载csv数据
3 python画表1234567891011121314151617181920212223242526272829303132def table3(): # train-val变化曲线 其他noise layer mpl.rcParams['font.sans-serif'] = ['SimHei'] # 添加这条可以让图形显示中文 y_axis_data_train = [0.164287627,0.106327094, ] x_axis_data = [] for i in range(1): x_axis_data.append(i) y_axis_data_val = [0.083114974,0.072642 ...
信安系笑话永不过时
千万不能被人看见!!
我信安19届乃是历代最强,谁赞成,谁反对?
信安系导师各个是人才,说话又好听。《可能是培养方案改变的问题,19级是第一届的试行方案,导致了本系19级的水平远不如以往几届》——也许是培养方案的问题,看来20届的水平略不如19届,主要原因是19届有S先生在。可能是培养方案改变的问题,20级是第2届的试行,导致了本系20级的水平远不如以往几届。建议以后,每年都这样写。
《作品赛这个竞赛还是很好拿奖的,三等奖随随便便就拿了》——指今年预赛都进不了几个
《今年的成绩还不错,有个二等奖,还是和计科合作的》——“合作”:出了200块参赛费
《好,我有颜良文丑二将,看来今年一个二等一个三等是稳了》——“稳了”指国赛总共进2个
正经の信安系地狱笑话在你校,信安国赛往往特指作品赛。你问为什么?你校压根没进过实践赛的国赛
第15届信安国赛罪己还是本人行为前后不一的问题,算法确实是一流的。
本人的最初目的或者说所谓的初心,有三:杀穿竞赛,锻炼后辈,偷偷摸鱼。
这三个目的在某些情况下确实是可以满足的,但是今年的条件不足。
想要混一个一等需要本人亲自操刀文案和PPT。
但是本人又是不可能一开 ...
论文引用首字母排排序
12345678910111213141516171819def paixu(list_line): list_line.sort() return list_lineif __name__ == '__main__': list_line = [] with open("./1.txt", "r") as f: for line in f: if len(line)>10: print(line[4:]) line= line[4:] list_line.append(line.strip()) list_line =paixu(list_line) print(list_line) with open("2.txt","w") as f: for line in list_line: ...
断言式
1234567#!/usr/bin/env python# -*- coding:utf-8 -*-branches =1x= 2assert (branches) == (x)print(1)
__assert__语句其实可以当作一个try exception使用
不满足条件即程序中断
生成有透明度的数字签名
12345678910111213141516171819202122232425262728293031323334#!/usr/bin/env python# -*- coding:utf-8 -*-# 有读取灰度,读取4通道透明度函数,直接修改透明度,结果必须保存png(可以具有透明度层)import numpy as npimport cv2 as cvimport matplotlib.pyplot as pltdef imread_four_channel(img): """ img : rgb """ b_channel, g_channel, r_channel = cv.split(img) alpha_channel = np.ones(b_channel.shape, dtype=b_channel.dtype) * 255 # alpha通道每个像素点区间为[0,255], 0为完全透明,255是完全不透明 img_BGRA = cv.merge((b_channe ...
Hello World hexo!
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post12$ hexo new "My New Post"$ hexo new "标题"
新建文章会自带文章属性名,就是文章最上面的title和标签一类
文章标题名称可以是中文,会显示Unicode编码
文章标题中可以出现空格,空格自动转为-
似乎会自动添加图片存放文件夹,在同目录下的同名文件夹下就是图片文件夹,注意在Typora中设置图片存放目录
More info: Writing
Run server12$ hexo server$ hexo s
More info: Server
Generate ...
warp
[TOC]
warp在不同python库函数中的实现
做深度水印工作有感,warp的代码还是挺难找的。主要使用的是仿射变换实现,否则不可微。
cv2不知道,谁拿cv2塞到网络里面呀
12345678910111213141516171819w,h,_ = img.shapesrc_points = np.array([[165., 270.], [400., 270.], [360., 125.], [400., 125.]], dtype="float32")dst_points = np.array([[165., 270.], [400., 270.], [165., 30.], [400., 30.]], dtype="float32")M = cv2.getPerspectiveTransform(src_points, dst_points)M = np.linalg.inv(M)print(M)out_img = cv2.warpPerspective(img,M,(h,w))cv2.imshow("img", ...