Implementing single token journeys with open source software

Face is your boarding pass, generate unique digital token specific to the traveller and use it across all your systems to enable seamless touchless travel.

High Level Design

Passenger can enrol for this either via Mobile or the kiosk on the Airport.

Scan Passport/Face/Boarding pass –> Generate a unique token for journey and check that token at different stages of travel.

Low level Design

Passenger shows the Passport at the kiosk scanner (Scan MRZ- Machine Readable Zone - Free Library )

For mobile enrolment, use deviceid/OTP/Passport+Face+BP==>Token

Passenger shows the face and a face mask array is created for that face, use the free face recognition library built on open CV ( Accuracy is high) ..

The face mask vector array is used for face encodings, just save the enodings via pickle and save it on disk and load when required for comparisons. (Check out the post)

Now we have the data available for Passport and face mask, its time to get the boarding pass QR code.

Use this free library to get the details out of QR code (pdf 417 format for boarding pass- 2d bar code)

Its time to create the single token, the digital identity of traveller.

Just take the information from Passport+Face encoding+ Boarding pass +Salt( may be time stamp(optional)) ==> **TOKEN**

Our token is available, time to save it on our single token platform so that other systems can use it.

Lets use MongoDb/Python stack for our single token platform and create an API end point called ./CheckFace

User ==> Kiosk ===Enrol==> Token generated ==>Inserted in Mongo DB==>Available for verification on Endpoint (./CheckFace) running Python flask

tech.PNG

Rest of the systems on the airport can use their own open cv implementation (java/python/.NET) and capture live faces and compare with the encodings in the pickled mongo db.

The token can be alive till the departure and later we can destroy the token from identity platform and let it remain in our db for reporting and other use cases. Facial data can remain in system for future as we need not enrol the passengers again if they travel in future, we can use the old facials and generate a new token for travel for that passenger.

End

The face masks stored can also be very useful for future machine learning to improve operational efficiencies on the airport, e.g passenger Identification and Re-Identification use cases or watch lists or no fly lists.

  • If required biometrics can also be added to the above solution, during the enrolment phase.

If you need any assistance around this reach out to me on qr.PNG