* * * Intel RealSense SDK Architecture



Similar documents
Intel Media SDK Library Distribution and Dispatching Process

Head-Coupled Perspective

Intel Solid-State Drive Pro 2500 Series Opal* Compatibility Guide

Intel SSD 520 Series Specification Update

Intel Perceptual Computing SDK My First C++ Application

Intel Core i5 processor 520E CPU Embedded Application Power Guideline Addendum January 2011

Intel HTML5 Development Environment. Tutorial Test & Submit a Microsoft Windows Phone 8* App (BETA)

Intel and Qihoo 360 Internet Portal Datacenter - Big Data Storage Optimization Case Study

Cloud based Holdfast Electronic Sports Game Platform

Intel Desktop Board D945GCPE

Intel Desktop Board DG41BI

with PKI Use Case Guide

Intel Desktop Board DG43RK

Intel Desktop Board D945GCPE Specification Update

Intel HTML5 Development Environment. Tutorial Building an Apple ios* Application Binary

Intel Desktop Board DG41TY

Intel Desktop Board DG31PR

Intel Integrated Native Developer Experience (INDE): IDE Integration for Android*

Intel Desktop Board DQ35JO

Software Solutions for Multi-Display Setups

Intel HTML5 Development Environment. Article - Native Application Facebook* Integration

Intel Service Assurance Administrator. Product Overview

Intel Desktop Board D945GCL

The Case for Rack Scale Architecture

Intel Desktop Board DQ43AP

Intel Desktop Board DG41WV

Intel Desktop Board DP55WB

Accelerating Business Intelligence with Large-Scale System Memory

The ROI from Optimizing Software Performance with Intel Parallel Studio XE

Intel Desktop Board DG33TL

Intel Desktop Board DQ965GF

Intel Platform and Big Data: Making big data work for you.

Intel Platform Controller Hub EG20T

Cloud Service Brokerage Case Study. Health Insurance Association Launches a Security and Integration Cloud Service Brokerage

iscsi Quick-Connect Guide for Red Hat Linux

Resetting USB drive using Windows Diskpart command

Intel Desktop Board DG965RY

Intel Cloud Builder Guide: Cloud Design and Deployment on Intel Platforms

High Performance Computing and Big Data: The coming wave.

This guide explains how to install an Intel Solid-State Drive (Intel SSD) in a SATA-based desktop or notebook computer.

Accelerating Business Intelligence with Large-Scale System Memory

Intel HTML5 Development Environment Article Using the App Dev Center

Version Rev. 1.0

A Case Study of an Android* Client App Using Cloud-Based Alert Service

Intel Identity Protection Technology (IPT)

System Image Recovery* Training Foils

Fast, Low-Overhead Encryption for Apache Hadoop*

IDE Integration for Android* Part of the Intel Integrated Native Developer Experience (Intel INDE) 1.5.7

Maximize Performance and Scalability of RADIOSS* Structural Analysis Software on Intel Xeon Processor E7 v2 Family-Based Platforms

Intel Desktop Board DP43BF

Intelligent Business Operations

Intel Cyber Security Briefing: Trends, Solutions, and Opportunities. Matthew Rosenquist, Cyber Security Strategist, Intel Corp

Douglas Fisher Vice President General Manager, Software and Services Group Intel Corporation

Intel Network Builders

Intel Media Server Studio - Metrics Monitor (v1.1.0) Reference Manual

Three Paths to Faster Simulations Using ANSYS Mechanical 16.0 and Intel Architecture

Intel Desktop Board D945GCZ

Intel Data Migration Software

Intel Data Direct I/O Technology (Intel DDIO): A Primer >

Intel Solid-State Drives Increase Productivity of Product Design and Simulation

Specification Update. January 2014

Intel Ethernet and Configuring Single Root I/O Virtualization (SR-IOV) on Microsoft* Windows* Server 2012 Hyper-V. Technical Brief v1.

Intel Core TM i3 Processor Series Embedded Application Power Guideline Addendum

Intel IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor: Spread-Spectrum Clocking to Reduce EMI

Intel Desktop Board D945GNT

Intel Media Server Studio Professional Edition for Windows* Server

Intel Identity Protection Technology Enabling improved user-friendly strong authentication in VASCO's latest generation solutions

WHITE PAPER. LVDS Flat Panel Display Interface on Intel Desktop Boards. July 2009 Order Number: E

Intel Retail Client Manager Audience Analytics

Intel Atom Processor E3800 Product Family

Creating Overlay Networks Using Intel Ethernet Converged Network Adapters

Intel Remote Configuration Certificate Utility Frequently Asked Questions

Intel Data Center Manager. Data center IT agility and control

How to Configure Intel X520 Ethernet Server Adapter Based Virtual Functions on Citrix* XenServer 6.0*

Vendor Update Intel 49 th IDC HPC User Forum. Mike Lafferty HPC Marketing Intel Americas Corp.

Intel Solid-State Drive Data Center Tool User Guide Version 1.1

Intel Media SDK Features in Microsoft Windows 7* Multi- Monitor Configurations on 2 nd Generation Intel Core Processor-Based Platforms

Intel RAID RS25 Series Performance

Intel Matrix Storage Console

Intel Modular Server System MFSYS25

Intel Internet of Things (IoT) Developer Kit

Intel vpro Technology. How To Purchase and Install Go Daddy* Certificates for Intel AMT Remote Setup and Configuration

Displaying Stereoscopic 3D (S3D) with Intel HD Graphics Processors for Software Developers August 2011

Intel Desktop Board D101GGC Specification Update

Intel Extreme Memory Profile (Intel XMP) DDR3 Technology

Intel System Event Log (SEL) Viewer Utility

Intel Solid-State Drive 320 Series

Software Evaluation Guide for Autodesk 3ds Max 2009* and Enemy Territory: Quake Wars* Render a 3D character while playing a game

RAID and Storage Options Available on Intel Server Boards and Systems

COSBench: A benchmark Tool for Cloud Object Storage Services. Jiangang.Duan@intel.com

Intel Technical Advisory

Intel vpro Technology. How To Purchase and Install Symantec* Certificates for Intel AMT Remote Setup and Configuration

RAPID EMBEDDED LINUX* DEVELOPMENT

How To Reduce Pci Dss Scope

System Event Log (SEL) Viewer User Guide

新 一 代 軟 體 定 義 的 網 路 架 構 Software Defined Networking (SDN) and Network Function Virtualization (NFV)

Transcription:

Multiple Implementations Intel RealSense SDK Architecture Introduction The Intel RealSense SDK is architecturally different from its predecessor, the Intel Perceptual Computing SDK. If you re a developer who used the Intel Perceptual Computing SDK for app development, you ll quickly see that the new SDK provides an enhanced programming model for accessing the modalities through several of the popular application development frameworks. In this article, we highlight some of the key changes that you can expect to see in the Intel RealSense SDK. Table of Contents Architecture Overview Simplified Class Hierarchy API migration guide Architecture Overview The SDK Core, I/O module, and the algorithm modules constitute the foundation of the SDK stack. The SDK Core helps manage application pipeline execution and I/O modules (camera). The algorithm modules constitute the middleware for hand tracking, gesture recognition, face detection, voice detection, and other modalities. The algorithms expose interfaces for application development through app development frameworks C++, C#, Unity* software, Java*, Processing*, etc. Intel RealSense SDK applications sit on top of this stack (Figure 1). SDK Application SDK Samples/Demos/Tools C# Unity * * * Processing Java... SDK s SDK Core Module Management Pipeline Execution Interoperability I/O Module Algorithm Module Algorithm Module Multiple Modalities Figure 1. Intel RealSense SDK Architecture

For app developers familiar with the Intel Perceptual Computing SDK, this improvement will be very obvious. The earlier SDK s interfaces could only be used with the Unity and Java frameworks (Figure 2). Figure 2. Intel Perceptual Computing SDK Architecture Most of the SDK functionality was available to the C++/C# developers, which resulted in undue disadvantage to Unity and other application development frameworks. The Intel RealSense SDK addresses this limitation by providing uniform access to the core and middleware capabilities through the specially designed interfaces for each framework. In Figure 3, you can see how the.dll support across all frameworks has been completely C++/C# interface is now available through a PInvoke interface compared to the C++/CLI C# wrapper in the Intel Perceptual Computing SDK. On the Unity side, the PXCUPipelinebased interface in the former SDK is replaced by a PInvoke-based C# interface. For Java and Processing frameworks, the PXCUPipeline-based interface is replaced by a completely redesigned JNI wrapper. Figure 3. Uniform API access across app development frameworks

Simplified Class Hierarchy PXC[M]Session Module management. Everything is a module in the SDK Main for execution flow: Organize a pipeline of multiple modalities Start/Stop/Pause modality operations Camera sample access Image sample Audio sample Select camera and streams: Constrain camera search Retrieve active device or streams PXC[M]CaptureManager Record and playback PXC[M]SenseManager PXC[M]Image/PXC[M]Audio Camera specific operations: Enumerate devices/streams Query/Set stream configurations Query/Set device properties Coordinates transforms Algorithm Modules: Query/Set algorithm configurations Algorithm specific operations PXC[M]Capture PXC[M]Face3D PXC[M]HandAnalysis... Figure 4. Intel RealSense SDK Class Hierarchy The structure of interfaces in the Intel Perceptual Computing SDK was extremely hierarchical. Performing simple tasks required a long sequence of initialization, configuration, and data retrieval operations. This hierarchical structure is now flatter in the Intel RealSense SDK, allowing for easier access to its modalities and capabilities. As shown in Figure 4 above, PXC[M]SenseManager replaces the UtilPipeline class of the SDK core. SenseManager is responsible for the organization and management of the execution pipeline. All of the camera devices and streams are managed by the PXC[M]CaptureManager, which replaces the UtilCapture interface in the Intel Perceptual Computing SDK. Note that the PXC[M]Capture interface also allows for simplified depth access. While developers needed to access two separate streams for depth and vertices data in Intel Perceptual Computing SDK, the depth data access mechanism in the Intel RealSense SDK allows developers to access depth and vertices data in the same stream. The PXC[M]Face3D manages the face tracking module replacing the PXC[M]Face interface, and the PXC[M]HandAnalysis performs gesture and hand tracking, replacing the PXC[M]Gesture interface. Please refer to the next section - API migration guide for more information regarding the capabilities of these modules. API Migration Guide In addition to the overall SDK stack that has been redesigned, you will also find that more than 50% of the Intel Perceptual Computing SDK APIs are different in the Intel RealSense SDK. Most of these changes stem from the fact that there is a 3D element to the Intel RealSense SDK that enhances the way some of the existing modalities like hand and face tracking behave. Let s see some of these enhancements below. Face Tracking module In terms of capability, the face tracking module now gives 78 landmark points with pose detection values in 2D and 3D compared to the Intel Perceptual Computing SDK where a maximum of 7 landmark points were available. The introduction of depth adds to the robustness of the data obtained. In addition to this, the Intel Perceptual Computing SDK required a separate configuration for face detection, landmark detection, and face recognition making the entire process of facial analysis very cumbersome. All of these aspects have led to a redesign of the face analysis module and associated APIs. The PXC[M]FaceAnalysis module is

now replaced with the PXC[M]Face3D module, which provides a flat structure. The module now just needs to be configured once before obtaining the face detection, landmark detection, pose detection, and face recognition values (see Figure 5). Figure 5. Comparison of face analysis module between Intel Perceptual Computing SDK and Intel RealSense SDK Hand Tracking Module The hand tracking module has been significantly enhanced in the Intel RealSense SDK. Compared to the 7 point hand data and 10 standard gestures, the Intel RealSense SDK now provides 22 data points, finger identification, left and right hand identification with orientation and rotation parameters for 3D interaction and a set of standard gestures. The PXC[M]Gesture interface in the Intel Perceptual Computing SDK is now replaced by the PXC[M]HandAnalysis interface for easier hand data access. Table 1 below summarizes most of the major improvements made to the Intel RealSense SDK. Developers are encouraged to read the SDK Reference manual accompanying the Beta SDK download for more detailed information on each of the APIs within these interfaces.

Table 1. Comparison of Intel Perceptual Computing SDK and Intel RealSense SDK Categories Intel Perceptual Computing SDK Intel RealSense SDK Comment Camera Creative only device properties Not supported in IVCAM Vertices format Depth/DepthRaw/DepthFlo at/verticesfloat PXCImage provides on the fly conversion. NO_IR_MAP NO_UV_MAP REQUIRE_IR_MAP REQUIRE_UV_MAP Default value change PXCProjection PXCProjection Half functions are MW Features PXCGesture PXCHandAnalysis Complete new interface PXCFace PXCFace3D Complete new interface UtilCapture PXCCaptureManager New interface UtilPipeline PXCSenseManager New interface Language/ Framework Support Pxcupipeline based framework support for Unity/Java/Proce ssing P/Invoke C# wrapper Completely C++/CLI C# wrapper P/Invoke C# wrapper Completely PXCUPipeline based support for Java/ Processing New JNI wrapper Completely Documentation Redesigned.

Summary The Intel RealSense SDK provides many advantages over the previous generation Intel Perceptual Computing SDK. Most of the existing modalities like the face and hand tracking algorithms have been enhanced while making improvements to the API access mechanism for most of the supported app development frameworks. The consistency in API access together with the improved middleware creates a very compelling platform for app developers to explore the world of computing using our senses! Additional Resources Intel RealSense Technology Overview: https://software.intel.com/en-us/articles/realsense-overview User Experience Guidelines: https://software.intel.com/en-us/articles/realsense-ux-design-guidelines About the Author Meghana Rao is a Technical Marketing Engineer in Intel s Software and Services division. She is involved in helping developers understand the capabilities of Intel platforms and writing applications that provide a good user experience.

Notices INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information. The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark* and MobileMark*, are measured using specific computer systems, components, software, operations, and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. Any software source code reprinted in this document is furnished under a software license and may only be used or copied in accordance with the terms of that license. Intel, the Intel logo, and Intel RealSense are trademarks of Intel Corporation in the U.S. and/or other countries. Copyright 2014 Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.