360 degrees photo with exact location, match with model

Hi all,

I have some 360 degree photos (such as Street View-photo's) and I know the exact location of the photo in coordinates. These photos I'd like to read in such a way in MicroStation that the photo matches an existing surface (for example: an existing drawing of the road) with the photo. I've tried a few things with background and image, and placing a camera on the location of the photo location, but it will not succeed. Does anyone have experience with this?

Parents Reply
  • @ John Allen, i think i have tried your suggestion, but my problem is dat the image used as background is presented with a different scale and rotation as the model. I could imagine how to deal with the rotation, but the scale is still a problem. I have placed the camera on the exact location.

    I have attached the image as i see in the Explorer:

    And as i see in MicroStation as background:

    Thanks again.....

Children
  • Unknown said:
    the scale is still a problem

    Does it help to adjust the view angle? 
    Define Camera>View information...

    Mike

  • GeoNext, are you doing this with an environment map, and then calling that from a display style? If so, you see that the environment map settings only provide one rotation field. So you can control rotation around 1 axis. But this is not enough. You need to control pitch, yaw, and roll, so you need 3 rotation fields in the settings.

    Therefore, if you want to do a test, I suggest you build a cube composed of 6 square sides, convert your image to an image cube (there are free utilities online for converting panoramic photos to image cubes), and map the images onto the faces of the cube as render materials.

    Once you get the 6 images mapped onto the 6 faces of the cube, then you can group the cube for convenience (ctrl-g). Put a heavy lineweight point at the center of the cube first. Now you have control.

    Use rotate and accudraw to rotate the cube around each axis as needed to align with the model. Do this with the camera eye in the center of the cube so you can see the image cube rotate around you as needed, around 3 axes. Rotation is only one of 2 things needed though. You also have to MOVE. You have to move the image cube to the correct location versus the model, and you have to move the camera eye at the same time so it is always at the center of the image cube as it moves, because the panoramic photo is distorted if the camera leaves the cube center.

    You have to do these moves and rotates incrementally one step at a time, always moving the camera eye to the center of the cube, trial and error, until you see the image aligned with the model.  This is not easy.

    Once you get it right though, you will notice that camera angle (width) affects the display of the photo image and the model equally, so camera angle doesn't matter, and likewise, the size of the image cube (scale) does not matter. As the cube gets bigger, it gets farther away, but it is scaling around the camera eye which is at its center, so scaling has no affect.

    If you try to do this with the environment map instead though, in addition to the lack of rotation control for 2 out of 3 rotation axes, you also find uncontrollable behavior regarding camera angle. That is, the model display is affected (as it should be) by camera angle, but the environment map keeps a constant width in the view window at all times, so the image and the model can't be locked together as is necessary.

    You can get this to work though using an actual modeled image cube. I've done it many times.

    To make that easier, we're working on an app that helps you do the alignment. We'll be looking for some beta testers in a few months.



  • Hi Rob,

    That sounds great. We would like to be a beta tester. We routinely create 360's to complement our as built models.

    I'm sure this has been considered already but it would make sense to build a cube map based on the point cloud data itself. ie from a given view point render the point cloud onto the cube map. (a side thought: instead of color by elevation as a point cloud rendering option we could have colour by distance from the camera :0)

    Seems like a logical extension to descartes?

    I've considered trying the same through using a spherical projection in a render setup, then creating the cube map from that, but have not been able to justify the time involved.

    Mike

  • Mike, Please email me in May about the beta at rob.snyder@Bentley.com

    Its great to hear how you use this already and I look forward to your comments on our app.  That idea you mention about images of point clouds at certain nodes in virtual space we show here at 19:16 in this video http://youtu.be/kQPxPF-lf5I  

    Clearly this kind of thing (photography, imagery) should become just another part of any spatial information environment.



  • I tried this out yesterday (spherical environment) and had pretty good results. The trick seems to be finding the 'eye' height and relative distances to some known objects and ONLY changing your view based on the 'eye'  position.

    The objects closer to the camera looked more natural, the further out you placed objects the less they appeared to align with the background. I'm sure that has everything to do with the lens distortion and stitching together of the images to create the 360deg panorama.

    The model I created only had 2 cars and a ground plane (to create a shadow). The different camera angles and lens lengths worked surprisingly well. (have I mentioned lately that the Dosch Design cars are AWESOME?)