I am just getting started with this project, which means all I have at the moment is a concept and a list of desired features. However, I have started researching what I would need to bring something like this to life, and have discovered some things worth noting:
The first thing to note is that I will likely not be using OpenCV. When I first thought of attempting a smart fridge with object recognition, my very first thought was that I would have to use OpenCV, which I believed was the industry standard. However, after actually looking at the website and documentation, I think OpenCV, although powerful, is too complex and non-user-friendly for my needs.
Instead of OpenCV, I think I will try using Caffee, which appears to be very powerful, easy to use, and is also covered under a more generous license (BSD). The demo on their site is absolutely amazing and makes it seem as though the software would be a perfect match for my needs.
The other thing I realized is that my original plan, to use a raspberry pi, is probably not a good idea. The computational requirements for near real-time object recognition exceed what the raspberry pi was designed for, and although there have been developments in optimizing Caffee for the device, the fastest it appears to run is at 3 seconds of processing per frame, which is too slow for my needs. I think what I will use instead is an actual laptop or desktop computer. I have an old laptop that is not in use that would be great for running a lightweight linux distro and Caffee, so I will probably try that before spending money on any new hardware.