Xem mẫu

  1. BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH KHOA CÔNG NGHỆ ĐIỆN TỬ NGUYỄN QUỐC 18071481 TƯỞNG TRẦN HẢI LONG 18050251 NHẬN DẠNG VÀ PHÂN BIỆT CỎ DẠI VỚI HOA MÀU, SỬ DỤNG CÁNH TAY ROBOT ĐỂ PHUN THUỐC TRỪ SÂU. Chuyên ngành: Hệ thống thông minh Mã chuyên ngành: 7510302 KHÓA LUẬN TỐT NGHIỆP THÀNH PHỐ HỒ CHÍ MINH, NĂM 2022.
  2. THÔNG TIN CHUNG Họ và tên sinhviên : Nguyễn Quốc ........................... MSHV:18071481 ..................... Lớp : DHDTTM14A.......................... Khóa: 2018 - 2022 .................... Chuyên ngành :Hệ thống thông minh ................ Mã chuyên ngành:7510302 ...... SĐT :0383617824……Email: quocnguyen101100@gmail.com ......... Họ và tên sinhviên : Tưởng Trần Hải Long .............. MSHV:18050251 ..................... Lớp : DHDTTM14A.......................... Khóa: 2018 - 2022 .................... Chuyên ngành :Hệ thống thông minh ................ Mã chuyên ngành:7510302 ...... SĐT :0336261384……Email: tuongtranhailong2804@gmail.com ...... Địa chỉ liên hệ : 230/12 Phan Huy Ích, Gò Vấp, Tp.HCM ................................... Tên đề tài : Nhận dạng và phân biệt cỏ dại với hoa màu. Sử dụng cánh tay Robot để phun thuốc trừ sâu. Người hướng dẫn : ThS. Phan Vinh Hiếu ................................................................... SĐT : 0983053941.................................................................................. Email : hieuphanvinh@gmail.com ........................................................... Cơ quan công tác : Trường Đại học Công nghiệp Thành phố Hồ Chí Minh. ............. Tp. Hồ Chí Minh, ngày 20 tháng 6 năm 2022. Người hướng dẫn Sinh viên (Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên) 2
  3. MỤC LỤC MỤC LỤC ........................................................................................................................... 3 DANH MỤC HÌNH ẢNH ................................................................................................... 7 DANH MỤC BẢNG BIỂU ............................................................................................... 10 DANH MỤC TỪ VIẾT TẮT ............................................................................................ 11 LỜI MỞ ĐẦU ................................................................................................................... 12 LỜI CÁM ƠN .................................................................................................................... 13 Chương 1: TỔNG QUAN ĐỀ TÀI ................................................................................... 14 1.1 Đặt vấn đề ................................................................................................................ 14 1.2 Mục tiêu ................................................................................................................... 14 1.3 Nội dung nghiên cứu ............................................................................................... 15 1.4 Hạn chế .................................................................................................................... 15 1.5 Ý nghĩa thực tiễn ..................................................................................................... 15 Chương 2: CƠ SỞ LÝ THUYẾT ...................................................................................... 16 2.1 Tổng quan về XLA .................................................................................................. 16 2.2 Môi trường Pycharm IDE ........................................................................................ 16 2.3 Ngôn ngữ Python ..................................................................................................... 17 2.4 Thư viện OpenCV ................................................................................................... 17 2.5 Mạng MobileNet...................................................................................................... 18 2.5.1 Mạng nơron tích chập - CNN ........................................................................... 18 2.5.1.1 Conv layer .............................................................................................. 19 2.5.1.2 ReLU layer ............................................................................................. 19 2.5.1.3 Pooling layer ........................................................................................... 20 2.5.1.4 FC layer .................................................................................................. 21 2.5.2 Cấu trúc MobileNet .......................................................................................... 21 2.5.2.1 Xét độ phức tạp của một phép tích chập ảnh: ........................................ 22 2.5.2.2 Xét từ khía cạnh độ phức tạp tính toán của một DSC ............................ 22 2.5.3 Kiến trúc MobileNetV2 .................................................................................... 23 3
  4. 2.6 Môi trường Arduino IDE: ........................................................................................ 25 2.7 Arduino Nano Atemega328P-AU ........................................................................... 26 2.7.1 Thông tin của mạch .......................................................................................... 26 2.7.2 Tính năng .......................................................................................................... 27 2.7.3 Cấu hình ............................................................................................................ 27 2.8 Vi điều khiển ATmega328P-AU ............................................................................. 28 2.8.1 Đặc tính kỹ thuật .............................................................................................. 28 2.8.2 Công dụng: ....................................................................................................... 29 2.9 Cánh tay Robot ........................................................................................................ 29 2.9.1 Tổng quan ......................................................................................................... 29 2.9.2 Phân loại ........................................................................................................... 30 2.9.2.1 Phân loại theo ứng dụng ............................................................................ 30 2.9.2.2 Phân loại theo chuyển động ....................................................................... 31 2.9.2.3 Phân loại theo truyền động ........................................................................ 31 2.9.2.4 Phân loại theo điều khiển .......................................................................... 31 2.9.2.5 Một số kiểu phân loại khác ........................................................................ 32 2.9.3 Các thành phần cấu thành nên robot................................................................. 32 2.9.3.1 Cánh tay robot ........................................................................................ 33 2.9.3.2 Nguồn động lực ...................................................................................... 34 2.9.3.3 Cảm biến ................................................................................................. 34 2.9.3.4 Bộ điều khiển. ......................................................................................... 34 2.9.3.5 Chương trình........................................................................................... 35 2.9.4 Khái niệm bậc tự do - DOF .............................................................................. 35 2.9.5 Hệ tọa độ trong tay máy ................................................................................... 37 2.9.6 Robot SCARA .................................................................................................. 38 2.10 Broad arduino CNC shield V4 .............................................................................. 40 2.10.1 Tổng quát ........................................................................................................ 40 2.10.2 Cấu hình Arduino CNC shield V4 ................................................................. 41 2.10.3 Ứng dụng ........................................................................................................ 42 4
  5. 2.11 Động cơ bước – Motor step ................................................................................... 42 2.11.1 Tổng quan: ...................................................................................................... 42 2.11.2 Động cơ bước KV24 ...................................................................................... 44 2.12 Module Driver A4988 ........................................................................................... 45 2.12.1 Giới thiệu ........................................................................................................ 45 2.12.2 Thông tin Driver A4988 ................................................................................. 46 2.13 Webcam PC HD .................................................................................................... 46 2.13.1 Thông tin của Webcam PC HD sắc nét-Có Mic ............................................ 46 2.13.2 Cấu hình Webcam PC HD sắc nét-Có Mic .................................................... 47 Chương 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ..................................................... 48 3.1 Giới thiệu ................................................................................................................. 48 3.2 Tính toán và thiết kế hệ thống ................................................................................. 48 3.2.1 Thiết kế sơ đồ khối hệ thống ............................................................................ 48 3.2.2 Khối xử lý ......................................................................................................... 49 3.2.3 Khối động cơ .................................................................................................... 50 3.2.4 Khối camera ...................................................................................................... 52 3.2.5 Khối nguồn ....................................................................................................... 53 3.2.6 Thiết kế và tính toán cho cánh tay Robot Scara. .............................................. 53 Chương 4: THI CÔNG HỆ THỐNG ................................................................................. 64 4.1 Chuẩn bị phần cứng: ................................................................................................ 64 4.2 Chuẩn bị dữ liệu Datashet để làm Model: ............................................................... 64 4.3 Lắp ráp và kiểm tra .................................................................................................. 69 4.3.1 Chi tiết lắp ráp Robot ....................................................................................... 70 4.3.2 Kit Arduino và Module Driver A4988 lên đế ra chân Arduino CNC V3. ....... 70 4.3.3 Camera. ............................................................................................................. 70 4.3.4 Module điều khiển. ........................................................................................... 71 4.4 Lập trình hệ thống.................................................................................................... 71 Chương 5: ĐÁNH GIÁ VÀ KẾT QUẢ ............................................................................ 76 5.1 Kết quả đạt được khá tốt:......................................................................................... 76 5
  6. 5.2 Những hình ảnh của mô hình: ................................................................................. 76 Chương 6: KẾT LUẬN VÀ KIẾN NGHỊ ......................................................................... 78 6.1 Nhận xét và đánh giá: .............................................................................................. 78 6.2 Hướng phát triển ...................................................................................................... 78 TÀI LIỆU THAM KHẢO ................................................................................................. 79 PHỤ LỤC: ......................................................................................................................... 79 6
  7. DANH MỤC HÌNH ẢNH Hình 1. 1 Phun thuốc diệt cỏ truyền thống ........................................................................ 14 Hình 2.1 Sơ đồ khối mô tả quá trình XLA ........................................................................ 16 Hình 2.2 Sơ đồ khối chi tiết quá trình XLA ...................................................................... 16 Hình 2.3 Phần mềm Pycharm IDE .................................................................................... 17 Hình 2.4: Python và thư viện OpenCV ............................................................................. 18 Hình 2.5: Mô hình mạng CNN .......................................................................................... 18 Hình 2.6: Tính tích chập với các bộ lọc ............................................................................ 19 Hình 2.7: Đồ thị hàm ReLU .............................................................................................. 20 Hình 2.8: Minh họa Pooling layer ..................................................................................... 20 Hình 2.9: Mô hình liên kết nơ ron của FC layer................................................................ 21 Hình 2.10: So sánh một FC layer không và có áp dụng Dropout...................................... 21 Hình 2.11: Mô tả phép tích chập 3D ................................................................................. 22 Hình 2.12: Mô hình TCTCS .............................................................................................. 22 Hình 2.13: Mô hình TCTĐ ................................................................................................ 23 Hình 2.14: Residual learning: a building block ................................................................. 24 Hình 2.15: Tổng quan về Kiến trúc MobileNetV2 ............................................................ 24 Hình 2.16: Kiến trúc residual truyền thống & Residual block của MobileNet v2 ............ 25 Hình 2.17: Kết quả thí nghiệm kiểm tra sự mất mát thông tin do thực hiện hàm phi tuyến ........................................................................................................................................... 25 Hình 2.18: Logo Arduino IDE ........................................................................................... 26 Hình 2.19: Cửa sổ làm việc Arduino IDE ......................................................................... 26 Hình 2.20: Sơ đồ chức năng chân Arduino nano .............................................................. 27 Hình 2.21: VDK ATmega328P-AU .................................................................................. 28 Hình 2.22: Sơ đồ chân của ATmega328P-AU .................................................................. 28 Hình 2.23: Một số mẫu Robot ........................................................................................... 30 Hình 2.24: Minh họa các mẫu robot công nghiệp & robot xã hội ..................................... 30 Hình 2.25: Minh họa các mẫu Robot nối tiếp/tay máy; Robot song song; Robot di động (Mobile Robot) .................................................................................................................. 31 Hình 2.26: Minh họa các mẫu Các mẫu Robot Phân loại theo chuyển động .................... 31 Hình 2.27: Minh họa các mẫu phân loại the điều khiển .................................................... 32 Hình 2.28: Minh họa các mẫu Robot phân loại theo công tác (của khâu chấp hành cuối). ........................................................................................................................................... 32 7
  8. Hình 2.29: Sơ đồ tổng quát một Robot công nghiệp chuyên dụng ................................... 33 Hình 2.30: Mẫu cánh tay Robot ........................................................................................ 33 Hình 2.31: Minh họa 2 loại động cơ các motor step, các motor servo .............................. 34 Hình 2.32: Các thiết bị khí nén trong robot ....................................................................... 34 Hình 2.33: Các VĐK AVR ................................................................................................ 35 Hình 2.34: Các chương trình lập trình cho robot .............................................................. 35 Hình 2.35: Bậc tự do trong mặt phẳng 2D & 3D .............................................................. 36 Hình 2.36: Ví dụ một bộ phận máy 4 khâu ....................................................................... 36 Hình 2.37: SCARA robot của hãng EPSON. .................................................................... 38 Hình 2.38: Robot Scara 4 bậc tự do................................................................................... 38 Hình 2.39: Bản vẽ 3D robot SCARA ................................................................................ 39 Hình 2.40: Hệ tọa độ các khâu của robot SCARA ............................................................ 39 Hình 2.41: Arduino CNC shield V4 .................................................................................. 40 Hình 2.42: Sơ đồ Arduino CNC shield V4 ........................................................................ 41 Hình 2.43 Minh họa 1 motor step. ..................................................................................... 42 Hình 2.44 Cấu tạo bên trong ĐCB. ................................................................................... 43 Hình 2.45 Sơ đồ điều khiển motor step. ............................................................................ 43 Hình 2.46 Cách thức hoạt động của motor step. ............................................................... 44 Hình 2.47 Motor Step KV24-F2B009 ............................................................................... 44 Hình 2.48 Sơ đồ dây ĐCB KV24 ...................................................................................... 45 Hình 2.49 Module Driver A4988 ...................................................................................... 45 Hình 2.50 Sơ đồ chân module driver A4988 ..................................................................... 46 Hình 2.51 Webcam PC ...................................................................................................... 47 Hình 3.1 Sơ đồ tổng quát hệ thống .................................................................................... 48 Hình 3.2 Sơ đồ khối toàn hệ thống .................................................................................... 49 Hình 3.3 Arduino CNC & phương thức kết nối ................................................................ 50 Hình 3.4 PC kết nối với Kit Arduino qua dây cáp USB. ................................................... 50 Hình 3.5 Sơ đồ nối dây A4988 với động cơ bước ............................................................. 51 Hình 3.6 Chọn tỷ lệ xung 1/16 qua cắm chân jumper ....................................................... 51 Hình 3.7 Sơ đồ nguyên lý kết nối khối xử lý với khối động cơ ........................................ 52 Hình 3.8 Ảnh thực tế thu về từ Camera chất lượng 1080P FHD ..................................... 52 Hình 3.9 Adapter sử dụng trong hệ thống ......................................................................... 53 Hình 3.10 Bản vẽ 3D(1) .................................................................................................... 54 Hình 3.11 Bản vẽ 3D(2) .................................................................................................... 54 Hình 3.12 Bản vẽ 3D(3) .................................................................................................... 55 Hình 3.13 Bản vẽ 3D(4) .................................................................................................... 55 Hình 3.14 Bản vẽ 3D(5) .................................................................................................... 56 8
  9. Hình 3.15 Bản vẽ 3D(6) .................................................................................................... 56 Hình 3.16 Hệ tọa độ của Robot Scara ............................................................................... 57 Hình 3.17 Đổi tọa độ Camera về tọa độ Robot ................................................................. 59 Hình 3. 18 Mối quan hệ giữa tọa độ Picxel và tọa độ World ............................................ 61 Hình 3. 19 Tìm ma trận "Rt" qua 6 điểm bất kỳ................................................................ 62 Hình 3. 20 Tính toán ma trận với sự hỗ trợ từ Pycharm ................................................... 62 Hình 4.1 Dữ liệu Cỏ .......................................................................................................... 64 Hình 4. 2 Cỏ - Hoa sử dụng ............................................................................................... 65 Hình 4.3 Dữ liệu Hoa ........................................................................................................ 65 Hình 4.4 Sơ đồ khối các bước huấn luyện model.............................................................. 66 Hình 4.5 Thông số kết quả từ Model ................................................................................. 67 Hình 4.6 Trích xuất vùng nghi vấn là cỏ hoặc hoa trong khung hình bằng candy ............ 67 Hình 4.7 Áp dụng model vừa train với hình cỏ. ................................................................ 68 Hình 4.8 Áp dụng model vừa train với hình hoa. .............................................................. 68 Hình 4.9 Áp dụng model vừa train với hình cỏ và hoa. .................................................... 69 Hình 4.10 Trích xuất tọa độ tâm của Hoa và Cỏ trong khung hình. ................................. 69 Hình 4.11 Chi tiết Robot Scara .......................................................................................... 70 Hình 4.12 Kết nối các Module .......................................................................................... 70 Hình 4.13 Lắp Camera lên mô hình .................................................................................. 71 Hình 4.14 Lưu đồ giải thuật quá trình XLA ...................................................................... 72 Hình 4.15 Quá trình điều khiển trên giao diện .................................................................. 73 Hình 4.16 Huấn luyện dữ liệu ........................................................................................... 74 Hình 4.17 Giao diện điều khiển hệ thống .......................................................................... 74 Hình 4. 18 Sơ đồ toàn hệ thống ......................................................................................... 75 Hình 4. 19 Mô hình chụp từ trên xuống ............................................................................ 76 Hình 4. 20 Mô hình chụp mặt bên trái............................................................................... 77 Hình 4. 21 Mô hình chụp mặt bên phải ............................................................................. 77 9
  10. DANH MỤC BẢNG BIỂU Bảng 2. 1 Thông số cơ bản ................................................................................................ 26 Bảng 2. 2 Bảng thông số D-H ........................................................................................... 40 Bảng 2. 3 Microstep Resolution Truth Table .................................................................... 41 Bảng 3. 1 Bảng thông số D-H ........................................................................................... 57 Bảng 4. 1 Danh sách linh kiện ........................................................................................... 64 10
  11. DANH MỤC TỪ VIẾT TẮT ĐCB Động cơ bước KLTN Khóa luận tốt nghiệp VĐK Vi điều khiển XLA Xử lý ảnh TCTCS Tích chập theo chiều sâu TCTĐ Tích chập theo điểm CNN Convolutional Neural Networks DSC Depthwise Separable Convolution DC Depthwise Convulution ReLU Rectified Linear Uni IDE Integrated Development Environment PC Pointwise Convolution 11
  12. LỜI MỞ ĐẦU Nhận biết được thực trạng hiện nay, các mô hình công – nông nghiệp tự động hóa đang dần trở nên phổ biến và cũng là xu hướng trong tương lai. Do đó, với đề tài “Nhận diện và phân biệt cỏ dại với hoa màu, sử dụng cánh tay Robot để phun thuốc trừ sâu” đang nắm bắt được xu thế cũng như giải quyết được một số vấn đề thực tiễn như sau: là sản phẩm hỗ trợ cũng như là người bạn đồng hành giúp đỡ người nông dân trong quá trình phun thuốc trừ sâu, diệt cỏ đầy độc hại; làm giảm dư lượng thuốc trừ sâu hạn chế ô nhiễm môi trường. Đề tài “Nhận diện và phân biệt cỏ dại với hoa màu, sử dụng mô hình cánh tay Robot để phun thuốc trừ sâu” là mô hình được ứng dụng cánh tay Robot kết hợp với XLA để nhận diện và phân biệt cỏ dại với hoa màu sau đó cánh tay Robot hoạt động và thực hiện hoạt động cuối là phun thuốc trừ sâu lên cỏ dại. Kết quả cuối cùng của đề tài đã nhận diện và phân biệt được chính xác cỏ dại với hoa màu theo Data tự chuẩn bị cùng với việc cánh tay Robot đã xác định được vị trí của cỏ dại theo mong muốn ban đầu. 12
  13. LỜI CÁM ƠN Trước tiên chúng em xin gửi lời cám ơn và biết ơn sâu sắc đến ThS. Phan Vinh Hiếu, người đã tận tình hướng dẫn và chỉ dạy chúng em trong suốt quá trình thực hiện và hoàn thành khóa luận tốt nghiệp. Đồng thời chúng em cũng xin gửi lời cám ơn đến các quý Thầy, quý Cô trong trường Đại học Công Nghiệp Tp.HCM nói chung và quý Thầy, Cô thuộc khoa Công nghệ Điện tử nói riêng đã giảng dạy và tạo mọi điều kiện cho chúng em trong suốt quá trình học tập và nghiên cứu tại trường. Chúng em sẽ cố gắng tận dụng hết những kiến thức được truyền đạt lại từ quý Thầy, Cô để làm hành trang giúp chúng em phát triển và hoàn thiện bản thân trong tương lai. Cuối cùng mặc dù đã cố gắng hoàn thành khóa luận trong phạm vi và khả năng có thể. Tuy nhiên sẽ không thể tránh khỏi những thiếu sót. Chúng em rất mong nhận được sự cảm thông và tận tình chỉ bảo của quý Thầy, Cô. Chúng em xin chân thành cám ơn! Nhóm thực hiện đề tài Nguyễn Quốc Tưởng Trần Hải Long 13
  14. Chương 1: TỔNG QUAN ĐỀ TÀI 1.1 Đặt vấn đề Theo Phạm Hiếu (ngày 13, tháng 4, năm 2021) được viết trên báo nongsanviet.nongnghiep.vn - “Aus4Innovation là chương trình hỗ trợ phát triển trị giá 11 triệu đô la Úc nhằm tăng cường hệ thống đổi mới của Việt Nam, chuẩn bị và nắm bắt các cơ hội liên quan đến công nghiệp 4.0 và giúp định hình chương trình đổi mới của Việt Nam về khoa học công nghệ.” [1]. Có thể thấy một đất nước với nồng cốt là ngành nông nghiệp như nước ta, trong thời đại công nghệ 4.0 ngày một phát triển như hiện nay thì việc ứng dụng khoa học kỹ thuật vào công – nông nghiệp càng được phổ biến. Hình ảnh người nông dân vác trên lưng một bình xịt thuốc trừ sâu nặng hàng chục kilogram đã không còn quá xa lạ với những người làm nông nghiệp ở nước ta, vì lẽ đó, nhóm chúng em cùng với xu hướng ứng dụng công nghệ cao và công – nông nghiệp để một phần giảm bớt gánh nặng về hiệu suất làm việc cũng như giảm thiểu nhân công nhằm mang lại những hiệu quả tối đa cho người làm công – nông nghiệp nói riêng và ngành công – nông nghiệp nước nhà nói chung. Do đó với lượng kiến thức đã học và được sự đồng ý của giảng viên hướng dẫn – ThS. Phan Vinh Hiếu, chúng em chọn đề tài: “Nhận diện và phân biệt cỏ dại với hoa màu, sử dụng cánh tay Robot để phun thuốc trừ sâu”. Hình 1.1: Phun thuốc diệt cỏ truyền thống 1.2 Mục tiêu Đề tài: “Nhận diện và phân biệt cỏ dại với hoa màu, sử dụng cánh tay Robot để phun thuốc trừ sâu” với mục tiêu chính: là áp dụng XLA để nhận diện - phân biệt – định vị được chính xác cỏ dại – hoa màu, được lập trình bởi ngôn ngữ Python với sự hỗ trợ từ OpenCV được 14
  15. thực thi trên Arduino Nano điều khiển cánh tay máy để thực hiện khâu chấp hành cuối theo mong muốn. 1.3 Nội dung nghiên cứu Đề tài: “Nhận diện và phân biệt cỏ dại với hoa màu, sử dụng cánh tay Robot để phun thuốc trừ sâu”, có những nội dung sau: • Tổng quan về XLA. • Nghiên cứu về mạng thần kinh nơ-ron áp dụng vào bài toán nhận dạng. • Nghiên cứu về Arduino và và động học robot. • Thiết kế, tính toán và thi công mô hình. • Viết chương trình. • Test và hoàn thiện mô hình. • Viết luận án tốt nghiệp. • Báo cáo đề tài. 1.4 Hạn chế Với mục tiêu đặt ra từ đầu là nhận diện và phân biệt cỏ dại với hoa màu, tuy nhiên trong quá trình thực nghiệm nhóm đã gặp 1 số khó khăn nhất định về việc giữ cho hoa - cỏ được tươi tốt trong suốt quá trình làm đề tài. Do đó, được sự cho phép của GVHD, nhóm đã chuyển hướng sang sử dụng hoa - cỏ nhựa để có thể dễ dàng sử dụng cho quá huấn luyện cũng như giúp nhóm tiết kiệm chi phí cho đề tài. 1.5 Ý nghĩa thực tiễn Đề tài đã áp dụng khoa học kỹ thuật vào công-nông nghiệp, chạy theo xu hướng hiện tại với ý nghĩa bảo vệ môi trường bằng cách giảm thải dư lượng thuốc thực vật, nâng cao chất lượng nông sản. Góp phần vào công cuộc xây dựng và phát triển nông nghiệp công nghệ cao. 15
  16. Chương 2: CƠ SỞ LÝ THUYẾT 2.1 Tổng quan về XLA XLA bao gồm lý thuyết và các kỹ thuật liên quan nhằm mục đích tạo ra một hệ thống nhân tạo có thể tiếp nhận thông tin từ các hình ảnh thu được hoặc các tập dữ liệu đa chiều. XLA là kỹ thuật áp dụng trong việc tăng cường và xử lý các ảnh thu nhận từ các thiết bị như camera, webcam,…Do đó, nó được ứng dụng và phát triển trong rất nhiều lĩnh vực quan trọng. Các bước cần thiết và quan trọng trong quá trình XLA gồm có: Thu thập ảnh từ bên ngoài để bước vào quá trình xử lý và cuối cùng là đưa ra ảnh mới cùng kết luận sau khi thực hiện xong quá trình XLA. Hình 2.1 Sơ đồ khối mô tả quá trình XLA Sơ đồ chi tiết của một quá trình XLA: Hình 2.2 Sơ đồ khối chi tiết quá trình XLA 2.2 Môi trường Pycharm IDE 16
  17. Hình 2.3 Phần mềm Pycharm IDE Là môi trường IDE lập trình tích hợp để thể hiện các chương trình được viết bằng ngôn ngữ Python. Các tính năng cơ bản của Pycharm: • Hỗ trợ đa nền tảng. • Trình sửa code thông minh. • Điều hướng mã. • Tái cấu trúc. 2.3 Ngôn ngữ Python Là ngôn ngữ lập trình đa dụng, dễ dàng tìm hiểu, phổ biến và dễ tiếp cận với người mới nhập môn. Các đặc tính cơ bản: • Cú pháp rất đơn giản. • Mã nguồn mở. • Tương thích với mọi nền tảng như Windows, MacOS, Linux. • Khả năng mở rộng và ứng dụng lên hệ thống nhúng. • Thư viện chuẩn (có sẵn) để giải quyết những bài toán phổ biến hiện nay. • Hướng đối tượng. 2.4 Thư viện OpenCV OpenCV (OpenSource Computer Vision) là một thư viện mã nguồn mở hỗ trợ các mô hình, thuật toán áp dụng XLA, video thời gian thực, học máy... Nó sử dụng đa ngôn ngữ và hỗ trợ nền tảng. 17
  18. Hình 2.4: Python và thư viện OpenCV 2.5 Mạng MobileNet 2.5.1 Mạng nơron tích chập - CNN Mạng CNN là một thuật toán học sâu áp dụng các bộ lọc lên ảnh trước khi huấn luyện mạng nơ ron. Sau khi cho các tấm ảnh đi qua bộ lọc, những đặc trưng của tấm ảnh sẽ trở nên nổi bật và chúng ta có thể dùng chúng để nhận diện và phân loại hình ảnh. Các thành phần cấu thành nên mô hình CNN bao gồm: • Lớp tích chập - Convolotion layer (Conv layer). • Lớp kích hoạt phi tuyến - ReLU layer. • Lớp lấy mẫu - Pooling layer. • Lớp kết nối đầy đủ - Full connected layer (FC layer). Hình 2.5: Mô hình mạng CNN 18
  19. Mô hình mạng CNN như hình 2.5 được chia thành 2 phần: Trích chọn đặc trưng từ ảnh gõ vào và phân loại: • Phần rút trích đặc trưng của mạng CNN sử dụng các lớp tích chập và lớp gộp để tìm ra các đặc trưng quan trọng để phân loại ảnh. • Phần phân loại sử dụng các lớp kết nối đầy đủ và sử dụng ngõ vào là các đặc trung đã được rút trích và ngõ ra sẽ chỉ ra ảnh đầu vào thuộc lớp nào. Mạng CNN sử dụng các lớp được liên kết với nhau thông qua cơ chế tích chập. Lớp tiếp theo là kết quả tích chập từ lớp trước đó, do đó chúng ta có được kết nối cục bộ. Có N lớp thì ta sẽ có N bộ lọc khác nhau, vậy thông thường số bộ lọc có thể lên tới hàng trăm hàng ngàn. 2.5.1.1 Conv layer Hình 2.6: Tính tích chập với các bộ lọc Hình trên minh họa cách tính tích chập trên ma trận ảnh đen trắng. Ma trận ảnh đen trắng có mỗi ô giá trị là một điểm ảnh, 1 là màu đen, 0 là màu trắng. Ta dùng một ma trận kích thước 3x3 đóng vai trò là một bộ lọc, nhân từng thành phần tương ứng với ma trận ảnh. Giá trị đầu ra do tích các thành phần này cộng lại. Kết quả của tích chập là một ma trận mới được sinh ra từ việc trượt bộ lọc lên tất cả các vùng ảnh. 2.5.1.2 ReLU layer ReLU sử dụng hàm kích hoạt: 𝑓(𝑥) = max(0, x). 19
  20. Hình 2.7: Đồ thị hàm ReLU Nhiệm vụ của hàm ReLU là chuyển toàn bộ giá trị âm thành giá trị 0. Ngoài ReLU, có thể sử dụng hàm sigmoid hoặc tanh. Hàm ReLU phổ biến hơn do nó không bị bảo hòa 2 đầu như sigmoid và tanh, tốc độ xử lý cũng vượt trội hơn. 2.5.1.3 Pooling layer Được đặt sau lớp Conv layer và ReLU layer là Pooling layer. Pooling layer có nhiệm vụ giảm kích thích của ảnh đầu vào mà vẫn đảm bảo được phần thông tin quan trọng. Hình 2.8: Minh họa Pooling layer Ta có thể hiểu cách hoạt động của Pooling layer như sau: Pooling layer sử dụng một cửa sổ trượt để quét toàn bộ các vùng trong ảnh, sau đó nó sẽ chọn một giá trị đại diện cho toàn bộ thông tin của vùng ảnh đó. Giá trị được chọn phụ thuộc vào loại pooling mà ta sử dụng gồm 2 loại: o Max Pooling: lấy giá trị cực đại trong phần ảnh được bộ lọc phủ. o Average Pooling: Trả về giá trị trung bình các giá trị trong vùng ảnh. 20
nguon tai.lieu . vn