tag:blogger.com,1999:blog-28093388.post2926487370076967743..comments2022-04-10T02:50:06.064-07:00Comments on binarymillennium: Photosynth Export Process Tutorialbinarymilleniumhttp://www.blogger.com/profile/17419830604356775608noreply@blogger.comBlogger104125tag:blogger.com,1999:blog-28093388.post-66829863500520848582013-01-03T06:14:45.634-08:002013-01-03T06:14:45.634-08:00Ross, my tutorial may help:
http://palentier.blogs...Ross, my tutorial may help:<br />http://palentier.blogspot.com/2010/12/how-to-create-digital-elevation-model.htmlMarkhttps://www.blogger.com/profile/03811635822004008238noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-68625062727229863012013-01-03T05:56:39.707-08:002013-01-03T05:56:39.707-08:00Bit behind the times here, but I'm working on ...Bit behind the times here, but I'm working on producing a 3D model of a hillside that is very susceptible to landslides for my final year project at University. I've managed to get as far as downloading the .bin files but don't understand how to progress and covert the files so they're suitable to be used on meshlab. Any help would be seriously appreciated!Anonymoushttps://www.blogger.com/profile/03367929126386252432noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-66478977448838558812010-11-19T12:36:48.746-08:002010-11-19T12:36:48.746-08:00Thanks Mark!Thanks Mark!gregdowninghttps://www.blogger.com/profile/16780290796423219559noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-19492082213636167192010-11-18T19:20:01.522-08:002010-11-18T19:20:01.522-08:00Greg, that is awesome work! VERY VERY NICE! It i...Greg, that is awesome work! VERY VERY NICE! It is great to see our work evolve like this.Markhttps://www.blogger.com/profile/03811635822004008238noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-92109529666527863132010-11-18T19:12:36.971-08:002010-11-18T19:12:36.971-08:00I was able to export cameras from Photosynth to Ma...I was able to export cameras from Photosynth to Maya. You can see the results here, http://www.xrez.com/blog/photogrammetric-gigapixel-images/ and get the code (thanks to help from art79 & Simeon Basset) on the new photogrammetry forum, http://www.pgrammetry.com/forum/viewtopic.php?f=14&t=85gregdowninghttps://www.blogger.com/profile/16780290796423219559noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-27879366542723043512010-05-29T22:10:53.986-07:002010-05-29T22:10:53.986-07:00Hi All,
I'm very interested in using PhotoSyn...Hi All, <br />I'm very interested in using PhotoSynth output to plug into dense point-cloud reconstruction (such as PMVS2), as PhotoSynth seems to get better results than the offline reconstruction code. <br /><br />SynthExport has <a href="http://synthexport.codeplex.com/Thread/View.aspx?ThreadId=204015" rel="nofollow">just added exporting of the camera parameters to CSV</a>, and I'm trying to write a quick javascript form to generate the next stage of input for PMVS, but I am having problems with the format of the parameters.<br /><br />The parameters output by Bundler (which is based on the same code as PhotoSynth) are listed <a href="http://phototour.cs.washington.edu/bundler/bundler-v0.4-manual.html#S6" rel="nofollow">in the documentation</a>, and I have applied calculation to convert the X, Y, Z rotation into a matrix, only to find that the rotation values are almost definitely in radians and not degrees. <br /><br />I need some sanity checking on my conversion, as I'm not fantastic with matrices.<br /><br />Kind Regards,<br />JoshJosh Harlehttps://www.blogger.com/profile/15626583171851285624noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-89766108306170413922010-03-26T09:16:40.879-07:002010-03-26T09:16:40.879-07:00http://photosynth.net/view.aspx?cid=0dcf06d3-8dc7-...http://photosynth.net/view.aspx?cid=0dcf06d3-8dc7-4c35-b5e7-ff810bd5489a<br /><br />Thanks! Have a good weekend.tracyhttps://www.blogger.com/profile/12546856084468166677noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-30856219759683196072010-03-26T09:12:25.807-07:002010-03-26T09:12:25.807-07:00Tracy, just the URL for now. I won't be able ...Tracy, just the URL for now. I won't be able to look at it until early next week tho. Heading out for the weekend. -MarkMarkhttps://www.blogger.com/profile/03811635822004008238noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-82441066564204369092010-03-26T08:47:17.013-07:002010-03-26T08:47:17.013-07:00Mark,
Do you want the URL address of the synth or ...Mark,<br />Do you want the URL address of the synth or the point cloud we've extracted, which is HUGE.<br />Thanks,<br />--Tracytracyhttps://www.blogger.com/profile/12546856084468166677noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-10854442900382332402010-03-26T07:52:25.983-07:002010-03-26T07:52:25.983-07:00Tracy, sounds to be like you model's Z axis is...Tracy, sounds to be like you model's Z axis isn't aligned with the real world Z axis. Which is basically what Vinuuen is getting at and sounds like what you've been experimenting with.<br /><br />Can you show us the Synth you're starting with?<br /><br />-MarkMarkhttps://www.blogger.com/profile/03811635822004008238noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-78245994914013664622010-03-26T07:41:05.327-07:002010-03-26T07:41:05.327-07:00Thanks...more stuff to ponder and much appreciated...Thanks...more stuff to ponder and much appreciated.<br />--Tracytracyhttps://www.blogger.com/profile/12546856084468166677noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-6716046569281238092010-03-25T20:21:41.783-07:002010-03-25T20:21:41.783-07:00Bleh.. err, the other one reads in y,x,z. dern tyo...Bleh.. err, the other one reads in y,x,z. dern tyops.M. Stangehttps://www.blogger.com/profile/15710016752485979336noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-23571948793989171062010-03-25T20:20:27.475-07:002010-03-25T20:20:27.475-07:00I know from some other software I have used in the...I know from some other software I have used in the past for CnC Operations that one program may export a DXF as x,y,z. Then the importing program reads, x,y,z, and another reads y,x,y. So that may be your issue there. <br /><br />Another thing to look at is to make sure you are only using the first set of points. points_0*.bin and not the points_1*, 2* and so such. Those have different orientations and are unmatched points, so that can also screw things up.M. Stangehttps://www.blogger.com/profile/15710016752485979336noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-11335066963336641642010-03-25T20:07:19.997-07:002010-03-25T20:07:19.997-07:00So...another GIS-related question, wondering if an...So...another GIS-related question, wondering if anyone else has noticed weirdness of this sort: we got some lovely photos of a valley, bottom to top and terrain on either side and ran them through Photosynth.<br />Then we exported the point cloud and put it into the demo version of VRMesh, cleaned up the few stray points and exported as a .dxf. We used Quick Import through Data Interoperability to get it into ArcMap. Then we made it into a 2d shapefile, then a 3d shapefile from which we can render TINS.<br />The weird thing is, when we render TINS, we get different colored bands that represent changes in elevation, which is expected, BUT they're running vertically -- up and down the valley -- rather than horizontally as one would expect (and hope for!) across the valley (I am over-explaining, but if you're looking into the valley, the bands of elevation run north/south if you pretend north is "up" when they should be running east/west..side to side).<br />Anybody have any thoughts on why this is occuring and what can be done about it? I have some suspicions about the .dxf export process from VRMesh...we get different resulting data in ArcMap, depending on the position the point cloud is in when exported from VRMesh, as in how it's tilted, spun, oriented when we save it as a .dxf. But it seems no matter how we tilt, spin and export, we get elevation bands going the wrong way in our Arc TINS.<br />Any help or musings is/are appreciated.<br />--Tracytracyhttps://www.blogger.com/profile/12546856084468166677noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-62752152763288704552010-03-18T05:15:15.774-07:002010-03-18T05:15:15.774-07:00So helpful, thanks again, your suggestions and com...So helpful, thanks again, your suggestions and comments rock! Lots of different things to try today...tracyhttps://www.blogger.com/profile/12546856084468166677noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-74152990233896805152010-03-17T19:18:56.159-07:002010-03-17T19:18:56.159-07:00Doing most of the extra programming for Mark, I ca...Doing most of the extra programming for Mark, I can say that some of the programs have problems with negative numbers. So the +100 always moves any negatives to positives. Though a +10 should work as well from my experience. The *1000 is so you always get a 3 place precision. Most points in the point cloud wont match a x/y/z of 999/999/999 so you get a larger varied cloud of all positive numbers. Depending on the scale you use of +SS you then get a SS,xxx/SS,yyy/SS,zzz point for every point in your cloud. You always scale first so that you end up with positives. If you multiply first you get negatives unless you use an absurdly large scaler. The scaler is just moving the point cloud's origin to the scaler before multiplying. Once you multiply it you can just get rid of the the numbers after the decimal. And if you need more precision just Change your multiplier to a higher number. The actual picking of +100 and *1000 was just testing to see what worked best. <br /><br />And no I dont know much about VRMesh or any of the others. <br /><br />Hope this helps. <br />- vinuuen, The other MarkM. Stangehttps://www.blogger.com/profile/15710016752485979336noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-56637078068922785762010-03-17T19:12:38.110-07:002010-03-17T19:12:38.110-07:00Eh, I forgot this...we're using the demo of VR...Eh, I forgot this...we're using the demo of VRMesh to clean the point cloud. My coworker found that the way the points imported into Arc is dependent upon how the point cloud was oriented in VRMesh when exported to a .dxf.<br />He spun the pt. cloud around and saved several times and we got different results -- once it came into Arc -- every time. He spent a lot of time with the Widget Transformation tool in VRMesh tilting the point cloud with top towards us, away from us, tilted flat away from us, upside down, etc., but we never got an understanding of orientation in VRMesh. It seems friendlier than Meshlab but the "help files" haven't been so helpful. Does anybody here understand how orientation works in VRMesh, as far as saving out the point cloud? Does the Widget actually do anything or is it something just for reference of some kind?<br />Thank you all again and good night...;)tracyhttps://www.blogger.com/profile/12546856084468166677noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-68012625945175046082010-03-17T19:01:13.899-07:002010-03-17T19:01:13.899-07:00Mark,
THAT's what we've been wracking our ...Mark,<br />THAT's what we've been wracking our poor mushy brains on!!! We knew we needed to scale the xyz's to something more usable but had no idea what kind of multiplier to use. We have z's at 0.81xxxx and 1.25xxxx and that relates to nothing in the real world that we could figure.<br />We printed out Nathan's step by step guide and were going to try to use Java Graticule 3d (thanks to you too, Art79, we will try that approach as well; better for us to try several avenues and compare the results).<br />Why'd you pick "+ 100 (* 1000)"?<br /><br />Thanks again, you guys are the best. Probably saved our Arc software from getting whacked with a baseball bat tomorrow...tracyhttps://www.blogger.com/profile/12546856084468166677noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-68977122883210374422010-03-17T08:33:38.666-07:002010-03-17T08:33:38.666-07:00Tracy, if you're using VRMesh Studio, you shou...Tracy, if you're using VRMesh Studio, you should still save the file as ascii PLY or as a comma delimited file. Open that file in notepad, delete the header info, select all the data (ctrl-a), copy (ctrl-c) and paste (ctrl-v) that into an empty Excel or Access Database. You'll end up with six columns (X,Y,Z,R,G,B). Because ArcGIS has issues with floating points, you'll need to scale the data. What I do is create three new columns (X1,Y1,Y2) where X1=(X+100)*1000, Y1=(Y+100)*1000, and Z1=(Z+100)*1000. By adding 100 to XYZ I'm removing all the negative numbers (This is just my personal preference). By multiplying by 1000 I get rid of the floating point problem. The next step is to save the database. Open ArcMap. In ArcMap go to TOOLS>ADD XY DATA>Pick the database file you just made> Choose your X and Y Field. Leave Coordinate System as Unknown. Click "ok". This will give you a bunch of pointsin the map view. Right click the new file under layers, go to Data and then EXPORT. This will allow you to save the 2D data as shapefile. ArcMAP will ask you if you want to add the newly exported file. Click Yes. Ok, now we have a 2D point shapefile. To create a TIN or similar data you need a 3D shapefile. To do this open 3D Analyst toolbar, click 3D Analyst>Convert>Features to 3D. That will open a dialog box, make sure the 2D shapefile is selected under Input Features, then select the radio button next to "Input feature attribute". In the drop down box next to that pick your Z2 column. This will associate the 2D points with a Z value when you export it. Export a new 3D shapefile.<br /><br />This 3D shapefile is what you need to generate TIN, Grids, contours, etc with. You do that in 3D or Spatial Analysts.<br /><br />Easy, huh? =)<br /><br />Art79 is correct about the georeferencing. Most people use "Georeferencing " under Tools>Customize>Tool Bars. Note that this assumes your synth's ground plane is aligned with the real world ground plane.<br /><br />I guess I should get around to actually writing a tutorial...Markhttps://www.blogger.com/profile/03811635822004008238noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-3579442348506915132010-03-16T16:11:51.203-07:002010-03-16T16:11:51.203-07:00Tracy,
There are tools in arcGIS to do georeferenc...Tracy,<br />There are tools in arcGIS to do georeferencing (these are mentioned in Marks second link). These tools only give you a 2d georeference which may be good enough for some applications but photosynth point clouds really need a 3d georeference that will correct for issues such as a tilt in the surface.<br /><br />For this you are probably better off using Java Graticule 3D that is mentioned in Marks first link (I haven't tried it but it sounds good... or find something similar).<br /><br />ArcGIS does have the capacity to do a 3d georeference but it seems to only be available through arcobjects code.artthttps://www.blogger.com/profile/00388734200665546502noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-92019126787616557222010-03-16T10:02:12.459-07:002010-03-16T10:02:12.459-07:00Mark,
Your response helps a lot, thank you so much...Mark,<br />Your response helps a lot, thank you so much. We have access to the full suite of ArcMap (3d Analyst, Spatial Analyst, etc.) Do you or does anybody else here know how to get the point cloud registered using ArcMap? Or what steps in your process do you think lend themselves to ArcMap?<br />We have gotten through the steps where we export the ply file from VRMesh as a .dxf, then import it into ArcMap via Data Interoperability/Quick Import. We used a .dxf because we were unable to get an ascii file to work. Either way, when we bring the point file in and create a TIN, our elevations categorized by color do not follow the terrain as we know it to be. It does not "elevate" to north...the color bands runs east-west, if that makes any sense. When we manipulate the orientation of the point cloud in VRMesh, this does give us some favorable results, but not the accuracy we need. Any help is greatly apppreciated. My coworker also adds that he can't believe how much we've learned here in these forums from you guys...way more than any tutorials from software sites.<br />--Tracytracyhttps://www.blogger.com/profile/12546856084468166677noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-30348434014948493762010-03-10T17:09:17.741-08:002010-03-10T17:09:17.741-08:00@Simon Love the video. Great work.@Simon Love the video. Great work.Markhttps://www.blogger.com/profile/03811635822004008238noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-29190076079650581902010-03-10T17:02:53.436-08:002010-03-10T17:02:53.436-08:00Tracy, both Nathan Craig and I have done this. Na...Tracy, both Nathan Craig and I have done this. Nathan has written an excellent page detailing his methods. You can find it here: http://www.personal.psu.edu/nmc15/blogs/anthspace/2010/02/structure-from-motion-point-clouds-to-real-world-coordinates.html<br /><br />My work flow is a little different and is avilable here:<br />http://photosynth.net/discussion.aspx?cat=6b63cb81-8b57-4d5d-a978-41d5509bf59a&dis=7b771e05-8a31-4109-8258-e97e4a9f41ae<br /><br />Hope that helps,<br /><br />MarkMarkhttps://www.blogger.com/profile/03811635822004008238noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-7994419707838775412010-03-08T06:58:03.534-08:002010-03-08T06:58:03.534-08:00This comment has been removed by the author.tracyhttps://www.blogger.com/profile/12546856084468166677noreply@blogger.comtag:blogger.com,1999:blog-28093388.post-38988321035598606062010-03-08T06:57:46.892-08:002010-03-08T06:57:46.892-08:00You guys have done some amazing stuff here. I'...You guys have done some amazing stuff here. I've learned more about point cloud processing and photosynth here than any other place on the net. I have a question...has anybody tried aligning a point cloud to any gps or real world ground control? If so, would you mind sharing how you did it? If not, any thoughts on where to find such info? Thanks.tracyhttps://www.blogger.com/profile/12546856084468166677noreply@blogger.com