An Ongoing Investigation by Ray Schneider Assistant Professor Math and Computer Science Bridgewater College, VA
Digital Image Analysis of the Shroud of Turin Š 2008 R. Schneider
1
Motivation and Scope • Inspired by Mario Latendresse’s JavaScript use of shroud images to make length measurements http://www.bridgewater.edu/~rschneid/FocusProjects/Shroud/ShroudMeasure/shroudCal.html
• Availability of High Resolution Digital Images of the shroud – Barrie Schwortz 1978 STURP pictures – Durante 2000, 2002 scans provided by Guilio Fanti and others © 2008 R. Schneider
2
Levels of Analysis • Level 1: DATA – quantitative observables, ex. RGB values
• Level 2: RECOGNITION – categories of things, ex. cloth, image, blood
• Level 3: AGGREGATION – integrative, ex. face, wrist, arms
• Level 4: MEANING – context, ex. wounds, scourging, crucifixion, etc. © 2008 R. Schneider
3
Initial Result • Suppressed Face Bands with color normalization
Š 2008 R. Schneider
4
Long Range Objectives • Develop a Comprehensive Image Study Program – – – –
Compare Multiple Images Feature Characterization Banding, Image, Blood, Scorch, and others Color Normalization to reduce banding and enhance image – Blood Image Enhancement especially of Scourge Markings – Additional Projects as Intermediate Research Suggests – DEVELOP MEANS OF INVOLVING YOUNG RESEARCHERS © 2008 R. Schneider
5
Methods and Tools • Feature Analysis and Pattern Recognition • Tools (I’ve touched or tried, many are free) – MATLAB Image Processing Toolbox – CVIPtools – ImageJ – Photoshop Elements – Python Imaging Library (PIL) – ImageMagick – and others (ex. Irfanview, GIMP, etc.) © 2008 R. Schneider
YELLOW signifies commercial products.
6
Today’s Report • Progress Report • PRIMARY FOCUS – IMAGE SEGMENTATION USING COLOR, LUMINANCE, and WEAVE STRIATIONS – TWO STEPS: • Determine Classification Metrics for Samples • Make Color Substitutions to Highlight Results
© 2008 R. Schneider
7
Example Samples Note Striations (stripe and interstitials) • blood, image, scorch, clean cloth
c2453,13512
i3541,13625 b3333,13352 b3989,15828 b3545,1609 b3231,13352 b5392,16734
b5148,15535 b2768,9341
i3693,3937
b2931,17472 i3424,13312 i3293,13666
i3304,13858 darkScorch
s5100,10065 c5474,7284 c4928,7019 Š 2008 R. Schneider
c3646,145888
Sample Sites for Stripe/Interstitial Analyses Sample Sites Used in analysis: blood b1 through b8 cloth c7 to c10 image i1 through i5
Š 2008 R. Schneider
9
Blood Image Samples • Initially took point samples in stripe and interstitial regions of samples
Š 2008 R. Schneider
10
So The Problem
Everything is Everywhere LIGHT
BLOOD IMAGE
DIRT
CLOTH
All Colors In All Places? a complex affair Š 2008 R. Schneider
11
Color Spaces Used blue
for various purposes but primarily to isolate color from intensity or luminance • RGB True Color • uint8, double • rgbL unit vector and Luminance • (φ, θ, L) phi, theta, luminance SCT • binary (black and white)
θ φ
red
rgbL is a Cartesian Space where the rgb unit vector specifies color and L the luminance, (φ, θ, L) is an equivalent space with the unit vector reduced to angular © 2008 R. Schneider 12 coordinates
A Narrow Color Space The colors in the shroud take up a very small part of the total number of colors so that color alone is a difficult classifier.
Luminance
black = all pixels in FC blue = pixels in c1 cloth sample green = pixels across cheeks and nose in face red = pixels in blood sample b1
Phi
Š 2008 R. Schneider
13
Luminance Helps b3545,1609
c1 cloth
ic image cheeks & nose
GRN image space across cheeks RED blood
LUMINANCE
LUMINANCE
BLK=full color space of FC BLU=cloth represented by c1
fc face crop of primary image
PHI
THETA Š 2008 R. Schneider
14
False Color Substitution • EXAMPLE – Find a classification color range for blood and substitute a false color everywhere a pixel falls into the color range
© 2008 R. Schneider
15
False Color Injection Using Indexed Images Image was converted to unit color vectors, this was then compressed to eight colors. Three of these were correlated to blood and RED [1,0,0] was injected for these the rest remained unchanged.
Š 2008 R. Schneider
16
Color Segmentation image decomposition by color contrast enhanced original
luminance
color unit vector
Š 2008 R. Schneider
color unit vector
17
Luminance/Unit Vector • Image converted to a luminance image and a unit vector color image (2 images) • Image at right is color stretched view of unit vector color image • Suggests general feasibility of color segmentation by color alone if contrast stretch is used
© 2008 R. Schneider
18
Nose Image Nose Image from D2000
Color Unit Vectors Contrast Stretched
Š 2008 R. Schneider
19
Unit Vector Color Segmentation
R
G
B
Unit Vector Color Image Contrast Stretched by Color Plane and converted to 16 color indexed image and false-color BLACK substituted for RGB pixels with greatest R, G, B or both G & B values. All images were positive, note the negative effect particularly in GB substitution. GB
Š 2008 R. Schneider
20
False Color By Luminance Baseline 24 indexed color WHT and BLK
d3
b12
b5
Š 2008 R. Schneider
b12d5
b8
b12d8
21
Combining Unit Vectors and Luminance (angle and interval)
0.3-0.7
3 degrees
0.4-0.8 3 degrees Š 2008 R. Schneider
0.5-0.9 3 degrees 22
Image Pixels
5 degrees 0.7 to 0.9
Triple false color substitution used to narrow color vector WHT = brightest pixels RED = darkest pixels GRN = intermediate pixels used to narrow color unit vector
6 degrees 0.8 to 0.9
Š 2008 R. Schneider
Left and Right Cheeks
23
Cloth & Image Stripes and Interstitials i3541,13625
c5474,7284 i3293,13666
i3424,13312 i3693,3937
c4928,7019
i3304,13858 c2453,13512
Generated by sorting pixels by luminance and binary splitting at the median
Š 2008 R. Schneider
c3646,14588 24
Blood & Scorch Stripe and Interstitial
b3545,1609
b3989,15828
b3231,13352
b3333,13352
b5148,15535
b5392,16734
b2768,9341
darkScorch
b2931,17472
s5100,10065
Š 2008 R. Schneider
25
Phi Theta Luminance • (φ,θ, L) convenient coordinate system where (φ,θ) defines the color and L the intensity INTERSTITIAL
original
interstitial WHT STRIPE
blood RED
False color substitution using a set of intervals BLOOD(RED) (φ: 0.52-.7 θ: 1.0467-1.17 L: 0.35 – 0.7166) INTERSTITIAL(WHT) (φ: 0.62-0.733 θ: 1.02-1.1 L: 0.73-1.0)
combination RED/WHT © 2008 R. Schneider
26
Transference
• Using intervals from one sample on another • Wrist wound intervals applied to chest wound
original
interstitial WHT
blood RED
© 2008 R. Schneider
combined RED and WHT 27
Color & Luminance Blood Luminance Stripe
b1 r foot b2 b chest b3 g base E b4 m bk head b5 c elbow b6 k elbow out b7 y scourge b8 k wrist
Luminance Interstitial
note median cuts
Stripe
φ,θ Color Space High Overlap
Interstitial © 2008 R. Schneider
28
Mean of Stripe & Interstitials blood image
cloth
• Blood, Image, and Cloth have different colors on average, but they are very close together
Plot in φ,θ space of means of stripe & interstitial colors. Large ambiguity when variance is considered. Luminance reduces this. © 2008 R. Schneider
29
Cloth, Blood, Image Nearest Neighbor Substitution
Mean PTL color vectors from stripe and interstitials of cloth, blood, and image samples were used as reference colors matched with false colors:
Š 2008 R. Schneider
cs: 85% white ci: white bs: red [1 0 0] bi: white 60% gray is: orange [1 .4 0] ii: flesh [1 .8 .6]
30
Conclusions So Far • Shroud is characterized by a very narrow color/luminance space which makes classification by color alone difficult • Contrast Stretching May Ameliorate this Problem (requires further work) • Region Analysis of Stripe and Interstitials Separately May Improve Segmentation • The Image Area Shows a Strong Affinity with the Interstitial Blood Modes as well as having pixels that are likely evidence of blood on nose, mustache, and beard © 2008 R. Schneider
31
Further Work • Extend work by exploring more selective substitution schemes – ex. Add localized region statistics to classifier
• Explore Fine Tuning using color and luminance gradients • Explore Stripe/Interstitial Relationship Further by Category (cloth, image, blood, etc.) • Extend work to other features – scorch, water stain margins, detritus (dirt, droppings)
• Explore patterns of dirt in otherwise pristine regions © 2008 R. Schneider
32
Acknowledgements • Mario Latendresse whose work on using pixel coordinates got me thinking • Barrie Schwortz for his images and friendship – Schwortz 1978
• Giulio Fanti for providing me with high resolution images used in this study and others I hope to use in the future – Durante 2000
• All the shroud people who have inspired me over the years, especially Dan Scavone who was always so generous with his time and knowledge © 2008 R. Schneider
33
Thankyou All for Listening Š 2008 R. Schneider
34
Additional Slides Not In Talk
Š 2008 R. Schneider
35
Color & Luminance Cloth c7 r c8 b c9 g c10 m
Š 2008 R. Schneider
36
Color & Luminance Image
Š 2008 R. Schneider
37
30 Blood Sample Unit Vectors
Cluster Relatively Tightly
Š 2008 R. Schneider
38
Same Measures in RGB 0..255
Š 2008 R. Schneider
39
Blood and Open Cloth red = blood blue = lighter cloth green = darker cloth
Lighter and darker are relative in the same sample, top of threads and between threads of weave.
Color Unit Vector Space
Scatter of Blood and Cloth Unit Color Vector Samples from 30 Blood Samples and 136 Cloth Sample Points Š 2008 R. Schneider
40
RGB Plot of Image Samples b (blue) = tip of nose g (green) = left cheek r (red) = right eye c (cyan) = right cheek m (magenta) = right calf
Š 2008 R. Schneider
41
Clean and Image Cloth Hard to Separate Image and Cloth
Bands on Side of Face
Tip of Nose
Š 2008 R. Schneider
42
Example Banding
Š 2008 R. Schneider
sample c2
43
General Coordinates A Natural System Dorsal
613
2
6373
Ventral 1
12133
1
17894
2
23654
R C
L R=Right C=Center L=Left D=Dorsal V=Ventral
c=cloth b=blood i=image s=scorch w=waterstain margins m=miscellaneous
Pixel Coordinates used to locate samples so a sample is classified as type followed by a region and pixel location, ex. cLD1R1055x9408 would be a cloth sample (i.e. not image or blood, etc. in the Left Dorsal 1 region and the trailing R is the Right herring Š 2008 R. Schneider 44 bone weave, i.e. /// slanted up and to the right
Cloth Samples Š 2008 R. Schneider
45
3 Samples in RGB Space The problem is that all samples potentially contain all kinds of elements: 1) blood, 2) cloth 3) image
A lot of color overlap and hence ambiguity.
Š 2008 R. Schneider
46