Creating Photo and Video Effects Using Depth
|
|
- Toby Lang
- 5 years ago
- Views:
Transcription
1 Session #WWDC18 Creating Photo and Video Effects Using Depth 503 Emmanuel Piuze-Phaneuf, Core Image Ron Sokolovsky, Video Engineering 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.
2 Portrait
3 Portrait Depth
4 NEW Portrait Depth Matte
5
6
7 Portrait Segmentation API
8 Portrait Matte
9 Portrait Matte Segmentation Background Foreground
10 Portrait Matte Segmentation Fuzzy mask 1.0 Background Foreground
11 Portrait Matte Segmentation Fuzzy mask 1.0 Fine details Background Foreground
12 Portrait Matte Segmentation Fuzzy mask 1.0 Fine details Background Many applications Foreground
13
14 ios 12
15 ios 12 Front and rear
16 ios 12 Front and rear Portrait
17 ios 12 Front and rear Portrait People
18 ios 12 Front and rear Portrait People Linear
19 ios 12 Front and rear Portrait People Linear No guarantee
20 Loading ImageIO let auxiliarydata = CGImageSourceCopyAuxiliaryDataInfoAtIndex( imagesource, // CGImageSource 0, // Int kcgimageauxiliarydatatypeportraiteffectsmatte) // New ImageIO flag
21 Loading ImageIO let auxiliarydata = CGImageSourceCopyAuxiliaryDataInfoAtIndex( imagesource, // CGImageSource 0, // Int kcgimageauxiliarydatatypeportraiteffectsmatte) // New ImageIO flag
22 Loading ImageIO let auxiliarydata = CGImageSourceCopyAuxiliaryDataInfoAtIndex( imagesource, // CGImageSource 0, // Int kcgimageauxiliarydatatypeportraiteffectsmatte) // New ImageIO flag { kcgimageauxiliarydatainfodata: CFDataRef, // Image data kcgimageauxiliarydatainfodatadescription: CFDictionary, // Pixel buffer attributes kcgimageauxiliarydatainfometadata: CGImageMetadataRef // Image metadata }
23 Loading AVPortraitEffectsMatte let auxiliarydata = CGImageSourceCopyAuxiliaryDataInfoAtIndex(...) let mattedata = AVPortraitEffectsMatte(fromDictionaryRepresentation: auxiliarydata)
24 Loading AVPortraitEffectsMatte let auxiliarydata = CGImageSourceCopyAuxiliaryDataInfoAtIndex(...) let mattedata = AVPortraitEffectsMatte(fromDictionaryRepresentation: auxiliarydata)
25 Loading AVPortraitEffectsMatte let auxiliarydata = CGImageSourceCopyAuxiliaryDataInfoAtIndex(...) let mattedata = AVPortraitEffectsMatte(fromDictionaryRepresentation: auxiliarydata)
26 Loading AVPortraitEffectsMatte let auxiliarydata = CGImageSourceCopyAuxiliaryDataInfoAtIndex(...) let mattedata = AVPortraitEffectsMatte(fromDictionaryRepresentation: auxiliarydata) let buf = mattedata.mattingimage; // CVPixelBuffer let format = mattedata.pixelformattype; // OSType kcvpixelformattype_onecomponent8
27 Loading AVPortraitEffectsMatte let auxiliarydata = CGImageSourceCopyAuxiliaryDataInfoAtIndex(...) let mattedata = AVPortraitEffectsMatte(fromDictionaryRepresentation: auxiliarydata) let buf = mattedata.mattingimage; // CVPixelBuffer let format = mattedata.pixelformattype; // OSType kcvpixelformattype_onecomponent8
28 Capture AVCapturePhoto AVCaptureInput AVCaptureDevice AVCaptureSession
29 Capture AVCapturePhoto AVCaptureInput Check support AVCaptureDevice AVCaptureSession AVCapturePhotoOutput.isDepthDataDeliverySupported.isPortraitEffectsMatteDeliverySupported
30 Capture AVCapturePhoto AVCaptureInput Check support AVCaptureDevice Enable with Depth AVCaptureSession AVCapturePhotoOutput.isDepthDataDeliverySupported.isPortraitEffectsMatteDeliverySupported AVCapturePhotoSettings.isPortraitEffectsMatteDeliveryEnabled=true.isDepthDataDeliveryEnabled=true
31 Capture AVCapturePhoto AVCaptureInput Check support AVCaptureDevice Enable with Depth AVCaptureSession Get the matte AVCapturePhotoOutput.isDepthDataDeliverySupported.isPortraitEffectsMatteDeliverySupported AVCapturePhotoSettings didfinishprocessingphoto:.isportraiteffectsmattedeliveryenabled=true.isdepthdatadeliveryenabled=true AVCapturePhoto.portraitEffectsMatte
32 Loading and Saving Core Image let opts = [ CIImageOption.auxiliaryPortraitEffectsMatte: true ] let matte = CIImage(imageWithContentsOfURL:url options:opts)
33 Loading and Saving Core Image let opts = [ CIImageOption.auxiliaryPortraitEffectsMatte: true ] let matte = CIImage(imageWithContentsOfURL:url options:opts)
34 Loading and Saving Core Image let opts = [ CIImageOption.auxiliaryPortraitEffectsMatte: true ] let matte = CIImage(imageWithContentsOfURL:url options:opts)
35 Loading and Saving Core Image let opts = [ CIImageOption.auxiliaryPortraitEffectsMatte: true ] let matte = CIImage(imageWithContentsOfURL:url options:opts) let opts = [ CIImageOption.portraitEffectsMatteImage : matte ] [ctx writeheifrepresentationofimage(of:image to:url format:.rgba8 colorspace:cs options:opts error:&error]
36 Loading and Saving Core Image let opts = [ CIImageOption.auxiliaryPortraitEffectsMatte: true ] let matte = CIImage(imageWithContentsOfURL:url options:opts) let opts = [ CIImageOption.portraitEffectsMatteImage : matte ] [ctx writeheifrepresentationofimage(of:image to:url format:.rgba8 colorspace:cs options:opts error:&error]
37 Loading and Saving Core Image let opts = [ CIImageOption.auxiliaryPortraitEffectsMatte: true ] let matte = CIImage(imageWithContentsOfURL:url options:opts) let opts = [ CIImageOption.portraitEffectsMatteImage : matte ] [ctx writeheifrepresentationofimage(of:image to:url format:.rgba8 colorspace:cs options:opts error:&error]
38 RGB Depth Matte RFC 4032 x x x 1512 FFC TrueDepth 3088 x x x 1160
39 RGB Depth Matte RFC 4032 x x x 1512 FFC TrueDepth 3088 x x x 1160
40 Demo Jupyter Notebook
41 Related Session Core Image: Performance, Prototyping, and Python Executive Ballroom Thursday 5:00PM
42 Real-Time Video Effects with TrueDepth Ron Sokolovsky, Video Engineering
43
44
45 TrueDepth stream Point clouds Backdrop
46 TrueDepth stream Point clouds Backdrop
47 Depth Map Minimum to maximum depth in frame Black pixels no depth
48
49 Video TrueDepth stream
50 The dark side TrueDepth stream
51 The dark side TrueDepth stream
52 How do you add a TrueDepth stream?
53 // Discover the TrueDepth camera let videodevicediscoverysession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtintruedepthcamera], mediatype:.video, position:.front) // Initialize capture device input let videodeviceinput = try AVCaptureDeviceInput(device: videodevicediscoverysession.devices.first!) // Add a depth data output to the session let depthdataoutput = AVCaptureDepthDataOutput() session.addoutput(depthdataoutput) depthdataoutput.setdelegate(self, callbackqueue: dataoutputqueue)
54 // Discover the TrueDepth camera let videodevicediscoverysession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtintruedepthcamera], mediatype:.video, position:.front) // Initialize capture device input let videodeviceinput = try AVCaptureDeviceInput(device: videodevicediscoverysession.devices.first!) // Add a depth data output to the session let depthdataoutput = AVCaptureDepthDataOutput() session.addoutput(depthdataoutput) depthdataoutput.setdelegate(self, callbackqueue: dataoutputqueue)
55 // Discover the TrueDepth camera let videodevicediscoverysession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtintruedepthcamera], mediatype:.video, position:.front) // Initialize capture device input let videodeviceinput = try AVCaptureDeviceInput(device: videodevicediscoverysession.devices.first!) // Add a depth data output to the session let depthdataoutput = AVCaptureDepthDataOutput() session.addoutput(depthdataoutput) depthdataoutput.setdelegate(self, callbackqueue: dataoutputqueue)
56 // Discover the TrueDepth camera let videodevicediscoverysession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtintruedepthcamera], mediatype:.video, position:.front) // Initialize capture device input let videodeviceinput = try AVCaptureDeviceInput(device: videodevicediscoverysession.devices.first!) // Add a depth data output to the session let depthdataoutput = AVCaptureDepthDataOutput() session.addoutput(depthdataoutput) depthdataoutput.setdelegate(self, callbackqueue: dataoutputqueue)
57 // Discover the TrueDepth camera let videodevicediscoverysession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtintruedepthcamera], mediatype:.video, position:.front) // Initialize capture device input let videodeviceinput = try AVCaptureDeviceInput(device: videodevicediscoverysession.devices.first!) // Add a depth data output to the session let depthdataoutput = AVCaptureDepthDataOutput() session.addoutput(depthdataoutput) depthdataoutput.setdelegate(self, callbackqueue: dataoutputqueue)
58 Disparity or Depth? Disparity usually yields better results Depth values are intuitive, but the error goes with Z 2 let disparitymap = depthmap.applyingfilter( CIDepthToDisparity, parameters: nil)
59 Resolution sessionpreset Aspect Ratio RGB TrueDepth.photo 4:3 1440x x480.hd1920x :9 1920x x360.hd1280x720 16:9 1280x x360.vga640x480 4:3 640x x480
60 Resolution sessionpreset Aspect Ratio RGB TrueDepth.photo 4:3 1440x x480.hd1920x :9 1920x x360.hd1280x720 16:9 1280x x360.vga640x480 4:3 640x x480
61 Test System Pressure High resolutions + fast frame rate + processing + duration AVCaptureDevice.SystemPressureState.Level Nominal Fair Serious Critical Shutdown
62 Monitor System Pressure and Adapt Prevent AVCaptureDevice shutdown Reduce frame rate when level is increasing: Nominal (30 fps) Serious (15 fps) Nominal (30 fps) Fair (24 fps) Serious (20 fps) Critical (15 fps) capturedevice.lockforconfiguration() capturedevice.activevideominframeduration = CMTimeMake(1, 15) // 15 fps capturedevice.unlockforconfiguration()
63 Holey depth map, Batman!
64 Filtered Depth Map Smoothed, spatially and temporally Holes filled, using RGB For photography/segmentation applications ios 12: spatial resolution of filtering improved from ios 11 depthdataoutput.isfilteringenabled = true // default
65
66
67 Using Raw Depth Data Use for point clouds, or real world measurements No depth value == 0 Watch out for averaging/downsampling depthdataoutput.isfilteringenabled = false
68 Depth Map Holes The TrueDepth camera detects most objects up to about five meters Low reflectivity materials absorb light
69
70
71
72
73 Depth Map Holes Reflectivity Specular materials reflect light only from certain directions
74
75
76
77
78 Depth Map Holes Reflectivity Specular Outdoor conditions are more challenging
79 Outdoor
80 Outdoor
81 Depth Map Holes Reflectivity Specular Outdoor Shadow from parallax between projector and camera
82 Shadows
83 Shadows
84 Shadows
85 Demo TrueDepthStreamer
86 TrueDepth stream Point clouds Backdrop
87 TrueDepth stream Point clouds Backdrop
88 Depth Map Z = func(u, V)
89 Depth Map Z = func(u, V) Point Cloud (X, Y, Z)
90 Depth Map Z = func(u, V) Point Cloud (X, Y, Z)
91 From Depth Map to Point Cloud Intrinsics Matrix X = (U - X0) Z fx Y = (V - Y0) Z fy f s x x f y y
92 From Depth Map to Point Cloud Intrinsics Matrix X = (U - X0) Z fx Y = (V - Y0) Z fy f s x x f y y matrix_float3x3 intrinsicsdepthdata.cameracalibrationdata.intrinsicmatrix;
93 RGB-D Infrared Camera Front RGB Camera
94 RGB-D Infrared Camera Front RGB Camera
95 Metal Graphic Shaders
96 Vertex Shader Point location Z = func(u, V) Transform to (X, Y, Z) Reproject with view matrix
97 Vertex Shader Point location Z = func(u, V) Transform to (X, Y, Z) Reproject with view matrix
98 Fragment Shader Point color Get vertex info Discard holes (Z == 0) Apply color from RGB frame at vertex coordinates
99 Fragment Shader Point color Get vertex info Discard holes (Z == 0) Apply color from RGB frame at vertex coordinates
100 TrueDepth stream Point clouds Backdrop
101 TrueDepth stream Point clouds Backdrop
102 Demo Backdrop
103 Per-Frame, Real-Time Processing Detect a face Create binary foreground mask, smooth, and upscale Upscale foreground to background and blend
104 Per-Frame, Real-Time Processing Detect a face Create binary foreground mask, smooth, and upscale Upscale foreground to background and blend Resize background to video resolution once: Not upscaling foreground Blending at lower resolution
105 Getting Face Metadata Until a face is detected, use default face depth of 0.5 meters Transform center of face to depth map coordinates, and get its depth metadataoutput.metadataobjecttypes = [AVMetadataObject.ObjectType.face]
106 Binary Foreground Mask Threshold = face depth meters Binary mask: Foreground = 1 Background = 0
107 Binary Mask
108 Binary Mask
109 Gaussian Blur Background Foreground Mask Blurred DepthMask GaussianBlur
110 Blur Radius
111 Blur Radius
112 Gamma Adjust Background Foreground Mask Blurred Gamma=2 DepthMask GaussianBlur Gamma = 2
113 Gamma Adjust Background Foreground 1 Gamma= Mask Blurred DepthMask GaussianBlur Gamma = 2 Gamma = 0.5 Gamma=0.5
114 Adjusting Gamma
115 Adjusting Gamma
116 Binary Mask Alpha matte let matte = depthmask.applyingfilter("cigaussianblur", parameters: ["inputradius": 20]).applyingFilter("CIGammaAdjust", parameters: ["inputpower": 2]).applyingFilter( CIBicubicScaleTransform, parameters: inputscale : RGBwidth/depthWidth]) Mask
117 Binary Mask Alpha matte let matte = depthmask.applyingfilter("cigaussianblur", parameters: ["inputradius": 20]).applyingFilter("CIGammaAdjust", parameters: ["inputpower": 2]).applyingFilter( CIBicubicScaleTransform, parameters: inputscale : RGBwidth/depthWidth]) Mask Blurred
118 Binary Mask Alpha matte let matte = depthmask.applyingfilter("cigaussianblur", parameters: ["inputradius": 20]).applyingFilter("CIGammaAdjust", parameters: ["inputpower": 2]).applyingFilter( CIBicubicScaleTransform, parameters: inputscale : RGBwidth/depthWidth]) Mask Blurred Gamma
119 Binary Mask Alpha matte let matte = depthmask.applyingfilter("cigaussianblur", parameters: ["inputradius": 20]).applyingFilter("CIGammaAdjust", parameters: ["inputpower": 2]).applyingFilter( CIBicubicScaleTransform, parameters: inputscale : RGBwidth/depthWidth]) Mask Blurred Gamma Upscale to RGB
120 Clamp Before Filtering Avoiding edge softening let matte = depthmask.clampedtoextent().applyingfilter("cigaussianblur", parameters: ["inputradius": 20]).applyingFilter("CIGammaAdjust", parameters: ["inputpower": 2]).applyingFilter( CIBicubicScaleTransform, parameters: [ inputscale : RGBwidth/depthWidth])
121 Crop After Filtering Keeping the original extent let matte = depthmask.clampedtoextent().applyingfilter("cigaussianblur", parameters: ["inputradius": 20]).applyingFilter("CIGammaAdjust", parameters: ["inputpower": 2]).cropped(to: depthmask.extent).applyingfilter( CIBicubicScaleTransform, parameters: [ inputscale : RGBwidth/depthWidth])
122 Blending Foreground with Background let output = rgbimage.applyingfilter( CIBlendWithMask", parameters: ["inputmaskimage": matte, inputbackgroundimage : background])
123 Blending Foreground with Background let output = rgbimage.applyingfilter( CIBlendWithMask", parameters: ["inputmaskimage": matte, inputbackgroundimage : background])
124 TrueDepth Stream 640x480 depth map registered to video at 30 fps
125 TrueDepth Stream 640x480 depth map registered to video at 30 fps
126 TrueDepth Stream 640x480 depth map registered to video at 30 fps
127 More Information AVCapture Lab Technology Lab 4 Thursday 3:00PM
128
Building Visually Rich User Experiences
Session App Frameworks #WWDC17 Building Visually Rich User Experiences 235 Noah Witherspoon, Software Engineer Warren Moore, Software Engineer 2017 Apple Inc. All rights reserved. Redistribution or public
More informationCore ML in Depth. System Frameworks #WWDC17. Krishna Sridhar, Core ML Zach Nation, Core ML
System Frameworks #WWDC17 Core ML in Depth Krishna Sridhar, Core ML Zach Nation, Core ML 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from
More informationSceneKit: What s New Session 604
Graphics and Games #WWDC17 SceneKit: What s New Session 604 Thomas Goossens, SceneKit engineer Amaury Balliet, SceneKit engineer Anatole Duprat, SceneKit engineer Sébastien Métrot, SceneKit engineer 2017
More informationMetal for Ray Tracing Acceleration
Session #WWDC18 Metal for Ray Tracing Acceleration 606 Sean James, GPU Software Engineer Wayne Lister, GPU Software Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted
More informationVision Framework. Building on Core ML. Media #WWDC17. Brett Keating, Apple Manager Frank Doepke, He who wires things together
Session Media #WWDC17 Vision Framework Building on Core ML 506 Brett Keating, Apple Manager Frank Doepke, He who wires things together 2017 Apple Inc. All rights reserved. Redistribution or public display
More informationIntroducing Metal 2. Graphics and Games #WWDC17. Michal Valient, GPU Software Engineer Richard Schreyer, GPU Software Engineer
Session Graphics and Games #WWDC17 Introducing Metal 2 601 Michal Valient, GPU Software Engineer Richard Schreyer, GPU Software Engineer 2017 Apple Inc. All rights reserved. Redistribution or public display
More informationWorking with Metal Overview
Graphics and Games #WWDC14 Working with Metal Overview Session 603 Jeremy Sandmel GPU Software 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationWhat s New in watchos
Session App Frameworks #WWDC17 What s New in watchos 205 Ian Parks, watchos Engineering 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from
More informationWorking With Metal Advanced
Graphics and Games #WWDC14 Working With Metal Advanced Session 605 Gokhan Avkarogullari GPU Software Aaftab Munshi GPU Software Serhat Tekin GPU Software 2014 Apple Inc. All rights reserved. Redistribution
More informationios Memory Deep Dive #WWDC18 Kyle Howarth, Software Engineer James Snee, Software Engineer Kris Markel, Software Engineer
Session #WWDC18 ios Memory Deep Dive 416 Kyle Howarth, Software Engineer James Snee, Software Engineer Kris Markel, Software Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display
More informationWhat s New in Xcode App Signing
Developer Tools #WWDC16 What s New in Xcode App Signing Developing and distributing Session 401 Joshua Pennington Tools Engineering Manager Itai Rom Tools Engineer 2016 Apple Inc. All rights reserved.
More informationApplications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research
Applications of Explicit Early-Z Z Culling Jason Mitchell ATI Research Outline Architecture Hardware depth culling Applications Volume Ray Casting Skin Shading Fluid Flow Deferred Shading Early-Z In past
More informationComputer Graphics (CS 543) Lecture 10: Normal Maps, Parametrization, Tone Mapping
Computer Graphics (CS 543) Lecture 10: Normal Maps, Parametrization, Tone Mapping Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Normal Mapping Store normals in texture
More informationUsing and Extending the Xcode Source Editor
Developer Tools #WWDC16 Using and Extending the Xcode Source Editor Session 414 Mike Swingler Xcode Infrastructure and Editors Chris Hanson Xcode Infrastructure and Editors 2016 Apple Inc. All rights reserved.
More informationWhat s New in tvos #WWDC16. App Frameworks. Session 206. Hans Kim tvos Engineer
App Frameworks #WWDC16 What s New in tvos Session 206 Hans Kim tvos Engineer 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. Welcome
More informationWhat s New in Metal, Part 2
Graphics and Games #WWDC15 What s New in Metal, Part 2 Session 607 Dan Omachi GPU Software Frameworks Engineer Anna Tikhonova GPU Software Frameworks Engineer 2015 Apple Inc. All rights reserved. Redistribution
More informationOpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops.
OpenGl Pipeline Individual Vertices Transformed Vertices Commands Processor Per-vertex ops Primitive assembly triangles, lines, points, images Primitives Fragments Rasterization Texturing Per-fragment
More informationHARDWARE ACCELERATED 3D/2D RENDERING
HARDWARE ACCELERATED 3D/2D RENDERING Gergely Agnecz: agnegerg@gmail.com Norbert Zsolt Zentai: zenorbi@gmail.com Roland Takacs: rolland0208@hotmail.com WHERE WE CAME FROM HUNGARY (LOCATION) HUNGARY BUDAPEST,
More informationBuilding Watch Apps #WWDC15. Featured. Session 108. Neil Desai watchos Engineer
Featured #WWDC15 Building Watch Apps Session 108 Neil Desai watchos Engineer 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. Agenda
More informationAdvanced Color Grading in DaVinci Resolve 15
Advanced Color Grading in DaVinci Resolve 15 1. Introduction Color Page Overview 2. Opening a Resolve Archive Opening an Archive Grading Workflow Steps Balancing Shots Shot Matching Secondary Grading Creating
More informationE.Order of Operations
Appendix E E.Order of Operations This book describes all the performed between initial specification of vertices and final writing of fragments into the framebuffer. The chapters of this book are arranged
More informationIntegrating Apps and Content with AR Quick Look
Session #WWDC18 Integrating Apps and Content with AR Quick Look 603 David Lui, ARKit Engineering Dave Addey, ARKit Engineering 2018 Apple Inc. All rights reserved. Redistribution or public display not
More informationMedia and Gaming Accessibility
Session System Frameworks #WWDC17 Media and Gaming Accessibility 217 Greg Hughes, Software Engineering Manager Charlotte Hill, Software Engineer 2017 Apple Inc. All rights reserved. Redistribution or public
More informationCSE/EE-576, Final Project
1 CSE/EE-576, Final Project Torso tracking Ke-Yu Chen Introduction Human 3D modeling and reconstruction from 2D sequences has been researcher s interests for years. Torso is the main part of the human
More informationDominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment
Dominic Filion, Senior Engineer Blizzard Entertainment Rob McNaughton, Lead Technical Artist Blizzard Entertainment Screen-space techniques Deferred rendering Screen-space ambient occlusion Depth of Field
More informationAutodesk Combustion 4 Integration with 3ds Max and Autodesk VIZ
12/1/2005-8:00 am - 11:30 am Room:Peacock 2 (Swan) Walt Disney World Swan and Dolphin Resort Orlando, Florida Autodesk Combustion 4 Integration with 3ds Max and Autodesk VIZ Gary Davis - visualz, LLC DV41-2
More informationMali Demos: Behind the Pixels. Stacy Smith
Mali Demos: Behind the Pixels Stacy Smith Mali Graphics: Behind the demos Mali Demo Team: Doug Day Stacy Smith (Me) Sylwester Bala Roberto Lopez Mendez PHOTOGRAPH UNAVAILABLE These days I spend more time
More informationWhat s New in Audio. Media #WWDC17. Akshatha Nagesh, AudioEngine-eer Béla Balázs, Audio Artisan Torrey Holbrook Walker, Audio/MIDI Black Ops
Session Media #WWDC17 What s New in Audio 501 Akshatha Nagesh, AudioEngine-eer Béla Balázs, Audio Artisan Torrey Holbrook Walker, Audio/MIDI Black Ops 2017 Apple Inc. All rights reserved. Redistribution
More informationIntroducing Password AutoFill for Apps
Session App Frameworks #WWDC17 Introducing Password AutoFill for Apps Reducing friction for your users 206 Ricky Mondello, ios Engineer 2017 Apple Inc. All rights reserved. Redistribution or public display
More informationIntroducing the Photos Frameworks
Media #WWDC14 Introducing the Photos Frameworks Session 511 Adam Swift ios Photos Frameworks 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationYour Apps and the Future of macos Security
#WWDC18 Your Apps and the Future of macos Security Pierre-Olivier Martel, Security Engineering Manager Kelly Yancey, OS Security Garrett Jacobson, Trusted Execution 2018 Apple Inc. All rights reserved.
More informationData Delivery with Drag and Drop
Session App Frameworks #WWDC17 Data Delivery with Drag and Drop 227 Dave Rahardja, UIKit Tanu Singhal, UIKit 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without
More informationHLS Authoring Update. Media #WWDC17. Eryk Vershen, AVFoundation Engineer
Session Media #WWDC17 HLS Authoring Update 515 Eryk Vershen, AVFoundation Engineer 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.
More informationAdvances in AVFoundation Playback
Media #WWDC16 Advances in AVFoundation Playback Waiting, looping, switching, widening, optimizing Session 503 Sam Bushell Media Systems Architect 2016 Apple Inc. All rights reserved. Redistribution or
More informationWriting Energy Efficient Apps
Session App Frameworks #WWDC17 Writing Energy Efficient Apps 238 Daniel Schucker, Software Power Engineer Prajakta Karandikar, Software Power Engineer 2017 Apple Inc. All rights reserved. Redistribution
More informationThe Rasterization Pipeline
Lecture 5: The Rasterization Pipeline (and its implementation on GPUs) Computer Graphics CMU 15-462/15-662, Fall 2015 What you know how to do (at this point in the course) y y z x (w, h) z x Position objects
More informationDigital Image Fundamentals. Prof. George Wolberg Dept. of Computer Science City College of New York
Digital Image Fundamentals Prof. George Wolberg Dept. of Computer Science City College of New York Objectives In this lecture we discuss: - Image acquisition - Sampling and quantization - Spatial and graylevel
More informationPipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11
Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION
More informationRender-To-Texture Caching. D. Sim Dietrich Jr.
Render-To-Texture Caching D. Sim Dietrich Jr. What is Render-To-Texture Caching? Pixel shaders are becoming more complex and expensive Per-pixel shadows Dynamic Normal Maps Bullet holes Water simulation
More informationDepth Post-Processing for Intel RealSense D400 Depth Cameras
Depth Post-Processing for Intel RealSense D400 Depth Cameras Anders Grunnet-Jepsen, Dave Tong Rev 1.0.2 A. Introduction The RealSense D4xx depth cameras can stream live depth (i.e. ranging data) and color
More informationCONTENTS. High-Accuracy Stereo Depth Maps Using Structured Light. Yeojin Yoon
[Paper Seminar 7] CVPR2003, Vol.1, pp.195-202 High-Accuracy Stereo Depth Maps Using Structured Light Daniel Scharstein Middlebury College Richard Szeliski Microsoft Research 2012. 05. 30. Yeojin Yoon Introduction
More informationPanosFX VINYL RECORDS & DVDs User guide. VINYL RECORDS & DVDs. Photoshop actions. For Photoshop CC, CS6, CS5, CS4. User Guide
VINYL RECORDS & DVDs Photoshop actions For Photoshop CC, CS6, CS5, CS4 User Guide Contents THE BASICS... 1 About the effects... 1 How the action set is organized... 1 THE CORE ACTIONS... 2 The minimum
More informationPipeline Operations. CS 4620 Lecture 14
Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives
More informationFrom Art to Engine with Model I/O
Session Graphics and Games #WWDC17 From Art to Engine with Model I/O 610 Nick Porcino, Game Technologies Engineer Nicholas Blasingame, Game Technologies Engineer 2017 Apple Inc. All rights reserved. Redistribution
More informationCSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015
CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 2 due tomorrow at 2pm Grading window
More informationReal-Time Hair Rendering on the GPU NVIDIA
Real-Time Hair Rendering on the GPU Sarah Tariq NVIDIA Motivation Academia and the movie industry have been simulating and rendering impressive and realistic hair for a long time We have demonstrated realistic
More informationInteractive Cloth Simulation. Matthias Wloka NVIDIA Corporation
Interactive Cloth Simulation Matthias Wloka NVIDIA Corporation MWloka@nvidia.com Overview Higher-order surfaces Vertex-shader deformations Lighting modes Per-vertex diffuse Per-pixel diffuse with bump-map
More informationModels and Architectures. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico
Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Objectives Learn the basic design of a graphics system Introduce
More informationChapter Answers. Appendix A. Chapter 1. This appendix provides answers to all of the book s chapter review questions.
Appendix A Chapter Answers This appendix provides answers to all of the book s chapter review questions. Chapter 1 1. What was the original name for the first version of DirectX? B. Games SDK 2. Which
More informationEvolution of GPUs Chris Seitz
Evolution of GPUs Chris Seitz Overview Concepts: Real-time rendering Hardware graphics pipeline Evolution of the PC hardware graphics pipeline: 1995-1998: Texture mapping and z-buffer 1998: Multitexturing
More informationLaboratory of Applied Robotics
Laboratory of Applied Robotics OpenCV: Shape Detection Paolo Bevilacqua RGB (Red-Green-Blue): Color Spaces RGB and HSV Color defined in relation to primary colors Correlated channels, information on both
More informationCS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.
CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions The Midterm Exam was given in class on Thursday, October 23, 2008. 1. [4 pts] Drawing Where? Your instructor says that objects should always be
More informationComputer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping
Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Shadow Buffer Theory Observation:
More informationComputer Graphics Lecture 2
1 / 16 Computer Graphics Lecture 2 Dr. Marc Eduard Frîncu West University of Timisoara Feb 28th 2012 2 / 16 Outline 1 Graphics System Graphics Devices Frame Buffer 2 Rendering pipeline 3 Logical Devices
More informationUsing Accelerate and simd
Session #WWDC18 Using Accelerate and simd 701 Matthew Badin, CoreOS, Vector and Numerics Luke Chang, CoreOS, Vector and Numerics 2018 Apple Inc. All rights reserved. Redistribution or public display not
More informationAdobe After Effects CS6 Digital Classroom
Adobe After Effects CS6 Digital Classroom AGI Creative ISBN-13: 9781118142790 Table of Contents Starting up About Digital Classroom 1 Prerequisites 1 System requirements 1 Starting Adobe After Effects
More informationSpring 2011 Prof. Hyesoon Kim
Spring 2011 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on
More informationUsing Grouped Notifications
#WWDC18 Using Grouped Notifications Session 711 Michele Campeotto, ios User Notifications 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationTopics and things to know about them:
Practice Final CMSC 427 Distributed Tuesday, December 11, 2007 Review Session, Monday, December 17, 5:00pm, 4424 AV Williams Final: 10:30 AM Wednesday, December 19, 2007 General Guidelines: The final will
More informationGetting fancy with texture mapping (Part 2) CS559 Spring Apr 2017
Getting fancy with texture mapping (Part 2) CS559 Spring 2017 6 Apr 2017 Review Skyboxes as backdrops Credits : Flipmode 3D Review Reflection maps Credits : NVidia Review Decal textures Credits : andreucabre.com
More informationGUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON
Deferred Rendering in Killzone 2 Michal Valient Senior Programmer, Guerrilla Talk Outline Forward & Deferred Rendering Overview G-Buffer Layout Shader Creation Deferred Rendering in Detail Rendering Passes
More informationAVContentKeySession Best Practices
Session #WWDC18 AVContentKeySession Best Practices 507 Anil Katti, AVFoundation Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from
More informationValidating HTTP Live Streams
Media #WWDC16 Validating HTTP Live Streams Session 510 Eryk Vershen Media Engineer 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.
More informationGraphics Processing Unit Architecture (GPU Arch)
Graphics Processing Unit Architecture (GPU Arch) With a focus on NVIDIA GeForce 6800 GPU 1 What is a GPU From Wikipedia : A specialized processor efficient at manipulating and displaying computer graphics
More informationMAXIS-mizing Darkspore*: A Case Study of Graphic Analysis and Optimizations in Maxis Deferred Renderer
MAXIS-mizing Darkspore*: A Case Study of Graphic Analysis and Optimizations in Maxis Deferred Renderer A New Gaming Experience Made Possible With Processor Graphics Released in early 2011, the 2nd Generation
More informationProgrammable Shaders for Deformation Rendering
Programmable Shaders for Deformation Rendering Carlos D. Correa, Deborah Silver Rutgers, The State University of New Jersey Motivation We present a different way of obtaining mesh deformation. Not a modeling,
More informationFace ID Security. November 2017
Face ID Security November 2017 Face ID Security Overview With a simple glance, Face ID securely unlocks iphone X. It provides intuitive and secure authentication enabled by the TrueDepth camera system,
More informationLEVEL 1 ANIMATION ACADEMY2010
1 Textures add more realism to an environment and characters. There are many 2D painting programs that can be used to create textures, such as Adobe Photoshop and Corel Painter. Many artists use photographs
More informationGetting the Most Out of HealthKit
App Frameworks #WWDC16 Getting the Most Out of HealthKit What s new and best practices Session 209 Matthew Salesi ios Software Engineer Joefrey Kibuule ios Software Engineer 2016 Apple Inc. All rights
More informationWorking with the BCC Bump Map Generator
Working with the BCC Bump Map Generator Bump mapping is used to create three dimensional detail on an image based on the luminance information in the image. The luminance value of each pixel of the image
More informationFundamentals of Photography presented by Keith Bauer.
Fundamentals of Photography presented by Keith Bauer kcbauer@juno.com http://keithbauer.smugmug.com Homework Assignment Composition Class will be February 7, 2012 Please provide 2 images by next Tuesday,
More informationBCC Textured Wipe Animation menu Manual Auto Pct. Done Percent Done
BCC Textured Wipe The BCC Textured Wipe creates is a non-geometric wipe using the Influence layer and the Texture settings. By default, the Influence is generated from the luminance of the outgoing clip
More informationGetting Published in Apple News
Media #WWDC16 Getting Published in Apple News Session 502 Ryan Griggs Apple News 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.
More informationOpenGL Status - November 2013 G-Truc Creation
OpenGL Status - November 2013 G-Truc Creation Vendor NVIDIA AMD Intel Windows Apple Release date 02/10/2013 08/11/2013 30/08/2013 22/10/2013 Drivers version 331.10 beta 13.11 beta 9.2 10.18.10.3325 MacOS
More informationExtending Your Apps with SiriKit
App Frameworks #WWDC16 Extending Your Apps with SiriKit Session 225 Vineet Khosla SiriKit Engineering Diana Huang SiriKit Engineering Scott Andrus SiriKit Engineering 2016 Apple Inc. All rights reserved.
More informationThe Kinect Sensor. Luís Carriço FCUL 2014/15
Advanced Interaction Techniques The Kinect Sensor Luís Carriço FCUL 2014/15 Sources: MS Kinect for Xbox 360 John C. Tang. Using Kinect to explore NUI, Ms Research, From Stanford CS247 Shotton et al. Real-Time
More informationImproved Deep Image Compositing Using Subpixel Masks
Improved Deep Image Compositing Using Subpixel Masks Jonathan Egstad DreamWorks Animation jonathan.egstad@dreamworks.com Mark Davis Dylan Lacewell DreamWorks Animation DreamWorks Animation / NVIDIA mark.davis@dreamworks.com
More informationIntroduction to Siri Shortcuts
#WWDC8 Introduction to Siri Shortcuts Session 2 Ari Weinstein, Siri Willem Mattelaer, Siri 208 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationCrop Counting and Metrics Tutorial
Crop Counting and Metrics Tutorial The ENVI Crop Science platform contains remote sensing analytic tools for precision agriculture and agronomy. In this tutorial you will go through a typical workflow
More informationRecap. DoF Constraint Solver. translation. affine. homography. 3D rotation
Image Blending Recap DoF Constraint Solver translation affine homography 3D rotation Recap DoF Constraint Solver translation 2 affine homography 3D rotation Recap DoF Constraint Solver translation 2 affine
More informationPhoto-realism Fundamentals
1-(800) 877-2745 www.ashlar-vellum.com Photo-realism Fundamentals Using Cobalt, Xenon, Argon Copyright 2008 Ashlar Incorporated. All rights reserved. Photo-realism Fundamentals Photo-realistic rendering
More informationSGI OpenGL Shader. Marc Olano SGI
SGI OpenGL Shader Marc Olano SGI Interactive Rendering Illusion of Presence 10 30 60 frames per second Immediate response Simple appearance Multi-pass Rendering Improved appearance Build effects Per-frame
More informationNew Ways to Work with Workouts
Session #WWDC18 New Ways to Work with Workouts 707 Niharika Bedekar, Fitness Software Engineer Karim Benhmida, Health Software Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display
More informationCustom Wipe Using a Bitmap Image
Custom Wipe Using a Bitmap Image In this tutorial, you ll create a custom wipe using a bitmap image as the template. You can use the pixel information of an image to create many different types of wipes.
More informationCS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside
CS230 : Computer Graphics Lecture 4 Tamar Shinar Computer Science & Engineering UC Riverside Shadows Shadows for each pixel do compute viewing ray if ( ray hits an object with t in [0, inf] ) then compute
More informationCSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018
CSE 167: Introduction to Computer Graphics Lecture #9: Visibility Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 Announcements Midterm Scores are on TritonEd Exams to be
More informationAdvance features for existing SDK lost
Advance features for existing SDK lost scanning data- how SDK decodes images In SDK, you can use invert pattern to get better result. But the issue still happens at low difference. GRAY_CODE_PARAMETERS_PATTERN_INCLUDE_INVERTED
More informationEnabling Your App for CarPlay
Session App Frameworks #WWDC17 Enabling Your App for CarPlay 719 Albert Wan, CarPlay Engineering 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationA Low Power, High Throughput, Fully Event-Based Stereo System: Supplementary Documentation
A Low Power, High Throughput, Fully Event-Based Stereo System: Supplementary Documentation Alexander Andreopoulos, Hirak J. Kashyap, Tapan K. Nayak, Arnon Amir, Myron D. Flickner IBM Research March 25,
More informationProject report Augmented reality with ARToolKit
Project report Augmented reality with ARToolKit FMA175 Image Analysis, Project Mathematical Sciences, Lund Institute of Technology Supervisor: Petter Strandmark Fredrik Larsson (dt07fl2@student.lth.se)
More informationImage Processing. CSCI 420 Computer Graphics Lecture 22
CSCI 42 Computer Graphics Lecture 22 Image Processing Blending Display Color Models Filters Dithering [Ch 7.13, 8.11-8.12] Jernej Barbic University of Southern California 1 Alpha Channel Frame buffer Simple
More informationScreen Space Ambient Occlusion. Daniel Kvarfordt & Benjamin Lillandt
Screen Space Ambient Occlusion Daniel Kvarfordt & Benjamin Lillandt Ambient light Same from all directions. Lambertian shading doesn't show form well. Need shadows to see form. Global illumination can
More informationhttps://ilearn.marist.edu/xsl-portal/tool/d4e4fd3a-a3...
Assessment Preview - This is an example student view of this assessment done Exam 2 Part 1 of 5 - Modern Graphics Pipeline Question 1 of 27 Match each stage in the graphics pipeline with a description
More information11/28/17. Midterm Review. Magritte, Homesickness. Computational Photography Derek Hoiem, University of Illinois
Midterm Review 11/28/17 Computational Photography Derek Hoiem, University of Illinois Magritte, Homesickness Major Topics Linear Filtering How it works Template and Frequency interpretations Image pyramids
More informationEasy Decal Version Easy Decal. Operation Manual. &u - Assets
Easy Decal Operation Manual 1 All information provided in this document is subject to change without notice and does not represent a commitment on the part of &U ASSETS. The software described by this
More informationAdobe After Effects CS5 Digital Classroom
Adobe After Effects CS5 Digital Classroom Team, AGI Creative ISBN-13: 9780470595244 Table of Contents Starting Up. About Digital Classroom. Prerequisites. System requirements. Starting Adobe After Effects
More informationPhysically Based Shading in Unity. Aras Pranckevičius Rendering Dude
Physically Based Shading in Unity Aras Pranckevičius Rendering Dude Outline New built-in shaders in Unity 5 What, how and why And all related things Shaders in Unity 4.x A lot of good things are available
More informationImage Processing. Alpha Channel. Blending. Image Compositing. Blending Errors. Blending in OpenGL
CSCI 42 Computer Graphics Lecture 22 Image Processing Blending Display Color Models Filters Dithering [Ch 6, 7] Jernej Barbic University of Southern California Alpha Channel Frame buffer Simple color model:
More informationBringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games
Bringing AAA graphics to mobile platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Platform team at Epic Games Unreal Engine 15 years in the industry 30 years of programming
More informationCP SC 4040/6040 Computer Graphics Images. Joshua Levine
CP SC 4040/6040 Computer Graphics Images Joshua Levine levinej@clemson.edu Lecture 03 File Formats Aug. 27, 2015 Agenda pa01 - Due Tues. 9/8 at 11:59pm More info: http://people.cs.clemson.edu/ ~levinej/courses/6040
More information