Bundler is a system developed by Noah Snavely that can reconstruct three-dimensional models using unordered images based on the SFM principle. Cmvs+pmvs is a powerful system written by Dr. Yasutaka Furukawa, able to use the output of bundler as input, which can be used together to reconstruct a dense point cloud model. The following is my summary of the whole system in the actual compilation, operation of the common problems, and give a corresponding solution, I hope to be helpful to everyone.
(Note: This article bundler the compilation run under Cygwin.)
1. Problem Description: At compile time, after you execute make in Cygwin, the bin directory does notgenerate executable files such as Bundler.exe, Bundle2PMVS.exe, etc.。 Analytical solution: Generally Cygwin installation does not completely cause this problem. Simply reinstall the Cygwin, and when installed to the interface shown, change the default after all to install.
Cygwin (official website, Baidu Cloud Cygwin offline package 13.08.24.7z)
Question 2 such as:
Problem Description: Unable to find camera CCD sensor width information. The first time you use your own photos to test the effect of the program, you will generally encounter this problem. Without the CCD width information, it is impossible to calculate the three-dimensional coordinates of the point cloud, and then continue running is useless. Workaround: ① first determine your camera model, then go online to find the camera's CCD parameters. Like www.dpreview.com. It is important to note that the CCD width required by the program is not to say CCD camera only, CMOS camera is the same, CMOS sensor width is the desired CCD width. ② the Ccd/cmos width information, found in the bin directoryextract_focal.pl config file, use Notepad program such as notepad++ to open, according to the corresponding format to add your camera sensor width information. Note The format should be in strict accordance with the rules:[ camera make] [camera model] [Sensor width]
(i.e. "[camera manufacturer] [camera model]" = [sensor width]). For example, our cameras are"Nikon CORPORATION nikon D7100" = 23.5also, as for how to determine the camera manufacturer's cameras make and model camera models, you can put a picture of your shot in the bin file directory, open the CMD console, confirm through the Jhead program, for example, My photo is myphoto.jpg:
This problem is solved when the above setting is completed. In principle, you can use your phone to take pictures, as long as you can find the sensor width and add it to the configuration file.
Question 3 such as:
Problem Description: Ran out of memory error occurred when extracting feature points, out of RAM. Analysis and Resolution: This is because your photo size is too large, it is recommended to install the beauty map to seeModify the image size, the general setting is 2000, maintain the width ratio. At this time generally each picture can find about 2000 keypoints. In addition, the United States to see the image can also be modified batch image name, image File format, can save a lot of effort.
Question 4 such as:
Problem Description: Unable to find the. PGM picture file when extracting feature points. Analytical Solution: The SIFT program requires a. PGM format image when extracting feature points, so you need to install the software ImageMagick. When the bundler is loaded, the program is automatically called when the feature point is extracted, and the. jpg image is converted to. PGM.
Question 5 such as:
Question Description: Why did you enter the error of theabove command after assigning the "Bundler_bin_path" in the prep_pmvs.sh file to the/result/pmvs directory according to the requirements? Analytical Solution: Modify prep_pmvs.sh to the following points to note:① do not edit any text file using the Notepad that comes with Windows . The reason is that Microsoft Development Notepad team used a very mentally retarded behavior to save UTF-8 encoded files, they are smart to add 0XEFBBBF (hex) characters at the beginning of each file, you will encounter a lot of incredible problems, for example, the first line of the page may show a "?", obviously the correct procedure to compile a report on grammatical errors, and so on, are caused by the mentally retarded behavior of Notepad. Suggest you download notepad++ instead of Notepad, not only powerful, but also free! ② such as my modified:Bundler_bin_path=/cygdrive/e/bundle/bin, each place different places need to be adjusted accordingly. Note that the equal number is not empty, and you use Cygwin to run the program with the/cygwin/prefix.
Question 6 such as:
Problem Description: The use of multiple photos, only a few of the implementation of the effective, only a few points. Analysis and Resolution: This is because the photos in the photograph are too big to match. Bundler, also known as the SFM principle, requires that there is a large enough overlap between the photos, and each point is best seen in at least 3 images. So at least one photo is taken when you take a photo, each turn to 15°. Also, try to make the photo as good as possible and be clear and bright.
Question 7. Run normally, the resulting model is of poor quality. Analysis and resolution: the same problem 6, are the picture quality needs to be improved.
The above is my summary of a few questions, I hope to help everyone. If you have other questions, or have a better solution to the above problems, please leave a comment below and discuss together.
Report:
1. Snavely's GitHub page also has a lot of tips, and he also summed up some common problems, and this article to complement each other, we can refer to the reference.
2. Bundler install the Compile step can refer to my other blog post.
Bundler and Pmvs FAQs & Workarounds