Saturday 15 August 2015

Introducing the Intel® RealSense™ R200 Camera (world facing)

The latest Intel® RealSense™ camera to be released is the R200 - world facing camera. The Windows* 10 64-bit (and Windows 8.1 64 bit) SDK is already released, at beta, in the R3 (v5.0.3) Intel® RealSense™ SDK . An Android v5 SDK is likely to be released later this year. 
At approximately 102x9.5x3.8mm, the R200 will be integrated into select tablets and 2 in 1 systems, which should be available for the 2015 holiday season. The peripheral USB3 pluggable version of the R200 (130x20x7mm) and developers can be notified of availability to order at http://click.intel.com.
The R200 actually has 3 cameras providing RGB (color) and stereoscopic IR to produce depth. With the help of a laser projector, the camera does 3D scanning for scene perception and enhanced photography. The inside range is approximately 0.5-3.5 meters and an outside range up to 10 meters. Note: Range is very dependent upon the module and the lighting. For operating ranges of the various algorithms for both F200 and R200 cameras, see the visit the online documentation.
Unlike the Intel® RealSense™ F200 camera, the R200 is focused on the world, not the user. As such the RealSense SDK focuses on the  following use cases for the R200.
  1. Capture the World in 3D and then edit, share, and print the objects in 3D.
  2. Enhance your Photography. The Intel RealSense R200 includes 3D filters which allow re-lighting, re-focusing, and background segmentation (removal/substitution of the background).
  3. Add virtual content into 3D captures of the physical world. In a feature called Scene Perception, you can add virtual objects into the captured real world scene since the R200 camera understands surfaces as well as objects and motion and can create scenes from estimations of the camera's position/orientation in the scene.
These use cases are based on two functional areas of the R200 cameras.
  • Tracking/Localization : Real-time estimation of the Camera’s position and orientation (pose) using depth, RGB and IMU data.
  • 3D Volume/Surface Reconstruction : Building real-time digital representation of the 3D Scene observed by the camera
Some of the features found in the Intel RealSense SDK Windows for the F200 will be introduced over time, remember the R3 SDK for the F200 is still just the beta SDK for the R200. The alpha R200 SDK (R2 of the F200 SDK), provide face detection and pose. Face detection works at up to 2.5m, pose works at up to 1.5m. Beta R3 adds blob tracking and face landmarks (1 meter). Android features will have a separate SDK and are not yet published.
While the RealSense SDK for Windows is shared by the F200 and R200 cameras and contains documentation and samples for both, the R200 requires a different (separate) DCM and firmware package. The R200 uses the DCM 2.x series while the F200 uses DCM 1.x.
One of the most exciting things about the R200 camera is the larger scanning capability and it's new method for measuring depth. The R200 includes stereo cameras as well as the RGB camera. And since the camera is less dependent on IR, it can be used outdoors. The color camera provides the images for humans and the 2 depth cameras provide the data for algorithmic consumption. Additionally if the system has an IMU (inertia measurement unit) built into the system, the SDK can adjust for gravity's effect on objects added to a scene.
With stereoscopy photography, depth/3D is computed from the disparity (pixel shift) between the 2 'separated' cameras using triangulation to output a depth measurement. Note that this is based from the parallel plane (not the absolute range from the camera). There is a utility included in the SDK to help with plane detection. Making sure the camera sees a horizon during init can be critical to the orientation of the scanning target.
The R200 tracks the camera movement in 3D space with 6 DOF (degrees of freedom). 3 Degrees from the Front/Back/Up/Down/Left/Right and 3 degrees from Yaw/Pitch/Roll movements.
To get the best 3D Scanning results:
  • Use a 2m (cubed) FOV, with at least 5000 pixels (640x480). For proper detection, use this chart:
    Distance / min.    Rectangular object size
     30cm                    4.5cm x  3.5cm,
    100cm                 16 cm   x 11 cm
    180cm                 28 cm   x 21 cm
  • Don't occlude more than 20% of an object.
  • Move the camera but keep the real scene object as stationery as possible
  • Run at 30 FPS or 60 FPS (see chart below). Use higher FPS to get smaller inter-frame displacement
  • Don't use plain, non structured surfaces. The IR projector sends random, non-uniform light pattern to add texture to the scene and runs the data thru the filters in the IR band. Additionally RGB input is added to the stereo depth calculations.
  • Move the camera at a moderate - slow speed, remember that filming at 60 FPS means 18M depth calculations per second.
  • Allow the time for the camera to init (shown on the bottom left of the screen) which includes centering the target within the green lines.
The color cam is capable of doing 32 bit RGBA at 1080p @60FPS using fixed focus and a 16:3 aspect ratio. The RGB cam has a slightly larger FOV than the dual cams but is not meant to be used as a standalone camera.
The dual depth cams use a fixed focus 4:3 aspect ratio with a 70x59x46 degree field of view.
The IR is a class 1 laser in the 850nm range,

Available Resolutions
@60FPS, depth at 320x240,, color can be 640x480
@60FPS, depth at 480x360,  color can be 320x240 or 640x480
@30FPS, depth at 320x240,, color can be 640x480, 1280x720 or 1920x1080
@30FPS, depth at 480x360, color can be 320x240, 640x480, 1280x720, or 1920x1080
The RealSense SDK provides interfaces to project depth to color and vice versa.
The power draw of the R200 ranges from 0 to 100mw (idle) to 1.0-1.6 watt when active (depending upon the modules used). It has several power saving features including the use of USB3 data bursts. 
Unity support for the R200 is included in the SDK (Note Unity 4.x is 32 bit and Unity 5.x is 64 bit, so add the appropriate libraries to your project. Also Unity personal (non Pro) can be used as long as you include the signed libraries in the project).

No comments:

Post a Comment