xác của grid DEM sử dụng mạng neuron Hopfiled
• Phát biểu bài toán : Cho một dữ liệu DEM dạng grid có độ phân giải khơng
gian thấp, kích thước grid lớn, sử dụng thuật toán mạng neuron Hopfiled để làm tăng độ phân giải khơng gian và độ chính xác của grid DEM đã có. • Ánh xạ lên bài tốn lên mạng neuron Hopfiled :
Để ánh xạ bài toán tối ưu lên mạng neuron Hopfiled, chúng ta cần đưa ra các trọng số và các ràng buộc của bài toán [83].
- Từ một pixel kích thước lớn trong grid DEM gốc ở độ phân giải thấp, chia thành m x m pixel con. Mỗi pixel được đại diện bởi một neuron trong mạng neuron Hopfield ứng với đầu ra là vij. Như vậy, số neuron trong mạng chính bằng số pixel con và bằng m2.
- Mỗi phương án của bài toán ứng với một giá trị semi-variance được định nghĩa là: 1 (ℎ) (3.22) (ℎ) = ∑[ − ]2 2 (ℎ) +ℎ 1
Trong đó: γ(h) là giá trị của hệ số semi-variogram ở bước nhảy khoảng cách
h, h là khoảng cách giữa một cặp điểm pixel con có giá trị độ cao lần lượt là: vij và vij + h, và N(h) là số cặp điểm cách nhau một khoảng cách h.
- Ta cần phải giải bài tốn tìm giá trị cực tiểu của hàm γ(h) với các ràng buộc sau:
+ Giá trị độ cao của pixel con nằm ở giữa có độ cao là vij sẽ bằng giá trị độ cao trung bình của các pixel con xung quanh với bước nhảy h (vij + h):
= ∑1
(ℎ) +ℎ
(ℎ)
+ Giá trị độ cao được thay đổi như sau:
=−
(3.23)
(3.24) - Giá trị của hàm năng lượng là tổng tất cả các điều chỉnh của tất cả các
neuron:
= ∑ ∑ ( +) = (3.25)
- Từ đây, lấy đạo hàm riêng , ta xác định được phương trình động học của các neuron:
= =+
(3.26)
- Chọn hàm kích hoạt của các neuron là hàm y = f(x).
- Như vậy ta đã ánh xạ được bài toán tăng độ phân giải của grid DEM lên mạng neuron Hopfield. Hay nói cách khác là mạng Hopfield đã được thiết kế để tối ưu hóa hàm E theo (3.25) với điều kiện trọng số và đầu ra của mạng xác định cụ thể.
• Mã giả của chương trình tăng độ phân giải khơng gian và nâng cao độ chính xác của grid DEM sử dụng mạng neuron Hopfield như sau:
{# Định nghĩa các hàm: Hàm mở file
Hàm tính giá trị của hàm Spatial dependence maximization (Hàm tối ưu hóa sự phụ thuộc khơng gian)
Hàm điều kiện ràng buộc về độ cao, Elevation Function;
Hàm xác định kích thước của DEM gốc và DEM được tăng độ phân giải Hàm tính độ cao trung bình
Hàm tính giá trị hiệu chỉnh của hàm độ cao cho từng pixel con Hàm ghi kết quả ra file.
# Nhập các dữ liệu đầu vào:
Tạo đối tượng str1 chỉ đến file độ cao Lấy các tham số vị trí của DEM gốc Lấy thơng tin phép chiếu của DEM gốc Gán chọn Hệ số thu phóng (Zoom factor).
# Xác lập thơng tin vị trí cho DEM được chia nhỏ bằng HNN.
# Khởi tạo giá trị độ cao ban đầu của DEM được chia nhỏ = giá trị độ cao trên DEM gốc.
# Khởi tạo giá trị ban đầu của hàm năng lượng.
# Khởi tạo giá trị ban đầu của ngưỡng mạng neuron Hopfiled (Threshold).
# Khởi tạo giá trị của biến tính tốn sự thay đổi sau mỗi chu trình của Hàm năng lượng (Enery_dif).
# Khởi tạo biến chạy của chu trình (iteration). # While abs(Energy_dif) > Threshold:
Tính tốn hàm mục tiêu là tối ưu hóa sự phụ thuộc khơng gian: độ cao của các pixel con phải bằng độ cao trung bình của các pixel con xung quanh nó.
Tính tốn hàm điều kiện ràng buộc: trung bình độ cao của các pixel con trong một pixel to phải bằng độ cao của pixel to đó.
Hàm năng lượng mới = Tổng (abs(Hàm mục tiêu) + abs(Hàm điều kiện ràng buộc))
Hiệu chỉnh giá trị độ cao mới cho từng pixel con
Tính giá trị của Enery_dif (sự thay đổi của hàm năng lượng mới và hàm năng lượng cũ)
Iteration = iteration +1 (Tăng giá trị biến chạy của chu trình).
# Khi hàm năng lượng đạt giá trị min (kết quả của hàm năng lượng E trong hai lần lặp liên tiếp giống nhau hoặc khơng thay đổi nhiều) thì:
In ra (“Vịng lặp số:”, iteration; Giá trị hàm năng lượng mới nhất, Energy_new))
Tạo file kết quả của chương trình Downscaling - file DEM dạng raster.} • Lập chương trình:
Chương trình tăng độ phân giải khơng gian và nâng cao độ chính xác của mơ hình số độ cao dạng grid sử dụng mạng neuron Hopfield được lập trình bằng ngơn ngữ Python tích hợp trên nền QGIS.
Hình 3-4. Cửa sổ chạy chương trình tăng độ phân giải khơng gian và nâng cao độ chính xác của mơ hình số độ cao dạng grid sử dụng mạng neuron Hopfield