CÔNG NGHỆ XỬ LÝ ẢNH

Một phần của tài liệu LUẬN văn THẠC sĩ ỨNG DỤNG TRÍ TUỆ NHÂN tạo và CÔNG NGHỆ xử lý ẢNH để KHẢO sát mật độ xây DỰNG tại THÀNH PHỐ TAM kỳ, TỈNH QUẢNG NAM (Trang 47)

5. Bố cục của luận văn

2.3. CÔNG NGHỆ XỬ LÝ ẢNH

2.3.1. Cân bằng Histogram và Chỉ số khác biệt thực vật (NDVI)

Dựa trên hình ảnh ban đầu, kỹ thuật tăng cường độ tương phản của cân bằng Histogram được sử dụng để tạo ra hình ảnh tốt hơn để phân tích. Mục đích của cân bằng Histogram là để xây dựng một hình ảnh với các mức độ sáng phân bố đều (Sonka et al. 2013). Kỹ thuật xử lý hình ảnh này làm giảm độ tương phản của ảnh gốc và làm nổi bật kết cấu hình ảnh. Ngoài ra, để tạo điều kiện thuận lợi cho quá trình phát hiện bề mặt xây dựng, các pixel tại các vùng núi được bao phủ bởi đám mây và các khu vực bãi biển lớn được loại bỏ bằng thao tác che lấp (Lillesand et al. 2015). Ngoài ra, Chỉ số khác biệt thực vật (NDVI) (Rouse et al. 1973) được tính toán để loại bỏ các vùng nước lớn khỏi khu vực nghiên cứu. Thông qua thử nghiệm với hình ảnh thu thập được, các pixel thuộc các vùng nước lớn được liên kết với các giá trị NDVI âm và có thể được loại trừ một cách hiệu quả. Tính toán NDVI yêu cầu dải 4 (màu đỏ) và dải 8 (dải hồng ngoại gần); nó thu được thông qua các phương trình

sau: 4 4 NIR B NDVI NIR B    (1)

Trong đó NIR và B4 lần lượt biểu thị một dải hồng ngoại gần và dải 4

2.3.2. Đo lường thống kê của các dải hình ảnh

Với mục đích phát hiện bề mặt xây dựng, các phép đo thống kê của các dải 4 (đỏ), 3 (xanh lá cây) và 2 (xanh lam) được sử dụng để nghiên cứu. Nghiên cứu này thực hiện phát hiện bề mặt xây dựng đối với mỗi bản vá hình ảnh 10 x 10 pixel. Do đó, để lấy được các phép đo thống kê, biểu đồ bậc nhất của một bản vá hình ảnh S được ký hiệu là P (I) được tính như sau (Hoàng 2019; Theodoridis và Koutroumbas 2009): , ( ) I b b N P I PN  (2) Trong đó b biểu thị một chỉ số dải. NI, b là số pixel có giá trị I. PN biểu thị số pixel trong một bản vá hình ảnh.

Theo đó, giá trị trung bình (b), độ lệch chuẩn (b), độ lệch (Sb), kurtosis (Kb), entropy (Eb) và phạm vi (Rb) được tính như sau (Hoàng 2019; Theodoridis và Koutroumbas 2009): 1 , 0 ( ) NL b i b b i I P I       (3) 1 2 , 0 ( ) ( ) NL b i b b b i I P I         (4) 1 3 , 0 3 ( ) ( ) NL i b b b i b b I P I S         (5) 1 4 , 0 4 ( ) ( ) NL i b b b i b b I P I K         (6)

1 2 0 ( ) log ( ( )) NL b b b i EP I P I     (7) ( ) ( ) b b b RMax IMin I (8)

Trong đó Ii, b = 0,1,2, ….. Đối với hình ảnh 8 bit, NL = 256 đại diện cho số lượng giá trị cường độ riêng biệt.

2.3.3. Đường viền nhị phân (BCG) để phân biệt kết cấu

Kết cấu là một công cụ quan trọng cho nhận thức trực quan trong tầm nhìn máy tính. Vì các mảng hình ảnh của bề mặt xây dựng và bề mặt xây dựng có thể có các tính chất khác nhau của độ thô, độ nhám, hướng, độ tương phản và tính đều đặn, sử dụng phân tích kết cấu có thể hữu ích để phân định chúng. Nghiên cứu này sử dụng kỹ thuật BGC (Fernández et al. 2011) cho nhiệm vụ phân biệt kết cấu. BGC kết hợp các phân tích về cấu trúc cục bộ và sự xuất hiện để rút ra các tính năng kết cấu. Đáng chú ý, phương pháp này có ưu điểm là chi phí tính toán thấp và bất biến đối với những thay đổi chiếu sáng đơn điệu (Humeau-Heurtier 2019). Nó cũng sở hữu khả năng phân biệt đối xử tốt được thể hiện trong các nghiên cứu trước đây (El Khadiri et al. 2018; Fernández et al. 2011). 1, 1 1, 1, 1 , 1 , , 1 1, 1 1, 1, 1 m n m n m n m n m n m n m n m n m n I I I S I I I I I I                        (9)

Trong đó Im, n biểu thị pixel trung tâm.

Dựa trên định nghĩa của S, các công thức BGC vòng đơn, đôi và ba được thể hiện như sau (Fernández et al. 2011):

7 1 n (n 1)mod8 0 (I I ) 2n 1 n BGC        (10)

3 3 2 2n 2(n 1)mod8 2n 1 (2n 3)mod8 0 0 15 (I I ) 2n (I I ) 2n 16 n n BGC                (11) 7 3 3 mod8 3(n 1)mod8 0 (I I ) 2n 1 n n BGC        (11) Với 1 0 ( ) 0 0 if x x f x      (12)

2.4. SỬ DỤNG PHẦN MỀM MẠNG NƠ-RON THẦN KINH NHÂNTẠO CHO PHÂN LOẠI DỮ LIỆU TRONG NGÀNH XÂY DỰNG TẠO CHO PHÂN LOẠI DỮ LIỆU TRONG NGÀNH XÂY DỰNG ĐƯỢC PHÁT TRIỂN TRÊN NỀN TẢNG .NET

Nghiên cứu này nhằm phát triển chương trình phần mềm Mạng thần kinh nhân tạo (ANN) được sử dụng để phân loại dữ liệu trong ngành xây dựng. Thuật toán lan truyền ngược được sử dụng để huấn luyện ANN. Chương trình phần mềm đã được phát triển trong Visual C# .NET và được thử nghiệm với hai bộ dữ liệu. Kết quả thử nghiệm cho thấy chương trình phần mềm là một công cụ tốt cho nhiệm vụ phân loại dữ liệu.

2.4.1. Giới thiệu

Trong các lĩnh vực máy học và thống kê, phân loại mẫu là vấn đề gán một quan sát mới cho một trong các nhãn lớp hiện có. Một mô hình phân loại dữ liệu được đào tạo trên cơ sở tập dữ liệu huấn luyện có chứa các quan sát với các danh mục đã biết. Nếu có hai nhãn lớp hiện có, gọi là phân loại nhị phân. Với hơn 2 nhãn, là phân loại mẫu nhiều lớp. Cả phân loại mô hình nhị phân và đa lớp đều được quan sát rộng rãi trong kỹ thuật xây dựng và trong các lĩnh vực nghiên cứu khác [1-8]. Các ví dụ về nhận dạng mẫu trong kỹ thuật xây dựng là gán một vectơ đặc trưng đầu vào cho các loại vết nứt mặt đường khác nhau [9], các hành vi khác nhau của các tấm lưới thép dầm chịu tải trọng tập trung [10], hóa lỏng đất [4], v.v.

Trong số các thuật toán máy học, ANN đặc biệt hữu ích cho việc nhận dạng mẫu. Về cơ bản, ANN là một mạng lưới tinh vi của các đơn vị học tập riêng lẻ được gọi là nơ-ron. Bằng cách kết hợp thông tin được biểu thị dưới dạng kết nối các trọng số, mô hình ANN tổng thể có thể khái quát các mối quan hệ phức tạp giữa các tính năng đầu vào và dữ liệu đầu ra của nhãn lớp. Đó là bởi vì ANN sở hữu khả năng của một xấp xỉ hàm phổ quát [11]. Hơn nữa, thuật toán đào tạo của ANN có thể được thực hiện theo cách trực tuyến; điều này có nghĩa là mô hình ANN có thể được cập nhật dần dần và ANN có thể là một mô hình rất hiệu quả để xử lý các tập dữ liệu quy mô lớn và đa biến.

Mặc dù có nhiều phương pháp đào tạo ANN tiên tiến hơn, phương pháp giảm độ dốc thông thường với lan truyền ngược vẫn là một cách hiệu quả để thiết lập mô hình ANN [12]. Lan truyền ngược có khả năng giúp các mô hình ANN được đào tạo nhanh chóng với độ chính xác chấp nhận được trong nhiều ứng dụng [13]. Do đó, các mô hình ANN được đào tạo giảm dần độ dốc với lan truyền ngược có thể là một công cụ hữu ích cho cả mục đích giáo dục và thực tế. Ngoài ra, do hạn chế quyền truy cập vào các gói phần mềm mở để triển khai nhận dạng đa lớp dựa trên ANN, nghiên cứu này nhằm phát triển chương trình phần mềm Mạng thần kinh nhân tạo (ANN) được sử dụng để phân loại dữ liệu nhiều lớp. Thuật toán lan truyền ngược với động lượng và chính quy được sử dụng để huấn luyện ANN. Chương trình phần mềm đã được phát triển trong Visual C # .NET và được xác minh bởi hai bộ dữ liệu.

Sử dụng phần mềm Mạng nơ-ron thần kinh nhân tạo (BPANN) là một phương pháp phân loại dựa trên máy học được lấy cảm hứng từ các mạng thần kinh sinh học. Một mô hình ANN mô phỏng quá trình thu nhận kiến thức và suy luận của bộ não con người [14]. Dựa trên các công trình trước đây [6,15,16], BPANN được chứng minh là có hiệu quả cao trong việc đối phó với

các vấn đề mô hình hóa dữ liệu phi tuyến phức tạp.

Một BPANN thường bao gồm các lớp đầu vào, ẩn và đầu ra [17]. Các lớp ẩn chứa một tập hợp các nơ-ron nhân tạo; các nơ-ron nhân tạo được kết nối với nhau có vai trò quyết định trong việc xác định cấu trúc trong dữ liệu để tính toán các nhãn lớp của từng thể hiện dữ liệu trong lớp đầu ra. Sử dụng mô hình BPANN, các tác vụ phân loại dữ liệu tập trung vào việc thiết lập hàm phân biệt đối xử trong đó D là số mẫu đầu vào và O biểu thị số lượng nhãn lớp [12]. Một mô hình BPANN được sử dụng để phân loại mẫu được mô tả như sau [18]:

(13)

Trong đó W1 và W2 lần lượt là ma trận trọng số của lớp ẩn và lớp đầu ra; N là số lượng tế bào thần kinh nhân tạo trong lớp ẩn; b1 = [b11, b12, chụp, b1N] và b2 lần lượt biểu thị một vectơ sai lệch của lớp ẩn và của lớp đầu ra. fA biểu thị một chức năng kích hoạt (ví dụ: hàm log-sigmoid).

Các tham số mô hình của BPANN, W1, W2, b1 và b2 được lưu trữ, điều chỉnh thông qua quy trình lan truyền ngược [19,17]. Có ba kiểu thường được sử dụng để đào tạo mô hình BPANN: trực tuyến, lô và lô nhỏ [20]. Kiểu đầu tiên cập nhật trọng lượng kết nối khi họ gặp một ví dụ đào tạo duy nhất. Kiểu thứ hai cập nhật tất cả các trọng số kết nối cùng một lúc với tất cả các hồ sơ đào tạo được thu thập. Phương pháp lô nhỏ chia toàn bộ dữ liệu huấn luyện thành các lô nhỏ được sử dụng để tính toán lỗi mô hình ANN và cập nhật trọng số của nó cho phù hợp. Bản cập nhật trực tuyến có thể giúp xây dựng một mô hình với độ chính xác cao; tuy nhiên, phương pháp này có thể chậm để hội tụ. Với mục đích nhắm đến việc phát triển các mô hình ANN để giải quyết các bộ dữ liệu vừa và nhỏ; chúng tôi sử dụng phong cách trực tuyến. Hơn nữa, việc hỗ trợ ngược với động lượng và chính quy được thực hiện để điều chỉnh trọng lượng mạng. Thông tin chi tiết về các thuật toán đào tạo

được cung cấp trong công trình trước đây của Kim [21], Hoàng, Tiến Bùi [22] và Tien Bùi et al. [23].

2.4.2. Ứng dụng chương trình phần mềm

Chương trình phần mềm đã được phát triển trong Visual C # .NET Framework 4.6.2. Giao diện người dùng được hiển thị trong Hình 2.10. Việc triển khai phần mềm được chia thành bốn mô-đun: tải dữ liệu, cấu hình mô hình ANN, đào tạo mô hình và thử nghiệm mô hình. Trong mô-đun đầu tiên (Hình 2), các bộ dữ liệu của đầu vào đào tạo, đầu ra đào tạo, đầu vào thử nghiệm và đầu ra thử nghiệm được tải. Trong mô-đun tiếp theo, cấu hình mô hình ANN được chỉ định bằng cách chọn số lượng nhãn lớp, số nơ-ron trong lớp ẩn của nó, số thời kỳ huấn luyện, tốc độ học tập, hệ số động lượng và hệ số chính quy.

Hệ số chính quy được sử dụng để làm giảm hiện tượng quá mức [21]. Số lượng tế bào thần kinh có thể được chọn đại khái là 2D / 3 + N0.

D là số lượng các tính năng đầu vào và N0 là số lượng nhãn lớp. Sau khi hoàn thành các giai đoạn huấn luyện và dự đoán của mô hình ANN, người dùng có thể xem các tham số mô hình ở dạng ma trận trọng số và dự đoán chi tiết về nhãn lớp cho tất cả các mẫu dữ liệu (xem Hình 2.10).

Ngoài ra, trước khi được tách thành các bộ dữ liệu của đầu vào đào tạo, đầu ra đào tạo, đầu vào thử nghiệm và đầu ra thử nghiệm, dữ liệu gốc phải được chuẩn hóa thông qua phương pháp chuẩn hóa dữ liệu điểm Z hoặc điểm chuẩn. XN được chuẩn hóa của dữ liệu thô x được tính như sau:

x N x x M x S   (14) Trong đó Mx và Sx biểu thị giá trị trung bình và độ lệch chuẩn của x.

(a) (b)

Hình 2.12. Kết quả đào tạo và kiểm tra:

(a) Các thông số của mô hình ANN, (b) Nhãn lớp thực tế và dự đoán

Sau khi được phát triển, chương trình phần mềm ANN được chứng minh với hai trường hợp nghiên cứu về kỹ thuật dân dụng, đó là dự đoán về hành vi tải trọng của dầm thép và dự đoán khả năng bám vữa. Ứng dụng đầu tiên liên quan đến 252 trường hợp dữ liệu được báo cáo trong Fonseca et al. [10]. Ứng dụng thứ hai sử dụng bộ dữ liệu được thu thập bởi Liao et al. [24]; bộ dữ liệu này bao gồm 240 mẫu dữ liệu. Các hiệu suất dự đoán ANN trong hai ứng dụng này được báo cáo trong Hình 4 và Hình 5 cho thấy độ chính xác dự đoán cho từng lớp riêng lẻ. Có thể nhận thấy rằng chương trình đã phát triển đạt được kết quả tỷ lệ phân loại (CAR) tốt: CAR = 96,15% cho ứng dụng đầu tiên và CAR = 92% cho ứng dụng thứ hai.

Hình 2.13. Hiệu suất dự đoán của ứng dụng đầu tiên

Hình 2.14. Hiệu suất dự đoán của ứng dụng thứ hai (dự đoán khả năng nhận biết)

Kết quả phân loại tốt chứng minh rằng chương trình phần mềm có thể là một công cụ hữu ích để mô hình hóa các vấn đề khác trong lĩnh vực kỹ thuật xây dựng.

CHƯƠNG 3

ỨNG DỤNG TRÍ TUỆ NHÂN TẠO VÀ CÔNG NGHỆ XỬ LÝ ẢNH ĐỂ KHẢO SÁT MẬT ĐỘ XÂY DỰNG TẠI THÀNH PHỐ

TAM KỲ, TỈNH QUẢNG NAM 3.1. TỔNG QUAN VỀ KHU VỰC NGHIÊN CỨU

Khu vực nghiên cứu là toàn bộ diện tích tự nhiên của Thành phố Tam Kỳ có diện tích 100,26 km², dân số là 122.374 người.

Bản đồ khu vực được lấy từ từ Sentinel 2 vào ngày 13 tháng 3 năm 2020

3.2. MÔ HÌNH MẠNG NƠ-RON THẦN KINH NHÂN TẠO ĐƯỢC ĐỀXUẤT ĐỂ NHẬN DẠNG BỀ MẶT XÂY DỰNG TỰ ĐỘNG XUẤT ĐỂ NHẬN DẠNG BỀ MẶT XÂY DỰNG TỰ ĐỘNG

Mô hình đề xuất là sự tích hợp của phân tích kết cấu hình ảnh, nhận dạng mẫu dựa trên mạng nơ ron thần kinh và tối ưu hóa nâng cao được sử dụng cho đào tạo mạng thần kinh. Cấu trúc chung của mô hình mới phát triển được trình bày trong Hình 3.2. Mô hình tính toán được đề xuất sử dụng để nhận dạng bề mặt xây dựng đã được phát triển trong môi trường Visual C # .NET (Khung 4.6.2) và được thực hiện với ASUS FX705GE - EW165T (Core i7 8750H, Ram 8GB, ổ cứng SSD 256 GB)

Hình 3.2. Mô hình mạng nơ-ron thần kinh nhân tạo được đề xuất để phát hiện bề mặt xây dựng

Hoạt động mô hình có thể được chia thành ba bước: (i) Lấy mẫu dữ liệu hình ảnh

(ii) Tính toán kết cấu hình ảnh

(iii) Dự đoán và đào tạo mô hình mạng nơ-ron thần kinh nhân tạo

3.2.1. Lấy mẫu dữ liệu hình ảnh

Để thiết lập mô hình mạng thần kinh để nhận dạng diện tích bề mặt xây dựng tự động, cần phải chuẩn bị một bộ dữ liệu huấn luyện với các nhãn sự thật mặt đất được chỉ định. Nghiên cứu này đã lấy mẫu các khu vực phổ biến và công trình trong bản đồ của khu vực nghiên cứu. Dữ liệu hình ảnh thu được từ Sentinel 2 vào ngày 13 tháng 3 năm 2020. Các dải 4 (đỏ), 3 (xanh lá cây) và 2 (xanh lam) với độ phân giải không gian 10 m được chọn để tạo thành hình ảnh của khu vực nghiên cứu. Các dải này đã được mở trong gói phần mềm Sentinel Application Platform (SNAP) (ESA 2020). Mỗi mẫu có kích thước 100x100 pixel được sử dụng để tạo các bản vá hình ảnh không chồng lấp với kích thước 10 x 10 pixel. Tổng cộng, có 3000 bản vá hình ảnh được tạo ra từ các mẫu hình ảnh. Để đảm bảo dữ liệu cân bằng, số lượng mẫu âm tính (bề mặt phổ biến) và mẫu dương tính (bề mặt xây dựng) đều là 1500. Dựa trên các bản vá hình ảnh này, có thể thực hiện các phương pháp tính toán

Một phần của tài liệu LUẬN văn THẠC sĩ ỨNG DỤNG TRÍ TUỆ NHÂN tạo và CÔNG NGHỆ xử lý ẢNH để KHẢO sát mật độ xây DỰNG tại THÀNH PHỐ TAM kỳ, TỈNH QUẢNG NAM (Trang 47)