Mơ hình máy học nhận dạng và dán nhãn hoa

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 89)

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 Nhiệt độ khơng khí () Độ ẩm khơng khí (%) Độ ẩm đất (%) Giá trị đo được Sai số (%) Giá trị đo được Giá trị chuẩn Giá trị đo được Giá trị chuẩn Nút mạng cảm biến 1 28,60 1,38 59,30 59,305% 100 1005% Nút mạng cảm biến 2 27,80 4,13 64,50 64,505% 100 1005% Kết quả dữ liệu nhiệt độ và độ ẩm hiển thị ở trung tâm cĩ kết quả sát với kết quả đo ở thiết bị đo chuẩn, các giá trị này được cập nhật liên tục khi cĩ sự thay đổi của mơi trường. Điều này cho thấy kết quả đo khá chính xác, quá trình dữ liệu được truyền qua mạng khơng dây từ các nút về nút trung tâm khơng cĩ lỗi xảy ra.

Hình ảnh chụp hoa từ camera ở nút thu 1 gửi về nút trung tâm qua mạng khơng dây được hiển thị lên phần mềm như ở hình 4.3. Ảnh thu được là ảnh định dạng JPEG kích thước 240x160, được chụp từ camera VC0706 kết nối với vi xử lý, sau khi vi xử lý nhận dữ liệu ảnh sẽ đẩy lên máy tính thơng qua cổng COM. Hình ảnh hoa được hiển thị lên phần mềm giống với hoa chụp ở nút 1, độ chính xác cao ở lần truyền duy nhất, tuy nhiên hình ảnh khá mờ. Cĩ thể chụp được ảnh với kích thước cao hơn tuy nhiên dữ liệu ảnh sẽ lớn hơn nên khi truyền qua mạng khơng dây sẽ mất một khoảng thời gian dài, với kích thước ảnh 240x160 thì camera VC0706 mất 6 – 7s để truyền ảnh về trung tâm.

4.1.3. Lần 2: Nút mạng cảm biến cách nút trung tâm 200m

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

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 đĩ 200m.

Hình 4. 4: Phần mềm hiển thị lần thử nghiệm 2

Hình 4. 5: Phần mềm hiển thị truy vấn từ xa

Giá trị của nhiệt độ, độ ẩm thu được từ những cảm biến của mạch so với thiết bị đo chuẩn tương đối chính xác. Dữ liệu hiển thị liên tục và thay đổi khi các thơng số thu được cho thấy đường truyền khơng bị gián đoạn.

Hình ảnh chụp hoa từ camera ở nút thu 1 gửi về nút trung tâm qua mạng khơng dây được hiển thị lên phần mềm như ở hình 4.4. Hình ảnh hoa được hiển thị lên phần mềm giống với hoa chụp ở nút 1, cho thấy khơng cĩ lỗi trong quá trình truyền. Mặc dù khoảng cách truyền xa hơn nhưng vẫn trong tầm nhìn thẳng nên thời

gian truyền ảnh từ nút 1 về trung tâm cĩ tăng lên nhưng khơng đáng kể vì tốc độ truyền dữ liệu của nRF24L01 là cao.

Bảng 4. 5: So sánh kết quả thu được ở nút mạng cảm biến lần thử 2 Nhiệt độ khơng khí () Độ ẩm khơng khí (%) Độ ẩm đất (%) Giá trị đo được Sai số (%) Giá trị đo được Giá trị chuẩn Giá trị đo được Giá trị chuẩn Nút cảm biến 1 30,40 5 70,30 70,305% 99 1005% Nút cảm biến 2 31,40 1,88 74,80 74,805% 99 1005%

4.1.4. Lần 3: Kiểm tra độ ổn định của mạch

Nút mạng cảm biến

Hệ thống được thử nghiệm tính ổn định bằng cách cho hoạt động liên tục 1 ngày ở trong phịng 618 thư viện Tạ Quang Bửu. Các kết quả nhiệt độ,độ ẩm thu được ở nút trung tâm từ các nút cảm biến là chính xác, khơng cĩ lỗi trong quá trình truyền và hiển thị. Kết nối giữa các nút cảm biến và nút trung tâm luơn đảm bảo, khơng bị ngắt quãng.

Camera truyền ảnh

Camera thử nghiệm tính ổn định bằng cách điều khiển chụp ảnh liên tục trong 15’ từ trung tâm điều khiển, mỗi ảnh chụp mất khoảng thời gian 8 – 9s để hiển thị lên phần mềm. Camera cĩ bị nĩng do hoạt động liên tục nhưng ảnh vẫn được truyền về và hiển thị lên phần mềm chính xác. Tuy vậy, để camera hoạt động tốt cần thêm thành phần tản nhiệt hoặc hạn chế sử dụng liên tục.

4.1.5. Điều khiển bộ chấp hành từ nút trung tâm

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

Nút mạng cảm biến được gắn với 1 relay và 1 máy bơm 9V, tại phần mềm giám sát trung tâm mục “ĐK động cơ” được bật thành ON.

Hình 4. 6: Điều khiển ngược bộ chấp hành

 Kết quả thử nghiệm:

Bộ cơ cấu chấp hành được lắp ở nút mạng cảm biến, ở đây sử dụng máy bơm nước. Cách thử nghiệm tính ổn định của bộ cơ cấu chấp hành là điều khiển bằng phần mềm ở trung tâm, khi nhấn nút ON trên phần mềm, nếu ở nút 1 thì máy bơm ở nút 1 sẽ bơm nước, khi nhấn nút OFF thì sẽ ngưng bơm. Hoạt động điều khiển ngược bộ cơ cấu chấp hành được thử nghiệm liên tục trong 10’, bộ cơ cấu hoạt động chính xác mỗi lần nhận lệnh điều khiển từ trung tâm tuy nhiên khoảng cách giữa 2 lần tắt mở phải trên 3s, khi tắt máy bơm cịn cĩ thời gian trễ khoảng 2 – 3s cần khắc

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 89)