> For the complete documentation index, see [llms.txt](https://horus-make-sense.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://horus-make-sense.gitbook.io/documentation/legacy/horison/batch-processing-blurring.md).

# Batch Processing - Blurring

Batch Processing - Blurring

Overview

1. Celantur deployment

Celantur license request/activation

1. Horus deployment
2. Creating a Batch Job

Horus System V2

The Batch Processing allows the user to process sets of recordings.

The primary process methods of the Batch Processing tool are described below.

### Celantur Blurring <a href="#id-1fob9te" id="id-1fob9te"></a>

Recordings can be automatically blurred using Celantur.

The Batch Processing tool allows the user to define if it is to anonymize entire vehicles and persons, or to just blur out any faces and license plates shown on the recordings.

This process can be done to JPEG images or any Ladybug PGR files.

### **1.** System Requirements <a href="#id-2et92p0" id="id-2et92p0"></a>

* Ubuntu 20.04 system\
  At least 15+GB on the */var* partition
* NVIDIA GPU: minimum 4GiB RAM, CUDA compute capability 3.7
* NVIDIA drivers installed (Ubuntu can do this during installation)
* Horus System V2 and blurring service (Celantur) must be deployed on the same system.

Licenses will be required for

* Celantur
* Horus System V2

An ID is required to request a license for Celantur, see step 2.2 on how to find it.\
Send the license request for Celantur and Horus System V2 to <support@horus.nu><br>

### **2.** Deployment <a href="#tyjcwt" id="tyjcwt"></a>

#### **2.1** System Preparation <a href="#id-3dy6vkm" id="id-3dy6vkm"></a>

1. Install Docker. Following their instructions for [Ubuntu](https://docs.docker.com/engine/install/ubuntu/#installation-methods).
2. Install the Nvidia container toolkit with these [instructions](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html).
3. Reboot the system before proceeding.

#### **2.2** Celantur License <a href="#id-1t3h5sf" id="id-1t3h5sf"></a>

Contact Horus to acquire a download password and runtime license for Celantur. (applicable only for blurring)\
For this request a GPU UUID is required, this can be found by entering the following into the Command Line:

| nvidia-smi -L |
| ------------- |

\
The License request with the GPU UUID can be sent to: <support@horus.nu>.

#### **2.3** Deploying Celantur Docker Container <a href="#id-4d34og8" id="id-4d34og8"></a>

1. Acquire the Docker Container\
   In a Command Line enter the following:<br>

| mkdir -p ${HOME}/.config/horus/celantur && cd ${HOME}/.config/horus/celantur |
| ---------------------------------------------------------------------------- |

| wget <https://celantur-web.s3.eu-central-1.amazonaws.com/scripts/celantur.sh> |
| ----------------------------------------------------------------------------- |

| export PASSWD=\<passwd from celantur> |
| ------------------------------------- |

**\<passwd from celantur>** Should be the password from Celantur.<br>

| mkdir licensing |
| --------------- |

| cp \<license file> licensing/ |
| ----------------------------- |

**\<License File>** Enter the path to the license file for Celantur here.<br>

| <p>export VERSION=23.09.1<br>bash celantur.sh --update</p> |
| ---------------------------------------------------------- |

Celantur version 23.09.1 is required<br>

1. Create a Docker Compose file.\
   Go to *${HOME}/.config/horus/celantur* and create a *docker-compose.yml* file. Give this file the following content:

| <p>services:</p><p>celantur:</p><p>image: celantur-on-premise:23.09.1</p><p>ports:</p><p>- "7000:7000"</p><p>volumes:</p><p>- ${HOME}/.config/horus/celantur/licensing:/home/celantur/licensing</p><p>restart: always</p><p>deploy:</p><p>resources:</p><p>reservations:</p><p>devices:</p><p>- capabilities: \[gpu]</p><p>command: \["-l", "/home/celantur/licensing/license",</p><p>"--api", "0.0.0.0:7000",</p><p>"--api-endpoint", "http\://localhost:7000/",</p><p>"-a", "face",</p><p>"-a", "license-plate",</p><p>"-a", "person",</p><p>"-a", "vehicle",</p><p>"--format", "whole"]</p> |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1. Start the new Celantur container.

| cd ${HOME}/.config/horus/celantur |
| --------------------------------- |

| docker compose up -d celantur |
| ----------------------------- |

Give the Container some time to start (\~20s), you can verify if the container is running with the following command:

| curl -X GET <http://127.0.0.1:7000/v1/status> |
| --------------------------------------------- |

If the container is running a ‘System Running’ message will be printed to the Command Line.

#### **2.4** Deploying Horus System V2 <a href="#id-2s8eyo1" id="id-2s8eyo1"></a>

1. Copy the “Horus\_Linking\_Lab-\*-x86\_64.AppImage” to the system.\
   If you do not have this file, contact <support@horus.nu>
2. Mark the .AppImage as executable

   This can be done via the *File Manager*.\
   Open the *File Properties* of the file and enable the *executable* setting.

   Alternatively, this can also be done via the Command Line.\
   Open a command line and locate the .AppImage.\
   To give executable permission to the file enter the following:

| chmod +x \<Name of the AppImage> |
| -------------------------------- |

\
Verify that the file now has executable permissions by entering:

| ls -l \<Name of the AppImage> |
| ----------------------------- |

\
The file should now have the same permissions as shown on the image below.

![](https://3462221526-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFCe67imy4ipkDut6uMDi%2Fuploads%2F3PO8VncmVKfnY8befKMO%2F0.png?alt=media)<br>

1. Start the “Horus\_Linking\_Lab-\*-x86\_64.AppImage”
2. A window will open with the connection screen, select ‘This System’ to continue.![](https://3462221526-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFCe67imy4ipkDut6uMDi%2Fuploads%2FiSLOAGhySxhDx0ntC5qM%2F1.png?alt=media)
3. On the Main Menu open the License Manager.\
   Enter the received License Key.\
   Verify that the required components are now licensed via ‘List of License Components’.<br>

The system is now ready for Batch Processing.

### **3.** Starting a Batch Job <a href="#id-17dp8vu" id="id-17dp8vu"></a>

1. Verify that the Celantur blurring service is running.\
   See step 7 chapter 2.3 on how to verify this.
2. Start the “Horus\_Linking\_Lab-\*-x86\_64.AppImage”.
3. Connect to ‘This System’.\
   ![](https://3462221526-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFCe67imy4ipkDut6uMDi%2Fuploads%2FcWdZYZcP9NOBwQu4xoU6%2F2.png?alt=media)
4. Open the ‘Batch Processing’ tool on the main menu.\
   ![](https://3462221526-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFCe67imy4ipkDut6uMDi%2Fuploads%2FQDbFtiB6mjAXW1U1axDH%2F3.png?alt=media)
5. Select ‘New Job’ to start a batch job. ![](https://3462221526-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFCe67imy4ipkDut6uMDi%2Fuploads%2FrU9a9EnEsAfMecuf2Xy8%2F4.png?alt=media)
   1. Select a process\
      \- Blur JPEG Images\
      \- Blur PGR Images\
      \- Generate frames.xml from EXIF Metadata\
      ![](https://3462221526-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFCe67imy4ipkDut6uMDi%2Fuploads%2FYWiXNPDRi8HT5IcS5Zj1%2F5.png?alt=media)
   2. Select a pipeline\
      \- Blurring vehicles and people\
      \- Blurring license plates and faces\
      This setting is only used for blurring.
   3. Source folder\
      Define the path of the parent directory where the recordings are stored.<br>
   4. *create a job for each sub-folder of the source*\
      Choose to create a separate batch job for each descendant sub-folder of the source location.<br>
   5. Destination folder\
      Define the path to the location where the new data will be written to.

      For the ‘Frames.xml from Exif’ process we recommend saving the output to the source directory.
   6. Start new job\
      Press on the blue ‘start new job’ button to add the batch job to the queue.<br>
6. Monitor the status of the batch job.

   If there are no pending jobs currently being processed or in the queue, then the new job will automatically start processing.

   By selecting a batch job, you can view additional information about the processing.

   If you are unsure if the batch job is being processed, you may open the Graph Builder and verify if the pipeline is running and processing data.

   When the processing is done the job will be marked as completed.![](https://3462221526-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFCe67imy4ipkDut6uMDi%2Fuploads%2FelUey2gIOBcI36Y5E1Ld%2F6.png?alt=media)
7. Check the output of the batch job.\
   Verify that the process has correctly processed the data by checking the destination folder.\
   Verify that vehicles and/or persons are now blurred, or that a frames.xml is created.
