Comparison

Celantur vs. EgoBlur

EgoBlur is an open-source AI model from Meta. Comparison conducted during October 2025.

Setup

The setup turned out to be surprisingly difficult. In the official repo they provide an environment.yaml file to create a new conda environment. This didn’t work at all on our servers. Constant problems with the specified versions of OpenCV, Numpy and torch. Only solution was to create an environment from scratch with Python's venv.

Usage

With EgoBlur only faces and license plates can be anonymized, no whole vehicles and persons. Furthermore you can only process 1 image at a time with the provided sample script and need custom logic to: read folders, tile large images, save metadata, etc.

Results

Compared to the Celantur Container, EgoBlur shows a similar Recall for license-plates but a lower one for Heads. The Precision of the Celantur Container across all tested datasets is significantly better. The End-to-End processing times, including the whole start up, model loading, etc., are similar, although the container seems to be a little bit slower. This is to be expected I guess since we have a lot more features and logic to handle.

The processing times per image, including inference and anonymization, are significantly faster with the Celantur Container. The VRAM usage for both solutions is quite similar.

Test system specification: RTX 4090 24 GB, Intel Core i7-13700, 64 GB RAM (2x32)

Dataset
VRAM Consumption Celantur Container
VRAM Consumption EgoBlur
Celantur consumes x% less VRAM
Total Processing Time [HH : MM : SS]
Total Processing Time [HH : MM : SS]
Celantur x% faster
Processing Time per Image [sec.]
Processing Time per Image [sec.]

Dashcam 100 images x 1920x1080

1.2

3.8

68%

00: 00 : 07

00: 00 : 20

65%

0.048 ± 0.132

0.164 ± 0.198

Dashcam 50 images x 3840x2160

2.7

11.2

76%

00 : 00 : 10

00 : 00 : 35

71%

0.113 ± 0.187

0.610 ± 0.250

Indoor Mapping 100 images x 3648x5472

1.4

7.9

82%

00 : 00 : 36

00 : 03 : 34

83%

0.280 ± 0.146

1.877 ± 0.279

Drone/UAV 50 images x 4032x3024

1.1

9.3

88%

00 : 00 : 21

00 : 01 : 31

77%

0.283 ± 0.182

1.544 ± 0.492

Mobile Mapping 50 panos x 8000x4000

1.4

7.7

82%

00 : 00 : 35

00 : 01 : 42

66%

0.534 ± 0.202

1.513 ± 0.382

Mobile Mapping 50 panos x 12288x6144

1.6

12.1

87%

00 : 00 : 45

00 : 03 : 19

77%

0.733 ± 0.210

3.049 ± 0.347

Mobile Mapping 50 panos x 13504x6752

2.0

12.8

84%

00 : 00 : 54

00 : 03 : 41

76%

0.924 ± 0.242

3.326 ± 0.358

Conclusion

EgoBlur, by default, is very limited in its capabilities and requires software engineering proficiency to get the desired results. Some drawbacks include:

  • Limited functionality The default sample script only processes a single image at a time. The only output of the sample script is the anonymized version of the input image. Basic functionality like image tiling for larger images, scanning folders for multiple images, saving metadata, customizing the appearance of the anonymization is all missing and must be self implemented.

  • Cumbersome Setup The setup of the environment to run EgoBlur also expects the user to know what a conda environment is and how to set it up. The provided environment.yaml file is not fail-proof however and to fix any issues one must again have the knowledge to debug the environment and code.

  • Lacklaster Results While the detection capabilities for license-plates are comparable to the Celantur Container, Heads are repeatedly not detected. Furthermore, EgoBlur produces significantly more false-positive detections than Celantur Container, reducing the overall quality of the end result.

Last updated