E57 1 PDF
E57 1 PDF
Daniel Huber
The Robotics Institute
Carnegie Mellon University
Member of the ASTM E57 Committee on 3D Imaging Systems
Sub-committee on Data Interoperability
The E57 Format
What have we done?
Over the past 5 years, we have
developed an open standard for 3D
imaging system data exchange.
n Store and exchange:
n 3D data (point clouds,
range images)
n Associated images
n Meta-data to support
downstream processing
n General purpose – terrestrial,
aerial, mobile
n Extendable
Who is “we”?
ASTM E57 Committee on 3D
Imaging Systems, Sub-committee on
Data Interoperability (E57.04)
2
What is Three Dimensional Imaging?
Laser Scanners
Triangulation
3
Uses of 3D Imaging: Modeling and Visualization
4
Uses of 3D Imaging: Robotics
5
Uses of 3D Imaging: Civil Engineering
Quality assurance
Infrastructure inspection
Reverse engineering
6
How Do People Store 3D Data Today?
7
What’s the Problem with the Status Quo?
8
How Does the E57 Format
Address These Problems?
Proprietary Ad-Hoc Domain Specific
Formats Formats Formats
n Data exchange n Storage efficiency n Limited applicability
combinatorial n Limited across domains
explosion documentation
n Loss of information n Variations in
when converting implementations
n Long-term stability n Limited use for data
exchange
Develop
Specify Design the Write Vote on Encourage
qualification
requirements format standard standard adoption
process
Begin Specify
…
version 2 requirements
Develop Develop
supporting Testing additional
software tools
10
Guiding Principles
11
Information to Store in an E57 File
12
Secondary Goals
13
E57 Design Basics
points
points
points
(PointRecord)
(PointRecord)
(PointRecord)
data3D
bar
(Data3D) pose
bar
(RigidBodyTransform)
images2D
bar
(Image2D) visualReferenceRepresentation
bar
(VisualReferenceRepresentation)
sphericalRepresentation
(SphericalRepresentation)
15
Parts of an E57 File
Header
XML section
16
Error Checking
Header
Binary section
(points)
Logical data stream
Binary section
(points)
Binary section
(image)
4 byte checksum
17
XML Hierarchy – The E57 Element Types
Integer Structure
Float Vector
ScaledInteger CompressedVector
String
Blob
18
Point Data Storage
Example point record prototype:
19
Binary Encoding
Blobs
n Opaque encoding
n Images, user-defined data
CompressedVectors
n Point data storage, user-defined data
n Data organized into chunks for semi-random access
n Index packets, data packets
n Data serialization using codecs (bit packing)
20
Image Storage
center of projection
y
focal
length
z x
21
Extensions
22
Implementation – The libE57 software
23
Ongoing Work
24
Supporting Partners
25
Summary
26
Comparison with LAS
LAS E57
27