RMS Distance to Reference

Posted: April 10, 2019 at 5:29 pm

I selected one composition (#569) from the training set as the reference and computed its distance (RMS) from all other samples in the training set (without neutral samples). The result is not unexpectedly that the good compositions are spread throughout the bad compositions (see below).

Also there seems to be no visual relationship between compositions with shorter RMS distances; #878 is not more similar to #569 than #981 is. This is confirmed by plotting the images themselves according to their RMS distance to the reference (in the upper left corner, filling rows first):

So it seems using these instructions as feature vectors may be a no go. The benefit of using these vectors was that the composition could be evaluated by the classifier without it actually getting rendered. I’ll next try the using colour histogram features and see if my results are any better.


Initial (MLP) Classification Attempts.

Posted: April 10, 2019 at 1:35 pm

Using the labelled data set, I was unable to get a (simple MLP) classifier to perform with accuracy better than 50%; it seems my fears, based on the t-sne visualization previously posted, were warranted. There is the underlying question regarding whether I should even treat the instructions to make compositions (my vectors) as features of the compositions. To look at this a different way, I thought I should generate histograms for each composition and see how t-sne and simple classifiers perform on those features.

I was thinking that perhaps the rarity of “good” compositions in the training set was a problem. Splitting the data-set into 80% training and 20% validation (using sampling that keeps the distribution of the three labels similar in both sets) leads to a training set with 41 “good” compositions, and a validation set with 10 (~12% in both cases).

There are also a lot of “neutral” samples that are neither good nor bad, and that is certainly not helping with what (at least initially) is a binary classification problem. So I did a test removing all the neutral samples and the classifier accuracy jumped from 50% to 82%, which is obviously significant. Unfortunately (because of the rarity of good compositions?) this translates into 6 “bad” compositions predicted to be “good” and 0 “good” compositions predicted to be “good”. The following images were labelled “bad” and predicted to be “good”:

I have a few other things to investigate, including arranging images according to their distance to a reference (an arbitrary composition) and see if (a) the distance corresponds to some sense of visual similarity, and (b) the distribution of good and bad compositions (are good compositions more distant from bad ones?). I suspect the latter will mirror the t-sne results, but it’s worth looking at whether distances in vector space matches any sense of visual similarity. Another investigation will be to generate colour histograms for each composition and see how those features look according to t-sne and the classifier.


t-sne on labelled compositions.

Posted: April 4, 2019 at 5:59 pm

The plot above shows the t-sne results of the vectors that represent each composition. It’s very clear that bad, good, and neutral compositions are evenly distributed and conflated with no discernible separability. I spent a little time trying to figure out what the implication is, but I seem to only find information on linearly separability and classification. My concern is a classification of these vectors will not be able to discriminate between good and bad compositions. If this is the case, I would need a different representation of each composition and it’s unclear what an appropriate representation would be.


Initial Training Set

Posted: April 3, 2019 at 4:53 pm

In preparation for Machine Learning aspect of this project I’ve generated 1000 images (and the vectors that represent them) and labelled them as good, bad or neither good nor bad. There were 51 good, 376 bad and 513 neutral images in the training set.

The labelling is based in my intuitive compositional sense and is a stand-in for viewer interaction (via preferential looking and social media likes). The idea is to get a sense of this data set and train a few classifiers to see if they can discriminate good and bad compositions.

Good Compositions

The next step is to plot the corresponding vectors using t-sne in R and see how my labels are distributed in that vector space.


Entanglement and Reality (Interpretations of Quantum Physics)

Posted: March 12, 2019 at 7:14 pm

The following is direct copy-paste from my notes. I have had some time to reflect on this, but I’m strongly leaning towards Karen Barad’s Agential Realist Interpretation, which I will post about after doing some more reading.

Bell’s Theorem and the EPR Paradox

Quantum entanglement means that one of these things is very different than we tend to accept:

  • Locality: distance has no meaning in some cases
  • Realism: reality does not exist without observation “counterfactual definiteness” coexistence of everything possible.
  • Freedom of choice: the universe and all of our actions are deterministic.

“namely (i) reality (that microscopic objects have real properties determining the outcomes of quantum mechanical measurements), and (ii) locality (that reality in one location is not influenced by measurements performed simultaneously at a distant location). ” (wikipedia) (more…)


Bell’s Theorem and Reality.

Posted: March 12, 2019 at 6:48 pm

In one of my earlier posts I mentioned Bell’s Theorem and I’ve been spending some time reading thinking about this in relation to the EPR Paradox. That splintered off into many interesting and different directions for further reading and consideration, listed below. My interest in this area connects with my epistemological inquiry, and the idea of objects and subjects as being mutually constructive.

  • EPR Paradox
  • Counterfactual Definiteness
  • Observation
  • Quantum Discoherence
  • Free Will
  • The Copenhagen Interpretation
  • De Broglie-Bohm Theory
  • The Transactional Interpretation
  • Quantum Bayesianism

Update: I wrote this months ago and have not had a chance to return to it until now. After a week of seminars with Karen Barad, I’m inspired to return to this tough work but it’ll take a few posts to get from where I was at the time or writing the above to where I am now.


Face Detection & Non-defective Display!

Posted: March 12, 2019 at 10:29 am

Last week I managed to get facial tracking code working on the Jetson. It’s using the old CUDA-based Haar-feature method, but seems to be working more or less fast and well enough. Though I did notice that the (a) it’s a little noisy (i.e. the detection of a face sometimes oscillates over time) and (b) the plant behind me (as seen above the mouse in the image above) was occasionally recognized as a face. This is good enough for this stage and hopefully I won’t need to train my own classifier to improve things. Later this week I’ll integrate the ‘painting’ rendering code and I’ll see how the experience feels in terms of change only when no one is looking.

The third EIZO display arrived last week and it does not have any noticeable “pressure marks”. I suppose the first two were just bad luck and I hope I have better luck when I order the second unit.


Bulk Compositions Generated on Jetson

Posted: February 23, 2019 at 12:13 pm

I spent the last couple of days reorganizing the visual exploration code into separate files. Now there is a class that holds all the rendering code and also a class for each layer of the composition. This makes the main program very clean and simple and a good stage for more ongoing development. The image above is a random generation of compositions on the Jetson. No editing here, literally the random output of the system. Most compositions are not very interesting; this is a good way for me to tune the system in terms of the breadth of generated diversity.

I wanted to get a little more work done using the square screen before I ship it back next week, due to the dark spots it arrived with. This is the second monitor I’ve received from them with this problem and I sure hope the third time is the charm. I’m going to record my unboxing in case there is a problem I can show them if it arrives with damage.


OFX 0.10.1 Working on TX2

Posted: February 18, 2019 at 10:55 am

I followed (the English translation of ) this blog post to get openframeworks to build on the Jetson. The aesthetic exploration code written on the shuttle seems to run just as snappy on the Jetson! The only initial issue is that the frame-rate does not seem fixed to vblank, so there is some tearing on rendering. Following is my own notes on the process of getting ofx working on the Jetson, see orig post for details:

sudo ./install_dependencies.sh
vi config.shared.mk

change line 79: armv7l to aarch64

vi config.linuxarmv7l.default.mk

Comment out lines 41-44 and 69-71

Copy the precompiled libs over the arm included libs. (See Japanese blog post for the download link)

cd ~/Downloads/OF10.0lib

mv libkiss.a libs/kiss/lib/linuxarmv7l/

mv libtess2.a libs/tess2/lib/linuxarmv7l/

Compile!

cd ~/src/of_v0.10.1_linuxarmv7l_release/scripts/linux

./compileOF.sh -j4

Solved Full-Resolution Artifacts!

Posted: February 15, 2019 at 11:19 am

It turns out the problem was that the 1920×1920 signal generated by the Jetson by default was 60hz. While this is a valid resolution according to the specs, I think it requires a dual-link DVI and it’s unclear how HDMI effects this. Anyhow I realized that there is also a 30hz 1920×1920 signal in the EDID and using xrandr to use that resolution resolved the 60hz artifacts. Now that I think about it, my post to the nvidia developer forum does make sense, since I was initially running on DVI and changed to HDMI to rule out the cable. Turns out when I switched from DVI to HDMI, the GeForce card automatically switched from 60hz to 30hz and I did not notice.

I did have some issues making my changes stick on boot, as documented in the post linked above. After installed xubuntu, I can only assume its xrandr-based display settings allowed my preferred 30hz resolution stick on boot.


NVIDIA Jetson TX2 Arrived!

Posted: February 13, 2019 at 10:51 am

The machine-learning embedded platform (NVIDIA Jetson) arrived last week! This is the board I chose for the Zombie Formalist so I could get decent GPU accelerated facial recognition with hopefully low power use and noise. The board is less hackable than I was expecting (e.g. switches are surface mounted!) so I may need to get a different board for the final work. So I installed Jetpack 3.3 and hooked up the square display to find a problem… (more…)


Paul Mogensen

Posted: February 13, 2019 at 10:09 am

“no title (Earth Red)”, Paul Mogensen, 1969

“No Title”, Paul Mogensen, 1973

I’ve finally finished all three volumes of Claudine Humblet’s The New American Abstraction (1950–1970)! This will conclude the bulk of my art-historical research for the Zombie Formalist, though I expect to look back at these artists as a continue to refine the visual aesthetic of the work. (more…)


Agnes Martin

Posted: January 31, 2019 at 2:51 pm

“Summer”, Agnes Martin, 1964

“Untitled #2”, Agnes Martin, 1992

It has been a while since I got back to my research on colour field painters. Martin is one of the very few women in the field who gained prominence and provides a good precedent for the grid and a systematic (but not rigidly so) compositional process.

Like other painters in the field, Martin aims for a “pursuit of the essential” (Claudine Humblet, The New American Abstraction (1950–1970)). Martin’s lack of rigidity in the system is manifest in slight variations in her composition, for example the position of the dots in the “Summer” above. This is described as a “constant vibration” (Ibid.) and is “…far removed from the ‘impersonality’ once hoped for from geometric form.” (Ibid.) Martin’s emphasis on perception, where the viewer  completes the work, is consistent with other painters focused on perception: “The observer makes the painting.” (Martin quoted by Claudine Humblet, The New American Abstraction (1950–1970)) This again connects very well with the Zombie Formalist that is an empty mechanism with no intention whose random actions are given value and meaning through the attention of the viewer.


Meeting #3

Posted: January 25, 2019 at 7:35 pm

I keep hoping to keep up with my reading and reflections for this project and I am not succeeding. I’m spending most of my time just catching up, rather than reading what I’ve already flagged as interesting and considering what has already been discussed. Unfortunately this post will not be any different; it’s a quick description of the last meeting and some quick notes of things to go back to.

The third meeting was a focus on artistic practise, so Karen, Robin and I talked a bit about our practises and I was struck by some very interesting intersections between Robin and I that seemed to resonate significantly with Sarah and Karen. Following are the notes taken by Robin during the meeting; I’ll provide some keywords below. (more…)


Meeting #2

Posted: January 10, 2019 at 3:42 pm

I did not get a chance to write a post about our second meeting, so I’m doing so now before our third meeting! During the second meeting we were introduced to team member Dr. Seven J. Barnes (who also served on my PhD committee). I thought I would look through my notes and list interesting terms, phrases and concepts that came up in the second meeting:

  • Primordial Soup
  • Consciousness as emergent property
  • Magnetic Frustration: Inability to find the most favourable alignment of spins
    • Does this mean the macro structure is and difficult to predict from the micro structure? Equal probability of being in different states?
    • What does frustration mean in terms of dynamics over time?
  • Spin Glass used to model dynamics in biological neural networks.
    • Spin Glass seems very interesting in itself, and I’m still left a little lost in the dynamics. Is the state of spin static in spin glass as long as temperature is steady? What happens in the phase transitions of spin glass? (Is a spin glass a transitional state of a ferromagnet?)
  • Perturbation
  • Phase-transition
  • Nucleation
  • What is the grand theory in Condensed Matter Physics?
  • Skyrmion
  • Metastability
    • Metaplasticity in learning systems?
  • (spooky?) Action at a distance.

I also wrote down a few ideas for possible “subtopics” in emergence:

  • Metastability / Metaplasticity
  • Organic vs Inorganic
  • Decay
  • Entropy
  • Disspitation
  • Life

Dense Circles

Posted: December 29, 2018 at 6:10 pm

These are generated the same as the previous circles, except the number of layers is increased from 3 to 10. I focused on circles, but the stripes and chevrons at this density looked very interesting too! With 10 layers that would be at least a 74 item vector that describes the composition! Maybe 5-7 would be sufficient (39-53 item vectors). I think this is enough time with the visual explorations and it’s time to get the Jetson board and see what it can do; I’m also well overdue to start working on face detection and social media integration! I hope the monitor issues work out. I’m even more convinced that square is the way to go.


Stripes…

Posted: December 29, 2018 at 5:39 pm


Chevrons!

Posted: December 29, 2018 at 5:27 pm


The Circles Return!

Posted: December 24, 2018 at 6:53 pm

Thanks to the OpenFrameworks forum, some code was provided to convert textures from rectangular to polar coordinates. This allowed me to get circles working again! I also tweaked the code quite a bit in regards to the frequencies of sinewaves. In this version sinewaves (and offsets) are randomly selected, but limited to a particular granularity; the result is the frequencies are a lot more constrained and I’ve also lowered the max frequency leading to broader bands. I’m quite happy with these results! I have not looked at how these changes effect the stripe and chevron rendering modes, but I’ll take a look at that soon. Following are a couple of full-resolution selections from above.


H and V Stripes with Offset

Posted: November 23, 2018 at 6:26 pm

I tweaked the code a little more and put the layer by layer offsets back in. I have to say I am happier with these less dense results with offsets and where the frequency is constrained more. The selections below show stripes and chevrons, respectively. Note the skew method (rather than rotation, as mentioned in the last post), means some chevrons may end up as vertical stripes. The offsets are constrained to the same structure as the X translation for chevron and circle compositions (Left, OneThird, Centre, TwoThirds, Right positions).


Horizontal and Vertical Stripes

Posted: November 23, 2018 at 11:37 am

I had in mind an exploration using horizontal and vertical stripes. These end up being very grid-like, but part of that is because the stripes themselves are not offset (where more background is visible), so the stripes fill the whole composition and are quite dense. Somewhat interesting, but even with only two layers they tend to me very dense. Maybe there should be a constraint so that the frequency of the layers are not similar… Also I’m not sure I want to have the chevrons skewed so much as rotated (so that the vertical stripes stay perpendicular to the horizontal stripes in chevrons). I’ll put back in the offset code and will post some of those results later today. Following are images showing the chevron and stripe render modes. I was unable to easily fix the circle rendering due to my misunderstanding of texture coordinates, which previously worked due to 1px tall images used to generate stripes of a single orientation.


Refined Sinewave Stripes with X Offset

Posted: November 22, 2018 at 10:59 am

I refined the code and added a random X offset from a fixed set of intervals. The code was also tweaked a little, but I think I would still like to see a greater range of frequencies. (more…)


Sinewave Stripes

Posted: November 15, 2018 at 6:53 pm

Above is a selection of results from a sine-wave based stripe generator. This allows for few parameters to describe a wide variety of densities. Also, the gaps between stripes, their thickness, and the softness of their edges are parameterized; contrast and threshold parameters allow the sinewaves to become stripes of various widths with edges of various softness. All of these images are generated with 5 layers (one wave per layer). In these results the blur shader is disabled;  any softness is due to the contrast parameter. I’ve included a few strong results below at full resolution… (more…)


Tweaks to transparency, blurred edges and density.

Posted: November 9, 2018 at 3:10 pm

The above image shows the results of some code tweaking. I added random transparency to layers (inspired by Paul Reed) and decreased the range of blur. The result is a little more variety of colour and a greater likelihood of hard edge.


Chevrons!

Posted: November 8, 2018 at 3:12 pm

Above is a selection of some explorations of chevrons after Noland and Mehring. I had to add an additional parameter for the angle of the chevrons; for the final implementation I’ll need to make sure all the rendering methods use the same number of parameters. There is also the issue of weighting; the parameters for each layer (stripe) are all equal, but the rendering method (and background colour) have a disproportionate effect on the final composition. This means I may need (if using an MLP) to repeat the number of parameters that represent render method and background colour to increase their weight. Following is a detail of one of the chevrons… (more…)


Howard Mehring

Posted: November 7, 2018 at 5:30 pm

In the Key of Blue II, Howard Mehring, 1965

Mehring certainly enforces my interest in the sine-wave method of generating compositional elements (due to his emphasis on rhythm, musicality and repetition). His inverted ‘T’ compositions (like the one above) emphasize a central axis of symmetry and his work with chevrons encourages me to investigate chevrons.


Softer Gradients and Moiré Patterns

Posted: November 2, 2018 at 4:41 pm

I forgot that I had already written code to increase the amount of blur in a shader (written for my early grant applications years ago); I just had not tried to use very large blur amounts since I had not looked at that shader code! In the images above, the max blur is the whole width of the display (1920) so very soft and subtle gradients are possible. To emphasize this increased blur, I used only two layers on top of the background. The following image shows one of these subtle variations at full size. (more…)


Gene Davis

Posted: October 29, 2018 at 1:55 pm

Hot Beat, Gene Davis, 1964

Gene Davis was one of my initial inspirations for the Zombie Formalist. I did not find a lot of conceptual overlap compared with some of the other colour field painters. There is an interesting separation between ‘structure’ and colour that I had not considered; part of Davis’ motivation was to emphasize colour over ‘structure’, but what does ‘structure’ mean? This position is in the context of considering colour field painting as an ‘alternative’ to Abstract Expressionism. I initially though structure meant line, but Abstraction Expressionism does not depend on line either. Is the rejected structure the brush / drip structure in Abstract Expressionism? I was thinking about how art gets pushed forward by rejecting the dominant approach in relation to my own work. Could I be embarking on this hard-edge and restrained aesthetic as a rejection of the exploding popularity of GAN and CNN approaches to image making? (more…)


On Open and Narrow Readings of Phenomena and Theories in Art and Science

Posted: October 26, 2018 at 3:56 pm

Last night a subset of the LOoW folks got together at Emily Carr for a presentation on emergence from an artistic perspective and have some informal discussions at a pub.

I just wanted to reflect a little here and focus on things that really stood out from the discussion. The physicists in the room brought up the idea of emergence (as the emergence of surprising behaviour due to the interactions of numerous believed-to-be understood components) in condensed matter physics. In the discussion some tensions between particle physics and condensed matter physics became visible. I’ll need to return to condensed matter physics later on (as I had not heard that term), and a quick look at the wikipedia page seems to indicate we’re talking about modelling complexity at the transition between states (solid to liquid, etc.). Through the discussion I kept thinking about disciplines and these various senses of “emergence” (e.g. coming from the dark into the light), and I realized that my initial and implicit sense of emergence comes from the influence of fractals, ALife, autopoiesis, self-organization through my artistic career. I realized that my sense of emergence is really about complexity science as a meta-discipline. (more…)


New Square EIZO Display!

Posted: October 25, 2018 at 10:33 am

Here is an image of my workspace showing a visual explorations on the new ~27″ square display. This is the display that the Zombie Formalist will be built around. Its a nice IPS panel with very good colour and the scale and resolution (1920×1920) is indeed impressive. I could get used to making work for this display… The more I think about it, the more I see the ZF hardware platform as a basis for many different bodies of work.