- Trang Chủ
- Điện-Điện tử-Viễn thông
- Khóa luận tốt nghiệp ngành Hệ thống thông minh: 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
Xem mẫu
- 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.
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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