Nhìn chung, các phương pháp BAP thay thế các điểm ảnh bị mây che phủ với các điểm ảnh chất lượng tốt nhất từ một tập các ứng viên dựa trên các quy tắc cơ bản. Theo một hướng khác, Griffiths và các đồng sự đã đề xuất một phương pháp BAP xếp hạng điểm ảnh ứng viên bởi tập chỉ số như là khoảng cách tới mây và bóng mây, năm và ngày trong năm (DOY) [10]. Phương pháp này được cải thiện bằng việc kết hợp thêm các chỉ số mới về độ mờ trong khí quyển và loại cảm biến. Năm 2018, nhóm tác giả Mẫn Đức Chức, Nguyễn Thanh Thủy, Bùi Quang Hưng, Kristofer Lasko và Nguyễn Thị Nhật Thanh đã thực hiện một cải tiến mới trong việc kết hợp ảnh. Để lựa chọn được điểm ảnh tốt nhất, nhóm tác giả xây dựng bộ chỉ số Year, DOY, Opacity, DistanceToCloud/CloudShadow [3].
Bảng 2. 1 Đặc trưng các phương pháp kết hợp ảnh ST ST T Tác giả Ảnh vệ tinh Phương pháp 1 Hansen, 2008 [12] Landsat 5, 7
𝑃𝑖𝑥𝑒𝑙𝑠𝑒𝑙𝑒𝑐𝑡𝑒𝑑 = min�𝑃𝑐𝑙𝑜𝑢𝑑1𝑠𝑡𝑐𝑎𝑛𝑑𝑖𝑑𝑎𝑡𝑒&𝑠ℎ𝑎𝑑𝑜𝑤, … ,𝑃𝑐𝑙𝑜𝑢𝑑𝑛𝑡ℎ𝑐𝑎𝑛𝑑𝑖𝑑𝑎𝑡𝑒&𝑠ℎ𝑎𝑑𝑜𝑤�
Trong đó:
𝑃𝑖𝑥𝑒𝑙𝑠𝑒𝑙𝑒𝑐𝑡𝑒𝑑: Điểm ảnh được lựa chọn cho việc kết hợp
𝑃𝑐𝑙𝑜𝑢𝑑𝑛𝑡ℎ𝑐𝑎𝑛𝑑𝑖𝑑𝑎𝑡𝑒&𝑠ℎ𝑎𝑑𝑜𝑤: xác suất bị ảnh hưởng bởi mây/bóng mây của cùng điểm ảnh trong n ảnh ứng viên
Nếu 2 hoặc nhiều hơn các điểm ảnh ứng viên có cùng
Pcloud&shadow, thì chọn điểm ảnh gần nhất so với giá trị tham
chiếu rừng (100) 2 White, 2014 [10] Landsat 5, 7 𝑃𝑖𝑥𝑒𝑙𝑠𝑒𝑙𝑒𝑐𝑡𝑒𝑑 = max{𝑠𝑢𝑚 𝑜𝑓 𝑠𝑐𝑜𝑟𝑒𝑠 �𝑜𝑝𝑎𝑐𝑖𝑡𝑦 𝑑𝑜𝑦,,𝑐𝑙𝑜𝑢𝑑𝑠ℎ𝑎𝑑𝑜𝑤,𝑠𝑒𝑛𝑠𝑜𝑟 �1𝑠𝑡𝑐𝑎𝑛𝑑𝑖𝑑𝑎𝑡𝑒, . . } 3 Mẫn Đức Chức, 2018 [3] Landsat 8 𝑃𝑖𝑥𝑒𝑙𝑠𝑒𝑙𝑒𝑐𝑡𝑒𝑑 = max{𝑠𝑢𝑚 𝑜𝑓 𝑠𝑐𝑜𝑟𝑒𝑠 �𝑦𝑒𝑎𝑟𝑐𝑙𝑜𝑢𝑑𝑠ℎ𝑎𝑑𝑜𝑤 �,𝑑𝑜𝑦,𝑜𝑝𝑎𝑐𝑖𝑡𝑦, 1𝑠𝑡𝑐𝑎𝑛𝑑𝑖𝑑𝑎𝑡𝑒, . . }
3. Các phương pháp học máy nền tảng trong nghiên cứu phân lớp phủ
Về cơ bản nhất, phân lớp phủ là một loại phân lớp dữ liệu ảnh. Có nhiều phương pháp từ các ngưỡng cơ bản đến tiên tiến hơn chẳng hạn như: khoảng cách tối đa (Maximum Likelihood), hồi quy logistic (logistic regression), cây quyết định, Random Forest, Neural Network, Support Vector Machine (SVM), chi tiết như mô tả dưới đây:
3.1 Support Vector Machine
Support Vector Machines (SVM) là một nhóm của các phương pháp học có giám sát, được giới thiệu ở [12]. Các SVM tìm ra ranh giới quyết định mang lại sự khái quát tốt nhất - còn được gọi là siêu mặt phẳng tách biệt tối ưu trong không gian đa chiều.
Giả sử dữ liệu huấn luyện được đại diện bởi {xi, yi}, i = 1, ..., k, trong đó x ∈
Rn là một vectơ không gian n chiều và y ∈ {1, -1} là nhãn của lớp. Tập dữ liệu huấn luyện này có thể được phân tách bằng một siêu mặt phẳng nếu tồn tại một vectơ w = (w1, ..., wk) và một vô hướng b thỏa mãn bất đẳng thức sau:
𝑦𝑖 (w𝑥𝑖 + b) -1 + 𝜉𝑖 ≥ 0 ∀y = {+1, -1} (5)
1
2�|𝑤|�2+𝐶 ∑𝑖=1𝑘𝜉𝑖
(6)
Trong đó 𝜉𝑖 là biến yếu cho biết khoảng cách của mẫu dữ liệu từ siêu mặt phẳng tối ưu. Hàm mục tiêu có thể được viết như sau:
C là hằng số được sử dụng để kiểm soát mức độ phạt liên quan đến các mẫu huấn luyện xảy ra ở phía sai của siêu mặt phẳng tách tối ưu. C nên được xem xét chặt chẽ cho từng nhiệm vụ phân loại cá nhân. Siêu mặt phẳng tối ưu có thể được xác định bằng cách giảm thiểu hàm mục tiêu trong biểu thức. (2) theo các ràng buộc trong biểu thức. (1). Điều này có thể được thực hiện bằng cách sử dụng các số nhân Lagrange và phương pháp lập trình bậc hai.
Cách tiếp cận cơ bản để phân loại SVM có thể được mở rộng để cho phép các ranh giới quyết định phi tuyến bằng cách ánh xạ dữ liệu đầu vào vào không gian chiều cao hơn để trong không gian mới, dữ liệu có thể được phân tách tuyến tính. Để làm điều này, một hàm kernel được giới thiệu: K (𝑥𝑖,𝑥𝑗) = (φ(𝑥𝑖), φ(𝑥𝑗)), trong đó một mẫu dữ liệu đầu vào x có thể được biểu diễn là (x) trong không gian H. Hạt
chính xác biểu diễn của các mẫu dữ liệu 𝑥𝑖và 𝑥𝑗 trong không gian cao hơn. Tồn tại một số loại hàm bao gồm hạt nhân dựa trên đa thức và cơ sở xuyên tâm (RBF), v.v.
Do SVM được phát triển như một trình phân loại nhị phân, nên cần điều chỉnh phương thức này với các vấn đề phân loại đa lớp. Có hai cách tiếp cận phổ biến để giải quyết vấn đề. Phương pháp thứ nhất được gọi là phương pháp một đối một và phương pháp thứ hai là phương pháp một đối nhiều[3].
3.2 Artificial Neural Network
Artificial Neural Networks (ANNs) là một nhóm mô hình học thống kê được lấy cảm hứng từ mạng lưới thần kinh sinh học trong mô phỏng não người [13]. ANNs bao gồm một nhóm các nút thần kinh được kết nối với nhau tương ứng như các tế bào thần kinh của bộ não con người. Mô hình được sử dụng rộng rãi và giải thích đơn giản nhất là mô hình tri giác đa lớp multilayer perceptron (MLP), một mạng lưới thần kinh chuyển tiếp thức ăn. Hình 2.1 giới thiệu mô hình tri giác 3 lớp với 3 đầu vào, 2 đầu ra và một lớp ẩn với 5 nơron.
Mỗi neuron là các liên kết đầu vào khác nhau, ở mỗi thành phần neuron, các đầu vào được tổng hợp với các trọng số nhất định, thêm phần sai số. Gía trị tổng sau đó được biến đổi sử dụng một hàm hoạt động f để có các khác biệt cho các neuron khác nhau. Hay nói cách khác, đưa ra các đầu vào 𝑥𝑗 của phân lớp, đầu ra 𝑦𝑗 của lớp n+1 được tính toán như sau:
𝑧𝑖 =∑ (𝑤𝑖,𝑗𝑛+1∗ 𝑥𝑗) +𝑤𝑖,𝑏𝑖𝑎𝑠𝑛+1
𝑗 (7)
𝑦𝑗 =𝑓(𝑧)
Đây là những hàm hoạt động khác nhau, một số hàm tiêu chuẩn như sau: Hàm xác định: 𝑓(𝑥) =𝑥 (8) Hàm đơn vị điều chỉnh tuyến tính Rectified linear unit (ReLU):
𝑓(𝑥) = �0,𝑥,𝑓𝑓ℎ𝑜ặ𝑐ℎ𝑜ặ𝑐𝑥 ≥𝑥 < 00 (9) Hàm Sigmoid: 𝑓(𝑥) = 1+𝑒1−𝑥 (10) Hàm Tanh: 𝑓(𝑥) = 1+𝑒2−2𝑥−1 (11) Có rất nhiều nghiên cứu sử dụng ANNs để phân loại lớp phủ và nhiều mô hình được đưa ra có độ chính xác cao hơn các phương pháp phân lớp truyền thống [3].
3.3 eXtreme Gradient Boosting
Gần đây, Chen và Guestrin, đã công bố một bản nâng cấp của GBM, được gọi là eXtreme Gradient Boosting (XGBoost) [3]. Từ sau đó, nó đã tạo nên ảnh hưởng lớn trong cộng đồng học máy, trở thành giải pháp chiến thắng trong nhiều cuộc thi Học máy. Một số nghiên cứu trong các lĩnh vực khoa học khác đã chứng minh hiệu suất vượt trội của nó so với các thuật toán phổ biến.
Trong Gradient Boosting, các cây được xây dựng liên tiếp nhau và mỗi mô hình mới sử dụng thuật toán Gradient Descent. Mô hình cuối cùng là kết quả của sự tăng thêm của nhiều hàm khác nhau từ khi bắt đầu. Trong XGBoost, các cây có thể được xây dựng song song. Nó cũng có mô hình bên trong để xử lý dữ liệu đầu vào thưa. Do đó nó có thể làm việc tốt trong nhiều trường hợp mà dữ liệu ảnh bị thiếu do mây. Nguyên lý chính khác biệt giữa các phương pháp tăng cường và các
phương pháp thông thường khác đó là sự tối ưu hóa được tổ chức dựa trên các hàm của các phương thức cũ [15][16].
Mô hình XGBoost có thể được viết như sau:
yi’ = Φ(xi)∑𝐾 𝑓𝑘�𝑥𝑗�
𝑘=1 , 𝑓𝑘 ∈ 𝐹
(12)
Trong đó: F là không gian hàm của các quá trình học cơ bản, xi là một vector đầu vào mảng n chiều, yi’ là hàm dự đoán. Để xây dựng một tập các hàm sử dụng mô hình, hàm mục tiêu (objective function) như sau được sử dụng[3]:
𝐿(𝛷) = ∑ 𝑙𝑖 (𝑦′𝑖,𝑦𝑖)+∑ Ω𝑘 (𝑓𝑘) Ω(𝑓) = 𝛾𝑇+ 12𝜆||𝑤||2 trong đó: T số lượng các lá, w là các trọng số lá (13) Tuy nhiên, hàm mục tiêu coi các hàm là tham số của nó do đó không thể huấn luyện với các phương pháp tryền thống trong không gian Euclide. Do đó, nó được huấn luyện theo một phương pháp mới, nó đưa vào những gì đã học và thêm một cây mới tại một thời điểm. Hơn thế nữa, các hàm mất mát (loss function) khác có thể được sử dụng trong XGBoost, chẳng hạn như: Gaussian L2, Laplace L1, Binomial, Adaboost, Huber… hoặc bất kỳ hàm nào khác được tinh chỉnh bởi người dùng. Các quá trình học có thể được chỉ định dựa vào mục đích.
4. Các chỉ số đánh giá
Để đánh giá độ chính xác của quá trình phân lớp, thì Confusion Matrix, Precision (độ chính xác), Recall (độ hồi tưởng) và chỉ số F1 được dùng ở các lớp cụ thể, hệ số Kappa và Độ chính xác tổng thể (Overall Accuracy - OA) được sử dụng cho tính toán ở mức phân lớp chung.
Confusion Matrix: là một cách tính độ chính xác dựa trên một ma trận, trong ma trận đó ta có thể biết được mỗi lớp được phân loại thế nào, lớp nào được phân loại đúng nhiều nhất và dữ liệu thuộc lớp nào thường bị phân loại nhầm vào lớp khác. Ma trận này sẽ thể hiện có bao nhiêu điểm ảnh đúng là thuộc vào một lớp và được dự đoán vào một lớp.[17]
Dự đoán lớp 0 Dự đoán lớp 1 Đúng là lớp 0 2 1 Đúng là lớp 1 1 2 Đúng là lớp 2 0 1 Tổng số 3 4 Hình 2.2 Ví dụ về Confusion Matrix
Trong ví dụ trên, tổng cộng có 7 điểm ảnh, cột biểu thị cho Dự đoán lớp và hàng biểu thị cho sự đánh giá đã phân lớp đúng lớp hay chưa.
- Xét lớp 0, có 3 điểm ảnh được phân loại vào lớp 0 nhưng chỉ chỉ có 2 điểm ảnh được phân lớp đúng, 1 điểm ảnh của lớp 1 nhưng được phân loại vào lớp 0.
- Xét lớp 1, có 4 điểm ảnh được phân loại là lớp 1 nhưng chỉ có 2 điểm ảnh được phân lớp đúng, 1 điểm ảnh thuộc lớp 0 và 1 điểm ảnh thuộc lớp 2 nhưng được phân loại vào lớp 1.
Chỉ số Precision và Recall
Precision (độ chính xác) được định nghĩa là tỉ lệ số điểm được phân vào đúng lớp trong số những điểm được phân loại vào lớp đó.
Recall (độ hồi tưởng) được định nghĩa là tỉ lệ số điểm được phân lớp đúng và những điểm thực sự thuộc đúng lớp đó.
Từ đó, ta có công thức:
Precision=TP+FPTP (14) Recall =TP+FNTP (15) Trong đó:
- TP là số phần tử được phân loại đúng vào lớp P.
- TN là số phần tử không thuộc lớp P nhưng được phân loại sai vào lớp P. - FN là số phần từ thuộc lớp P nhưng không được phân loại chính xác. - FP là số phần tử không thuộc lớp P nhưng được phân loại sai vào lớp P.
Precision cao đồng nghĩa với việc độ chính xác của các điểm tìm được là cao. Recall cao đồng nghĩa với việc tỉ lệ các điểm đúng thuộc lớp P cao, tức tỉ lệ bỏ sót các điểm thực sự thuộc lớp P là thấp.
Chỉ số F1
Chỉ số F1 là chỉ số mang tính chất điều hòa hai chỉ số là độ hồi tưởng Recall và độ chính xác Precision. Công thức tính chỉ số này là:
F1 = 2∗Precision∗RecallPrecision+Recall (16) F1 score có giá trị nằm trong nửa khoảng (0,1]. F1 càng cao, bộ phân lớp càng tốt. Khi cả recall và precision đều bằng 1 (tốt nhất có thể), F1=1. Khi cả recall và precision đều thấp, ví dụ bằng 0.1, F1=0.1.
Độ chính xác tổng thể(OA) được tính toán dựa trên số điểm ảnh được nhận dạng đúng lớp trên tổng số điểm ảnh được kiểm tra:
OA =𝑁𝐶𝑜𝑟𝑟𝑒𝑐𝑡
𝑁𝑇𝑜𝑡𝑎𝑙 (18)
Trong đó:
- Ncorrect: Số lượng các điểm được phân lớp chính xác.
CHƯƠNG 3. MÔ HÌNH THỰC NGHIỆM ĐÁNH GIÁ HIỆU QUẢ THỰC NGHIỆM PHÂN LOẠI LỚP PHỦ CHO THỦ ĐÔ HÀ NỘI – VIỆT
NAM SỬ DỤNG ẢNH VỆ TINH VENUS
1. Yêu cầu về hệ thống và các công cụ sử dụng trong thực nghiệm Sử dụng Google Earth Engine để thực nghiệm Sử dụng Google Earth Engine để thực nghiệm
Google Earth Engine (GEE) gồm hai nền tảng: giao diện người dùng đồ hoạ được gọi là Explorer (https://explorer.earthengine.google.com/#workspace) và giao diện lập trình ứng dụng (API) của Javascript được gọi là Code Editor
(https://code.earthengine.google.com/). Trên giao diện này, người dùng có thể viết
và chạy các tập lệnh, kịch bản để chia sẻ và lặp lại các quy trình phân tích cũng như xử lý dữ liệu không gian địa lý. GEE cho phép phân tích dữ liệu địa lý môi trường ở phạm vi toàn cầu với dung lượng lưu trữ hàng pentabyte dữ liệu ảnh. Dữ liệu của GEE được tổng hợp từ rất nhiều nguồn dữ liệu ảnh vệ tinh công cộng từ NASA, NOAA, ESA và các dữ liệu khác. GEE tận dụng hệ thống tính toán được tối ưu hóa cho xử lý song song dữ liệu địa không gian. GEE đưa khả năng tính toán lớn của Google hỗ trợ các nghiên cứu liên quan đến các lĩnh vực môi trường, địa lý, không gian như các nghiên cứu về tăng trưởng đô thị, quản lý nước, suy giảm diện tích rừng, diện tích đất, các thảm họa thiên nhiên, hạn hán, lũ lụt, bệnh dịch, an ninh lương thực, giám sát khí hậu và bảo vệ môi trường.
Earth Engine kết hợp với Google Fusion Tables, là một cơ sở dữ liệu dựa trên web có hỗ trợ dữ liệu địa lý (points, lines, polygons).
Ngoài ra, Earth Engine còn kết hợp với Google End Servers, nó chuyển tiếp các truy vấn con phức tạp tới Compute Master, Compute Master có nhiệm vụ quản lý việc phân phối tính toán giữa các Compute Servers. Các batch được xử lý tương tự bởi Batch Computaion nhưng hệ thống này sử dụng FlumeJava để phân phối tính toán. Dưới cùng là các dịch vụ dữ liệu, bao gồm một Assest Database chứa siêu dữ liệu (metadata) của từng ảnh và cung cấp khả năng lọc hiệu quả.[5]
Bên cạnh nguồn ảnh, Earth Engine cũng cung cấp nhiều chức năng xử lý như liệt kê ở dưới đây. Các chức năng chủ yếu xoay quanh thao tác với hai loại dữ liệu
chính là: raster và vector. Các chức năng được thiết kế từ các thao tác đơn giản như: cộng/trừ band đến phức tạp như: các thuật toán học máy. Bên cạnh đó, các chức năng định vị, tìm kiếm ảnh cũng không thể thiếu. Tất cả đều được cung cấp thông qua hai API JavaScript và Python.
2. Tiền xử lý dữ liệu
2.1. Trích xuất dữ liệu khu vực Hà Nội
Qua việc truy cập vào trang web của trung tâm dữ liệu đất (Theia - Land Data Center) tại trang web: https://theia.cnes.fr/atdistrib/rocket/#/home. Tôi đã tiến hành tìm kiếm và tải về 37 ảnh Venus chụp Hà Nội, Việt Nam từ tháng 12 năm 2017 đến tháng 8 năm 2019 để dùng làm tập dữ liệu ảnh nghiên cứu phân lớp.