Hawk: Image recognition application using Rust and AWS services
Introduction
Triggering the AWS Lambda function was tricky so we decided to work it through AWS API Gateway service. The Rust code hits the API Gateway and it further triggers the Lambda function.
About Hawk
Hawk is a security system in Rust that uses AWS services like S3, Rekognition, Lambda, etc to get the similarity score of two images sent through the Rust application. This application hits the API Gateway that invokes the AWS lambda function. The Lambda function then interacts with the AWS Rekognition with the help of the CompareFaces API and responds with a similarity score between the two images i.e the one clicked from the Raspberry Pi camera and the one being the reference image for the user stored in an S3 bucket. The similarity score will decide if the person entering the premises is the one whose RFID card is being scanned or not. If not the image stored in the S3 bucket would help us identify who was using the RFID card illegitimately. Kafka configured Rust code enables us to use the application as a simulator for the real scenario.
Challenges
The major problems which we faced were as follows:
- Interaction with AWS Lambda using Rust.
- Making Hawk asynchronous.
- Incompatibility between Kafka and OpenSSL which is used to cross-compile our code.
Solution
Triggering the AWS Lambda function was tricky so we decided to work it through AWS API Gateway service. The Rust code hits the API Gateway and it further triggers the Lambda function. We resolved Hawk asynchronous problem by taking the reference from Tokio doc which itself was built on rust futures crate. We fixed the cross-compilation issue by ignoring the default features of Kafka by setting [default_features=false]. We used OpenSSL version 0.10 with feature [vendored].
Architecture
Results
The benefits of working with Hawk manifolds the followings:
- Enhances the security of the premises.
- It depends upon the highly reliable AWS services.
- Portable and adjustable as per requirements.
- Quick response time.
- Help gather data for the management to understand the pattern of Check-In time!
- Integrated with any type of first-phase authentication system with the help of a Kafka Producer.
Read more case studies
Markerstudy Distribution’s Successful Partnership with NashTech
MSD’s relationship with NashTech has proven to be a game-changer, helping them scale their development capabilities, access cutting-edge technologies, and maintain a competitive edge in the...
Markerstudy Distribution’s Lakehouse Data Transformation Journey with NashTech
Partnering with NashTech, Markerstudy Distribution sought to leverage offshore expertise to ensure consistent and efficient delivery of their Data Lakehouse project, overcoming the complexities of...
How Markerstudy Distribution Transformed Insurance ‘Quote and Buy’ Platforms with NashTech
NashTech collaborated with Markerstudy Distribution to develop a modern, cloud-based architecture that allows for rapid deployment, cost savings, and improved performance.
Let's talk about your project
- Topics:
Our partnerships












