Monday, October 30, 2023

I Rubbed The Genie's Lamp And Out Came Shaun Cassidy Instead Of John Schneider

Most of you probably aren't old enough to remember the TV series The Hardy Boys Mysteries from the mid 1970s, but I am. Ah, the 70s, when guys had feathered hair. My hair was never feathered. Instead, I looked like a scrawny Art Garfunkel on a bad hair day.

There's another reference you probably don't know.

At any rate, I've really been going to town with ChatGPT / Dall-E, creating characters for my stories. I want my Southern, teenage philosopher-sleuth Bobbylee to look like John Schneider's Bo Duke character from The Dukes of Hazzard, so I uploaded a photo of Bo Duke to ChatGPT and asked it to create a prompt in Dall-E to generate an image just like it.

Swing and a miss!

I played with the prompt and kept generating new images until, much to my delighted surprise, I got teen heartthrob Shaun Cassidy from The Hardy Boys.

Perhaps the very biggest drawback to Dall-E is that you can't replicate a character in a subsequent image. I asked it to give me that person standing in front of a dirty, rusty old pickup and I ended up with someone completely different. Argh.

Still, It's a ton of fun to see your characters. You recognize them as soon as you see them. Truth to tell, however, that one still doesn't say Bobbylee to me. I think that will be his younger brother, TJ.

I also had it generate an image of the impish Grandmama, an old woman who is constantly causing mischievous trouble in my Arthurian stories and it did really, really well with her.

You can just see the wheels turning inside that venerable head as she plots and plans ways to stir up drama just for fun at court.

Again, much to my sorrow, I can't get Dall-E to take that same character and put her in different situations and emotional states.

I'm very optimistic, however. ChatGPT's fiction efforts are miles better than they used to be. The Dall-E I'm using today will be the worst version I will use from here on out. I have no doubt that my problems with repeatable characters and complex action scenes will be solved in the future.

3 comments:

tim eisele said...

"you can't replicate a character in a subsequent image"

That is a really weird limitation. I wonder why they didn't implement that? It is not just an obvious feature that people will want, it is quite possibly the biggest single feature that they are likely to want. And it sounds like all the "AI"s have this limitation. Is there something inherent about the way that they make it work, or is there some overwhelming reason why the people programming these things don't want to let you do variations on a theme with a particular character?

K T Cat said...

I think it has something to do with the complexity of their image generation algorithm. If you wanted to replicate Grandmama, you'd need all kinds of parameters recorded for her hair color, hair style, cheekbones, jawline, teeth, nose and on and on and on. Just imagine how you would model a face mathematically.

What I think it's doing is taking its training set of images and finding the adjectives I used to describe Grandmama and then merging those images together to get her picture. I suppose it could keep track of which ones it used. You can get the seed # for your image and I'm guessing that references some things in the database. Still, using the proper seed for a subsequent image doesn't get you the same person.

As for my action scenes, it's dawning on me that there just isn't a large enough training set for knights fighting each other to allow Dall-E to generate decent images.

tim eisele said...

This is the sort of thing that really drives home for me just how unlike human thought processes these things are. They are arriving at products that resemble what people do, but are arriving at them in a completely different way. I mean, when I watch my daughter drawing, doing variations on a theme and making derivatives of her previous work is not just a thing she does, it is fundamental to the way she works. But it sounds like Dall-e not only doesn't do that, it maybe can't do that, and instead has to replicate things cold from its training data every time.

It's a lot like the way that chess-playing AI finally got good enough to beat humans, but their process for doing it was by playing to the strengths of computers for brute-force analysis, and is almost nothing like what chess masters do.