Download presentation
Presentation is loading. Please wait.
Published byBuddy White Modified over 9 years ago
1
ECE-1021 Instructor’s Project SIRDS Single Image Random Dot Stereograms Final Presentation 04 DEC 03
2
Project Timeline All goals met on or ahead of schedule Project Kick-Off: 18 November 2003 Project Demo: 04 December 2003 (16 days) Skeleton Program (Dummy SIRDS Image) 20 Nov 03: Input Data File Format Defined 20 Nov 03: Output Data File Format Defined 22 Nov 03: User Interface Defined 25 Nov 03: Skeleton Program Tested SIRDS Image Generation Algorithm 20 Nov 03: Basic Approach Researched and Understood. 22 Nov 03: User Controllable Parameters Identified. 25 Nov 03: Image Generation Algorithm Finished 29 Nov 03: Algorithm Integrated into Skeleton Program 02 Dec 03: Final Product Testing and Prepare Deliverables
3
Presentation Outline Overview of Project What SIRDS is. The specific goals of this software package. Presentation of Algorithm The basic concept of SIRDS Image Generation. Development of the relevant mathematical models. The core Image Generation Algorithm. Review of Algorithm Debugging Steps Software Demonstration
4
The BIG Picture Overview of Project What SIRDS is. The specific goals of this software package. Presentation of Algorithm The basic concept of SIRDS Image Generation. Development of the relevant mathematical models. The core Image Generation Algorithm. Review of Algorithm Debugging Steps Software Demonstration
5
What is SIRDS? ä Single Image Random Dot Stereogram ä A form of AutoStereoImage ä 3D information presented in a single image. ä No filter or equipment needed to separate left and right data. ä Viewer decouples eye convergence length and eye focal length to see the data in 3D - some people can’t do this. ä Variations include: ä SIRTS: Single Image Random Text Stereogram ä SIS: Single Image Stereogram (tiles instead of dots)
6
Normal Stereo Vision The eye muscles tilt the eyes toward each other so that their sight-lines converge at a certain distance. Other eye muscles change the shape of the eye lens so that the eyes are in focus at that same distance. These two muscle movements are trained to act in concert, but they can be decoupled with practice.
7
“Cross-eyed” AutoStereo Vision The brain’s primary depth perception at short distances is based on the convergence point depth. Pixel seen by right eye Pixel seen by left eye Perceived distance
8
“Wall-eyed” AutoStereo Vision The brain’s primary depth perception at short distances is based on the convergence point depth. Pixel seen by right eye Pixel seen by left eye Perceived distance
9
Wall-eyed vs. Cross-eyed ä Wall-eye images are most common. ä More comfortable to view. ä Generally stronger 3D effect. ä Limitation on image size, distance, and separation. ä Cross-eyed images have some advantages. ä Easier to view (not more comfortable). ä No limitation on size, distance, and separation. ä Perceived Depth is reversed if the wrong technique is used.
10
Mealstrom by Pascal Massimino - A Wall-eyed SIS
11
What is the Goal of this Software Project? Produce a software package that: Uses digital elevation data from a text file. Allows the User to configure most (if not all) of the parameters through an interactive DOS Console based interface. Produces a Windows Bitmap SIRDS image.
12
Top Level Decomposition Useful guide for project development High-level tasks: Get information from user regarding: Input Data File Parameters Image Generation Parameters Output Data File Parameters Access a file with digital elevation data. Generate a SIRDS image. (high effort task) Generate and output a BMP file of that image.
13
How to Make SIRDS Overview of Project What SIRDS is. The specific goals of this software package. Presentation of Algorithm The basic concept of SIRDS Image Generation. Development of the relevant mathematical models. The core Image Generation Algorithm. Review of Algorithm Debugging Steps Software Demonstration
14
Image Generation Algorithm ä For each row: ä For each data point in the row (start from left): ä Determine which pixel left eye sees. ä Determine which pixel right eye sees. ä For each pixel in the row (start from left): ä If pixel not already colored, color randomly. ä Color corresponding right eye pixel the same.
15
The Mathematical Model What did the eyes see? And where did they see it? Surface being viewed (Data Field) Far Plane - furthest away any point can be. Horizontal Reference Line - i.e., x = 0 Point of Interest Eye Level Left Eye Sight Line Right Eye Sight Line Left Eye x1x1x1x1 z Image Plane Left Eye’s Pixel Right Eye’s Pixel D2D2D2D2 D1D1D1D1 XLXLXLXLs l_pix r_pix BY SIMILAR TRIANGLES
16
Data Section Parameters and defaults ParameterDescriptionDefault File Input Data File Name NULL PointsX Horizontal Data Point Count As counted in file PointsY Vertical Data Point Count As counted in file Aspect Vert Pitch/Horz Pitch 1 SizeX Physical Horizontal Size (cm) 25 cm SizeY Physical Vertical Size (cm) Calc from above
17
Image Section Parameters and defaults ParameterDescriptionDefault File Output BMP File Name NULL Depth Bits per pixel 24 (fixed) Color Color, B&W N PixelsX Image Width (pixels) 640 PixelsY Image Height (pixels) 480 Aspect Vert Pitch/Horz Pitch 1 SizeX Physical Horizontal Size (cm) 24 cm SizeY Physical Vertical Size (cm) Calc from above
18
SIRDS Generation Section Parameters and defaults ParameterDescriptionDefault eye_cxd Horz Displacement of Data Center (% right) 0 % eye_cyd Vert Displacement of Data Center (%above) 0 % eye_cxi Horz Displacement of Image Center (% right) 0 % eye_cyi Vert Displacement of Image Center (% above) 0 % eye_sep eye separation (cm) 7.5 cm distance Distance from eyes to image (cm) 25 cm depth dist from image to far plane as % of distance 100 % relief max data height as % of depth 33 % null_ht Height outside of data limits 0
19
Input Data File Format Header Record optional, can be 1 to 4 values. If first line has: 1-4 values 1st value: Number of values per row. (def = count CR/LF) 2nd value: Number of rows. (def = determine from data) 3rd value: Horizontal size (cm). (def = 25.0 cm) 4th value: Pixel aspect ratio (width/height). (def = 1.0) >4 values Assumed to be first line of data (i.e., no header) Data files with less than five points/row require header.
20
Example of Data File Complete Header, two raised posts 9 7 18.0 1.1 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 9.3 9.3 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 5.1 5.1 5.1 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2
21
How to make SIRDS actually work! Overview of Project What SIRDS is. The specific goals of this software package. Presentation of Algorithm The basic concept of SIRDS Image Generation. Development of the relevant mathematical models. The core Image Generation Algorithm. Review of Algorithm Debugging Steps Software Demonstration
22
Original Z Data (lighter is higher)
23
Resulting SIRDS No discernable 3D pattern. Strange Artifact on right hand side.
24
Used simple, distinct data Black is low, white is high
25
Resulting SIRDS No discernable 3D pattern. Strange Artifact on right hand side.
26
Encoded certain data into image Alternated every three lines: row%3 = 0: SIRDS Data row%3 = 0: SIRDS Data row%3 = 1: Left Eye Data (red w/green bias) row%3 = 1: Left Eye Data (red w/green bias) row%3 = 2: Right Eye Data (blue w/green bias) row%3 = 2: Right Eye Data (blue w/green bias) Only one eye is apparent. Close examination shows both eyes are coincident (i.e., no separation). Error in code: left eye pixel stored into both the l_pix array and the r_pix array.
27
Corrected error - artifact remained No obvious association of artifact with any feature in image except possibly the size of the center hole.
28
Increased eye separation Increased the eye-separation because it seemed a bit small. Artifact on right side grew considerably.
29
Alternate encoding revealed error Forced SIRDS data to be WHITE for pixels where data is visible to left eye - BLACK elsewhere. Shows that the area at the right is supposedly visible by the left eye. Code examined and logic error discovered.
30
Another, similar error remained Everything to right of last entry in r_pix array is seed as being viewed by left eye unless an actual l_pix array entry is found. Modified loop to only identify the first r_pix entry. Subsequent entries therefore rely on subsequent l_pix passes - which actually makes more sense.
31
Image separation now working Changed color bias to be less annoying. No SIRDS data is encoded in this image. This image is a viewable stereo pair!
32
Saturation reveals asymmetry Put out WHITE if pixel in either l_pix or r_pix Not all pixels in l_pix have an r_pix mate.
33
Use only pixels that form a pair Much more even image - and is a stereo pair! Some artifacts still present, but minor.
34
Use random shade for each pair Is still a stereo pair. Only need to fill in rest with random dots.
35
Success! A full blown SIRDS!
36
Simplifying assumptions relaxed
37
A color SIRDS
38
The Moment of Truth Overview of Project What SIRDS is. The specific goals of this software package. Presentation of Algorithm The basic concept of SIRDS Image Generation. Development of the relevant mathematical models. The core Image Generation Algorithm. Review of Algorithm Debugging Steps Software Demonstration
39
User Interface Screen Shot Parameter Edit Hot Keys Focus Switch Hot Keys Focus Indicator Top Level Command Hot Keys
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.