Đồ án Đếm số lượng viên thuốc có trong vỉ thuốc

BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH --------------------------------- ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: ĐẾM SỐ LƯỢNG VIÊN THUỐC CÓ TRONG VỈ THUỐC GVHD: ThS. Nguyễn Duy Thảo SVTH: Võ Danh Quân 15141259 Nguyễn Minh Hảo 15141149 Tp. Hồ Chí Minh - 12/2019 LỜI CAM ĐOAN Đề tài này là do tôi tự thực hiện dựa vào một số tài liệu trước

pdf78 trang | Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 258 | Lượt tải: 0download
Tóm tắt tài liệu Đồ án Đếm số lượng viên thuốc có trong vỉ thuốc, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
đó và không sao chép từ tài liệu hay công trình đã có trước đó. Nhóm thực hiện Võ Danh Quân Nguyễn Minh Hảo iii LỜI CẢM ƠN Nhóm thực hiện đồ án xin gửi lời cảm ơn đến thầy GVHD Th.S Nguyễn Duy Thảo đã trực tiếp hướng dẫn, tham gia đóng góp, gợi ý các ý kiến, chia sẽ nhiều những kinh nghiệm và tận tình giúp đỡ cũng như tạo điều kiện tốt và thoải mái nhất để chúng em có thể hoàn thành tốt đề tài này. Em xin gửi lời cảm ơn đến các quý thầy cô khoa Điện – Điện tử đã giúp đỡ và tạo điều kiện tốt cho chúng em thực hiện đề tài. Ngoài ra, chúng em cũng cảm ơn các bạn học ở lớp 15141DT2C cũng như 15141DT1B đã chia sẽ và giúp đỡ chúng em rất nhiều trong đề tài này. Xin chân thành cảm ơn tất cả ! Nhóm thực hiện Võ Danh Quân Nguyễn Minh Hảo iv MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP...i LỊCH TRÌNH LÀM ĐỒ ÁN TỐT NGHIỆP..ii LỜI CAM ĐOAN..iii LỜI CẢM ƠNiv MỤC LỤC......v LIỆT KÊ HÌNH....vii LIỆT KÊ BẢNG.....x Chương 1. TỔNG QUAN ......1 1.1. ĐẶT VẤN ĐỀ.....2 1.2. MỤC TIÊU......2 1.3. NỘI DUNG NGHIÊN CỨU2 1.4. GIỚI HẠN...2 1.5. BỐ CỤC...2 Chương 2. CƠ SỞ LÝ THUYẾT............................................................................... 4 2.1. TỔNG QUAN VỀ XỬ LÍ ẢNH......4 2.1.1. Giới thiệu về xử lý ảnh.4 2.1.2. Các bước cơ bản trong xử lý ảnh ....5 2.1.3. Không gian màu ......6 2.1.3.1. Mô hình màu RGB......6 2.1.3.2. Không gian màu HSV ....8 2.1.3.3. Cách chuyển từ không gian màu RGB sang không gian màu HSV.8 2.1.4.Xử lý hình thái học (Morphology) 9 2.1.4.1. Phép toán giản nở .10 2.1.4.2. Phép toán co(Erosion)...10 2.1.4.3. Phép toán mở (Opening)...... 10 2.1.4.4. Phép toán đóng (Closing)..... 11 2.1.5. Cách vẽ đường viền..... 12 2.2. NGÔN NGỮ PYTHON VÀ THƯ VIỆN OPENCV ...12 2.2.1. Hệ điều hành Raspbian ....12 2.2.2. Ngôn ngữ Python......................................................................................... 13 v 2.2.3. Thư viện OpenCV ....15 2.2.3.1.Giới thiệu OpenCV ......15 2.3. GIỚI THIỆU PHẦN CỨNG 16 2.3.1. Giới thiệu chuẩn giao tiếp UART......16 2.3.2.1. Raspberry Pi 3 Model B16 2.3.3. Camera USB Logitech C270 ...20 2.3.4. Lcd 16x2...21 2.3.5. Arduino Uno R3....23 2.3.6. Module điều khiển động cơ L298.....25 2.3.7. Servo SG90...27 2.3.8. Băng chuyền và Step motor .....28 2.3.9. Cảm biến siêu âm SRF 04.....29 Chương 3: TÍNH TOÁN VÀ THIẾT KẾ.....30 3.1. GIỚI THIỆU..30 3.2. TÍNH TOÁN VÀ THIẾT KẾ ...31 3.2.1. Thiết kế sơ đồ khối của hệ thống ..31 3.2.2. Tính toán và thiết kế mạch.... 32 3.2.2.1. Thiết kế khối thu tín hiệu hình ảnh...32 3.2.2.2. Thiết kế khối cảm biến..33 3.2.2.3. Thiết kế khối hiển thị....34 3.2.2.4. Khối công suất..35 3.2.2.5. Khối xử lý trung tâm.....36 3.2.2.6. Sơ đồ nguyên lí mạch điện của hệ thống..38 Chương 4. THI CÔNG HỆ THỐNG....41 4.1. GIỚI THIỆU..41 4.2. ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH...41 4.2.1. Đóng gói bộ điều khiển .....41 4.2.2. Thi công mô hình...42 4.3. LẬP TRÌNH HỆ THỐNG 42 4.3.1. Lưu đồ giải thuật ...42 4.3.1.1. Lưu đồ chương trình trên Raspberry ....42 4.3.1.2. Lưu đồ chương trình trên Arduino ...44 vi 4.3.1.3. Lưu đồ chương trình đo khoảng cách của cảm biến siêu âm46 4.3.1.4. Lưu đồ chương trình của timer2....47 4.3.2. Phần mềm lập trình cho vi điểu khiển .48 4.4. VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG – THAO TÁC ...49 4.4.1. Viết tài liệu hướng dẫn sử dụng ....49 Chương 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ.. .51 5.1. KẾT QUẢ ĐẠT ĐƯỢC .......51 5.2. KẾT QUẢ THỰC NGHIỆM ....51 5.2.1. Mô hình sản phẩm ....51 5.2.2. Kết quả thực nghiệm từ việc nhận diện số thuốc ..53 5.3. NHẬN XÉT – ĐÁNH GIÁ ..55 5.3.1. Nhận xét ......55 5.3.2. Đánh giá ......55 Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.. ..60 6.1. KẾT LUẬN ....60 6.2. HƯỚNG PHÁT TRIỂN ...61 PHỤC LỤC...62 I. Chương trình trên Raspberry62 II. Chương trình trên Arduino...64 TÀI LIỆU THAM KHẢOxv vii LIỆT KÊ HÌNH Hình Trang Hình 2.1. Các bước cở bản trong xử lí ảnh. .......5 Hình 2.2. Mô hình màu RGB......5 Hình 2.3. Ba kênh màu RGB riêng biệt..... 5 Hình 2.4. Hình tròn màu sắc HSV......8 Hình 2.5. Ảnh gốc và ảnh sau khi dùng phép giản nở .....10 Hình 2.6. Ảnh gốc và ảnh sau khi dùng phép co .....10 Hình 2.7. Ảnh gốc và ảnh sau khi dùng phép mở ....11 Hình 2.8. Ảnh gốc và ảnh sau khi dùng phép đóng .11 Hình 2.9. Giao diện của Raspberry chạy hệ điều hành Raspbian 13 Hình 2.10. Cửa sổ cho phép hoạt động các chuẩn giao tiếp.13 Hình 2.11. Phần mềm Python.......14 Hình 2.12. Raspberry Pi 1 Model B..17 Hình 2.13. Raspberry Pi 2.17 Hình 2.14. Raspberry Pi 3 Model B .18 Hình 2.15. Sơ đồ chân Raspberry Pi 3..19 Hình 2.16. Cấu trúc phần cứng của Raspberry Pi 3..19 Hình 2.17. Camera Logitech C270...20 Hình 2.18. Lcd 16x2.21 Hình 2.19. Sơ đồ chân Lcd 16x2..22 Hình 2.20. Arduino Uno R3..23 Hình 2.21. Module điều khiển động cơ L298...25 Hình 2.22. Sơ đồ chân của module L298..26 Hình 2.23. Mạch nguyên lý của module L298..26 Hình 2.24. Hình ảnh của servo SG90........27 Hình 2.25. Băng chuyền ...........28 Hình 2.26. Step motor.......28 Hình 2.27 biến siêu âm SRF04.....29 Hình 3.1. Sơ đồ khối của hệ thống31 Hình 3.2. Sơ đồ nguyên lý kết nối khối thu tín hiệu hình ảnh với Raspberry Pi 3+ ...33 viii Hình 3.3. Sơ đồ nguyên lý kết nối cảm biến siêu âm SRF05 với arduino UNO R3..33 Hình 3.4. Sơ đồ nguyên lý kết nối LCD 16x2 với Arduino R3....34 Hình 3.5. Sơ đồ nguyên lý kết nối servo SG90 với Arduino R3..35 Hình 3.6. Sơ đồ nguyên lý kết nối Step motor với Arduino R3.......35 Hình 3.7. Sơ đồ nguyên lý ngoại vi sử dụng....36 Hình 3.8. Sơ đồ kết nối thẻ nhớ với Raspberry....37 Hình 3.9. Sơ đồ chân Raspberry Pi 3+.....38 Hình 3.10. Sơ đồ nguyên lí toàn hệ thống39 Hình 4.1. Sơ đồ bố trí thiết bị được đóng gói trong mô hình ......41 Hình 4.2. Hình ảnh vị trí các thiết bị được bố trí trên mô hình hệ thống.42 Hình 4.3. Lưu đồ chương trình trên Raspberry....42 Hình 4.4. Lưu đồ chương trình trên Arduino.......44 Hình 4.5. Lưu đồ chương trình đo khoảng cách của cảm biến siêu âm...46 Hình 4.6. Lưu đồ chương trình của timer2...47 Hình 4.7. Phần mềm lập trình Arduino IDE.....48 Hình 4.8. Giao diện chính của phần mềm Arduino IDE.......49 Hình 4.9. Một đoạn code của chương trình Arduino49 Hình 4.10. Giao diện của Terminal khi thực hiện dòng lệnh50 Hình 4.11. Giao diện output khi chưa có vỉ thuốc50 Hình 5.1. Mô hình hệ thống mặt trên51 Hình 5.2: Mô hình của hệ thống mặt bên phải......52 Hình 5.3: Mô hình của hệ thống mặt bên trái.......52 Hình 5.4. Đếm số thuốc con nhộng đúng chuẩn ( 2 viên).....53 Hình 5.5. Đếm số thuốc màu gạch đúng chuẩn ( 6 viên) .53 Hình 5.6. Đếm số thuốc con nhộng đúng chuẩn ( 8 viên).....53 Hình 5.7. Đếm số thuốc màu gạch đúng chuẩn ( 4 viên)......54 Hình 5.8. Đếm số thuốc màu gạch đúng chuẩn ( 9 viên)..........................................54 Hình 5.9. Đếm đúng tại trường hợp không có viên thuốc nào trên vỉ..54 Hình 5.10. Đếm sai tại trường hợp thuốc nhộng có 3 viên thuốc.....55 Hình 5.11. Đếm sai tại trường hợp thuốc gạch có 8 viên thuốc55 ix LIỆT KÊ BẢNG Bảng Trang Bảng 3.1. Bảng thống kê dòng tiêu thụ của các thiết bị38 Bảng 5.1. Bảng giám sát đánh giá đếm số lượng viên thuốc ( thuốc tròn màu cam)...57 Bảng 5.2. Bảng giám sát đánh giá đếm số lượng viên thuốc ( thuốc nhộng)...58 x CHƯƠNG 1. TỔNG QUAN Chương 1. TỔNG QUAN 1.1. ĐẶT VẤN ĐỀ Thế giới đang trong làn sóng của cuộc cách mạng công nghiệp 4.0. Công nghệ về điều khiển thông minh và điều khiển tự động cũng phát triển theo, chúng được ứng dụng trong nhiều lĩnh vực trong công nghiệp và đời sống. Tự động hóa là một nhân tố quan trọng trong quá trình công nghiệp hóa và hiện đại hóa. Nhờ có tự động hóa trong công nghiệp, các nhà máy đã và đang trở nên hiệu quả hơn trong việc sử dụng năng lượng, nguyên vật liệu và nguồn nhân lực. Tự động hóa trong công nghiệp là việc sử dụng các hệ thống quản lý như máy tính, robot và công nghệ thông tin để điều khiển các loại máy móc và quy trình sản xuất khác nhau trong công nghiệp. Bên cạch đó Hệ Thống Nhúng là một phần không thể thiếu, đặc biệt trong các hệ thống điều khiển, với những tính năng thích ứng với môi trường công nghiệp và giá thành rẻ. Do đó, nhóm chúng tôi chọn hướng nghiên cứu, ứng dụng Xử lí ảnh trong hệ thống nhúng vào dây chuyền sản xuất trong Dược. Ứng dụng tự động hóa vào sản xuất Dược là một lĩnh vực còn khá mới mẻ, một trong những yêu cầu nghiêm ngặt trong một mô hình sản xuất Dược là môi trường vô trùng nên việc giảm sự có mặt của con người tham gia vào dây chuyền sản xuất là một trong những bài toán đang được giải quyết. Nhận thấy điều đó thì nhóm chúng tôi đã nghiên cứu và thi công hệ thống có thể tự động loại bỏ những vỉ thuốc lỗi sau khi ép vỉ để giảm bớt nhân công phải phân loại sau khi thành phẩm. Để giải quyết vấn đề đó một trong những giải pháp tối ưu nhất là dùng công nghệ xử lý ảnh, với công nghệ xử lý ảnh hiện nay và tốc độ xử lý cao là thể đáp ứng được. Để đáp ứng nhu cầu thực tế trên giúp cho hệ thống của nhà máy ngày càng được tối ưu và muốn ứng dụng những kiến thức đã học vào thực tiễn. Được sự giới thiệu của bộ môn và cùng với sự hỗ trợ từ GVHD. Nhận thấy sự mới mẻ và cần thiết của mô hình nên nhóm chúng tôi quyết định chọn đề tài “ĐẾM SỐ LƯỢNG VIÊN THUỐC CÓ TRONG VỈ THUỐC” để nghiên cứu và thực hiện đề tài tốt nghiệp. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 1 CHƯƠNG 1. TỔNG QUAN 1.2. MỤC TIÊU Mục tiêu của đề tài là thực hiện đếm chính xác số viên thuốc có trong vỉ thuốc để phân loại vỉ thuốc lỗi dùng Board Raspberry Pi 3B+. Dùng phương pháp xử lí ảnh với dữ liệu được lấy từ camera. Từ đó những mục tiêu được đặt ra trong đề tài là:  Thiết kế được mô hình băng chuyền.  Thiết kế buồng sáng.  Thiết kế giao tiếp giữa Arduino với Raspberry.  Thiết kế được cần gạt thuốc lỗi. 1.3. NỘI DUNG NGHIÊN CỨU  Thiết kế và thi công hệ thống gồm băng chuyền, buồng sáng, cần gạt...  Lắp rắp các khối điều khiển vào hệ thống.  Chạy thử nghiệm hệ thống.  Cân chỉnh hệ thống.  Viết sách đồ án.  Báo cáo đề tài tốt nghiệp. 1.4. GIỚI HẠN  Hệ thống gồm băng chuyền, camera, cảm biến, cần gạt, lcd hiển thị.  Trong môi trường có ánh sáng cố định, phụ thuộc vào tốc độ băng chuyền.  Đếm được 2 – 4 loại thuốc nhất định.  Mô hình chỉ đếm được 1 loại thuốc trước khi đếm loại tiếp theo ở một khoảng thời gian nhất định. 1.5. BỐ CỤC Chương 1: Tổng Quan Chương này trình bày lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn và bố cục đồ án. Chương 2: Cơ Sở Lý Thuyết. Chương này trình bày về xử lý ảnh, giới thiệu ngôn ngữ Python và thư viện OpenCv, nguyên lý hoạt động của hệ thống qua hai phương pháp, giới thiệu các chuẩn giao tiếp được sử dụng trong hệ thống, giới thiệu phần cứng. Chương 3: Thiết Kế và Tính toán BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 2 CHƯƠNG 1. TỔNG QUAN Ở chương này chúng em trình bày về: thiết kế sơ đồ khối cho hệ thống, tính toán thiết kế cho từng khối, sơ đồ nguyên lý của toàn mạch, thiết kế buồng sáng. Chương 4: Thi công hệ thống Chương này trình bày sơ đồ: mạch in, các linh kiện sử dụng trong mạch, thi công mô hình, lập trình hệ thống, viết lưu đồ giải thuật, viết tài liệu hướng dẫn sử dụng thao tác. Chương 5: Kết Quả, Nhận Xét và Đánh Giá Chương này trình bày kết quả của quá trình nghiên cứu, nếu ra những khó khăn trong quá trình làm và cách khắc phục, nhận xét mô hình đã làm có đạt hay không. Chương 6: Kết Luận và Hướng Phát Triển Chương này trình bày: đánh giá mô hình hoạt động ổn hay không, đạt bao nhiêu phần trăm so với ban đầu đặt ra. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 3 CHƯƠNG 2. CƠ SỞ LÍ THUYẾT Chương 2. CƠ SỞ LÝ THUYẾT 2.1. TỔNG QUAN VỀ XỬ LÍ ẢNH 2.1.4. Giới thiệu về xử lý ảnh Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là một ngành khoa học mới so với nhiều ngành khoa học khác nhưng tốc độ phát triển đang rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó. Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng ảnh và phân tích ảnh. Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báo được truyền qua cáp từ Luân Đôn đến New York từ những năm 1920. Hiện nay xử lý ảnh được ứng dụng trong nhiều lĩnh vực: Chính trị, y tế, giáo dục... Xử lý tín hiệu là một môn học trong kỹ thuật điện tử, viễn thông và trong toán học. Nghiên cứu và xử lý tín hiệu kỹ thuật số và analog, giải quyết các vấn đề về lưu trữ, các thành phần bộ lọc, các hoạt động khác trên tín hiệu Các tín hiệu này bao gồm truyền dẫn tín hiệu, âm thanh hoặc giọng nói, hình ảnh, và các tín hiệu khác. Cũng như xử lý dữ liệu bằng đồ hoạ, xử lý ảnh số là một lĩnh vực của tin học ứng dụng. Xử lý dữ liệu bằng đồ họa đề cập đến những ảnh nhân tạo, các ảnh này được xem xét như là một cấu trúc dữ liệu và được tạo bởi các chương trình. Xử lý ảnh số bao gồm các phương pháp và kỹ thuật biến đổi, để truyền tải hoặc mã hoá các ảnh tự nhiên. Mục đích của xử lý ảnh gồm:  Biến đổi ảnh làm tăng chất lượng ảnh.  Tự động nhận dạng ảnh, đoán nhận ảnh, đánh giá các nội dung của ảnh. Trong số các phương pháp xử lý tín hiệu kể trên, lĩnh vực giải quyết với các loại tín hiệu mà đầu vào là một hình ảnh và đầu ra cũng là một hình ảnh, sản phẩm đầu ra được thực hiện trong một quá trình xử lý, đó chính là quá trình xử lý ảnh. Nó có thể được chia thành xử lý hình ảnh tương tự và xử lý hình ảnh kỹ thuật số. Để dễ tưởng tượng, xét các bước cần thiết trong xử lý ảnh. Đầu tiên, ảnh tự nhiên từ thế giới ngoài được thu nhận qua các thiết bị thu (như Camera, máy chụp ảnh) sau đó nó được chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo.[1] BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 4 CHƯƠNG 2. CƠ SỞ LÍ THUYẾT 2.1.5. Các bước cơ bản trong xử lý ảnh Thu nhận ảnh Tiền xử lý ảnh Phân đoạn ảnh Biểu diễn ảnh Nhận dạng ảnh Hình 2.1. Các bước cơ bản trong xử lí ảnh. Phần thu nhận ảnh (Image Acquisition): Ảnh có thể nhận qua camera màu hoặc đen trắng. Thường ảnh nhận qua camera là ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh 25 dòng), cũng có loại camera đã số hoá (như loại CCD – Change Coupled Device) là loại photodiot tạo cường độ sáng tại mỗi điểm ảnh. Camera thường dùng là loại quét dòng; ảnh tạo ra có dạng hai chiều. Chất lượng một ảnh thu nhận được phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh). Tiền xử lý (Image Processing): Sau bộ thu nhận, ảnh có thể nhiễu độ tương phản thấp nên cần đưa vào bộ tiền xử lý để nâng cao chất lượng. Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độ tương phản để làm ảnh rõ hơn, nét hơn. Phân đoạn ảnh: Phân đoạn ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễn phân tích, nhận dạng ảnh. Đây là phần phức tạp khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chính xác của ảnh. Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này. Biểu diễn ảnh: Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết với các vùng lận cận. Việc biến đổi các số liệu này thành dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính. Việc chọn các tính chất để thể hiện ảnh gọi là trích chọn đặc trưng (Feature Selection) gắn với việc tách các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được. Ví dụ: trong nhận dạng ký tự trên phong bì thư, chúng ta miêu tả các đặc trưng của từng ký tự giúp phân biệt ký tự này với ký tự khác. Nhận dạng và nội suy ảnh: Nhận dạng ảnh là quá trình xác định ảnh. Quá trình này thường thu được bằng cách so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước. Nội suy là phán đoán theo ý nghĩa trên cơ sở nhận dạng. Ví dụ: một loạt chữ số và nét gạch ngang trên phong bì thư có thể được nội suy thành mã điện thoại. Có nhiều cách phân loại ảnh khác nhau về ảnh. Theo lý thuyết về nhận dạng, các BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 5 CHƯƠNG 2. CƠ SỞ LÍ THUYẾT mô hình toán học về ảnh được phân theo hai loại nhận dạng ảnh cơ 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 khá phổ biến hiện nay đang được áp dụng trong khoa học và 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 bản (Text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người Cơ sở tri thức: Như đã nói ở trên, ảnh là một đối tượng khá phức tạp về đườ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ý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán 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 và xử lý ảnh theo cách của con người. Trong các bước xử lý đó, nhiều khâu hiện nay đã xử lý theo các phương pháp trí tuệ con người. Vì vậy, ở đây các cơ sở tri thức được phát huy. 2.1.6. Không gian màu Không gian màu là một mô hình toán học dùng để mô tả các màu sắc trong thực tế được biểu diễn dưới dạng số học. Trên thực tế có rất nhiều không gian màu khác nhau được mô hình để sử dụng vào những mục đích khác nhau. Trong bài này ta sẽ tìm hiểu qua về ba không gian màu cơ bản hay được nhắc tới và ứng dụng nhiều, đó là hệ không gian màu RGB và HSV. 2.1.6.1. Mô hình màu RGB Mô hình màu RGB sử dụng mô hình bổ sung trong đó ánh sáng đỏ, xanh lá cây và xanh lam được tổ hợp với nhau theo nhiều phương thức khác nhau. Hình 2.2. Mô hình màu RGB BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 6 CHƯƠNG 2. CƠ SỞ LÍ THUYẾT để tạo thành các màu khác. Từ viết tắt RGB trong tiếng Anh có nghĩa là đỏ (red), xanh lá cây (green) và xanh lam (blue), là ba màu gốc trong các mô hình ánh sáng bổ sung. Cũng lưu ý rằng mô hình màu RGB tự bản thân nó không định nghĩa thế nào là “đỏ”, “xanh lá cây” và “xanh lam” một cách chính xác, vì thế với cùng các giá trị như nhau của RGB có thể mô tả các màu tương đối khác nhau trên các thiết bị khác nhau có cùng một mô hình màu. Trong khi chúng cùng chia sẻ một mô hình màu chung, không gian màu thực sự của chúng là dao động một cách đáng kể. Hình 2.3. Ba kênh màu RGB riêng biệt RGB là không gian màu rất phổ biến được dùng trong đồ họa máy tính và nhiều thiết bị kĩ thuật số khác. Ý tưởng chính của không gian màu này là sự kết hợp của 3 màu sắc cơ bản : màu đỏ (R, Red), xanh lục (G, Green) và xanh lơ (B, Blue) để mô tả tất cả các màu sắc khác. Nếu như một ảnh số được mã hóa bằng 24bit, nghĩa là 8bit cho kênh R, 8bit cho kênh G, 8bit cho kênh B, thì mỗ kênh này màu này sẽ nhận giá trị từ 0-255. Với mỗi giá trị khác nhau của các kênh màu kết hợp với nhau ta sẽ được một màu khác nhau, như vậy ta sẽ có tổng cộng 255x255x255 = 1.66 triệu màu sắc. Ví dụ: màu đen là sự kết hợp của các kênh màu (R, G, B) với giá trị tương BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 7 CHƯƠNG 2. CƠ SỞ LÍ THUYẾT ứng (0, 0, 0) màu trắng có giá trị (255, 255, 255), màu vàng có giá trị (255, 255, 0), màu tím đậm có giá trị (64, 0, 128) ...Nếu ta dùng 16bit để mã hóa một kênh màu (48bit cho toàn bộ 3 kênh màu) thì dãi màu sẽ trãi rộng lên tới 3×216 = ... Một con số rất lớn. 2.1.6.2. Không gian màu HSV Hình 2.4. Hình tròn màu sắc HSV HSV là không gian màu được dùng nhiều trong việc chỉnh sửa ảnh, phân tích ảnh và một phần của lĩnh vực thị giác máy tính. Hệ không gian này dựa vào 3 thông số sau để mô tả màu sắc H = Hue: màu sắc. S = Saturation: độ đậm đặc, sự bảo hòa. V = value: giá trị cường độ sáng. 2.1.6.3. Cách chuyển từ không gian màu RGB sang không gian màu HSV. Các giá trị R, G, B được chia cho 255 để thay đổi phạm vi từ 0..255 thành 0..1: R' = R/255 G' = G/255 B' = B/255 Cmax = max(R', G', B') Cmin = min(R', G', B') BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 8 CHƯƠNG 2. CƠ SỞ LÍ THUYẾT Δ = Cmax – Cmin Cách tính Hue: Cách tính Saturation: Cách tính value: V = Cmax 2.1.7. Xử lý hình thái học (Morphology) Hình thái học toán học (Mathematical morphology) là một lý thuyết và kỹ thuật để phân tích và xử lý cấu trúc hình học, dựa trên lý thuyết tập hợp, lý thuyết lưới, cấu trúc liên kết và chức năng ngẫu nhiên. Hình thái học toán học phổ biến nhất được áp dụng cho hình ảnh kỹ thuật số. Ngoài ra hình thái học toán học nó có thể được sử dụng là tốt trên đồ thị, bề mặt mắt lưới, chất rắn, và nhiều các cấu trúc không gian khác. Hình thái học toán học đã được phát triển cho hình ảnh nhị phân, và sau đó được mở rộng cho ảnh đa mức xám (Image Grayscale), Đây là một trong những kỹ thuật được áp dụng trong giai đoạn tiền xử lý. Hai phép toán thường dùng là phép giãn nở (Dilation) và phép co (Erosion) .Từ hai phép toán cơ bản này người ta phát triển thành một số phép toán như phép đóng (Closing) và phép mở (Opening).  Dilation gọi là D(i): giãn nở.  Erosion gọi là E(i): co.  Một chu trình E(i)-D(i) gọi là phép mở (Opening).  Một chu trình D(i)-E(i) gọi là phép đóng (Closing). BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 9 CHƯƠNG 2. CƠ SỞ LÍ THUYẾT 2.1.7.1. Phép toán giản nở Hình 2.5. Ảnh gốc và ảnh sau khi dùng phép giản nở Công thức: 퐀 ⊕ 퐁 = {퐜|퐜 = 퐚 + 퐛, 퐚 ∈ 퐀, 퐛 ∈ 퐁 Là một trong các hoạt động cơ bản trong hình thái toán học. Phép toàn này có tác dụng làm cho đối tượng ban đầu trong ảnh tăng lên về kích thước (Giãn nở ra). 2.1.7.2. Phép toán co(Erosion) Hình 2.6. Ảnh gốc và ảnh sau khi dùng phép co Công thức: 퐀 ⊖ 퐁 = {퐜|(퐁)퐜 ⊆ 퐀} Phép toán co (Erosion) là một trong hai hoạt động cơ bản (khác phép giãn nở) trong hình thái học có ứng dụng trong việc giảm kích thước của đối tượng, tách rời các đối tượng gần nhau, làm mảnh và tìm xương của đối tượng. 2.1.7.3. Phép toán mở (Opening) Phép toán mở (Opening) và phép toán đóng (Closing) là sự kết hợp của phép co (Erosion) và phép giãn nở (Dilation) như trên. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 10 CHƯƠNG 2. CƠ SỞ LÍ THUYẾT Hình 2.7. Ảnh gốc và ảnh sau khi dùng phép mở Công thức: 퐀 횶 퐁 = (퐀 ⊝ 퐁)⨁퐁 Thực hiện phép co (Erosion) trước sau đó mới thực hiện phép giãn nở (Dilation). Phép toán mở (Opening) được ứng dụng trong việc loại bỏ các phần lồi lõm và làm cho đường bao các đối tượng trong ảnh trở nên mượt mà hơn. 2.1.7.4. Phép toán đóng (Closing) Hình 2.8. Ảnh gốc và ảnh sau khi dùng phép đóng Công thức: A∎B = (A⨁퐁) ⊝ 퐁 Thực hiện phép giãn nở (Dilation) trước sau đó mới thực hiện phép co (Erosion). Phép toán đóng (Closing) được dùng trong ứng dụng làm trơn đường bao các đối tượng, lấp đầy các khoảng trống biên và loại bỏ những hố nhỏ. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 11 CHƯƠNG 2. CƠ SỞ LÍ THUYẾT 2.1.8. Cách vẽ đường viền. Đường viền có thể được giải thích đơn giản là một đường cong nối tất cả các điểm liên tục (dọc theo đường biên), có cùng màu hoặc cường độ. Các đường viền là một công cụ hữu ích để phân tích hình dạng và phát hiện và nhận dạng đối tượng. Trong OpenCV, tìm đường viền cũng giống như tìm đối tượng màu trắng từ nền đen. Vì vậy, đối tượng được tìm thấy nên có màu trắng và nền nên có màu đen. 2.2. NGÔN NGỮ PYTHON VÀ THƯ VIỆN OPENCV Trước tiên để Raspberry hoạt động thì ta phải cài hệ điều hành cho nó, chúng em chọn hệ điều hành Raspbian để cài đặt cho Raspberry thông qua thẻ nhở SD 32GB. 2.2.1. Hệ điều hành Raspbian Đây là hệ điều hành cơ bản, phổ biến nhất và do chính Raspberry Pi Foundation cung cấp. Nó cũng được hãng khuyến cáo sử dụng, nhất là cho người mới bắt đầu làm quen với RPI. Raspbian có dung lượng sau khi giải nén là khoảng gần 4GB, bạn cần tối thiểu 1 cái thẻ 4GB để có thể sử dụng Raspbian. Tuy nhiên, chúng tôi nghĩ bạn nên sử dụng thẻ tối thiểu 8GB vì bạn cần cài thêm các ứng dụng khác nữa. Raspbian được hướng đến người dùng có mục đích:  Sử dụng Raspberry Pi như máy tính văn phòng để lướt web, soạn văn bản, check mail và thi thoảng nghe nhạc/xem phim.  Nghiên cứu phát triển các thiết bị điều khiển tự động.  Sử dụng như một máy chủ cung cấp các dịch vụ như web, file server, printer server,... Sau khi cài xong thì giao diện của Raspberry như hình:[5] BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 12 CHƯƠNG 2. CƠ SỞ LÍ THUYẾT Hình 2.9. Giao diện của Raspberry chạy hệ điều hành Raspbian Hình 2.10. Cửa sổ cho phép hoạt động các chuẩn giao tiếp 2.2.2. Ngôn ngữ Python: Python là một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa năng, do Guido van Rossum tạo ra và lần đầu ra mắt vào năm 1991. Python được thiết kế với ưu điểm mạnh là dễ đọc, dễ học và dễ nhớ. Python là ngôn ngữ có hình BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 13 CHƯƠNG 2. CƠ SỞ LÍ THUYẾT thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình. Cấu trúc của Python còn cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu. Python là một ngôn ngữ lập trình được sử dụng phổ biến ngày nay từ trong môi trường học đường cho tới các dự án lớn. Ngôn ngữ phát triển nhiều loại ứng dụng, phần mềm khác nhau như các chương trình chạy trên desktop, server, lập trình các ứng dụng web... Ngoài ra Python cũng là ngôn ngữ ưa thích trong xây dựng các chương trình trí tuệ nhân tạo trong đó bao gồm machine learning. Ban đầu, Python được phát triển để chạy trên nền Unix, nhưng sau này, nó đã chạy trên mọi hệ điều hành từ MS-DOS đến Mac OS, OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix. Python do Guido van Rossum tạo ra năm 1990. Python được phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý. Mặc dù sự phát triển của Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay vẫn là tác giả chủ yếu của Python. Ông giữ vai trò chủ chốt trong việc quyết định hướng phát triển của Python. Qua nhiều năm phát triển thì có nhiều phiên bản: Python 1, Python 2, Python 3. Nhóm em sử dụng phiên bản Python 3.5.7 để viết chương trình . Giới thiệu ngôn ngữ Python Hình 2.11. Phần mềm Python Đặc Điểm Nổi Bật Của Python Python là ngôn ngữ có hình thức đơn giản, cú pháp ngắn gọn, sử dụng một số lượng ít các từ khoá, do đó Python là một ngôn ngữ dễ học đối với người mới bắt BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 14 CHƯƠNG 2. CƠ SỞ LÍ THUYẾT đầu tìm hiểu. Python là ngôn ngữ có mã lệnh (source code hay đơn giản là code) không mấy phức tạp. Cả trường hợp bạn chưa biết gì về Python bạn cũng có thể suy đoán được ý nghĩa của từng dòng lệnh trong source code. Python có nhiều ứng dụng trên nhiều nền tảng, chương trình phần mềm viết bằng ngôn ngữ Python có thể được chạy trên nhiều nền tảng hệ điều hành khác nhau bao gồm Windows, Mac OSX và Linux. 2.2.3. Thư viện OpenCV 2.2.3.1. Giới thiệu OpenCV OpenCV (Open Source Computer Vision Library) là một thư viện mã nguồn mở, nó là miễn phí cho những ai bắt đầu tiếp cận với các học thuật. OpenCV được ứng dụng trong nhiều lĩnh vực như cho thị giác máy tính hay xử lý ảnh và máy học. Thư viện được lập trình trên các ngôn ngữ cấp cao: C++, C, Python, hay Java và hỗ trợ trên các nền tảng Window, Linux, Mac OS, iOS và Android. OpenCV đã được tạo ra tại Intel vào năm 1999 bởi Gary Bradsky, và ra mắt vào năm 2000. Opencv có rất nhiều ứng dụng: Nhận dạng ảnh, xử lý hình ảnh, phục hồi hình ảnh/video, thực tế ảo, Ở đề tài này thư viện OpenCV được chạy trên ngôn ngữ Python. OpenCV được dùng làm thư viện chính để xử lý hình ảnh đầu vào và sau đó đi nhận dạng ảnh. 2.2.3.2. Đặc điểm OpenCV OpenCV Là một thư viện mở nên sử dụng các thuật toán một cách miễn phí, cùng với việc chúng ta cũng có thể đóng góp thêm các thuật toán giúp Thư viện thêm ngày càng phát triển. Một số ứng dụng nổi bật Opencv như: Nhận dạng ảnh, Xử lý hình ảnh, Phục hồi hình ảnh/video, Thực tế ảo, ứng dụng trong Machine Learning Các tính năng của thư viện OpenCV:  Đối với hình ảnh, chúng ta có thể đọc và lưu hay ghi chúng.  Về Video cũng tương tự như hình ảnh cũng có đọc và ghi.  Xử lý hình ảnh có thể lọc nhiễu cho ảnh, hay chuyển đổi ảnh.  Thực hiện nhận dạng đặc điểm của hình dạng trong ảnh.  Phát hiện các đối tượng xác định được xác định trước như khuôn mặt, mắt, xe trong video hoặc hình ảnh.[3] BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 15 CHƯƠNG 2. CƠ SỞ LÍ THUYẾT 2.3. GIỚI THIỆU PHẦN CỨNG  Thiết bị đầu vào: bàn phím, chuột, màn hình Desktop, Camera.  Thiết bị đầu ra: LCD 20x4, step motor 5V, dây led trắng, Arduino Uno R3, servo SG90  Thiết bị điều khiển trung tâm là máy tính.  Các chuẩn truyền dữ liệu UART, SPI, I2C, PWM  Thiết bị lưu trữ bộ nhớ RAM, ROM, thẻ nhớ. 2.3.1. Giới thiệu chuẩn giao tiếp UART Có nhiều kiểu truyền dữ liệu phổ biến tích hợp trong các họ vi điều khiển bao gồm: Truyền dữ liệu nối tiếp đồng bộ và bất đồng bộ (USART Universal Synchronous Asynchronous Receiver and Transmitter). Truyền dữ liệu giữa các vi điều khiển với các thiết bị ngoại vi (SPI Serial Peripheral Interface). Truyền dữ liệu 2 dây (I2C: Inter-Integrated Circuit). Ở kiểu truyền nối tiếp đồng bộ thì có 1 đường dữ liệu và 1 đường xung clock, thiết bị nào cấp xung clock thì thiết bị đóng vai trò là chủ, thiết bị nhận xung clock đóng vai trò là tớ, tốc độ truyền dữ liệu phụ thuộc vào tần số xung clock. Ở kiểu truyền nối tiếp bất đồng bộ thì có 1 đường phát dữ liệu và 1 đường nhận dữ liệu, không còn tín hiệu xung clock nên gọi là bất đồng bộ. Để truyền được dữ liệu thì cả bên phát và bên nhận phải tự tạo xung clock có cùng tần số và thường gọi là tốc độ truyền dữ liệu (baud), ví dụ 2400baud, 4800baud, , 2400baud có nghĩa là truyền 2400 bit trên 1 giây. Truyền dữ liệu đồng bộ

Các file đính kèm theo tài liệu này:

  • pdfdo_an_dem_so_luong_vien_thuoc_co_trong_vi_thuoc.pdf