Cách đây vài tuần, tôi đã thử thách bản thân xây dựng một mô phỏng cháy rừng có khả năng mô tả một đám cháy thực tế. Đây là phần thứ hai trong loạt bài của tôi về cháy rừng với viễn thám. Tôi sẽ tiếp tục với việc phân tích vụ cháy rừng lớn ở Tasmania, Úc. Trong phần đầu, tôi đã thu thập ảnh vệ tinh của đám cháy và tính toán diện tích bị cháy. Bây giờ, tôi sẽ chỉ cho bạn cách xây dựng một mô hình mô phỏng sự lan truyền của đám cháy bằng cách sử dụng NDVI, độ cao và gió.
Automata Tế Bào (Cellular Automaton – CA) để Mô Hình Hóa Cháy Rừng 🔥
Chúng ta sẽ sử dụng mô hình automata tế bào (CA), đây là một phương pháp bán thực nghiệm. Điều đó có nghĩa là chúng ta phát triển một mô hình với các tham số cần được hiệu chỉnh bằng dữ liệu thực tế từ phần 1. Nếu mô hình của chúng ta nắm bắt được tất cả các yếu tố quan trọng của sự lan truyền lửa, nó sẽ có thể tái tạo lại được vết cháy của vụ cháy rừng.
Về mặt khái niệm, Automata Tế Bào khá đơn giản. Chúng ta chia cảnh quan thành một lưới các ô vuông. Mỗi ô có thể ở một trong bốn trạng thái:
- Dễ cháy (ví dụ: thảm thực vật xanh)
- Đang cháy
- Đã cháy
- Không cháy (ví dụ: vùng nước hoặc đất trống)
Lửa lan truyền thông qua sự chuyển đổi giữa các trạng thái này, dựa trên điều kiện cục bộ và các ô lân cận. Một minh họa đơn giản được cung cấp dưới đây — trong thực tế, độ phân giải không gian mịn hơn nhiều so với hình ảnh.

Quy Tắc Lan Truyền Lửa 🌲➡️🔥
Tiếp theo, chúng ta xác định các quy tắc về cách các ô này thay đổi theo thời gian.
- Các ô đang cháy (màu đỏ) chuyển thành ô đã cháy (màu đen) sau 1 bước thời gian.
- Các ô không cháy (màu xanh dương) không thể bắt lửa, do đó, chúng không thay đổi.
- Các ô đã cháy vẫn là ô đã cháy.
- Các ô dễ cháy (màu xanh lá cây) liền kề với các ô đang cháy có cơ hội bắt lửa được cho bởi xác suất
.
Mặc dù các quy tắc khá đơn giản, phần khó khăn là xác định một xác suất cháy thực tế phản ánh sự lan truyền thực sự của đám cháy. Tôi quyết định sử dụng 3 yếu tố:
- Mật độ thảm thực vật, được định lượng bằng NDVI
- Độ dốc địa hình, được lấy từ mô hình số độ cao
- Hướng và cường độ gió, được ước tính từ dữ liệu khí tượng
Xác Suất Cháy 🎲
Để mô hình hóa khả năng lửa lan từ ô này sang ô khác, chúng ta định nghĩa xác suất bắt lửa là:
Trong đó:
là xác suất bắt lửa cơ bản,
,
, và
lần lượt là các yếu tố nhân cho thảm thực vật, địa hình và điều kiện gió.
Hệ số điều chỉnh NDVI () Đối với thảm thực vật, tôi chia các ô dễ cháy thành các ô có thảm thực vật bình thường và các ô có thảm thực vật dày đặc, mỗi loại có yếu tố nhân riêng, tức là
và
.
Hệ số điều chỉnh độ dốc () Độ dốc so sánh độ cao của ô dễ cháy với ô đang cháy và sau đó tính toán yếu tố theo cách sau:
Ở đây, độ dốc hướng lên thúc đẩy sự lan truyền của lửa, vì lửa có xu hướng di chuyển dễ dàng hơn lên dốc do truyền nhiệt đối lưu. Tham số kiểm soát mức độ mạnh mẽ của hiệu ứng địa hình này.
Hệ số điều chỉnh gió () Yếu tố gió trông tương tự:
trong đó một lần nữa kiểm soát mức độ mạnh mẽ của hiệu ứng này. Đối với tốc độ gió, chúng ta chỉ xem xét thành phần của gió theo hướng lan truyền của lửa. Nếu gió thổi từ ô đang cháy về phía ô dễ cháy, xác suất cháy tăng lên, nếu gió thổi theo hướng ngược lại, xác suất giảm xuống.
Tìm Kiếm Các Tham Số Tối Ưu 🎯
Bây giờ chúng ta đã thiết lập “cơ chế vật lý” của việc lửa lan truyền, chúng ta cần xác định các giá trị phù hợp cho các tham số. Hãy điểm lại các tham số liên quan:
: xác suất bắt lửa cơ bản
,
: các hệ số điều chỉnh cho mật độ thảm thực vật.
,
: các hệ số độ nhạy cho hiệu ứng gió và độ dốc.
Để đánh giá kết quả mô phỏng, chúng ta so sánh mô hình cháy dự đoán với dữ liệu cháy quan sát được từ ảnh vệ tinh. Cách tiếp cận tiêu chuẩn là sử dụng ma trận nhầm lẫn:
Bị cháy trong dữ liệu thực tế (Ground Truth) | Không bị cháy trong dữ liệu thực tế | |
---|---|---|
Bị cháy trong mô phỏng | True Positive (TP) | False Positive (FP) |
Không bị cháy trong mô phỏng | False Negative (FN) | True Negative (TN) |
- True Positives (TP): Các pixel bị cháy cả trong mô phỏng và dữ liệu vệ tinh quan sát.
- False Positives (FP): Các pixel bị cháy trong mô phỏng nhưng không bị cháy trong dữ liệu vệ tinh.
- False Negatives (FN): Các pixel bị cháy trong dữ liệu vệ tinh nhưng bị mô phỏng bỏ sót.
- True Negatives (TN): Các pixel vẫn không bị cháy một cách chính xác trong cả hai trường hợp.
Sau đó, chúng ta có thể tính điểm F1 (F1 score) để đánh giá độ chính xác của mô phỏng:
Điểm hoàn hảo là 1. Càng có nhiều dự đoán không chính xác (FP hoặc FN), điểm số càng thấp. Điểm F1 bằng 1 cho thấy sự khớp hoàn hảo giữa mô phỏng và quan sát. Mục tiêu là điều chỉnh các tham số của mô hình để tối đa hóa điểm F1, qua đó đảm bảo rằng mô phỏng tái tạo chặt chẽ dấu vết không gian của đám cháy thực.
Trong quá trình làm tiến sĩ, tôi đã làm việc nhiều với việc xây dựng các quy trình tối ưu hóa, vì vậy tôi rất hào hứng với bước này vì tôi đã muốn thử gói Python ‘Optuna’ từ khá lâu. Nó sử dụng Tối ưu hóa Bayes để khám phá không gian tham số một cách hiệu quả. Cách tiếp cận này cân bằng một cách thông minh giữa thăm dò và khai thác để tìm ra sự kết hợp tham số giải thích tốt nhất động lực học của đám cháy.
Kết Quả 📊

Một hiểu biết bất ngờ từ các tham số phù hợp nhất là vai trò của mật độ thảm thực vật. Mô hình cho thấy lửa ít có khả năng lan truyền qua thảm thực vật dày đặc hơn so với các khu vực có thảm thực vật thưa thớt hơn. Ban đầu, điều này có vẻ phản trực giác — người ta có thể cho rằng nhiều thảm thực vật hơn cung cấp nhiều nhiên liệu hơn và do đó làm tăng khả năng bắt lửa. Tuy nhiên, NDVI không trực tiếp đo sinh khối khô. NDVI cao cho thấy thảm thực vật khỏe mạnh, giàu nước, thực sự kháng cháy tốt hơn. Ngược lại, giá trị NDVI thấp hơn có thể báo hiệu thảm thực vật bị căng thẳng hoặc khô, dễ bắt lửa và cháy hơn.
Để đánh giá trực quan hiệu suất, hình ảnh dưới đây so sánh khu vực cháy mô phỏng với vết cháy quan sát được trích xuất từ ảnh vệ tinh.

Bản đồ sử dụng bảng mã màu để làm nổi bật sự đồng ý và khác biệt:
- ✅ Xanh lá cây — True Positives: các khu vực cháy được dự đoán chính xác.
- ❌ Đỏ — False Positives: bị cháy trong mô phỏng nhưng không có trong dữ liệu vệ tinh.
- 🔵 Xanh dương — False Negatives: bị cháy trong dữ liệu vệ tinh nhưng bị mô phỏng bỏ sót.
- ⚪ Trắng — True Negatives: không bị cháy trong cả mô phỏng và quan sát vệ tinh.)
Nhìn chung, mô phỏng nắm bắt chính xác một số mặt lửa. Ở nhiều địa điểm, lửa dừng lại trong mô phỏng, nơi nó cũng dừng lại trong thực tế. Tuy nhiên, cũng có những điểm không khớp rõ ràng — điều này là αναμενόμενο do những đơn giản hóa trong mô hình. Ví dụ, sự kiện thực tế liên quan đến nhiều điểm phát lửa, và chúng tôi đã loại trừ các biến như lượng mưa, độ ẩm và nhiệt độ môi trường.
Tôi gọi đây là một thành công. Chỉ với ba yếu tố môi trường và một mô hình dựa trên quy tắc tương đối đơn giản, chúng tôi đã có thể tái tạo một mô hình lan truyền lửa thực tế.
Cách Cải Thiện Mô Hình 🛠️
Mặc dù kết quả khá tốt, có hàng triệu cách để cải thiện mô hình đơn giản này. Đầu tiên là bao gồm nhiều/tốt hơn các yếu tố vào mô hình. Dưới đây là một số yếu tố có thể được bao gồm:
- Độ ẩm
- Nhiệt độ
- Lượng mưa
- Mức độ căng thẳng độ ẩm của thảm thực vật
- Loại thảm thực vật
Trong mô hình hiện tại, lửa có xu hướng tắt khi gặp điều kiện gió không thuận lợi và NDVI cao (thảm thực vật dày đặc và có khả năng ẩm ướt). Mặc dù điều này nắm bắt được một số yếu tố kiểm soát chính, việc thiếu thông tin rõ ràng về độ ẩm và loại nhiên liệu có khả năng giải thích một số khu vực cháy bị dự đoán quá mức — những vị trí cháy liên tục trong mô phỏng nhưng không cháy trong thực tế. Điều này cho thấy một yếu tố ngăn chặn bị thiếu (ví dụ: mưa gần đây, độ ẩm của đất, hoặc sự gián đoạn nhiên liệu) đã đóng một vai trò.
Một lĩnh vực quan trọng khác để cải thiện là tốc độ lan truyền của lửa. Hiện tại, mô hình giả định tốc độ đồng đều là 1 ô (250 m) mỗi giờ, quá nhanh. Do đó, vị trí của mặt lửa không khớp với dữ liệu gió nhạy cảm với thời gian. Một cách tiếp cận dựa trên dữ liệu nhiều hơn sẽ bao gồm việc ước tính vận tốc lan truyền trong thế giới thực bằng cách sử dụng dữ liệu phát hiện điểm cháy chủ động VIIRS (dữ liệu và một phương pháp tiếp cận có sẵn trong sổ tay Jupyter). Bằng cách đo lường sự tăng trưởng theo thời gian và không gian của vết cháy từ điểm phát lửa đến vành đai quan sát được, chúng tôi có thể hiệu chỉnh tốt hơn động lực học lan truyền.
Cuối cùng, thời gian cháy trên mỗi ô có khả năng quá ngắn. Trong thiết lập hiện tại, một ô đang cháy trở thành đã cháy sau một bước thời gian duy nhất. Điều này hạn chế khả năng tích lũy và củng cố sự bắt lửa gần đó. Một mô hình thực tế hơn sẽ cho phép một ô cháy trong nhiều bước thời gian, với xác suất bắt lửa thấp hơn ở mỗi bước. Sự điều chỉnh này sẽ tạo ra mặt lửa chậm hơn khi không có gió, đồng thời cho phép lan truyền nhanh hơn khi cùng hướng gió, mô phỏng hành vi cháy trong thế giới thực một cách chặt chẽ hơn.
Tổng Kết 💭
Mục tiêu dài hạn của một mô phỏng như vậy là dự đoán sự lan truyền của cháy rừng trong thời gian gần thực hoặc xác định các khu vực có nguy cơ cao trước khi bắt lửa. Để đạt được mức độ mạnh mẽ đó đòi hỏi phải huấn luyện mô hình trên nhiều sự kiện cháy khác nhau. Điều này, đến lượt nó, đòi hỏi một danh mục các vụ cháy rừng được tuyển chọn — bao gồm ngày phát lửa, vành đai cháy, thời gian và các quan sát vệ tinh.
Quy trình được phát triển trong phần đầu của dự án này cung cấp một con đường phía trước. Bằng cách tự động hóa việc trích xuất các thuộc tính chính của đám cháy (ví dụ: ngày phát lửa và mặt nạ khu vực bị cháy), chúng ta có thể bắt đầu xây dựng một bộ dữ liệu như vậy một cách có hệ thống.
Hiện tại, mô hình của chúng ta giỏi trong việc dự đoán đám cháy cụ thể này, nhưng rất có thể nó sẽ hoạt động kém hơn nhiều đối với các đám cháy khác. Để có được một mô hình có thể dự đoán chính xác sự lan truyền của bất kỳ đám cháy nào, chúng ta cần huấn luyện nó trên nhiều đám cháy. Chúng ta có thể tuân theo phương pháp học máy thông thường:
- Chia tách (Split): Một bộ dữ liệu lớn thành bộ dữ liệu huấn luyện và kiểm tra.
- Huấn luyện (Train): Mô hình trên nhiều đám cháy.
- Đánh giá (Evaluate): Hiệu suất trên các đám cháy chưa từng thấy để đo lường khả năng tổng quát hóa.
- Xác thực (Validate): Tính mạnh mẽ qua các vùng, mùa và loại thảm thực vật.
Nếu thành công, mô hình có thể được sử dụng để:
- Đánh giá cách biến đổi khí hậu ảnh hưởng đến hành vi cháy rừng (ví dụ: trong điều kiện nóng hơn, khô hơn).
- Dự đoán đường đi của lửa để sử dụng trong đốt phòng ngừa hoặc lập kế hoạch ứng phó khẩn cấp.
- Đánh giá chiến lược quản lý đất đai bằng cách mô phỏng các kịch bản thay thế.
Nhìn chung, tôi thực sự hài lòng với kết quả của dự án nhỏ này. Tiến độ thực sự chậm trong giai đoạn đầu (thu thập dữ liệu và làm quen với các API khác nhau). Sau khi dữ liệu được chuẩn bị, việc phát triển khung mô phỏng và đánh giá đã tiến triển thuận lợi mà không có trở ngại lớn nào.
Bình luận