SlideShare a Scribd company logo
Synthetic Data and
Graphics Techniques in Robotics
Prabindh Sundareson, 2022
National Symposium on Trends and Developments in
Intelligent Systems & Robotics (TD-ISR’22)
PES University Bangalore
Disclaimer: Views expressed are my own and does not represent the views of my employer
Agenda
• Role/Definition of Data
• Types of Data – Random, Time, 2D, 3D
• Graphics techniques – Applications in Intelligent systems design
• Part 1 – Synthetic data and 3D processing in Navigation
• Part 2 – Synthetic data and 2D objects in Vision processing
• Challenges
• Conclusion
Role of Data in Intelligent systems
• Function (task) Learning
• Fit a given set of data points to a function (generator)
• Feature Understanding
• How relevant is a feature, correlations across features
• Forecasting
• Probability of an event occurring, given some data
• And so on …
In Machine Learning, training with more data has led to better results
What is Data ?
• Simplest – “Random number”
• Also, time series, etc
• import sklearn.datasets as dt
RANDOM_SEED = np.random.randint(2**10)
• dt.make_multilabel_classification
What is Data (continued)
• Onto 2D data – What processing is involved ?
• Annotated images for image classification
• Labelled (bounding-box) images for object detection
• Segmented (pixel-wise) images for object segmentation
• These activities require effort !
• Currently being solved with human effort
What is Data (Continued)
• Onto 3D data – What type of data ?
• LiDAR point-clouds
• Orientation data
• 3D Meshes ..
• As dimensions increase, the data, annotations /ground-truth
generation gets more complex
Why synthetic data – In summary
• Cost and speed of acquisition and annotation (ground-truth –
boxing/labelling, segmentation ..…)
• Privacy issues
• Consequences are virtual
• Ex Robots in Medical systems
• Ability to configure – coarse to fine features
• Ex, In object detection
• ball vs non-ball (coarse), ball vs what-type-of-ball (fine features)
Synthetic Data Vault
https://sdv.dev
Topics
Data in 2D and 3D – Topics in Robotics and Graphics
TopicField Robotics field Graphics field
Efficient 3D
processing
3D points - Localisation
and mapping in Robotics
Synthetic data/
conversions/generation in
rendering 3D meshes
Kinematics Movement control in
Robotics
Animation in Graphics
Rendering
Pose Pose estimation for
orientation detection in
Robotics
Animation transfer to
arbitrary 3D meshes
Part 1 - Robotics Navigation and 3D
processing
• How do intelligent systems navigate an unknown area ?
• On-board sensors, on-board analysis
• Satellite connectivity, external inputs
• Sensors on UAV/drones, combined inputs
• Onboard sensors – Radar, LiDAR, ToF, Stereo cam, depth, IMU ..
• Obtain 3D map of the environment
• Flow
• Sensor → Data preprocessing (Ground plane, align)
• What can we do with a Point-cloud ?
• SLAM (Simultaneous Localisation and Mapping)
• Registration, Loop closure etc ..
• What else ?
https://www.ncos.co.jp/en/products/3dpoint.html
What “else” can be done with a Point-Cloud ?
• Learn “Geometry” via Signed Distance Field
“A Volumetric Method for Building Complex Models from Range Images”, Curless and Levoy, 1996
“DemoScene” in popular art sub-culture
https://www.youtube.com/watch?v=XuSnLbB1j6E
Implicit Representations in SDF
Steps
1. Raymarching step by step
2. Surface hit ? → Angle of ray, normals
SDF of circle (r=1)
f(x,y,z)= sqrt(x​2​​+y​2​​+z​2)​−1
Why
Why SDF ? Some commonalities
• Concepts of
• “distance” - Similar in 3D rendering and Robotics navigation
• “operations” – union, intersection etc (ex the Snail)
• Robotics – Distance provided by a sensor, ex LiDAR, or learnt from RGB
• Application to Robotics - “Signed Distance Fields: A Natural Representation
for Both Mapping and Planning” – Oleynikova et al, 2016
• How do we generate the SDF !!
*https://www.youtube.com/watch?v=bMhR-UYlKqU - 3D Surface Reconstruction Using a Generalized Distance Function, 2016, Microsoft Research
* Differentiable Volumetric Rendering: Learning Implicit 3D Representations without 3D Supervision – Niemeyer et al, CVPR 2020
* Neural Geometric Level of Detail: Real-time Rendering with Implicit 3D Shapes – Towaki et al 2021
* DeepSDF - Learning Continuous Signed Distance Functions for Shape Representation, Jeong Park et al, 2019
* On the Effectiveness of Weight-Encoded Neural Implicit 3D Shapes – Thomas Davies et al, ICML 2021 (https://github.com/u2ni/ICML2021 )
* Neural-Pull, Ma et al, ICML 2021 - https://github.com/mabaorui/NeuralPull-Pytorch , learns directly from 2D-images, does not require ground truth SDF
LiDAR
(a) SDFs from LiDAR (using neural networks)
• Learn SDFs directly from LiDAR point clouds
• “Learning Deep SDF Maps Online for Robot Navigation and Exploration” –
Camps et al, 2022
• Neural network to regress SDF (per-frame) from LiDAR data
• Hausdorff distance between successive SDFs used to determine mapping changes
• Optimization steps applied for generating navigation stages
RGB
(b) SDFs from RGB images/Silhoutte (using neural networks)
“SDF-SRN: Learning Signed Distance 3D Object Reconstruction from Static Images”, Lin et al, 2020
Kaolin
Tool - Differentiable Rendering for training
• “Differentiable rendering can be used to optimize the underlying 3D
properties, like geometry and lighting, by backpropagating gradients
from the loss in the image space”
• “Learning to Estimate 3D Object Pose from Synthetic Data”, Zakharov, 2020
• Tools:
• Kaolin - A Pytorch Library for Accelerating 3D Deep Learning Research
• Ex – Fit a 3D bounding box around a 2D image
• Example Kaolin link
• Ex – Classification using point-cloud directly
• https://colab.research.google.com/drive/1DoBlEt0GyOF5ZGrZ0kf30Gp5wk-dV2X9
Part 2 - GTA
Part 2 - Synthetic Datasets from 3D Games
• Precise Synthetic Image and LiDAR (PreSIL) Dataset for
Autonomous Vehicle Perception – Hurl et al, 2019
• From Grand Theft Auto V (game)
• By scanning the “depth” buffer
• 50k+ HD images with
• full resolution depth information,
• semantic segmentation (images),
• point-wise segmentation (point clouds), ground point labels (point
clouds), and detailed annotations for all vehicles and people
• Improvement of up to 5% average precision on the KITTI 3D
Object Detection
• Others - https://paralleldomain.com/
2D Aug
Don.riccobene
Synthetic 2D Datasets by Augmentation
• Augmentation = Add data by applying operations on existing images
• Augmentation can improve accuracy / robustness on Vision tasks
Robertas Damaševičius et al, 2021
(a) 2D Image Augmentation in Frameworks
PyTorch
random_crop = torchvision.transforms.RandomCrop(size)
fivecrop = torchvision.transforms.FiveCrop(size)
horizontal_flip = torchvision.transforms.RandomHorizontalFlip()
vertical_flip = torchvision.transforms.RandomVerticalFlip()
random_persp = torchvision.transforms.RandomPerspective()
random_jitter = torchvision.transforms.ColorJitter()
normalize = torchvision.transforms.Normalize([0, 0, 0], [1, 1, 1])
https://pytorch.org/vision/main/transforms.html
Examples from TensorFlow
https://www.tensorflow.org/api_docs/python/tf/image
Tools in industry:
Roboflow,
CVEDIA (Synthetic data) …
Optimal Aug
Optimal 2D augmentation for object detection
1. Small original set of n-class representative images = input
2. Perform augmentation on original n-class images at runtime
3. 2D rectangle packing into larger canvas at runtime (dynamically)
4. Multiple augmentation-packing steps results in combined canvas images
5. Multiple-classes in one image reduces storage requirements significantly
Augmented + multi-class combined-canvas image
Example multi-object
augmented output
(Pascal VOC format)
3D CAD
(b) Synthetic Data for Recognition – from 3D
• “An Annotation Saved is an Annotation Earned: Using Fully Synthetic
Training for Object Instance Detection.” –
• Hinterstoisser et al, Google AI, 2019 (Generate 2D images from 3D)
For more realistic data – Start from BIM (Building Information Models)
Synthetic Data – for
Drone Flight Controls
• AirSim works as a flight simulator
for drones
• Built as Unreal Engine plugin
• Allows drone producers to train
their machines to work in risky
and dangerous places.
• Roadmap to Autonomous driving
• “Aerial Informatics and Robotics
Platform”, Microsoft Research,
https://www.microsoft.com/en-
us/research/project/aerial-
informatics-robotics-platform/
Challenges
Challenges in Synthetic Data
(Object detection)
• Appearance gap –
• Pixel differences, lighting, shadows, textures, …
• Content gap –
• Missing/ new objects
• Domain Randomization – from Synthetic data to
real world data
• https://www.youtube.com/watch?v=O6KEKI3abl0&t=11s
• “Evaluation of Domain Randomization Techniques for
Transfer Learning” – Grun et al, 2019
• Brings results close to real-world datasets
Future
Future of Synthetic Data
• Definite improvements in performance in current use-cases
• Much of the data today is encoded for the “man-in-the-middle”
• Ex, Traffic signs
• Possible to generate and train on synthetic data
• That may be more efficient for Robotics
• Ex, glyphs that encode much more data than human-readable-signs
• More efficient for storage (or even no-storage, if metadata is stored)
• Synthetic Data could become the “real” data for
Intelligent systems of the future
Conclusion
• Synthetic Data is valuable, not just for augmentation purpose, but
also increases the overall robustness of recognition systems
• New techniques like online-SDF learning (using differentiable
rendering) can increase the capabilities of robotics systems to learn
from surroundings
• Possibility of machine learning without intermediate human
involvement or “interpretation” step
Backup - Resources for Vision/Compute/Data
• OpenCV
• VPI Vision Programming Interface (VPI)
• https://developer.nvidia.com/embedded/vpi
• Robotics Simulators – Gazebo, Webots, Isaac (ROS adaptation)
• SDF Datasets - FAMOUS, ABC
• 3D Model datasets – ModelNet10, 40
• SDFs introduction
• https://www.youtube.com/watch?v=8--5LwHRhjk
• https://jasmcole.com/2019/10/03/signed-distance-fields/
• http://jamie-wong.com/2016/07/15/ray-marching-signed-distance-functions/
• http://graphics.stanford.edu/courses/cs468-10-fall/LectureSlides/04_Surface_Reconstruction.pdf
• Raymarching – Procedural generation of images
• Introduction - https://www.youtube.com/watch?v=PGtv-dBi2wE
• https://iquilezles.org/articles/raymarchingdf/
• https://www.shadertoy.com/view/WsSBzh
• https://www.shadertoy.com/view/3lsSzf
• “Neural RGB-D Surface Reconstruction” – Azinovic et al, CVPR 2022
Neural Radiance Fields
• Radiance - a differential opacity controlling how much radiance is
accumulated by a ray passing through (x, y, z)
• Utilises Differentiable volume rendering, ray marching
• “NeRF: Representing Scenes as Neural Radiance Fields for View
Synthesis”, MildenHall et al, ECCV 2020 (https://github.com/bmild/nerf)
• Represent a continuous scene as a 5D vector-valued function whose input is a
3D location x = (x, y, z) and 2D viewing direction (θ, φ), and whose output is
an emitted color c = (r, g, b) and volume density σ
Instant NeRF - network
• Network configuration ?
• Uses Huber Loss
• Requires camera position
• NeRF networks with joint optimization for camera position ie
operating only on image frames also emerging
Instant NeRF training
• 2 seconds !
COLMAP steps
1.Feature detection and extraction
2.Feature matching and geometric verification
3.Structure and motion reconstruction
• up vector was [-0.90487011 0.10419316 0.41273947]
• computing center of attention...
• [-12.27771833 1.27148092 -0.09314177]
• avg camera distance from origin 12.701290776903985
• 55 frames
• writing transforms.json
Adoption of feature-encoding layers
• As applicable to “Coordinate networks”
• “Fourier Features Let Networks Learn High Frequency Functions in
Low Dimensional Domains” – Tancik et al, 2020
• Concept of Neural Tangent Kernels (NTK)
• Faster convergence
• Examples
• https://colab.research.google.com/github/ndahlquist/pytorch-
fourier-feature-networks/blob/master/demo.ipynb
Differentiable Volume Rendering
• Makes a mesh “learnable” from the sensor data
• LiDAR data
• Eikonal Equation
||∇f||=1
Learns a SDF
Animation - Thaumatrope
Core Techniques 3 - Inverse Kinematics
• Find valid orientations for intermediate joints, given an end position
• Gradient Descent (cyclic coordinate descent(CCD))
• Deep Reinforcement Learning (DDPG) approaches
Image courtesy IIITH
Armature and Bones
Blender – Armature (Skeleton) controls the character movement (rigging)
Physics Simulators
A Review of Physics Simulators for Robotic Applications – Collins et al, 2021
Intelligence for Autonomous Agents
• Ex Minecraft
• Survival
• Harvest
• Combat
• Training with 750,000 Minecraft YouTube videos, scraping from
Minecraft Wiki, ...
• Tasks
• Programmatic tasks
• Creative tasks.
• https://github.com/MineDojo/MineDojo
2D-3D
• EG3D: Efficient Geometry-aware 3D Generative Adversarial Networks
- Chan et al, 2022
• Unsupervised generation of high-quality multi-view-consistent images
and 3D shapes using only collections of single-view 2D photographs
Topic 2 - Pose
• Important for gripping in Robotics
• PVN3D - 3D keypoint estimator from 2D images
• Trained via Synthetic data, won 2nd in OCTOC challenge
Pose in Graphics Animation
• 2D video to 3D avatars
• Translate pose in 2D to any 3D object
• Steps
• Body-pose estimation (2D)
• Similar techniques as in Robotics, applied to human body landmarks
• 2D to 3D mapping
• Map to synthetic object’s keypoints
• Mapping can be innovative and depends on the use-case
SDF from point clouds (Traditional)
• (CSCI 621: Digital Geometry Processing), 2019
• Construct SDF from point samples - Distance to points is not enough
• • Need inside/outside information
• • Requires normal vectors
• • Examine local neighborhood for each point
• • Compute best approximating tangent plane , covariance, MST tree construction,..
• Implicit Reconstruction - Estimate signed distance function (SDF) •
Extract Zero isosurface by Marching Cubes • Approximation of input
points • Result is closed two-manifold surface
Does data change ?
• Early stage research vs productization challenges
• Conditions for data
• Sufficiency and relevancy
• Data needs to be relevant to the task
• Some data = static datasets
• Production goals demand new data, continuous training
Types of Synthetic Data
• Time-series (Movement, Distance, Sensory, ..)
• Visual data
• Augmented Natural Data
• Rotated, Resized, color ranges, Blurred, Lit, …
• Synthetic Data
• Generated by simulations (ex Robotic movements)
• Generated by Graphics API (ex Synthetic face/body, animation)
• Combined
• Generated by human in a virtual environment
• ex Flight simulators
https://varjo.com
Synthetic data generation
• “Act against Multiplication” – 1404 Law,
outlawing “synthetic creation” of gold and
silver, Britain
• Today, we can realistically generate any data
(almost)
• Sensor Data (Gazebo, Webots.. simulators)
• Visual Data (Unity, UE, Omniverse, ..)
• Columnar Data (numpy, SDV, Gretel ..)
• Synthetic != Fake, has to match the use-case
DALL-E-2
Why
LiDAR vs Depth
• LiDAR more accurate, but object segregation difficult
• A fusion of depth, RGB required for good results in both navigation
and detection use-cases

More Related Content

Similar to Synthetic Data and Graphics Techniques in Robotics

Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...
Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...
Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...
SANGHEE SHIN
 
mago3D: Let's integrate BIM and 3D GIS on top of FOSS4G
mago3D: Let's integrate BIM and 3D GIS on top of FOSS4Gmago3D: Let's integrate BIM and 3D GIS on top of FOSS4G
mago3D: Let's integrate BIM and 3D GIS on top of FOSS4G
SANGHEE SHIN
 
mago3D: A brand new Geo-BIM platform on top of Cesium & World Wind
mago3D: A brand new Geo-BIM platform on top of Cesium & World Wind mago3D: A brand new Geo-BIM platform on top of Cesium & World Wind
mago3D: A brand new Geo-BIM platform on top of Cesium & World Wind
SANGHEE SHIN
 
Introduction of super map gis 10i bitcc technology jayson
Introduction of super map gis 10i bitcc technology jaysonIntroduction of super map gis 10i bitcc technology jayson
Introduction of super map gis 10i bitcc technology jayson
GeoMedeelel
 
SD-miner System to Retrieve Probabilistic Neighborhood Points in Spatial Dat...
SD-miner System to Retrieve Probabilistic Neighborhood Points  in Spatial Dat...SD-miner System to Retrieve Probabilistic Neighborhood Points  in Spatial Dat...
SD-miner System to Retrieve Probabilistic Neighborhood Points in Spatial Dat...
IOSR Journals
 
10.1109@ICCMC48092.2020.ICCMC-000167.pdf
10.1109@ICCMC48092.2020.ICCMC-000167.pdf10.1109@ICCMC48092.2020.ICCMC-000167.pdf
10.1109@ICCMC48092.2020.ICCMC-000167.pdf
mokamojah
 
StevesDWESlide_exported
StevesDWESlide_exportedStevesDWESlide_exported
StevesDWESlide_exportedSteve Snow
 
detailed experience
detailed experiencedetailed experience
detailed experienceBryan Yan
 
DSM Extraction from Pleiades Images using MICMAC
DSM Extraction from Pleiades Images using MICMAC DSM Extraction from Pleiades Images using MICMAC
DSM Extraction from Pleiades Images using MICMAC
National Cheng Kung University
 
Desktop Softwares for Unmanned Aerial Systems(UAS))
Desktop Softwares for Unmanned Aerial Systems(UAS))Desktop Softwares for Unmanned Aerial Systems(UAS))
Desktop Softwares for Unmanned Aerial Systems(UAS))
Kamal Shahi
 
Real-time 3D Object Detection on LIDAR Point Cloud using Complex- YOLO V4
Real-time 3D Object Detection on LIDAR Point Cloud using Complex- YOLO V4Real-time 3D Object Detection on LIDAR Point Cloud using Complex- YOLO V4
Real-time 3D Object Detection on LIDAR Point Cloud using Complex- YOLO V4
IRJET Journal
 
What is point cloud annotation?
What is point cloud annotation?What is point cloud annotation?
What is point cloud annotation?
Annotation Support
 
Interactive Editing of Signed Distance Fields
Interactive Editing of Signed Distance FieldsInteractive Editing of Signed Distance Fields
Interactive Editing of Signed Distance Fields
Matthias Trapp
 
IRJET- Proposed Design for 3D Map Generation using UAV
IRJET- Proposed Design for 3D Map Generation using UAVIRJET- Proposed Design for 3D Map Generation using UAV
IRJET- Proposed Design for 3D Map Generation using UAV
IRJET Journal
 
DSM Extraction from Pleiades Images using Micmac
DSM Extraction from Pleiades Images using MicmacDSM Extraction from Pleiades Images using Micmac
DSM Extraction from Pleiades Images using Micmac
National Cheng Kung University
 
Real-Time Cloud Robotics in Practical Smart City Applications
Real-Time Cloud Robotics in Practical Smart City ApplicationsReal-Time Cloud Robotics in Practical Smart City Applications
Real-Time Cloud Robotics in Practical Smart City Applications
C2RO Cloud Robotics
 
LIDAR Magizine 2015: The Birth of 3D Mapping Artificial Intelligence
LIDAR Magizine 2015: The Birth of 3D Mapping Artificial IntelligenceLIDAR Magizine 2015: The Birth of 3D Mapping Artificial Intelligence
LIDAR Magizine 2015: The Birth of 3D Mapping Artificial Intelligence
Jason Creadore 🌐
 
Spatial Computing and the Future of Utility GIS
Spatial Computing and the Future of Utility GISSpatial Computing and the Future of Utility GIS
Spatial Computing and the Future of Utility GIS
George Percivall
 

Similar to Synthetic Data and Graphics Techniques in Robotics (20)

Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...
Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...
Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...
 
mago3D: Let's integrate BIM and 3D GIS on top of FOSS4G
mago3D: Let's integrate BIM and 3D GIS on top of FOSS4Gmago3D: Let's integrate BIM and 3D GIS on top of FOSS4G
mago3D: Let's integrate BIM and 3D GIS on top of FOSS4G
 
mago3D: A brand new Geo-BIM platform on top of Cesium & World Wind
mago3D: A brand new Geo-BIM platform on top of Cesium & World Wind mago3D: A brand new Geo-BIM platform on top of Cesium & World Wind
mago3D: A brand new Geo-BIM platform on top of Cesium & World Wind
 
Introduction of super map gis 10i bitcc technology jayson
Introduction of super map gis 10i bitcc technology jaysonIntroduction of super map gis 10i bitcc technology jayson
Introduction of super map gis 10i bitcc technology jayson
 
SD-miner System to Retrieve Probabilistic Neighborhood Points in Spatial Dat...
SD-miner System to Retrieve Probabilistic Neighborhood Points  in Spatial Dat...SD-miner System to Retrieve Probabilistic Neighborhood Points  in Spatial Dat...
SD-miner System to Retrieve Probabilistic Neighborhood Points in Spatial Dat...
 
10.1109@ICCMC48092.2020.ICCMC-000167.pdf
10.1109@ICCMC48092.2020.ICCMC-000167.pdf10.1109@ICCMC48092.2020.ICCMC-000167.pdf
10.1109@ICCMC48092.2020.ICCMC-000167.pdf
 
StevesDWESlide_exported
StevesDWESlide_exportedStevesDWESlide_exported
StevesDWESlide_exported
 
detailed experience
detailed experiencedetailed experience
detailed experience
 
DSM Extraction from Pleiades Images using MICMAC
DSM Extraction from Pleiades Images using MICMAC DSM Extraction from Pleiades Images using MICMAC
DSM Extraction from Pleiades Images using MICMAC
 
Desktop Softwares for Unmanned Aerial Systems(UAS))
Desktop Softwares for Unmanned Aerial Systems(UAS))Desktop Softwares for Unmanned Aerial Systems(UAS))
Desktop Softwares for Unmanned Aerial Systems(UAS))
 
Real-time 3D Object Detection on LIDAR Point Cloud using Complex- YOLO V4
Real-time 3D Object Detection on LIDAR Point Cloud using Complex- YOLO V4Real-time 3D Object Detection on LIDAR Point Cloud using Complex- YOLO V4
Real-time 3D Object Detection on LIDAR Point Cloud using Complex- YOLO V4
 
What is point cloud annotation?
What is point cloud annotation?What is point cloud annotation?
What is point cloud annotation?
 
Interactive Editing of Signed Distance Fields
Interactive Editing of Signed Distance FieldsInteractive Editing of Signed Distance Fields
Interactive Editing of Signed Distance Fields
 
IRJET- Proposed Design for 3D Map Generation using UAV
IRJET- Proposed Design for 3D Map Generation using UAVIRJET- Proposed Design for 3D Map Generation using UAV
IRJET- Proposed Design for 3D Map Generation using UAV
 
Portfolio
PortfolioPortfolio
Portfolio
 
DSM Extraction from Pleiades Images using Micmac
DSM Extraction from Pleiades Images using MicmacDSM Extraction from Pleiades Images using Micmac
DSM Extraction from Pleiades Images using Micmac
 
Real-Time Cloud Robotics in Practical Smart City Applications
Real-Time Cloud Robotics in Practical Smart City ApplicationsReal-Time Cloud Robotics in Practical Smart City Applications
Real-Time Cloud Robotics in Practical Smart City Applications
 
Hawaii Pacific GIS Conference 2012: 3D GIS - Has GIS Become 3D Yet?
Hawaii Pacific GIS Conference 2012: 3D GIS - Has GIS Become 3D Yet?Hawaii Pacific GIS Conference 2012: 3D GIS - Has GIS Become 3D Yet?
Hawaii Pacific GIS Conference 2012: 3D GIS - Has GIS Become 3D Yet?
 
LIDAR Magizine 2015: The Birth of 3D Mapping Artificial Intelligence
LIDAR Magizine 2015: The Birth of 3D Mapping Artificial IntelligenceLIDAR Magizine 2015: The Birth of 3D Mapping Artificial Intelligence
LIDAR Magizine 2015: The Birth of 3D Mapping Artificial Intelligence
 
Spatial Computing and the Future of Utility GIS
Spatial Computing and the Future of Utility GISSpatial Computing and the Future of Utility GIS
Spatial Computing and the Future of Utility GIS
 

More from Prabindh Sundareson

Work and Life
Work and Life Work and Life
Work and Life
Prabindh Sundareson
 
GPU Algorithms and trends 2018
GPU Algorithms and trends 2018GPU Algorithms and trends 2018
GPU Algorithms and trends 2018
Prabindh Sundareson
 
Machine learning in the Indian Context - IEEE talk at SRM Institute
Machine learning in the Indian Context - IEEE talk at SRM InstituteMachine learning in the Indian Context - IEEE talk at SRM Institute
Machine learning in the Indian Context - IEEE talk at SRM Institute
Prabindh Sundareson
 
Students Hackathon - 2017
Students Hackathon - 2017Students Hackathon - 2017
Students Hackathon - 2017
Prabindh Sundareson
 
ICCE Asia 2017 - Program Outline
ICCE Asia 2017 - Program OutlineICCE Asia 2017 - Program Outline
ICCE Asia 2017 - Program Outline
Prabindh Sundareson
 
Call for Papers - ICCE Asia 2017
Call for Papers - ICCE Asia 2017Call for Papers - ICCE Asia 2017
Call for Papers - ICCE Asia 2017
Prabindh Sundareson
 
Technology, Innovation - A Perspective
Technology, Innovation - A PerspectiveTechnology, Innovation - A Perspective
Technology, Innovation - A Perspective
Prabindh Sundareson
 
Open Shading Language (OSL)
Open Shading Language (OSL)Open Shading Language (OSL)
Open Shading Language (OSL)
Prabindh Sundareson
 
IEEE - Consumer Electronics Trends Opportunities (2015)
IEEE - Consumer Electronics Trends Opportunities (2015)IEEE - Consumer Electronics Trends Opportunities (2015)
IEEE - Consumer Electronics Trends Opportunities (2015)
Prabindh Sundareson
 
GFX part 8 - Three.js introduction and usage
GFX part 8 - Three.js introduction and usageGFX part 8 - Three.js introduction and usage
GFX part 8 - Three.js introduction and usage
Prabindh Sundareson
 
GFX Part 7 - Introduction to Rendering Targets in OpenGL ES
GFX Part 7 - Introduction to Rendering Targets in OpenGL ESGFX Part 7 - Introduction to Rendering Targets in OpenGL ES
GFX Part 7 - Introduction to Rendering Targets in OpenGL ES
Prabindh Sundareson
 
GFX Part 6 - Introduction to Vertex and Fragment Shaders in OpenGL ES
GFX Part 6 - Introduction to Vertex and Fragment Shaders in OpenGL ESGFX Part 6 - Introduction to Vertex and Fragment Shaders in OpenGL ES
GFX Part 6 - Introduction to Vertex and Fragment Shaders in OpenGL ES
Prabindh Sundareson
 
GFX Part 5 - Introduction to Object Transformations in OpenGL ES
GFX Part 5 - Introduction to Object Transformations in OpenGL ESGFX Part 5 - Introduction to Object Transformations in OpenGL ES
GFX Part 5 - Introduction to Object Transformations in OpenGL ES
Prabindh Sundareson
 
GFX Part 4 - Introduction to Texturing in OpenGL ES
GFX Part 4 - Introduction to Texturing in OpenGL ESGFX Part 4 - Introduction to Texturing in OpenGL ES
GFX Part 4 - Introduction to Texturing in OpenGL ES
Prabindh Sundareson
 
GFX Part 3 - Vertices and interactions in OpenGL
GFX Part 3 - Vertices and interactions in OpenGLGFX Part 3 - Vertices and interactions in OpenGL
GFX Part 3 - Vertices and interactions in OpenGL
Prabindh Sundareson
 
GFX Part 2 - Introduction to GPU Programming
GFX Part 2 - Introduction to GPU ProgrammingGFX Part 2 - Introduction to GPU Programming
GFX Part 2 - Introduction to GPU Programming
Prabindh Sundareson
 
GFX Part 1 - Introduction to GPU HW and OpenGL ES specifications
GFX Part 1 - Introduction to GPU HW and OpenGL ES specificationsGFX Part 1 - Introduction to GPU HW and OpenGL ES specifications
GFX Part 1 - Introduction to GPU HW and OpenGL ES specifications
Prabindh Sundareson
 
John Carmack talk at SMU, April 2014 - Virtual Reality
John Carmack talk at SMU, April 2014 - Virtual RealityJohn Carmack talk at SMU, April 2014 - Virtual Reality
John Carmack talk at SMU, April 2014 - Virtual Reality
Prabindh Sundareson
 
GFX2014 OpenGL ES Quiz
GFX2014 OpenGL ES QuizGFX2014 OpenGL ES Quiz
GFX2014 OpenGL ES Quiz
Prabindh Sundareson
 
Gfx2014 Graphics Workshop - Lab manual
Gfx2014 Graphics Workshop - Lab manualGfx2014 Graphics Workshop - Lab manual
Gfx2014 Graphics Workshop - Lab manual
Prabindh Sundareson
 

More from Prabindh Sundareson (20)

Work and Life
Work and Life Work and Life
Work and Life
 
GPU Algorithms and trends 2018
GPU Algorithms and trends 2018GPU Algorithms and trends 2018
GPU Algorithms and trends 2018
 
Machine learning in the Indian Context - IEEE talk at SRM Institute
Machine learning in the Indian Context - IEEE talk at SRM InstituteMachine learning in the Indian Context - IEEE talk at SRM Institute
Machine learning in the Indian Context - IEEE talk at SRM Institute
 
Students Hackathon - 2017
Students Hackathon - 2017Students Hackathon - 2017
Students Hackathon - 2017
 
ICCE Asia 2017 - Program Outline
ICCE Asia 2017 - Program OutlineICCE Asia 2017 - Program Outline
ICCE Asia 2017 - Program Outline
 
Call for Papers - ICCE Asia 2017
Call for Papers - ICCE Asia 2017Call for Papers - ICCE Asia 2017
Call for Papers - ICCE Asia 2017
 
Technology, Innovation - A Perspective
Technology, Innovation - A PerspectiveTechnology, Innovation - A Perspective
Technology, Innovation - A Perspective
 
Open Shading Language (OSL)
Open Shading Language (OSL)Open Shading Language (OSL)
Open Shading Language (OSL)
 
IEEE - Consumer Electronics Trends Opportunities (2015)
IEEE - Consumer Electronics Trends Opportunities (2015)IEEE - Consumer Electronics Trends Opportunities (2015)
IEEE - Consumer Electronics Trends Opportunities (2015)
 
GFX part 8 - Three.js introduction and usage
GFX part 8 - Three.js introduction and usageGFX part 8 - Three.js introduction and usage
GFX part 8 - Three.js introduction and usage
 
GFX Part 7 - Introduction to Rendering Targets in OpenGL ES
GFX Part 7 - Introduction to Rendering Targets in OpenGL ESGFX Part 7 - Introduction to Rendering Targets in OpenGL ES
GFX Part 7 - Introduction to Rendering Targets in OpenGL ES
 
GFX Part 6 - Introduction to Vertex and Fragment Shaders in OpenGL ES
GFX Part 6 - Introduction to Vertex and Fragment Shaders in OpenGL ESGFX Part 6 - Introduction to Vertex and Fragment Shaders in OpenGL ES
GFX Part 6 - Introduction to Vertex and Fragment Shaders in OpenGL ES
 
GFX Part 5 - Introduction to Object Transformations in OpenGL ES
GFX Part 5 - Introduction to Object Transformations in OpenGL ESGFX Part 5 - Introduction to Object Transformations in OpenGL ES
GFX Part 5 - Introduction to Object Transformations in OpenGL ES
 
GFX Part 4 - Introduction to Texturing in OpenGL ES
GFX Part 4 - Introduction to Texturing in OpenGL ESGFX Part 4 - Introduction to Texturing in OpenGL ES
GFX Part 4 - Introduction to Texturing in OpenGL ES
 
GFX Part 3 - Vertices and interactions in OpenGL
GFX Part 3 - Vertices and interactions in OpenGLGFX Part 3 - Vertices and interactions in OpenGL
GFX Part 3 - Vertices and interactions in OpenGL
 
GFX Part 2 - Introduction to GPU Programming
GFX Part 2 - Introduction to GPU ProgrammingGFX Part 2 - Introduction to GPU Programming
GFX Part 2 - Introduction to GPU Programming
 
GFX Part 1 - Introduction to GPU HW and OpenGL ES specifications
GFX Part 1 - Introduction to GPU HW and OpenGL ES specificationsGFX Part 1 - Introduction to GPU HW and OpenGL ES specifications
GFX Part 1 - Introduction to GPU HW and OpenGL ES specifications
 
John Carmack talk at SMU, April 2014 - Virtual Reality
John Carmack talk at SMU, April 2014 - Virtual RealityJohn Carmack talk at SMU, April 2014 - Virtual Reality
John Carmack talk at SMU, April 2014 - Virtual Reality
 
GFX2014 OpenGL ES Quiz
GFX2014 OpenGL ES QuizGFX2014 OpenGL ES Quiz
GFX2014 OpenGL ES Quiz
 
Gfx2014 Graphics Workshop - Lab manual
Gfx2014 Graphics Workshop - Lab manualGfx2014 Graphics Workshop - Lab manual
Gfx2014 Graphics Workshop - Lab manual
 

Recently uploaded

WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
SupreethSP4
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
obonagu
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
ongomchris
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 

Recently uploaded (20)

WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 

Synthetic Data and Graphics Techniques in Robotics

  • 1. Synthetic Data and Graphics Techniques in Robotics Prabindh Sundareson, 2022 National Symposium on Trends and Developments in Intelligent Systems & Robotics (TD-ISR’22) PES University Bangalore Disclaimer: Views expressed are my own and does not represent the views of my employer
  • 2. Agenda • Role/Definition of Data • Types of Data – Random, Time, 2D, 3D • Graphics techniques – Applications in Intelligent systems design • Part 1 – Synthetic data and 3D processing in Navigation • Part 2 – Synthetic data and 2D objects in Vision processing • Challenges • Conclusion
  • 3. Role of Data in Intelligent systems • Function (task) Learning • Fit a given set of data points to a function (generator) • Feature Understanding • How relevant is a feature, correlations across features • Forecasting • Probability of an event occurring, given some data • And so on … In Machine Learning, training with more data has led to better results
  • 4. What is Data ? • Simplest – “Random number” • Also, time series, etc • import sklearn.datasets as dt RANDOM_SEED = np.random.randint(2**10) • dt.make_multilabel_classification
  • 5. What is Data (continued) • Onto 2D data – What processing is involved ? • Annotated images for image classification • Labelled (bounding-box) images for object detection • Segmented (pixel-wise) images for object segmentation • These activities require effort ! • Currently being solved with human effort
  • 6. What is Data (Continued) • Onto 3D data – What type of data ? • LiDAR point-clouds • Orientation data • 3D Meshes .. • As dimensions increase, the data, annotations /ground-truth generation gets more complex
  • 7. Why synthetic data – In summary • Cost and speed of acquisition and annotation (ground-truth – boxing/labelling, segmentation ..…) • Privacy issues • Consequences are virtual • Ex Robots in Medical systems • Ability to configure – coarse to fine features • Ex, In object detection • ball vs non-ball (coarse), ball vs what-type-of-ball (fine features) Synthetic Data Vault https://sdv.dev Topics
  • 8. Data in 2D and 3D – Topics in Robotics and Graphics TopicField Robotics field Graphics field Efficient 3D processing 3D points - Localisation and mapping in Robotics Synthetic data/ conversions/generation in rendering 3D meshes Kinematics Movement control in Robotics Animation in Graphics Rendering Pose Pose estimation for orientation detection in Robotics Animation transfer to arbitrary 3D meshes
  • 9. Part 1 - Robotics Navigation and 3D processing • How do intelligent systems navigate an unknown area ? • On-board sensors, on-board analysis • Satellite connectivity, external inputs • Sensors on UAV/drones, combined inputs • Onboard sensors – Radar, LiDAR, ToF, Stereo cam, depth, IMU .. • Obtain 3D map of the environment • Flow • Sensor → Data preprocessing (Ground plane, align) • What can we do with a Point-cloud ? • SLAM (Simultaneous Localisation and Mapping) • Registration, Loop closure etc .. • What else ? https://www.ncos.co.jp/en/products/3dpoint.html
  • 10. What “else” can be done with a Point-Cloud ? • Learn “Geometry” via Signed Distance Field “A Volumetric Method for Building Complex Models from Range Images”, Curless and Levoy, 1996 “DemoScene” in popular art sub-culture https://www.youtube.com/watch?v=XuSnLbB1j6E
  • 11. Implicit Representations in SDF Steps 1. Raymarching step by step 2. Surface hit ? → Angle of ray, normals SDF of circle (r=1) f(x,y,z)= sqrt(x​2​​+y​2​​+z​2)​−1 Why
  • 12. Why SDF ? Some commonalities • Concepts of • “distance” - Similar in 3D rendering and Robotics navigation • “operations” – union, intersection etc (ex the Snail) • Robotics – Distance provided by a sensor, ex LiDAR, or learnt from RGB • Application to Robotics - “Signed Distance Fields: A Natural Representation for Both Mapping and Planning” – Oleynikova et al, 2016 • How do we generate the SDF !! *https://www.youtube.com/watch?v=bMhR-UYlKqU - 3D Surface Reconstruction Using a Generalized Distance Function, 2016, Microsoft Research * Differentiable Volumetric Rendering: Learning Implicit 3D Representations without 3D Supervision – Niemeyer et al, CVPR 2020 * Neural Geometric Level of Detail: Real-time Rendering with Implicit 3D Shapes – Towaki et al 2021 * DeepSDF - Learning Continuous Signed Distance Functions for Shape Representation, Jeong Park et al, 2019 * On the Effectiveness of Weight-Encoded Neural Implicit 3D Shapes – Thomas Davies et al, ICML 2021 (https://github.com/u2ni/ICML2021 ) * Neural-Pull, Ma et al, ICML 2021 - https://github.com/mabaorui/NeuralPull-Pytorch , learns directly from 2D-images, does not require ground truth SDF LiDAR
  • 13. (a) SDFs from LiDAR (using neural networks) • Learn SDFs directly from LiDAR point clouds • “Learning Deep SDF Maps Online for Robot Navigation and Exploration” – Camps et al, 2022 • Neural network to regress SDF (per-frame) from LiDAR data • Hausdorff distance between successive SDFs used to determine mapping changes • Optimization steps applied for generating navigation stages RGB
  • 14. (b) SDFs from RGB images/Silhoutte (using neural networks) “SDF-SRN: Learning Signed Distance 3D Object Reconstruction from Static Images”, Lin et al, 2020 Kaolin
  • 15. Tool - Differentiable Rendering for training • “Differentiable rendering can be used to optimize the underlying 3D properties, like geometry and lighting, by backpropagating gradients from the loss in the image space” • “Learning to Estimate 3D Object Pose from Synthetic Data”, Zakharov, 2020 • Tools: • Kaolin - A Pytorch Library for Accelerating 3D Deep Learning Research • Ex – Fit a 3D bounding box around a 2D image • Example Kaolin link • Ex – Classification using point-cloud directly • https://colab.research.google.com/drive/1DoBlEt0GyOF5ZGrZ0kf30Gp5wk-dV2X9 Part 2 - GTA
  • 16. Part 2 - Synthetic Datasets from 3D Games • Precise Synthetic Image and LiDAR (PreSIL) Dataset for Autonomous Vehicle Perception – Hurl et al, 2019 • From Grand Theft Auto V (game) • By scanning the “depth” buffer • 50k+ HD images with • full resolution depth information, • semantic segmentation (images), • point-wise segmentation (point clouds), ground point labels (point clouds), and detailed annotations for all vehicles and people • Improvement of up to 5% average precision on the KITTI 3D Object Detection • Others - https://paralleldomain.com/ 2D Aug Don.riccobene
  • 17. Synthetic 2D Datasets by Augmentation • Augmentation = Add data by applying operations on existing images • Augmentation can improve accuracy / robustness on Vision tasks Robertas Damaševičius et al, 2021
  • 18. (a) 2D Image Augmentation in Frameworks PyTorch random_crop = torchvision.transforms.RandomCrop(size) fivecrop = torchvision.transforms.FiveCrop(size) horizontal_flip = torchvision.transforms.RandomHorizontalFlip() vertical_flip = torchvision.transforms.RandomVerticalFlip() random_persp = torchvision.transforms.RandomPerspective() random_jitter = torchvision.transforms.ColorJitter() normalize = torchvision.transforms.Normalize([0, 0, 0], [1, 1, 1]) https://pytorch.org/vision/main/transforms.html Examples from TensorFlow https://www.tensorflow.org/api_docs/python/tf/image Tools in industry: Roboflow, CVEDIA (Synthetic data) … Optimal Aug
  • 19. Optimal 2D augmentation for object detection 1. Small original set of n-class representative images = input 2. Perform augmentation on original n-class images at runtime 3. 2D rectangle packing into larger canvas at runtime (dynamically) 4. Multiple augmentation-packing steps results in combined canvas images 5. Multiple-classes in one image reduces storage requirements significantly Augmented + multi-class combined-canvas image
  • 21. (b) Synthetic Data for Recognition – from 3D • “An Annotation Saved is an Annotation Earned: Using Fully Synthetic Training for Object Instance Detection.” – • Hinterstoisser et al, Google AI, 2019 (Generate 2D images from 3D) For more realistic data – Start from BIM (Building Information Models)
  • 22. Synthetic Data – for Drone Flight Controls • AirSim works as a flight simulator for drones • Built as Unreal Engine plugin • Allows drone producers to train their machines to work in risky and dangerous places. • Roadmap to Autonomous driving • “Aerial Informatics and Robotics Platform”, Microsoft Research, https://www.microsoft.com/en- us/research/project/aerial- informatics-robotics-platform/ Challenges
  • 23. Challenges in Synthetic Data (Object detection) • Appearance gap – • Pixel differences, lighting, shadows, textures, … • Content gap – • Missing/ new objects • Domain Randomization – from Synthetic data to real world data • https://www.youtube.com/watch?v=O6KEKI3abl0&t=11s • “Evaluation of Domain Randomization Techniques for Transfer Learning” – Grun et al, 2019 • Brings results close to real-world datasets Future
  • 24. Future of Synthetic Data • Definite improvements in performance in current use-cases • Much of the data today is encoded for the “man-in-the-middle” • Ex, Traffic signs • Possible to generate and train on synthetic data • That may be more efficient for Robotics • Ex, glyphs that encode much more data than human-readable-signs • More efficient for storage (or even no-storage, if metadata is stored) • Synthetic Data could become the “real” data for Intelligent systems of the future
  • 25. Conclusion • Synthetic Data is valuable, not just for augmentation purpose, but also increases the overall robustness of recognition systems • New techniques like online-SDF learning (using differentiable rendering) can increase the capabilities of robotics systems to learn from surroundings • Possibility of machine learning without intermediate human involvement or “interpretation” step
  • 26. Backup - Resources for Vision/Compute/Data • OpenCV • VPI Vision Programming Interface (VPI) • https://developer.nvidia.com/embedded/vpi • Robotics Simulators – Gazebo, Webots, Isaac (ROS adaptation) • SDF Datasets - FAMOUS, ABC • 3D Model datasets – ModelNet10, 40 • SDFs introduction • https://www.youtube.com/watch?v=8--5LwHRhjk • https://jasmcole.com/2019/10/03/signed-distance-fields/ • http://jamie-wong.com/2016/07/15/ray-marching-signed-distance-functions/ • http://graphics.stanford.edu/courses/cs468-10-fall/LectureSlides/04_Surface_Reconstruction.pdf • Raymarching – Procedural generation of images • Introduction - https://www.youtube.com/watch?v=PGtv-dBi2wE • https://iquilezles.org/articles/raymarchingdf/ • https://www.shadertoy.com/view/WsSBzh • https://www.shadertoy.com/view/3lsSzf • “Neural RGB-D Surface Reconstruction” – Azinovic et al, CVPR 2022
  • 27. Neural Radiance Fields • Radiance - a differential opacity controlling how much radiance is accumulated by a ray passing through (x, y, z) • Utilises Differentiable volume rendering, ray marching • “NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis”, MildenHall et al, ECCV 2020 (https://github.com/bmild/nerf) • Represent a continuous scene as a 5D vector-valued function whose input is a 3D location x = (x, y, z) and 2D viewing direction (θ, φ), and whose output is an emitted color c = (r, g, b) and volume density σ
  • 28. Instant NeRF - network • Network configuration ? • Uses Huber Loss • Requires camera position • NeRF networks with joint optimization for camera position ie operating only on image frames also emerging
  • 30. COLMAP steps 1.Feature detection and extraction 2.Feature matching and geometric verification 3.Structure and motion reconstruction • up vector was [-0.90487011 0.10419316 0.41273947] • computing center of attention... • [-12.27771833 1.27148092 -0.09314177] • avg camera distance from origin 12.701290776903985 • 55 frames • writing transforms.json
  • 31. Adoption of feature-encoding layers • As applicable to “Coordinate networks” • “Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains” – Tancik et al, 2020 • Concept of Neural Tangent Kernels (NTK) • Faster convergence • Examples • https://colab.research.google.com/github/ndahlquist/pytorch- fourier-feature-networks/blob/master/demo.ipynb
  • 32. Differentiable Volume Rendering • Makes a mesh “learnable” from the sensor data • LiDAR data • Eikonal Equation ||∇f||=1 Learns a SDF
  • 34. Core Techniques 3 - Inverse Kinematics • Find valid orientations for intermediate joints, given an end position • Gradient Descent (cyclic coordinate descent(CCD)) • Deep Reinforcement Learning (DDPG) approaches Image courtesy IIITH
  • 35. Armature and Bones Blender – Armature (Skeleton) controls the character movement (rigging)
  • 36. Physics Simulators A Review of Physics Simulators for Robotic Applications – Collins et al, 2021
  • 37. Intelligence for Autonomous Agents • Ex Minecraft • Survival • Harvest • Combat • Training with 750,000 Minecraft YouTube videos, scraping from Minecraft Wiki, ... • Tasks • Programmatic tasks • Creative tasks. • https://github.com/MineDojo/MineDojo
  • 38. 2D-3D • EG3D: Efficient Geometry-aware 3D Generative Adversarial Networks - Chan et al, 2022 • Unsupervised generation of high-quality multi-view-consistent images and 3D shapes using only collections of single-view 2D photographs
  • 39. Topic 2 - Pose • Important for gripping in Robotics • PVN3D - 3D keypoint estimator from 2D images • Trained via Synthetic data, won 2nd in OCTOC challenge
  • 40. Pose in Graphics Animation • 2D video to 3D avatars • Translate pose in 2D to any 3D object • Steps • Body-pose estimation (2D) • Similar techniques as in Robotics, applied to human body landmarks • 2D to 3D mapping • Map to synthetic object’s keypoints • Mapping can be innovative and depends on the use-case
  • 41. SDF from point clouds (Traditional) • (CSCI 621: Digital Geometry Processing), 2019 • Construct SDF from point samples - Distance to points is not enough • • Need inside/outside information • • Requires normal vectors • • Examine local neighborhood for each point • • Compute best approximating tangent plane , covariance, MST tree construction,.. • Implicit Reconstruction - Estimate signed distance function (SDF) • Extract Zero isosurface by Marching Cubes • Approximation of input points • Result is closed two-manifold surface
  • 42. Does data change ? • Early stage research vs productization challenges • Conditions for data • Sufficiency and relevancy • Data needs to be relevant to the task • Some data = static datasets • Production goals demand new data, continuous training
  • 43. Types of Synthetic Data • Time-series (Movement, Distance, Sensory, ..) • Visual data • Augmented Natural Data • Rotated, Resized, color ranges, Blurred, Lit, … • Synthetic Data • Generated by simulations (ex Robotic movements) • Generated by Graphics API (ex Synthetic face/body, animation) • Combined • Generated by human in a virtual environment • ex Flight simulators https://varjo.com
  • 44. Synthetic data generation • “Act against Multiplication” – 1404 Law, outlawing “synthetic creation” of gold and silver, Britain • Today, we can realistically generate any data (almost) • Sensor Data (Gazebo, Webots.. simulators) • Visual Data (Unity, UE, Omniverse, ..) • Columnar Data (numpy, SDV, Gretel ..) • Synthetic != Fake, has to match the use-case DALL-E-2 Why
  • 45. LiDAR vs Depth • LiDAR more accurate, but object segregation difficult • A fusion of depth, RGB required for good results in both navigation and detection use-cases