Generated furniture: cursed, but beautiful

Beetle kill pine is a popular wood in Colorado, salvaged from trees killed by pine bark beetles. While the dead trees stand before harvesting, a fungus colonizes them, giving the wood interesting blue-grey streaks called spalting. It's a really pretty wood.

But AI apparently thinks "a chair made of beetle kill pine" looks something like this:

"a chair made of beetle kill pine"

I was using CLIP+VQGAN (tutorial by @samburtonking here) which had almost certainly seen beetle kill pine wood during its internet training. But it had also seen beetles.

And maybe pinecones? Fortunately, as reader Marcello Herreshoff pointed out, the CLIP+VQGAN code I'm using allows me to give some prompts negative weights. So I can tell it to generate a picture with +1 to "a chair made of beetle kill pine" and -1 to "insect".

At first it's fairly promising - the beetle is gone, and there's some really pretty blue color emerging. It knows that beetle kill wood has blue streaks!

a chair made of beetle kill pine: 1 | insect: -1, iteration 400

And then the next iteration looks like this.

a chair made of beetle kill pine: 1 | insect: -1, iteration 450

So that failed on multiple levels, including a continuation of its complete ability to resemble a chair. I don't know why this collapsed so hard into rainbow spaghetti, but I've learned that when CLIP+VQGAN image generation is going poorly, it often helps to be more specific.

Here's what I got for "a chair made of blue spalted beetle kill pine wood" (with a -1 weight to "bug").

a chair made of blue spalted beetle kill pine wood: 1 | bug: -1

Granted, it's the most chairlike object yet, but it is not so much made of wood as engulfed in roiling wood. The blue spalting has gotten much more extreme than you ever see in actual beetle kill, but it's gorgeous so I'm keeping it.

I tried to specify the room. Asking for white rooms and clean images and featureless white voids still ended up with messy wood-hives. I had the best success when I specified a background that was itself strongly textured. Here's "a dining chair made of blue spalted beetle kill pine wood on a dirt path in front of a brick wall" (-1 to "bug").

a dining chair made of blue spalted beetle kill pine wood on a dirt path in front of a brick wall: 1 | bug: -1

But I wasn't able to put the chair in a forest at all. This is its attempt to do "in a lush forest clearing with sunbeams".

a dining chair made of blue spalted beetle kill pine wood in a lush forest with sunbeams: 1 | bug: -1, iteration 450

I think the problem is that it always starts with a world made of wood and then carves the scene out of it. Here's a very early iteration of the generation process that led to the forest scene above:

a dining chair made of blue spalted beetle kill pine wood in a lush forest with sunbeams: 1 | bug: -1, iteration 50

So instead I uploaded a picture of two spindle-backed wooden dining chairs as a starting point. Though they made much more geometrical sense before CLIP+VQGAN started altering them.

two dining chairs made of blue spalted beetle kill wood: 1 | bug: -1

That's the most chairlike chairs I managed to get, and even those are much less chairlike than the starting image I had to give it. CLIP itself can recognize a chair, so the shortcoming is likely the way VQGAN is used to present it with candidate chairs. I sort of imagine CLIP going "yeah I guess? that one's a little more like a chair than the other one?" As usual with AI-generated images, the textures are the strong point, not the geometry.

For more rejected beetle kill chairs, become an AI Weirdness supporter to check out the bonus content! Or become a free subscriber to get new AI Weirdness posts in your inbox.