Kandao Qoocam 3 Ultra

Since you are apparently capable of writing your own scripts, I think you should also be able to understand the Photo Sphere XMP Metadata  |  Street View  |  Google for Developers specification to answer most of your questions. Generally speaking, it is usually best to have your camera fixed to face forward (the front facing lens) only. Simply put, forward is in the center of the image. The “north pole” is at the center top edge of the image. Technically, Mapillary does not care if the image direction is all over the place but such imagery is not particularly comfortable to look at nor aesthetically pleasing. A forward facing fixed camera will also enable you to easily add the GPSImgDirection Exif tag (should it be necessary) to the resulting imagery by virtue of normalization at the GPS position of the next image.

You may also want to make sure your camera is mounted or held horizon leveled (0° pitch and roll) because Mapillary does not do it for you. Some cameras advertise software auto horizon leveling. In my experience, most of the time the results are mediocre at best. So, I try to avoid using software horizon leveling because it adds unnecessary pixel juggling by the camera which always introduces artifacts.

Although I do not own a Qoocam, I think the capture interval is limited by stitching speed rather than storage throughput. Basically all consumer grade 360° cameras currently on the market are bottlenecked by the iGPU and poor firmware. So there isn’t much you can do. Sometimes you can trade resolution for interval time.

It depends on the firmware.

I think most people use built‑in camera storage or SD cards because you do not have to fiddle with cables and powerbanks. If you want to connect an external SSD that requires additional power and/or power the camera on the go then you are going to need a USB hub. Note that not all USB hubs can take and distribute power on multiple ends, so you will have to do some research on which products/devices do.

It should be a single JPEG image in equirectangular projection (see the spec for what it means) on a 2:1 plane.

Hi Boris,
find the original image here:

I tried simply uploading it as it came from the camera - Seems to be some issue with focal length etc:

Flo

I’d rather not point a lens straight ahead. I have TONS of imagery for my area (6600km Road with 930K+ Images) and i am now more interested in the sides of the road rather than the road itself. So i’d rather have a less then optimal image straight ahead than off to the sides.

So i need to experiment a bit with XMP tags e.g. GPSImageDirection which then is 90° off to the travel direction.

Just an example of an image fresh from the Qoocam 3 Ultra - So it does not seem to fill GPS Img Direction. But thats doable - the normal mapillary uploader console will fill this for me based on the next image. It least better than nothing.

exiftool --struct Interval_20250221_135247_000014.JPG  | egrep GPS
GPS Version ID                  : 2.3.0.0
GPS Latitude Ref                : North
GPS Longitude Ref               : East
GPS Altitude Ref                : Above Sea Level
GPS Time Stamp                  : 12:53:27
GPS Measure Mode                : 3-Dimensional Measurement
GPS Dilution Of Precision       : 2.7
GPS Speed Ref                   : km/h
GPS Speed                       : 0.004141277
GPS Img Direction Ref           : True North
GPS Img Direction               : 0
GPS Dest Latitude Ref           : North
GPS Dest Longitude Ref          : East
GPS Dest Bearing Ref            : True North
GPS Processing Method           : gps
GPS Date Stamp                  : 2025:02:21
GPS Altitude                    : 72.7 m Above Sea Level
GPS Date/Time                   : 2025:02:21 12:53:27Z
GPS Dest Latitude               : 51 deg 54' 31.67" N
GPS Dest Longitude              : 8 deg 21' 22.65" E
GPS Latitude                    : 51 deg 54' 31.67" N
GPS Longitude                   : 8 deg 21' 22.65" E
GPS Position                    : 51 deg 54' 31.67" N, 8 deg 21' 22.65" E

Flo

Interesting, looks like it doesn’t stitch the 360 images together by default.

The Camera does not do that. It says one can stitch in the camera, but it seems thats only supported for video, not interval/photos - at least i am unable to find that.

I am now trying with Qoocam Studio - but i dont even have a Windows Machine myself (Linux only since '94) so a workflow which requires Qoocam Studio would be a major PITA.

Flo

I see, if you have a chance would be interesting to see what the raw/stitched video looks like as well.

Neither GPano:PoseHeadingDegrees nor GPSImgDirection have any meaningful impact on Mapillary any longer, except for the “blue” UI dots in the web app which display the metadata image direction. You can make mapillary_tools offset your GPSImgDirection with the --offset_angle option.

Pro tip that makes life easy: Having the front lens always face forward alleviates you from remembering what the offset was, especially with 360° imagery.

I can not really believing this - this may be true if successive of a sequence have enough overlap with other imagery to get some heading. Following a sequence and not jumping around in direction of view would require that information wouldnt it?

The stability of “Direction of view” then relies on

a) Orientation of camera in relation to movement hasnt changed (Which prohibits mounting the Camera on a helmet)
b) Mapillary can reorient the image by other already available imagery (possibly from same sequence)

And IMHO Qoocam Studio does a lot of “fixing” here by using the GPS and IMU information.

And thanks for the Pro tip. I am taking Fotos for mapillary now for 12+ years and have done 6000km of street and 900k+ images so i have my tricks aswell for enshuring stuff like that. It all about establishing well known proceedures. I marked the sides of the cameras with L and R to always use the same facing.

Now i need an automated process of fetching imagery, stitching it as batch, and uploading it. Right now for the non 360° camera its just a matter of connecting the camera and the process runs automatically.

And using Windows Software e.g. Qoocam Studio is a non option here. Right now exploring Hugin (Which i used for making point clouds and aerials from a drone)

Flo