Ana içeriğe geç

ReconstructAT - Hava Üçgenlemesi

Genel Bakış

ReconstructAT arayüzü Hava Üçgenlemesi (Aerotriangulation) gerçekleştirmek için kullanılır ve ince kontrol gerektiren profesyonel kullanıcılar için tercih edilen arayüzdür. Bu arayüz detaylı parametre ayarları sağlar ve kamera gruplama, POS içe aktarma ve kontrol noktası içe aktarma gibi gelişmiş özellikleri destekler.

Uygulanabilir Senaryolar
  • Hava üçgenlemesi parametreleri üzerinde ince kontrol gerektirir
  • Hava üçgenlemesi sonuçlarını kontrol etme ve optimize etme gereksinimi
  • Çoklu kamera sistemi yeniden yapılandırması
  • Kontrol noktalarını entegre etme gereksinimi

Arayüz Kullanımı

Komut Satırı Kullanımı

reconstruct_full_engine.exe -reconstruct_type 1 -task_json at_config.json

Parametre Açıklaması

  • reconstruct_type: 1 olarak sabit (ReconstructAT'yi belirtir)
  • task_json: Yapılandırma dosyası yolu

Yapılandırma Parametreleri

Gerekli Parametreler

ParametreTürAçıklama
license_idintSDK lisans kodu, 9200 olarak birleştirilmiş
working_dirstringAra dosyalar ve nihai sonuçlar için çalışma dizini
gdal_folderstringGDAL veri yolu (SDK harici veri klasörü)
coordinate_systemJSONGiriş görüntü konumları için koordinat sistemi
image_meta_dataJSON ArrayGiriş görüntü meta veri bilgileri
camera_meta_dataJSON ArrayKamera meta veri bilgileri

İsteğe Bağlı Parametreler

ParametreTürVarsayılanAçıklama
input_image_typeint1Görüntü türü: 1=RGB, 2=Çoklu spektral, 3=Kızılötesi
remove_small_partboolfalseAT sonuçlarından küçük bağlı bileşenleri kaldırıp kaldırmayacağı
output_tie_point_lasboolfalseBağlantı noktalarını LAS formatında çıktı alıp almayacağı
output_block_change_xmlbooltrueAT sonuçlarını ContextCapture XML formatında çıktı alıp almayacağı
coordinate_system_ATJSON-XML format AT çıktı sonuçları için koordinat sistemi
fast_modeboolfalseHızlı mod, GPS'li veriler için uygun
use_image_position_constraintbooltrueGörüntü konum bilgilerini kısıtlama olarak kullanıp kullanmayacağı
use_voc_indexbooltrueEşleştirme çifti arama için görüntü geri alma kullanıp kullanmayacağı
use_spatial_indexbooltrueEşleştirme çifti arama için GPS mesafesi kullanıp kullanmayacağı

Veri Yapısı Açıklaması

Görüntü Meta Verileri

{
"id": 1, // Benzersiz görüntü ID'si
"path": "path/to/image.jpg", // Mutlak görüntü yolu
"group": "camera_1", // Kamera grubu ID'si (isteğe bağlı)
"meta_data": { // Görüntü bilgileri (gerekli)
"width": 6000, // Görüntü genişliği (piksel)
"height": 4000, // Görüntü yüksekliği (piksel)
"camera_id": 1, // İlgili kamera ID'si (isteğe bağlı, 'pre_calib_param' sağlanırsa kamera meta verileri tarafından üzerine yazılır)
"pos": [lon, lat, alt], // Konum [boylam, enlem, yükseklik]
"pos_sigma": [1.0, 1.0, 2.0], // Konum doğruluğu (metre)
"orientation": [...], // Dönüş matrisi (9 değer, isteğe bağlı)
"position_constant": false, // Konumu sabitleyip sabitlemeyeceği
"relative_altitude": 100.0, // Göreceli uçuş yüksekliği (isteğe bağlı)
"focal_length_in_35mm": 24, // 35mm eşdeğer odak uzaklığı
"pre_calib_param": [...], // Ön kalibrasyon parametreleri (isteğe bağlı, 'focal_length_in_35mm' sağlanırsa üzerine yazılır)
"dewarp_flag": false // Bozulma düzeltme bayrağı (isteğe bağlı, DJI XMP verilerinden)
}
}

Kamera Meta Verileri

{
"id": 1, // Benzersiz kamera ID'si
"meta_data": {
"camera_name": "DJI FC6310", // Kamera adı
"width": 6000, // Sensör genişliği (piksel)
"height": 4000, // Sensör yüksekliği (piksel)
"parameters": [ // Kamera iç parametreleri (isteğe bağlı, 10 elemanı dizi, placeholder_param şu anda yer tutucu parametre)
// fx, fy, cx, cy, k1, k2, p1, p2, k3,placeholder_param
]
}
}

Koordinat Sistemi

{
"type": 2, // 0=LocalENU, 1=Local, 2=Geographic, 3=Projected, 4=ECEF
"epsg_code": 4326, // EPSG kodu (Geographic/Projected/ECEF için gerekli)
"wkt": "...", // WKT dizesi (epsg_code'u değiştirebilir)
"origin_point": [lon, lat, alt], // LocalENU orijini (sadece type=0 için gerekli)
"offset": [0, 0, 0] // Koordinat sistemi orijinine göre ofset
}

Tam Yapılandırma Örnekleri

Temel Hava Üçgenlemesi Yapılandırması

{
"license_id": 9200,
"working_dir": "C:/Projects/AT_Task",
"gdal_folder": "C:/MipMap/SDK/data",
"coordinate_system": {
"type": 2,
"epsg_code": 4326
},
"camera_meta_data": [
{
"id": 1,
"meta_data": {
"camera_name": "DJI FC6310",
"width": 5472,
"height": 3648
}
}
],
"image_meta_data": [
{
"id": 1,
"path": "C:/Images/DJI_0001.JPG",
"meta_data": {
"width": 5472,
"height": 3648,
"camera_id": 1,
"pos": [114.123456, 22.123456, 100.5],
"pos_sigma": [2.0, 2.0, 3.0]
}
},
{
"id": 2,
"path": "C:/Images/DJI_0002.JPG",
"meta_data": {
"width": 5472,
"height": 3648,
"camera_id": 1,
"pos": [114.123556, 22.123456, 100.8],
"pos_sigma": [2.0, 2.0, 3.0]
}
}
],
"output_tie_point_las": true,
"output_block_change_xml": true
}

Çoklu Kamera Grubu Yapılandırması

{
"license_id": 9200,
"working_dir": "C:/Projects/MultiCamera_AT",
"gdal_folder": "C:/MipMap/SDK/data",
"coordinate_system": {
"type": 2,
"epsg_code": 4326
},
"camera_meta_data": [
{
"id": 1,
"meta_data": {
"camera_name": "Camera_Nadir",
"width": 6000,
"height": 4000
}
},
{
"id": 2,
"meta_data": {
"camera_name": "Camera_Oblique",
"width": 6000,
"height": 4000
}
}
],
"image_meta_data": [
{
"id": 1,
"path": "nadir/IMG_0001.JPG",
"group": "nadir",
"meta_data": {
"width": 6000,
"height": 4000,
"camera_id": 1,
"pos": [114.123456, 22.123456, 200.0],
"pos_sigma": [0.05, 0.05, 0.10]
}
},
{
"id": 2,
"path": "oblique/IMG_0001.JPG",
"group": "oblique_forward",
"meta_data": {
"width": 6000,
"height": 4000,
"camera_id": 2,
"pos": [114.123456, 22.123456, 200.0],
"pos_sigma": [0.05, 0.05, 0.10]
}
}
],
"fast_mode": true
}

Yüksek Hassasiyetli RTK/PPK Yapılandırması

{
"license_id": 9200,
"working_dir": "C:/Projects/RTK_AT",
"gdal_folder": "C:/MipMap/SDK/data",
"coordinate_system": {
"type": 2,
"epsg_code": 4326
},
"camera_meta_data": [
{
"id": 1,
"meta_data": {
"camera_name": "DJI P1",
"width": 8192,
"height": 5460,
"parameters": [8839.5, 8839.5, 4096, 2730, 0, 0, 0, 0, 0, 0]
}
}
],
"image_meta_data": [
{
"id": 1,
"path": "C:/RTK_Images/IMG_0001.JPG",
"meta_data": {
"width": 8192,
"height": 5460,
"camera_id": 1,
"pos": [114.12345678, 22.12345678, 150.123],
"pos_sigma": [0.02, 0.02, 0.05], // Yüksek hassasiyetli RTK
"orientation": [
// 3x3 dönüş matrisi (IMU verileri mevcut ise)
]
}
}
],
"use_image_position_constraint": true
}

Çıktı Sonuçları

Hava üçgenlemesi tamamlandıktan sonra, çalışma dizininde aşağıdakiler oluşturulacaktır:

1. Ara Sonuçlar Dizini (milestones/)

  • mvs.xml - İç format hava üçgenlemesi sonuçları
  • mvs_undistort.xml - Bozulma düzeltilmiş hava üçgenlemesi sonuçları
  • roi.json - Otomatik hesaplanan ilgi alanı
  • cs.json - Koordinat sistemi bilgileri
  • tie_points.las - Bağlantı nokta bulutu (etkinleştirilmişse)

2. Dışa Aktarma Sonuçları (products/AT/)

  • block_exchange.xml - ContextCapture formatı hava üçgenlemesi sonuçları (etkinleştirilmişse)

3. Günlük Dosyaları (log/)

  • log.txt - Detaylı işleme günlüğü

ROI Kullanım Açıklaması

Hava üçgenlemesi sonrasında oluşturulan roi.json üç tür ROI içerir:

{
"rois": [
{
"type": "Smart", // Seyrek noktalar temelinde akıllıca hesaplanmış
"roi": {
"boundary": [...], // 2D sınır köşeleri
"min_z": 100.0, // Minimum yükseklik
"max_z": 200.0 // Maksimum yükseklik
}
},
{
"type": "Maximal", // Görüntü konumları ve seyrek noktalara dayalı
"roi": {...}
},
{
"type": "Frustum", // Görüntü kesik piramitlerierine dayalı
"roi": {...}
}
]
}

En İyi Uygulamalar

1. Görüntü Hazırlığı

  • Görüntü EXIF'inin tam GPS bilgisi içerdiğinden emin olun
  • Önerilen görüntü örtüşmesi >%60
  • Bulanık veya aşırı pozlanmış görüntülerden kaçının

2. Parametre Optimizasyonu

  • Standart GPS: Varsayılan pos_sigma [2.0, 2.0, 3.0] kullanın
  • RTK/PPK: [0.05, 0.05, 0.10] gibi daha küçük pos_sigma ayarlayın
  • Hızlı Mod: GPS mevcut olduğunda fast_mode'u etkinleştirin

3. Çoklu Kamera İşleme

  • Farklı kameraları tanımlamak için group parametresini kullanın
  • Her kamera grubu için bağımsız camera_id kullanın
  • Kamera parametrelerinin doğru olduğundan emin olun

4. Büyük Veri Seti Optimizasyonu

  • İşlemi hızlandırmak için fast_mode'u etkinleştirin
  • Sonuçları temizlemek için remove_small_part kullanmayı düşünün
  • Makul bellek kullanım sınırları belirleyin

Sık Sorulan Sorular

S: Hava üçgenlemesi "yetersiz görüntü eşleştirmesi" ile başarısız oldu

C: Şunları kontrol edin:

  • Görüntü örtüşmesi yeterli mi (>%60)?
  • GPS bilgileri doğru mu?
  • Görüntü kalitesi iyi mi?

S: Hava üçgenlemesi doğruluğu nasıl artırılır?

C:

  • Yüksek hassasiyetli POS verileri (RTK/PPK) kullanın
  • Uygun pos_sigma değerleri ayarlayın
  • Kontrol noktaları eklemek için OptimizeAT kullanın

S: Çoklu kamera sistemleri nasıl kurulur?

C:

  • Her kamera için bağımsız camera_meta_data oluşturun
  • Farklı kameralardan görüntüleri ayırt etmek için group parametresini kullanın
  • Kamera iç parametrelerinin doğru olduğundan emin olun

Sonraki Adımlar

  • Hava üçgenlemesi sonuçlarını optimize etmek için OptimizeAT kullanın
  • 3D yeniden yapılandırma için Reconstruct3D kullanın
  • Tam iş akışını anlamak için Temel Kavramlar'ı kontrol edin

Not: ReconstructAT maksimum esneklik sağlar, ancak aynı zamanda daha fazla parametre ayarı gerektirir. Sadece hızlı yeniden yapılandırmaya ihtiyacınız varsa, ReconstructFull kullanmanızı öneririz.