Forum

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - ptr

Pages: [1]
1
Dear forum members

I am struggling with a processing of a large historic dataset and I reached a point where I need to consult others to help me choose the best solution.

The dataset I work with consist of almost 2000 scanned analog aerial photos. Initial tests done on 10 images showed that Photoscan is able to align them and create a dense cloud, which is the product I am mostly interested in. However, the problem starts when I try to align all images - processing takes very long (2 weeks, medium setting), and only half of the images are aligned. Because the images are not georeferenced, I am not able to divide them into chunks and then run the processing.

What would be the best approach here?


2
General / chunk alignment issues
« on: November 24, 2016, 01:54:37 AM »
Dear forum members,
I've run into some issues while processing aerial full frame images that I cannot solve. Let me shortly explain what the problem is.

I am trying to create point clouds and orthophoto for a large area covered with over 1500 full frame images. Becuase of the size of the data, photos are divided into chunks (25 photos each). There is a large overlap between each chunk - the photos on the chunk edge are included in both of the neighboring chunks.

For each chunk I run a following process (python script):
- load photos
- load camera calibration and sensor information, define coordinate system
- match photos
- create dense point cloud
- create ortho
This works without any issues.

After that I want to align the chunks with each other.
First I tried using the "camera based" setting first with "fix scale", however there are large differences especially on the Z axis (height) between chunks on their overlapping areas (several meters).
Second, I tried to use the "point based" setting. This aligns only first two of the chunks, the rest is completely misaligned with coordinates starting at x=0, y=0.

What am I doing wrong? Is there any additional setting I should use to align chunks correctly? I do not run "optimize cameras" algorithm inside the loop - could that be the issue?

3
Python and Java API / deleting dense clouds
« on: November 15, 2016, 11:05:14 PM »
I am processing large amounts of data and thought I will remove the dense clouds from a chunk after a chunk is processed and the point cloud exported. However, I cannot find the right formula to make it work.

Currently I have something like this, but it doesn't work:

Code: [Select]
import PhotoScan
app = PhotoScan.Application()
doc = PhotoScan.app.document

chunklist = doc.chunks
for c in range(0,len(chunklist)):
    print(c)
    current_chunk = chunklist[c]
    current_chunk.dense_cloud.removePoints([0,1,2,3,4,5,6,7,8])

4
Python and Java API / Re: batch processing aerial imagery
« on: November 09, 2016, 01:27:53 AM »
thank both of you!
simple change to 4 photos in two different flightlines worked.

5
Python and Java API / batch processing aerial imagery
« on: November 08, 2016, 12:19:32 AM »
Dear all,

I am trying to use Photoscan to generate point clouds and ortho from over 1500 aerial images. The size of one image is almost 1GB, hence my plan is to divide the photos into chunks, process each chunk, allign chunks and export point clouds and orthos.

I tried to write a script to do everything, but there are some issues I cannot overcome. Below I attached what I came up so far. The script loads 2 photos only (as a test), aligns photos and creates a point cloud. The problem is that the coordinates are completely off, the whole area is upside down.

I'd appreciate any help.

Code: [Select]
import PhotoScan

app = PhotoScan.Application()
doc = PhotoScan.app.document

# Define: Camera calib file
CalibFile = "D:/cam.xml"

# Define: Orientation file
OrientationFile = "D:/Geolocation_DD_All_UTM.txt"

CoordinateSystem = PhotoScan.CoordinateSystem("EPSG::32611")

chunk = doc.addChunk()
chunk.label = "New_Chunk"
chunk.crs = CoordinateSystem

#create a list of photos to add to the chunk
AerialImageFiles = ["D:/G1505007_001_0001_rgbn.tif","D:/G1505007_001_0002_rgbn.tif"]

#add photos to chunk
chunk.addPhotos(AerialImageFiles)

cam = chunk.cameras[0]#PhotoScan.Camera()
cam.open(AerialImageFiles[0])

sensor = chunk.addSensor()
sensor.label = "MyCamera"
sensor.pixel_height=0.0056
sensor.pixel_width=0.0056
sensor.focal_length = 92
sensor.user_calib = PhotoScan.Calibration()
c = PhotoScan.Calibration()
c.load(CalibFile)
sensor.user_calib = c
sensor.fixed  = True

chunk.loadReference(OrientationFile, format="csv", delimiter=",")

#align
chunk.matchPhotos(accuracy=PhotoScan.HighAccuracy, keypoint_limit=80000, tiepoint_limit=80000, preselection=PhotoScan.GenericPreselection)
chunk.alignCameras()

chunk.buildDenseCloud(quality=PhotoScan.MediumQuality)

Pages: [1]