Keqi Chen, Vinkle Srivastav, Armine Vardazaryan, Cindy Rolland, Didier Mutter, Nicolas Padoy
Privacy preservation is a prerequisite for using video data in Operating Room (OR) research. Effective anonymization relies on the exhaustive localization of every individual; even a single missed detection necessitates extensive manual correction. However, existing approaches face two critical scalability bottlenecks: (1) they usually require manual annotations at each new clinical site for high accuracy; (2) multi-view approaches typically require camera calibration whenever cameras are repositioned. To address these problems, we propose a self-supervised multi-view video anonymization framework based on whole-body person detection and pose estimation, without manual annotations or camera calibration. Our core strategy is to conduct self-supervised domain adaptation of a single-view detector by "retrieving" false negatives using temporal and multi-view context. We first apply an off-the-shelf whole-body detector with a low-score threshold to gather candidate detections. Then, we retrieve low-score false negatives that are consistent with high-score detections via tracking and self-supervised, uncalibrated multi-view association. The recovered detections serve as pseudo-labels to iteratively fine-tune the detector. Finally, we apply whole-body pose estimation on each detected person, and fine-tune the pose model using its own high-score predictions. Experiments on the simulated 4D-OR dataset and our real-surgery dataset achieve 99% and 97% recall, respectively. We further train a real-time whole-body detector using the generated pseudo-labels, achieving comparable performance and highlighting our method’s practical applicability.
- Training, inference, and testing code for video anonymization in the 4D-OR dataset.
- Trained models on the 4D-OR dataset.
- Clone this repo, and we'll call the directory that you cloned as ${ROOT_DIR}.
- Install dependencies.
> conda create -n anonymization python=3.10
> conda activate anonymization
(anonymization)> conda install pytorch==2.5.1 torchvision==0.20.1 pytorch-cuda=11.8 -c pytorch -c nvidia
(anonymization)> pip install -r requirements.txt- Install Torchreid following deep-person-reid.
- Install Iter-Deformable-DETR following p-d-detr.
- Install MMPOSE following mmpose.
- Install DEIM following deim.
- Download the 4D-OR dataset and place it in
./data/as:
${ROOT_DIR}
|-- data
|-- 4D-OR
|-- export_holistic_take1_processed
|-- colorimage
- Run command:
python ./data/generate_img_dicts.pyDownload the trained DEIM model as follows for direct inference.
> wget https://s3.unistra.fr/camma_public/github/OR_anonymization/deim_hgnetv2_x_4dor_sam3.pthbash scripts/train_4dor.sh ../data/4D-OR/export_holistic_take1_processed ../data/4D-OR/detections/export_holistic_take1_processed_sam3.lmdb export_holistic_take1_processed 0
bash scripts/inference_4dor.sh ../data/4D-OR/export_holistic_take1_processed ../data/4D-OR export_holistic_take1_processed_sam3_deim 0
- Run inference on the test set.
bash scripts/inference_4dor.sh ../data/4D-OR/export_holistic_take2_processed ../data/4D-OR export_holistic_take2_processed_sam3_deim 0
bash scripts/inference_4dor.sh ../data/4D-OR/export_holistic_take6_processed ../data/4D-OR export_holistic_take6_processed_sam3_deim 0
- Run evaluation script.
bash scripts/eval_4dor.sh sam3_deim_evaluation --pred_path ../data/4D-OR/face/export_holistic_take2_processed_sam3_deim_face.lmdb ../data/4D-OR/face/export_holistic_take6_processed_sam3_deim_face.lmdb --anno_path annotations/export_holistic_take2_processed_full_body_hard_case.json annotations/export_holistic_take6_processed_full_body_hard_case.json --img_dicts ../data/4D-OR/export_holistic_take2_processed/img_dicts.pkl ../data/4D-OR/export_holistic_take6_processed/img_dicts.pkl
If you use our code or models in your research, please cite with:
@article{chen2026self,
title={Self-Supervised Uncalibrated Multi-View Video Anonymization in the Operating Room},
author={Chen, Keqi and Srivastav, Vinkle and Vardazaryan, Armine and Rolland, Cindy and Mutter, Didier and Padoy, Nicolas},
journal={arXiv preprint arXiv:2602.02850},
year={2026}
}The project uses deep-person-reid, p-d-detr, mmpose, and deim. We thank the authors for releasing their codes.
This code and models are available for non-commercial scientific research purposes as defined in the CC BY-NC-SA 4.0. By downloading and using this code you agree to the terms in the LICENSE. Third-party codes are subject to their respective licenses.