Hầu hết giao dịch mua bán cá bột, cá hương, cá giống hiện nay trên thị trường vẫn còn sử dụng phương pháp thủ công để ước lượng và đếm mẫu. Từ số lượng cá mua bán, sẽ biết được tổng số cân cá, phải giao cho người mua cá. Các phương pháp này tốn nhiều nhân công, sức khỏe cá giống, đặc biệt có sự sai số trong quá trình đếm, như vậy khó có sự minh bạch giữa người bán và người mua. Vì vậy, tự động hóa quá trình nhận dạng và đếm số lượng cá giống là một nhu cầu thực tế. Xuất phát từ chính nhu cầu thực tế đó mà nhóm đã đưa ra quyết định chọn đề tài: “Thiết kế và thi công hệ thống đếm số lượng cá giống” để tiến hành nghiên cứu và thực hiện.
CHƯƠNG TỔNG QUAN Chương TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ Theo Tổng cục Thống kê lượng thủy sản ni trồng tháng đầu năm 2018 đạt 1.793,5 nghìn tấn, tăng 6,4% so với kỳ năm trước, cá đạt 1.310,2 nghìn tấn, tăng 6,1%; tơm đạt 292,6 nghìn tấn, tăng 11,2% Ni cá tra sản phẩm chủ lực ngành Thuỷ sản Việt Nam sau tôm Nhiều năm qua, nghề nuôi cá tra gặp thuận lợi giá, người ni có lãi nên diện tích ni mở rộng Tính chung tháng, diện tích ni cá tra nước ước tính đạt 14,3 nghìn ha, tăng 6,8% so với kỳ năm trước, diện tích ni cá tra thâm canh, bán thâm canh đạt 4,5 nghìn ha, tăng 10,2%; diện tích ni cá tra quảng canh quảng canh cải tiến 9,8 nghìn ha, tăng 5,3% Sản lượng cá tra tháng ước tính đạt 603,1 nghìn tấn, tăng 8,1% so với kỳ năm trước, Đồng Tháp đạt 191,8 nghìn tấn, tăng 4,5%; An Giang 159,8 nghìn tấn, tăng 14,7% Qua đó, số lượng cá giống tăng nhanh chóng chất lượng số lượng Tồn vùng đồng sơng Cửu Long có 108 sở cho sinh sản nhân tạo cá tra gần 1.900 hộ ương dưỡng cá giống với diện tích 1.500 ha, sản lượng cá bột sản xuất ước đạt 16,5 tỷ con, tập trung tỉnh như: An Giang, Đồng Tháp, Cần Thơ… Trong An Giang tỉnh sản xuất cung ứng cá tra giống chủ yếu khu vực đồng sông Cửu Long Hầu hết giao dịch mua bán cá bột, cá hương, cá giống thị trường sử dụng phương pháp thủ công để ước lượng đếm mẫu Đối với cá bột có cách: cách thứ dùng cân (loại cân đĩa, cân 1g trở lên), cân bì trước Bì cốc, chậu thuỷ tinh hay bát có chứa nước Dùng vợt rớt cá bột để bắt cá, giữ vợt để cá vừa nước Cân 2-5 gam cá thả vào bát nước Dùng thìa canh múc đếm số cá vừa cân Lặp lại vài lần thế, để lấy số trung bình (số con/gam) Biết số lượng cá bán, tính khối lượng cá (bao gam), để cân giao cho nguời mua cá Cách thứ hai: nhiều địa phương tự làm lấy dụng cụ đặc biệt, chuyên để đong cá bột, goi giăng Đây thìa đặc biệt, có hình dạng nửa cầu, đục thủng nhiều lỗ nhỏ để thoát nước Giăng có nhiều cỡ to, BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH CHƯƠNG TỔNG QUAN nhỏ tương ứng với số lượng cá bột nhiều hay tính sẵn Cách thứ ba: đổ vào cốc thuỷ tinh có chia độ 3-4 cc nước Sau đổ cá bột róc nước vào cốc cho nước dâng lên 2-3 cc Đếm số cá bột cốc tính cc có cá bột Từ suy số cá bột định mua tương ứng với số cc Đối với cá hương, cá giống: dùng phương pháp cân mẫu để 100 gam hay 1000 gam có bao cá Từ số lượng cá mua bán, biết tổng số cân cá, phải giao cho người mua cá Các phương pháp tốn nhiều nhân công, sức khỏe cá giống, đặc biệt có sai số q trình đếm, khó có minh bạch người bán người mua Vì vậy, tự động hóa q trình nhận dạng đếm số lượng cá giống nhu cầu thực tế Xuất phát từ nhu cầu thực tế mà nhóm đưa định chọn đề tài: “Thiết kế thi công hệ thống đếm số lượng cá giống” để tiến hành nghiên cứu thực Để đảm bảo việc thi công mạch theo ý tưởng, chuẩn xác không xảy cố bắt buộc ta phải tính tốn thiết kế Nên nhóm đề mục tiêu thi cơng hệ thống đếm số lượng cá giống ảnh hiển thị hình Tính tốn, thiết kế khối hệ thống như: khối nguồn, khối xử lý trung tâm, khối led, khối camera, khối hiển thị 1.2 MỤC TIÊU Thiết kế hệ thống (raspberry, camera lcd) đếm số lượng cá giống Sử dụng mã nguồn mở OpenCV vào xử lý ảnh 1.3 NỘI DUNG NGHIÊN CỨU 1.3.1 Kết nối thiết bị - Tìm hiểu thông tin linh kiện sản phẩm, thông số kỹ thuật - Kết nối module - Cài đặt hệ điều hành, chương trình sử dụng, thư viện cho raspberry 1.3.2 Tiến hành xử lý - Xử lý chụp, lấy ảnh đầu vào - Đọc hiển thị hình ảnh (ảnh xám): sử dụng matplotlib để đọc file - Tạo mặt nạ nhị phân cho ảnh: dùng phương pháp Otsu BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CHƯƠNG TỔNG QUAN - Làm mặt nạ: loại bỏ đóm chấm nhỏ rong rêu, rác… - Phân đoạn nền, tìm biên cá - Đếm số lượng cá - Hiển thị hình 1.3.3 Tiến hành thử nghiệm hồ cá có sẵn - Thu nhận, xử lý kết đạt - Cân chỉnh phù hợp 1.3.4 Thiết kế thi công môi trường đếm - Chọn hồ chứa cá có màu nền, cân chỉnh mực nước phù hợp - Điều chỉnh ánh sang (không mờ, chóa) đảm bảo ảnh chụp tốt - Lắp ráp thiết bị, hoàn thiện hệ thống 1.3.5 Thu thâp nhận xét kết - Lấy kết so sánh với thực tế tính tốn sai số - Nhận xét nêu ưu nhược điểm hệ thống - Nêu hướng phát triển 1.3.6 Viết báo cáo - Thu thập kết viết đề cương báo cáo - Viết báo cáo - Chỉnh sửa, kiểm tra lần cuối trước nôp báo cáo - Tiến hành báo cáo 1.4 1.5 GIỚI HẠN - Số lượng lần đếm nhỏ 50 cá thể - Kích thước cá thể từ 1-2cm BỐ CỤC Chương 1: Tổng quan Đặt vấn đề liên quan đến đề tài, tìm hiểu lý cần thiết để thực đề tài, mục tiêu hoàn thành, giới hạn bước từ đến cụ thể mà nhóm thực q trình nghiên cứu đề tài BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CHƯƠNG TỔNG QUAN Chương 2: Cơ sở lý thuyết Trình bày kiến thức ngôn ngữ Python, lý thuyết Raspberry Pi 3, lý thuyết module camera pi, lý thuyết hình lcd 16x2 áp dụng đề tài Chương 3: Tính tốn Thiết kế Trình bày sơ đồ khối hệ thống, tính tốn thiết kế cho khối Chương 4: Thi công hệ thống Thi công bể chứa cá Thi công mạch theo thiết kế Lập trình điều khiển cho Pi Kiểm tra, chạy thử nghiệm tinh chỉnh lỗi Chương 5: Kết quả, Nhận xét Đánh giá Trình bày kết đạt đưa bàn luận sản phẩm Chương 6: Kết luận hướng phát triển Kết luận chung đề tài hướng phát triển BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Chương CƠ SỞ LÝ THUYẾT GIỚI THIỆU VỀ HỆ THỐNG XỬ LÝ ẢNH 2.1 2.1.1 Giới thiệu chung Xử lý ảnh lĩnh vực mang tính khoa học cơng nghệ Nó ngành khoa học mẻ so với nhiều ngành khoa học khác tốc độ phát triển nhanh, kích thích trung tâm nghiên cứu, ứng dụng, đặc biệt máy tính chun dụng riêng cho Xử lý ảnh đưa vào giảng dạy bậc đại học nước ta khoảng chục năm Nó mơn học liên quan đến nhiều lĩnh vực cần nhiều kiến thức sở khác Đầu tiên phải kể đến xử lý tín hiệu số mơn học cho xử lý tín hiệu chung, khái niệm tích chập, biến đổi Fourier, biến đổi Laplace, lọc hữu hạn… Thứ hai, công cụ tốn đại số tuyến tính, sác xuất, thống kê Một số kiến thứ cần thiết trí tuệ nhân tạo, mạng nơron nhân tạo đề cập q trình phân tích nhận dạng ảnh Các phương pháp xử lý ảnh ứng dụng chính: nâng cao chất lượng ảnh phân tích ảnh Ứng dụng biết đến nâng cao chất lượng ảnh báo truyền qua cáp từ Luân đôn đến New York từ năm 1920 Vấn đề nâng cao chất lượng ảnh có liên quan tới phân bố mức sáng độ phân giải ảnh Việc nâng cao chất lượng ảnh phát triển vào khoảng năm 1955 Điều giải thích sau chiến thứ hai, máy tính phát triển nhanh tạo điều kiện cho trình xử lý ảnh sơ thuận lợi Năm 1964, máy tính có khả xử lý nâng cao chất lượng ảnh từ mặt trăng vệ tinh Ranger Mỹ bao gồm: làm đường biên, lưu ảnh Từ năm 1964 đến nay, phương tiện xử lý, nâng cao chất lượng, nhận dạng ảnh phát triển không ngừng Các phương pháp tri thức nhân tạo mạng nơ ron nhân tạo, thuật toán xử lý đại cải tiến, công cụ nén ảnh ngày áp dụng rộng rãi thu nhiều kết khả quan Để dễ tưởng tượng, xét bước cần thiết xử lý ảnh Đầu tiên, ảnh tự nhiên từ giới thu nhận qua thiết bị thu (như camera, máy chụp BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ảnh) Trước đây, ảnh thu qua Camera ảnh tương tự (loại camera ống kiểu CCIR) Gần đây, với phát triển công nghệ, ảnh màu đen trắng lấy từ camera, sau chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý Mặt khác, ảnh tiếp nhận từ vệ tinh; quét từ ảnh chụp máy quét ảnh Hình 2.1 Các bước xử lý ảnh Sơ đồ bao gồm thành phần sau: a Phần thu nhận ảnh (Image Acquisition) Ảnh nhận qua camera màu đen trắng Thường ảnh nhận qua camera ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, ảnh 25 dòng), có loại camera số hoá (như loại CCD – Change Coupled Device) loại photodiot tạo cường độ sáng điểm ảnh Camera thường dùng loại qt dòng; ảnh tạo có dạng hai chiều Chất lượng ảnh thu nhận phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh) b Tiền xử lý (Image Processing) Sau thu nhận, ảnh nhiễu độ tương phản thấp nên cần đưa vào tiền xử lý để nâng cao chất lượng Chức tiền xử lý lọc nhiễu, nâng độ tương phản để làm ảnh rõ hơn, nét c Phân đoạn (Segmentation) hay phân vùng ảnh Phân vùng ảnh tách ảnh đầu vào thành vùng thành phần để biểu diễn phân tích, nhận dạng ảnh Ví dụ: để nhận dạng chữ (hoặc mã vạch) phong bì thư cho mục đích phân loại bưu phẩm, cần chia câu, chữ địa tên người thành từ, chữ, số (hoặc vạch) riêng biệt để nhận dạng Đây BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT phần phức tạp khó khăn xử lý ảnh dễ gây lỗi, làm độ xác ảnh Kết nhận dạng ảnh phụ thuộc nhiều vào công đoạn d Biểu diễn ảnh (Image Representation) Đầu ảnh sau phân đoạn chứa điểm ảnh vùng ảnh (ảnh phân đoạn) cộng với mã liên kết với vùng lận cận Việc biến đổi số liệu thành dạng thích hợp cần thiết cho xử lý máy tính Việc chọn tính chất để thể ảnh gọi trích chọn đặc trưng (Feature Selection) gắn với việc tách đặc tính ảnh dạng thơng tin định lượng làm sở để phân biệt lớp đối tượng với đối tượng khác phạm vi ảnh nhận Ví dụ: nhận dạng ký tự phong bì thư, miêu tả đặc trưng ký tự giúp phân biệt ký tự với ký tự khác e Nhận dạng nội suy ảnh (Image Recognition and Interpretation) Nhận dạng ảnh trình xác định ảnh Quá trình thường thu cách so sánh với mẫu chuẩn học (hoặc lưu) từ trước Nội suy phán đốn theo ý nghĩa sở nhận dạng Ví dụ: loạt chữ số nét gạch ngang phong bì thư nội suy thành mã điện thoại Có nhiều cách phân loai ảnh khác ảnh Theo lý thuyết nhận dạng, mô hình tốn học ảnh phân theo hai loại nhận dạng ảnh bản: - Nhận dạng theo tham số - Nhận dạng theo cấu trúc Một số đối tượng nhận dạng phổ biến áp dụng khoa học công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạng văn (text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người… f Cơ sở tri thức (Knowledge Base) Như nói trên, ảnh đối tượng phức tạp đường nét, độ sáng tối, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu Trong nhiều khâu xử lý phân tích ảnh ngồi việc đơn giản hóa phương pháp tốn BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT học đảm bảo tiện lợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận xử lý ảnh theo cách người Trong bước xử lý đó, nhiều khâu xử lý theo phương pháp trí tuệ người 2.1.2 Các khái niệm xử lý ảnh a Điểm ảnh (Picture Element) Gốc ảnh (ảnh tự nhiên) ảnh liên tục không gian độ sáng Để xử lý máy tính (số), ảnh cần phải số hoá Số hoá ảnh biến đổi gần ảnh liên tục thành tập điểm phù hợp với ảnh thật vị trí (không gian) độ sáng (mức xám) Khoảng cách điểm ảnh thiết lập cho mắt người không phân biệt ranh giới chúng Mỗi điểm gọi điểm ảnh (PEL: Picture Element) hay gọi tắt Pixel Trong khuôn khổ ảnh hai chiều, pixel ứng với cặp tọa độ (x, y) Điểm ảnh (Pixel) phần tử ảnh số toạ độ (x, y) với độ xám màu định Kích thước khoảng cách điểm ảnh chọn thích hợp cho mắt người cảm nhận liên tục không gian mức xám (hoặc màu) ảnh số gần ảnh thật Mỗi phần tử ma trận gọi phần tử ảnh b Độ phân giải ảnh Độ phân giải (Resolution) ảnh mật độ điểm ảnh ấn định ảnh số hiển thị Theo định nghĩa, khoảng cách điểm ảnh phải chọn cho mắt người thấy liên tục ảnh Việc lựa chọn khoảng cách thích hợp tạo nên mật độ phân bổ, độ phân giải phân bố theo trục x y không gian hai chiều c Mức xám ảnh Một điểm ảnh (pixel) có hai đặc trưng vị trí (x, y) điểm ảnh độ xám Dưới xem xét số khái niệm thuật ngữ thường dùng xử lý ảnh BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Định nghĩa: Mức xám điểm ảnh cường độ sáng gán giá trị số điểm Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức 256 mức phổ dụng Lý do: từ kỹ thuật máy tính dùng byte (8 bit) để biểu diễn mức xám: Mức xám dùng byte biểu diễn: 28=256 mức, tức từ đến 255) Ảnh đen trắng: ảnh có hai màu đen, trắng (khơng chứa màu khác) với mức xám điểm ảnh khác Ảnh biểu diễn dạng tín hiệu tương tự tín hiệu số Trong biểu diễn số ảnh đa mức xám, ảnh biểu diễn dạng ma trận hai chiều Mỗi phần tử ma trận biểu diễn cho mức xám hay cường độ ảnh vị trí Hình 2.2 Biểu diễn mức xám ảnh số Trong hình 2.2, lưới chia ô vuông tưởng tượng đặt lên ảnh Độ lớn vng lưới xác định kích thước điểm ảnh Mức xám điểm tính cường độ sáng trung bình ô vuông Mắt lưới nhỏ chất lượng ảnh cao Trong kỹ thuật truyền hình tiên tiến, (mục đích cung cấp cho người xem), hình ảnh cần chất lượng cao với độ phân giải gấp hai lần so với chuẩn Trong kỹ thuật tương tự, ảnh thường biểu diễn dạng dòng nằm ngang Mỗi dòng tín hiệu tương tự mang theo BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT thông tin cường độ sáng dọc theo đường nằm ngang ảnh gốc Ảnh TV lên qua dòng quét Mặc dù thuật ngữ "tương tự" dùng để mô tả cho ảnh quét liên tiếp thực tế ảnh tương tự dọc theo hướng nằm ngang Nó rời rạc xét theo hướng dọc mà tín hiệu ảnh tín hiệu lai nửa tương tự, nửa số Ảnh đen trắng bao gồm màu: màu đen màu trắng Người ta phân mức đen trắng thành L mức sử dụng số bit B=8 bit để mã hóa mức đen trắng (hay mức xám) L xác định: L=2B (trong ví dụ ta L=28= 256 mức) (2.1) Nếu L 2, B=, nghĩa có mức: mức mức 1, gọi ảnh nhị phân Mức ứng với màu sáng, mức ứng với màu tối Nếu L lớn ta có ảnh đa cấp xám Nói cách khác, với ảnh nhị phân điểm ảnh mã hóa bit, với ảnh 256 mức, điểm ảnh mã hóa bit Như vậy, với ảnh đen trắng: dùng bit (1 byte) để biểu diễn mức xám, số mức xám biểu diễn 256 Mỗi mức xám biểu diễn dạng số nguyên nằm khoảng từ đến 255, với mức biểu diễn cho mức cường độ đen 255 biểu diễn cho mức cường độ sáng Ảnh nhị phân đơn giản, phần tử ảnh coi phần tử logic Ứng dụng dùng theo tính logic để phân biệt đối tượng ảnh với hay để phân biệt điểm biên với điểm khác Ảnh màu: khuôn khổ lý thuyết ba màu (Red, Blue, Green) để tạo nên giới màu, người ta thường dùng byte để mô tả mức màu, giá trị màu: 28*3=224≈ 16,7 triệu màu d Ảnh số Ảnh số tập hợp điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật e Đo khoảng cách điểm ảnh BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 10 TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC o0o -Tp HCM, ngày 30 tháng 12 năm 2018 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên : Võ Sĩ Nguyên Lớp: 13141DT1C MSSV: 13141211 Tên đề tài: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐẾM SỐ LƯỢNG CÁ GIỐNG Tuần/ngày Tuần (24/9 – 30/9) Tuần (01/10 – 07/10) Tuần (08/10 – 14/10) Tuần (15/10 – 21/10) Tuần 10 (22/10 – 28/10) Tuần 11 (29/10 – 04/11) Tuần 12,13 (05/11 – 18/11) Tuần 14 (19/11 – 25/11) Tuần 15 (26/11 – 02/12) Tuần 16 (03/12 – 09/12) Tuần 17 (10/12 – 16/12) Tuần 18,19 (17/12 – 30/12) Tuần 20,21 (01/01 – 14/01) Tuần 22 (15/01 – 21/01) Xác nhận GVHD Nội dung Gặp giáo viên hướng dẫn, nhận đề tài đồ án tốt nghiệp Tìm tài liệu phục vụ cho nghiên cứu thực đề tài, viết đề cương đồ án tốt nghiệp Thiết kế sơ đồ khối, tìm tài liệu, nghiên cứu đề tài Cài đặt công cụ hỗ trợ lập trình điều khiển để thực đề tài Cài đặt phần mềm, kết nối với module camera Lập trình điều khiển Module camera chụp ảnh, lập trình xử lý ảnh đầu vào Lập trình xử lý ảnh, kết nối module LCD thông qua I2C, xuất liệu LCD Chỉnh sửa, hồn thiện lập trình cho tồn hệ thống Thiết kế thi cơng hồ chứa, chỉnh sửa, hồn thiện hệ thống Chạy thử nghiệm thực tế tinh chỉnh, đóng gói sản phẩm Lấy kết thực nghiệm viết đề cương cho báo cáo Viết báo cáo tốt nghiệp Chỉnh sửa, kiểm tra lần cuối nộp báo cáo Báo cáo đồ án tốt nghiệp GV HƯỚNG DẪN (Ký ghi rõ họ tên) iii LỜI CAM ĐOAN Đề tài nhóm đồ án tự thực dựa vào số tài liệu cơng trình nghiên cứu, khơng chép từ tài liệu hay cơng trình có trước Nếu có chép nhóm đồ án hồn tồn chịu trách nhiệm Tp Hồ Chí Minh, ngày 07 tháng 01 năm 2019 Người thực đề tài Võ Sĩ Nguyên iv LỜI CẢM ƠN “Uống nước nhớ nguồn, ăn nhớ kẻ trồng cây” truyền thống mang giá trị nhân văn vô quý báu mà từ xưa đến ông cha ta dạy gìn giữ tận ngày hơm Chính lẽ mà nhóm nghiên cứu ln ln vơ tỏ lòng biết ơn chân thành đến tất người giúp đỡ nhóm tận tình thời gian qua để hồn thành tốt đề tài đồ án tốt nghiệp “Thiết kế thi công hệ thống đếm số lượng cá giống” Và điều vô đặc biệt mà không nhắc đến hướng dẫn vơ tận tình Thầy ThS.Nguyễn Duy Thảo Thầy Cô môn Điện Tử Công Nghiệp – Y Sinh giúp đỡ nhiệt tình nhóm suốt q trình nghiên cứu hồn thành đề tài giao Quả với câu “Không Thầy đố mày làm nên” Vì thế, lời báo cáo đồ án tốt nghiệp này, Nhóm muốn dành lời cảm ơn chân thành sâu sắc đến Thầy ThS.Nguyễn Duy Thảo Thầy Cô môn Điện Tử Công Nghiệp – Y Sinh Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chính Minh Đồng thời nhóm nghiên cứu thể biết ơn bạn lớp góp ý kiến xây dựng đề tài hồn thiện Khơng thể qn được, nhóm nghiên cứu xin gửi lời cảm ơn đến đấng sinh thành dưỡng dục hỗ trợ, động viên niềm động lực lớn lao để nhóm hồn thành tốt đề tài Mặc dù cố gắng nhiều, nhóm khó tránh khỏi lúc làm Thầy Cô, bạn phiền lòng Kính mong q Thầy Cơ, bạn lượng thứ bỏ qua Với vốn kiến thức hạn hẹp kinh nghiệm sống ỏi chắn báo cáo có sai lầm thiếu sót Nhóm nghiên cứu làm thứ lỗi mong nhận dạy, đóng góp vơ q báu q Thầy bạn để nhóm hồn thiện tốt đề tài Một lần nữa, xin chân thành cảm ơn! Người thực đề tài Võ Sĩ Nguyên v MỤC LỤC Trang bìa i Nhiệm vụ đồ án ii Lịch trình iii Cam đoan iv Lời cảm ơn v Mục lục vi Liệt kê hình vẽ viii Liệt kê bảng vẽ x Tóm tắt xi Chương TỔNG QUAN …………………………………………………………….1 1.1 ĐẶT VẤN ĐỀ ………………………………………………………………… 1.2 MỤC TIÊU …………………………………………………………………… 1.3 NỘI DUNG NGHIÊN CỨU …………………………………………………… 1.3.1 Kết nối thiết bị ………………………………………………………………2 1.3.2 Tiến hành xử lý …………………………………………………………… 1.3.3 Tiến hành thử nghiệm hồ cá có sẵn …………………………………….3 1.3.4 Thiết kế thi công môi trường đếm ………………………………………… 1.3.5 Thu thâp nhận xét kết ………………………………………………… 1.3.6 Viết báo cáo ……………………………………………………………… 1.4 GIỚI HẠN ………………………………………………………………………3 1.5 BỐ CỤC ……………………………………………………………………… Chương CƠ SỞ LÝ THUYẾT …………………………………………………… 2.1 GIỚI THIỆU VỀ HỆ THỐNG XỬ LÝ ẢNH ………………………………… 2.1.1 Giới thiệu chung …………………………………………………………….5 2.1.2 Các khái niệm xử lý ảnh …………………………………… 2.1.3 Các vấn đề khác xử lý ảnh ……………………………………… 12 2.1.4 Các phương pháp xử lý đối tượng ảnh ……………….14 2.2 TÌM HIỂU HỀ ĐIỀU HÀNH RASPBIAN, NGÔN NGỮ PYTHON, THƯ VIỆN OPENCV …………………………………………………………………………… 24 2.2.1 Hệ điều hành raspbian ………………………… .24 vi 2.2.2 Ngôn ngữ python ………………………………………………………… 25 2.2.3 Thư viện OpenCV ……………………………………………………….…27 2.3 GIỚI THIỆU PHẦN CỨNG ………………………………………………… 30 2.3.1 Raspberry Pi Model B V1.2 …………………………………………… 30 2.3.2 Module camera Raspberry Pi V1.3 ………………………………… 33 2.3.3 LCD 16x2 ……………………………………………………………… 34 2.3.4 Module I2C ……………………………………………………………… 36 Chương TÍNH TỐN VÀ THIẾT KẾ ……………………………………… .39 3.1 GIỚI THIỆU ……………………………………………………………… ….39 3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG ……………………………… … 39 3.2.1 Thiết kế sơ đồ khối hệ thống ………………………………………… … 39 3.2.2 Tính tốn thiết kế hệ thống ………………………………………… .40 Chương THI CÔNG HỆ THỐNG ………………………………………… ……48 4.1 GIỚI THIỆU ……………………………………………………………… .48 4.2 THI CƠNG HỆ THỐNG …………………………………………………… 49 4.2.1 Thi cơng bể chứa ………………………………………………………… 49 4.3 ĐĨNG GĨI …………………………………………………………………….53 4.4 LẬP TRÌNH HỆ THỐNG …………………………………………………… 54 4.4.1 Lưu đồ giải thuật ………………………………………………………… 54 4.4.2 Phần mềm lập trình ……………………………………………………… 59 4.5 TÀI LỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC ……………………………59 4.5.1 Tài liệu hướng dẫn sử dụng ……………………………………………… 59 4.5.2 Quy trình thao tác………………………………………………………… 60 Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ ……………………………… 63 5.1 KẾT QUẢ MƠ PHỎNG…………………………………………………… .63 5.1.1 Hình ảnh tiền xử lý ……………………………………………………… 63 5.1.2 Xử lý phân ngưỡng …………………………………………………………64 5.1.3 Tiến hành đếm vẽ đánh số……………………………………………….65 5.1.4 Kết thống kê ………………………………………………………… 65 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN……………………………….67 6.1 KẾT LUẬN …………………………………………………………………….67 6.2 HƯỚNG PHÁT TRIỂN…………………………………………………… 67 TÀI LIỆU THAM KHẢO xii PHỤ LỤC … xiii vii LIỆT KÊ HÌNH VẼ Hình Trang Hình 2.1: Các bước xử lý ảnh Hình 2.2: Biểu diễn mức xám ảnh số Hình 2.3: Lân cận điểm ảnh tọa độ 11 Hình 2.4: Chuyển đổi hệ thống màu RGB sang Grayscale 15 Hình 2.5: Ảnh minh họa nàng Lena 17 Hình 2.6: Ví dụ minh họa với ngưỡng 127 18 Hình 2.7: Ví dụ minh họa cho phương pháp phân ngưỡng khác 19 Hình 2.8: Ảnh xám nàng Lena 20 Hình 2.9: Ảnh nàng Lena sau phân ngưỡng Ostu 21 Hình 2.10: Một số kiểu đường biên thông dụng 22 Hình 2.11: Ảnh minh họa thuật toán Watershed 24 Hình 2.12: Mặt trước Board Raspberry Pi3 Model B 31 Hình 2.13: Sơ đồ thành phần Raspberry Pi3 Model B 32 Hình 2.14: Module camera Raspberry Pi V1.3 33 Hình 2.15: LCD 16x2 35 Hình 2.16: Module I2C 36 Hình 2.17: Kết nối thiết bị vào bus I2C 37 Hình 2.18: Hoạt động SDA, SCL truyền nhận liệu 37 Hình 3.1: Sơ đồ khối hệ thống 39 Hình 3.2: Sơ đồ kết nối hệ thống 41 Hình 3.3: Hình mặt trước mặt sau Raspberr Pi Model B 42 Hình 3.4: Sơ đồ chân Raspberry Pi Model B 43 Hình 3.5: Module Camera Raspberry Pi V1.3 43 Hình 3.6: Module I2C 44 Hình 3.7: Module I2C kết nối với LCD 16x2 45 Hình 3.8: Led dây 46 Hình 3.9: Adapter 5V-2.5A 46 Hình 3.10: Adapter 12V-3A 47 Hình 4.1: Kết hiển thị hình 48 Hình 4.2: Kết hiển thị LCD 49 Hình 4.3: Phun sơn trắng làm 49 viii Hình 4.4: Lắp led dây 50 Hình 4.5: Kết nối module 50 Hình 4.6: Cài đặt camera cho hệ thống 51 Hình 4.7: Đóng gói điều khiển 53 Hình 4.8: Hệ thống hồn chỉnh 54 Hình 4.9: Lưu đồ giải thuật hệ thống 55 Hình 4.10: Lưu đồ giải thuật chương trình 56 Hình 4.11: Chuyển qua ảnh xám 57 Hình 4.12: Trừ Threshold 57 Hình 4.13: Ảnh đả lọc chấm nhỏ 57 Hình 4.14: Vẽ biên đánh số 58 Hình 4.15: kết hiển thị LCD 58 Hình 4.16: Giao diện lâp trình 59 Hình 4.17: Lưu đồ miêu tả lại trình bước vận hành hệ thống 60 Hình 4.18: Giao diện đăng nhập 61 Hình 4.19: Bật Terminal 61 Hình 4.20: Giao diện đánh lệnh 62 Hình 4.21: Kết hình 62 Hình 5.1: Ảnh tiền xử lý 63 Hình 5.2: Ảnh sau phân đoạn ngưỡng 64 Hình 5.3: kết sau lọc 64 Hình 5.4: Kết đếm vẽ biên 65 ix LIỆT KÊ BẢNG Bảng Trang Bảng 2.1: Các mã kiễu thường dùng 26 Bảng 2.1: Thông số kỹ thuật Raspberry Pi Model B 31 Bảng 3.1: Kết nối phần cứng Module I2C với Raspberry Pi 44 Bảng 5.1: Thống kê kết đếm cá có kích thước 1-2cm 65 Bảng 5.2: Thống kê kết đếm cá có kích thước 2-3cm 66 x TÓM TẮT Mục đích đề tài tạo hệ thống đếm số lượng cá giống đối tượng khác Giúp người dùng đếm cá cách xác nhanh chóng tiết kiệm thời gian cơng sức Nhóm nghiên cứu sử dụng xử lý ảnh hỗ trợ raspberry pi model B kết hợp với số module như: Camera, I2C, LCD Cùng với xử lý trung tâm Raspberry Pi model B để xử lý hình ảnh phân tích đếm số lượng cá Hệ thống đếm số lượng cá giống hoạt động sau: đặt cá cần đếm vào hồ chứa (số lượng < 50 cá thể) điều khiển camera chụp ảnh, lấy ảnh đầu vào xử lý phương pháp xử lý ảnh chuyển qua ảnh xám, trừ nền, lọc nhiễu… đếm số lượng cá ảnh Khi có kết hệ thống xuất liệu LCD hiển thị Hệ thống giúp người sử dụng đếm cá với số lượng lớn với tốc độ cao xác Thay cho phương pháp truyền thống phân luồng hay đoán kinh nghiệm nhiều thời gian cơng sức độ xác lại khơng cao Điểm bật hệ thống dễ dàng sử dụng cho người dùng, hoạt động 24/24 Sản phẩm có tính ứng dụng cao khơng cho việc đếm cá giống mà dễ dàng thay đổi để đếm số lượng đối trượng khác xi TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO Sách tham khảo [1] Nguyễn Thanh Hải, Giáo trình: “Xử Lý Ảnh”, Xuất Bản ĐH Quốc Gia TP.HCM, 2014 [2] Maria Patterson, “Counting change – image analysis in Python”, Opensciencecafe.org, 2016 [3] Adrian Rosebrock, “Watershed OpenCV”, pyimagesearch.com, 2015 [4] Tuan Nguyen, “Hiển thị liệu từ Raspberry Pi lên LCD16x2 qua mạch chuyển tiếp LCM1602”, Raspi.vn, 2017 [5] Nguyễn Quang Hoan, “Xử Lý Ảnh”, Trung tâm đào tạo BƯU CHÍNH VIỄN THƠNG1,2006 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH xii PHỤ LỤC PHỤ LỤC GIẢI THÍCH CHƯƠNG TRÌNH Khai báo thư viện: import numpy as np import cv2 import matplotlib.pyplot as plt from skimage import color from skimage.filters import threshold_otsu from skimage import filters from skimage import morphology from skimage.morphology import disk from skimage import feature, measure from skimage.morphology import watershed from skimage.feature import peak_local_max from skimage.morphology import watershed from scipy import ndimage import argparse from matplotlib import pyplot as plt import smbus import time Khởi tao kết nối, truyền liệu LCD qua I2C I2C_ADDR = 0x3f LCD_WIDTH = 16 LCD_CHR = LCD_CMD = LCD_LINE_1 = 0x80 LCD_LINE_2 = 0xC0 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH xiii PHỤ LỤC LCD_BACKLIGHT = 0x08 ENABLE = 0b00000100 E_PULSE = 0.0005 E_DELAY = 0.0005 bus = smbus.SMBus(1) def lcd_init(): lcd_byte(0x33,LCD_CMD) lcd_byte(0x32,LCD_CMD) lcd_byte(0x06,LCD_CMD) lcd_byte(0x0C,LCD_CMD) lcd_byte(0x28,LCD_CMD) lcd_byte(0x01,LCD_CMD) time.sleep(E_DELAY) def lcd_byte(bits, mode): bits_high = mode | (bits & 0xF0) | LCD_BACKLIGHT bits_low = mode | ((bits