diff options
| author | skal <pascal.massimino@gmail.com> | 2026-03-22 07:33:28 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-03-22 07:33:28 +0100 |
| commit | fcd1ceb2168de76659091208f911d2c4d0c59ad7 (patch) | |
| tree | d4e44618122c1b7927cca25e5b62c0967f4d9e80 | |
| parent | bf33fee131b1eee03bc5a765ba360299bbcead06 (diff) | |
feat(cnn_v3): gen_sample tool + 7 simple training samples
- pack_photo_sample.py: --target now required (no albedo fallback)
- gen_sample: bash wrapper with positional args (input target output_dir)
- input/photo7.jpg: copy of photo2 (second style target)
- target_1: photo2_1_out→photo2_out, photo2_2_out→photo7_out
- dataset/simple/sample_001..007: 7 packed photo/target pairs
handoff(Gemini): training data ready; next step is train_cnn_v3.py run
54 files changed, 31 insertions, 7 deletions
diff --git a/cnn_v3/training/dataset/simple/sample_001/albedo.png b/cnn_v3/training/dataset/simple/sample_001/albedo.png Binary files differnew file mode 100644 index 0000000..68220b3 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_001/albedo.png diff --git a/cnn_v3/training/dataset/simple/sample_001/depth.png b/cnn_v3/training/dataset/simple/sample_001/depth.png Binary files differnew file mode 100644 index 0000000..5708605 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_001/depth.png diff --git a/cnn_v3/training/dataset/simple/sample_001/matid.png b/cnn_v3/training/dataset/simple/sample_001/matid.png Binary files differnew file mode 100644 index 0000000..2561108 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_001/matid.png diff --git a/cnn_v3/training/dataset/simple/sample_001/normal.png b/cnn_v3/training/dataset/simple/sample_001/normal.png Binary files differnew file mode 100644 index 0000000..489f629 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_001/normal.png diff --git a/cnn_v3/training/dataset/simple/sample_001/shadow.png b/cnn_v3/training/dataset/simple/sample_001/shadow.png Binary files differnew file mode 100644 index 0000000..f356fb2 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_001/shadow.png diff --git a/cnn_v3/training/dataset/simple/sample_001/target.png b/cnn_v3/training/dataset/simple/sample_001/target.png Binary files differnew file mode 100644 index 0000000..268e167 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_001/target.png diff --git a/cnn_v3/training/dataset/simple/sample_001/transp.png b/cnn_v3/training/dataset/simple/sample_001/transp.png Binary files differnew file mode 100644 index 0000000..2561108 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_001/transp.png diff --git a/cnn_v3/training/dataset/simple/sample_002/albedo.png b/cnn_v3/training/dataset/simple/sample_002/albedo.png Binary files differnew file mode 100644 index 0000000..80f4f1c --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_002/albedo.png diff --git a/cnn_v3/training/dataset/simple/sample_002/depth.png b/cnn_v3/training/dataset/simple/sample_002/depth.png Binary files differnew file mode 100644 index 0000000..5708605 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_002/depth.png diff --git a/cnn_v3/training/dataset/simple/sample_002/matid.png b/cnn_v3/training/dataset/simple/sample_002/matid.png Binary files differnew file mode 100644 index 0000000..2561108 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_002/matid.png diff --git a/cnn_v3/training/dataset/simple/sample_002/normal.png b/cnn_v3/training/dataset/simple/sample_002/normal.png Binary files differnew file mode 100644 index 0000000..489f629 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_002/normal.png diff --git a/cnn_v3/training/dataset/simple/sample_002/shadow.png b/cnn_v3/training/dataset/simple/sample_002/shadow.png Binary files differnew file mode 100644 index 0000000..f356fb2 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_002/shadow.png diff --git a/cnn_v3/training/dataset/simple/sample_002/target.png b/cnn_v3/training/dataset/simple/sample_002/target.png Binary files differnew file mode 100644 index 0000000..d1d7192 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_002/target.png diff --git a/cnn_v3/training/dataset/simple/sample_002/transp.png b/cnn_v3/training/dataset/simple/sample_002/transp.png Binary files differnew file mode 100644 index 0000000..2561108 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_002/transp.png diff --git a/cnn_v3/training/dataset/simple/sample_003/albedo.png b/cnn_v3/training/dataset/simple/sample_003/albedo.png Binary files differnew file mode 100644 index 0000000..fe714bc --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_003/albedo.png diff --git a/cnn_v3/training/dataset/simple/sample_003/depth.png b/cnn_v3/training/dataset/simple/sample_003/depth.png Binary files differnew file mode 100644 index 0000000..eac97a6 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_003/depth.png diff --git a/cnn_v3/training/dataset/simple/sample_003/matid.png b/cnn_v3/training/dataset/simple/sample_003/matid.png Binary files differnew file mode 100644 index 0000000..60a5b09 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_003/matid.png diff --git a/cnn_v3/training/dataset/simple/sample_003/normal.png b/cnn_v3/training/dataset/simple/sample_003/normal.png Binary files differnew file mode 100644 index 0000000..36dd1fd --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_003/normal.png diff --git a/cnn_v3/training/dataset/simple/sample_003/shadow.png b/cnn_v3/training/dataset/simple/sample_003/shadow.png Binary files differnew file mode 100644 index 0000000..c943f56 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_003/shadow.png diff --git a/cnn_v3/training/dataset/simple/sample_003/target.png b/cnn_v3/training/dataset/simple/sample_003/target.png Binary files differnew file mode 100644 index 0000000..56205ca --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_003/target.png diff --git a/cnn_v3/training/dataset/simple/sample_003/transp.png b/cnn_v3/training/dataset/simple/sample_003/transp.png Binary files differnew file mode 100644 index 0000000..60a5b09 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_003/transp.png diff --git a/cnn_v3/training/dataset/simple/sample_004/albedo.png b/cnn_v3/training/dataset/simple/sample_004/albedo.png Binary files differnew file mode 100644 index 0000000..a1b817d --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_004/albedo.png diff --git a/cnn_v3/training/dataset/simple/sample_004/depth.png b/cnn_v3/training/dataset/simple/sample_004/depth.png Binary files differnew file mode 100644 index 0000000..083c4a3 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_004/depth.png diff --git a/cnn_v3/training/dataset/simple/sample_004/matid.png b/cnn_v3/training/dataset/simple/sample_004/matid.png Binary files differnew file mode 100644 index 0000000..f14721f --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_004/matid.png diff --git a/cnn_v3/training/dataset/simple/sample_004/normal.png b/cnn_v3/training/dataset/simple/sample_004/normal.png Binary files differnew file mode 100644 index 0000000..0694ac1 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_004/normal.png diff --git a/cnn_v3/training/dataset/simple/sample_004/shadow.png b/cnn_v3/training/dataset/simple/sample_004/shadow.png Binary files differnew file mode 100644 index 0000000..9b6a5e0 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_004/shadow.png diff --git a/cnn_v3/training/dataset/simple/sample_004/target.png b/cnn_v3/training/dataset/simple/sample_004/target.png Binary files differnew file mode 100644 index 0000000..019d7a8 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_004/target.png diff --git a/cnn_v3/training/dataset/simple/sample_004/transp.png b/cnn_v3/training/dataset/simple/sample_004/transp.png Binary files differnew file mode 100644 index 0000000..f14721f --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_004/transp.png diff --git a/cnn_v3/training/dataset/simple/sample_005/albedo.png b/cnn_v3/training/dataset/simple/sample_005/albedo.png Binary files differnew file mode 100644 index 0000000..5dfada7 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_005/albedo.png diff --git a/cnn_v3/training/dataset/simple/sample_005/depth.png b/cnn_v3/training/dataset/simple/sample_005/depth.png Binary files differnew file mode 100644 index 0000000..db65c11 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_005/depth.png diff --git a/cnn_v3/training/dataset/simple/sample_005/matid.png b/cnn_v3/training/dataset/simple/sample_005/matid.png Binary files differnew file mode 100644 index 0000000..f098c4d --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_005/matid.png diff --git a/cnn_v3/training/dataset/simple/sample_005/normal.png b/cnn_v3/training/dataset/simple/sample_005/normal.png Binary files differnew file mode 100644 index 0000000..40305ec --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_005/normal.png diff --git a/cnn_v3/training/dataset/simple/sample_005/shadow.png b/cnn_v3/training/dataset/simple/sample_005/shadow.png Binary files differnew file mode 100644 index 0000000..8e270d3 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_005/shadow.png diff --git a/cnn_v3/training/dataset/simple/sample_005/target.png b/cnn_v3/training/dataset/simple/sample_005/target.png Binary files differnew file mode 100644 index 0000000..41ead45 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_005/target.png diff --git a/cnn_v3/training/dataset/simple/sample_005/transp.png b/cnn_v3/training/dataset/simple/sample_005/transp.png Binary files differnew file mode 100644 index 0000000..f098c4d --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_005/transp.png diff --git a/cnn_v3/training/dataset/simple/sample_006/albedo.png b/cnn_v3/training/dataset/simple/sample_006/albedo.png Binary files differnew file mode 100644 index 0000000..6fd43d4 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_006/albedo.png diff --git a/cnn_v3/training/dataset/simple/sample_006/depth.png b/cnn_v3/training/dataset/simple/sample_006/depth.png Binary files differnew file mode 100644 index 0000000..4ccb0bc --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_006/depth.png diff --git a/cnn_v3/training/dataset/simple/sample_006/matid.png b/cnn_v3/training/dataset/simple/sample_006/matid.png Binary files differnew file mode 100644 index 0000000..32e1b1c --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_006/matid.png diff --git a/cnn_v3/training/dataset/simple/sample_006/normal.png b/cnn_v3/training/dataset/simple/sample_006/normal.png Binary files differnew file mode 100644 index 0000000..e2623bd --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_006/normal.png diff --git a/cnn_v3/training/dataset/simple/sample_006/shadow.png b/cnn_v3/training/dataset/simple/sample_006/shadow.png Binary files differnew file mode 100644 index 0000000..880ccf9 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_006/shadow.png diff --git a/cnn_v3/training/dataset/simple/sample_006/target.png b/cnn_v3/training/dataset/simple/sample_006/target.png Binary files differnew file mode 100644 index 0000000..383e2d3 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_006/target.png diff --git a/cnn_v3/training/dataset/simple/sample_006/transp.png b/cnn_v3/training/dataset/simple/sample_006/transp.png Binary files differnew file mode 100644 index 0000000..32e1b1c --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_006/transp.png diff --git a/cnn_v3/training/dataset/simple/sample_007/albedo.png b/cnn_v3/training/dataset/simple/sample_007/albedo.png Binary files differnew file mode 100644 index 0000000..80f4f1c --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_007/albedo.png diff --git a/cnn_v3/training/dataset/simple/sample_007/depth.png b/cnn_v3/training/dataset/simple/sample_007/depth.png Binary files differnew file mode 100644 index 0000000..5708605 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_007/depth.png diff --git a/cnn_v3/training/dataset/simple/sample_007/matid.png b/cnn_v3/training/dataset/simple/sample_007/matid.png Binary files differnew file mode 100644 index 0000000..2561108 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_007/matid.png diff --git a/cnn_v3/training/dataset/simple/sample_007/normal.png b/cnn_v3/training/dataset/simple/sample_007/normal.png Binary files differnew file mode 100644 index 0000000..489f629 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_007/normal.png diff --git a/cnn_v3/training/dataset/simple/sample_007/shadow.png b/cnn_v3/training/dataset/simple/sample_007/shadow.png Binary files differnew file mode 100644 index 0000000..f356fb2 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_007/shadow.png diff --git a/cnn_v3/training/dataset/simple/sample_007/target.png b/cnn_v3/training/dataset/simple/sample_007/target.png Binary files differnew file mode 100644 index 0000000..ea276e4 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_007/target.png diff --git a/cnn_v3/training/dataset/simple/sample_007/transp.png b/cnn_v3/training/dataset/simple/sample_007/transp.png Binary files differnew file mode 100644 index 0000000..2561108 --- /dev/null +++ b/cnn_v3/training/dataset/simple/sample_007/transp.png diff --git a/cnn_v3/training/gen_sample b/cnn_v3/training/gen_sample new file mode 100755 index 0000000..21519f1 --- /dev/null +++ b/cnn_v3/training/gen_sample @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +# gen_sample — pack an input/target photo pair into a CNN v3 sample directory. +# +# Usage: +# gen_sample <input> <target> <output_dir> +# +# Example: +# gen_sample input/photo1.jpg target_1/photo1_out.png dataset/simple/sample_001 + +set -euo pipefail + +if [ $# -ne 3 ]; then + echo "Usage: gen_sample <input> <target> <output_dir>" >&2 + exit 1 +fi + +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +python3 "$SCRIPT_DIR/pack_photo_sample.py" \ + --photo "$1" \ + --target "$2" \ + --output "$3" diff --git a/cnn_v3/training/input/photo7.jpg b/cnn_v3/training/input/photo7.jpg Binary files differnew file mode 100644 index 0000000..a662fa8 --- /dev/null +++ b/cnn_v3/training/input/photo7.jpg diff --git a/cnn_v3/training/pack_photo_sample.py b/cnn_v3/training/pack_photo_sample.py index b2943fb..ca80301 100644 --- a/cnn_v3/training/pack_photo_sample.py +++ b/cnn_v3/training/pack_photo_sample.py @@ -18,7 +18,8 @@ mip1 and mip2 are computed on-the-fly by the dataloader from albedo. prev = zero during training (no temporal history). Usage: - python3 pack_photo_sample.py --photo photos/img_001.png \\ + python3 pack_photo_sample.py --photo input/photo1.jpg \\ + --target target_1/photo1_out.png \\ --output dataset/simple/sample_001/ Dependencies: @@ -56,7 +57,7 @@ def pyrdown(img: np.ndarray) -> np.ndarray: # ---- Main packing ---- -def pack_photo_sample(photo_path: str, output_dir: str) -> None: +def pack_photo_sample(photo_path: str, target_path: str, output_dir: str) -> None: os.makedirs(output_dir, exist_ok=True) print(f"[pack_photo_sample] Loading {photo_path} …") @@ -110,9 +111,10 @@ def pack_photo_sample(photo_path: str, output_dir: str) -> None: os.path.join(output_dir, "transp.png") ) - # ---- target — albedo (= photo; no GT styled target) ---- - # Store as RGBA (keep alpha for potential masking by the dataloader). - target_u8 = (np.clip(img_np, 0, 1) * 255.0).astype(np.uint8) + # ---- target — styled ground truth ---- + print(f" Loading target {target_path} …") + target_img = Image.open(target_path).convert("RGBA") + target_u8 = np.asarray(target_img, dtype=np.uint8) Image.fromarray(target_u8, mode="RGBA").save( os.path.join(output_dir, "target.png") ) @@ -129,7 +131,6 @@ def pack_photo_sample(photo_path: str, output_dir: str) -> None: print(" Files: albedo.png normal.png depth.png matid.png " "shadow.png transp.png target.png") print(" Note: normal/depth/matid are zeroed (no geometry data).") - print(" Note: target = albedo (no ground-truth styled target).") def main(): @@ -138,10 +139,12 @@ def main(): ) parser.add_argument("--photo", required=True, help="Input photo file (RGB or RGBA PNG/JPG)") + parser.add_argument("--target", required=True, + help="Styled ground-truth image (PNG/JPG)") parser.add_argument("--output", required=True, help="Output directory for sample files") args = parser.parse_args() - pack_photo_sample(args.photo, args.output) + pack_photo_sample(args.photo, args.target, args.output) if __name__ == "__main__": diff --git a/cnn_v3/training/target_1/photo2_1_out.png b/cnn_v3/training/target_1/photo2_out.png Binary files differindex 5398232..5398232 100644 --- a/cnn_v3/training/target_1/photo2_1_out.png +++ b/cnn_v3/training/target_1/photo2_out.png diff --git a/cnn_v3/training/target_1/photo2_2_out.png b/cnn_v3/training/target_1/photo7_out.png Binary files differindex b0a76bd..b0a76bd 100644 --- a/cnn_v3/training/target_1/photo2_2_out.png +++ b/cnn_v3/training/target_1/photo7_out.png |
