Categories
Uncategorized

Lighting Platform Designs for Evenness: Comparing Dutta, Debevec and Ghosh’s

2019/05/29

In this post, I’m going to create a 2v dome (Dutta and Debevec’s design) and a sphere of rings (Kampouris & Ghosh’s design) dome as frames for lighting to evaluate in our simulation. These models will be generated with the Antiprism library.

To produce the 2v geodesic dome in OFF format and view it in the Antiprism viewer (see video below), use the following command:

geodesic -c 1 -f 2 ico | antiview
(-f is the frequency value, set to 3 for a 3v variant, etc.)

To export the OFF format file to Wavefront OBJ format, which can be loaded into the LightStage-Repo simulation, use the following:

geodesic -c 1 -f 2 ico | off2obj > ico_2.obj

Evaluating Evenness of Debevec 2v Geodesic Lighting Design

Ma 2007 reports the Debevec’s LS3 or LS5 (I forget which, it was the same dome with different equipment attached) has 156 LEDs, it has a 2 metre diameter and is an icosahedron 2v solid.

The icosahedron 2v with support access (the bottom vertex and its 6 adjoining edges removed) gives 158 mounting points, with an Edge2 layout. Assuming a typo in the paper, rather than two missing lights in arbitrary positions, we can just go with 158 LEDs in the standard configuration for Edge2all vertices and additional central point on every edge.

Therefore, set the following configurations in default.properties:

[FrameModel] 
frame.objfilename=../models/dome/ico_2.obj 
frame.scale=8
frame.number_of_vertices_per_edge=2
frame.withsupportaccess=True 
frame.support_access_vertices_to_remove=1

[LightIndexPositions] 
results_file.number_of_leds=158

Nb: These configurations have been set in debevec-ls3-5-lightstage.properties configuration file. Add the following argument to the command to specify this config:
-f "../properties/debevec-ls3-5-lightstage.properties"

Run evaluation as:

python run.py -m2 -e4 -p "../models/ico_sphere/ico_sphere.obj" -f "../properties/debevec-ls3-5-lightstage.properties"

Run the visualisation as: (replace -m2 with -m1)

python run.py -m1 -e4 -p "../models/ico_sphere/ico_sphere.obj" -f "../properties/debevec-ls3-5-lightstage.properties"

Output for Debevec LS3 / LS5 Edge2:
Evenness (Std/Qty)**: 0.0134763030522

** This Evenness (Std/Qty) metric is described and analysed in full in this post. Essentially, under these experimental conditions the statistical metric reported does seem to provide a reliable comparison, because the effect of the changing dependent variable, the quantity of positions, is normalised. The relative light positions themselves are changing as is the distance of each light from the target. These latter two aspects are not normalised, so their effects do contribute to the metric value and thus the comparisons drawn against other frames.

Evaluating Evenness of Dutta’s 2v Geodesic Lighting Design

Dutta’s 2v Geodesic dome fits 41 LEDs to the vertices to a frame diameter of 1.58 metres, where ours’ and Debevec’s frames have diameters of 2 metres; which corresponds to frame.scale=8. That is 8 times the size of the target object, a spherical model of a human head with a 25 cm diameter, 25cm*8=200cm. For Dutta’s frame, we’ll update the scale to frame.scale=6.32, which is calculated as 158/25=6.32.

To evaluate this, set the following configuration in default.properties:

[FrameModel] 
frame.objfilename=../models/dome/ico_2.obj 
frame.scale=6.32
frame.withsupportaccess=True 
frame.support_access_vertices_to_remove=1

[LightIndexPositions] 
results_file.number_of_leds=41

Nb: These configurations have been set in dutta-lightstage.properties configuration file.
Add the following argument to the command to specify this config:
-f "../properties/dutta-lightstage.properties"

Run as:

python run.py -m2 -e3 -p "../models/ico_sphere/ico_sphere.obj" -f "../properties/dutta-lightstage.properties"

Output for Dutta’s Vertex Mounted: Evenness (Std/Qty): 0.00986023410444

For comparison with a 2 metre diameter frame, with scale=8 setting, the Dutta frame Evenness score is 0.0100781512829.

Let’s take a look at the demo video, Dutta (left) and Debevec (right):

Evaluating Evenness of Kampouris & Ghosh’s ‘Sphere of Rings’ Geodesic Lighting Design

Kampouris & Ghosh’s stage attaches its 168 LEDs to the central point of each edge, and not the vertices. This frame is 2.5m diameter and structured as a UV Sphere or Sphere of Rings with 8 horizontal (latitudinal) and 12 vertical (longitudinal) rings. Before we can evaluate this frame, we need to create the model:

Back into Antiprism, and we can use the sph_rings library to view the model:

sph_rings 8 12 | conv_hull | antiview

and generate the WaveFront OBJ file as:

sph_rings 8 12 | conv_hull | off2obj > ../uv_8_12.obj

Here’s the dome video:

UV (8,12) Vertex Mounted – Not Kampouris & Ghosh’s Design:

Let’s have a go at evaluating this dome, based on mounting lights to its vertex points. For this trial simulation, we set the following configuration in default.properties:

[FrameModel] 
frame.objfilename=../models/dome/uv_8_12.obj 
frame.withsupportaccess=True 
frame.scale=8

[LightIndexPositions] 
results_file.number_of_leds=98

Run as:

python run.py -m2 -e3 -p "../models/ico_sphere/ico_sphere.obj"

Output for UV (8,12) Vertex Mounted: Evenness score: 0.0254674973397

Kampouris & Ghosh’s UV (8,12) Edge-Only Mounted Design:

Ghosh’s frame diameter is 2.5 metres. Similarly for Dutta’s frame, we’ll update the scale property, this time to frame.scale=10. This is 10 times the size of the target object, a 25cm spherical model of a human head.

Before the evaluation could be done, I needed to update the visualisation and numerical handling of edges of faces of more than 3 vertices. The UV_8_12.obj contains a number of 4-point poly-faces and 3-point triangles. Until now, only triangle are handled. The frame now correctly loads OBJ files with poly-faces of 3 and greater than 3 vertices. Face edges from an OBJ file are wrapped, e.g. f 1 2 3 4 -> edges 1-2, 2-3, 3-4, 4-1).

For Ghosh’s design, the support access was updated to remove the bottom 13 vertices of the UV_8_12 sphere. The new property corresponds to that: frame.support_access_vertices_to_remove=13. Set it to 1 for the 3v and 2v domes, and 1 should remain the default.

Also for Ghosh’s design, the edge mounting is new. Edge1 is now edge only. Edge2 and greater (Edge3, .. Edge10), include start, end and central unit vertex points. Specify as frame.number_of_vertices_per_edge=1 in the properties file.

Note, the target shape remains only compatible with tris (3 vertex faces), so loading the uv_8_12.obj file as a target (-p argument) will fail — give an odd appearance and evaluation results. To solve this limitation update the BRDF evaluation mechanism:

  • reflecting into the center of a triangle should change to reflecting into the center of a poly-face; which should be just vector addition update as a loop, instead of arbitrary quantity: see model_helpers/ vector_maths.py -> find_center_of_triangle() function.

Now on to Ghosh’s evaluation set-up and results:

To evaluate this Ghosh’s dome in the simulation, set the following configuration in default.properties:

[FrameModel] 
frame.objfilename=../models/dome/uv_8_12.obj
frame.scale=10
frame.number_of_vertices_per_edge=1
frame.withsupportaccess=True
frame.support_access_vertices_to_remove=13

[LightIndexPositions] 
results_file.number_of_leds=168

Nb: These configurations have been set in ghosh-lightstage.properties configuration file.
Add the following argument to the command to specify this config:
-f "../properties/ghosh-lightstage.properties"

Run as:

python run.py -m2 -e4 -p "../models/ico_sphere/ico_sphere.obj" -f "../properties/ghosh-lightstage.properties"

Output for Ghosh’s Edge-Only Mounts:
Evenness (Std/Qty): 0.0545624794222

For comparison with a 2 metre diameter frame, with scale=8 setting, the Ghosh frame Evenness score is 0.0534227400397.

Here’s the demo comparison: Left to right: Dutta, Debevec LS3/5 and Ghosh.

By Pete Scully PhD (UK)

I work & write on Research, Technology & Science. Past highlights range from 3D Reconstruction Light Stages for Phenotypic Mappings, Self-Healing Cyber Security, SCADA Network Security, Cybernetics & Behaviour Research, Genomic Feature Selection, IoT Apps for Zombies, PyCon, Data Analytics, Software Arch, Software Eng and Business Projects. Feel free to Email/DM me anytime.

4 replies on “Lighting Platform Designs for Evenness: Comparing Dutta, Debevec and Ghosh’s”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.