Readit News logoReadit News
mfi · 4 years ago
I just finished my latest project, building an AI art installation at home, generating 100 % unique artworks on the fly. Just push the button below the screen and another one will be displayed. When the button has been pushed, the old artwork is deleted and can't be retrieved again.

Setup:

* An Nvidia Jetson Xavier NX was used for all logic, machine learning inference, art kiosk GUI etc.

* A StyleGAN was used to generate the artworks, trained on ~5k images of abstract art.

* A passive infrared sensor (SR602) was integrated with the Jetson to reduce screen burn-in. When no movement has been detected around the installation within a pre-defined threshold, the screen shuts off until movement is detected.

* A custom control box was built, encapsulating most of the electronics.

dheera · 4 years ago
Interesting! I built a generative art frame based on "{Shan, Shui}" by Lingdong Huang

https://dheera.net/projects/einkframe/

but also planning to use it for neural-net based generative art. I wasn't planning on putting a NX in it though, I was thinking of just keeping the Pi Zero in there and have it do all computations in "the cloud" or on a Nano/Xavier box sitting elsewhere on the same network.

I'm currently working on a 3-panel version of the above:

https://imgur.com/a/3IfKpb3

I didn't make my own frame though, I designed the dimensions and had it custom-built by a frame company, which was surprisingly affordable.

mfi · 4 years ago
That is amazing!! I actually looked into buying an E-ink screen for this project, but decided not to due to the cost and the lack of compatibility.

Was the E-ink screen simple to work with?

tyingq · 4 years ago
This is more interesting to me as I'd never suspect it was generated art.
TuringNYC · 4 years ago
>> Nvidia Jetson Xavier NX

Curious -- since you're only doing the inference/generation on the frame, and since you're not doing it all the time, did you need a Jetson or would an RPI have sufficed? Did you test inference speeds across different edge compute options?

dheera · 4 years ago
Yeah I think the way I'd do it (personally) is have an RPi constantly generate new images in the background and cache them until storage is maxed out, then when you hit the button it just fetches the next image from cache.

That would allow the frame to be somewhat lower power and also decrease ventilation requirements -- no fan needed.

Quarrel · 4 years ago
Ok, so this is cool as fuck.

I don't think much of the actually produced art, but the fact that you laid out your whole process makes this drool-worthy. Now it is just a challenge as to- can I do better?

Great job.

wombatmobile · 4 years ago
Nobody could include more individual photos in the how to.

This one has how many gazillion photos?

mfi · 4 years ago
Glad you like it!

Of course you can! Give it a try and share it afterwards ;)

prions · 4 years ago
This is really cool! I'd love to seed the GAN with my own artwork and generate new pieces in my style
mfi · 4 years ago
Thanks! Depending on how many artworks you've created, it might be difficult to train a GAN network on them (due to overfitting). What you might try is to train one network with a lot of random artworks, then use a Style-transfer network to convert the generated pieces into your style.
kamilszybalski · 4 years ago
this comment seeded an interesting idea! Many artists and photographers want to get into the NFT space but they don't necessarily have experience in digital art creation.

If you could leverage AI to generate digital art based on real artist/photographer inputs, perhaps you could create a nice little marketplace business.. or maybe just a simple AI generator plugin for an existing marketplace..

KingFelix · 4 years ago
Thats what I am thinking about, what kind of images to train on
phkahler · 4 years ago
Or seed it with XKCD.
binarymax · 4 years ago
Really beautifully done. Thank you for sharing it with us!

Quick question: can you use the Nvidia Jetson Xavier NX to train a model? Or can it only be used for inference?

Justin_K · 4 years ago
Awesome! I'd recommend running your cables behind the drywall, the look is very clean!
mfi · 4 years ago
Yeah, that would've been optimal, but it's also a lot more work, so I decided to use cable channels in the end.
spoonjim · 4 years ago
What country uses those round black outlets?
Guillaume86 · 4 years ago
mfi · 4 years ago
I'm from Sweden :)
jonbraun · 4 years ago
Cool installation! What was the process of obtaining the 5k abstract art images?
mfi · 4 years ago
I scraped them from various art websites.
pfundstein · 4 years ago
Why not use the artworks themselves as a screensaver?
throwaway158497 · 4 years ago
Cool project. How much does this setup cost you?
mfi · 4 years ago
Hmm, I think The Frame 32" was about $500 and the Nvidia Xavier NX costed as much (including import taxes etc). The other stuff (cable channels, screws, MDF etc) was probably around $50. So a total of around ~$1050.
nine_k · 4 years ago
This says a lot about building MDF housing for a Jetson (BTW why not plywood?), and devotes literally half a dozen pretty generic lines to the actual art generation code. The algorithm is not discussed, and even art examples are not shown.

This is sad, because wooden box building guides are abundant, but art generation guides are less so,

orangegreen · 4 years ago
I wonder if using a color e-ink display would make the art look more appealing on a wall.
qiqitori · 4 years ago
Here's someone who put in a lot of effort into making a realistic-looking photo frame using an LCD: https://www.claybavor.com/blog/a-canvas-made-of-pixels

(Covered on HN in 2016: https://news.ycombinator.com/item?id=10900439)

arsome · 4 years ago
A little white balance work would go a long way I suspect. An OLED panel would really make things pop, but the burn-in issue might be a problem unless you had it rotating very regularly.
mfi · 4 years ago
It probably will! I actually looked into buying a color e-ink display, but ended up using a The Frame instead for a couple of reasons:

* They are incredibly expensive if you want ~32"

* I wasn't sure that it would've worked together with the Nvidia Xavier NX.

sjg007 · 4 years ago
How is the samsung frame? I am thinking of getting one..
artur_makly · 4 years ago
wow first time I heard of this beast. https://www.samsung.com/us/tvs/the-frame/highlights/ looks incredible thanks for sharing.
spywaregorilla · 4 years ago
I've had the same thought, but alas. Prices are terrible.
Animats · 4 years ago
Now have it automatically issue one NFT every few minutes. Profit!
landgenoot · 4 years ago
Cool! Could also be nice with a A3 color printer and paper shredder. Banksy-style.

This would make it less tv-isih

lurker619 · 4 years ago
Would it have been easier to generate these images on some cloud gpu and stream/send the images to a smart tv? To avoid building and fabricating all the hardware components?
SwiftyBug · 4 years ago
But then OP would have skipped a lot of the fun
mfi · 4 years ago
Exactly, a big part of the project was to learn about edge-computing and integrating sensors with the GPIOs. But sure, that would've been possible to do.
mirroregami · 4 years ago
Really cool. One piece of feedback: Try to get the white balance to better match the warm wight light of the room. The tv will blend in much much better.
mfi · 4 years ago
Thanks, I'll try to improve the balance :)
jnwatson · 4 years ago
See 1 for an innovative example of auto-calibrating brightness and white balance.

1. https://www.claybavor.com/blog/a-canvas-made-of-pixels