Correcoes 5 notebooks
This commit is contained in:
@@ -327,250 +327,93 @@
|
|||||||
"## 2.1 Phase 2 augmentation settings\n",
|
"## 2.1 Phase 2 augmentation settings\n",
|
||||||
"<!-- augmentation-table -->\n",
|
"<!-- augmentation-table -->\n",
|
||||||
"\n",
|
"\n",
|
||||||
"The Phase 2 augmentation configs define a deliberately light policy. The table below is generated from `classifier/configs/phase2/*.json` and `DFFImagePipeline.DEFAULTS`, so it documents the actual values available to training rather than a manually copied list.\n"
|
"The Phase 2 augmentation runs use one shared light policy. Instead of listing every pipeline default, the next cell reads the actual Phase 2 config files and reports only the stochastic operations that are active during training. Values marked `config` are written in the run JSON files; values marked `pipeline default` are active because the config gives partial overrides and the pipeline fills the rest from `DFFImagePipeline.DEFAULTS`.\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 5,
|
"execution_count": null,
|
||||||
"id": "428047fa",
|
"id": "428047fa",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"text/html": [
|
|
||||||
"<div>\n",
|
|
||||||
"<style scoped>\n",
|
|
||||||
" .dataframe tbody tr th:only-of-type {\n",
|
|
||||||
" vertical-align: middle;\n",
|
|
||||||
" }\n",
|
|
||||||
"\n",
|
|
||||||
" .dataframe tbody tr th {\n",
|
|
||||||
" vertical-align: top;\n",
|
|
||||||
" }\n",
|
|
||||||
"\n",
|
|
||||||
" .dataframe thead th {\n",
|
|
||||||
" text-align: right;\n",
|
|
||||||
" }\n",
|
|
||||||
"</style>\n",
|
|
||||||
"<table border=\"1\" class=\"dataframe\">\n",
|
|
||||||
" <thead>\n",
|
|
||||||
" <tr style=\"text-align: right;\">\n",
|
|
||||||
" <th>run</th>\n",
|
|
||||||
" <th>p2d_resnet18_aug</th>\n",
|
|
||||||
" <th>p2d_simplecnn_aug</th>\n",
|
|
||||||
" <th>p2e_resnet18_facecrop_aug</th>\n",
|
|
||||||
" <th>p2e_simplecnn_facecrop_aug</th>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>setting</th>\n",
|
|
||||||
" <th></th>\n",
|
|
||||||
" <th></th>\n",
|
|
||||||
" <th></th>\n",
|
|
||||||
" <th></th>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" </thead>\n",
|
|
||||||
" <tbody>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>blur_p</th>\n",
|
|
||||||
" <td>0.1</td>\n",
|
|
||||||
" <td>0.1</td>\n",
|
|
||||||
" <td>0.1</td>\n",
|
|
||||||
" <td>0.1</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>blur_radius</th>\n",
|
|
||||||
" <td>[0.1, 1.5]</td>\n",
|
|
||||||
" <td>[0.1, 1.5]</td>\n",
|
|
||||||
" <td>[0.1, 1.5]</td>\n",
|
|
||||||
" <td>[0.1, 1.5]</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>brightness</th>\n",
|
|
||||||
" <td>0.2</td>\n",
|
|
||||||
" <td>0.2</td>\n",
|
|
||||||
" <td>0.2</td>\n",
|
|
||||||
" <td>0.2</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>center_jitter</th>\n",
|
|
||||||
" <td>0.1</td>\n",
|
|
||||||
" <td>0.1</td>\n",
|
|
||||||
" <td>0.1</td>\n",
|
|
||||||
" <td>0.1</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>contrast</th>\n",
|
|
||||||
" <td>0.2</td>\n",
|
|
||||||
" <td>0.2</td>\n",
|
|
||||||
" <td>0.2</td>\n",
|
|
||||||
" <td>0.2</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>crop_scale</th>\n",
|
|
||||||
" <td>[0.85, 1.0]</td>\n",
|
|
||||||
" <td>[0.85, 1.0]</td>\n",
|
|
||||||
" <td>[0.85, 1.0]</td>\n",
|
|
||||||
" <td>[0.85, 1.0]</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>erase_p</th>\n",
|
|
||||||
" <td>0.2</td>\n",
|
|
||||||
" <td>0.2</td>\n",
|
|
||||||
" <td>0.2</td>\n",
|
|
||||||
" <td>0.2</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>erase_scale</th>\n",
|
|
||||||
" <td>[0.02, 0.15]</td>\n",
|
|
||||||
" <td>[0.02, 0.15]</td>\n",
|
|
||||||
" <td>[0.02, 0.15]</td>\n",
|
|
||||||
" <td>[0.02, 0.15]</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>grayscale_p</th>\n",
|
|
||||||
" <td>0.1</td>\n",
|
|
||||||
" <td>0.1</td>\n",
|
|
||||||
" <td>0.1</td>\n",
|
|
||||||
" <td>0.1</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>hflip_p</th>\n",
|
|
||||||
" <td>0.5</td>\n",
|
|
||||||
" <td>0.5</td>\n",
|
|
||||||
" <td>0.5</td>\n",
|
|
||||||
" <td>0.5</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>hue</th>\n",
|
|
||||||
" <td>0.02</td>\n",
|
|
||||||
" <td>0.02</td>\n",
|
|
||||||
" <td>0.02</td>\n",
|
|
||||||
" <td>0.02</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>jpeg_p</th>\n",
|
|
||||||
" <td>0.3</td>\n",
|
|
||||||
" <td>0.3</td>\n",
|
|
||||||
" <td>0.3</td>\n",
|
|
||||||
" <td>0.3</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>jpeg_quality</th>\n",
|
|
||||||
" <td>[65, 95]</td>\n",
|
|
||||||
" <td>[65, 95]</td>\n",
|
|
||||||
" <td>[65, 95]</td>\n",
|
|
||||||
" <td>[65, 95]</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>noise_p</th>\n",
|
|
||||||
" <td>0.3</td>\n",
|
|
||||||
" <td>0.3</td>\n",
|
|
||||||
" <td>0.3</td>\n",
|
|
||||||
" <td>0.3</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>noise_std</th>\n",
|
|
||||||
" <td>0.04</td>\n",
|
|
||||||
" <td>0.04</td>\n",
|
|
||||||
" <td>0.04</td>\n",
|
|
||||||
" <td>0.04</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>rotation_degrees</th>\n",
|
|
||||||
" <td>10</td>\n",
|
|
||||||
" <td>10</td>\n",
|
|
||||||
" <td>10</td>\n",
|
|
||||||
" <td>10</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" <tr>\n",
|
|
||||||
" <th>saturation</th>\n",
|
|
||||||
" <td>0.1</td>\n",
|
|
||||||
" <td>0.1</td>\n",
|
|
||||||
" <td>0.1</td>\n",
|
|
||||||
" <td>0.1</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" </tbody>\n",
|
|
||||||
"</table>\n",
|
|
||||||
"</div>"
|
|
||||||
],
|
|
||||||
"text/plain": [
|
|
||||||
"run p2d_resnet18_aug p2d_simplecnn_aug p2e_resnet18_facecrop_aug \\\n",
|
|
||||||
"setting \n",
|
|
||||||
"blur_p 0.1 0.1 0.1 \n",
|
|
||||||
"blur_radius [0.1, 1.5] [0.1, 1.5] [0.1, 1.5] \n",
|
|
||||||
"brightness 0.2 0.2 0.2 \n",
|
|
||||||
"center_jitter 0.1 0.1 0.1 \n",
|
|
||||||
"contrast 0.2 0.2 0.2 \n",
|
|
||||||
"crop_scale [0.85, 1.0] [0.85, 1.0] [0.85, 1.0] \n",
|
|
||||||
"erase_p 0.2 0.2 0.2 \n",
|
|
||||||
"erase_scale [0.02, 0.15] [0.02, 0.15] [0.02, 0.15] \n",
|
|
||||||
"grayscale_p 0.1 0.1 0.1 \n",
|
|
||||||
"hflip_p 0.5 0.5 0.5 \n",
|
|
||||||
"hue 0.02 0.02 0.02 \n",
|
|
||||||
"jpeg_p 0.3 0.3 0.3 \n",
|
|
||||||
"jpeg_quality [65, 95] [65, 95] [65, 95] \n",
|
|
||||||
"noise_p 0.3 0.3 0.3 \n",
|
|
||||||
"noise_std 0.04 0.04 0.04 \n",
|
|
||||||
"rotation_degrees 10 10 10 \n",
|
|
||||||
"saturation 0.1 0.1 0.1 \n",
|
|
||||||
"\n",
|
|
||||||
"run p2e_simplecnn_facecrop_aug \n",
|
|
||||||
"setting \n",
|
|
||||||
"blur_p 0.1 \n",
|
|
||||||
"blur_radius [0.1, 1.5] \n",
|
|
||||||
"brightness 0.2 \n",
|
|
||||||
"center_jitter 0.1 \n",
|
|
||||||
"contrast 0.2 \n",
|
|
||||||
"crop_scale [0.85, 1.0] \n",
|
|
||||||
"erase_p 0.2 \n",
|
|
||||||
"erase_scale [0.02, 0.15] \n",
|
|
||||||
"grayscale_p 0.1 \n",
|
|
||||||
"hflip_p 0.5 \n",
|
|
||||||
"hue 0.02 \n",
|
|
||||||
"jpeg_p 0.3 \n",
|
|
||||||
"jpeg_quality [65, 95] \n",
|
|
||||||
"noise_p 0.3 \n",
|
|
||||||
"noise_std 0.04 \n",
|
|
||||||
"rotation_degrees 10 \n",
|
|
||||||
"saturation 0.1 "
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"metadata": {},
|
|
||||||
"output_type": "display_data"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"# <!-- augmentation-table -->\n",
|
"# <!-- augmentation-table -->\n",
|
||||||
"phase2_aug_runs = [\n",
|
"aug_run_paths = sorted((CONFIGS_DIR / \"phase2\").glob(\"*.json\"))\n",
|
||||||
" \"p2d_resnet18_aug\",\n",
|
"aug_runs = []\n",
|
||||||
" \"p2d_simplecnn_aug\",\n",
|
"for cfg_path in aug_run_paths:\n",
|
||||||
" \"p2e_resnet18_facecrop_aug\",\n",
|
|
||||||
" \"p2e_simplecnn_facecrop_aug\",\n",
|
|
||||||
"]\n",
|
|
||||||
"\n",
|
|
||||||
"rows = []\n",
|
|
||||||
"for run_name in phase2_aug_runs:\n",
|
|
||||||
" cfg_path = CONFIGS_DIR / \"phase2\" / f\"{run_name}.json\"\n",
|
|
||||||
" cfg = load_config(str(cfg_path))\n",
|
" cfg = load_config(str(cfg_path))\n",
|
||||||
" aug_cfg = cfg.get(\"augment\") or {}\n",
|
" if cfg.get(\"augment\"):\n",
|
||||||
|
" aug_runs.append((cfg_path.stem, cfg))\n",
|
||||||
|
"\n",
|
||||||
|
"active_keys = []\n",
|
||||||
|
"for key in DFFImagePipeline.DEFAULTS:\n",
|
||||||
|
" values = []\n",
|
||||||
|
" for _, cfg in aug_runs:\n",
|
||||||
|
" merged = {**DFFImagePipeline.DEFAULTS, **cfg.get(\"augment\", {})}\n",
|
||||||
|
" value = merged.get(key)\n",
|
||||||
|
" values.append(value)\n",
|
||||||
|
" if any(value not in (None, 0, 0.0, [1.0, 1.0], [1, 1]) for value in values):\n",
|
||||||
|
" active_keys.append(key)\n",
|
||||||
|
"\n",
|
||||||
|
"setting_groups = {\n",
|
||||||
|
" \"crop_scale\": \"crop jitter\",\n",
|
||||||
|
" \"center_jitter\": \"crop jitter\",\n",
|
||||||
|
" \"hflip_p\": \"geometry\",\n",
|
||||||
|
" \"rotation_degrees\": \"geometry\",\n",
|
||||||
|
" \"brightness\": \"color\",\n",
|
||||||
|
" \"contrast\": \"color\",\n",
|
||||||
|
" \"saturation\": \"color\",\n",
|
||||||
|
" \"hue\": \"color\",\n",
|
||||||
|
" \"grayscale_p\": \"color\",\n",
|
||||||
|
" \"blur_p\": \"quality degradation\",\n",
|
||||||
|
" \"blur_radius\": \"quality degradation\",\n",
|
||||||
|
" \"jpeg_p\": \"quality degradation\",\n",
|
||||||
|
" \"jpeg_quality\": \"quality degradation\",\n",
|
||||||
|
" \"erase_p\": \"occlusion/noise\",\n",
|
||||||
|
" \"erase_scale\": \"occlusion/noise\",\n",
|
||||||
|
" \"noise_p\": \"occlusion/noise\",\n",
|
||||||
|
" \"noise_std\": \"occlusion/noise\",\n",
|
||||||
|
"}\n",
|
||||||
|
"\n",
|
||||||
|
"def compact_value(value):\n",
|
||||||
|
" if isinstance(value, float):\n",
|
||||||
|
" return f\"{value:g}\"\n",
|
||||||
|
" if isinstance(value, list):\n",
|
||||||
|
" return \"[\" + \", \".join(compact_value(v) for v in value) + \"]\"\n",
|
||||||
|
" return str(value)\n",
|
||||||
|
"\n",
|
||||||
|
"summary_rows = []\n",
|
||||||
|
"for key in active_keys:\n",
|
||||||
|
" merged_values = []\n",
|
||||||
|
" explicit = []\n",
|
||||||
|
" for run_name, cfg in aug_runs:\n",
|
||||||
|
" aug_cfg = cfg.get(\"augment\", {})\n",
|
||||||
" merged = {**DFFImagePipeline.DEFAULTS, **aug_cfg}\n",
|
" merged = {**DFFImagePipeline.DEFAULTS, **aug_cfg}\n",
|
||||||
" for key in [\n",
|
" merged_values.append(merged.get(key))\n",
|
||||||
" \"crop_scale\", \"center_jitter\", \"hflip_p\", \"rotation_degrees\",\n",
|
" explicit.append(key in aug_cfg)\n",
|
||||||
" \"brightness\", \"contrast\", \"saturation\", \"hue\", \"grayscale_p\",\n",
|
" same_value = all(value == merged_values[0] for value in merged_values)\n",
|
||||||
" \"blur_p\", \"blur_radius\", \"jpeg_p\", \"jpeg_quality\", \"erase_p\",\n",
|
" source = \"config\" if any(explicit) else \"pipeline default\"\n",
|
||||||
" \"erase_scale\", \"noise_p\", \"noise_std\",\n",
|
" summary_rows.append({\n",
|
||||||
" ]:\n",
|
" \"group\": setting_groups.get(key, \"other\"),\n",
|
||||||
" rows.append({\n",
|
|
||||||
" \"run\": run_name,\n",
|
|
||||||
" \"data_dir\": cfg.get(\"data_dir\"),\n",
|
|
||||||
" \"setting\": key,\n",
|
" \"setting\": key,\n",
|
||||||
" \"value\": merged.get(key),\n",
|
" \"phase2_value\": compact_value(merged_values[0]) if same_value else \"varies by run\",\n",
|
||||||
" \"explicit_in_config\": key in aug_cfg,\n",
|
" \"value_source\": source,\n",
|
||||||
" })\n",
|
" })\n",
|
||||||
"\n",
|
"\n",
|
||||||
"augmentation_table = pd.DataFrame(rows)\n",
|
"augmentation_summary = pd.DataFrame(summary_rows)\n",
|
||||||
"display(augmentation_table.pivot(index=\"setting\", columns=\"run\", values=\"value\"))\n"
|
"run_summary = pd.DataFrame([\n",
|
||||||
|
" {\n",
|
||||||
|
" \"run\": run_name,\n",
|
||||||
|
" \"model\": cfg.get(\"backbone\"),\n",
|
||||||
|
" \"data_dir\": cfg.get(\"data_dir\"),\n",
|
||||||
|
" \"explicit_aug_keys\": len(cfg.get(\"augment\", {})),\n",
|
||||||
|
" }\n",
|
||||||
|
" for run_name, cfg in aug_runs\n",
|
||||||
|
"])\n",
|
||||||
|
"\n",
|
||||||
|
"print(\"Augmentation runs read from configs:\")\n",
|
||||||
|
"display(run_summary)\n",
|
||||||
|
"display(augmentation_summary)\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -579,7 +422,9 @@
|
|||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"<!-- augmentation-table -->\n",
|
"<!-- augmentation-table -->\n",
|
||||||
"**Readout:** Phase 2 explicitly reduces several defaults: rotation is `10` degrees instead of the pipeline default `15`, color jitter is milder, blur probability is `0.1`, erase probability is `0.2`, and Gaussian noise uses `p=0.3`, `std=0.04`. JPEG recompression is inherited from the pipeline defaults when augmentation is enabled. Validation/test still bypass all stochastic operations because their pipeline is called with `train=False`.\n"
|
"These settings are intentionally modest. Crop jitter, flips, and rotation test whether the detector is robust to small pose and framing changes. Color jitter, grayscale, blur, JPEG recompression, and Gaussian noise test whether the model survives normal image-quality variation. Random erase is the strongest perturbation because it can hide local evidence.\n",
|
||||||
|
"\n",
|
||||||
|
"That last point is also the risk: deepfake cues can be subtle, so augmentation can remove useful evidence as well as nuisance variation. This is why Phase 2 treats augmentation as an ablation rather than assuming it will help. Validation and test transforms still use `train=False`, so they keep only deterministic square crop, resize, and normalization.\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -737,7 +582,7 @@
|
|||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"<!-- facecrop-augmentation-examples -->\n",
|
"<!-- facecrop-augmentation-examples -->\n",
|
||||||
"**Readout:** evaluation stays stable, while training draws can flip, rotate, jitter color, blur, erase, add noise, or recompress the cropped face. This is exactly the question later tested in Phase 2: whether extra variation helps the facecrop model generalize or over-regularizes it.\n"
|
"For facecropped data, evaluation remains deterministic but training draws can still flip, rotate, jitter color, blur, erase, add noise, or recompress the cropped face. This is the exact Phase 2 question: after the input has already been focused on the face, does extra variation improve robustness or does it hide the evidence the model needs?\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -380,7 +380,7 @@
|
|||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"<!-- phase1-protocol -->\n",
|
"<!-- phase1-protocol -->\n",
|
||||||
"**Readout:** both Phase 1 runs share seed `42`, `5` folds, batch size `32`, learning rate `1e-4`, weight decay `1e-4`, cosine `T_max=15`, and early-stopping patience `5`. The only intended comparison is model capacity/pretraining: SimpleCNN from scratch versus pretrained ResNet18.\n"
|
"Both Phase 1 runs use the same protocol: seed `42`, `5` folds, batch size `32`, learning rate `1e-4`, weight decay `1e-4`, cosine `T_max=15`, and early-stopping patience `5`. The intended comparison is therefore model capacity and pretraining: SimpleCNN from scratch versus pretrained ResNet18.\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -757,7 +757,7 @@
|
|||||||
"id": "97cfc057",
|
"id": "97cfc057",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"**Readout:** SimpleCNN improves slowly and its train/validation AUC curves stay close together, which suggests limited capacity rather than severe overfitting. ResNet18 learns much faster and reaches very high training AUC, but validation AUC plateaus around the low 0.93 range after the first few epochs. The gap between train and validation AUC means the pretrained model has enough capacity to fit the training folds more strongly than it generalizes to validation. This is not a failure, because ResNet18 still has much better validation and test performance than SimpleCNN, but it is a warning that later improvements must be checked on held-out folds and source-wise metrics rather than training curves alone.\n"
|
"SimpleCNN improves slowly and its train/validation AUC curves stay close together, which points more to limited capacity than severe overfitting. ResNet18 learns much faster and reaches very high training AUC, while validation AUC plateaus around the low `0.93` range after the first few epochs. That gap means the pretrained model can fit the training folds more strongly than it generalizes, so later improvements need to be checked on held-out folds and source-wise metrics, not training curves alone.\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -815,7 +815,7 @@
|
|||||||
"id": "2ddecd94",
|
"id": "2ddecd94",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"**Readout:** The confusion matrices show the same pattern as the AUC results, but in error-count form. SimpleCNN correctly classifies about `71%` of real images and `70%` of fake images, so it misses many examples in both directions. ResNet18 improves both sides: about `81%` of real images are kept real, and about `88%` of fake images are detected as fake. The biggest practical gain is fewer fake images predicted as real (`30%` -> `12%`), which matters because false negatives are the dangerous failure mode for a deepfake detector. ResNet18 still has some false alarms on real images (`19%`), so it is stronger but not perfect.\n"
|
"The confusion matrices show the AUC story in error-count form. SimpleCNN correctly classifies about `71%` of real images and `70%` of fake images, so it misses many examples in both directions. ResNet18 improves both sides: about `81%` of real images are kept real, and about `88%` of fake images are detected as fake. The most important practical gain is fewer fake images predicted as real (`30%` -> `12%`), although the model still produces some false alarms on real images (`19%`).\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -483,7 +483,7 @@
|
|||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"<!-- phase2-config-matrix -->\n",
|
"<!-- phase2-config-matrix -->\n",
|
||||||
"**Readout:** Phase 2 contains five groups: normalization/source diagnostics (`p2a`), 224x224 resolution (`p2b`), facecrop (`p2c`), augmentation without facecrop (`p2d`), and augmentation with facecrop (`p2e`). The source-holdout configs train without one fake source and evaluate with it restored, which is why pairwise AUC is the critical readout.\n"
|
"Phase 2 has five experiment groups: normalization/source diagnostics (`p2a`), 224x224 resolution (`p2b`), facecrop (`p2c`), augmentation without facecrop (`p2d`), and augmentation with facecrop (`p2e`). The source-holdout configs deliberately remove one fake source during training and then evaluate with it restored, so pairwise AUC is the key number for those runs.\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -861,7 +861,7 @@
|
|||||||
"id": "0354d84e",
|
"id": "0354d84e",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"**Readout:** Higher resolution barely changes SimpleCNN, but it substantially improves ResNet18 from AUC 0.9366 to 0.9660. This is the first major improvement step.\n"
|
"Higher resolution barely changes SimpleCNN, but it substantially improves ResNet18 from AUC `0.9366` to `0.9660`. This is the first major improvement step, and it fits the architecture story: the pretrained model can use the extra spatial detail, while the smaller scratch-trained CNN cannot turn it into much additional signal.\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -929,7 +929,7 @@
|
|||||||
"id": "2aa30a40",
|
"id": "2aa30a40",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"**Readout:** real_norm is only +0.0018 over the ImageNet/default normalization run. That is too small to drive the story, and ImageNet normalization remains the most standard choice for pretrained ResNet models.\n"
|
"The real-image normalization diagnostic is almost neutral: `real_norm` is only `+0.0018` AUC above the ImageNet/default normalization run. That difference is too small to drive the model choice, and ImageNet normalization remains the cleaner default for a pretrained ResNet because it matches the scale used during pretraining.\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1068,7 +1068,7 @@
|
|||||||
"id": "34d814ce",
|
"id": "34d814ce",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"**Readout:** Source holdout exposes the largest weakness. Holding out text2img drops `wiki_vs_text2img` to 0.7595; holding out insight drops `wiki_vs_insight` to 0.8421. Inpainting generalizes better at 0.9296. This means high global AUC should not be interpreted as source-agnostic generalization.\n"
|
"Source holdout exposes the largest weakness. Holding out `text2img` drops `wiki_vs_text2img` to `0.7595`; holding out `insight` drops `wiki_vs_insight` to `0.8421`; inpainting generalizes better at `0.9296`. The overall AUC is high, but these runs show that performance is not fully source-agnostic.\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1149,7 +1149,9 @@
|
|||||||
"id": "ee339e9e",
|
"id": "ee339e9e",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"**Readout:** Facecrop helps ResNet18 but not SimpleCNN because the two architectures use visual evidence differently. ResNet18 is deeper and pretrained on ImageNet, so it already has strong mid-level and high-level visual features for faces, texture, edges, and object parts. When the input is cropped to the face, ResNet18 can use that concentrated facial evidence more effectively, improving from 224x224 no-crop AUC `0.9660` to facecrop AUC `0.9755`. SimpleCNN is much smaller and trained from scratch, so removing background/body/context can also remove cues that the simpler model was using.\n"
|
"Facecrop helps ResNet18 but not SimpleCNN because the two models use visual evidence at different levels. ResNet18 is deeper and pretrained on ImageNet, so it already has reusable filters for edges, textures, facial parts, and object structure. Once the input is cropped around the face, that model can spend more of its capacity on the region where manipulation evidence should live, improving from 224x224 no-crop AUC `0.9660` to facecrop AUC `0.9755`.\n",
|
||||||
|
"\n",
|
||||||
|
"SimpleCNN is much smaller and trained from scratch on this limited subset. It may rely more on broad cues such as framing, background, clothing, color balance, or source-specific texture. Facecrop removes many of those cues. That is good for the intended detector, but it can hurt a low-capacity model that had not learned enough stable face-level evidence.\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1277,9 +1279,9 @@
|
|||||||
"id": "202507a6",
|
"id": "202507a6",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"**Readout:** Augmentation affects the two models very differently. For SimpleCNN, augmentation clearly hurts: without facecrop it drops from AUC `0.7853` to `0.7346`, and with facecrop it drops from `0.7661` to `0.7136`. This makes sense because SimpleCNN is small and trained from scratch. It has limited capacity to learn stable high-level face/manipulation features, so the augmented views may remove or disturb the simple cues it was using, such as color, local texture, framing, or background. Instead of improving generalization, augmentation makes the task harder for this weaker model.\n",
|
"Augmentation separates the models even more clearly. SimpleCNN drops in both settings: without facecrop it goes from AUC `0.7853` to `0.7346`, and with facecrop it goes from `0.7661` to `0.7136`. This is consistent with a low-capacity scratch model: the extra flips, rotations, color shifts, blur, noise, erasing, and recompression make the task harder before the model has learned robust face/manipulation features. Some of the cues it was using may simply be removed.\n",
|
||||||
"\n",
|
"\n",
|
||||||
"For ResNet18, augmentation is much less damaging because the model is deeper and starts from pretrained visual features. Without facecrop, augmentation is almost neutral in AUC (`0.9660` -> `0.9665`), but accuracy and F1 still fall, so it does not give a useful practical gain. With facecrop, augmentation is slightly negative (`0.9755` -> `0.9737`), suggesting that once the input is already focused on the face, extra blur/noise/erase/color changes may hide subtle fake evidence more than they help. In other words, augmentation can improve robustness only if it removes nuisance variation while preserving the real signal; here, at the 20% data setting, it seems to over-regularize rather than improve source-generalization. The best supported classifier remains ResNet18 at 224x224 with facecrop and no augmentation.\n"
|
"ResNet18 is more resilient because it starts from stronger pretrained visual features. Without facecrop, augmentation is almost neutral in AUC (`0.9660` -> `0.9665`), but accuracy and F1 still fall, so there is no practical win. With facecrop, augmentation becomes slightly negative (`0.9755` -> `0.9737`). Once the image is already concentrated on the face, the extra perturbations may hide the subtle evidence that made facecrop useful. For the current 20% data setting, augmentation looks more like over-regularization than improved generalization, so the best supported classifier remains ResNet18 at 224x224 with facecrop and no augmentation.\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -1,16 +1,16 @@
|
|||||||
run,n_candidates,n_images,heldout_source,candidate_auc,candidate_acc,panel_path,expanded_panel_path
|
run,n_candidates,n_images,heldout_source,candidate_auc,candidate_acc,panel,expanded_panel,fine_panel
|
||||||
p1_simplecnn_baseline,192,10,,0.8378182870370371,0.7395833333333334,c:\Users\diogo\Documents\MIA_UP\2_Semestre\DRL\DRL_2\DRL_PROJ\classifier\outputs\gradcam\p1_simplecnn_baseline\panel.png,
|
p1_simplecnn_baseline,192,10,,0.8378182870370371,0.7395833333333334,classifier\outputs\gradcam\p1_simplecnn_baseline\panel.png,,
|
||||||
p1_resnet18_baseline,192,10,,0.9769965277777778,0.9270833333333334,c:\Users\diogo\Documents\MIA_UP\2_Semestre\DRL\DRL_2\DRL_PROJ\classifier\outputs\gradcam\p1_resnet18_baseline\panel.png,
|
p1_resnet18_baseline,192,10,,0.9769965277777778,0.9270833333333334,classifier\outputs\gradcam\p1_resnet18_baseline\panel.png,,
|
||||||
p2a_t1_original,192,10,,0.9984085648148149,0.9895833333333334,c:\Users\diogo\Documents\MIA_UP\2_Semestre\DRL\DRL_2\DRL_PROJ\classifier\outputs\gradcam\p2a_t1_original\panel.png,
|
p2a_t1_original,192,10,,0.9984085648148149,0.9895833333333334,classifier\outputs\gradcam\p2a_t1_original\panel.png,,
|
||||||
p2a_t2_real_norm,192,10,,0.9939236111111112,0.9791666666666666,c:\Users\diogo\Documents\MIA_UP\2_Semestre\DRL\DRL_2\DRL_PROJ\classifier\outputs\gradcam\p2a_t2_real_norm\panel.png,
|
p2a_t2_real_norm,192,10,,0.9939236111111112,0.9791666666666666,classifier\outputs\gradcam\p2a_t2_real_norm\panel.png,,
|
||||||
p2a_t3_holdout_text2img,240,10,text2img,0.9264322916666667,0.775,c:\Users\diogo\Documents\MIA_UP\2_Semestre\DRL\DRL_2\DRL_PROJ\classifier\outputs\gradcam\p2a_t3_holdout_text2img\panel.png,
|
p2a_t3_holdout_text2img,240,10,text2img,0.9264322916666667,0.775,classifier\outputs\gradcam\p2a_t3_holdout_text2img\panel.png,,
|
||||||
p2a_t3_holdout_inpainting,240,10,inpainting,0.9819878472222222,0.9333333333333333,c:\Users\diogo\Documents\MIA_UP\2_Semestre\DRL\DRL_2\DRL_PROJ\classifier\outputs\gradcam\p2a_t3_holdout_inpainting\panel.png,
|
p2a_t3_holdout_inpainting,240,10,inpainting,0.9819878472222222,0.9333333333333333,classifier\outputs\gradcam\p2a_t3_holdout_inpainting\panel.png,,
|
||||||
p2a_t3_holdout_insight,240,10,insight,0.9549696180555556,0.7625,c:\Users\diogo\Documents\MIA_UP\2_Semestre\DRL\DRL_2\DRL_PROJ\classifier\outputs\gradcam\p2a_t3_holdout_insight\panel.png,
|
p2a_t3_holdout_insight,240,10,insight,0.9549696180555556,0.7625,classifier\outputs\gradcam\p2a_t3_holdout_insight\panel.png,,
|
||||||
p2b_simplecnn_224,192,10,,0.8207465277777778,0.7447916666666666,c:\Users\diogo\Documents\MIA_UP\2_Semestre\DRL\DRL_2\DRL_PROJ\classifier\outputs\gradcam\p2b_simplecnn_224\panel.png,
|
p2b_simplecnn_224,192,10,,0.8207465277777778,0.7447916666666666,classifier\outputs\gradcam\p2b_simplecnn_224\panel.png,,
|
||||||
p2b_resnet18_224,192,10,,0.9984085648148149,0.9895833333333334,c:\Users\diogo\Documents\MIA_UP\2_Semestre\DRL\DRL_2\DRL_PROJ\classifier\outputs\gradcam\p2b_resnet18_224\panel.png,
|
p2b_resnet18_224,192,10,,0.9984085648148149,0.9895833333333334,classifier\outputs\gradcam\p2b_resnet18_224\panel.png,,
|
||||||
p2c_simplecnn_facecrop,192,10,,0.8058449074074073,0.7552083333333334,c:\Users\diogo\Documents\MIA_UP\2_Semestre\DRL\DRL_2\DRL_PROJ\classifier\outputs\gradcam\p2c_simplecnn_facecrop\panel.png,
|
p2c_simplecnn_facecrop,192,10,,0.8058449074074073,0.7552083333333334,classifier\outputs\gradcam\p2c_simplecnn_facecrop\panel.png,,
|
||||||
p2c_resnet18_facecrop,192,16,,0.9911747685185185,0.890625,c:\Users\diogo\Documents\MIA_UP\2_Semestre\DRL\DRL_2\DRL_PROJ\classifier\outputs\gradcam\p2c_resnet18_facecrop\panel.png,c:\Users\diogo\Documents\MIA_UP\2_Semestre\DRL\DRL_2\DRL_PROJ\classifier\outputs\gradcam\p2c_resnet18_facecrop\panel_expanded.png
|
p2c_resnet18_facecrop,192,16,,0.9911747685185185,0.890625,classifier\outputs\gradcam\p2c_resnet18_facecrop\panel.png,classifier\outputs\gradcam\p2c_resnet18_facecrop\panel_expanded.png,classifier\outputs\gradcam\p2c_resnet18_facecrop\panel_fine_layer3.png
|
||||||
p2d_simplecnn_aug,192,10,,0.7565104166666666,0.65625,c:\Users\diogo\Documents\MIA_UP\2_Semestre\DRL\DRL_2\DRL_PROJ\classifier\outputs\gradcam\p2d_simplecnn_aug\panel.png,
|
p2d_simplecnn_aug,192,10,,0.7565104166666666,0.65625,classifier\outputs\gradcam\p2d_simplecnn_aug\panel.png,,
|
||||||
p2d_resnet18_aug,192,10,,0.9733796296296297,0.9270833333333334,c:\Users\diogo\Documents\MIA_UP\2_Semestre\DRL\DRL_2\DRL_PROJ\classifier\outputs\gradcam\p2d_resnet18_aug\panel.png,
|
p2d_resnet18_aug,192,10,,0.9733796296296297,0.9270833333333334,classifier\outputs\gradcam\p2d_resnet18_aug\panel.png,,
|
||||||
p2e_simplecnn_facecrop_aug,192,10,,0.7358217592592592,0.6510416666666666,c:\Users\diogo\Documents\MIA_UP\2_Semestre\DRL\DRL_2\DRL_PROJ\classifier\outputs\gradcam\p2e_simplecnn_facecrop_aug\panel.png,
|
p2e_simplecnn_facecrop_aug,192,10,,0.7358217592592592,0.6510416666666666,classifier\outputs\gradcam\p2e_simplecnn_facecrop_aug\panel.png,,
|
||||||
p2e_resnet18_facecrop_aug,192,10,,0.9910300925925927,0.9322916666666666,c:\Users\diogo\Documents\MIA_UP\2_Semestre\DRL\DRL_2\DRL_PROJ\classifier\outputs\gradcam\p2e_resnet18_facecrop_aug\panel.png,
|
p2e_resnet18_facecrop_aug,192,10,,0.9910300925925927,0.9322916666666666,classifier\outputs\gradcam\p2e_resnet18_facecrop_aug\panel.png,,
|
||||||
|
|||||||
|
@@ -133,5 +133,6 @@
|
|||||||
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p1_resnet18_baseline\\10_borderline_wiki_3028481_1951-07-05_1977.png"
|
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p1_resnet18_baseline\\10_borderline_wiki_3028481_1951-07-05_1977.png"
|
||||||
],
|
],
|
||||||
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p1_resnet18_baseline\\panel.png",
|
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p1_resnet18_baseline\\panel.png",
|
||||||
"expanded_panel_path": null
|
"expanded_panel_path": null,
|
||||||
|
"fine_panel_path": null
|
||||||
}
|
}
|
||||||
@@ -133,5 +133,6 @@
|
|||||||
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p1_simplecnn_baseline\\10_borderline_inpainting_3290874_1984-06-18_2004.png"
|
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p1_simplecnn_baseline\\10_borderline_inpainting_3290874_1984-06-18_2004.png"
|
||||||
],
|
],
|
||||||
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p1_simplecnn_baseline\\panel.png",
|
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p1_simplecnn_baseline\\panel.png",
|
||||||
"expanded_panel_path": null
|
"expanded_panel_path": null,
|
||||||
|
"fine_panel_path": null
|
||||||
}
|
}
|
||||||
@@ -133,5 +133,6 @@
|
|||||||
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t1_original\\10_expanded_context_insight_34379104_1950-12-07_2013.png"
|
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t1_original\\10_expanded_context_insight_34379104_1950-12-07_2013.png"
|
||||||
],
|
],
|
||||||
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t1_original\\panel.png",
|
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t1_original\\panel.png",
|
||||||
"expanded_panel_path": null
|
"expanded_panel_path": null,
|
||||||
|
"fine_panel_path": null
|
||||||
}
|
}
|
||||||
@@ -133,5 +133,6 @@
|
|||||||
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t2_real_norm\\10_borderline_wiki_3720944_1920-12-28_1963.png"
|
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t2_real_norm\\10_borderline_wiki_3720944_1920-12-28_1963.png"
|
||||||
],
|
],
|
||||||
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t2_real_norm\\panel.png",
|
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t2_real_norm\\panel.png",
|
||||||
"expanded_panel_path": null
|
"expanded_panel_path": null,
|
||||||
|
"fine_panel_path": null
|
||||||
}
|
}
|
||||||
@@ -133,5 +133,6 @@
|
|||||||
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t3_holdout_inpainting\\10_borderline_inpainting_22613456_1986-02-10_2012.png"
|
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t3_holdout_inpainting\\10_borderline_inpainting_22613456_1986-02-10_2012.png"
|
||||||
],
|
],
|
||||||
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t3_holdout_inpainting\\panel.png",
|
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t3_holdout_inpainting\\panel.png",
|
||||||
"expanded_panel_path": null
|
"expanded_panel_path": null,
|
||||||
|
"fine_panel_path": null
|
||||||
}
|
}
|
||||||
@@ -133,5 +133,6 @@
|
|||||||
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t3_holdout_insight\\10_borderline_insight_22164720_1946-06-24_2007.png"
|
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t3_holdout_insight\\10_borderline_insight_22164720_1946-06-24_2007.png"
|
||||||
],
|
],
|
||||||
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t3_holdout_insight\\panel.png",
|
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t3_holdout_insight\\panel.png",
|
||||||
"expanded_panel_path": null
|
"expanded_panel_path": null,
|
||||||
|
"fine_panel_path": null
|
||||||
}
|
}
|
||||||
@@ -133,5 +133,6 @@
|
|||||||
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t3_holdout_text2img\\10_borderline_text2img_6707957_1985-09-04_2015.png"
|
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t3_holdout_text2img\\10_borderline_text2img_6707957_1985-09-04_2015.png"
|
||||||
],
|
],
|
||||||
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t3_holdout_text2img\\panel.png",
|
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2a_t3_holdout_text2img\\panel.png",
|
||||||
"expanded_panel_path": null
|
"expanded_panel_path": null,
|
||||||
|
"fine_panel_path": null
|
||||||
}
|
}
|
||||||
@@ -133,5 +133,6 @@
|
|||||||
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2b_resnet18_224\\10_expanded_context_insight_34379104_1950-12-07_2013.png"
|
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2b_resnet18_224\\10_expanded_context_insight_34379104_1950-12-07_2013.png"
|
||||||
],
|
],
|
||||||
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2b_resnet18_224\\panel.png",
|
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2b_resnet18_224\\panel.png",
|
||||||
"expanded_panel_path": null
|
"expanded_panel_path": null,
|
||||||
|
"fine_panel_path": null
|
||||||
}
|
}
|
||||||
@@ -133,5 +133,6 @@
|
|||||||
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2b_simplecnn_224\\10_borderline_insight_9143052_1931-01-21_1991.png"
|
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2b_simplecnn_224\\10_borderline_insight_9143052_1931-01-21_1991.png"
|
||||||
],
|
],
|
||||||
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2b_simplecnn_224\\panel.png",
|
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2b_simplecnn_224\\panel.png",
|
||||||
"expanded_panel_path": null
|
"expanded_panel_path": null,
|
||||||
|
"fine_panel_path": null
|
||||||
}
|
}
|
||||||
@@ -199,5 +199,6 @@
|
|||||||
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2c_resnet18_facecrop\\16_expanded_context_insight_1932725_1949-01-25_1979.png"
|
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2c_resnet18_facecrop\\16_expanded_context_insight_1932725_1949-01-25_1979.png"
|
||||||
],
|
],
|
||||||
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2c_resnet18_facecrop\\panel.png",
|
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2c_resnet18_facecrop\\panel.png",
|
||||||
"expanded_panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2c_resnet18_facecrop\\panel_expanded.png"
|
"expanded_panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2c_resnet18_facecrop\\panel_expanded.png",
|
||||||
|
"fine_panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2c_resnet18_facecrop\\panel_fine_layer3.png"
|
||||||
}
|
}
|
||||||
@@ -133,5 +133,6 @@
|
|||||||
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2c_simplecnn_facecrop\\10_borderline_inpainting_35796523_1952-12-01_1992.png"
|
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2c_simplecnn_facecrop\\10_borderline_inpainting_35796523_1952-12-01_1992.png"
|
||||||
],
|
],
|
||||||
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2c_simplecnn_facecrop\\panel.png",
|
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2c_simplecnn_facecrop\\panel.png",
|
||||||
"expanded_panel_path": null
|
"expanded_panel_path": null,
|
||||||
|
"fine_panel_path": null
|
||||||
}
|
}
|
||||||
@@ -133,5 +133,6 @@
|
|||||||
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2d_resnet18_aug\\10_expanded_context_wiki_34379104_1950-12-07_2013.png"
|
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2d_resnet18_aug\\10_expanded_context_wiki_34379104_1950-12-07_2013.png"
|
||||||
],
|
],
|
||||||
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2d_resnet18_aug\\panel.png",
|
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2d_resnet18_aug\\panel.png",
|
||||||
"expanded_panel_path": null
|
"expanded_panel_path": null,
|
||||||
|
"fine_panel_path": null
|
||||||
}
|
}
|
||||||
@@ -133,5 +133,6 @@
|
|||||||
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2d_simplecnn_aug\\10_borderline_inpainting_18249151_1970-12-16_2004.png"
|
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2d_simplecnn_aug\\10_borderline_inpainting_18249151_1970-12-16_2004.png"
|
||||||
],
|
],
|
||||||
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2d_simplecnn_aug\\panel.png",
|
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2d_simplecnn_aug\\panel.png",
|
||||||
"expanded_panel_path": null
|
"expanded_panel_path": null,
|
||||||
|
"fine_panel_path": null
|
||||||
}
|
}
|
||||||
@@ -133,5 +133,6 @@
|
|||||||
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2e_resnet18_facecrop_aug\\10_borderline_text2img_451239_1954-05-11_2007.png"
|
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2e_resnet18_facecrop_aug\\10_borderline_text2img_451239_1954-05-11_2007.png"
|
||||||
],
|
],
|
||||||
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2e_resnet18_facecrop_aug\\panel.png",
|
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2e_resnet18_facecrop_aug\\panel.png",
|
||||||
"expanded_panel_path": null
|
"expanded_panel_path": null,
|
||||||
|
"fine_panel_path": null
|
||||||
}
|
}
|
||||||
@@ -133,5 +133,6 @@
|
|||||||
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2e_simplecnn_facecrop_aug\\10_borderline_inpainting_1932725_1949-01-25_1979.png"
|
"c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2e_simplecnn_facecrop_aug\\10_borderline_inpainting_1932725_1949-01-25_1979.png"
|
||||||
],
|
],
|
||||||
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2e_simplecnn_facecrop_aug\\panel.png",
|
"panel_path": "c:\\Users\\diogo\\Documents\\MIA_UP\\2_Semestre\\DRL\\DRL_2\\DRL_PROJ\\classifier\\outputs\\gradcam\\p2e_simplecnn_facecrop_aug\\panel.png",
|
||||||
"expanded_panel_path": null
|
"expanded_panel_path": null,
|
||||||
|
"fine_panel_path": null
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user