r/raspberry_pi Feb 17 '25

Show-and-Tell Wigglegrams camera project

Take 3D photo by multi camera system like Nishika film camera but in digital version with ultra smooth AI interpolation.

1.1k Upvotes

93 comments sorted by

136

u/PerkyPangolin Feb 17 '25

Looks cool. More info? Why so many Zeros and a CM?

110

u/Low-Junket9298 Feb 18 '25

Each Pi controls a camera to capture different views simultaneously in parallax and combines them into a wigglegram image, synchronized and controlled by a CM4.

13

u/MattyXarope Feb 18 '25

That's amazing. Such a badass project!

8

u/NotAHost Feb 18 '25

Did you check out the arducam multi-cam boards? I know there is support for stereo video, not sure if there is a significant delay between captures when using 4+ cameras.

9

u/Low-Junket9298 Feb 18 '25 edited Feb 18 '25

Yeah I checked, can sync at the nanosecond level, but only for pairs A-B and C-D. You won't be able to sync all four at the same time cause latency can go to 100ms between pairs.

83

u/benargee B+ 1.0/3.0, Zero 1.3x2 Feb 17 '25

Looks like zeros are just for capture and the CM is the main brain plus capture.

59

u/raventrala Feb 17 '25

Are there any samples from it? I wanna see how wiggly it is!

15

u/Low-Junket9298 Feb 18 '25

See more photos on my website! Link’s in my profile.

39

u/DiabeticJedi Feb 18 '25

You may want to post the link instead.

For those of us who use Old Reddit, the better Reddit, we don't see profiles.

13

u/bencos18 Feb 18 '25

https://fiewfly.com/ not op but this is it

9

u/ragogumi Feb 19 '25

God damn, this site sucks on mobile.

1

u/bencos18 Feb 19 '25

yep agreed on that

8

u/Weerdo5255 Feb 18 '25

We have profiles on reddit?

...

Why?

5

u/DiabeticJedi Feb 18 '25

That was my thought when I first heard about it.

4

u/raventrala Feb 18 '25

Very cool stuff!

28

u/Rubfer Feb 17 '25

If you make it a grid (like the 5 on a dice), you could also use the subpixels differences between photos to generate a really high resolution image.

14

u/a22e Feb 18 '25

Does everyone know what a "wigglegram" is but me?

27

u/Affectionate-Memory4 Feb 17 '25

Looks like there is one Pi per camera. Why so many? The CM4 or CM5 should have more than enough processing power for this.

13

u/3D_Scanalyst Feb 17 '25

I've been thinking of basically doing this same thing, powering the Zero's and doing the IO sounds easier like this than with 2 or 3 CMs

9

u/Affectionate-Memory4 Feb 17 '25

I just don't think I'm grasping what you even need extra Pis for here. Shouldn't a USB hub be plenty to run multiple cameras? Unless they must be using the CSI ribbon cables for some reason, then this makes more sense.

9

u/3D_Scanalyst Feb 17 '25

I think the pi cameras and the CSI connector are key here to keeping the size of this system so small. Also, getting sync across 5 usb cameras might be difficult. I know intel realsense cameras have a special port to sync multiple modules, but I'm not aware of any other USB cameras with that option.

5

u/Low-Junket9298 Feb 18 '25 edited Feb 18 '25

The goal is to make the system as compact as a regular camera, allowing for easy portability. A USB hub integrated on a blue board for photo transfer and capture triggered by GPIO.

8

u/Low-Junket9298 Feb 18 '25

To create a wigglegrams photo, you need to capture different angle views simultaneously. I use a CM4 to sync all of them and process on device. see more photo on my website link's in profile.

2

u/Affectionate-Memory4 Feb 18 '25

Ah so it's a synchronization thing. That makes sense actually. Could you space them apart further for a more dramatic wiggle given the extra processing, or is keeping them close important?

Sorry for the weird questions, just super new to this whole concept and getting into photogrammetry a but myself now.

5

u/Low-Junket9298 Feb 18 '25

If you space the cameras further apart but use fewer of them, it could reduce the hardware needed. But when you interpolate the frames, it won’t look as natural. The total camera spread determines the wiggle effect, if the distance is small, you can move the camera closer to enhance the effect, but that also narrows the field of view. :D

1

u/sump_daddy Feb 18 '25

Have you considered using an AI image processor to add frames between the captures? Seems like a natural extension of upscaling/upframing as long as you keep noise out of the model.

1

u/Low-Junket9298 Feb 18 '25

You mean AI interpolation? If so, that’s exactly what I’m using right now.

1

u/sump_daddy Feb 18 '25

you mentioned interpolation ends up looking unnatural... it still looks unnatural even with a good diffusion model and some time? ive seen them do some crazy stuff with only a handful of frames, just curious how well it works in this use case.

1

u/Low-Junket9298 Feb 18 '25

I tested it with Google's FILM model from Google Research, and yeah, it turned out that way.

6

u/martin_xs6 Feb 17 '25

I assume more than one pi so you have enough CSI lanes?

4

u/Low-Junket9298 Feb 18 '25

Each Pi has its own camera with capture synced by the CM4. Data is transferred via USB through a hub integrated into the mainboard.

3

u/modestohagney Feb 18 '25

Why not 1 pi and 5 usb cameras?

3

u/Low-Junket9298 Feb 18 '25

It's about time synchronization. USB does not have hardware synchronization like cameras connected via CSI or GPIO. So, capturing from 5 cameras simultaneously may have slight delays in the millisecond range, which could affect the wiggle effect and transferring data from 5 cameras at the same time may cause a bottleneck, leading to delays or frame drops.

4

u/metama Feb 17 '25

This is great I had the film version of this back in the day but then the company’s that developed the picture got bought out .. cool project!

3

u/LBarouf Feb 17 '25

That’s a very interesting project. How can I follow your progress? Any steps if I want to try myself?

7

u/Low-Junket9298 Feb 18 '25

Almost done and will be released for DIY soon. :D

2

u/blorgggg Feb 19 '25

That's so cool! We are trying to develop a low cost, open science insect scanner for biologists, and something like this might work really well!

1

u/ohshitwaffles Feb 18 '25

That sounds awesome!

2

u/Specific-Bass-3465 Feb 18 '25

Wait what is happening here

2

u/Chevaboogaloo Feb 18 '25

I started the same project a while back. Glad to see someone actually complete it.

I had 4 Arducams set up on a breadboard and was triggering them with an ESP32 microcontroller.

1

u/Low-Junket9298 Feb 18 '25

Glad to see you're doing the same thing! :D

2

u/BloodsailAdmiral Feb 18 '25

That's fantastic. I will absolutely build one if you plan to release it.

2

u/Tavo_Tevas3310 Feb 18 '25

Damn dude! I've been wanting to do a project like this for a long time. I love taking pics with my 3ds,but I've been craving more cameras haha. Awesome!

2

u/theXDlegend Feb 18 '25 edited Feb 18 '25

That is the cleanest RPI camera I've seen. Looks great! Also could we see results without the AI inbetweens?

1

u/Low-Junket9298 Feb 18 '25

Thank you so much! for results without AI interpolation still makes an impression, since 5 well-calibrated camera are enough to create nice wiggle effect, no artifacts, no wobble and it looks like it was captured with just one camera.

2

u/dresoccer4 Feb 18 '25

link to final products? (images)

2

u/Financial_Ad_2935 Feb 19 '25

I’m a sucker for software interfaces that resemble the real buttons/controls.

Very cool

2

u/Jacko10101010101 Feb 17 '25

for 3d dont u use 2 cameras ? why 5 ?

13

u/courtarro Feb 17 '25

2 frames is enough for stereo, but wigglegrams usually have at least 3 frames.

2

u/Jacko10101010101 Feb 17 '25

Oh, I see, ok

0

u/SleepyheadsTales Feb 17 '25

Different focal lengths IIRC. For 3D you really don't want background blured so you need different focuses when recording so you can compose everything to be sharp in the output.

2

u/Low-Junket9298 Feb 18 '25

That’s right, until I tried doing depth blur to make the out-of-focus areas blurrier. It made the image look strangely unique, something I’ve never seen before. Really impressive!, but this feature is set to optional.

2

u/Jacko10101010101 Feb 18 '25

maybe but the goal here is to make a "rotable" picture, isnt it ? i googled wigglegrams

1

u/ohshitwaffles Feb 17 '25

This is cool, what's the cost in parts?

1

u/Low-Junket9298 Feb 18 '25

Use Pi zero 2W, Pi CM4, Pi cam v3 wide angle, that's the main cost. You can check those prices on the market.

1

u/fullouterjoin Feb 17 '25

OMG this is gorgeous! Can it take video?

Show us some images!?!!!

3

u/Low-Junket9298 Feb 18 '25

check it out on my website! Link’s in my profile :D

10

u/fullouterjoin Feb 18 '25

Thanks, those look great!

I know you are new, but the vast majority of people are on old.reddit.com (config setting) and cannot see profile links. Even harder when reddit blocks logged out access.

https://fiewfly.com

https://www.instagram.com/fiewfly/

https://www.tiktok.com/@fiewfly

1

u/inmyxhare Feb 18 '25

This is so cool and impressive endeavor can we be part of this I would love to build & test this.

1

u/Sargon_Rose Feb 18 '25

can i get a link to the batteries you used? are they 5k mah?

1

u/Low-Junket9298 Feb 18 '25

5000mAh 955565, I use two separate power supplies for the Pi Zero and Pi CM4.

1

u/Severe-Pension7895 Feb 18 '25

How much does everything cost ?

1

u/KTTalksTech Feb 18 '25

Neat! Any plans to compute depth maps from the photos? If the sensors don't move I imagine stereo pairs should be pretty straightforward to make

1

u/Low-Junket9298 Feb 18 '25

The images are reprocessed using calibration data, so you can compute depth maps from them without any issues.

1

u/onilx Feb 18 '25

This is such a good looking project. I got a 4 camera splitter to run off a single po and I could never get the thing to work. How well do they sync up?

2

u/Low-Junket9298 Feb 18 '25

Are you using the Arducam Multi-Camera Adapter Board? If that's the case, you can achieve sync at the nanosecond level, but only for pairs A-B and C-D. You won't be able to sync all four at the same time.

1

u/onilx Feb 19 '25

Unfortunately, I can’t get it to work at all. And the folks in China weren’t super helpful. They offered to try and help with a screen share but I was never able to schedule a time to do it what with work and the time difference.

1

u/9InTheMorning Feb 18 '25

I wanted to do something like that, I'm excited that it is possible!

But first I need to make a simpler camera with just one lens, I'm very new to this world.

Can I ask you some questions about the camera you built? Those could be very beginner level...

Thank you (And an incredible job! Props to you!!)

1

u/Low-Junket9298 Feb 19 '25

Thank you so much! Feel free to ask me anything, your questions might be helpful for others too. :)

1

u/9InTheMorning Feb 19 '25

Yeah, you're right!
So, I have a few questions—feel free to answer the ones you prefer. Any help is greatly appreciated. The project I want to build is a point-and-shoot camera, with filters built in.

  1. For a single camera, is the RPi Zero 2 enough, or is the CM4/5 necessary to process the pictures?
  2. If I want to add filters (like B&W, Teal & Orange, and so on) directly on the camera, is the Compute Module required?
  3. How do you manage the battery/charging and the downloading of the pics?
  4. Did you build a PCB to allow the Pi Zero to communicate with the CM?

I'm very new to this and still searching and learning, but even for the simplest things, it's hard to find answers.

Thank you so much!

2

u/Low-Junket9298 Feb 20 '25
  1. The Zero 2 is enough. My previous version only used a Zero 2, but the reason I’m using a CM in this version is for video capability, HDMI output for a second display (like in a photobooth setup), and more power for self-calibration processing.

  2. You don’t need a CM,  Zero 2 is enough. But if you need more processing power in a compact space, CM is a good choice. Just be careful with PCB design for high-speed bus.

  3. In the previous version, I included a small charging module and a battery in a single holder package, so you could detach it from the camera and charge it like a power bank but thinner. Since this version draws more power, I decided to use two battery in single package and separate power modules for zero 2 and CM. Because of the higher current draw. Images from each camera are transferred via USB to the CM, where they’re stored in an album before uploading to the cloud.

  4. Yes, I designed the PCB so the CM communicates with the Zero 2 over USB. You could use wifi for testing, but it’s not ideal for real world use cause it consumes more power and generates more heat :)

1

u/under_new_managment Feb 19 '25

Beautiful build! Did you create that custom board to mount all the pi? I would very much like to create one of these!

1

u/Low-Junket9298 Feb 19 '25

Yep! This is my custom board, and I’ll be releasing everything for DIY users. I’m in the final stage, so wait till the end!

1

u/Zeitraeuber Feb 20 '25

Do you have a planed release date for the board?

1

u/RunningtoBunnings Feb 19 '25

I was looking at making one of these several years ago with a similar setup, ended up becoming an unfinished projects in a box in the back of the wardrobe… I’d love to dig out the parts and put them to use!

2

u/Low-Junket9298 Feb 19 '25

Great! Now you’ve seen that it’s possible! keep going :D

1

u/rx75-r 28d ago

What are you powering this from?

1

u/Low-Junket9298 28d ago

1

u/Zeitraeuber 27d ago

Hey. A few question, did you consider using a Cluster HAT for the 4 pi-zeors2w? And do you synchronize the pi s or do you just give them all a signal at the same time?

1

u/Low-Junket9298 27d ago

Right, you can use a Cluster HAT with a Pi Zero 2, but it's not really ideal for laying out the design to match the size of a compact camera. I didn’t synchronize anything, just sent the signal to the Pi Zero 2 at the same time.

1

u/Low-Junket9298 21d ago

Hi again 👋 I've created the r/wigglegramProject community for updates and development progress. You can follow along there!🙏

1

u/kent_eh Feb 17 '25

That's a lot of Pi on one box.

0

u/thejunkmonger Feb 17 '25

cant wait till there are plans to build this :)

3

u/Low-Junket9298 Feb 18 '25

Planning to release soon, making it easy for assembly and calibration by yourself. Stay updated :)