Stereovision

General discussion about topics related to OpenMV.
hi2000
Posts: 2
Joined: Tue Dec 17, 2019 9:02 am

Stereovision

Postby hi2000 » Tue Dec 17, 2019 9:06 am

Hi,
please i need a help on how can i use 2 openmv M7 camera to do a my project "robot navigation using Stereovision".

Sincerelly,
User avatar
kwagyeman
Posts: 3720
Joined: Sun May 24, 2015 2:10 pm

Re: Stereovision

Postby kwagyeman » Tue Dec 17, 2019 12:32 pm

What's the question?
Nyamekye,
hi2000
Posts: 2
Joined: Tue Dec 17, 2019 9:02 am

Re: Stereovision

Postby hi2000 » Tue Dec 17, 2019 7:08 pm

hi,
the openmv cam is compatible with stereovision? how can we synchronise two openmv cam if the stereovision is possible?
heisenburg007
Posts: 1
Joined: Mon Dec 09, 2019 5:50 am

Re: Stereovision

Postby heisenburg007 » Wed Dec 18, 2019 11:57 am

I am facing the same problem. I am unable to reliably sync the output of the cameras. The documentation says to use the vsync signal, but then sending the data over serial causes losses in frames.
User avatar
kwagyeman
Posts: 3720
Joined: Sun May 24, 2015 2:10 pm

Re: Stereovision

Postby kwagyeman » Thu Dec 19, 2019 11:55 am

Yes, if you send data out the serial port over USB then the camera blocks on that data transmit. If you are trying to sync cameras you have to keep in mind that you have to deal with that. You should use a master device a that generates a trigger capture signal to each camera.

I.e. if you have two cameras with the global shutter module you can set the camera module to triggered mode. Once you do this you can capture pictures in a triggered manner. Then, you should have each camera wait on an i/o pin going high to take a pic. That i/o pin per camera should be connected to a master device. That master device should only make it's output go high to trigger the systems when it knows all the cameras are ready. Cameras report they are ready by making an i/o pin go high before they start waiting on the master trigger signal.
Nyamekye,
Christian
Posts: 2
Joined: Sat Jan 11, 2020 3:25 am

Re: Stereovision

Postby Christian » Sat Jan 11, 2020 5:57 am

Hi there,

is there a way to implement stereoscopic vision a way the MT9V034 Datasheet describes (see below) ?
If i'm understand it the right way, one should have a external board with 2x MT9V034's internally wired (which you need anyway), and the serial + controlpins broken out.
That should indeed consume less [10] GPIOs hence no parallel bus is needed anymore.

Questions is how much cpu/time is consumed by deserialization on the H7?
You also have a higher load/slow down by default due to the need to processing 2 frames at the same time.


LVDS Serial (Stand-Alone/Stereo) Output
The LVDS interface allows for the streaming of sensor
data serially to a standard off-the-shelf deserializer up to
eight meters away from the sensor. The pixels (and controls)
are packeted-12-bit packets for stand-alone mode and 18-bit
packets for stereoscopy mode.
[...]
In stereoscopic mode, the two sensors run in lock-step,
implying all state machines are in the same state at any given
time. This is ensured by the sensor-pair getting their sys-clks
and sys-resets in the same instance. Configuration writes
through the two-wire serial interface are done in such a way
that both sensors can get their configuration updates at once.

cheers

Christian
User avatar
kwagyeman
Posts: 3720
Joined: Sun May 24, 2015 2:10 pm

Re: Stereovision

Postby kwagyeman » Sat Jan 11, 2020 12:05 pm

We use the 8 bit data bus for the MT9V034. There's no way to connect two cameras to the OpenMV Cam without an external FPGA in the data path that combines the two images into one.

Designing that type of hardware would be complex. Our software would give you a head start but otherwise it's a lot of work.
Nyamekye,
Christian
Posts: 2
Joined: Sat Jan 11, 2020 3:25 am

Re: Stereovision

Postby Christian » Sun Jan 12, 2020 3:51 am

yes, won't even try that - just would be neat to use the internal feature of the sensor(s) like that.
I personally don't look forward to see the openmv going stereoscopic-ish. This is not what 'it's supposed to do'..
Although, having some basic 3D translate functions would be nice ;)

There's a some (affordable) other stuff around, like the TeensyCam:

https://github.com/icboredman/TeensyCam-HW

Using 2x MT9V034 in 10Bit parallel mode with an Cortex M4@180Mhz as dedicated controller.
The imagesensor you get for about 9€ each, couple of SMD's 4€ , teensy about 25€, + pcb 3€ = 50€
Haven't checked the code if the onchip feature is used, but in principle the solution looks ok.
But, you would still have 11bit raw data to process. In case of the teensycam with usb out, this is supposed to be a raspi or better where you run openCV,TF,..

A double ArduCam could fit your needs as well and it supports a nice bunch of cameras and platforms and no pcb-ing needed.

https://github.com/ArduCAM/Arduino

And last but not least, just use 2 OpenMV cams and the sync pin as externel cams ;)


cheers

Return to “General Topics”

Who is online

Users browsing this forum: No registered users and 3 guests