Thiết kế nút trung tâm

Một phần của tài liệu DATN-HỆ THỐNG GIÁM SÁT THAM SỐ MÔI TRƯỜNG (Trang 84)

3.6.1. Cấu trúc nút trung tâm Mơ tả cấu trúc:

Nút trung tâm sẽ gồm 2 phần chính là Mạch giám sát trung tâm và Máy tính xử lý trung tâm. Mạch xử lý trung tâm sẽ cĩ nhiệm vụ giao tiếp với các nút mạng cảm biến thơng qua module nRF24L01, sau đĩ dữ liệu được gửi lên Máy tính xử lý trung tâm thơng qua cổng COM. Tại đây Phần mềm giám sát trung tâm sẽ thực hiện việc xử lý, hiển thị, lưu trữ và đưa lên mơi trường Internet để những người quản lý hoặc khách hàng cĩ thể theo dõi cũng như giám sát hệ thống từ xa.

Hình 3. 18: Cấu trúc nút trung tâm 3.6.2. Mạch giám sát trung tâm

a. Cấu trúc mạch trung tâm

Hình 3. 19: Cấu trúc mạch trung tâm

Mạch nút trung tâm bao gồm các thiết bị cảm biến:  Vi điều khiển Arduino Nano

 Module nRF24L01+PA

Phần mềm sử dụng để lạp trình cho Vi xử lý là Arduino IDE.

c. Kết quả thiết kế

Để tiện trong việc đặt mạch in, nhĩm đã sử dụng chung một layout giữa nút mạng cảm biến và nút trung tâm. Dưới đây là hình ảnh nút trung tâm sau khi hồn thành và được đĩng trong hộp kín, anten của module nRF24L01 được đặt ở ngồi để thực hiện việc giao tiếp với các nút mạng cảm biến.

Hình 3. 20: Mạch trung tâm sau khi hồn thành 3.6.3. Phần mềm giám sát trung tâm

3.6.3.1. Phân tích và thiết kế phần mềm a. Các đối tượng tham gia

Các đối tượng tham gia vào phần mềm giám sát bao gồm: - Người điều khiển và giám sát tại trung tâm.

- Người sử dụng muốn giám sát từ xa.

- Nút trung tâm nhận từ nút tại hiện trường và gửi lên để hiển thị/lưu trữ. - Admin quản lý thơng tin người sử dụng và dữ liệu hệ thống.

b. Yêu cầu chức năng của phần mềm

Yêu cầu chức năng của hệ thống giám sát bao gồm:

- Phần mềm trung tâm nhận dữ liệu từ mạch trung tâm gửi lên, xử lý và hiển thị (thơng số và hình ảnh), vẽ biểu đồ thơng số theo thời gian.

- Cĩ thể gửi lại yêu cầu điều khiển bộ chấp hành hoặc chụp ảnh.

- Người điều khiển tại trung tâm cĩ thể lựa chọn việc gửi dữ liệu lên My SQL PHP

- Admin cĩ thể tạo tài khoản cho người sử dụng theo dõi từ xa.

- Người sử dụng cĩ thể đăng nhập theo tài khoản được cấp và theo dõi dữ liệu trước đĩ.

c. Yêu cầu phi chức năng của phần mềm

Yêu cầu phi chức năng của hệ thống giám sát bao gồm:

- Giao diện dễ sử dụng cho cả người điều khiển tại trung tâm và người sử dụng giám sát từ xa

d. Sơ đồ User - Cases

System System System Ng­ êi­sư­dơng Ng­ êi­gi¸m­s¸t Admin Nĩt­trung­t©m Xư­lý­d÷­liƯu NhËn­d÷­liƯu Gưi­d÷­liƯu T¹o­tµi­kho¶n Truy­vÊn­tµi­kho¶n Qu¶n­lý­d÷­liƯu § iỊu­khiĨn L­ u­tr÷­d÷­liƯu HiĨn­thÞ­d÷­liƯu Truy­vÊn­d÷­liƯu

Hình 3. 21: Sơ đồ User-Case phần mềm trung tâm e. Các thành phần của phần mềm

- Phần mềm giám sát điều khiển tại trung tâm - Phần mềm giám sát dành cho người sử dụng - Phần quản lý dành cho quản trị viên

- Máy chủ lưu trữ dữ liệu

3.6.3.2. Cách thức xứ lý dữ liệu

Dữ liệu cảm biến từ mạch trung tâm gửi lên phần mềm qua cổng COM cĩ dạng chuỗi như sau:

p<Nút mạng truyền đến>h<Độ ẩm khơng khí>t<Nhiệt độ khơng khí>s<Độ ẩm đất> Phần mềm sử dụng hàm để cắt chuỗi để tách ra các thơng số: Nút mạng truyền đến, Độ ẩm khơng khí, Nhiệt độ khơng khí, Độ ẩm đất.

Dữ liệu này sau đĩ được hiển thị vào các TextBox tương ứng và sử dụng để vẽ đồ thị ở ơ bên cạnh. Đồng thời nếu ơ “Kết nối CSDL” được tích thì dữ liệu sẽ được đưa lên My SQL PHP để phía bên Người dùng khác cĩ thể truy vấn từ xa.

3.6.3.3. Kết quả thiết kế

Hình 3. 22: Giao diện chương trình hiển thị dữ liệu

Phần mềm giám sát trung tâm được chia làm 2 phần. Một bên sử dụng để hiển thị và vẽ đồ thị thời gian thực từ cảm biến, bên cịn lại để hiển thị ảnh nhận được từ nút mạng cảm biến. Khi mở lên mặc định phần mềm chỉ hiển thị phần bên hiển thị dữ liệu, trong trường hợp muốn mở bên cịn lại thì cần nhấn dịng “Hiển thị ảnh N1”.

Hình 3. 23: Form đăng nhập cho người dùng

Hình trên là form đăng nhập dành cho người dùng muốn giám sát từ xa. Tài khoản do admin hệ thống tạo và cung cấp.

Hình 3. 24: Giao diện theo dữ liệu dõi từ xa

Sau khi đăng nhập thành cơng người dùng sẽ vào được form như hình. Để theo dõi nút mạng cảm biến nào người dùng chọn nút tương ứng và nhấn hiển thị để hoặc biểu đồ để xem.

3.6.4. Mơ hình máy học nhận dạng và dán nhãn hoaa. Quá trình trích xuất đặc trưng a. Quá trình trích xuất đặc trưng

Khi nĩi về đặc trưng cĩ thể nhận dạng của lồi hoa, ta cĩ thể nghĩ đến màu sắc, kết cấu và hình dạng là những đặc trưng chính. Đây là những đặc trưng để nhận dạng một cách tổng quát và đại diện cho hình ảnh lồi hoa. Nhưng nếu chỉ chọn một đặc trưng trong số đĩ để sử dụng trong việc nhận dạng và đưa ra tên thì sẽ khĩ cĩ thể thực hiện được do một số lồi sẽ cĩ hình dạng hoặc màu sắc tương tự nhau. Vì vậy để cĩ thể nhận dạng và nĩi chính xác tên của một lồi hoa, ta cĩ thể sử dụng kết hợp 3 mơ tả đặc trưng khác nhau để mơ tả hình ảnh về một lồi hoa một cách hiệu quả hơn.

Bộ mơ tả đặc trưng tổng quát

Đây là mơ tả đặc trưng dùng để nhận dạng hình ảnh theo cách tổng quát. Tức là trong mỗi bức ảnh, các đặc trưng sẽ được xét trên tồn bộ khung hình chứ khơng theo điểm riêng lẻ nào. Một số đặc trưng tổng quát bao gồm:

- Màu sắc gồm Thống kê kênh màu (Trung bình, Độ lệch chuẩn) và Biểu đồ màu.

- Hình dạng bao gồm Hu Moments, Zernike Moments.

- Một số đặc trưng khác: Biểu đồ của định hướng dốc (HOG), Thống kê mức ngưỡng gần kề (TAS).

Bộ mơ tả đặc trưng riêng

Đây là bộ mơ tả đặc trưng nhận dạng xét trên các vùng riêng lẻ của hình ảnh. Với cách này điểm xem xét cĩ thể là tồn bộ hoặc một vào vị trí quanh vùng được xét. Một số bộ mơ tả đặc trưng riêng thường được sử dụng là:

- SIFT: Biến đổi đặc trưng bất biến - SURF: Tăng tốc các đặc trưng

- ORB: Định hướng nhanh và xoay vịng ngắn

Cĩ 2 cách cơ bản để kết hợp các đặc trưng lại với nhau là:

- Với các đặc trưng tổng quát chỉ cần ghép mỗi vector đặc trưng thành phần như màu sắc, hình dạng, kết cấu để tạo thành một vector tổng quát duy nhất.

- Với vector đặc trưng riêng hay những sự kết hợp đặc trưng theo nhĩm thường sử dụng khái niệm là Túi trực quan (BOVW). Một số thuật tốn thường được áp dụng là: K-Mean clustering, Linear SVM,…

Trong khuơn khổ Đồ án nhĩm sinh viên đi theo phương pháp Trích xuất các đặc trưng tổng quát và mơ hình được viết bởi ngơn ngữ lập trình Python.

Quá trình trích xuất các đặc trưng tổng quát

Quá trình trích xuất đặc trưng sẽ sử dụng một số bộ mơ tả để lấy các đặc trưng. Các bộ mơ tả được sử dụng trong quá trình gồm:

- Biểu đồ màu: Giúp xác định màu sắc của hoa.

- Hàm Hu Moments: Giúp nhận dạng hình dạng của hoa. - Hàm Haralick: Giúp nhận dạng kết cấu của hoa.

Theo lý thuyết hình ảnh, hình ảnh được tạo nên bởi một ma trận nhiều số do đĩ ta cần tính tốn để cĩ một cách thức lưu trữ phù hợp và hiệu quả cho tập dữ liệu lớn. Phương pháp sử dụng ở đây là đọc từng hình ảnh trong một thời điểm; trích xuất ba đặc trưng tổng quát như ở trên, kết nối ba đặc trưng này thành một vector đặc trưng tổng quát duy nhất và lưu nĩ cùng với nhãn tên ở định dạng tệp HDF5. Lý do sử dụng định dạng HDF5 là khả năng lưu trữ lớn và cĩ thể xử lý nhanh chĩng.

Chi tiết chức năng của từng bộ mơ tả đặc trưng tổng quát Hu Moments

Để trích xuất đặc trưng Hu Moments từ hình ảnh, ta cần chuyển ảnh sang xám. Sau đĩ làm phẳng các chi tiết với cv2.moments, để thực hiện điều này cần sử dụng hàm cv2. HuMoments() được cung cấp bởi OpenCV.

Kết cấu Haralick

Để trích xuất các đặc trưng kết cấu Haralick từ hình ảnh, trước tiên cũng cần chuyển ảnh sang xám, sau đĩ sử dụng hàm mahotas.features.haralick().

Biểu đồ màu

Để trích xuất đặc trưng Biểu đồ màu từ hình ảnh, chúng ta chuyển ảnh từ khơng gian màu RGB sang khơng gian màu HSV. Tiếp đĩ biểu đồ màu sẽ được lấy thơng qua hàm cv2.calcHist() của bởi OpenCV. Các thơng số của biểu đồ màu bao gồm: vùng màu, độ bão hịa màu,độ sáng của màu sắc. Sau đĩ chúng ta sẽ chuẩn hĩa biểu đồ bằng cách sử dụng chức năng Normalize() của OpenCV. Cuối cùng trả về ma trận bằng cách sử dụng hàm flatten().

Quá trình xử lý tệp dữ liệu hình ảnh

Bộ dữ liệu đầu vào gồm 19 lồi hoa được lấy từ bộ dữ liệu 17 Flowers của trường đại học Oxford và một số loại lấy nguồn từ Internet.

Hình 3. 26: Tập dữ liệu đào tạo

Mỗi thư mục về lồi hoa sẽ gồm 80 hình ảnh về lồi đĩ được chụp từ nhiều gĩc độ và nơi khác nhau. Tên các tập tin sẽ được đặt theo một chuẩn do người thiết kế quy ước để giúp hệ thống cĩ thể đọc được tất cả tệp dễ dàng và nhanh chĩng hơn.

Do các tệp hình ảnh gồm nhiều kích thước khác nhau nên để quá trình trích xuất 3 đặc trưng trên hiệu quả và nhanh chĩng, ta sẽ sử dụng hàm resize() để đưa hình ảnh về một kích thước cố định là 500x500 pixel. Quá trình xử lý đọc tất cả các tệp trong dữ liệu được đặt trong vịng for và tên thư mục chứa các tệp hình ảnh được quy ước chính là tên lồi hoa. Với mỗi hình hình ảnh sau khi trích xuất 3 đặc trưng ở trên sẽ sử dụng hàm npPhstack() của Numpy để thực hiện việc kết nối 3 đặc trưng này.

Nhãn tên các lồi hoa sẽ được mã hĩa bởi hàm LabelEncoder() và được gán cho từng lồi tương ứng với tên thư mục được đặt. Việc mã hĩa giúp các nhãn được biếu diễn dưới dạng số. Trong quá trình trích xuất đặc trưng, một số giá trị cĩ thể vượt quá so với những giá trị khác. Do đĩ ta cần chuẩn hĩa các giá trị này trong một khoảng từ (0-1). Hàm MinmaxScaler() của thư viện scikit-learn sẽ hỗ trợ trong việc

chuẩn hĩa này. Sau khi hồn thành quá trình xử lý tệp trên các đặc trưng và nhãn sẽ được lưu trữ ở dạng file “.h5” trong thư mục vtdactrung. Việc quy ước lưu trữ vào đâu sẽ được quy ước trong đường dẫn lưu trữ.

c. Quá trình đào tạo

Sau khi trích xuất, kết nối, lưu trữ các đặc trưng tổng quát và nhãn vào tập dữ liệu đào tạo ta sẽ đến quá trình đào tạo hệ thống. Trong quá trình này ta sẽ tạo ra một mơ hình học máy xem xét trên 1 số thuật tốn sử dụng lấy từ thư viện scikit- learning.

Các thuật tốn lựa chọn bao gồm: Hồi quy Logistic (), Phân loại tuyến tính (LDA), K – Hàng xĩm gần nhất (KNN), Cây quyết định (CART), Rừng ngẫu nhiên (RF), Thuật tốn Gassian Nạve Bayes (NB) và Máy học vector hỗ trợ (SVM).

Khi đã hồn thành việc tạo các mơ hình học máy với các thuật tốn, ta lấy dữ liệu đã được trích xuất trong phần trước ở dạng file “.h5”. Chuyển đổi dữ liệu lại dạng mảng với hàm array().

Theo lý thuyết về học máy đã được trình bày ở Chương 2, chúng ta sẽ cần chia dữ liệu thành 2 phần gồm 1 phần là dữ liệu đào tạo chiếm phần lớn và 1 phần là dữ liệu kiểm định để đánh giá mơ hình đào tạo. Để thực hiện việc phân chia này ta cĩ thể dùng hàm train_test_split của thư viện scikit-learn. Việc dữ liệu được chia thành các phần như thế nào phụ thuộc vào biến kt_kiemdinh. Thuật tốn K-Ford Cross Validation được sử dụng để đưa ra so sánh các thuật tốn được sử dụng trong mơ hình học máy.

Sau khi hồn thành thực hiện điều trên ta sẽ nhận được kết quả so sánh việc áp dụng các thuật tốn trong mơ hình như sau:

Hình 3. 27: So sánh thuật tốn mơ hình học máy

Dựa vào bảng so sánh trên ta sẽ thấy mơ hình học máy với thuật tốn rừng ngẫu nhiên sẽ cho kết quả tốt nhất với khoảng hơn 70% kết quả dự đốn sẽ chính xác. Vì vậy ta sẽ sử dụng mơ hình máy học với thuật tốn này để nhận dạng và dán nhãn lồi hoa.

d. Quá trình kiểm thử mơ hình

Để kiểm thử lại mơ hình ta cần dữ liệu là những hình ảnh những hoa thuộc 1 trong các lồi được xét, những hình ảnh được sử dụng cĩ thể khác với tập dữ liệu đào tạo. Trong quá trình này, các dữ liệu kiểm tra cũng sẽ được trích xuất 3 đặc trưng tổng quát, kết nối lại. Sau đĩ áp dụng mơ hình học máy với thuật tốn rừng ngẫu nhiên để xác định tên lồi hoa đĩ.

3.6. Kết luận chương

Chương 3 đã đưa ra mơ hình hệ thống tổng quát, các yêu cầu chức năng và phi chức năng trong quá trình thiết kế. Từ đĩ phân tích, thiết kế từng khối trong hệ thống.

CHƯƠNG 4: THỬ NGHIỆM HỆ THỐNG GIÁM SÁT 4.1. Thử nghiệm hoạt động

Hệ thống kiểm tra hoạt động bao gồm:

- 2 nút mạng cảm biến với mỗi nút gầm các cảm biến nhiệt độ và độ ẩm khơng khí, độ ẩm đất, camera VC0706.

- Nút trung tâm được kết nối trực tiếp với máy tính để nhận và hiển thị dữ liệu. Quá trình kiểm tra chức năng của hệ thống bao gồm:

- Dữ liệu từ các nút mạng cảm biến được gửi về trung tâm và hiển thị lên máy tính.

- Hình ảnh chụp từ camera gửi về nút trung tâm và hiển thị lên máy tính - Điều khiển bộ chấp hành tại nút mạng cảm biến từ nút trung tâm. - Thử nhận dạng với mơ hình học máy nhận dạng và dán nhãn.

4.1.1. Kiểm thử nguồn vào các khối

Mạch được cấp nguồn 5V ở đầu vào để nuơi vi xử lý, cảm biến DHT22 và TH-50K. Ngồi ra trong mạch cĩ IC nguồn để chuyển đổi từ nguồn 5V sang 3.3Vsử dụng cho module nRF24L01 và camera VC0706. Bảng 4.1, bảng 4.2 và bảng 4.3 so sánh nguồn cấp cho mạch.

 Điện áp vào khối nguồn

Bảng 4. 1: Kiểm thử điện áp vào khối nguồn

Điện áp yêu cầu(V) Điện áp đo được(V) Sai số(%)

Nút 1 5,0 5,18 3,6

Nút 2 5,0 5,05 1

 Điện áp vào các cảm biến

Bảng 4. 2: Kiểm thử điện áp vào các khối cảm biến Điện áp yêu cầu

(V)

Điện áp đo được

(V) Sai số(%)

Cảm biến DHT11 5,0 5,12 2,4

Cảm biến độ ẩm đất 5,0 5,20 4

 Điện áp vào mạch thu phát nRF24L01:

Điện áp yêu cầu (V)

Điện áp đo được

(V) Sai số (%) Nút mạng cảm biến 1 3,3 3.35 1,5 Nút mạng cảm biến 2 3,3 3,28 0,6 Nút trung tâm 3,3 3,32 0,6

Sai số điện áp của mạch trên các khối so với điện áp đều dưới 5% nên cĩ thể xem nguồn cấp cho các thành phần trong mạch thu và phát là đạt yêu cầu.

4.1.2. Lần 1: Nút mạng cảm biến cách nút trung tâm 100m

 Kịch bản thử nghiệm lần 1:

Hai nút mạng cảm biến đặt ở bãi cỏ trước thư viện Tạ Quang Bửu. Nút trung tâm đặt tại vị trí cách đĩ 100m.

Hình 4. 2: Nút trung tâm đặt cách 100m

 Kết quả hiển thị:

Bảng 4. 4: So sánh kết quả thu được ở nút mạng cảm biến lần thử 1

Một phần của tài liệu DATN-HỆ THỐNG GIÁM SÁT THAM SỐ MÔI TRƯỜNG (Trang 84)

Tải bản đầy đủ (DOCX)

(107 trang)
w