SlideShare ist ein Scribd-Unternehmen logo
1 von 78
NUI e Biometrics in Windows 10
Andrea Sassetti
andrea.sassetti@live.it
@andreasassetti
andreasassetti.wordpres.com
Software Engineer, Siemens
Marco Dal Pino
SW Eng - Consultant
@MarcoDalPino
mobileprog.com (ENG)
mobileprog.net (ITA)
Microsoft MVP
Intel Black Belt Software Developer
Intel Realsense Innovator Realsense & IoT
about.me/marcodalpino
m.dalpino@dpcons.com
User interaction evolution
CLI
GUI
NUI
Natural User Interface
• Use movements / gestures inherent in human nature or in the actions
of every day
• Rapid functionality learning
• Can help people with disabilities to use the software
Microsoft Kinect v2
Kinect for Windows gives computers
eyes, ears. With Kinect for Windows,
businesses and developers are creating
applications that allow their customers
to interact naturally with computers by
simply gesturing and speaking.
Kinect v2 - Sensor Components
Kinect v2 - Sensor Components
Power Light
RGB Camera
IR Emitters
IR Emitters
Depth Sensor
Depth Sensor
Microphone Array
Kinect v2 - Hardware requirements
• Physical dual-core 3.1 GHz (2 logical cores per physical) or faster
• USB 3.0 port dedicated to the Kinect for Windows v2 sensor
• 2 GB of RAM
• Graphics card that supports DirectX 11
• Windows or Windows Embedded 8 or 8.1, 10
Kinect Configuration Verifier tool
http://go.microsoft.com/fwlink/?LinkID=513889
Kinect v2 - High level architecture
Kinect Drivers
Kinect Runtime
.NET
API
.NET
Apps
Native API
Native Apps
WinRT API
Windows Store Apps
C#, VB, JS, C++/CX
Physical Kinect Sensor
Kinect v2 - High level architecture
Kinect
Service
Source
Kinect
Reader
Kinect
Reader
Kinect
Reader
Application
Application
Application
Multiple Kinect-enabled applications can run simultaneously
Kinect v2 - High level architecture
PC
PC
PC
PC
HUB SERVER
Multiple connectionOne connection
Kinect v2 – Frame source
Color Depth Infrared
Body index Body Audio
Kinect v2 – Color frame source
• 1920 x 1080 array of pixel
• Different sensor than depth
• 30 fps
• Will maintain brightness and quality
by dropping to 15 fps in low-light
Kinect v2 – Depth frame source
• 512 x 424 array of pixel
• 30 fps
• Distance range 0.5 – 4.5 meters
Kinect v2 – Infrared frame source
• 512 x 424 array of pixel
• 30 fps
• Ambient light removed
• From the same physical sensor as
depth
Kinect v2 – Body index frame source
• 512 x 424 array of pixel
• Up to 6 simultaneous bodies
• 30 fps
• Same resolution as depth
Kinect v2 – Body frame source
• Frame data is a collection of Body
object each with 25 joints (each joint
has position in 3D space and
orientation)
• Up to 6 simultaneous bodies
• 30 fps
• Hand state (Open, Closed, Lasso)
• Lean
Kinect v2 – Body frame source
Kinect v2 – Audio source
• Data is audio samples captured over
a specific interval of time
• Audio is associated with an “audio
beam”
Kinect v2 – Multi frame source
• Allows to get a matched set of frames
form multiple source on a single time.
• Delivers frames at the lowest fps of
the selected sources.
Kinect v2 – Coordinate Mapper
It provides conversion between each
systems. It is possible perform single
or multiple conversion.
Name Applies to Dimension Units Range Origin
ColorSpacepoint Color 2 pixel 1920x1080 Top left
DepthSpacePoint Depth, Infrared, Body
index
2 pixel 512x424 Top left
CameraSpacePoint Body 3 meter NA Infrared / Depth camera
Kinect v2 – Application Lifecycle
KinectSensor kinectSensor = KinectSensor.GetDefault();
if (!kinectSensor.IsAvailable)
return;
if(!kinectSensor.IsOpen)
kinectSensor.Open();
// CODE HERE
kinectSensor.Close();
First step:
Add reference to Microsoft.Kinect assembly
Microsoft Kinect NuGet Packages available
Kinect v2 – Basic flow of programming
KinectSensor.GetDefault().DepthFrameSource.OpenReader().AcquireLatestFrame().CopyFrameDataToArray(frameData);
Kinect v2 – Basic flow of programming
Readers allow to access to the Kinect frame.
It is possible to read the frame via pooling:
var colorFrameReader = kinectSensor.ColorFrameSource.OpenReader();
using (var colorFrame = colorFrameReader.AcquireLatestFrame())
{
if (colorFrame == null)
return;
// CODE HERE
}
var colorFrameReader = kinectSensor.ColorFrameSource.OpenReader();
colorFrameReader.FrameArrived += OnColorFrameReader;
---
private void OnColorFrameReader(object sender, ColorFrameArrivedEventArgs e)
{
using (var colorFrame = e.FrameReference.AcquireFrame())
{
if (colorFrame == null)
return;
// CODE HERE
}
}
or by event:
Kinect v2 – Face Detection and
Alinement
Through Kinect Face it is possibile detects body faces point and expression.
Face points:
• The user's left eye point
• The user's right eye point
• The user's nose point
• The user's left corner of the mouth point
• The user's right corner of the mouth point
Each point can be visualized in color or Infrared space.
Kinect v2 – Face Expression
Face expressions:
• The user's happy facial expression
• The user's right eye is closed
• The user's left eye is closed
• The user's mouth is open
• The user's mouth has moved since the previous frame
• The user is looking at the sensor
• The user is wearing glasses
Kinect v2 – Face Detection and
Alinement
• Add reference to Microsoft.Kinect.Face assembly
• Use FaceFrameSource and FaceFrameReader classes
• Use FaceFrame class in order to get face information
Microsoft Kinect NuGet Packages available
Kinect v2 – High Definition Face
Through Kinect High Definition Face it is possibile
detects over 1000 facial points in the 3D space.
• 1347 facial points
• 2340 triangles
• Hair color
• Body color
• Face 3D Model
Not sufficiently documented
Many API are available only in C++
Kinect v2 – High Definition Face
• Add reference to Microsoft.Kinect.Face assembly
• Use HighDefinitionFaceFrameSource and HighDefinitionFaceFrameReader classes
• Use HighDefinitionFaceFrame class in order to get high definition face information
Microsoft Kinect NuGet Packages available
Kinect v2 – Hand Pointer Gestures
Engagement
Press Panning / ZoomTargeting
Kinect v2 – Hand Pointer Gestures -
Press
Recommended Minimum Size:
• 208 x 208 (in 1080p resolution)
• Press attraction towards center
• Larger buttons will just attract
away from the edge
Adapting to smaller visual sizes:
• Make large-size hit testable
• Set KinectRegion.KinectPressInset (Thickness)
to non-visible part of button
• Attraction region is smaller
Kinect v2 – Hand Pointer Gestures -
WPF
• Add Reference to Microsoft.Kinect.Wpf.Controls
• Add KinectRegion as container for your Windows Control
• Run it!
Kinect v2 – Hand Pointer Gestures –
Store App
• Add Reference to Microsoft.Kinect.Xaml.Controls
• Enable Microphone + Camera capabilities in App Manifest
• Add KinectRegion as container for rootFrame in App.xaml.cs
• Run it!
Demo
Hand Pointer Gestures
and Frame source
Kinect v2 – Recording and Playback
Kinect Studio
• Record sample clip of data from the Kinect v2 device.
• Playback a recorded sample clip of data
• Play data from a live stream directly from a connected Kinect v2 Device
Kinect v2 – Visual Studio Visualizer
Visualizers are components of the Visual
Studio debugger user interface. A visualizer
creates a dialog box or another interface to
display a variable or object in a manner
that is appropriate to its data type.
It is possible to create custom visualizer just
implementing some .NET interfaces.
Kinect v2 – Fusion
Microsoft KinectFusion provides 3D
object scanning and model creation
using a Kinect for Windows sensor. The
user can paint a scene with the Kinect
camera and simultaneously see, and
interact with, a detailed 3D model of the
scene.
Kinect v2 – Custom gesture / pose
Inside Kinect v2 SDK it is available a tool that allow you to create
custom gesture.
Visual Gesture Builder
It is possible define discrete or continuous gesture using Machine
Learning technology
• Adaptive Boosting (AdaBoost) Trigger: Determine if player is
performing a gesture
• Random Forest Regression (RFR) Progress: Determine the
progress of the gesture performed by the player
Kinect v2 – Custom gesture / pose
Visual Gesture Builder
• Organize data using Project/Solution
• Give meaning to data by tagging gesture
• Build gesture using Machine Learning technology
• Analyze & Test the result of the gesture detection
• Live preview of result
Kinect v2 – Visual Gesture Builder
Basic steps for using Visual Gesture Builder:
1. Create a solution.
2. Create one or more projects.
3. Add a set of clip files to each project.
4. Tag the frames in the clip files associated
with each gesture.
5. Build a training gesture database.
6. Use the built gesture database into your
application.
Kinect v2 – Custom gesture/pose
Heuristic
• Gesture is a coding problem
• Quick to do simple
gestures/poses (hand over head)
• ML can also be useful to find
good signals for Heuristic
approach
ML with Visual Gesture Builder
• Gesture is a data problem
• Signals which may not be easily
human understandable (progress
in a baseball swing)
• Large investment for production
• Danger of over-fitting, causes you
to be too specific – eliminating
recognition of generic cases
Demo
Custom Gestures
Kinect v2 – Other Framework
Kinect v2 – Other Framework
Computer Vision APIs
Face APIs
Kinect v2 – Official Resources
• General Info & Blog
http://kinectforwindows.com
• Developer Forums
http://aka.ms/k4wv2forum
• Download Kinect v2 SDK
http://aka.ms/k4wv2sdk
• Twitter
@KinectWindows
Intel Realsense Camera & SDK
Intel® RealSense™ 3D Camera F200
F200 Camera Specs
Spec Color Depth (IR)
Resolution 1080p VGA
Aspect Ratio 16:9 4:3
Frame Rate 30/60/120 FPS
FOV (D X V X H) 77º x 43º x 70º 90º x 59º x 73º
Other
Effective Range 0.2 – 1.2 m
Environment Indoor/Outdoor
Intel Information Technology
51
Where to find the Intel® RealSense™ technology?
Intel® RealSense™ 3D Cameras
Intel® RealSense™ 3D
Camera (Front F200)
Intel® RealSense™
Snapshot
Intel® RealSense™ 3D
Camera (Rear R200)
Intel Information Technology
• Free tools and APIs to develop
apps with NUI in a simple way
• Focus where is important: the
content
• Acessible for beginners and
extensible for experts
Intel Information Technology
Hands -
Tracking and Joints
• 22 Joints
• Detects Body Side
• Tracks X, Y and Z positions from
detected hands
Hands – Gestures and Poses
Intel Information Technology
Face – Tracking
• Tracking ( 4 faces)
• Landmarks Tracking (1 Face)
• X, Y, Width and Height
• Average Depth
Intel Information Technology
Face – Landmarks
• 78 landmark points:
• Nose
• Mouth
• Jaw
• Eyes
• Eyebrows
Face – Pose
Face – Expressions
Face – Emotions (Experimental)
Speech – Recognition
Switch
Weapon!
Speech – Synthesis
Your Score is: Five
Hundred and Sixty
Five!
Segmentation
Object Tracking
2D 3D
3D Scanning
Microsoft Passport e Windows Hello
Going beyond passwords
Problems:
• Passwords are hard to remember
• Passwords are re-used -> server breach attacks
Microsoft passport solution:
• User has to remember only one PIN or can use
Windows Hello
• No secret is stored on servers -> Two factor
authentication with asymmetric keys
Windows 10 and Microsoft Passport Simple for
Developer
• Reduces the cost associated with password
compromise and reset
• Native API support for strong authentication via
Universal Windows Platform
• JavaScript API support for browsers coming later this
year.
Windows Hello: Sensor Support
• Fingerprint
• All current fingerprint capable devices are supported
• Face
• All current (f200) and future Intel® RealSense™ are supported for Windows Hello face
authentication
• All devices that include an IR sensor that meets Microsoft sensor spec
• Iris
• A selection of devices will be arriving to market within the next 12 months
• More details on sensor requirements and support coming soon
Windows Hello
• Windows 10 support three type of biometric Auth:
• Fingerprint
• Face
• Iris
• All of three provide gesture and action recommended on the
hardware supported
• Integrated with the Windows Biometric Framework
• use the same scenary and experience
• Share the same language for use and definition
Microsoft Passport: Provisioning
Two Step
Verification
Create Microsoft
Passport
Register Public
key with Server
• KeyCredentialRetrievalResult kcResult = await
• KeyCredentialManager.RequestCreateAsync(accountID,
KeyCredentialCreationOption.FailIfExists);
Microsoft Passport: Usage
Open Microsoft Passport
Sign challenge from Server
with Microsoft Passport
Send digital signature to
server
• KeyCredentialOperationResult kcOpResult = await
kcResult.Credential.RequestSignAsync(serverChallenge);
Microsoft Passport: Deletion
Open Microsoft
Passport
Delete Passport
Delete Public
Key on Server
• KeyCredentialRetrievalResult kcResult = await
KeyCredentialManager.OpenAsync(accountID);
DEMO SharpSenses
Reference
• Build Session
• Microsoft Passport and Windows Hello: Moving Beyond Passwords and Credential Theft
• https://channel9.msdn.com/events/Build/2015/2-639
• API
• Windows.Security.Credentials namespace
• Https://msdn.microsoft.com/en-us/library/windows/apps/windows.security.credentials.aspx
Q&A
Thank you!

Weitere ähnliche Inhalte

Was ist angesagt?

Kinect Hacks for Dummies
Kinect Hacks for DummiesKinect Hacks for Dummies
Kinect Hacks for DummiesTomoto Washio
 
Kinect Sensors as Natural User Interfaces
Kinect Sensors as Natural User InterfacesKinect Sensors as Natural User Interfaces
Kinect Sensors as Natural User InterfacesRumen Filkov
 
Develop store apps with kinect for windows v2
Develop store apps with kinect for windows v2Develop store apps with kinect for windows v2
Develop store apps with kinect for windows v2Matteo Valoriani
 
How Augment your Reality: Different perspective on the Reality / Virtuality C...
How Augment your Reality: Different perspective on the Reality / Virtuality C...How Augment your Reality: Different perspective on the Reality / Virtuality C...
How Augment your Reality: Different perspective on the Reality / Virtuality C...Matteo Valoriani
 
Kinectic vision looking deep into depth
Kinectic vision   looking deep into depthKinectic vision   looking deep into depth
Kinectic vision looking deep into depthppd1961
 
Introduction to development
Introduction to developmentIntroduction to development
Introduction to developmentMatteo Valoriani
 
Introduction to Kinect v2
Introduction to Kinect v2Introduction to Kinect v2
Introduction to Kinect v2Tsukasa Sugiura
 
Dev09 – la battaglia del touchless
Dev09 – la battaglia del touchlessDev09 – la battaglia del touchless
Dev09 – la battaglia del touchlessClemente Giorio
 
Arbusta Empowering Women & Youth Through Impact Sourcing
Arbusta Empowering Women & Youth Through Impact SourcingArbusta Empowering Women & Youth Through Impact Sourcing
Arbusta Empowering Women & Youth Through Impact SourcingPaula Cardenau
 
The power of Kinect in 10 minutes
The power of Kinect in 10 minutesThe power of Kinect in 10 minutes
The power of Kinect in 10 minutesTom Kerkhove
 
4 track kinect@Bicocca - skeletal tracking
4   track kinect@Bicocca - skeletal tracking4   track kinect@Bicocca - skeletal tracking
4 track kinect@Bicocca - skeletal trackingMatteo Valoriani
 
Kinect for Xbox 360: the world's first viral 3D technology
Kinect for Xbox 360: the world's first viral 3D technologyKinect for Xbox 360: the world's first viral 3D technology
Kinect for Xbox 360: the world's first viral 3D technologykamutef
 
Using intel's real sense to create games with natural user interfaces justi...
Using intel's real sense to create games with natural user interfaces   justi...Using intel's real sense to create games with natural user interfaces   justi...
Using intel's real sense to create games with natural user interfaces justi...BeMyApp
 
Adaptive Neighbor Discovery for Mobile and Low Power Wireless Sensor Networks
Adaptive Neighbor Discovery for Mobile and Low Power Wireless Sensor Networks Adaptive Neighbor Discovery for Mobile and Low Power Wireless Sensor Networks
Adaptive Neighbor Discovery for Mobile and Low Power Wireless Sensor Networks Dimitrios Amaxilatis
 

Was ist angesagt? (20)

Kinect Hacks for Dummies
Kinect Hacks for DummiesKinect Hacks for Dummies
Kinect Hacks for Dummies
 
Kinect Sensors as Natural User Interfaces
Kinect Sensors as Natural User InterfacesKinect Sensors as Natural User Interfaces
Kinect Sensors as Natural User Interfaces
 
Develop store apps with kinect for windows v2
Develop store apps with kinect for windows v2Develop store apps with kinect for windows v2
Develop store apps with kinect for windows v2
 
How Augment your Reality: Different perspective on the Reality / Virtuality C...
How Augment your Reality: Different perspective on the Reality / Virtuality C...How Augment your Reality: Different perspective on the Reality / Virtuality C...
How Augment your Reality: Different perspective on the Reality / Virtuality C...
 
Kinectic vision looking deep into depth
Kinectic vision   looking deep into depthKinectic vision   looking deep into depth
Kinectic vision looking deep into depth
 
Introduction to development
Introduction to developmentIntroduction to development
Introduction to development
 
Introduction to Kinect v2
Introduction to Kinect v2Introduction to Kinect v2
Introduction to Kinect v2
 
Dev09 – la battaglia del touchless
Dev09 – la battaglia del touchlessDev09 – la battaglia del touchless
Dev09 – la battaglia del touchless
 
Azure Digital Twins
Azure Digital TwinsAzure Digital Twins
Azure Digital Twins
 
Arbusta Empowering Women & Youth Through Impact Sourcing
Arbusta Empowering Women & Youth Through Impact SourcingArbusta Empowering Women & Youth Through Impact Sourcing
Arbusta Empowering Women & Youth Through Impact Sourcing
 
Azure Digital Twins
Azure Digital TwinsAzure Digital Twins
Azure Digital Twins
 
The power of Kinect in 10 minutes
The power of Kinect in 10 minutesThe power of Kinect in 10 minutes
The power of Kinect in 10 minutes
 
Azure Digital Twins
Azure Digital TwinsAzure Digital Twins
Azure Digital Twins
 
Kinect connect
Kinect connectKinect connect
Kinect connect
 
4 track kinect@Bicocca - skeletal tracking
4   track kinect@Bicocca - skeletal tracking4   track kinect@Bicocca - skeletal tracking
4 track kinect@Bicocca - skeletal tracking
 
Kinect for Xbox 360: the world's first viral 3D technology
Kinect for Xbox 360: the world's first viral 3D technologyKinect for Xbox 360: the world's first viral 3D technology
Kinect for Xbox 360: the world's first viral 3D technology
 
Getmoving as3kinect
Getmoving as3kinectGetmoving as3kinect
Getmoving as3kinect
 
Using intel's real sense to create games with natural user interfaces justi...
Using intel's real sense to create games with natural user interfaces   justi...Using intel's real sense to create games with natural user interfaces   justi...
Using intel's real sense to create games with natural user interfaces justi...
 
Communitydays2015
Communitydays2015Communitydays2015
Communitydays2015
 
Adaptive Neighbor Discovery for Mobile and Low Power Wireless Sensor Networks
Adaptive Neighbor Discovery for Mobile and Low Power Wireless Sensor Networks Adaptive Neighbor Discovery for Mobile and Low Power Wireless Sensor Networks
Adaptive Neighbor Discovery for Mobile and Low Power Wireless Sensor Networks
 

Andere mochten auch

[PDF] the molecular control toolkit - Controlling 3D molecular graphics via g...
[PDF] the molecular control toolkit - Controlling 3D molecular graphics via g...[PDF] the molecular control toolkit - Controlling 3D molecular graphics via g...
[PDF] the molecular control toolkit - Controlling 3D molecular graphics via g...Quân Lê
 
第2回名古屋CV・PRML勉強会 「Kinectの導入」
第2回名古屋CV・PRML勉強会 「Kinectの導入」第2回名古屋CV・PRML勉強会 「Kinectの導入」
第2回名古屋CV・PRML勉強会 「Kinectの導入」Tsukasa Sugiura
 
Glanceable NAVI @HMCN
Glanceable NAVI @HMCNGlanceable NAVI @HMCN
Glanceable NAVI @HMCNMasato Miyai
 
HMCNスライド(存在感を伝達する対話システム)
HMCNスライド(存在感を伝達する対話システム)HMCNスライド(存在感を伝達する対話システム)
HMCNスライド(存在感を伝達する対話システム)甚伍 尾坂
 
ViEW2013 「SS-01 画像センサと応用事例の紹介」
ViEW2013 「SS-01 画像センサと応用事例の紹介」ViEW2013 「SS-01 画像センサと応用事例の紹介」
ViEW2013 「SS-01 画像センサと応用事例の紹介」Tsukasa Sugiura
 
Leap Motion - 1st Review
Leap Motion - 1st ReviewLeap Motion - 1st Review
Leap Motion - 1st ReviewTsukasa Sugiura
 
KinectやRealSenseの概要とさまざまな使い方
KinectやRealSenseの概要とさまざまな使い方KinectやRealSenseの概要とさまざまな使い方
KinectやRealSenseの概要とさまざまな使い方Kaoru NAKAMURA
 
HMCN - センサー&デバイスでできる楽しい事例紹介
HMCN - センサー&デバイスでできる楽しい事例紹介HMCN - センサー&デバイスでできる楽しい事例紹介
HMCN - センサー&デバイスでできる楽しい事例紹介Satoshi Maemoto
 
Hiroshima Motion Control Network 12, September, 2015
Hiroshima Motion Control Network   12, September, 2015Hiroshima Motion Control Network   12, September, 2015
Hiroshima Motion Control Network 12, September, 2015Tomoaki Ueda
 
2 track kinect@Bicocca - hardware e funzinamento
2   track kinect@Bicocca - hardware e funzinamento2   track kinect@Bicocca - hardware e funzinamento
2 track kinect@Bicocca - hardware e funzinamentoMatteo Valoriani
 
第38回 名古屋CV・PRML勉強会 「Kinect v2本の紹介とPCLの概要」
第38回 名古屋CV・PRML勉強会 「Kinect v2本の紹介とPCLの概要」第38回 名古屋CV・PRML勉強会 「Kinect v2本の紹介とPCLの概要」
第38回 名古屋CV・PRML勉強会 「Kinect v2本の紹介とPCLの概要」Tsukasa Sugiura
 

Andere mochten auch (13)

Intel real sense handson
Intel real sense handsonIntel real sense handson
Intel real sense handson
 
[PDF] the molecular control toolkit - Controlling 3D molecular graphics via g...
[PDF] the molecular control toolkit - Controlling 3D molecular graphics via g...[PDF] the molecular control toolkit - Controlling 3D molecular graphics via g...
[PDF] the molecular control toolkit - Controlling 3D molecular graphics via g...
 
第2回名古屋CV・PRML勉強会 「Kinectの導入」
第2回名古屋CV・PRML勉強会 「Kinectの導入」第2回名古屋CV・PRML勉強会 「Kinectの導入」
第2回名古屋CV・PRML勉強会 「Kinectの導入」
 
Glanceable NAVI @HMCN
Glanceable NAVI @HMCNGlanceable NAVI @HMCN
Glanceable NAVI @HMCN
 
HMCNスライド(存在感を伝達する対話システム)
HMCNスライド(存在感を伝達する対話システム)HMCNスライド(存在感を伝達する対話システム)
HMCNスライド(存在感を伝達する対話システム)
 
ViEW2013 「SS-01 画像センサと応用事例の紹介」
ViEW2013 「SS-01 画像センサと応用事例の紹介」ViEW2013 「SS-01 画像センサと応用事例の紹介」
ViEW2013 「SS-01 画像センサと応用事例の紹介」
 
Leap Motion - 1st Review
Leap Motion - 1st ReviewLeap Motion - 1st Review
Leap Motion - 1st Review
 
KinectやRealSenseの概要とさまざまな使い方
KinectやRealSenseの概要とさまざまな使い方KinectやRealSenseの概要とさまざまな使い方
KinectやRealSenseの概要とさまざまな使い方
 
HMCN - センサー&デバイスでできる楽しい事例紹介
HMCN - センサー&デバイスでできる楽しい事例紹介HMCN - センサー&デバイスでできる楽しい事例紹介
HMCN - センサー&デバイスでできる楽しい事例紹介
 
Hiroshima Motion Control Network 12, September, 2015
Hiroshima Motion Control Network   12, September, 2015Hiroshima Motion Control Network   12, September, 2015
Hiroshima Motion Control Network 12, September, 2015
 
2 track kinect@Bicocca - hardware e funzinamento
2   track kinect@Bicocca - hardware e funzinamento2   track kinect@Bicocca - hardware e funzinamento
2 track kinect@Bicocca - hardware e funzinamento
 
第38回 名古屋CV・PRML勉強会 「Kinect v2本の紹介とPCLの概要」
第38回 名古屋CV・PRML勉強会 「Kinect v2本の紹介とPCLの概要」第38回 名古屋CV・PRML勉強会 「Kinect v2本の紹介とPCLの概要」
第38回 名古屋CV・PRML勉強会 「Kinect v2本の紹介とPCLの概要」
 
Kinect
KinectKinect
Kinect
 

Ähnlich wie Nui e biometrics in windows 10

Community Day 2013 - The Power of Kinect
Community Day 2013 - The Power of KinectCommunity Day 2013 - The Power of Kinect
Community Day 2013 - The Power of KinectTom Kerkhove
 
Gam02 kinect1, kinect2
Gam02   kinect1, kinect2Gam02   kinect1, kinect2
Gam02 kinect1, kinect2DotNetCampus
 
Xbox one development kit 2 copy - copy
Xbox one development kit 2   copy - copyXbox one development kit 2   copy - copy
Xbox one development kit 2 copy - copyrojizo frio
 
Developing For Kinect For Windows
Developing For Kinect For WindowsDeveloping For Kinect For Windows
Developing For Kinect For WindowsPrashant Tiwari
 
Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2Jeff Sipko
 
PyKinect: Body Iteration Application Development Using Python
PyKinect: Body Iteration Application Development Using PythonPyKinect: Body Iteration Application Development Using Python
PyKinect: Body Iteration Application Development Using Pythonpycontw
 
Natural User Interface Microsoft Kinect and Surface Computing
Natural User Interface Microsoft Kinect and Surface ComputingNatural User Interface Microsoft Kinect and Surface Computing
Natural User Interface Microsoft Kinect and Surface ComputingYuvaraj Ilangovan
 
Microsoft Kinect for Human-Computer Interaction
Microsoft Kinect for  Human-Computer InteractionMicrosoft Kinect for  Human-Computer Interaction
Microsoft Kinect for Human-Computer InteractionMihir Patel
 
Building Applications with the Microsoft Kinect SDK
Building Applications with the Microsoft Kinect SDKBuilding Applications with the Microsoft Kinect SDK
Building Applications with the Microsoft Kinect SDKDataLeader.io
 
Kinect kunkuk final_
Kinect kunkuk final_Kinect kunkuk final_
Kinect kunkuk final_Yunkyu Choi
 
Concerto motionsummer2011week1
Concerto motionsummer2011week1Concerto motionsummer2011week1
Concerto motionsummer2011week1mskmoorthy
 
Synthetic environment
Synthetic environmentSynthetic environment
Synthetic environmentUllas Gupta
 
Writing applications using the Microsoft Kinect Sensor
Writing applications using the Microsoft Kinect SensorWriting applications using the Microsoft Kinect Sensor
Writing applications using the Microsoft Kinect Sensorphildenoncourt
 
Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011Lee Stott
 

Ähnlich wie Nui e biometrics in windows 10 (20)

Community Day 2013 - The Power of Kinect
Community Day 2013 - The Power of KinectCommunity Day 2013 - The Power of Kinect
Community Day 2013 - The Power of Kinect
 
Gam02 kinect1, kinect2
Gam02   kinect1, kinect2Gam02   kinect1, kinect2
Gam02 kinect1, kinect2
 
Xbox one development kit 2 copy - copy
Xbox one development kit 2   copy - copyXbox one development kit 2   copy - copy
Xbox one development kit 2 copy - copy
 
Xbox One Kinect
Xbox One KinectXbox One Kinect
Xbox One Kinect
 
Developing For Kinect For Windows
Developing For Kinect For WindowsDeveloping For Kinect For Windows
Developing For Kinect For Windows
 
Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2
 
PyKinect: Body Iteration Application Development Using Python
PyKinect: Body Iteration Application Development Using PythonPyKinect: Body Iteration Application Development Using Python
PyKinect: Body Iteration Application Development Using Python
 
Natural User Interface Microsoft Kinect and Surface Computing
Natural User Interface Microsoft Kinect and Surface ComputingNatural User Interface Microsoft Kinect and Surface Computing
Natural User Interface Microsoft Kinect and Surface Computing
 
Kinect sensor
Kinect sensorKinect sensor
Kinect sensor
 
Microsoft Kinect for Human-Computer Interaction
Microsoft Kinect for  Human-Computer InteractionMicrosoft Kinect for  Human-Computer Interaction
Microsoft Kinect for Human-Computer Interaction
 
Building Applications with the Microsoft Kinect SDK
Building Applications with the Microsoft Kinect SDKBuilding Applications with the Microsoft Kinect SDK
Building Applications with the Microsoft Kinect SDK
 
Kinect kunkuk final_
Kinect kunkuk final_Kinect kunkuk final_
Kinect kunkuk final_
 
Kinect Lab Pt.
Kinect Lab Pt.Kinect Lab Pt.
Kinect Lab Pt.
 
Kinect
KinectKinect
Kinect
 
Kinect
KinectKinect
Kinect
 
BA_Kinect1.7SDK
BA_Kinect1.7SDKBA_Kinect1.7SDK
BA_Kinect1.7SDK
 
Concerto motionsummer2011week1
Concerto motionsummer2011week1Concerto motionsummer2011week1
Concerto motionsummer2011week1
 
Synthetic environment
Synthetic environmentSynthetic environment
Synthetic environment
 
Writing applications using the Microsoft Kinect Sensor
Writing applications using the Microsoft Kinect SensorWriting applications using the Microsoft Kinect Sensor
Writing applications using the Microsoft Kinect Sensor
 
Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011
 

Kürzlich hochgeladen

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 

Kürzlich hochgeladen (20)

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 

Nui e biometrics in windows 10

  • 1. NUI e Biometrics in Windows 10
  • 3. Marco Dal Pino SW Eng - Consultant @MarcoDalPino mobileprog.com (ENG) mobileprog.net (ITA) Microsoft MVP Intel Black Belt Software Developer Intel Realsense Innovator Realsense & IoT about.me/marcodalpino m.dalpino@dpcons.com
  • 5. Natural User Interface • Use movements / gestures inherent in human nature or in the actions of every day • Rapid functionality learning • Can help people with disabilities to use the software
  • 6. Microsoft Kinect v2 Kinect for Windows gives computers eyes, ears. With Kinect for Windows, businesses and developers are creating applications that allow their customers to interact naturally with computers by simply gesturing and speaking.
  • 7. Kinect v2 - Sensor Components
  • 8. Kinect v2 - Sensor Components Power Light RGB Camera IR Emitters IR Emitters Depth Sensor Depth Sensor Microphone Array
  • 9. Kinect v2 - Hardware requirements • Physical dual-core 3.1 GHz (2 logical cores per physical) or faster • USB 3.0 port dedicated to the Kinect for Windows v2 sensor • 2 GB of RAM • Graphics card that supports DirectX 11 • Windows or Windows Embedded 8 or 8.1, 10 Kinect Configuration Verifier tool http://go.microsoft.com/fwlink/?LinkID=513889
  • 10. Kinect v2 - High level architecture Kinect Drivers Kinect Runtime .NET API .NET Apps Native API Native Apps WinRT API Windows Store Apps C#, VB, JS, C++/CX Physical Kinect Sensor
  • 11. Kinect v2 - High level architecture Kinect Service Source Kinect Reader Kinect Reader Kinect Reader Application Application Application Multiple Kinect-enabled applications can run simultaneously
  • 12. Kinect v2 - High level architecture PC PC PC PC HUB SERVER Multiple connectionOne connection
  • 13. Kinect v2 – Frame source Color Depth Infrared Body index Body Audio
  • 14. Kinect v2 – Color frame source • 1920 x 1080 array of pixel • Different sensor than depth • 30 fps • Will maintain brightness and quality by dropping to 15 fps in low-light
  • 15. Kinect v2 – Depth frame source • 512 x 424 array of pixel • 30 fps • Distance range 0.5 – 4.5 meters
  • 16. Kinect v2 – Infrared frame source • 512 x 424 array of pixel • 30 fps • Ambient light removed • From the same physical sensor as depth
  • 17. Kinect v2 – Body index frame source • 512 x 424 array of pixel • Up to 6 simultaneous bodies • 30 fps • Same resolution as depth
  • 18. Kinect v2 – Body frame source • Frame data is a collection of Body object each with 25 joints (each joint has position in 3D space and orientation) • Up to 6 simultaneous bodies • 30 fps • Hand state (Open, Closed, Lasso) • Lean
  • 19. Kinect v2 – Body frame source
  • 20. Kinect v2 – Audio source • Data is audio samples captured over a specific interval of time • Audio is associated with an “audio beam”
  • 21. Kinect v2 – Multi frame source • Allows to get a matched set of frames form multiple source on a single time. • Delivers frames at the lowest fps of the selected sources.
  • 22. Kinect v2 – Coordinate Mapper It provides conversion between each systems. It is possible perform single or multiple conversion. Name Applies to Dimension Units Range Origin ColorSpacepoint Color 2 pixel 1920x1080 Top left DepthSpacePoint Depth, Infrared, Body index 2 pixel 512x424 Top left CameraSpacePoint Body 3 meter NA Infrared / Depth camera
  • 23. Kinect v2 – Application Lifecycle KinectSensor kinectSensor = KinectSensor.GetDefault(); if (!kinectSensor.IsAvailable) return; if(!kinectSensor.IsOpen) kinectSensor.Open(); // CODE HERE kinectSensor.Close(); First step: Add reference to Microsoft.Kinect assembly Microsoft Kinect NuGet Packages available
  • 24. Kinect v2 – Basic flow of programming KinectSensor.GetDefault().DepthFrameSource.OpenReader().AcquireLatestFrame().CopyFrameDataToArray(frameData);
  • 25. Kinect v2 – Basic flow of programming Readers allow to access to the Kinect frame. It is possible to read the frame via pooling: var colorFrameReader = kinectSensor.ColorFrameSource.OpenReader(); using (var colorFrame = colorFrameReader.AcquireLatestFrame()) { if (colorFrame == null) return; // CODE HERE } var colorFrameReader = kinectSensor.ColorFrameSource.OpenReader(); colorFrameReader.FrameArrived += OnColorFrameReader; --- private void OnColorFrameReader(object sender, ColorFrameArrivedEventArgs e) { using (var colorFrame = e.FrameReference.AcquireFrame()) { if (colorFrame == null) return; // CODE HERE } } or by event:
  • 26. Kinect v2 – Face Detection and Alinement Through Kinect Face it is possibile detects body faces point and expression. Face points: • The user's left eye point • The user's right eye point • The user's nose point • The user's left corner of the mouth point • The user's right corner of the mouth point Each point can be visualized in color or Infrared space.
  • 27. Kinect v2 – Face Expression Face expressions: • The user's happy facial expression • The user's right eye is closed • The user's left eye is closed • The user's mouth is open • The user's mouth has moved since the previous frame • The user is looking at the sensor • The user is wearing glasses
  • 28. Kinect v2 – Face Detection and Alinement • Add reference to Microsoft.Kinect.Face assembly • Use FaceFrameSource and FaceFrameReader classes • Use FaceFrame class in order to get face information Microsoft Kinect NuGet Packages available
  • 29. Kinect v2 – High Definition Face Through Kinect High Definition Face it is possibile detects over 1000 facial points in the 3D space. • 1347 facial points • 2340 triangles • Hair color • Body color • Face 3D Model Not sufficiently documented Many API are available only in C++
  • 30. Kinect v2 – High Definition Face • Add reference to Microsoft.Kinect.Face assembly • Use HighDefinitionFaceFrameSource and HighDefinitionFaceFrameReader classes • Use HighDefinitionFaceFrame class in order to get high definition face information Microsoft Kinect NuGet Packages available
  • 31. Kinect v2 – Hand Pointer Gestures Engagement Press Panning / ZoomTargeting
  • 32. Kinect v2 – Hand Pointer Gestures - Press Recommended Minimum Size: • 208 x 208 (in 1080p resolution) • Press attraction towards center • Larger buttons will just attract away from the edge Adapting to smaller visual sizes: • Make large-size hit testable • Set KinectRegion.KinectPressInset (Thickness) to non-visible part of button • Attraction region is smaller
  • 33. Kinect v2 – Hand Pointer Gestures - WPF • Add Reference to Microsoft.Kinect.Wpf.Controls • Add KinectRegion as container for your Windows Control • Run it!
  • 34. Kinect v2 – Hand Pointer Gestures – Store App • Add Reference to Microsoft.Kinect.Xaml.Controls • Enable Microphone + Camera capabilities in App Manifest • Add KinectRegion as container for rootFrame in App.xaml.cs • Run it!
  • 36. Kinect v2 – Recording and Playback Kinect Studio • Record sample clip of data from the Kinect v2 device. • Playback a recorded sample clip of data • Play data from a live stream directly from a connected Kinect v2 Device
  • 37. Kinect v2 – Visual Studio Visualizer Visualizers are components of the Visual Studio debugger user interface. A visualizer creates a dialog box or another interface to display a variable or object in a manner that is appropriate to its data type. It is possible to create custom visualizer just implementing some .NET interfaces.
  • 38. Kinect v2 – Fusion Microsoft KinectFusion provides 3D object scanning and model creation using a Kinect for Windows sensor. The user can paint a scene with the Kinect camera and simultaneously see, and interact with, a detailed 3D model of the scene.
  • 39. Kinect v2 – Custom gesture / pose Inside Kinect v2 SDK it is available a tool that allow you to create custom gesture. Visual Gesture Builder It is possible define discrete or continuous gesture using Machine Learning technology • Adaptive Boosting (AdaBoost) Trigger: Determine if player is performing a gesture • Random Forest Regression (RFR) Progress: Determine the progress of the gesture performed by the player
  • 40. Kinect v2 – Custom gesture / pose Visual Gesture Builder • Organize data using Project/Solution • Give meaning to data by tagging gesture • Build gesture using Machine Learning technology • Analyze & Test the result of the gesture detection • Live preview of result
  • 41. Kinect v2 – Visual Gesture Builder Basic steps for using Visual Gesture Builder: 1. Create a solution. 2. Create one or more projects. 3. Add a set of clip files to each project. 4. Tag the frames in the clip files associated with each gesture. 5. Build a training gesture database. 6. Use the built gesture database into your application.
  • 42. Kinect v2 – Custom gesture/pose Heuristic • Gesture is a coding problem • Quick to do simple gestures/poses (hand over head) • ML can also be useful to find good signals for Heuristic approach ML with Visual Gesture Builder • Gesture is a data problem • Signals which may not be easily human understandable (progress in a baseball swing) • Large investment for production • Danger of over-fitting, causes you to be too specific – eliminating recognition of generic cases
  • 44. Kinect v2 – Other Framework
  • 45. Kinect v2 – Other Framework Computer Vision APIs Face APIs
  • 46. Kinect v2 – Official Resources • General Info & Blog http://kinectforwindows.com • Developer Forums http://aka.ms/k4wv2forum • Download Kinect v2 SDK http://aka.ms/k4wv2sdk • Twitter @KinectWindows
  • 48.
  • 49. Intel® RealSense™ 3D Camera F200
  • 50. F200 Camera Specs Spec Color Depth (IR) Resolution 1080p VGA Aspect Ratio 16:9 4:3 Frame Rate 30/60/120 FPS FOV (D X V X H) 77º x 43º x 70º 90º x 59º x 73º Other Effective Range 0.2 – 1.2 m Environment Indoor/Outdoor
  • 51. Intel Information Technology 51 Where to find the Intel® RealSense™ technology?
  • 52. Intel® RealSense™ 3D Cameras Intel® RealSense™ 3D Camera (Front F200) Intel® RealSense™ Snapshot Intel® RealSense™ 3D Camera (Rear R200)
  • 53.
  • 54. Intel Information Technology • Free tools and APIs to develop apps with NUI in a simple way • Focus where is important: the content • Acessible for beginners and extensible for experts
  • 55. Intel Information Technology Hands - Tracking and Joints • 22 Joints • Detects Body Side • Tracks X, Y and Z positions from detected hands
  • 56. Hands – Gestures and Poses
  • 57. Intel Information Technology Face – Tracking • Tracking ( 4 faces) • Landmarks Tracking (1 Face) • X, Y, Width and Height • Average Depth
  • 58. Intel Information Technology Face – Landmarks • 78 landmark points: • Nose • Mouth • Jaw • Eyes • Eyebrows
  • 61. Face – Emotions (Experimental)
  • 63. Speech – Synthesis Your Score is: Five Hundred and Sixty Five!
  • 67. Microsoft Passport e Windows Hello
  • 68. Going beyond passwords Problems: • Passwords are hard to remember • Passwords are re-used -> server breach attacks Microsoft passport solution: • User has to remember only one PIN or can use Windows Hello • No secret is stored on servers -> Two factor authentication with asymmetric keys
  • 69. Windows 10 and Microsoft Passport Simple for Developer • Reduces the cost associated with password compromise and reset • Native API support for strong authentication via Universal Windows Platform • JavaScript API support for browsers coming later this year.
  • 70. Windows Hello: Sensor Support • Fingerprint • All current fingerprint capable devices are supported • Face • All current (f200) and future Intel® RealSense™ are supported for Windows Hello face authentication • All devices that include an IR sensor that meets Microsoft sensor spec • Iris • A selection of devices will be arriving to market within the next 12 months • More details on sensor requirements and support coming soon
  • 71. Windows Hello • Windows 10 support three type of biometric Auth: • Fingerprint • Face • Iris • All of three provide gesture and action recommended on the hardware supported • Integrated with the Windows Biometric Framework • use the same scenary and experience • Share the same language for use and definition
  • 72. Microsoft Passport: Provisioning Two Step Verification Create Microsoft Passport Register Public key with Server • KeyCredentialRetrievalResult kcResult = await • KeyCredentialManager.RequestCreateAsync(accountID, KeyCredentialCreationOption.FailIfExists);
  • 73. Microsoft Passport: Usage Open Microsoft Passport Sign challenge from Server with Microsoft Passport Send digital signature to server • KeyCredentialOperationResult kcOpResult = await kcResult.Credential.RequestSignAsync(serverChallenge);
  • 74. Microsoft Passport: Deletion Open Microsoft Passport Delete Passport Delete Public Key on Server • KeyCredentialRetrievalResult kcResult = await KeyCredentialManager.OpenAsync(accountID);
  • 76. Reference • Build Session • Microsoft Passport and Windows Hello: Moving Beyond Passwords and Credential Theft • https://channel9.msdn.com/events/Build/2015/2-639 • API • Windows.Security.Credentials namespace • Https://msdn.microsoft.com/en-us/library/windows/apps/windows.security.credentials.aspx
  • 77. Q&A

Hinweis der Redaktion

  1. Explorar o público (colocar essas perguntas na pesquisa final) Quem conhece RealSense? Quem desenvolve utilizando o RealSense SDK versão 2014? Quem desenvolve outros SDKs que trabalham com este tipo de tecnologia? (Leap Motion, Kinect, etc)
  2. A principal câmera que temos no momento é a F200 que vocês podem ver nessa foto.
  3. Color Camera Resolution: 1080p@30FPS (FHD) Active Pixels: 1920x1080 (2M) Aspect Ratio: 16:9 Frame Rate: 30/60/120 FPS Field of View: 77º x 43º x 70º (Cone) (D x V x H) Color Formats: YUV4:2:2 (Skype/Lync Modes**) Depth (IR) Camera Resolution: 640x480@60FPS (VGA), HVGA@120FPS 640x480@120FPS (IR) Active Pixels: 640x480(VGA) Aspect Ratio: 4:3 Frame Rate: 30/60/120 FPS (Depth) 120FPS (IR) Field of View: 90º x 59º x 73º (Cone) IR Projector FOV: N/A x 56º x 72º (Pyramid) Color Formats: N/A
  4. Onde está o RealSense? Até o ano passado estivemos trabalhando com o ecosistema para distibuir kits de desenvolvimento e garantir que desenvolvedores como vocês começassem a criar usos bacanas para essa tecnologia. E agora estamos trabalhando para espalhar o RealSense por vários devices junto com vários parceiros do ecosistema para que os primeiros devices cheguem ao mercado entre 2014 e 2015. Inclusive alguns já foram anunciados na CES: mostram alguns deles.
  5. Basicamente trabalhamos com duas partes: A Intel RealSense 3D Camera Intel RealSense SDK Mas além disso estamos trabalhando em duas câmeras adicionais para ampliar os modelos de uso e possibilidade de integração, e teremos: R200 Snapshot: camera mais simples com foco em telefones e tablets e uso mais casual. Trabalha com pós processamento das imagens depois da captura. Sim é a camera que esta no tablet da Dell. R200: a F200 é uma camera com objetivo de capturar interações com o usuário (Front or User Facing). Já a R200 é conhecida como World Facing camera e tem a proposta de capturar informações sobre o ambiente onde o device esta inserido. F200: Interações naturais, imersivas, colaboração, jogos, aprendizagem e scaneamento 3D Snapshot: Medições de distância, foco e cor, filtros de movimento R200: Realidade Aumentada, criação de conteúdo, scaneamento de objetos
  6. Explorar o público (colocar essas perguntas na pesquisa final) Quem conhece RealSense? Quem desenvolve utilizando o RealSense SDK versão 2014? Quem desenvolve outros SDKs que trabalham com este tipo de tecnologia? (Leap Motion, Kinect, etc)
  7. APIs e ferramentas para implementação de NUI Acessível para iniciantes e extensível para experts Foco do app aonde mais importa: conteúdo
  8. Arrumar fundo azul da imagem ** Reference Links: https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_programming_guide_gesture.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_programming_guide_gesture.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_general_procedure_2.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_hand_calibration_data.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_alternative_hand_tracking_solu.html Em Rastreamento e Pontos, podemos colher os dados de cada um dos 22 pontos, sabendo também qual o lado do corpo (esquerda ou direira) pertencem.
  9. Reference Links: https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_pose_and_gesture_recognition.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_gesture_interaction_guide.html ** ERRO NAS IMAGENS ** TAP GESTURE Aqui observamos os gestos que compõem a RealSense SDK: SpreadFingers ou Big5, gesto estático, o mais simples identificando uma mão aberta; V-Sign, ou mais conhecido V de vitória. Também estático; Tap, representa um gesto dinâmico de pressionar; Wave, gesto dinâmico que representa para nós um “tchau”;
  10. TENTAR ARRUMAR FUNDO AZUL* https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_general_procedure_face.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_general_procedure_face.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_face_location_data.html Ilustração da detecção de rostos. No máximo 4 rostos podem ser detectados ao mesmo tempo. Apenas 1 desses 4 podem ter todos os pontos do rosto rastreados (landmarks). Mostrar Implementação
  11. TENTAR ARRUMAR FUNDO AZUL** https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_face_landmark_data.html Ao todo podem ser detectados 78 pontos no rosto, dividindo-se nos seguintes grupos: Nariz; Boca; Mandíbula; Olho (esquerdo e direito); Sombrancelha (esquerda e direita). Mostrar Implementação
  12. Tentar arrumar fundo azul **** https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_face_pose_data.html Ilustração dos ângulos X,Y,Z da cabeça: Pitch (y), para cima e para baixo; Yaw (x), olhar para esquerda ou direita; Roll (z), movimentar cabeça para esquerda ou para direita, mantendo X e Y. ** melhorar descrição... Mostrar Implementação
  13. https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_facial_expression_data.html Expressões Faciais; Em uma forma geral conseguimos captar, através do módulo Face, 8 expressões faciais (com a intensidade aplicada): Sorriso; Boca aberta; Beijo (?), Duck face :^ Olho fechado (esquerdo e direito); Movimento das pupilas (esquerda,direita, cima, baixo) de cada olho; Sombrancelha levantada (esquerda e direita); Sombrancelha abaixada (?) (esquerda e direita); Mostrar implementação...
  14. https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_emotion_detection_via_senseman.html Apesar de ainda experimental, implementamos um sample utilizando o módulo de emoções. OBS: ele fica separado do módulo Face. Baseando nas expressões detectadas, o algoritmo tenta prever as emoçõs do usuário, apresentando a intensidade de cada uma. 6 emoções podem ser detectadas: Irritado (ou Raiva); Descontente; Com medo; Alegre; Triste; Surpreso. Mostrar implementação...
  15. Reference links: https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_speech_recognition_procedure.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_command_control_and_dictation.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_handle_recognition_events.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_about_audio_recording_level.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_about_confidence_level.html Neste modo, dizemos quais os comandos podem ser pronunciados, fazendo então um filtro para o algoritmo de detecção. Um exemplo de uso seria o comando “play” para tocar uma música na sua aplicação.
  16. https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_speech_synthesis.html Basicamente um text-to-speech. Definimos o texto a ser falado e o módulo encarrega-se de reproduzir através do AudioManager instanciado.
  17. https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_user_segmentation.html O módulo de segmentação encarrega-se de gerar as imagens removendo boa parte do background. Feita a remoção, podemos adicionar o fundo que queremos via código.
  18. Reference Links: https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_object_tracking.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_object_tracking_via_sense_manager.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_configuration_and_tracking_dat.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_the_metaio_toolbox.html Temos dois modos de rastreamento de objetos: 2d e 3d Iremos mostrar uma implementação do Object Tracking 2d. Passamos uma imagem/foto do objeto (no caso uma tag), carregamos nas configurações do módulo e o mesmo se encarrega de rastrear. Devemos lembrar que, para o reconhecimento de objetos (3d ou 2d), devemos antes de tudo calibrar a câmera (podemos mostrar como fazer isso, mas depende do tempo que tivermos);
  19. Reference Links: https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_object_tracking.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_object_tracking_via_sense_manager.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_configuration_and_tracking_dat.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_the_metaio_toolbox.html Temos dois modos de rastreamento de objetos: 2d e 3d Iremos mostrar uma implementação do Object Tracking 2d. Passamos uma imagem/foto do objeto (no caso uma tag), carregamos nas configurações do módulo e o mesmo se encarrega de rastrear. Devemos lembrar que, para o reconhecimento de objetos (3d ou 2d), devemos antes de tudo calibrar a câmera (podemos mostrar como fazer isso, mas depende do tempo que tivermos);
  20. Colocar contatos: Carrara, Felipe e João Pedro