Sử dụng thuật toán K-Means trong bài toán phân loại đám mây điểm LiDAR

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ế.

pdf 5 trang phuongnguyen 19980
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

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:

  • pdfsu_dung_thuat_toan_k_means_trong_bai_toan_phan_loai_dam_may.pdf