I agree with user2840470's lidar approach. It's certainly the most versatile.
The classical way of such presence detection would be through movement detection – through a rather boring PIR motion sensor. But: that will literally not catch someone who's moving slow enough, or carrying a room-temperature shield or something.
If this isn't good enough, I actually think your webcam solution is fine; in fact, while 20 ms doesn't sound easy, it sounds far from impossible – I'd expect latency from camera sensor to "frame in userland software" to be in the 5 to 15 ms range, which gives you plenty of time to do detection (assuming don't try to go too high-level, but keep it simple: get the lowest feasible resolution from the camera, avoid unnecessary processing steps like complex color space conversions (greyscale or IR camera would do) and do a very simple cross-correlation with a reference scene, especially if lighting is internal or reliable (infrared lighting?).
Other than that, there's cheap ultrasonic distance sensors. You'd need an array of these, and you need to use them in sequence so not to confuse them with each other, but it does sound feasible, too. Speed might be a limit (sound travels at 300 m/s, so for 1.5m you'd need 1/200 of a second, i.e. 5 ms already), but since the processing would be arduino-level simple, that might work.
Your 20 ms time frame might indicate this is safety-critical ("stop this spinning blade of destruction and painful death if someone comes close to it within 20 ms, or there will be minced employee"); in that case, don't build yourself. Use laser curtains (an array of beams, or one beam zig-zagging between two aligned mirrors) and hardware (or very low-level firmware) interlocks; your latency will be almost 0.