Môi trường và các công cụ để xây dựng chương trình
Chương trình được xây dựng trên ngôn ngữ C# của bộ Visual Studio 2015 và được tích hợp với công cụ LASTools.
C# là một ngôn ngữ lập trình hướng đối tượng do Microsoft phát triển, đánh dấu sự khởi đầu cho kế hoạch NET của công ty Tên gọi C# bao gồm ký tự thăng theo Microsoft, nhưng theo tiêu chuẩn ECMA, ngôn ngữ này được gọi là C# C# được xây dựng dựa trên nền tảng của C++ và Java, mang đến khả năng lập trình mạnh mẽ và linh hoạt.
LASTools là bộ công cụ dòng lệnh mạnh mẽ dùng để phân loại, xếp, chuyển đổi và xử lý dữ liệu LiDAR, bao gồm các chức năng như lọc, raster, tam giác, đường viền, clip và đa giác Tất cả các công cụ trong LASTools đều có thể hoạt động qua giao diện người dùng (GUI) và được cung cấp dưới dạng hộp công cụ xử lý LiDAR cho các phiên bản ArcGIS 9.3, 10.0 và 10.1 của ESRI.
Quản lý dự án đầy đủ bao gồm các công cụ:
-Mã hóa dữ liệu địa lý và chuyển đổi
-Lọc và phân loại nâng cao
-Phát hiện đột phá và tính năng
-Nhiều định dạng đầu vào và đầu ra (bao gồm cả định dạng LAS)
-Thế hệ chỉnh hình thực sự
-Tích hợp đầy đủ dữ liệu Dạng sóng của Lidar
-Và trình xem và trình chỉnh sửa rất linh hoạt để hiển thị và thao tác dữ liệu hình ảnh và dữ liệu hình ảnh.
LasTools cung cấp các công cụ cần thiết để tạo DSM và DTM từ dữ liệu khai thác thô hoặc đã được xử lý, với tính năng quản lý dữ liệu dự án thông minh Phần mềm cho phép nhập và mã hóa địa lý dữ liệu hình ảnh và dữ liệu thô, hiệu chuẩn hệ thống, cũng như lọc và phân loại dữ liệu LiDAR Nó giúp tạo mô hình độ cao và xuất kết quả theo nhiều định dạng phổ biến Giao diện người dùng đồ họa trực quan và quy trình làm việc hợp lý giúp việc tạo mô hình trở nên nhanh chóng và hiệu quả Ngoài ra, LasTools còn hỗ trợ xử lý dữ liệu khai thác tiên tiến như dạng sóng tín hiệu trở lại và màu sắc bề mặt thật, cùng với khả năng tích hợp nhanh chóng dữ liệu LiDAR và ảnh kỹ thuật số vào ảnh ortho.
LASTool có các công cụ sau:
-API để đọc/ghi file LAS
-las2txt và txt2las
Hình 28: Giao diện GUI của lastool
Hình 29: Công cụ của lastool trong ARCGIS
Kết quả thử nghiệm
Phân loại với K-means
Đám mây được phân cụm bằng phương pháp K-means với số cụm là 2 (K=2) và tối đa 10 lần lặp Thuộc tính sử dụng để phân cụm là độ cao Z của từng điểm.
Tâm cụm khởi tạo và sự thay đổi tâm cụm trong các lần lặp được thể hiện trong hình 30, 31.
Hình 30: Tâm cụm mới khởi tạo
Hình 31: Sự thay đổi của tâm cụm qua các lần lặp
Thuật toán đạt điểm hội tụ bằng 0 sau 8 lần lặp Tâm cụm ở lần lặp cuối được hiển thị trong hình 32, trong khi sự phân bố số điểm trong mỗi cụm được thể hiện trong hình 33, với tổng số điểm lỗi là 0.
Hình 32: Tâm cụm sau lần lặp thứ 8
Hình 33: Số điểm của mỗi cụm
Kết quả phân cụm đã được sử dụng để xây dựng mô hình DEM/DSM với độ phân giải 1m Mô hình DEM được minh họa trong hình 34, trong khi mô hình DSM được trình bày trong hình 35.
Hình 34: Mô hình DEM với độ phân giải là 1m
Hình 35: Mô hình DSM với độ phân giải là 1m
Hình 36: Mô hình 3D của đám mây điểm khu vực bay quét
Phân loại với PointNet
Sử dụng PointNet để phân loại đám mây điểm, chúng tôi thực hiện trích chọn đặc trưng cho hai lớp điểm: Ground và Non-ground Số điểm huấn luyện và kiểm tra được chọn theo tỷ lệ 2/3 cho huấn luyện và 1/3 cho kiểm tra.
Dữ liệu xác thực là cần thiết để đánh giá khách quan mô hình trong quá trình đào tạo và giúp ngăn chặn tình trạng quá mức, khi mô hình chỉ hoạt động tốt trên dữ liệu đào tạo Dữ liệu xác thực cần tương tự như dữ liệu đào tạo, bao gồm các lĩnh vực đại diện và sử dụng cùng một sơ đồ phân loại, nhưng đến từ các nguồn khác nhau Có thể sử dụng các tập hợp con khác nhau từ cùng một dữ liệu dự án đã dùng để đào tạo Thông thường, cần nhiều dữ liệu đào tạo hơn dữ liệu xác thực, và không có quy tắc cố định nào, nhưng thường thì dữ liệu đào tạo được sử dụng nhiều hơn gấp nhiều lần so với dữ liệu xác thực.
Dữ liệu xác thực và huấn luyện kích thước khối được chia thành các khối nhỏ quản lý dễ dàng, với mục tiêu chứa một số điểm hợp lý so với bộ nhớ GPU khả dụng Tham số huấn luyện gọi là kích thước lô xác định số lượng khối được xử lý tại một thời điểm, trong đó khối bao gồm tập hợp các điểm và thuộc tính của chúng Số lượng điểm trong một khối phụ thuộc vào kích thước khối và mật độ điểm tại vị trí đó Nếu mật độ của đám mây điểm nhất quán, các khối sẽ chứa số điểm tương đối ổn định Tuy nhiên, với bộ dữ liệu có mật độ điểm thay đổi lớn, việc đào tạo có thể cần nhiều thời gian hơn để đạt hiệu quả tốt Để ước tính kích thước khối, cần tính block_size = square_root(target_point_count) * 2d_point_spacing.
Cài đặt điểm tối thiểu cho mỗi khối trên công cụ huấn luyện giúp loại bỏ các khối không đạt yêu cầu điểm số Thông thường, các khối ở rìa dự án thường có số điểm thấp Hơn nữa, trong quá trình tạo dữ liệu huấn luyện, có thể đã đạt giới hạn điểm cho một số khối khác.
Các khối tiếp theo được thực hiện nhằm duy trì các điểm tràn Trong cả hai trường hợp, những khối có ít điểm không đặc biệt hữu ích, vì vậy nên tránh đưa chúng vào quá trình huấn luyện.
Sau quá trình huấn luyện, độ chính xác của mô hình được đánh giá với độ chính xác acc = 0.768.
Các lớp được phân loại với PointNet được thể hiện trong bảng 2: Điểm
Bảng 2: Sự phân bố của các điểm sau khi phân loại với PointNet
Bảng 3: Sự tương quan của các điểm trong hai lớp điểm Ground và Non-Ground
Hình 37: Biểu đồ Histogram về sự phân bố của hai lớp điểm
Biểu đồ tương quan cho thấy sự tương quan cao giữa hai lớp, đảm bảo độ chính xác trong việc đánh giá kết quả phân loại Quá trình hình thành DEM/DSM từ đám mây điểm sau phân lớp được thực hiện như minh họa trong hình 38 và 39.
Hình 38: Mô hình DSM với độ phân giải là 1m
Hình 39: Mô hình DEM độ phân giải 1m
Hình 40: Mô hình 3D đám mây điểm khu vực bay quét
So sánh kết quả phân lớp với K-means và PointNet
Kết quả phân lớp với hai thuật toán được sử dụng các độ đo Precision, Recall và F1 để đánh giá độ chính xác được thể hiện trong bảng 4:
Bảng 4: Bảng kết quả đánh giá trên độ đo
Kết quả đánh giá cho thấy việc chọn mô hình phù hợp và thực hiện huấn luyện chính xác giúp PointNet đạt được độ chính xác phân loại cao hơn so với K-means.
Với mô hình trong PointNet, vấn đề về tiền xử lý dữ liệu và trích chọn đặc trưng sẽ quyết định nhiều đến độ chính xác của mô hình.
K-means là thuật toán phân cụm dựa trên khoảng cách giữa các điểm, trong đó việc chọn tâm cụm và số lần lặp sẽ ảnh hưởng đến số lượng điểm được phân vào mỗi cụm Tuy nhiên, độ chính xác của K-means có thể giảm do sự hiện diện của các điểm nhiễu và điểm lỗi.