Nghiên cứu, thiết kế chế tạo thiết bị xác định mật độ tảo bằng công nghệ xử lý ảnh

97 2 0
Nghiên cứu, thiết kế chế tạo thiết bị xác định mật độ tảo bằng công nghệ xử lý ảnh

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

HỌC VIỆN NÔNG NGHIỆP VIỆT NAM KHOA CƠ – ĐIỆN ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: NGHIÊN CỨU, THIẾT KẾ CHẾ TẠO THIẾT BỊ XÁC ĐỊNH MẬT ĐỘ TẢO BẰNG CÔNG NGHỆ XỬ LÝ ẢNH Người thực : NGUYỄN DOÃN DUY Mã sinh viên : 605522 Lớp : K60TDHB Chuyên ngành : Tự Động Hóa Giáo viên hướng dẫn : Th.S NGUYỄN KIM DUNG Địa điểm thực : Khoa Cơ – Điện Hà Nội – Năm 2021 THÔNG TIN VỀ SINH VIÊN THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên : Nguyễn Doãn Duy Mã SV : 605522 Tel : 0368610805 Email : bruce01041997@gmail.com Chuyên ngành : Tự Động Hóa Lớp : K60TDHB Khóa : 60 Giáo viên hướng dẫn : Th.S Nguyễn Kim Dung Địa điểm : Khoa Cơ – Điện, Học Viện Nông Nghiệp Việt Nam Sinh viên thực (Ký ghi rõ họ, tên) LỜI CAM ĐOAN Tôi xin cam đoan kết nghiên cứu trình bày đồ án trung thực, khách quan chưa dụng bảo vệ cho đồ án môn học Tôi xin cam đoan giúp đỡ cho việc thực đồ án cảm ơn, thơng tin trích dẫn đồ án rõ nguồn gốc Hà Nội, ngày tháng năm 2021 Sinh viên thực Nguyễn Doãn Duy i LỜI CẢM ƠN Trong suốt trình học tập thực đồ án tốt nghiệp, bên cạnh nỗ lực cố gắng thân, em nhận động viên giúp đỡ lớn nhiều cá nhân tập thể Với lịng kính trọng biết ơn sâu sắc, em xin bày tỏ lời cảm ơn chân thành tới Bộ mơn Tự Động Hóa khoa Cơ – Điện , Học Viện Nông Nghiệp Việt Nam cho phép em thực đề tài Đặc biệt em xin gửi lời cảm ơn tới giảng viên Th.S Nguyễn Kim Dung người giành nhiều thời gian, công sức tận tình giúp đỡ, động viên tạo điều kiện thuận lợi cho em suốt trình nghiên cứu thực đề tài Em xin chân thành cảm ơn thầy, cô giáo, bạn bè người thân động viên, giúp đỡ tạo điều kiện tốt cho em hoàn thành tốt đợt thực tập Do kiến thức thời gian hạn chế nên đồ án khơng thể tránh khỏi thiếu sót, mong q thầy cơ, bạn đóng góp ý kiến để đồ án em hoàn chỉnh tốt Cuối em xin kính chúc tồn thể thầy cô giáo khoa Cơ Điện, thầy cô Học Viện Nơng Nghiệp Việt Nam tồn thể bạn bè người thân sức khỏe, hạnh phúc thành đạt Em xin chân thành cảm ơn! Hà Nội, ngày tháng năm 2021 Sinh viên thực Nguyễn Doãn Duy ii MỤC LỤC LỜI CAM ĐOAN i  LỜI CẢM ƠN ii  MỤC LỤC iii  DANH MỤC BẢNG vi  DANH MỤC HÌNH vii  MỞ ĐẦU 1  Đặt vấn đề 1  Mục đích nghiên cứu đề tài 1  Giới hạn đề tài 2  Thời gian địa điểm thực .2  CHƯƠNG I: TỒNG QUAN TÀI LIỆU .3  1.1.Tổng quan tảo trình sinh trưởng tảo 3  1.1.1 Khái niệm chung tảo 3  1.1.2 Phân loại tảo 4  1.1.3 Tảo Chlorella vulgaris 7  1.1.4 Một số hình ảnh ni tảo quy mô lớn 10  1.2.Một số cơng nghệ ni tảo ngồi nước 10  1.3 Xác định mật độ thời điểm thu hoạch tảo 13  1.4 Tổng quan công nghệ xử lý ảnh .16  1.4.1 Khái quát xử lý ảnh .16  1.4.2 Các thành phần hệ thống xử lý ảnh 18  1.4.3 Những vấn đề xử lý ảnh 19  1.5 Ứng dụng công nghệ xử lý ảnh đời sống .26  1.5.1 Trong y học 26  1.5.2 Trong ngành khí tượng học 27  1.5.3.Trong lĩnh vực địa chất .28  iii 1.5.4 Trong công nghiệp .28  1.6 Kết luận 29  CHƯƠNG II : NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 30  2.1 Bài tốn cơng nghệ 30  2.2 Thiết kế, chế tạo thu thập xử lý ảnh 30  2.2.1 Cấu trúc tổng quan thiết bị xác định mật độ tảo 30  2.2.2 Nguyên lý làm việc 31  2.3.Nội dung nghiên cứu 31  2.4 Phần cứng 32  2.4.1 Máy tính nhúng Raspberry model Pi 3B 32  2.4.2.Camera Module V2 8MP 35  2.4.3.Thẻ nhớ 36  2.4.4 Bơm Nhu Động Kamoer Peristaltic Pump NKP-DCL-S10B 12VDC 36  2.4.5 Nguồn Raspberry (Bộ nguồn cung cấp) 37  2.4.6 Màn hình cảm ứng 7″ (C) WaveShare .38  2.4.7.Ống nhựa dẻo 39  2.4.8.Led trắng 40  2.4.9 Lọ nhựa suốt .40  2.4.10 Mica đen Mica .41  2.4.11: Chiết áp 42  2.5 Phần mềm 43  2.5.1 Hệ điều hành Raspbian 43  2.5.2 Ngơn ngữ lập trình Python 44  2.5.3 Thư viện OpenCV 46  2.5.4 Giới thiệu PyQt5 (phần mềm thiết kế giao diện người dùng) 51  2.6 Thu thập sở liệu 53  2.7 Xác định tương quan màu sắc mật độ tảo 59  2.8 Lưu đồ thuật toán .63  iv 2.9 Xây dựng giao diện thiết bị 65  2.10 kết luận 68  CHƯƠNG III : KẾT QUẢ VÀ THẢO LUẬN 69  3.1.Hình ảnh thực tế thiết bị xác định mật độ tảo 69  3.2 Thử nghiệm đánh giá hệ thống xác định mật độ tảo dựa màu sắc 69  3.3.Kết đạt 77  3.4 Nhận xét đánh giá .77  KẾT LUẬN VÀ ĐỀ NGHỊ 79  1.Kết luận .79  2.Hướng phát triển 80  3.Đề nghị 80  TÀI LIỆU THAM KHẢO 81  PHỤ LỤC .82  v DANH MỤC BẢNG Bảng 2.1 Các kiểu mã thường dùng 46 Bảng 2.2: Số liệu mật độ tính tốn /1ml 54 Bảng 2.3 :Hình cắt mẫu mật độ tương ứng 56 Bảng 2.4 : Mật độ khoảng cách màu sắc mẫu so với gốc 60 Bảng 3.1 Mẫu tảo cần đánh giá mật độ đếm tương ứng 70 Bảng 3.2 Bảng kết mẫu thiết bị đo 72 Bảng 3.3 Mật độ đếm mật độ dùng thiết bị đo 76 vi DANH MỤC HÌNH Hình 1.1: Một số hình ảnh tảo tiêu biểu [1] Hình 1.2 Tảo lục [2] Hình 1.3 Tảo đỏ [3] Hình 1.4 Tảo xoắn ( tảo nước ) [4] Hình 1.5 Tảo nước mặn (Rong Mơ) [5] Hình 1.6: Hình ảnh tảo chlorella vulgaris [ ] Hình 1.7: Hình dạng tế bào tảo Chlorella [ ] Hình 1.8: Đường cong sinh trưởng tảo Hình 1.9: Cơng nghệ ni vi tảo phịng thí nghiệm [ ] 10 Hình 1.10: hình ảnh ni tảo quy mơ lớn [ ] 11 Hình 1.11: Nuôi tảo bể dạng race-way [ 10 ] 12 Hình 1.12: Hình ảnh thực tế khu nuôi vi tảo [ 11 ] 12 Hình 1.13 Buồng đếm hồng cầu [38] 13 Hình 1.14 Diện tích thể tích ô vuông buồng đếm hồng cầu [39] 14 Hình 15 Đĩa Secchi [39] 14 Hình 1.16 Máy đo OD ( quang phổ kế ) [40] 15 Hình 1.17 Quá trình xử lý ảnh 16 Hình 1.18 Các bước xử lý ảnh 17 Hình 1.19 Các thành phần hệ thống xử lý ảnh 18 Hình 1.20 Hệ thống xử ý ảnh 19 Hình 1.21 Ảnh nhị phân có màu trắng đen [ 12 ] 20 Hình 1.22 Ảnh đen trắng [ 13 ] 20 Hình 1.23 Ảnh màu [ 14 ] 21 Hình 1.24 : Ảnh màu RGB [ 32 ] 22 Hình 1.25 Mơ hình khơng gian màu HSV [ 34 ] 23 Hình 1.26 Hệ khơng gian màu HSV [ 35 ] 23 vii Hình 1.27 Sơ đồ chuyển đổi khơng gian màu RGB sang HSV 24 Hình 1.28 Lân cận lân cận 24 Hình 1.29 Ảnh chụp cắt lớp lồng ngực người [ 15 ] 27 Hình 1.30 Ảnh siêu âm 3D thai nhi [ 16 ] 27 Hình 31 Hình ảnh bão từ vệ tinh [ 17 ] 28 Hình 1.32 Hình ảnh địa chất học [ 18 ] 28 Hình 2.1 Sơ đồ cơng nghệ hệ thống xac định mật độ tảo xử lý ảnh 30 Hinh 2.2 Tổng quan thiết bị xác định mật độ tảo 31 Hình 2.3 Raspberry Pi model B [ 19 ] 32 Hình 2.4 Hình ảnh thực tế Raspberry Pi 3B [ 20 ] 33 Hình 2.5 Camera Module V2 8MP [ 21 ] 35 Hình 2.6 Thẻ nhớ cho raspberry [ 22 ] 36 Hình 2.7 Động servo [ 23 ] 36 Hình 2.8 Bộ nguồn cho raspberry [ 24 ] 37 Hình 2.9 Màn hình cảm ứng 7″ (C) WaveShare [ 25 ] 38 Hình 2.10 :Ống nhựa dẻo [ 26 ] 39 Hinh 2.11 :Led trắng [ 27 ] 40 Hình 2.12 Lọ nhựa suốt [ 28 ] 40 Hình2.13 : Mica đen mica [ 29 ] 41 Hình 2.14 : Chiết áp [ 30 ] 42 Hình 15 Giao diện phần mềm Win32Disk Imager 44 Hình 2.16 : Một số hình ảnh thực tế lấy mẫu 55 Hình 2.17 Được đồ thị đặc tính tương quan màu sắc mật độ tảo 61 Hình 2.18 Mật độ khoảng cách màu sắc mẫu số 7-32 với gốc 62 Hình 2.19 Lưu đồ thuật toán 63 Hình 2.20 Lưu đồ tính d 64 Hình 2.21: Cửa sổ New Form 65 Hình 2.22: Cửa sổ làm việc phần mềm PyQT5 Designer 65 viii Bảng 3.2 Bảng kết mẫu thiết bị đo Mẫu tảo cần đánh giá Kết thiết bị đo Mẫu 19,7918 Mẫu 72 Mẫu tảo cần đánh giá Kết thiết bị đo Mẫu Mẫu 73 Mẫu tảo cần đánh giá Kết thiết bị đo Mẫu Mẫu 74 Mẫu tảo cần đánh giá Kết thiết bị đo Mẫu Mẫu 75 Bảng 3.3 Mật độ đếm mật độ dùng thiết bị đo Stt Mật độ tảo đếm Mật độ dùng thiết bị Sai số tuyệt Sai số được(triệu tế đo được(triệu tế đối (tr tế bào tương bào/ml) bào/ml) /ml) đối (%) 25.5250 24.9098 0.62 2.42 20.4200 19.7918 0.63 3.08 16.3360 15.6878 0.66 4.03 13.1742 11.9498 1.23 9.33 10.7474 10.4138 0.33 3.07 8.8783 9.2018 0.33 3.72 7.4255 7.0898 0.34 4.58 6.2831 6.8018 0.52 8.28 0.58 4.81 Trung bình + Đánh giá thử nghiệm : Từ kết thử nghiệm cho thấy so với phương pháp đếm tảo truyền thống thiết bị xác định mật độ tảo phạm vi:  Sai số trung bình tuyệt đối là: 0.58 triệu tế bào /ml Trong sai số tuyệt đối nhỏ 0.33 , sai số tuyệt đối lớn 1.23  Sai số trung bình tương đối la: 4.81% Với sai số tương đối nhỏ 2.42% , sai số tương đối lớn 9.33%  Sai số mà ta gặp phải số lý sau: Do trình pha loãng , tảo chưa lắc mà tiến hành chụp, ảnh hưởng yếu tố bên ngoai ánh sáng buồng chưa đạt độ đồng cao Mặc dù thiết bị nghiên cứu đạt kết tương đối tốt, nhiên số hạn chế trình đánh giá số lượng mẫu thử 76 nghiệm cịn ít, thời gian đánh giá chưa nhiều nên thiết bị chưa hoàn thiện cách hoàn hảo 3.3.Kết đạt Sau thời gian tiến hành tìm hiểu, nghiên cứu tài liệu chuyên ngành tiếng Việt tiếng Anh, tìm hiểu thêm qua mạng Internet, tổng hợp lại kiến thức học suốt năm hướng dẫn cô Th.s Nguyễn Kim Dung em hoàn thành đồ án tốt nghiệp với đề tài “NGHIÊN CỨU, THIẾT KẾ CHẾ TẠO THIẾT BỊ XÁC ĐỊNH MẬT ĐỘ TẢO BẰNG CÔNG NGHỆ XỬ LÝ ẢNH”  Hiểu rõ thuật toán xử lý ảnh nắm cấu tạo nguyên lý làm việc kit raspberry  Nghiên cứu biết cách viết chương trình Python đồng thời kết hợp với thư viện openCV để làm tăng tính hiệu hệ thống  Nghiên cứu thiết kế giao diện cho hệ thống lấy mẫu  Thiết kế thành công xác định mật độ tảo tương đối xác 3.4 Nhận xét đánh giá Sau thời gian nghiên cứu, thi cơng đồ án tốt nghiệp với đề tài “NGHIÊN CỨU, THIẾT KẾ CHẾ TẠO THIẾT BỊ XÁC ĐỊNH MẬT ĐỘ TẢO BẰNG CƠNG NGHỆ XỬ LÝ ẢNH” hồn thiện Nhìn chung, mơ hình hoạt động ổn định, làm việc liên tục, đạt 100% yêu cầu đề ban đầu Người dùng thao tác cách đơn giản, dễ sử dụng Hê thống đảm bảo an toàn gọn nhẹ dễ di chuyển Tuy nhiên, hạn chế kiến thức thời gian thực hiện, nguồn tài liệu tham khảo chủ yếu thông qua internet nên đề tài khơng tránh khỏi sai sót cịn số hạn chế: 77  Vì điều kiện kinh phí thời gian có hạn, nên em thực mơ hình tương đối hồn chỉnh, tính thẩm mỹ khơng cao  Q trinh lấy mẫu đếm tảo cịn sai sót  Chưa lấy thực nghiệm mẫu tảo thực tế lấy qua hình ảnh chụp từ trước đưa vào để thực nghiệm  Thiết bị chụp hệ thơng anh sáng cịn chưa cần cải thiện để mang lại hiệu chụp xác 78 KẾT LUẬN VÀ ĐỀ NGHỊ 1.Kết luận Sau thời gian tìm hiểu, nghiên cứu thực hiện, em hoàn thành đề tài “NGHIÊN CỨU, THIẾT KẾ CHẾ TẠO THIẾT BỊ XÁC ĐỊNH MẬT ĐỘ TẢO BẰNG CÔNG NGHỆ XỬ LÝ ẢNH” hệ thống đáp ứng đầy đủ tính năng, nội dung mục tiêu ban đầu đề ra:  Sử dụng tốt phần mềm chuyên ngành như: Python, OpenCV  Hiểu rõ thuật toán xử lý ảnh nắm cấu tạo nguyên lý làm việc kit raspberry  Nghiên cứu biết cách viết chương trình Python đồng thời kết hợp với thư viện openCV để làm tăng tính hiệu hệ thống  Nghiên cứu thiết kế giao diện cho hệ thống lấy mẫu  Thiết kế thành công thiết bị xác định mật độ tảo Tuy nhiên, hạn chế kiến thức thời gian thực hiện, nguồn tài liệu tham khảo chủ yếu thông qua internet nên đề tài không tránh khỏi sai sót cịn số hạn chế:  Vì điều kiện kinh phí thời gian có hạn, nên em thực mơ hình tương đối hồn chỉnh  Vẫn cịn phức tạp để ứng dụng vào thực tế  Trong trình đánh giá số lượng mẫu thử nghiệm cịn ít, thời gian đánh giá chưa nhiều nên thiết bị chưa hoàn thiện cách hoàn hảo  Quá trinh lấy mẫu đếm tảo cịn sai sót  Chưa lấy thực nghiệm mẫu tảo thực tế lấy qua hình ảnh chụp từ trước đưa vào để thực nghiệm  Thiết bị chụp hệ thông ánh sáng chưa cần cải thiện để mang lại hiệu chụp xác 79  Mới xét đặc tuyến từ đến 32 từ 1-6 ta chưa giải Hướng phát triển  Có thể nâng cấp xây dựng app điện thoại để quản lý chụp từ xa  Nâng cấp toàn phần cứng để thiết bị hoạt động hiệu đặc biệt hệ thống đèn nâng cấp để có ánh sáng  Quá trình lấy mẫu sở liệu cần lấy nhiều mẫu tăng độ xác Đề nghị Trong trình thực đề tài, việc tìm kiếm tài liệu cịn gặp nhiều khó khăn, em mong nhà trường khoa xây dựng phịng thí nghiệm đại với trang thiết bị đại Để cập nhật thêm số tài liệu phần mềm cần thiết để sinh viên tìm tài liệu dễ dàng Dù cố gắng thời gian hạn hẹp kiến thức hạn chế nên đồ án hồn thành cịn nhiều thiếu sót mong thầy, cô giáo hội đồng giúp đỡ để đề tài phát triển hồn thiện mở rộng áp dụng vào nhiều lĩnh vực sống 80 TÀI LIỆU THAM KHẢO Giáo trình xử lý ảnh – PGS.TS Nguyễn Quang Hoan – 2006 (Học viện cơng nghệ bưu viễn thơng) https://blog.vietanhdev.com/posts/2018-09-19-anh-so-va-cac-khong-gianmau-trong-xu-ly-anh/ https://mlab.vn/index.php?_route_=17161-bai-7-lap-trinh-giao-dien-voipyqt5-cho-raspberrypi-phan-1.html&fbclid=IwAR0-DY-dKwBneqAQdSclV6D0185-x9Vf9TZk3J9emXSSZll_j7SvbtknWE https://openplanning.net/11381/huong-dan-lap-trinh-python-cho-nguoimoi-bat-dau 81 PHỤ LỤC Code giao diện code xác định mật độ tảo from PyQt5 import QtWidgets,uic from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel, QVBoxLayout from PyQt5 import QtCore from PyQt5.QtGui import QIcon, QPixmap, QFont from PyQt5.QtCore import QTimer, QTime, Qt import time import cv2 import numpy as np import array as arr import math global cp global tgian_dau global tgian_set tgian_dau = time.time() tgian_set = def chup(): global cp cp=1 xuly() def Time(): current_time = QTime.currentTime() label_time = current_time.toString('hh:mm:ss') call.lb_time.setText(label_time) call.lb_time.setAlignment(QtCore.Qt.AlignCenter) 82 def xuly(): namechup = 'dong2.jpg' tgian = time_h = global tgian_set tongBH = tongGH = tongRH = tongBm = tongGm = tongRm = start_name = doc = cv2.imread(str(namechup)) ghep = cv2.imread("ANH_GHEP_DONG.jpg") cells = [np.hsplit(row,7) for row in np.vsplit(ghep,5)] xc = np.array(cells) mang = [] mang2 = k = start_name mangss = [0]*36 mang_md = [0,37.12727273,34.03333333,31.41538462,29.17142857,27.22666667,25.525,2 4.02352941,22.68888889,21.49473684,20.42,19.44761905,18.56363636,17.756 52174,17.01666667,16.336,15.70769231,15.12592593,14.08275862,13.174193 55,12.37575758,11.66857143,11.03783784,9.96097561,9.075555556,8.334693 878,7.705660377,6.482539683,5.91884058,5.445333333,5.041975309,4.48791 2088,4.043564356,3.679279279,3.375206612 ] 83 mang_d = [0]*36 mat_do_1 = mat_do_2 = stt = BH = RH = GH = tong = tong1 = tam = doc = cv2.imread("dong35.jpg") #tinh toan mau img = cv2.imread("d11.jpg") for y in range(0,30): for x in range(0,30): px_m= img[x][y] #B G R Bm = px_m[0] Gm= px_m[1] Rm = px_m[2] px = doc[x][y] #B G R B = px[0] G = px[1] R = px[2] if R >= Rm: RH = pow((R - Rm),2) else: RH = pow((Rm - R),2) 84 if G >= Gm: GH = pow((G - Gm),2) else: GH = pow((Gm - G),2) if B >= Bm: BH = pow((B - Bm),2) else: BH = pow((Bm - B),2) tong1 = BH + RH + GH tong = tong + tong1 d = round(math.sqrt(tong)) print(d) tong1 = tong = # tinh toan gia tri mat mat_do = y = 0.006*d + 3.8318 print("Mat cua tao hien tai la:",mat_do,"(Trieu te bao/ml)") k = 0; pixmap2 = QPixmap(str(namechup)) call.image_chup.setPixmap(pixmap2) text = str(mat_do) call.ht_mau.setText(text) call.ht_mau.setAlignment(QtCore.Qt.AlignCenter) app=QtWidgets.QApplication([]) call=uic.loadUi("untitled.ui") call.bt_chup.clicked.connect(chup) call.show() call.timer = QTimer() 85 call.timer.timeout.connect(Time) call.timer.start(1000) app.exec() 86

Ngày đăng: 06/07/2023, 22:05

Tài liệu cùng người dùng

Tài liệu liên quan