Project: CovPass-Scanner

Dedicated hardware for covid certificate scanning.

Status: cancelled

Runtime: 2021 - 2022

Participants: Thomas Fischer, Raphael Wimmer, Vitus Maierhöfer

Keywords: computer vision, raspberry pi, COVID-19

Developing a standalone hardware prototype, that can verify a person's vaccination status for Covid and grant or deny them entry to restricted events.

Using the commonly recommended CovPassCheck mobile app for this task, requires dedicated personnel to be placed at the entrance to events or establishments to operate the smartphone used. Processing certificate QR-codes this way, takes longer than needed, since the smartphone camera's position and orientation needs to be adjusted by the operator, each time a new person shows them their certificate. On top of that, the auto-focus of the smartphone camera needs to adjust for each scan as well, adding additional delay until the QR code can actually be scanned.
Using a stationary device with a dedicated area to place the QR code with a camera adjusted to that distance would significantly reduce overhead before scanning and would allow processing a queue of people much faster.

After state regulations required personnel to verifying peoples' identity via ID, comparing their faces with the photo on the ID and their name with the one on the certificate, we had to cease working on the project. Using facial recognition software to automate this process would require more expensive hardware and would lead to both, legal and ethical problems. Additionally, verifying proofs of vaccination on paper, would have proven difficult.

Prototype I

For the initial prototype, we used a regular Raspberry Pi 4 with a PiCam module and 3.2“ display for our hardware. We printed a plastic case to house it and mounted it on an aluminum framework. It was designed to only read QR codes display, whether the certificate is valid or not.

Figure 1. First prototype from the front.
Figure 2. Successful scan.
Figure 3. Side of the first prototype (ID for scale).

Prototype II

For the second prototype, we changed the previous camera and small display for a bigger, high resolution display with integrated camera and flipped the design upside-down. This change allows it to be mounted e.g. behind transparent room separators. This version also now featured the ability to compare the personal information contained in the digital certificate with that of a personal German ID. The prototype would now only return a valid status, if the certificate is valid and matches the personal information on the person's ID.

Figure 4. Second prototype, scan QR code in Step 1.
Figure 5. Certificate valid, scan ID in Step 2.
Figure 6. Personal information matches, vaccination status valid.

The program code for the prototype is written in Python3 and uses OpenCV for image processing as well as Tesseract for text recognition. The source code is available on GitHub.