Có nhiều nghiên cứu về bộ điều khiển cho xe lăn điện như bài báo Accelerometer based Control of an Intelligent Wheelchair” [2] của nhớm tác giả RafiaHassani, Mohamed Boumehraz, Maroua Ha
Trang 1BỘ 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
Tp Hồ Chí Minh - 12/2019
Trang 2TRƯỜ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:
THIẾT KẾ VÀ THI CÔNG MÔ HÌNH XE LĂN TỰ HÀNH TRONG NHÀ DÙNG CAMERA 3D
GVHD: ThS Ngô Bá Việt SVTH: Huỳnh Tấn Cường MSSV: 14141028
Tp Hồ Chí Minh - 12/2019
Trang 3TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
o0o Tp HCM, ngày 16 tháng 12 năm 2019
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: Huỳnh Tấn Cường MSSV: 14141028
Chuyên ngành: Kỹ thuật Điện - Điện tử Mã ngành: 01
I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG MÔ HÌNH XE LĂN TỰ HÀNH TRONG
NHÀ DÙNG CAMERA 3D
II NHIỆM VỤ
1 Các số liệu ban đầu:
Các tài liệu về Python và thư viện OpenCV,pyrealsense, Giáo trình Xử lý
ảnh Các tài liệu về Arduino và thư viện Arduino
Các ví dụ về nhận dạng hình học cơ bản,truyền nhận dữ liệu qua bluetooth
2 Nội dung thực hiện:
Tìm hiểu phương pháp nhận
dạng Tổng quan về xử lý ảnh
Tìm hiểu Camera 3D, thiết bị công suất và các Module liên quan
Thi công mô hình
Viết chương trình trên Python và Arduino IDE
Hoàn thành mô hình
Đánh giá kết quả thực hiện
III NGÀY GIAO NHIỆM VỤ: 26/08/2019
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 15/12/2019
Trang 4Thiết kế và thi công mô hình xe lăn tự hành trong nhà dùng camera 3D
GVHD 16-20/9 Chọn đề tài
21-25/9 Viết đề cương chi tiết
26/3-05/10 Tìm hiểu phương pháp nhận dạng hình cơ bản
Tìm hiểu truyền nhận dữ liệu không dây
06/-09/10 Tìm hiểu module công suất và động cơ
Tìm hiểu module truyền dữ liệu
10-17/10 Tìm hiểu camera 3D
18-21/10 Tìm hiểu thuật toán tính khoảng cách
22-28/10 Tìm hiểu về Arduino
29/5-04/11 Tìm hiểu về python
Trang 505-06/11 Thực hiện viết code python,Arduino trên ubuntu
Trang 6Đề tài này là tôi tự thực hiện dựa vào một số tài liệu trước đó và không sao chép từtài liệu hay công trình đã có trước đó.
Người thực hiện đề tài
Huỳnh Tấn Cường
Trang 7Cô, nếu không có Thầy Cô thì chắc giờ này tôi sẽ khó có thể hoàn thành đề tài này.
Tiếp theo tôi cũng xin cảm ơn tới các Anh, Chị khóa trên cùng các bạn sinh viên
đã tạo điều kiện giúp đỡ, từ những tài liệu liên quan tới đề tài cho tới những kinh nghiệmsống thực tế Nhờ họ mà tôi mới có thể phát triển được
Tôi cũng gửi lời đồng cảm ơn đến các bạn lớp 14141DT1A đã chia sẻ trao đổi kiếnthức cũng như những kinh nghiệm quý báu trong thời gian thực hiện đề tài, và cũng là lớphọc có nhiều kí ức nhất thời sinh viên của tôi
Cuối cùng là gửi lời cảm ơn đến Cha, Mẹ nếu không có hai đấng sinh thành thìngày hôm nay cũng không có ai hiện diện ở đây để thực hiện những việc mình muốn, họ
đã tạo mọi điều kiện để giúp con của mình hướng tới một tương lai tốt đẹp
Một lần cuối xin chân thành cảm ơn!
Người thực hiện đề tài
Huỳnh Tấn Cường
Trang 8Trang bìa i
Nhiệm vụ đồ án ii
Lịch trình iii
Cam đoan iv
Lời cảm ơn v
Mục lục vi
Liệt kê hình vẽ vii
Liệt kê bảng vẽ viii
Tóm tắt ix
LIỆT KÊ HÌNH VẼ 12
LIỆT KÊ BẢNG 14
CHƯƠNG 1: TỔNG QUAN 16
1.1 ĐẶT VẤN ĐỀ 16
1.2 MỤC TIÊU 17
1.3 NỘI DUNG NGHIÊN CỨU 17
1.4 GIỚI HẠN 18
1.5 BỐ CỤC 18
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 19
2.1 TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ CÁC THƯ VIỆN LIÊN QUAN 19
2.1.1 Giới thiệu xử lý ảnh 19
2.1.2 Những kiến thức cơ bản trong xử lý ảnh 20
2.1.3 Phương pháp nhận dạng vật mốc 21
2.2 TRUYỀN DỮ LIỆU BLUETOOTH 21
2.2.1 Giới thiệu 21
Trang 92.2.2 Ứng dụng của Bluetooth 22
2.2.3 Ưu và nhược điểm của công nghệ Bluetooth 23
2.3 NGÔN NGỮ PYTHON 23
2.3.1 Giới thiệu 23
2.3.3 Ưu điểm và nhược điểm Python 25
2.4 ARDUINO 25
2.4.1 Giới thiệu 25
2.4.2 Ứng dụng của Arduino 26
2.4.3 Arduino IDE 26
2.5 GIỚI THIỆU PHẦN CỨNG 27
2.5.1 Camera Intel RealSense D435 27
2.5.2 Module HC06 30
2.5.3 Kit Arduino Nano 31
2.5.4 Module Điều Khiển Động Cơ BTS7960 32
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ 33
3.1 GIỚI THIỆU 33
3.2 THIẾT KẾ HỆ THỐNG PHẦN CỨNG 33
3.2.1 Khối thu tín hiệu 34
3.2.2 Khối xử lý và khối hiển thị 35
3.2.4 Khối giao tiếp và điều khiển 35
3.2.5 Khối nguồn 37
3.3 CÁC TÍNH TOÁN TRONG XỬ LÝ ẢNH ĐẦU VÀO 39
3.3.1 Nhận dạng vật mốc bằng ảnh màu của camera 39
Trang 104.1 GIỚI THIỆU 43
4.2 THI CÔNG HỆ THỐNG 43
4.2.1 Các linh kiện và model cần thiết cho mô hình 43
4.2.2 Kết nối, lắp ráp và kiểm tra mô hình 43
4.3 THI CÔNG MÔ HÌNH 44
4.3.2 Kết nối bộ phận điều khiển động lực với nguồn 45
4.3.3 Kết nối bộ phận camera với laptop 45
4.3.4 Mô hình hoàn chỉnh 46
4.4 LẬP TRÌNH HỆ THỐNG 47
4.4.1 Lưu đồ giải thuật 47
4.4.2 Lập trình ngôn ngữ Python với Sublime Text 3 49
4.4.2 Lập trình Arduino với Arduino IDE 52
4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 53
4.5.1 Viết tài liệu hướng dẫn sử dụng 53
4.5.2 Quy trình thao tác 54
CHƯƠNG 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 55
5.1 CAMERA 3D 55
5.2 XÁC ĐỊNH VẬT CẢN 55
5.3 NHẬN DẠNG VẬT MỐC 57
5.4 KẾT QUẢ TRÁNH VẬT CẢN 58
5.5 KẾT QUẢ ĐO KHOẢNG CÁCH CỦA XE LĂN 60
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 62
Trang 116.1.1 Kết quả đạt được 62
6.1.2 Những mặt hạn chế 62
6.2 HƯỚNG PHÁT TRIỂN 62
Trang 12Hình Trang
Hình 1 : Bluetooth 22
Hình 2: Arduino IDE 26
Hình 3: camera Intel RealSense D435 3D 27
Hình 4: Cấu tạo camera Intel RealSense D435 3D 28
Hình 5: Nguyên lý camera Intel RealSense D435 3D 28
Hình 6: Sơ đồ phần cứng camera Intel RealSense D435 3D 29
Hình 7: Module HC06 30
Hình 8: Kit Arduino Nano 31
Hình 9: Module điều khiển động cơ BTS7960 32
Hình 10: Sơ đồ khối 34
Hình 11: Khối thu tín hiệu 34
Hình 12: Laptop 35
Hình 13: Hình ảnh động cơ xe lăn 36
Hình 14: Sơ đồ nguyên lý mạch điều khiển động cơ 37
Hình 15: Acquy của xe lăn điện 37
Hình 16: Sơ đồ nguyên lý khối nguồn acquy 39
Hình 17: Giao giữa 2 tập hợp keypoint 42
Hình 18: Bộ phận điều khiển 44
Hình 19: Bộ phận điều khiển hoàn chỉnh 44
Hình 20: Bộ phận điều khiển với nguồn 45
Hình 21: Bộ phận camera và laptop 46
Trang 13Hình 23: Lưu đồ giải thuật chính 47
Hình 24: Ma trận không gian màu RGB 48
Hình 25: Truyền dữ liệu cho xe di chuyển 49
Hình 26: Xác định khoảng cách dừng camera 50
Hình 27: Truyền dữ liệu cho xe di chuyển 50
Hình 28: Tạo file mới Sublime Text 3 52
Hình 29: chọn cổng Arduino 52
Hình 30: Kiểm tra thư viện 53
Hình 31: Kết quả ảnh RGB và ảnh độ sâu từ camera 55
Hình 32: Kết quả xác định vật cản của camera 56
Hình 33: Kết quả xác định vật mốc của camera trường hợp 1 57
Hình 34: Kết quả xác định vật mốc của camera trường hợp 2 57
Hình 35: Kết quả xác định vật mốc của camera trường hợp 3 58
Hình 36: đi thẳng 58
Hình 37: rẽ trái 59
Hình 38: rẽ phải 59
Hình 39: xe lăn dừng trước vật mốc 60
Trang 14Bảng Trang
Bảng 1: Thông số cơ bản động cơ 36
Bảng 2: Thông số đo được 38
Bảng 3: Danh sách các model và linh kiện liên quan 43
Bảng 4: Thống kê kết quả xác định khoảng cách tối đa camera nhìn thấy vật cản 56
Bảng 5: Thống kê kết quả xác định khoảng cách vật mốc 60
Trang 15TÓM TẮT
Trong đời sống, xe lăn là thiết bị hỗ trợ cần thiết cho những người khuyết tật, nó đã
và đang được ứng dụng trong các hộ gia đình đang có người khuyết tật, di chuyển mộtcách khó khăn
Đề tài “Thiết kế và thi công mô hình xe lăn tự hành trong nhà dùng camera 3D” là
mô hình với mục đích giúp người khuyết tật có cả năng di chuyển một cách tự động, linhhoạt Xe lăn đạt được những mục tiêu nhận diện vật cản phía trước, xác định được vậtmốc và cho xe ngừng di chuyển tại vật mốc
Kết quả đã đạt được những mục tiêu đề ra với đề tài là:
Trang 16CHƯƠNG 1: TỔNG QUAN
Theo công bố của Tổng cục thống kê và UNICEF ngày 11 -1 -2019, hơn 7% dân sốViệt Nam từ 2 tuổi trở lên – khoảng 6,2 triệu người là người khuyết tật Bên cạnh đó, có13% dân số - gần 12 triệu người, sống chung trong hộ gia đình có người khuyết tật.Người khuyết tật được phân thành 6 loại dạng tật, đó là: khuyết tật vận động (chân, tay);khuyết tật nghe, nói (câm, điếc); khuyết tật nhìn (khuyết tật về mắt, khiếm thị); khuyếttật thần kinh, tâm thần (người rối loạn thần kinh, người điên); khuyết tật trí tuệ (bại não,động kinh, tự kỷ); khuyết tật khác (nạn nhân chất độc da cam, người nhiễm vi rút độchủy hoại cơ thể…).[1]
Cơ sở hạ tầng hiện nay ở nước ta vẫn chưa phát triển các hạng mục dành cho ngườikhuyết tật Nhà nước đã trợ cấp các dụng cụ hỗ trợ cho người khuyết tật như chân taygiả, xe lăn, máy trợ thính…nhưng đối với người khuyết tật về vận động hay nghe, nhìnthì xe lăn là vật dụng rất cần thiết để di chuyển Tuy nhiên, để một người khuyết tật cóthể tự đi lại được bằng xe lăn thì đòi hỏi phải có bộ điều khiển để xe lăn có thể di chuyểntheo ý muốn của người khuyết tật
Có nhiều nghiên cứu về bộ điều khiển cho xe lăn điện như bài báo Accelerometer based Control of an Intelligent Wheelchair” [2] của nhớm tác giả RafiaHassani, Mohamed Boumehraz, Maroua Hamzi, Zineb Habba được ra mắt ngày 9 tháng
“Gyro-6 năm 2018, đề tài xe lăn điện điều khiển bằng cử động đầu của nhóm sinh viên đại học
sư phạm kỹ thuật Đà Nẵng, Đại học giao thông vận tải, … vẫn còn một số nhược điểmnhư thiết bị điều khiển còn sơ sài, sử dụng cảm biến siêu âm phát hiện vật cản quá nhiềugây mất thẩm mĩ, …
Với mục đích có thể tạo ra một bộ điều khiển giúp người khuyết tật có thể di chuyển
dễ dàng bằng xe lăn vận dụng một các ưu điểm và nhằm khắc phục một số nhược điểm
Trang 17CHƯƠNG 1: TỔNG QUAN
và thi công bộ điều khiển xe lăn điện bằng cảm biến gia tốc”, do chính nhóm tiến hànhnghiên cứu và thực hiện Với mô hình này, chúng ta có thể phát triển bộ điều khiển biếnchiếc xe lăn thành một vật dụng hữu ích giúp cho người khuyết tật có thể đi lại dễ dànghơn
Cùng với sự phát triển ngày càng mạnh mẽ của khoa học kĩ thuật trong một vàithập kỷ gần đây, xử lý ảnh tuy là một ngành khoa học còn tương đối mới mẻ so vớinhiều ngành khoa học khác nhưng hiện nay đang là một trong những lĩnh vực pháttriển rất nhanh và thu hút sự quan tâm đặc biệt từ các nhà khoa học, thúc đẩy các trungtâm nghiên cứu, ứng dụng về lĩnh vực hấp dẫn này Xử lý ảnh đóng vai trò quan trọngtrong nhiều ứng dụng thực tế về khoa học kĩ thuật cũng như trong cuộc sống thườngngày như: sản xuất và kiểm tra chất lượng, sự di chuyển của Robot, các phương tiện đilại tự trị, công cụ hướng dẫn cho người mù, an ninh và giám sát, nhận dạng đối tượng,nhận dạng mặt, các ứng dụng trong y học, sản xuất, hiệu chỉnh video
Camera 3D [1-2] hiện đang là loại camera có độ ứng dụng cao trong khoa học kỹthuật vì camera này có khả năng ghi nhận chiều sâu đối tượng, tương tự mắt con người
Mục tiêu nghiên cứu của đề tài “Thiết kế và thi công mô hình xe lăn tự hành trongnhà dùng camera 3D” sử dụng laptop xử lý được tín hiệu từ camera 3D Realsense sau đógiao tiếp với Arduino Nano là bộ xử lý tín hiệu điều khiển động cơ đặt dưới xe để điềukhiển xe lăn điện
1.3 NỘI DUNG NGHIÊN CỨU
Để tài “Thiết kế và thi công mô hình xe lăn tự hành trong nhà dùng camera 3D” Cónhững nội dung sau:
NỘI DUNG 1: Tìm hiểu phương pháp nhận dạng vật mốc
NỘI DUNG 2: Tổng quan về xử lý ảnh.
NỘI DUNG 3: Tìm hiểu camera 3D và các Module liên quan.
NỘI DUNG 4: Viết chương trình trên Python va Arduino.
Trang 18 NỘI DUNG 5: Hoàn thành mô hình.
NỘI DUNG 6: Đánh giá kết quả thực hiện
Với đề tài “Thiết kế và thi công mô hình xe lăn tự hành trong nhà dùng camera 3D”thì chỉ sử dụng được ở những nơi có địa hình bằng phẳng không gồ ghề, tránh ánh sángtrực tiếp từ mặt trời gây ra nhiễu camera Khoảng cách phát hiện được vật cản là dưới1.5m, độ cao của vật phải trên 0.5m so với mặt đất
1.5 BỐ CỤC
Chương 1: Tổng quan
Chương này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nôi dungnghiên cứu, các giới hạn thông số và bố cục đồ án
Chương 2: Cơ sở lý thuyết
Chương này sẽ trình bày cơ bản về xử lý ảnh, phương pháp cơ bản để nhận dạng vàphân loại ảnh, tính kích thước sản phẩm, giới thiệu cơ bản về camera3D và thư viện liên quan
Chương 3: Thiết kế và tính toán
Chương này sẽ đi tìm hiểu kỹ các thuật toán nhận dạng sản phẩm theo hình dạng,thuật toán tính kích thước và thiết kế mô hình sản phẩm
Chương 4: Thi công hệ thống
Nội dung chương này là quá trình thi công cùng với việc chạy chương trình về phânloại sản phẩm cũng như tính kích thước sản phẩm
Chương 5: Kết quả nhận xét và đánh giá
Nội dung chương này là tổng hợp các kết quả đạt được sau khi thi công mô hình vàkết quả đạt được khi phân loại sản phẩm
Chương 6: Kết luận và hướng phát triển
Kết quả nhận được khi hoàn thiện đề tài, đưa ra các hướng phát triển hoàn thiện
Trang 19CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ CÁC THƯ VIỆN LIÊN QUAN
2.1.1 Giới thiệu xử lý ảnh
Xử lý ảnh không còn là đề tài quá mới, nó được áp dụng từ trong các hoạt độngthường ngày cho đến việc nâng cao sản xuất Nó giúp ích cho cá nhân hay gia đình, màcòn ứng dụng cả trong 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.Liên quan đến 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 baogồ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…
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ạití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ể đượcchia thành xử lý hình ảnh tương tự và xử lý hình ảnh kỹ thuật số
Để có 1 bức ảnh số ta có quá trình thực hiện như sau: Chụp ảnh từ một máy ảnh làmột quá trình vật lý Ánh sáng mặt trời sử dụng như một nguồn năng lượng Một dãy cảmbiến được sử dụng cho việc thu lại của hình ảnh Vì vậy, khi ánh sáng mặt trời rơi trênngười đối tượng, sau đó số lượng ánh sáng phản xạ của đối tượng được cảm nhận từ cáccảm biến, và một tín hiệu điện áp liên tục được tạo ra bởi số lượng dữ liệu cảm biến đó
Để tạo ra một hình ảnh kỹ thuật số, chúng ta cần phải chuyển đổi dữ liệu này thành mộtdạng kỹ thuật số Điều này liên quan đến việc lấy mẫu và lượng tử hóa Kết quả của việclấy mẫu và lượng tử hóa sau một quá trình xử lý là một hình ảnh kỹ thuật số
Trang 202.1.2 Những kiến thức cơ bản trong xử lý ảnh
A Điểm ảnh:
Là đơn vị cơ bản nhất để tạo nên một bước ảnh kỹ thuật số, địa chỉ của điểm ảnhđược xem như là một tọa độ (x,y) nào đó Một bức ảnh kỹ thuật số - có thể được tạo rabằng cách chụp hoặc bằng một phương pháp đồ họa nào khác - được tạo nên từ hàngngàn hoặc hàng triệu pixel riêng lẻ Bức ảnh càng chứa nhiều pixel thì càng chi tiết Mộttriệu pixel thì tương đương với 1 megapixel
B Ảnh số:
là tập hợp hữu hạn các điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần vớiảnh thật Số điểm ảnh xác định độ phân giải của ảnh Ảnh có độ phân giải càng cao thìcàng thể hiện rõ nét các đặt điểm của tấm hình càng làm cho tấm ảnh trở nên thực và sắcnét hơn Một hình ảnh là một tín hiệu hai chiều Nó được xác định bởi hàm toán học f(x,y) trong đó x và y là hai tọa độ theo chiều ngang và chiều dọc Các giá trị của f(x, y) tạibất kỳ điểm nào là cung cấp các giá trị điểm ảnh (pixel ) tại điểm đó của một hình ảnh
C Phân loại ảnh:
Mức xám của điểm ảnh là cường độ sáng, gán bằng một giá trị tại điểm đó Cácmức ảnh xám thông thường: 16, 32, 64, 128, 256 Mức được sử dụng thông dụng nhất là
256, tức là dùng 1 byte để biểu diễn mức xám
Ảnh nhị phân: Là ảnh có 2 mức trắng và đen Chỉ có 2 giá trị 0 và 1 và chỉ sử dụng
1 bit dữ liệu trên 1 điểm ảnh
Ảnh đen trắng: Là ảnh có hai màu đen, trắng (không chứa màu khác) với mức xám
ở các điểm ảnh có thể khác nhau
Ảnh màu: Là ảnh kết hợp của 3 màu cơ bản lại với nhau để tạo ra một thế giớimàu sinh động Người ta thường dùng 3 byte để mô tả mức màu, tức là có khoảng 16,7triệu mức màu
Hiện nay xử lý ảnh được giảng dạy trường đại học và ứng dụng vào thực tế rất nhiềunhư các phần mềm chỉnh sửa hình ảnh hay nhận biết khuôn mặt Chính vì thế có rất nhiều
Trang 21CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
công cụ để chúng ta lập trình ứng dụng vào thực tế, Như phải kể đến Matlap, hay ngôn ngữ Python…
2.1.3 Phương pháp nhận dạng vật mốc
Với đề tài “Thiết kế và thi công mô hình xe lăn tự hành trong nhà dùng camera3D.” Thiết kế mô hình phân có khả năng nhận dạng các vật xung để có quyết định cho xelăn
Trong cuộc sống hiện nay,mỗi gia đình đều trang bị rất nhiều vật dụng trong nhàvới vô số màu sắc, hình dáng Mỗi vật mốc đều có một hình dáng , màu sắc khác nhau
Vì thế mỗi vật mốc có điểm đặc biệt riêng Ở đây ta chúng ta nhận dạng vật mốc bằngcác điểm đặc đó của vật mốc
Có nhiều giải thuật để nhận dạng vật mốc như SUFT,YOLO , trong phần này tôi đề cậptới giải thuật SIFT (Scale-Invariant Feature Transform) là phát minh đã được đăng kí bảnquyền của David Lowe, là giải thuật trong lĩnh vực Computer Vision, dùng để nhận dạng
và miêu tả những điểm đặc trưng(local features) trong ảnh Giải thuật lần đầu được giớithiệu bởi David Lowe năm 1999 Giải thuật này(cùng với giải thuật anh em là SURF)được ứng dụng rộng rãi trong Nhận dạng đối tượng(object recognition), mô hình hóa3D(3D modeling),
2.2 TRUYỀN DỮ LIỆU BLUETOOTH
2.2.1 Giới thiệu
Bluetooth là sự trao đổi dữ liệu không dây tầm gần giữa các thiết bị điện tử Côngnghệ này hỗ trợ việc truyền dữ liệu qua các khoảng cách ngắn giữa các thiết bị di độngnhư điện thoại di động, tablet, laptop với nhau và với thiết bị cố định mà không cần mộtsợi cáp để truyền tải Bluetooth sử dụng sóng Radio tần số 2.4GHz Tuy sử dụng cùng tần
số với công nghệ Wifi nhưng chúng không hề xung đột với nhau vì Bluetooth sử dụng tần
số có bước sóng ngắn hơn
Trang 22Hình 1 : BluetoothBluetooth là một chuẩn điện tử, điều đó có nghĩa là các hãng sản xuất muốn có đặttính này trong sản phẩm thì họ phải tuân theo các yêu cầu của chuẩn của Bluetooth chosản phẩm của mình Những chỉ tiêu kỹ thuật này bảo đảm cho các thiết bị có thể nhận ra
và tương tác với nhau khi sử dụng công nghệ Bluetooth
2.2.2 Ứng dụng của Bluetooth
Các ứng dụng nổi bật của Bluetooth gồm:
+ Điều khiển và giao tiếp không dây giữa một điện thoại di động và tai nghe
+ Thay thế các giao tiếp nối tiếp dùng dây truyền thống giữa các thiết bị đo, thiết
bị định vị, thiết bị y tế, máy quét mã vạch, và các thiết bị điều khiển giao thông.+ Thay thế các điều khiển dùng tia hồng ngoại
+ Gửi các các tập tin qua lại các thiết bị dùng Bluetooth khác
+ Điều khiển từ xa cho các thiết bị trò chơi điện tử
+ Kết nối Internet cho máy tính bằng cách dùng điện thoại di động thay modem.Trong đề tài của tôi, Bluetooth đóng vai trò truyền lệnh điều khiển của bộ phận xử lý tới
bộ phận động lực, giúp cho xe lăn di chuyển mà không cần dây dẫn rườm rà
Trang 23CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.2.3 Ưu và nhược điểm của công nghệ Bluetooth
Ưu điểm:
Thay thế hoàn toàn dây nối
Hoàn toàn không nguy hại đến sức khoẻ con người
Bảo mật an toàn với công nghệ mã hóa trong Một khi kết nối được thiết lập thì khó có một thiết bị nào có thể nghe trộm hoặc lấy cắp dữ liệu
Các thiết bị có thể kết nối với nhau trong vòng 20m mà không cần trực diện (hiện nay có loại Bluetooth kết nối lên đến 100m)
Kết nối điện thoại và tai nghe Bluetooth khiến cho việc nghe máy khi lái xe hoặc bận việc dễ dàng
Giá thành rẻ
Tốn ít năng lượng, chờ tốn 0.3mAh, tối đa 30mAh trong chế độ truyền dữ liệu
Không gây nhiễu các thiết bị không dây khác
Tính tương thích cao nên được nhiều nhà sản xuất phần cứng và phần mềm hỗ
Rossum tạo ra năm 1990 Python được phát triển trong một dự án mã mở, do tổ chức philợi nhuận Python Software Foundation quản lý Mặc dù sự phát triển của Python có sự
Trang 24đó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ủaPython 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 đầu tìmhiểu Python là ngôn ngữ có mã lệnh (source code hay đơn giản là code) không mấy phứctạ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ủatừng dòng lệnh trong source code Python có nhiều ứng dụng trên nhiều nền tảng, chươngtrì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ềuhành khác nhau bao gồm Windows, Mac OSX và Linux.
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ụngtrong 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 đượclậ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ảngWindow , 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 đượcdùng làm thư viện chính để xử lý hình ảnh đầu vào và sau đó đi nhận dạng ảnh
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ùngvớ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àycàng phát triển
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
+ Phân tích video, ước lượng chuyển động của nó, trừ nền ra và theo dõi các đốitượng trong video
Trang 25CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.3.3 Ưu điểm và nhược điểm Python
+Python với tốc độ xử lý cực nhanh, python có thể tạo ra những chương trình
từ những script siêu nhỏ tới những phần mềm cực lớn như Biender 3D
Arduino tương tác với thế giới thông qua các cảm biến điện tử, đèn, và động cơ
Arduino gồm:
+ Phần cứng gồm một board mạch mã nguồn mở (thường gọi là vi điều khiển):
có thể lập trình được
+ Các phần mềm hỗ trợ phát triển tích hợp IDE (Integrated Development
Environment) dùng để soạn thảo, biên dịch code và nạp chương cho board
Trang 262.4.2 Ứng dụng của Arduino
Arduino có khả năng đọc các thiết bị cảm biến, điều khiển động cơ,… nên nó
thường được dùng để làm bộ xử lý trung tâm của rất nhiều loại robot
+ Game tương tác: Arduino có thể được sử dụng để tương tác với Joystick, màn hình,…
+ Máy bay không người lái
+ Điều khiển đèn tín hiệu giao thông, làm hiệu ứng đèn Led nhấp nháy trên các biển quảng cáo…
+ Điều khiển các thiết bị cảm biến ánh sáng, âm thanh
Hình 2: Arduino IDE
Trang 27CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.5 GIỚI THIỆU PHẦN CỨNG
2.5.1 Camera Intel RealSense D435
A Giới thiệu về camera Intel RealSense D435
Hình 3: camera Intel RealSense D435 3DIntel RealSense D435 là sản phẩm của Microsoft dựa trên công nghệ camera đượcphát triển bởi PrimeSense Intel RealSense D435 được coi như là một thiết bị ngoại vicho Xbox 360, cho phép giao tiếp với con người thông qua các cử chỉ, đem lại nhữngcảm giác thú vị cho người chơi game trên Xbox Khả năng hiểu được cử chỉ con ngườicủa Intel RealSense D435 dựa trên hai đặc tính chính sau: thông tin về độ sâu ảnh(depth map), khả năng phát hiện và bám theo đặc tính cơ thể người (body skeletontracking)
Bên cạnh phục vụ cho mục đích chơi game, sản phẩm Intel RealSense D435 cònđược dùng vào mục đích nghiên cứu xử lý ảnh 3D, phát hiện cử chỉ (gesturerecognition), bám theo người (body tracking) và nhiều mục đích khác Lý do chính cho
sự thành công của sản phẩm Intel RealSense D435 là giá cả khá rẻ (khoảng 140$ trên 1sản phẩm) cho thiết bị có khả năng cung cấp các thông tin 3D với chất lượng chấpnhận được
Trang 28B Cấu tạo camera Intel RealSense D435
Hình 4: Cấu tạo camera Intel RealSense D435 3D+ 2 Camera RGB: Là một camera có 3 kênh dữ liệu có độ phân giải 1280×960
Camera này có khả năng chụp lại ảnh ảnh màu
+ Cảm biến hồng ngoại: Độ sâu thu về nhờ cảm biến IR projector từ đó tính toán ra bản đồ độ sâu
C Nguyên lý hoạt động camera Intel RealSense D435
Hình 5: Nguyên lý camera Intel RealSense D435 3DCặp cảm biến camera RGB bên trái và phải sẽ phối hợp với nhau để tạo ra giá trị
độ sâu cho ra ảnh độ sâu của ảnh RGB Kết hợp thêm cảm biến hồng ngoại để tăng mức
Trang 29CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
độ chính xác, với ảnh độ sâu camera và cảm biến hồng ngoại camera cho ra khoảng cáchcủa các vật ở phía trước camera
D Dữ liệu thu được từ camera Intel RealSense D435
Dựa vào sơ đồ phần cứng kết nối của camera ta có thể thấy các cảm biến của Intel RealSense D435 được điều khiển thu thập và xử lý dữ liệu thông qua chip Intel RealsenseVision Processor D4 có tần số 24 MHz, sau đó được lưu trữ vào bộ nhớ EEPROM Các
dữ liệu này có thể truyền vào máy tính thông qua cổng USB 3.0
Các tín hiệu thu thập bao gồm dữ liệu về độ sâu, màu sắc trong đó tín hiệu về độ sâu là
dữ liệu quan trọng có nhiều ứng dụng.Sở dĩ dữ liệu về chiều độ sâu có tầm quan trọng như vậy bởi nó giúp việc nhận dạng các vật thể đơn giản hơn nhiều so với xử lý ảnh
thông thường Các thuật toán xử lý ảnh thông thường dựa vào sự tương đồng về màu sắc,tuy nhiên, có thể những vật có màu sắc tương tự nhau nhưng không cùng một vật thể
hoặc các phần của cùng một đối tượng nhưng có màu khác nhau,do vậy gây khó khăn
trong quá trình nhận dạng
Hình 6: Sơ đồ phần cứng camera Intel RealSense D435 3D
Trang 30Trong khi đó, với thông tin về độ sâu, các vật thể được phân biệt với nhau thông qua vị trí Những điểm có khoảng cách gần nhau có xu hướng cùng một đối tượng mà không phân biệt màu sắc Chỉ khi độ sâu giảm đột ngột như ở cạnh và ở một số phần nhỏ của đối tượng thì khi đó, hình ảnh trên bản đồ độ sâu mới có sự thay đổi.
2.5.2 Module HC06
Với thiết kế nhỏ gọn, tiện lợi, giao tiếp với vi điều khiển chỉ bằng 2 chân (Tx và Rx), module bluetooth HC06 sẽ giúp bạn thực hiện các dự án truyền dẫn và điều khiển từ
xa một cách dễ dàng Sử dụng thiết bị ngoại vi (điện thoại thông minh, máy tính laptop)
để dò tín hiệu kêt nối Buletooth mà HC06 phát ra Sau khi pair thành công bạn có thể gửitín hiệu từ vi điều khiển đến các thiết bị ngoại vi này, và ngược lại
Hình 7: Module HC06Thông số kĩ thuật:
Trang 31CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
+ Giao tiếp: UART (TX,RX)
+ Bất đồng bộ: 2.1Mbps(Max)/160kbps
+ Đồng bộ: 1Mbps/1Mbps
+ Bảo mật: mã hóa và chứng thực
2.5.3 Kit Arduino Nano
Arduino Nano, đó là sự tiện dụng, đơn giản, có thể lập trình trực tiếp bằng máytính (như Arduino Uno R3) và đặc biệt hơn cả đó là kích thước của nó Kích thước củaArduino Nano cực kì nhỏ chỉ tương đương đồng 2 nghìn gấp lại 2 lần thôi (1.85cm x
4.3cm), rất thích hợp cho các newbie, vì giá rẻ hơn Arduino Uno nhưng dùng được tất cảcác thư việt của mạch này Hôm nay, tớ viết bài này nhằm mục đích giới thiệu về mạch Arduino Nano và các thông số kĩ thuật, cùng với đó là những gợi ý ứng dụng khi bắt đầuvới mạch này
Hình 8: Kit Arduino Nano
Vi điều khiển ATmega328 (họ 8bit)
Trang 32Số chân Analog 8 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 40 mA
Kích thước 1.85cm x 4.3cm
2.5.4 Module Điều Khiển Động Cơ BTS7960
Driver sử dụng 2 chip BTS7960 bao gồm mạch điều khiển cầu H và bảo vệ
quá dòng, quá áp, quá nhiệt, ngắn mạch
Hình 9: Module điều khiển động cơ BTS7960Điện áp cung cấp: 6 ~ 27 VDC
Dòng tải cao: 45A
Tự động ngắt khi áp dưới 5.5V, và mở lại sau khi áp lớn hơn 5.5V
Kích thước: 40x50x12 mm
RPWM: chân đảo chiều hoặc cấp PWM nửa cầu phải, Mức tích cực cao
LPWM: chân đảo chiều hoặc cấp PWM nửa cầu trái, Mức tích cực cao
R_EN: 0 Disable nửa cầu phải, 1 Enable nửa cầu phải
L_EN: 0 Disable nửa cầu trái, 1 Enable nửa cầu trái
Trang 33CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
3.1 GIỚI THIỆU
Ngày nay, phần lớn các thiết bị điện tử đều phát triển theo xu hướng tự động hóa, thông minh, càng hiểu ý con người, chúng giao tiếp được với con người và hoạt động theo
ý muốn con người, để làm được điều đó thì các thiết bị cảm biến, thuật toán hỗ trợ ra đời
Để tài “Thiết kế và thi công mô hình xe lăn tự hành trong nhà dùng camera 3D”với mô hình gồm bộ điều khiển trung tâm là laptop, khối thu tín hiệu hình ảnh từ bênngoài là Camera 3D, khối truyền tín hiệu, khối điều khiển động lực
3.2 THIẾT KẾ HỆ THỐNG PHẦN CỨNG
Sơ đồ gồm : bộ điều khiển trung tâm là laptop, khối thu tín hiệu hình ảnh từ bênngoài là camera Intel RealSense D435, sau đó được hiển thị kết quả trên màn hình máytính, cùng với bộ phận để điều khiển
+ Khối hiển thị: hiển thị kết quả được nhận từ khối xử lý trung tâm Sử dụng màn hình của máy tính để hiển thị kết quả
+ Khối giao tiếp: module HC06
+ Điều khiển động lực : Module Điều Khiển Động BTS7960
+ Khối nguồn: cung cấp nguồn cho toàn bộ hệ thống
Trang 34Hình 10: Sơ đồ khối
3.2.1 Khối thu tín hiệu
Khối thu tín hiệu là thành phần quan trọng của mô hình Có chức năng thu thập dữ liệu từ thực tế rồi gửi dữ liệu cho khối xử lý trung tâm
Hình 11: Khối thu tín hiệu
Ở đây để có chất lượng hình ảnh tốt để xử lý ảnh dễ dàng ta dùng Camera có độphân giải cao, có khả năng ghi nhận chiều sâu đối tượng, tương tự mắt con người nênchọn camera Intel RealSense D435 làm khối thu tín hiệu hình ảnh
Là thiết bị có ảnh hưởng lớn đến chất lượng ảnh cùng với việc nhận dạng Nên
“camera Intel RealSense D435” được chọn Camera có độ phân giải cao, cùng với kíchthước phù hợp cho các hướng phát triển sau này
Các tính năng và đặc điểm của camera:
Trang 35CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
1 Intel RealSense D435 được điều khiển đồng thời thu thập và xử lý dữ liệu thôngqua chip PS1080 có tần số 12MHz
2 Sử dụng trong HĐH Windows, Linux, Android, Mac
3.2.2 Khối xử lý và khối hiển thị
Vì vấn đề xử lý ảnh cần nhiều tài nguyên và tốc độ xử lý cao, nên ta không sử dụng
vi điều khiển thông thường để xử lý Chính vì vậy, nhóm đã sử dụng laptop làm khối xử
lý trung tâm
Máy tính của nhóm có CPU core i5 tộc độ xử lý lên tới 3.4 GHz chính vì vậy việc
sử dụng vào mô hình là hợp lý Máy tính hỗ trợ rất tốt việc giao tiếp các thiết bị ngoại vi
và module từ bên ngoài Có chức năng hiển thị kết quả được nhận từ khối xử lý trungtâm Sử dụng màn hình máy tính để hiển thị kết quả
Trang 36❖ Module Điều Khiển Động BTS7960
Thông số kỹ thuật động cơ xe lăn:
Hình 13: Hình ảnh động cơ xe lănBảng 1: Thông số cơ bản động cơ
Dòng điện định mức 15.8ACông suất định mức 250WTốc độ định mức 83 vòng/phút
Sử dụng 2 mạch điều khiển động cơ BTS7960 đầu vào điện áp điều khiển động cơ24VDC, mạch có dòng điện tải lên đến 43A để nhận tín hiệu từ vi điều khiển Arduinođiều khiển 2 động cơ quay thuận, nghịch giúp xe dễ dàng duy chuyển trước sau theo tốc
độ điều khiển
Nguồn Acquy 24VDC cấp cho động cơ và qua mạch giảm áp để cấp cho cầu HBTS7960, vi điều khiển, các cảm biến và module bluetooth Hai chân L_EN và R_ENđược nối chung để cho phép sự hoạt động của cầu H Hai chân RPWM và LPWM là 2chân PWM để điều khiển tốc độ động cơ
Trang 37CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
Hình 14: Sơ đồ nguyên lý mạch điều khiển động cơ
3.2.5 Khối nguồn
Thông số kỹ thuật bình Acquy sử dụng cho xe lăn
Hình 15: Acquy của xe lăn điện
Xe lăn điện sử dụng Acquy dung lượng 12AH, điện áp đầu ra 24VDC Sử dụng bộnguồn sạc acquy với đầu vào 24VDC Thời gian sử dụng ước lượng của Acquy dunglượng 12AH phụ thuộc vào công suất của tải bao gồm 2 động cơ 250W, hộp điều khiểnđộng cơ được tính theo công thức sau
Trang 38Trong đó:
- t: là thời gian sử dụng điện từ acquy (giờ)
- A: Dung lượng acquy (Ah)
- V: Điện áp acquy (Volt)
- P: Công suất tải (W)
- η: Hệ số sử dụng acquy Thông thường η=0,7
Thực nghiệm cho thấy khi người trên xe có khối lượng trung bình khoảng 65kg với tốc độ đã lập trình sẵn thì đo được như sau
Bảng 2: Thông số đo được
Trang 39CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
Sơ đồ nguyên lý khối nguồn acquy 24VDC:
Hình 16: Sơ đồ nguyên lý khối nguồn acquy
3.3 CÁC TÍNH TOÁN TRONG XỬ LÝ ẢNH ĐẦU VÀO
Như đã tìm hiểu phương pháp nhận dạng ở cơ sở lý thuyết và cấu tạo phần cứngcamera Intel RealSense D435 ta có 2 bài toán xử lý ảnh: nhận dạng vật mốc bằng ảnhmàu và khoảng cách của camera trong không gian được trả về thông qua dạng mảng
3.3.1 Nhận dạng vật mốc bằng ảnh màu của camera
❖ Giới thiệu SIFT
Nhận dạng ảnh là giai đoạn quan trọng cuối của một hệ thống xử lý ảnh Nhậndạng là quá trình phân loại các đối tượng được biểu diễn theo một mô hình nào đó Ảnhđược chụp sẽ được phân tích thành các đặc trưng riêng biệt, với những đặc trưng đó tađem đi tìm hiểu và nhận dạng Mô hình của tôi nhận các vật mốc được chụp và cho biếttrước, hình ảnh nhận từ camera được so sánh với ảnh vật mốc và cho ra đánh giá Điểmđặc biệt của SIFT nằm ngay trong cái tên của nó Scale-Invariant, tức là nó sẽ đưa ra cáckết quả ổn định với những scale của ảnh khác nhau, bên cạnh đó cũng có thể nói giảithuật này có tính rotation-invariant
Trang 40❖ Các bước của giải thuật
1 Phát hiện cực đoan không gian tỷ lệ (Scale-space extrema detection)
Trong computer vision, chúng ta thường định nghĩa kích cỡ các cửa sổ(window)rồi quét ảnh với các cửa sổ đó để tìm những đặc tính(feature) của ảnh.Phía bên trái chúng
ta có 1 góc(corner) với kích thước nhỏ, và cửa sổ(window) có kích thước hợp lý để nhận
ra các keypoint, nhưng với cùng kích cỡ cửa sổ và một góc có kích thước lớn thì sẽ trởnên bất hợp lý Do đó, scale-space filtering được sử dụng để giải quyết vấn đề này SIFTtính DoG (Difference of Gaussians) trên từng pixel bằng cách lấy diff của Gaussian Blurvới 2 sigma khác nhau Sau khi tính được DoG của toàn ảnh, xét trên từng pixel so sánhvới 8 neighbors và 9 pixels tương ứng của scale ảnh ngay trên và 9 pixels tương ứng ởscale dưới, nếu pixel đó là local extrema (lớn nhất) thì nó sẽ được coi như là 1 keypoint ởscale đó (potiental keypoint)
2 Nội địa hóa điểm (Keypoint localization)
Khi đã lấy được tất cả những potential keypoints của ảnh, việc cần làm tiếp theo làlọc để ra những kết quả chính xác hơn, SIFT sử dụng chuỗi Taylor mở rộng để lấy vị trícủa extrema chính xác hơn, rồi sau đó xét xem nếu intensity của extrema đó nhỏ hơn giátrị ngưỡng (0.03) thì sẽ loại keypoint đó.Bên cạnh đó, DoG rất nhạy cảm vớiedge(đường), để loại bỏ edge keypoint, SIFT dùng concept giống Haris corner detector,
nó dùng ma trận Hessian 2x2 để tính ra những đường cong chính Khi eigen value lớnhơn threshold nào đó thì keypoint đó sẽ bị loại
Như trên, SIFT có thể loại được keypoints có tương phản thấp, edge keypoint và giữ lạinhững keypoint hợp lý hơn
3 Phân công định hướng (Orientation assignment)
Một hoặc nhiều orientation (hướng) sẽ được gắn cho từng vị trí keypoint dựa trênimage gradient Các phép tính sau đó trên ảnh sẽ tương ứng với từng orientation, scale và
vị trí từng feature
4 Mô tả quan trọng (Keypoint descriptor)