Do Image Editors Follow Depth-Dependent Blur and Aperture Response? A Rendered-Ground-Truth Pilot Audit
Abstract
General image editors are asked to make a photo look as if it were taken at f/1.4, yet it is rarely checked whether the blur they add follows thin-lens optics. A physical aperture edit spreads blur across depth in thin-lens proportions and changes the blur when the aperture changes; prior evaluations check blur monotonicity, sharpness-trend correlation, effective-aperture error, or vision-language judgments, and none we found reports the two properties separately at known depths. In this pilot audit of two editors (Gemini~3.1 Flash Image and GPT-image-2.5) we compare against a rendered oracle: Blender Cycles scenes with true thin-lens depth of field, one blur-width estimator applied identically to oracle and editor outputs, and preregistered depth and aperture indices. In 24 texture scenes rendered in one three-panel geometry, accepted and measurable panels show f/1.4-to-f/2.8 width ratios, , of 0.99--1.18 against 1.98--2.13 for the oracle, and ratios of pooled median Gaussian-equivalent near/far blur widths of about 1.18--1.25 (Gemini) and 0.97--1.05 (GPT-image) against 1.69--1.82. Preregistered black-box interventions show that qualitative wording changes blur strength by roughly 2--10 times, whereas a request for 2 versus 6 px changes it 1.1--1.3 times and no tested wording of the f-number meets the registered ``followed'' criterion. The depth compression appears in the original and reversed centre-focus layouts; with the focus on the near panel, the available-panel depth index reaches the registered threshold, and the aperture response stays attenuated in every layout tested. Scalar metrics adapted from published ones give oracle-like scores to synthetic editors whose proportions are compressed.
Figures & tables
| f/1.4 | f/2.8 | depth index | aperture index | (of 96) | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Source | Prompt | near | far | ratio | near | far | ratio | usable panels | ||
| oracle | – | 5.0 | 2.8 | 1.82 | 2.4 | 1.4 | 1.69 | 1 | 1 | 90/96 far, 96/96 near |
| Gemini | P1 | 1.9 | 1.7 | 1.18 | 2.0 | 1.6 | 1.22 | 0.326 [0.174, 0.445] | 0.007 [-0.129, 0.204] | 85/96 far, 95/96 near |
| Gemini | P2 | 2.0 | 1.6 | 1.25 | 1.8 | 1.4 | 1.24 | 0.392 [0.269, 0.442] | 0.143 [0.069, 0.247] | 82/96 far, 96/96 near |
| GPT-image | P1 | 4.0 | 3.8 | 1.05 | 3.4 | 3.3 | 1.03 | 0.075 [-0.060, 0.175] | 0.214 [0.098, 0.264] | 90/96 far, 96/96 near |
| GPT-image | P2 | 4.5 | 4.6 | 0.97 | 4.1 | 4.1 | 1.00 | -0.022 [-0.153, 0.064] | 0.158 [0.033, 0.209] | 84/96 far, 96/96 near |
| Editor | Layout | oracle ratio | editor ratio | depth index | aperture index | focus violations | joint jobs |
|---|---|---|---|---|---|---|---|
| Gemini | R | 1.82/1.69 | 1.11/1.14 | 0.21 [0.07, 0.45] | 0.21 [-0.03, 0.36] | 2/30 (18) | 18 |
| Gemini | F | 0.63/0.64 | 0.57/0.59 | 1.18 [0.97, 1.41] | 0.17 [0.03, 0.30] | 4/48 (0) | 16 |
| Gemini | original | 1.80/1.70 | 1.07/1.19 | 0.22 [0.02, 0.52] | 0.21 [-0.16, 0.36] | 0/24 (0) | – |
| GPT-image | R | 1.82/1.69 | 1.05/1.06 | 0.09 [-0.27, 0.37] | 0.03 [-0.07, 0.21] | 7/35 (13) | 20 |
| GPT-image | F | 0.63/0.64 | 0.60/0.65 | 1.02 [0.82, 1.22] | 0.04 [-0.08, 0.19] | 16/48 (0) | 1 |
| GPT-image | original | 1.80/1.70 | 1.02/1.19 | 0.18 [-0.11, 0.32] | 0.07 [-0.27, 0.22] | 3/17 (7) | – |
| Block | Intervention | Measure | Gemini | GPT-image | Registered label |
|---|---|---|---|---|---|
| v5 | stated distances swapped | +0.11 [ 0.15, 0.39] | 0.12 [ 0.21, 0.10] | intermediate | |
| v5 | stated distances 0.5 m / 20 m | +0.35 [0.02, 0.56] | 0.13 [ 0.50, 0.29] | intermediate | |
| v6 | “slight” “strong” blur | width | 2.2 / 1.9 | 3.0 / 2.9 | proportionality unresolved ∗ |
| v9c | numeric blur size 2 6 px | width | 1.13 / 1.10 | 1.30 / 1.14 | intermediate |
| v10 | f-number worded 3 ways (WS / WZ / WM) | aperture index | 0.08 / 0.14 / 0.48 | 0.14 / 0.30 / 0.06 | no wording meets “followed” |
| v9a | focus on far panel, f/1.4 vs f/2.8 | aperture index | 0.05 [ 0.24, 0.33] | 0.15 [0.07, 0.31] | attenuated |
| Source | M1w | M1p | M2 | M3 | ||
|---|---|---|---|---|---|---|
| synth.: oracle-like | 100 | 100 | 0.99 | 0.02 | 0.98 | 0.97 |
| synth.: uniform | 100 | 100 | 0.99 | 0.01 | -0.01 | 1.01 |
| synth.: half strength | 100 | 100 | 0.99 | 0.78 | 1.35 | 1.25 |
| synth.: ratio 1.2 | 100 | 100 | 0.99 | 0.01 | 0.31 | 1.01 |
| Gemini (P1) | 59 | 59 | 0.28 | 0.09 | 0.33 | 0.01 |
| GPT-image (P1) | 67 | 57 | 0.22 | 0.59 | 0.08 | 0.21 |
Appendix figures & tables2 assets
Supplementary material from the paper’s appendix.
Appendix
| native size | Gemini size | centre | |||
|---|---|---|---|---|---|
| Control | depth index | aperture index | depth index | aperture index | width |
| oracle-like | 0.976 [0.973, 0.978] | 0.974 [0.968, 0.975] | 0.944 [0.942, 0.945] | 0.943 [0.940, 0.945] | 0.00 |
| uniform, monotonic | -0.009 [-0.011, -0.005] | 1.006 [1.002, 1.009] | -0.008 [-0.010, -0.006] | 0.968 [0.965, 0.970] | 0.00 |
| half strength, proportional | 1.348 [1.338, 1.360] | 1.245 [1.233, 1.260] | 0.747 [0.739, 0.754] | 0.743 [0.732, 0.752] | 0.00 |
| near/far ratio forced to 1.2 | 0.314 [0.312, 0.318] | 1.008 [1.005, 1.011] | 0.294 [0.291, 0.299] | 0.969 [0.965, 0.972] | 0.00 |
| focus on the near panel | undefined | undefined | -4.582 [-4.593, -4.570] | 0.349 [0.348, 0.350] | 2.46 |
| Block | Geometry | L / C / R (m) | design ratio |
|---|---|---|---|
| v4 | G1 (far much farther) | 2.0 / 2.2 / 6.0 | 0.16 |
| v4 | G2 (near much closer) | 1.4 / 2.2 / 2.6 | 3.7 |
| v7 | S1 (both behind focus) | 3.0 / 2.2 / 6.0 | 0.42 |
| v7 | S2 (both in front) | 1.2 / 2.2 / 1.8 | 3.75 |
| v8 | O (opposite sides) | 1.53 / 2.2 / 2.67 | 2.5 |
| v8 | SF (both in front) | 1.53 / 2.2 / 1.87 | 2.5 |