all 127 comments

[–]xKylesx 36 points37 points  (9 children)

Really impressing work!

Did you split the image before using a photo editor? Do you mind sharing prompts and settings?

[–]Ringerill[S] 78 points79 points  (8 children)

The general workflow went as followed: - use imagemagick to crop the original picture into pieces (using the crop command) - use each pieces as inputs for img2img - merge the generated pieces together with imagemagick (using the montage command)

So no real need for any image editor or anything, all can be done through command lines. However, you will be disappointed about the prompt as I went the very lazy way and simply wrote “The last war on earth, by Greg Rutkowski” and used 25 steps with a strength of 0.3-0.4. I went with this artist because I though that the general tone of his art went nicely with the theme I chose and also was close to the colors of the Mona Lisa. It was the first experiment but maybe next time I could try something more advanced that would make the subpictures blend better together. Maybe some kind of inpainting for the borders as well?

[–]xKylesx 11 points12 points  (1 child)

Sometimes even the shorter prompts are fine enough! Thanks for sharing

[–]joachim_s 4 points5 points  (0 children)

Cool idea!

[–]sharm00t 2 points3 points  (1 child)

This is amazing work so far. It's all so exciting!

[–]Ringerill[S] 0 points1 point  (0 children)

Thanks. I’m excited to see if others will come up will cooler creations (and they surely will). This is why I shared this after all.

[–]Axolotron 2 points3 points  (1 child)

I was thinking about doing something like this precisely yesterday but I wasn't sure about how to do it. Thanks for the workflow.

[–]Ringerill[S] 0 points1 point  (0 children)

Oh, I’m sure I wasn’t the only one thinking about doing something like this. And you’re welcome for the workflow. I didn’t post the parameters as I’m using a standalone app on Mac and it wouldn’t be relevant to share the parameters here since most people usually use A1111 or diffusers anyway. I’m quite eager to see what you might get now :)

[–]Philipp 2 points3 points  (1 child)

I've mentioned it elsewhere, but these would make excellent gift posters to buy at a site like RedBubble.com (or any other, but please with cheapish international shipping).

[–]Ringerill[S] 1 point2 points  (0 children)

I do agree that it would be a great poster that you could come up close to inspect the tiles individually or just enjoy the overall image from afar. It would require to give a bit more attention to the individual tiles though to be really worth of attention when being up close. I’m not really interested in making merch anyway and I simply fool around with SD in my spare time, but if someone is, please be my guest :) It’s also quite easy to replicate so you could definitely do something like this on your own in a few hours and order a poster of your own creation. That could be a nice gift for someone if you use their picture as a reference for example.

[–]Jackmint 30 points31 points  (15 children)

This seems like it could maybe be turned into a script that A1111 could load. Very cool.

[–]Ringerill[S] 13 points14 points  (5 children)

I agree that it could be very easily scripted as all I did went through command lines anyway. The difficult part however would be to tweak the generation parameters as sometimes the generated subpictures deviate a bit too much from the original so that would make the merged result look awkward. I had to cherry pick the subpictures by hand but that's maybe because I used a low input strength value and allowed SD to be too creative. Maybe with a higher score it would have worked better?

[–]Jackmint 4 points5 points  (1 child)

Yeah denoising value and cfg:step ratio can require a lot of messing with. Actually wish there was a mini tooltip thumbnail or some sort of preview that shows how noised and blurred/unblurred an image becomes in img2img when messing with the denoise slider specifically just to see how close or far the details/forms of input images are obscured with noise before generating.

I think what you chose and put together looks awesome.

[–]nesado 2 points3 points  (0 children)

There is a setting in the automatic1111 webui that lets you see the image every n steps of the process. It’s under user interface, “Show image creation progress every N sampling steps. Set 0 to disable.” It does slow down the process by a noticeable amount, so gotta remember to disable it when batching. That may be what you’re looking for unless you meant like a quick preview without needing to start the generation at all.

[–]iamspro 1 point2 points  (2 children)

I suppose the script could also try to judge the coherency of the overall image? Or just generate a bunch of options to let you choose.

[–]Ringerill[S] 0 points1 point  (1 child)

Yeah, the options to chose would be the best idea I think. If you wanted to go for an fully automatic solution, the creativity of each pieces might suffer from it as it would have to be too close to the original. Alas, my programming isn’t good enough to try to write something like that…

[–]iamspro 1 point2 points  (0 children)

Good point the creativity would be very limited, and anyway it would be way harder to implement that version. If I have time next week I might try to write a img2img plugin that chunks up the image into some given number of rows & columns and runs N batches on them (unless someone else beats me to it... please do)

[–]Misha_Vozduh 9 points10 points  (2 children)

Pretty sure there is already a script like that and it's called "SD upscale". Just have to calculate how to make exactly 9 tiles, set minimum or no overlap and high denoise.

EDIT: yep https://imgur.com/a/9DhWWBd

[–]Jackmint 1 point2 points  (1 child)

It would be cool to see a more variable image but thank you for that example. I havent learned yet how to apply different prompts to a single image using SD upscale.
How can we get the prompts be correlated to different tiles? I’d love to *do this.

[–]Misha_Vozduh 1 point2 points  (0 children)

Well this was mostly a concept demo, while doing it I definitely felt that I could benefit from different denoise levels for the hair (it's close to noise already) and face.

How can we get the prompts be correlated to different tiles?

This would indeed require something new I think, pretty sure current default scripts in Auto can't do that.

[–]cacoecacoe 6 points7 points  (5 children)

Take the SD upscale script, turn blending to zero and add a prompt box for what you want the split sections to be reran as.

I basically did this with the standalone gobig script a while ago works pretty well

One with fabric and another with computer hardware

https://media.discordapp.net/attachments/1025968224686317688/1032921966593720400/unknown.png

https://media.discordapp.net/attachments/1025968224686317688/1032921967369662475/unknown.png

[–]Ringerill[S] 0 points1 point  (4 children)

Interesting. What would that upscaling script be? Someone in the comment tried an approach with inpainting and it worked out nicely enough for a quick test: https://www.reddit.com/r/StableDiffusion/comments/ydz2jz/someone_showed_me_a_similar_picture_generated/itv7tuk/?utm_source=share&utm_medium=ios_app&utm_name=iossmf&context=3

[–]cacoecacoe 1 point2 points  (3 children)

I've looked high and low for the one I was using and can't for the life of me find it. Bear in mind things are moving fast and this was like a month and a half ago which is like... 10 years in diffusion land lol

I think it's probably doable by just modifying the sd upscale script with automatic, copy the script, start hacking away at it.

[–]Ringerill[S] 0 points1 point  (2 children)

Yeah, I get what you mean. Actually someone else already used this approach with SD upscaling here. Someone even wrote a script here this morning to do it automatically without having to tweak the parameters yourself.Still, the limitation of this approach is that you don't have much control over each individual tile. But at least it remove the tedious manual part.

[–]cacoecacoe 1 point2 points  (1 child)

This is why I chose materials rather than scenes when I played around with it, each section doesn't need to be perfect, its just a snapshot of a thing, but obviously what you've done is more interesting

[–]Ringerill[S] 0 points1 point  (0 children)

The person who made the script PMed me and said he was thinking about adding the possibility of custom prompts for each tile in the future. It will require some heavy coding I believe as there is no way of doing it in a straightforward way with A1111 right now but I’m crossing my fingers :)

[–]Light_Diffuse 9 points10 points  (10 children)

This is a really interesting idea. Added it to my list of cool stuff people have done with SD. Thanks for sharing.

[–]Ringerill[S] 6 points7 points  (8 children)

For the sake of fairness, I saw an image similar to the one I produced but couldn't find the source. So that's why I decided to generate this one myself. Somewhere out there is the original inventor of this idea and I thank him/her for it and would gladly credit him instead if I could :)

[–]GusRuss89 5 points6 points  (6 children)

Here is the original source. It was done in the pre-stable diffusion era.

"Desolate Civilisation: Collected Fragments" - made with NightCafe by /u/TMuffy

https://creator.nightcafe.studio/creation/F1VUxsD17PLST0ij4oOH

[–]Ringerill[S] 1 point2 points  (5 children)

Thanks so much for pointing me to the source! I wholeheartedly want to thank this guy for creating it and would definitely credit him as the original inventor of the idea. I’ll contact him privately so that he knows that I used his work as a reference. I tried to make it clear that it isn’t me the inventor of the idea and I hope it was understood this way :)

[–]Light_Diffuse 1 point2 points  (4 children)

I like yours better, at least at screen resolution. The original is too busy for me, yours has plenty of regions for visual rest.

[–]Ringerill[S] 0 points1 point  (3 children)

Thanks, I'll definitely take that into account if I continue creating more like this! I do agree that having some "empty" spaces make it more pleasant for the eye. I had some tiles that I considered to be too heavy in details but I ended up not choosing them also because it wasn't really in accord with the original painting where there wasn't really anything there apart from the sky or grass.

[–]Light_Diffuse 1 point2 points  (2 children)

You said elsewhere that you might edit future one more heavily. I wouldn't change a thing about the selections you've made here, for me you've got the balance perfect; it requires some visual work to see the underlying image which is a reward for the effort. That there are some strong deviations which distract slightly are good.

Are you familiar with G'MIC for GIMP? There are some excellent filters in there for colour transfer if you want to tone down any changes you think are too extreme, or if you wanted to increase uniformity between tiles.

[–]Ringerill[S] 0 points1 point  (1 child)

Yeah, when I said I wanted to edit more heavily I meant working on each tiles more specifically. Here I simply used the same prompt for all tiles but I could have made a more controlled story instead.

And yes, I am familiar with GIMP although I find the learning curve a bit hard for me and the UI not really friendly. I recently went for Krita to help correct some imperfections in SD generated images as well. Unfortunately, I don’t have enough experience to use these tools correctly but I’m trying to make the most of it when I can :) Thanks for mentioning “color transfer” I’ll look into it as it sounds like a great feature to have at hand!

[–]Light_Diffuse 1 point2 points  (0 children)

I'm trying to get used to Krita so I can do digital painting, the brushes are better than GIMP. G'MIC is also available in Krita, so stick with that if you're happy. The magic of open source!

[–]Light_Diffuse 4 points5 points  (0 children)

I have thought about creating a collage using much smaller image pixels as were popular years ago, it's ideal given the standard square output. I love the subtly to your piece - I like it when there's an additional layer of meaning for the observant to discover.

It is nice to give people credit where it's due, but since you only emulated a style that's ok. There's something familiar about that argument... :)

[–]someone_said_i 0 points1 point  (0 children)

u/Light_Diffuse Can you share this list? I am new to the community and want to learn what artists are looking for.

[–]Florian_Claassen 7 points8 points  (2 children)

Holy cow that is such a brilliant idea

[–]Ringerill[S] 8 points9 points  (0 children)

Isn't it? I encourage you to use it. I would love to see more of such creations from actually talented people :)
I though of using some kind of inpainting for the borders to help the subpictures look better when merged together but I don't know if that would really work.

[–]r3mn4n7 0 points1 point  (0 children)

Now, who is willing to say that this isn't art?

[–]plasm0dium 5 points6 points  (3 children)

I actually totally saw the image as Mona Lisa because my eyes are bad and wasn’t wearing my glasses lol 😂

[–]Ringerill[S] 2 points3 points  (2 children)

I tried to upscale this image and during the process, the picture got blurred and I agree that it definitely looked more like Mona Lisa in that state.
But yeah, I removed my glasses as well to check and you are right, it works nicely that way :)

[–]donotfire 1 point2 points  (0 children)

Brilliant!

[–]donotfire 1 point2 points  (0 children)

Like many great discoveries, this was by accident it seems

[–]extremesalmon 16 points17 points  (0 children)

That's really nice, and would work as a bit of wall art you see from a distance first - initially you'd see Mona Lisa and realise it's not quite as it seems the closer you get.

[–]ldbla 4 points5 points  (1 child)

[–]Ringerill[S] 5 points6 points  (0 children)

Oh my god, this is it! Someone showed me this image but I couldn’t find the original one… Well indeed credits go to this guy then as I tried to replicate it myself since I didn’t manage to find it. Thanks for pointing me to this, I was looking all around for it so that I could credit the original inventor of this idea!

[–]plasm0dium 4 points5 points  (1 child)

Very cool idea. Love the innovative ideas that are being shared to create more cool things

[–]Ringerill[S] 4 points5 points  (0 children)

This was merely a test I did in a few hours (mostly waiting for the pictures generations) and I though of sharing the result anyway just to spread the idea. I would love to see more experience people trying to do something similar.

[–]Daelune 2 points3 points  (0 children)

This is amazing, if you squint or look at the thumbnail you can really see it! This would work really well as a displate display or something.

[–]RecentHat8672 2 points3 points  (5 children)

This is absolutely incredible. Please share the prompt if you’re willing!

[–]Ringerill[S] 7 points8 points  (4 children)

I don't mind sharing it at all but you will be disappointed or surprised by it. As I simply wanted to test out the idea at first, I lazily used "The last war on earth, by Greg Rutkowski". I though of doing something more complex after a few run but it worked out nicely enough so I ended up keeping it.

[–]RecentHat8672 1 point2 points  (3 children)

But how did it get in the shape of the Mona Lisa? No mention of that in your prompt 😯

[–]summervelvet 5 points6 points  (0 children)

cut up Mona Lisa into a mosaic and then feed each chunk into image to image and there you go. (he did say this elsewhere so I'm just borrowing from his report)

[–]Ringerill[S] 4 points5 points  (1 child)

As mentioned in the title, the idea was to cut the original picture into small pieces and use them as inputs for img2img. And if you set a strength of 0.3-0.4 and not too much steps (around 25), the generated pictures will look close enough to the ones cut from the original painting. Then I just directly merged them and it made this result. I did have to chose by hand which ones looked better in the final collage.

[–]RecentHat8672 2 points3 points  (0 children)

Thank you for explaining that! I understand it now :) You did a phenomenal job! I legit would hang this on my wall.

[–]Feed_Me_No_Lies 2 points3 points  (0 children)

That is very interesting!

[–]Thorlokk 2 points3 points  (0 children)

Great idea, and it worked!

[–]camaudio 2 points3 points  (1 child)

Wow when I squint it's super obvious. Neat!

[–]Ringerill[S] 2 points3 points  (0 children)

As someone mentioned it in another comment, removing your glasses make it even more obvious ;)

[–]Cognitive_Spoon 2 points3 points  (1 child)

It would be so dope if you fed your prompt through a seed image of something like La Pieta.

I'd like to use SD to make some really interesting techno/bio religious artwork, but I can't for the life of me get it running on my machine (surface 7 laptop)

[–]Ringerill[S] 2 points3 points  (0 children)

I did this with Mona Lisa just for the well known factor but I do intend to try this out with some other pieces of art for fun.
For the usage of SD on old Intel computers, there are some repos that allow to run SD on them. I managed to make it work on my old 2013 Mac Book pro on CPU only but it took around 5 minutes to generate a single image using 30 steps...
But you could always use Google Colab servers. Either the free ones or if you really want more confort, you can always subscribe for around $10 per month if you can afford it.

[–]gxcells 2 points3 points  (1 child)

Would also looks nice if using a single init image?

[–]Ringerill[S] 1 point2 points  (0 children)

Good question. But I truly doubt it would be good as the resulting image would be either too close to the original thus not really interesting or too far from the original at the point of not being able to recognize the original anymore. Maybe with some iterative impairing this would work? Like taking a picture and just inpainting square by square?

[–]animerobin 2 points3 points  (1 child)

this is a cool idea, I feel like it would work even better with smaller pieces

[–]Ringerill[S] 2 points3 points  (0 children)

True. Going for a 3x3 tiles was just for the proof of concept but maybe cutting a picture into uneven pieces might even be a better idea in some cases. Thanks for this idea!

[–]Barnowl1985 2 points3 points  (0 children)

Love this

[–]Kaennh 2 points3 points  (1 child)

This is really a cool and interesting technique, thanks for sharing!

[–]Ringerill[S] 2 points3 points  (0 children)

Thanks and you're welcome. I'm glad I shared it too because people came up with interesting ideas on how to improve or play around with this. It's not that hard to achieve btw and doesn't require any image editor skills or anything as almost everything could be done with command lines only.

[–]thinker99 2 points3 points  (0 children)

Nice photomosaic!

[–]plasm0dium 2 points3 points  (1 child)

[–]Ringerill[S] 1 point2 points  (0 children)

Just saw it, it's pretty cool! Can't wait to see even more creative ideas from people like you.

[–]the_ballmer_peak 2 points3 points  (1 child)

Oh that's bloody brilliant. And could be automated for any origination image, prompt, and tile size.

[–]Ringerill[S] 1 point2 points  (0 children)

Thanks. Someone also mentioned that it could be coded as a function in Automatic1111 for example but I still think that it would be hard to get something nice automatically without a manual choice of best results, unless you put the denoising at a minimum to avoid too much deviation from the original. Someone already posted another image generated using this idea with the whole workflow details and the result is neat: https://www.reddit.com/r/StableDiffusion/comments/ye2ub5/its\_about\_time/?utm\_source=share&utm\_medium=web2x&context=3

[–]Do_it_againn 2 points3 points  (0 children)

So fucking great.

[–]shortandpainful 2 points3 points  (1 child)

I really like this idea, very cool and clever. I used to love those photomosaics as a kid. I can imagine cutting this up another dozen times and getting a really cool poster out of it.

[–]Ringerill[S] 1 point2 points  (0 children)

Yup, cutting it into smaller pieces is a great idea. I took the 3x3 format just as an experiment tbh. I also posted the low res image here so it would definitely work with more pieces than that.
And with some pictures, it could maybe be even better to cut it into uneven pieces to capture the most relevant parts. The final merging might be trickier though.

[–]tethercat 2 points3 points  (0 children)

I bet writing subreddits would go nuts over this (in a good way).

[–]casc1701 2 points3 points  (1 child)

Interesting. A very low res Image Mosaic.

[–]Ringerill[S] 1 point2 points  (0 children)

Yeah, I posted the low res as I didn’t know what was the maximum size on Reddit. But it is easily upscalable of course ;) Unless you meant that the mosaic is containing very few images?

[–]skdslztmsIrlnmpqzwfs 2 points3 points  (1 child)

wasnt this largely popular a few years back.. using pictures to make a mosaic of a larger image?

https://www.artensoft.de/ArtensoftPhotoMosaicWizard/gallery.php

[–]Ringerill[S] 2 points3 points  (0 children)

Yep, the image mosaic idea in itself isn’t new. But I would say this approach is almost the opposite of it. With image mosaics, you didn’t really pay attention to the small images, it was the overall picture that was the point. Here it would be full pictures with details that once assembled made another recognizable one. So not really the opposite but the approach of the creation and the viewer are different imo. This way of creating images is modulable enough to ask for any theme for the subparts. I took a war theme but you could easily ask for flying turtles instead and that should work.

[–]_RequestGranted 2 points3 points  (0 children)

Wow this is really cool

[–]henk717 2 points3 points  (0 children)

And then they claim AI art isn't art.

[–][deleted] 2 points3 points  (0 children)

That is so fucking cool

[–]Tricky-Sympathy 2 points3 points  (1 child)

I glanced at it and thought it was the Mona Lisa.

[–]Ringerill[S] 1 point2 points  (0 children)

Proof enough for me that the idea worked :)

[–]tanreb 2 points3 points  (1 child)

reminds me of Lincoln in Dalivision by Dali 1977

[imgur](https://i.imgur.com/OkEna8A.jpg)

[–]Ringerill[S] 1 point2 points  (0 children)

“considered one of the most counterfeited Dalí lithographs”. And here I am, someone who never even heard about it… I like the blocky style of this one. Glad to discover a work of Dali.

[–]PandaParaBellum 2 points3 points  (0 children)

Kinda relevant SMBC comic

[–]arothmanmusic 2 points3 points  (1 child)

Does SD stick to the coloring of the image when using img2img? I have only done it with rough sketches so I never thought about it. In your case it looks like the general tone and palette of the original was retained.

[–]Ringerill[S] 1 point2 points  (0 children)

It actually does and the whole idea revolves around it. This is also why I went for Greg Rutkowski as an artist as his art usually uses tones like that. And this is the reason I decided to go for a war theme as well. All those 3 things mixed well together in my head and looks like it also did in the generated image.

[–]SilentKnightOwl 2 points3 points  (2 children)

Wow! That's wild. I didn't even notice the Mona Lisa until I read the title.

[–]Ringerill[S] 3 points4 points  (1 child)

Maybe I should have posted the original painting as well? The most difficult process is definitely cherry picking the generated images so that the final results looks close enough to the full original reference.

[–]profezzorn 2 points3 points  (0 children)

Nah man, it's clearly visible in the thumbnail, no doubt about it. Great job :)

[–]LynnSpyre 1 point2 points  (2 children)

That is bitchin

[–]LynnSpyre 1 point2 points  (1 child)

I might be fun to do something like that with even small pieces. See where they line up

[–]Ringerill[S] 0 points1 point  (0 children)

Yup, someone also proposed this idea in the comments. I used only a 3x3 size for a first experiment but I think this could easily be expanded to any other shape. If I obtain something interesting enough with another reference, I’ll let you know ;)

[–]guesdo 1 point2 points  (3 children)

This looks awesome! I know photo mosaics are a very old concept, and I have done them in the past, but the possibilities today with SD are endless. Thanks for sharing your process and results! Will definitely be playing a lot with this soon!

[–]Ringerill[S] 1 point2 points  (2 children)

Yes, the SD allows to create mosaics like that but with a lot more control on the actual content of the pieces. Which makes it much more interesting as you have two ways of looking at it: either concentrate on the pieces separately and look at their content or look at the whole picture. So many possibilities… If someone is motivated enough he could even do a story within each tiles resulting in a finale as the merged result.

[–]guesdo 1 point2 points  (1 child)

That is even a better use of the mosaic!! I'm going to try it with the cover of Weathering with You or Your Name and generate images using Makoto Shinkai's style art.

[–]Ringerill[S] 1 point2 points  (0 children)

Hmm, I haven’t though of that but yes, using this approach to generate a word instead of a final big picture could be a great idea. See, that’s why I love sharing, people’s creativity amaze me and they always come up with cool ideas ;)

[–]outofband 1 point2 points  (0 children)

Very cool

[–]PandaParaBellum 1 point2 points  (0 children)

people making cool art left and right, and all I can think of is a rick roll

[–]iamspro 1 point2 points  (1 child)

This is the most inspiring thing I've seen here!

[–]Ringerill[S] 1 point2 points  (0 children)

Haha, thanks. I shared this here with the hope that it gives ideas to other people who are definitely more experienced with SD and more creative than me. I wanted to see what they might be coming up with :) I’m thinking of using this idea to try to create a story out of the pieces that with the finale being the big picture. Or just use this for some fun Inception like creations with images within images.

[–]plasm0dium 1 point2 points  (2 children)

[–]Ringerill[S] 0 points1 point  (1 child)

That’s pretty awesome! The whole theme of Dali’s style to make a Dali portrait makes so much sense and looks cool at the same time.

[–]plasm0dium 1 point2 points  (0 children)

Plus, it’s a play on Dall-e as well, but by SD. I should have named it “Dall-i, by SD”

[–]PrintersStreet 1 point2 points  (0 children)

Mona Lisa by Greg Rutkowski

[–]alfihar 1 point2 points  (0 children)

oooo nice

see its doing things like this where SD's capacity for art emerges.

[–]manyone1 1 point2 points  (0 children)

in the spirit of hindsight i made a similar one of my photo. but since i only have a win 64 without a gpu, i just used the openvino version for cpu and did the splitting of the source photo, ran each segment through openvino with prompt "science fiction image" and strength of 0.53 and i got this!
https://imgur.com/a/TAzTqCG