SPStudio Chris Johnston
Jan 01, 2016
SPStudio
Chris Johnston
What?
SPStudio Tool to gather 3D data from digital photographs.
Stereo Photogrammetry Give a computer depth perception.
Stereo Correspondence The use of 2D image data to determine a point’s
location in 3D space. Volumetric Reverse Multiple Correspondence
Algorithm Finds corresponding volume. Takes a point in 3D space and determines its location
within the images.
Functions
Save progress at any time Fully graphical View finalized data set Estimated time of algorithm completion Change image file associations any time before the
algorithm is run Change camera information at any time before the
algorithm is run Produce a 3D data set that is a reasonable
representation of the object captured in the photos Provide a multiple document interface environment
Specifications
Development Environment Visual Studio .NET 2003 C#
Minimum System Requirements .NET Runtime Environment 256 MB RAM 1.2 GHz processor 32 MB accelerated graphics card with
OpenGL support
Why?
Current Modeling Methods Require a degree in themselves Vertex by vertex data entry Geometric primitive data entry
SPStudio User-friendly Quick No artistic ability required Inexpensive
Who?
Students Weekend programmers New companies The artistically or financially
challenged
How?
Current Algorithms Object Specific Large amount of user input High risk of bad data entry
Volumetric Reverse Multiple Correspondence Algorithm Given a volume in 3D space, does this
volume correspond to the volume of the object photographed?
Small and simple data input Lower chance of bad data entry
Algorithm Data Input
User takes photographs of objectMust be same distance from objectFirst photo is the reference photo and
is treated as taken from 0 degreesEach photo after that must be
assigned a degree with regard to the reference photo (clockwise rotation of object)
Example Photos
Silhouette Data Input Method
Algorithm Simplified
Shift Phase
Post Shift
Voxel Representation
Where’s the “any” key?
I am a user. You are and application. I shall destroy you!I will enter a word when you ask for a
number.I will enter a document when you ask
for an image.I will do everything you do not want
me to do.
Protecting the User from themselves
More Protection
Even MORE Protection
Are we there yet?
Current IssuesRefresh fault due to C#’s component
threading system.
System Layout
Finalizing
Record the intersection data from the 4 shift voxel data sets in a simple format
Issues During Development
Having a working prototype doesn’t mean you are almost done!
It is hard to be a developer and think like a user.
Pass by reference decreases memory usage and increases aspirin usage.