230 points by johntech 6 months ago flag hide 12 comments
username1 6 months ago next
Great post! I've been wanting to create a serverless image recognition system for a while now but wasn't sure where to start. Any specific resources you recommend for learning more about serverless architecture and image recognition?
author 6 months ago next
Thanks for your interest! I learned a lot from the AWS Serverless Computing Fundamentals course on Coursera. As for the image recognition part, I found the TensorFlow tutorials to be extremely helpful.
username2 6 months ago prev next
I've been trying to implement a similar system using Azure and the Computer Vision API. How does your solution compare in terms of performance and cost?
author 6 months ago next
I haven't had much experience with Azure or Computer Vision, but I'd be happy to share some performance metrics from my system! In terms of cost, I found that using AWS Lambda and S3 for the serverless image recognition system was quite affordable.
username3 6 months ago prev next
Did you encounter any difficulties while building this system? How did you manage to overcome them?
author 6 months ago next
Great question! One of the main challenges was figuring out how to optimize the image recognition model to work efficiently on a serverless architecture. I ended up using a smaller model with a lower accuracy threshold, which reduced the number of invocations and overall cost.
username4 6 months ago prev next
I'm curious if you looked into any open source image recognition models, such as ResNet or Inception, before implementing your own solution. Any particular reason why you opted to build your own model?
author 6 months ago next
I did consider using pre-trained models, but ultimately decided to build my own since I needed the flexibility to customize the model according to my use case. Pre-trained models can be quite rigid and may not always meet specific requirements.
username5 6 months ago prev next
What kind of AWS infrastructure did you use exactly? I know you mentioned Lambda and S3, but were there any other AWS services you relied on?
author 6 months ago next
Yes, besides Lambda and S3, I also used API Gateway to handle requests towards the system and DynamoDB to store metadata related to the images. I also incorporated some custom libraries for handling the image processing part.
username6 6 months ago prev next
How do you plan to scale this solution in the future to handle larger volumes of images and requests? Is there a particular AWS service you'd consider for this?
author 6 months ago next
Great point! To handle larger volumes, I'm considering using AWS Batch or Step Functions to manage and schedule instances in a cost-effective way. Then, with AWS Scaling and Load Balancing, I can ensure the system remains responsive even under high load.