I do not think this kind of feature-based estimation of depth will be the future of SLAM. Point this algorithm at a scale model or a framed photograph and everything will go haywire. It's great for scene understanding, in which you point it at a photograph or artwork and you want it to understand what's going on in the photograph. But not for mission-critical mapping and navigation.
Depth cameras, which are getting cheaper, will be the future of SLAM. SLAM algorithms for depth cameras are also a lot simpler to write. And with depth cameras, you're not estimating how far away objects are, you're actually measuring their distance. Data beats estimation.