Image Post Processing Tutorial 2 (CMPMVS and Meshlab)

Image Post Processing Tutorial 2 (CMPMVS and Meshlab)

Meshlab and CMPMVS UAV Mapping Post Processing Tutorial

This is the second installment UAV Aerial Mapping Post Processing Video Tutorial that utilizes Meshlab and CMPMVS. All software in the open workflow is freely available for personal use, education, and research. Some components are free for commercial use as well.
This tutorial explains how to use the outputs from VisualSFM as inputs to CMPMVS to create multiple outputs including Orthomosaics, Digital Surface Models (DSM), dense point clouds, and sophisticated 3D models that rival some of the most expensive photogrammetry software available.

30 Comments

  1. Carlos Arturo Ramos García

    Hi everybody

    I have a problem when running the tutorial 2, the message is “ERROR CREATE DEVICE 3D DIRECT”. My notebook have a NDVI GFORCE 750M, 1TB, 8 GB RAM, intel core i7-4700MQ CPU @ 2.40 GHz 2.40 GHz

    1. This problem is related with the drivers CUDA ?
    2. My problem is the hardware capacity?

    Thank for your support

    Kind Regards

    Arturo Ramos
    Mocoa Putumayo Colombia

  2. renu

    Hi all,
    Thanks for the great tutorial.I have been successful with Visual SFM however having issues with CMPMVS.
    I am having the issue when i run CMPMVS.exe with the path for mvs.ini file in command prompt.It says CMPMVS.exe r128 has stopped working.Do you have any solutions for this?

    Also how do i geo-reference the point cloud generated in Tutorial 1 using V-SFM.Is there any turtorial for that as well.

  3. asier

    Hi, all.
    I quit trying CMPMVS work on linux, through wine or virtualbox…too much for me.
    So, I finally installed Windows7 on a new partition and try to run all the software in Windows. VisualSfm run Ok, but surprisingly CMPMVS delivered the same error message as when I tried in a virtualbox Windows. It says that parallel setting is not correct…
    Any hint on how to proceed?
    I have an Intel Core i7 Gigabyte X79-UP4 motherboard, an i7-3820 CPU (4 physical cores and 8 logical cores) and a Gigabyte GTX760 graphic card (4 GB).
    Best regards,
    Asier

  4. asier

    Thanks for your answer, Justin.
    I have my CUDA drivers for linux installed, as they are needed for Vsfm. And in fact, my first try was with WINE, but I had some troubles with an unfound file and thought that a virtual machine would be better (uninformed thoughts are useless ;-)).
    I will try again on Wine…although I am already convinced that I won’t find any other solution than installing a Windows partition.
    I’ll let you know if there is some progress.
    Best regards,
    Asier

  5. asier

    Great job, Geobduffy!!! and many thanks for providing these tutorial.
    I am working on Ubuntu (14.04) and I have succeded on installing VisualSfm (after really hard work) and get it to work. But now, I have problems with CMPMVS.
    I installed a virtual machine and run CMPMVS. It does not run at all, I got a message informing me that there is a problem with parallel processing configuration. I’m afraid my knowledge on computer science is not enough to understand what is going on under the cover…but I guess the problem is with a virtual machine (I’m working with a Geforce GX760 graphic card and a i7 quadcore processor, with 16 Gb RAM; that means more than 1000 cuda cores).
    Is it possible to configure CMPMVS as to work on a virtual machine? Or is it simply impossible?
    Can someone provide some insight?
    Best regards, and thank you, all.
    Asier

    • justinR

      The trouble is that a virtual machine uses a translator, and not the actual nvidia CUDA drivers. there is almost no work around other than using the right drivers from the native OS. if you look around for linux CUDA drivers you might have a shot. I would expect WINE would be better than a virtual machine, since it is 3D accelerated. The trouble would still be native drivers. I much prefer Kubuntu for real work, but I am stuck with windows for this one part of my workflow. If anyone has a better answer than this, please let me know too.

  6. justinR

    Thank you again for this tutorial, it has made this make a lot more sense as I get started. I have one question about scaling the mesh. What does CMPMVS take as input? My goal is to scale one object in Meshlab and have CMPMVS’s output all be scaled. of course georeferencing the orthomosaic is important too, but I can do that in QGIS without hiccup. automation would be key, which is why I don’t want to scale every outputted mesh from CMPMVS.

    Should I scale the sparse point cloud or the dense point cloud, then export to a CMP structure? or is there another simpler way to accomplish this?

    Thank you.

    • geobduffy

      Hi Justin,
      Thank you and welcome!
      It sounds like you have expertise that many of us here could learn from. Any interest in making a short tutorial on georeferencing an image or ortho in qgis?
      I don’t know a simpler way of scaling than what you mentioned.
      I was thinking to use SFMgeoref to scale…have you tried this?
      B

      • justinR

        Geobduffy,

        My goal was to scale with SFMGeoRef as well, but I haven’t been able to make it work. so far only commercial apps (Pix4D) have really done the scaling and georeferencing for me. I still need to play around with input files for cmpmvs, as I am hoping that scaling one mesh will make the output from that work. unfortunately, the last sample data set that I ran took just over 24 hours on this poor little computer I have at work, (We are working on grants to get a real graphic workstation for this purpose) so i am not relishing the idea f running it over and over again to figure out scaling.
        I would be happy to write a short tutorial on QGIS georeferencing. it is much simpler than I expected it to be, the real key to it is simply to have good ground control points, which I expect will also help with scaling of meshes. I need a good/better data set to build a tutorial from, but I might be able to put something together. And of course creating the time to do it is a hindrance. But I may work on it a bit at a time until I have something together that will help folks.

  7. manatttta

    Hello,
    are there any simmilar alternatives to CMPMVS?
    Maybe any Open Source?

    Or, even simpler, is there any open source alternative to generate the orthomosasic? (because the DSM etc can be generated from PMVS/CMVS)

  8. htine

    My CMPMVS also crashes, exactly Sam Davies’ problem. My system has 3 GHZ, 8GB ram and GeForce GX 660M. Any idea what might be causing the problem? Kind regards

    • htine

      Apologies, I forgot to add that my input was of only 4 photos.

      • geobduffy

        If you’d like me to try to run some photos I’ll give it a go and see if I can create same issue on my end, then resolve it.

  9. utm_geopd

    Dear Geobduffy,I am getting any error message which says “The program cant start because d3dx9_42.dll is missing from your computer” when i try to run the cmpmvs through cmd commands .I have tried updating my Directx version but the problem remains unsolved.Please suggest me the ways to recover this issue.

  10. zhoter

    When executing cmvs.exe the result always
    24 camera — 9363 points
    reading images : Unrecognizable txt format

    Please help.

  11. Skipper

    Yea, that needs a pretty high end computer to run CMPMVS, there any other software available to do a similar job? I’ve got 120 Cuda cores, but still crashes with just 30 images.

    • geobduffy

      Skipper,
      can you run any subset of images successfully? ie, less than 30?

  12. Sam Davies

    Hi there

    Firstly I’d like to thank you for these excellent tutorials. I’ve found them most helpful.

    I’ve got a problem when it come to using CMPMVS in your second tutorial. I can get as far as running the program from the command prompt where I get an error message. I’m not amazing on computers, so i appolagise if this is a stupid problem… it might be that my laptop is too underpowered to run this program?

    I’m using a data set with only 8 images to try and keep the reasource load low, and to practice using the software.

    Here are my basic system specs
    Processor Intel(R) Core(TM) i5-2430M CPU @ 2.40GHz, 2401 Mhz, 2 Core(s), 4 Logical Processor(s)
    OS Name Microsoft Windows 7 Professional
    Version 6.1.7601 Service Pack 1 Build 7601
    System Type x64-based PC
    Installed Physical Memory (RAM) 4.00 GB
    GPU Nvidia GeForce GT 525M

    I’ve also attached a screenshot of where CMPMVS stopped working with the associated error message.

    I hope you can help

    • geobduffy

      I’m sorry I don’t know exactly what is causing this error. It seems that cmpmvs uses the cmpmvs.exe has stopped working for most every problem encountered. It’s likely that your laptop GPU is not up to the task. It has only 48 Cuda cores whereas ,ime has 480 and mine is still slow in cmpmvs. My card also crashes at times over 300 images… Do you have a desktop to try to run the program If you’d like I could try to run the same images and VisualSFM output and see if I get an error. Just let me know.

      • Sam Davies

        Yes, I think you’re right… unfortunately I do have a better spec PC but it uses an ATI card. I’ll give it another few goes, and maybe ask about in the CMPMVS google group to see if there is a way round. Thanks For your help.

Submit a Comment

Pin It on Pinterest

Let's stay in touch

Would you like to sign up to receive an occassional newsletter from us.  We'd love to let you know about new and wonderful things happening on the site.  Your details are never shared or sold and we hate spam as much as you do. 

You have Successfully Subscribed!