Sử dụng thuật toán K-Means trong bài toán phân loại đám mây điểm LiDAR
Tóm tắt: Hiện nay, LiDAR (Light detecting and ranging) là một công nghệ viễn thám mới đang được ứng dụng khá rộng rãi trong nhiều ngành, nhiều lĩnh vực. Xử lý dữ liệu LiDAR là bài toán không dễ dàng, trong khi các phần mềm xử lý dữ liệu LiDAR thường là phần mềm đóng và có chi phí khá cao. Bài báo đề cập đến việc phân loại dữ liệu LiDAR sử dụng thuật toán K-Means, một bước tương đối quan trọng trong xử lý dữ liệu LiDAR, nhằm giúp phân chia các điểm về các lớp của nó, từ đó có thể ứng dụng vào các bài toán khác nhau trong thực tế
Bạn đang xem tài liệu "Sử dụng thuật toán K-Means trong bài toán phân loại đám mây điểm LiDAR", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Sử dụng thuật toán K-Means trong bài toán phân loại đám mây điểm LiDAR
116(5) 5.2017 Khoa học Tự nhiên Đặt vấn đề LiDAR là công nghệ viễn thám mới, chủ động, sử dụng các loại tia laser để khảo sát đối tượng từ xa. Dữ liệu thu được của hệ thống là tập hợp đám mây điểm phản xạ 3 chiều của tia laser từ đối tượng được khảo sát. Hiện nay, công nghệ LiDAR đang được ứng dụng rộng rãi trong việc khảo sát địa hình và lập bản đồ, đánh giá sản lượng gỗ trong lâm nghiệp, lập bản đồ ngập úng, địa hình đáy biển, các tuyến truyền tải, bản đồ giao thông, mạng điện thoại di động, mô phỏng mô hình đô thị... và có tiềm năng trong nhiều ứng dụng khác như mô phỏng tác động của bão, tạo mô hình 3 chiều thành phố ảo, mô phỏng thiệt hại của động đất, khai khoáng, môi trường Hệ thống LiDAR là một hệ thống tích hợp từ 3 thành phần chính: Hệ thống thiết bị laser, hệ thống định vị vệ tinh GNSS và hệ thống đạo hàng quán tính INS. Ở mỗi thời điểm phát xung laser, hệ thống định vị vệ tinh GNSS sẽ xác định vị trí không gian của điểm phát, và hệ thống đạo hàng quán tính sẽ xác định các góc định hướng trong không gian của tia quét. Một tín hiệu phát đi sẽ có một hay nhiều tín hiệu phản xạ. Kết quả cuối cùng sẽ có được đám mây điểm. Để sử dụng các đám mây điểm cho mục đích thành lập mô hình số độ cao (Digital elevation model - DEM), mô hình số địa hình (Digital terrain model - DTM) hay mô hình số bề mặt (Digital surface models - DSM), phải tiến hành phân loại điểm trong đám mây điểm đó. Hiện nay, có nhiều thuật toán lọc điểm được sử dụng; với từng thuật toán, các hãng cung cấp thiết bị đã xây dựng phần mềm kèm theo trong một chu trình sử dụng đã được bảo mật. Để có thể phát huy hiệu quả của công nghệ LiDAR trong công tác trắc địa - bản đồ, việc hiểu biết sâu sắc về công nghệ và phát triển được các thuật toán phân loại điểm dữ liệu LiDAR đóng vai trò quan trọng [1]. Trên thế giới, việc phân loại dữ liệu LiDAR để từ đó trích xuất ra được các đối tượng phục vụ trong công tác Sử dụng thuật toán K-means trong bài toán phân loại đám mây điểm LiDAR Nguyễn Thị Hữu Phương1*, Nguyễn Trường Xuân1, Đặng Văn Đức2 1Trường Đại học Mỏ - Địa chất 2Viện Công nghệ thông tin, Viện Hàn lâm Khoa học và Công nghệ Việt Nam Ngày nhận bài 7/3/2017; ngày chuyển phản biện 10/3/2017; ngày nhận phản biện 7/4/2017; ngày chấp nhận đăng 17/4/2017 Tóm tắt: Hiện nay, LiDAR (Light detecting and ranging) là một công nghệ viễn thám mới đang được ứng dụng khá rộng rãi trong nhiều ngành, nhiều lĩnh vực. Xử lý dữ liệu LiDAR là bài toán không dễ dàng, trong khi các phần mềm xử lý dữ liệu LiDAR thường là phần mềm đóng và có chi phí khá cao. Bài báo đề cập đến việc phân loại dữ liệu LiDAR sử dụng thuật toán K-means, một bước tương đối quan trọng trong xử lý dữ liệu LiDAR, nhằm giúp phân chia các điểm về các lớp của nó, từ đó có thể ứng dụng vào các bài toán khác nhau trong thực tế. Từ khóa: Đám mây điểm LiDAR, K-means, LiDAR, phân loại. Chỉ số phân loại: 1.2 *Tác giả liên hệ: nguyenphuong85.nb@gmail.com Using K-means algorithms for LiDAR point cloud classification Thi Huu Phuong Nguyen1*, Truong Xuan Nguyen1, Van Duc Dang2 1Hanoi University of Mining and Geology 2Institute of Information Technology, Vietnam Academy of Science and Technology Received 7 March 2017; accepted 17 April 2017 Abstract: Nowadays, LiDAR is a technology applied widely for many fields and sectors. LiDAR data processing is not an easy issue, while LiDAR data processing software is usually closed and quite expensive. This paper deals with the classification of LiDAR data using K-means, an important step in LiDAR data processing, to divide the points to its classes so that they can be applied to different problems. Keywords: Classification, K-means, LiDAR, LiDAR point cloud. Classification number: 1.2 216(5) 5.2017 Khoa học Tự nhiên xây dựng bản đồ và nhiều lĩnh vực khác của đời sống xã hội đã khá phổ biến. Trong các nghiên cứu [2-4] đã sử dụng các thuật toán phân loại để tiến hành phân loại đám mây điểm LiDAR, từ đó thành lập DTM, DSM, DEM và đã có những thành công nhất định. Tại Việt Nam, việc phân loại dữ liệu LiDAR chủ yếu được tiến hành thủ công, hầu như chưa có công trình nghiên cứu cụ thể nào đề cập đến bài toán phân loại đám mây điểm LiDAR. Nghiên cứu của Trần Đình Luật [5] đã có một số kết quả thực nghiệm ban đầu, với địa hình tại các khu vực đảo Hòn Dấu, khu vực Vũng Tàu, Cần Giờ và các khu vực cửa sông ở Đồng bằng sông Cửu Long, kết quả quét LiDAR và thành lập DEM là khả quan. Nghiên cứu của tác giả Lương Chính Kế [6] và Trần Đức Phú [7] đã đề cập đến việc sử dụng dữ liệu LiDAR để phục vụ cho nhiều lĩnh vực khác nhau. Tuy nhiên, những nghiên cứu này chỉ sử dụng dữ liệu LiDAR sau khi đã được phân loại, sử dụng mô hình DEM có sẵn. Chúng tôi đã tiến hành nghiên cứu sử dụng thuật toán K-means trong bài toán phân loại đám mây điểm LiDAR nhằm tìm ra phương pháp phát huy hiệu quả của công nghệ LiDAR trong công tác trắc địa - bản đồ. Nội dung nghiên cứu Bài toán phân loại dữ liệu Phân loại dữ liệu là quá trình tổ chức dữ liệu theo thể loại có liên quan để có thể sử dụng và bảo vệ dữ liệu hiệu quả hơn. Phân loại dữ liệu đặc biệt quan trọng khi nói đến quản lý rủi ro, tuân thủ và bảo mật dữ liệu [8]. Hướng tiếp cận này thường sử dụng một số kỹ thuật của học máy như cây quyết định, mạng nơ ron nhân tạo, học sâu... Quá trình phân loại dựa trên 5 thành phần cơ bản: - Bản ghi (Record). - Lớp (Class). - Dự đoán (Predictors). - Tập dữ liệu huấn luyện (Training dataset). - Tập dữ liệu kiểm tra (Testing dataset). Đặc trưng của tiến trình phân loại gồm những điểm sau: - Đầu vào: Tập dữ liệu đào tạo chứa những đối tượng với thuộc tính của nó, với một số thuộc tính đã được gán nhãn. - Đầu ra: Mô hình phân lớp (Classifier) được gán bởi những nhãn cụ thể cho mỗi đối tượng (phân lớp các đối tượng theo từng thư mục), dựa trên những thuộc tính của mỗi đối tượng. - Mô hình sử dụng để dự đoán những lớp mới, những đối tượng chưa biết. Tập dữ liệu kiểm thử cũng dùng để xác định độ chính xác của mô hình. K-means trong bài toán phân loại Thuật toán K-means là tìm phương pháp phân nhóm các đối tượng (Objects) đã cho vào K cụm (K là số cụm được xác định trước, K > 0) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm nhóm là nhỏ nhất. Thuật toán K-means được mô tả trên hình 1 và 2. Hình 1. Mô tả thuật toán K-means. Hình 2. Ví dụ thuật toán K-means. Thuật toán K-means trong bài toán phân loại dữ liệu Trong bài toán phân loại dữ liệu, thuật toán K-means được triển khai theo các bước sau [9-11]: Bước 1: Chọn K cụm trọng tâm khởi tạo, z 1, z 2 , z 3 , , z n. 316(5) 5.2017 Khoa học Tự nhiên Bước 2: Phân phối mẫu trong K-means. Mẫu thường được gán với cụm trung tâm gần nhất theo công thức: x ∈ Si(n) nếu |x – zi(n)| ≤ |x – zj(n)| với j = 1, 2, 3, , k; i ≠ j; Si(n) là bộ mẫu của trọng tâm zi(n), trong đó n là chỉ số bước lặp của bài toán. Bước 3: Tính toán trọng tâm cụm mới từ mỗi cụm Si(n). Tìm giá trị mới cho mỗi zi. Trọng tâm cụm mới, zi(n+1) sẽ là giá trị trung bình của các điểm trong Si(n) như: zi(n+1) = (1/ci) ∑x∈ Si(n) x Trong đó, ci là tập điểm thuộc về cụm thứ i. Bước 4: So sánh zi(n) và zi(n+1) với mọi i. Tính toán khoảng cách giữa mỗi cặp điểm trong mỗi lần lặp liên tiếp: a. Nếu không có sự thay đổi đáng kể, kết thúc phương pháp, một vài tiêu chí cho kết thúc như: + Nếu |zi(n+1) – zi(n)| < T với mọi i + Nếu ∑ | ( + 1) ( ) | < với mọi i – b. Nếu không thì tiếp tục lặp các lần lặp tiếp theo từ bước 2. K-means trong phân loại đám mây điểm LiDAR Đặc điểm đám mây điểm LiDAR: Kết quả thu được sau khi xử lý dữ liệu không gian LiDAR gọi là đám mây điểm. Đám mây điểm đầu tiên là tập hợp các điểm độ cao, với tọa độ x, y cùng với bổ sung các thuộc tính như thời gian GPS. Các đặc trưng bề mặt được tia laser thu nhận được sau quá trình xử lý, ví dụ độ cao mặt đất, tòa nhà, tán cây, cầu vượt, và các đối tượng khác trong suốt quá trình quét được tín hiệu laser thu nhận được tạo thành đám mây điểm [1]. Một số thông số đặc trưng của đám mây điểm LIDAR: - Tọa độ X, Y và độ cao Z: Được thu nhận dựa theo hệ thống định vị GPS, độ cao máy bay, thời gian di chuyển và phản xạ trở lại của tia laser - Số lần phản xạ (Return): Các chùm tia laser sau khi chạm vào các đối tượng như tòa nhà, mặt đất, cột điện thì phản xạ (Return) ngược trở lại và được bộ thu nhận tín hiệu laser thu lại. - Cường độ xung phản xạ (Intensity): Khi tia laser phản xạ trở lại sẽ mang theo năng lượng với một cường độ nhất định. Thông thường, cường độ xung phản xạ lớn khi tia laser tiếp xúc với mặt đất. Ngoài ra còn có các thuộc tính của đám mây điểm LIDAR như: Số phản hồi, góc máy bay, thời gian GPS góc quét, hướng quét... Phân loại đám mây điểm LiDAR sử dụng K-means: Mỗi điểm LiDAR trong quá trình phân loại được gán vào một lớp được định nghĩa trong quá trình phân loại. Các điểm này có thể được phân vào một số lớp như: Đất trống, đường giao thông, mặt nước, rừng cây... Thông thường, các mã phân loại đại diện cho kiểu đối tượng được thu nhận trong tín hiệu phản hồi. Phân loại đám mây điểm là bước quan trọng trong quá trình trích xuất thông tin của các lớp như tòa nhà, thực vật, giao thông và mặt nước. Thuật toán phân loại sử dụng K-means sẽ lựa chọn các điểm mẫu trong mẫu ngẫu nhiên từ toàn bộ đám mây điểm. Phương pháp phân loại được thể hiện qua sơ đồ hình 3. Hình 3. Quy trình phân loại đám mây điểm LiDAR sử dụng K-means. Sử dụng thuật toán K-means trong phân loại đám mây điểm LiDAR được thực hiện như sau: Để thử nghiệm thuật toán K-means trong phân loại đám mây điểm, chúng tôi đã tiến hành thực nghiệm với bộ dữ liệu được đo tại thành phố Vinh, tỉnh Nghệ An với Input: Dữ liệu LiDAR Output: Bộ dữ liệu sau phân loại Procedure 1. Initial: Chọn số cụm được khởi tạo, số lớp cần phân loại n If (k > n), thuật toán kết thúc Else If (k ≤ n), thì chọn k ngẫu nhiên, tính toán trọng tâm của các cụm vừa tạo 2. While(1) Tính toán khoảng cách của các điểm đến trọng tâm của cụm d0(xi,k) Tìm các nhóm điểm thỏa mãn d i = d min (x i ,k), G If (d i+1 ≠ d i ) Cập nhật các cụm mới Tính toán lại trong tâm của các cụm mới Else If (k = n) hoặc d i+1 = d i Kết thúc lặp 3. Với k thu được sau quá trình lặp, gán tên thuộc tính với k i 4. Kết thúc thuật toán 416(5) 5.2017 Khoa học Tự nhiên số điểm demo là 538 điểm, mỗi điểm gồm giá trị (x, y, z), trong đó giá trị z được lấy là thuộc tính để tiến hành phân loại. Với số cụm được lựa chọn ngẫu nhiên, qua mỗi lần thử nghiệm kết quả cho được là khác nhau. Đầu tiên, với k = 2, qua 2 lần lặp sẽ phân chia được hai cụm với kết quả như hình 4. Khi số cụm được khởi tạo với giá trị k = 10, kết quả được thể hiện trong hình 5, 6 và 7. Hình 5. Tâm của các cụm khởi tạo. Hình 6. Sự thay đổi của tâm cụm khi phân loại. Hình 7. Các điểm trong các nhóm sau phân loại với k = 10. Khi số cụm khởi tạo được tăng lên là 20, số lần lặp là 6, trọng tâm của các cụm mới được tạo và số điểm được gán vào các cụm cũng thay đổi, kết quả được thể hiện trong hình 8. Hình 8. Số điểm được gán vào cụm khi số cụm khởi tạo thay đổi. Và khi k tăng lên là 30 thì kết quả của thuật toán với số cụm được tính toán lại trọng tâm được thể hiện trong hình 9. Hình 9. Kết quả phân cụm với k = 30. Qua 4 thử nghiệm với lựa chọn số cụm khởi tạo khác nhau, có thể thấy thuật toán K-means hoạt động khá ổn Cụm khởi tạo Kết quả phân cụm Hình 4. Phân lớp với số cụm khởi tạo k = 2. 516(5) 5.2017 Khoa học Tự nhiên định khi giá trị missing của thuật toán không thay đổi khi k tăng dần. Do đó, kết quả phân loại là đáng tin cậy và có thể ứng dụng trong bài toán phân loại đám mây điểm LiDAR. Kết luận Thuật toán K-means là thuật toán điển hình trong bài toán phân cụm dữ liệu, là giải thuật dễ hiểu và dễ cài đặt. Với dữ liệu thử nghiệm, khi số cụm tăng dần, giá trị missing của thuật toán không thay đổi, vì thế thuật toán K-means hoàn toàn phù hợp với bài toán phân loại dữ liệu đám mây điểm LiDAR. Tuy nhiên, thử nghiệm mới chỉ sử dụng một thuộc tính (độ cao của dữ liệu điểm) trong phân cụm, việc giải quyết bài toán có nhiều thuộc tính sẽ là hướng phát triển tiếp theo của nghiên cứu này. TÀI LIỆU THAM KHẢO [1] Trần Đình Trí (2013), Công nghệ LiDAR, Đại học Mỏ - Địa chất. [2] D. Albashish (2011), “Detection and classification of leaf diseases using K-means-based segmentation and Neural Network-based classification”, Information Technology Journal, 10, pp.267-275. [3] Balasubramanian (2012), “Image classification through intergrated K-means algorithms”, International Journal of Computer Science Issues, 9(2), pp.518-524. [4] Kun Zhang, Weihong Bi, Xiaoming Zhang, Xinghu Fu (2015), “A new K-means clustering algorithm for point cloud”, International Journal of Hybrid Information Technology, 8, pp.157-170. [5] Trần Đình Luật (2015), “Khả năng ứng dụng công nghệ LiDAR xây dựng mô hình số địa hình vùng bãi bồi cửa sông ven biển trong điều kiện Việt Nam”, Tạp chí Tài nguyên và Môi trường, 5, tr.830-833. [6] Lương Chính Kế (2010), Thành lập DEM/DTM bằng công nghệ, Viện Đo ảnh và bản đồ, Đại học Bách khoa Vacsava. [7] Trần Đức Phú (2010), Ứng dụng công nghệ LiDAR trong mô hình hóa lũ, Trường Đại học Hàng hải. [8] K. Kosi (2012), “Methods of data center classification”, Acta Polytechnica Hungarica, 9(5), pp.127-137. [9] CEE6150 (2015), Unsupervised Classification (Cluster analysis), US: s.n. [10] E. Sigova (2015), A semi supervised approach to dialogue act classification using K-means +HMM, KTH of Computer Science and communication. [11] Balasubramanian (2012), “Image classification through intergrated K-means algorithms”, International Journal of Computer Science Issues, 9(2), pp.518-524.
File đính kèm:
- su_dung_thuat_toan_k_means_trong_bai_toan_phan_loai_dam_may.pdf