Comments (10)
qt_table.pk DocTamperV1-FCD_75.pk... What is the purpose of these files, how are they generated, and how do you pick the right quantisation table?
from doctamper.
The purpose of them is to record the random selected compression factors for a fair comparison, it can also be seen as keeping the random seed same all the test time. We pick the right quant-table by choosing a compress factor then get the corresponding standard quant-table from OpenCV.
from doctamper.
The purpose of them is to record the random selected compression factors for a fair comparison, it can also be seen as keeping the random seed same all the test time. We pick the right quant-table by choosing a compress factor then get the corresponding standard quant-table from OpenCV.
Can you elaborate on how the corresponding quant_table is generated based on Curriculum learning (CL) during training, or can you provide the pk file of the trained quant_table, I don't know how to generate the corresponding pk file using OpenCV.
from doctamper.
I didn't use any .pk file to conduct CL, the compression factors are randomly and dynamically generated in the dataset class. I am forbidden to show the actual codes publicly now.
from doctamper.
The training process doesn't need such .pk file (e.g. xxx_75.pk xxx_90.pk), some of the codes of the dataset class need to be adjusted before training stage.
from doctamper.
record = self.record[index]
choicei = len(record)-1
q = int(record[-1])
use_qtb = self.pks[q]
if choicei>1:
q2 = int(record[-3])
use_qtb2 = self.pks[q2]
if choicei>0:
q1 = int(record[-2])
use_qtb1 = self.pks[q1]
Why is the length of the record inconsistent?
from doctamper.
The purpose of them is to record the random selected compression factors for a fair comparison, it can also be seen as keeping the random seed same all the test time. We pick the right quant-table by choosing a compress factor then get the corresponding standard quant-table from OpenCV.
record = self.record[index]
choicei = len(record)-1
q = int(record[-1])
use_qtb = self.pks[q]
if choicei>1:
q2 = int(record[-3])
use_qtb2 = self.pks[q2]
if choicei>0:
q1 = int(record[-2])
use_qtb1 = self.pks[q1]
Why is the length of the record inconsistent?
from doctamper.
This part of codes is to choice the times (1,2 or 3) for image compression. Sometimes images are compressed more than once. The times for compression are randomly generated before being recorded.
from doctamper.
The purpose of them is to record the random selected compression factors for a fair comparison, it can also be seen as keeping the random seed same all the test time. We pick the right quant-table by choosing a compress factor then get the corresponding standard quant-table from OpenCV.
How is the quantised table generated during training, the range of values in the quantised table is in 0-63?When I am reproducing the CL training strategy, the quantised table generated based on qtable = jpg.quant_tables[0] exceeds this range, and the input to self.qtembed = nn.Embedding(64,16) gives error RuntimeError: CUDA error: device-side assert triggered
from doctamper.
Yes, the range of values is forced to be limited to 0-63.
from doctamper.
Related Issues (20)
- 请问仓库里的代码是关于什么的呢,不是训练代码那是啥? HOT 2
- 能否提供数据集篡改类型的信息? HOT 3
- public pristine set HOT 1
- how to implement CLTD? HOT 3
- Specific tampering type of DocTamper Dataset HOT 2
- 请问数据集中是否存在组合篡改类型,以及能否提供对比的其他方法在DocTamper上训练的模型权重? HOT 3
- details of data augmentation HOT 2
- DocYamperV1 HOT 1
- Dataset password HOT 13
- Tampering detection in an image captured from a tampered document. HOT 1
- 有关训练和测试压缩因子的问题 HOT 1
- model.load_state_dict(ckpt['state_dict']) 错误
- 某些特定图片的量化表似乎导致了程序错误? HOT 2
- loss HOT 4
- About dataset setting for training and inference. HOT 3
- Requesting Guidance on Running Model on Local Machine HOT 1
- 请问推理代码是哪个呢? HOT 2
- Question about infer on JPEG images and Quant table HOT 3
- 关于在DocTamper上训练CAT-Net HOT 2
- 关于评价指标 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from doctamper.