Privacy Keeper

Version 3.0 — User Manual

Privacy Keeper processing panoramic images

Table of Contents

  1. Introduction
  2. System Requirements
  3. Installation
  4. Getting Started
  5. Settings
  6. Processing Images
  7. Reviewing Results
  8. Edit Tab
  9. Mask Editor
  10. Watermark
  11. EXIF Editor
  12. GPU Acceleration
  13. Troubleshooting
  14. Support

Section 1 — Introduction

Privacy Keeper automatically detects and blurs faces and license plates in equirectangular (360°) panoramic images. Processing runs on your NVIDIA GPU for maximum speed, with automatic fallback to CPU.

1.1 What Happens to Your Images

Blurred images, log files and detections are saved to the output folder. The log file (named privacy_keeper_YYYY-MM-DD_HH-MM-SS.log) records all processing details. Detections are saved to detections.json. Your original input images are never modified.

1.2 Supported Resolutions and Performance Data

Privacy Keeper is optimized for common panoramic cameras:

Camera / Format Resolution GPU Time CPU Time FPS (GPU)
Mosaic 51 12,288 × 6,144 px ~2 sec ~26 sec ~0.5
Insta360 X4 8,192 × 4,096 px ~1.2 sec ~15 sec ~0.8
GoPro MAX 5,760 × 2,880 px ~0.7 sec ~9 sec ~1.4

Measured on NVIDIA RTX 3090 (GPU) and AMD Ryzen 9 7950X3D (CPU).

Section 2 — System Requirements

Section 3 — Installation

3.1 Installing CUDA and cuDNN

GPU acceleration is optional — the application falls back to CPU if CUDA is not installed.

Step 1 — CUDA Toolkit 12.9.1
Download from: https://developer.nvidia.com/cuda-12-9-1-download-archive
Select: Windows → x86_64 → exe (local)

Step 2 — cuDNN 9.20.0
Download from: https://developer.nvidia.com/cudnn-9-20-0-download-archive
Run the installer — no manual copying needed.

3.2 Installing Privacy Keeper

Run PrivacyKeeper_Setup_3.0.0.exe and follow the on-screen instructions.

Section 4 — Getting Started

4.1 First Launch

Double-click the Privacy Keeper shortcut. The main window opens with Process and Review tabs. Additional tools open via the Tools menu.

Test data: Download Fort Myers Beach test dataset to verify your installation.

The main window on first launch. Select folders and press Process — no other steps needed.

4.2 Selecting Folders

Input Folder: Click Browse… and select the folder containing your panoramic JPEG images (.jpg / .jpeg).

Output Folder: Auto-set to the input folder name plus _out. Override at any time. Created automatically if it does not exist.

The Open button beside each field opens the folder in Windows File Explorer.

Section 5 — Settings

Open Tools → Settings to adjust detection and output parameters.

The Settings tab (Tools → Settings). Separate confidence thresholds for faces and plates.

5.1 Face Detection Settings

Setting Default Description
Face confidence 0.35 Minimum face detection score (0.1–0.99).
Primary FOV 45° Field of view for rectilinear projection patches.
Multi-scale Enabled Second pass at 22.5° FOV to catch very close faces.
Min face size 12 px Faces smaller than this in the patch are ignored.
Max face size 300 px Faces larger than this are ignored.

5.2 Number Plate Detection Settings

Setting Default Description
Plate confidence 0.35 Minimum plate detection score (0.1–0.99).
Max plate size 500 px Plates larger than this are discarded as false positives.

5.3 Output Settings

Setting Default Description
Blur radius 51 px Gaussian blur kernel size. Larger = stronger.
Blur expand 1.3x Expands bounding box before blurring.
JPEG quality Auto-match Matches each source image's original quality. Override with a fixed value (50–100) if needed.
Debug mode Off Draws coloured boxes instead of blurring (red = face, green = plate).
GPU Acceleration Auto Uses GPU if CUDA is available, otherwise CPU.

5.4 Language

Click Language in the menu bar to switch between English, Deutsch, and Français.

Section 6 — Processing Images

6.1 Starting a Job

  1. Select your input and output folders.
  2. Adjust settings if needed.
  3. Click Process.

If the output folder already contains matching images, a dialog appears to skip existing or reprocess all.

The Process tab after a completed job, showing the full log.

6.2 Progress Bar and ETA

An estimated finish time appears once the first image completes, using a rolling 10-image average.

6.3 Cancelling

Click Cancel at any time. The current image finishes before the job stops.

The summary card shown when the log is hidden.

6.4 Completion

When processing finishes the Review tab opens automatically. A summary card shows totals and elapsed time.

6.5 Log File

A timestamped log file is saved to the output folder after each job, e.g. privacy_keeper_2026-04-08_22-15-03.log.

Section 7 — Reviewing Results

The Review tab shows processed images at full resolution. Scroll to zoom, drag to pan.

Control Action
← Prev / Left arrow Go to previous image
Next → / Right arrow Go to next image
Fit Reset zoom to fit the window
Show Detections Overlay bounding boxes from detections.json (red = face, green = plate).
Scroll wheel Zoom in / out
Click and drag Pan the image

The Review tab showing a blurred panorama at full resolution.

Detection overlay: red boxes = faces, green boxes = license plates.

Section 8 — Edit Tab

The Edit tab (Tools → Edit) lets you manually correct detection results after a batch. Add missing detections, remove false positives, and reprocess individual images.

8.1 Opening the Edit Tab

Go to Tools → Edit. Images and detections load from detections.json automatically if an output folder is set.

8.2 Editing Detections

Navigate with ‹ Prev / Next › or arrow keys.

Section 9 — Mask Editor

The Mask tab (Tools → Mask) lets you draw custom polygon masks. Masked regions are blurred in addition to detected faces and plates.

The Mask Editor tab (Tools → Mask). Draw polygon masks and save as named presets.

9.1 Drawing and Saving Masks

  1. Select a mask colour (default: black).
  2. Click to place vertices and draw a polygon.
  3. Enter a name in the Mask Name field.
  4. Click Save Mask.

9.2 Applying Masks During Processing

Select a saved mask from the Apply Mask dropdown in the Process tab toolbar. Presets saved in ~\.panohopper\masks\.

Section 10 — Watermark

The tiled watermark tool composites repeating text onto output images after blurring. Open from Tools → Watermark. Presets saved in ~\.panohopper\watermarks\.

The Watermark tab (Tools → Watermark). Configure text, font, grid density, rotation, and opacity.

10.1 Tiled Watermark (Tools → Watermark)

  1. Enter the watermark text.
  2. Choose font, size, and opacity.
  3. Adjust tile spacing and rotation angle.
  4. Enter a name and click Save.

10.2 Applying During Processing

Select the preset from the Apply Watermark dropdown in the Process tab toolbar before clicking Process.

Section 11 — EXIF Editor

The EXIF tab (Tools → EXIF) lets you create presets that control which metadata tags are copied, stripped, or edited on output images. By default, Privacy Keeper copies all EXIF metadata — GPS coordinates, camera model, capture time, and all other tags are preserved unchanged.

The EXIF Editor tab (Tools → EXIF). Browse metadata tags and build strip/edit presets.

11.1 Creating a Preset

  1. Images from the input folder load automatically when the tab opens.
  2. Browse the EXIF tags read from the current image.
  3. Select tags to strip (remove entirely) or enter new values to edit them.
  4. Enter a name and click Save to store the preset.

11.2 Applying a Preset During Processing

The Process tab toolbar includes an EXIF dropdown. Default is Copy all. Select a saved preset before clicking Process to apply your tag edits or strips to every output image. Presets are saved in ~\.panohopper\exif\.

Section 12 — GPU Acceleration

Privacy Keeper uses your NVIDIA GPU for fast detection. The GPU Acceleration setting controls this:

If GPU is detected but CUDA/cuDNN is missing, a warning appears in the Process log with installation instructions.

12.1 Processing Speed

Measured on NVIDIA RTX 3090 (GPU) and AMD Ryzen 9 7950X3D (CPU), 12 288 × 6 144 pixel Mosaic 51 panoramas:

Mode Hardware Time per image Panoramas per day
GPU NVIDIA RTX 3090 (24 GB VRAM) ~2 seconds ~43,000
CPU AMD Ryzen 9 7950X3D (16 cores) ~26 seconds ~3,320

GPU processing is approximately 13× faster than CPU on this hardware.

Section 13 — Troubleshooting

No images found

Ensure the input folder contains .jpg / .jpeg files directly (not in subfolders).

GPU not used / CUDA warning

Open Help → CUDA Installation Guide and install CUDA 12.9.1 and cuDNN 9.20.0.

Faces or plates not detected

Lower the Confidence threshold (e.g. to 0.20). Enable Multi-scale. Check images are equirectangular.

Too many false detections

Raise the Confidence threshold (e.g. to 0.55). Use Debug mode to inspect.

Output file size differs

Re-enable JPEG auto-match in Settings. All EXIF metadata is always preserved.

Section 14 — Support

Website: https://www.panohopper.com
Email: info@panohopper.com
Manual release: 3.0.0 — 2026 May 28