{"id":"b6796222-e7be-4d71-a327-6947e70225fd","arxiv_id":"1908.04259","paper_version":1,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":5.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":3,"one_line_summary":"A DenseNet CNN with a log-cosh loss estimates the first 15 primary JPEG quantization steps under aligned, non-aligned, QF1 below QF2, and QF1 above QF2 double compression, and on 64x64 patches.","lead":"This paper trains a convolutional network to estimate the original JPEG compression settings of images that were saved twice, a signal that forensic analysts use to find tampered regions. It claims a single network now works for aligned and misaligned compression grids and for both coarser and finer first compressions, which earlier model-based tools could not do in one setup.","discovery_kind":"new_application","skeptic_critique":{"model":"deepseek-v4-flash","headline":"Aligned QF2=80 row in Table VI contradicts the 'very general conditions' claim; the CNN is far worse than [9] for QF1=75, so the headline claim needs qualification or a retraining fix.","rationale":"The reader's CONDITIONAL verdict is appropriate. I considered several candidates: missing comparison with [7], lack of error bars, and QF2 generalization tested only for 90->92. These are secondary. The most load-bearing problem is internal: Table VI shows an aligned QF2=80 failure in a setting inside the claimed general range and inside the training grid, and the paper's explanation is inaccurate for that row. The likely cause is training imbalance (aligned probability 1/64) and short fine-tuning. The failure does not refute the method's practical value, because many other cells show strong improvements, but it does undermine the broad 'works reasonably well in all situations' claim. The proposed test—balanced retraining with repeated runs—would distinguish a fixable methodological artifact from a genuine regime failure. Since the reader already returned CONDITIONAL and this concern supports that verdict rather than moving it, I recommend UNCHANGED. I partially agree with the reader's weakest_assumption: the reader framed the issue as generalization from a narrow training distribution and explicitly cited the same Table VI row; my concern is more specific and does not rely on cross-dataset shift.","tokens_in":10444,"tokens_out":12580,"duration_ms":137322,"concrete_test":"Retrain the QF2=80 model with a balanced alignment split: generate aligned and non-aligned double-compressed patches in equal proportion over the same QF1 grid of Section IV-A, using the same DenseNet and log-cosh loss, and re-evaluate the aligned rows of Table VI. If the QF1=75 row remains at MSE above 5 and Acc below 0.4 while [9] stays near MSE 1.30/Acc 0.66 across five training runs, the 'very general conditions' claim should be explicitly narrowed. If the model recovers to within, say, factor 2 of [9], the failure is an artifact of the 1/64 alignment sampling and is fixable. Report per-coefficient errors and standard deviations over runs.","verdict_should_be":"UNCHANGED","load_bearing_attack":"The central claim is that a single CNN estimator works under very general conditions, including the aligned case with QF1<QF2. The paper's own Table VI (QF2=80, aligned) contains a direct counterexample: for QF1=75, CNN-Log has MSE 10.6 and Acc 0.20, while [9] achieves MSE 1.30 and Acc 0.66. This is not a distribution-mismatch case: QF1=75 is inside the training grid listed in Section IV-A for QF2=80. Section IV-B explains the row as part of a 'general performance loss by all techniques,' but [9] clearly does not suffer that loss in this row. A plausible cause is the training protocol: compressions are generated with a uniformly random grid shift, so aligned samples occur with probability only 1/64, and the QF2=80 model is fine-tuned for only 20 epochs from the QF2=90 model. Thus the aligned regime is severely underrepresented, and the network does not learn it reliably. Because aligned, QF1<QF2 is exactly one of the settings the abstract promises to cover, this row undermines the strongest reading of 'very general range of settings.' The contribution is not invalidated—non-aligned cases and QF1>QF2 show large gains—but the generality claim must be qualified until this regime is fixed or excluded.","agreement_with_reader":"partial"},"referee_report":{"model":"deepseek-v4-flash","summary":"The paper proposes a single CNN-based estimator, adapted from a DenseNet architecture, that predicts the first Nc=15 entries of the primary quantization matrix of a doubly compressed JPEG image from a 64x64 pixel patch. The network is trained with a log-cosh regression loss (Eq. 1) for fixed second compression quality factors QF2=90 and QF2=80, with QF1 drawn from a grid and a uniformly random grid shift between the two compressions. Experiments on RAISE and Dresden datasets, with mismatched QF1, mismatched QF2, and Photoshop-based first compressions, report that the CNN outperforms model-based baselines in most settings, especially for non-aligned compressions and for QF1>QF2, while the abstract claims the method works under very general conditions (aligned/non-aligned, QF1<QF2, QF1>QF2).","tokens_in":10661,"tokens_out":2490,"duration_ms":25074,"significance":"If the central claim held as stated, the paper would be a useful contribution to JPEG forensics: a single learned estimator that removes the need for condition-specific tools and works at smaller patch sizes than prior art would have clear practical value for tampering localization. The empirical support is substantial in several regimes: non-aligned MSE improvements of roughly an order of magnitude (e.g., Table I, QF1=60: CNN-Log 2.17 versus [6] 33.2 and [10] 16.4), and genuine generalization checks to a different database (Table IV), mismatched QF2 (Table III), and Photoshop-encoded first compressions (Table V) are a real strength. The use of a simple regression loss with rounding is a reasonable and reproducible design choice, and the reported comparison includes both MSE and accuracy on the same 15 coefficients. However, the headline generality claim is contradicted by the paper's own aligned QF2=80 results in Table VI, so the claimed scope of the contribution is larger than the evidence supports.","major_comments":[{"comment":"The aligned QF2=80 row for QF1=75 directly contradicts the abstract's claim that the method works under very general conditions. For this row, CNN-Log has MSE 10.6 and Acc 0.20, while the model-based method [9] achieves MSE 1.30 and Acc 0.66; similar large gaps appear for QF1=80 and QF1=85. QF1=75 is inside the training grid for QF2=80 listed in Section IV-A, so this is not a training-distribution mismatch. The text attributes the row to \"a general performance loss by all techniques,\" but [9] does not suffer such a loss in that row. This is a load-bearing counterexample to the paper's main claim, and it must be fixed (e.g., by retraining with aligned samples adequately represented, or by explicitly excluding the aligned QF1<QF2 regime from the claimed scope).","section":"Section IV-B, Table VI"},{"comment":"The training protocol strongly undersamples the aligned case: a uniformly distributed random grid shift is applied between compressions, so aligned samples occur with probability only 1/64, and the QF2=80 model is fine-tuned for only 20 epochs from the QF2=90 model. This is the most plausible explanation for the catastrophic aligned QF2=80 results in Table VI, and it is not discussed. The authors should either introduce a mixed training strategy that guarantees aligned samples are adequately represented, or provide an explicit analysis of how the aligned-case failure depends on the sampling probability. As it stands, the claim that a single network covers the aligned regime is not supported for QF2=80.","section":"Section IV-A, training protocol"},{"comment":"All reported MSE and accuracy figures are single-run point estimates with no error bars, no repeated training runs, and no statistical significance tests. Several comparisons, especially in the aligned non-QF1=QF2 cases, are numerically close (e.g., Table I, QF1=60 aligned: CNN-Log 1.86 versus [9] 1.87, and QF1=65 aligned: 1.28 versus 9.21 in one baseline but 1.28 versus 1.13 for CNN-L2). Without variance information, the claimed improvements in those rows are not reliably established. The authors should report mean and standard deviation over at least a few training runs, or make a clear statement that the differences are within expected variability.","section":"All tables (Section IV-B)"},{"comment":"The assertion that \"a network trained with a given QF2 generalizes pretty well to different QF2's\" is supported only by Table III, which tests a single mismatched QF2=92. That is a weak basis for a general claim, especially since Table V shows substantial degradation for low Photoshop qualities and the aligned QF2=80 results show a failure mode. The paper should either test a wider range of QF2 mismatches (both above and below the training value, including QF2=80 from a QF2=90 model and vice versa) or soften the claim to reflect the evidence. This is directly relevant to the promised generality of the method.","section":"Section IV-A, generalization claim"}],"minor_comments":[{"comment":"In Eq. (1), the notation q1,i(x) is used both for the ground-truth quantization step and as a function of the image patch, while f_i(x) is the predicted soft output. Clarify the notation so that the dependent variable x is not overloaded with the index i.","section":"Equation (1)"},{"comment":"The abbreviations \"[6], N-Al\" and \"[6], Al\" in the table headers are not defined in the caption or text. Spell out that these are the aligned and non-aligned variants of the method from [6], and similarly for [9] and [10], so that readers can interpret the comparisons without referring to the bibliography.","section":"Tables I-VI"},{"comment":"The caption of Fig. 1 states \"non-aligned (left) and aligned (right)\" but does not state that the accuracy is averaged over all QF1 values or that QF2=90. Add this information to the caption.","section":"Figure 1"},{"comment":"The paper says the training dataset uses 4e5 patches per QF1, and the test set uses 5780 patches from 1156 images, with 5 patches per image. State explicitly whether these patches are non-overlapping and whether the test patches come from images not used in the validation set, to avoid any ambiguity about data leakage.","section":"Section IV-A, dataset description"},{"comment":"The sentence \"Since many sota methods tend to perform worse when the second QF is small (noticeably smaller that QF1)\" contains a typo: \"that\" should be \"than.\" Also, the discussion of the aligned QF2=80 failure is too brief given the magnitude of the discrepancy.","section":"Section IV-B, Table VI discussion"},{"comment":"The DenseNet configuration is described in prose. A compact table or a reference to the exact Keras implementation (the link in [21] is given) would improve reproducibility, particularly the number of convolutional layers per dense block, the transition layer details, and the exact input preprocessing (or lack thereof).","section":"Section III, network architecture"}],"recommendation":"major_revision","confidential_remarks":"The paper is on a well-scoped forensic estimation problem and the non-aligned regime results are genuinely strong. The main reservation is that the paper's central claim of general applicability is contradicted by its own Table VI for the aligned QF2=80 condition, which is a load-bearing part of the contribution. The authors should be asked to resolve this discrepancy, either by retraining with a better sampling strategy or by re-scoping the claim. I would also encourage the editor to ask for error bars or repeated runs, as the field increasingly expects this for deep-learning empirical papers."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"Two things to know. It is the first CNN that regresses the primary JPEG quantization vector, and it delivers real gains where model-based tools are weak: non-aligned grids, QF1>QF2, and 64x64 patches. But the abstract's 'very general range of settings' is not supported by the paper's own results. In Table VI, aligned QF2=80, QF1=75, the CNN has MSE 10.6 and Acc 0.20 while [9] has MSE 1.30 and Acc 0.66. QF1=75 is inside the training grid, so the authors' explanation of a 'general performance loss by all techniques' is wrong for that row. The likely cause is the training protocol: grid shifts are uniformly random, so aligned samples occur with probability 1/64, and the QF2=80 model gets only 20 epochs of fine-tuning from the QF2=90 model. The aligned regime is under-learned. That does not sink the method, but the generality claim needs qualification until this is fixed or excluded.\\n\\nWhat is genuinely good: the log-cosh loss choice is sensible and clearly motivated; the experiment set is broad — Dresden, mismatched QF2, Photoshop as first compressor — and the non-aligned improvements are large and consistent. The 64x64 patch size is practically useful for splicing localization, where prior methods degrade badly. The paper is honest enough to report all rows, including the embarrassing one.\\n\\nSoft spots beyond Table VI: the direct competitor [7] is cited but never compared; there are no error bars, so we cannot tell which gaps are noise; and no code or trained weights are provided, limiting reproducibility. These are all fixable in revision.\\n\\nBottom line: a solid empirical contribution for forensic analysts. The core approach is sound, the evidence is substantial, and the failure mode is narrow and likely curable. It deserves peer review, not a desk reject, but the authors should retrain or adjust for the aligned case, add [7], report variance, and soften the abstract. I'd bring it to reading group.","headline":"A useful CNN for primary quantization matrix estimation, but the 'very general conditions' headline is oversold — Table VI shows a concrete aligned QF1<QF2 case where it badly loses to a model-based method.","tokens_in":673,"tokens_out":767,"would_cite":true,"duration_ms":35333,"reading_group":"yes","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"A single CNN can estimate the primary JPEG quantization matrix across aligned, non-aligned, QF1<QF2, and QF1>QF2 double compressions, and does so on small 64x64 patches.","keywords":["double JPEG compression","primary quantization matrix estimation","convolutional neural network","DenseNet","log-cosh loss","image forensics","JPEG quality factor","tampering localization"],"falsifier":"Take the QF2=90 model and run it on aligned double compressions with QF2=80 and QF1 in {75, 80, 85}: Table VI already shows the CNN is far worse than the dedicated estimator in that regime, so a systematic sweep over aligned low-QF2 settings with QF1 near QF2 would settle whether the 'general conditions' claim holds or needs an aligned-specific exception.","tokens_in":10123,"feed_emoji":"🖼️","tokens_out":3804,"duration_ms":36925,"temperature":0.7,"pith_summary":"The paper argues that one convolutional network, rather than a collection of condition-specific estimators, can recover the primary JPEG quantization matrix from a doubly compressed image regardless of grid alignment and regardless of whether the first quality factor is lower or higher than the second. The estimator takes a 64x64 RGB patch and feeds it through a DenseNet regressor whose output is the first 15 zig-zag quantization steps, rounded to integers. The loss is the log-cosh of the per-coefficient error, chosen so that a few badly wrong coefficients do not dominate training. If the claim holds, a single trained model replaces several specialized tools and works on patches small enough to support tampering localization.","feed_headline":"One CNN estimates double-JPEG's first quantization matrix","feed_subtitle":"A single network handles aligned and shifted grids and both quality-factor orderings on small patches.","key_machinery":"The engine is a DenseNet: a deep convolutional network with three dense blocks in which each layer receives feature maps from all earlier layers, with depth 40 and growth rate k=12, outputting Nc=15 real values after global average pooling and a fully connected layer. The network regresses the first 15 entries of the primary quantization vector taken in zig-zag order. The loss is L(x) = (1/Nc) sum_i log(cosh(q1,i(x)-fi(x))), which behaves like squared error for small deviations and like absolute error for large ones, so outliers do not dominate; the output is rounded to the nearest integer.","core_discovery":"The central claim, as the authors state it, is that a CNN trained once can estimate the primary quantization vector (first 15 coefficients) under very general conditions, unlike prior model-based methods that each require e.g. alignment or QF1<QF2. The authors demonstrate this with experiments on RAISE and Dresden, with OpenCV and Photoshop first compressions, and with mismatched QF values: in most tested cases the CNN yields lower MSE and often higher accuracy than dedicated baselines, with the largest gains in the non-aligned case and when QF1>QF2. The paper also reports that the same network gives good results on 64x64 patches, where statistical methods degrade, and that training with a fixed QF2 transfers to nearby QF2 values at least when the mismatch is not too strong.","pith_inferences":["Because the training grid shift is uniformly random over 64 positions, aligned examples form only 1/64 of the training data; a deployment setting where aligned double compression is common could require extra aligned samples to preserve performance.","The QF2-mismatch and encoder-mismatch results suggest the estimator learns a fairly general artifact signature; if so, a single model might extend to other JPEG variants, such as different chroma-subsampling settings, with limited retraining.","Casting the estimation as classification over the finite set of standard quantization steps could trade MSE for accuracy, as the authors note as future work; this might be tested specifically in the aligned low-QF2 regime where the regressor struggles."],"forward_implications":["One trained model can be deployed without knowing beforehand whether the double compression is aligned, non-aligned, QF1<QF2, or QF1>QF2.","The method's accuracy on 64x64 patches should enable quantization-matrix-based tampering localization at finer spatial resolution than model-based estimators allow.","Working on small patches means the same estimator can be applied to small spliced regions, not only whole images.","The log-cosh loss choice is shown to improve accuracy over L2, suggesting that robust losses matter as much as architecture for this regression task."],"supporting_citations":[{"why":"Supplies the DenseNet architecture that the paper adapts for quantization-step regression.","marker":"[11]"},{"why":"Provides the aligned and non-aligned model-based estimator used as a baseline throughout the experiments.","marker":"[6]"},{"why":"Provides the dedicated aligned-case estimator that is the strongest competitor in the aligned setting and motivates the limitation QF1<QF2 that the CNN removes.","marker":"[9]"},{"why":"Provides the non-aligned-case baseline against which the CNN is compared.","marker":"[10]"},{"why":"Provides a statistical-model baseline for primary quantization step estimation that is tailored to the aligned case.","marker":"[7]"},{"why":"Supplies the log-cosh loss function that the paper adapts for the regression loss.","marker":"[16]"},{"why":"Supplies the RAISE image dataset used for training and testing.","marker":"[19]"},{"why":"Supplies the Dresden image dataset used for database-mismatch testing.","marker":"[20]"},{"why":"Defines the zig-zag order used to index the quantization coefficients.","marker":"[15]"}],"fun_headline_variants":["CNN estimates first quantization matrix in any double-JPEG scenario","Single CNN handles aligned or shifted double-JPEG grids","One CNN works for both QF orders and small image patches","CNN estimates JPEG quantization matrix from double compression","General CNN outperforms dedicated techniques on double JPEGs"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"The claim of working under very general conditions rests on the assumption that a network trained on OpenCV-coded RAISE images with a fixed QF2 and a finite QF1 grid transfers to other encoders, other QF2 values, and other image sources; if that transfer fails, the generality claim collapses.","fun_headline_variants_meta":{"raw":{"variants":["CNN estimates first quantization matrix in any double-JPEG scenario","Single CNN handles aligned or shifted double-JPEG grids","One CNN works for both QF orders and small image patches","CNN estimates JPEG quantization matrix from double compression","General CNN outperforms dedicated techniques on double JPEGs"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.000553,"raw_usage":{"total_tokens":2578,"prompt_tokens":829,"completion_tokens":1749,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":445,"completion_tokens_details":{"reasoning_tokens":1670}},"tokens_in":445,"tokens_out":1749,"duration_ms":14568,"temperature":1.0,"reasoning_tokens":1670,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-14T14:10:36.507548+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Take the QF2=90 model and run it on aligned double compressions with QF2=80 and QF1 in {75, 80, 85}: Table VI already shows the CNN is far worse than the dedicated estimator in that regime, so a systematic sweep over aligned low-QF2 settings with QF1 near QF2 would settle whether the 'general conditions' claim holds or needs an aligned-specific exception.","supporting_citations":[{"cited_title":"Image forgery localization via block-grained analysis of JPEG artifacts,","cited_arxiv_id":null,"evidence_quote":"Provides the aligned and non-aligned model-based estimator used as a baseline throughout the experiments."},{"cited_title":"First quantiza- tion matrix estimation from double compressed JPEG images,","cited_arxiv_id":null,"evidence_quote":"Provides the dedicated aligned-case estimator that is the strongest competitor in the aligned setting and motivates the limitation QF1<QF2 that the CNN removes."},{"cited_title":"Robust ﬁrst quantization matrix estimation based on ﬁltering of recompression artifacts for non- aligned double compressed JPEG images,","cited_arxiv_id":null,"evidence_quote":"Provides the non-aligned-case baseline against which the CNN is compared."},{"cited_title":"Estimation of primary quantization steps in double-compressed JPEG images using a statistical model of discrete cosine transform,","cited_arxiv_id":null,"evidence_quote":"Provides a statistical-model baseline for primary quantization step estimation that is tailored to the aligned case."},{"cited_title":"How to train neural networks,","cited_arxiv_id":null,"evidence_quote":"Supplies the log-cosh loss function that the paper adapts for the regression loss."},{"cited_title":"The ’Dresden Image Database’ for benchmarking digital image forensics,","cited_arxiv_id":null,"evidence_quote":"Supplies the Dresden image dataset used for database-mismatch testing."}],"review_version":1}