TỔNG QUAN
ĐẶT VẤN ĐỀ
Thiên nhiên ban tặng cho mọi sinh linh quyền tự do di chuyển và giao tiếp, nhưng trong xã hội hiện đại, nhiều người vẫn bị tước đoạt những quyền cơ bản này Một số bệnh nhân không thể di chuyển hoặc giao tiếp qua ngôn ngữ cơ thể, trong khi những người khác mất khả năng nói Điều này khiến việc tiếp cận các nhu yếu phẩm trở nên khó khăn, đòi hỏi sự trợ giúp từ người khác Để hỗ trợ giao tiếp và di chuyển cho những bệnh nhân mất khả năng vận động, nhiều thiết bị đã được phát triển nhằm đáp ứng nhu cầu thiết thực này.
Với sự phát triển của khoa học kỹ thuật, xe lăn điện đã trở thành giải pháp cứu cánh cho người mắc bệnh bại liệt, giúp họ di chuyển và thực hiện các hoạt động hàng ngày Ngày nay, xe lăn điện có thể được điều khiển linh hoạt nhờ vào bộ điều khiển tích hợp trên tay cầm, phù hợp cho những bệnh nhân bị liệt hai chi dưới Tuy nhiên, đối với những bệnh nhân bị liệt tứ chi và không có khả năng giao tiếp, việc điều khiển xe lăn trở thành một thách thức lớn cần được giải quyết.
Thị trường gần đây đã chứng kiến sự ra đời của nhiều công cụ giao tiếp dành cho bệnh nhân bị liệt, nổi bật là thiết bị theo dõi mắt Tobii của Dynavox Thiết bị này sử dụng công nghệ phát hiện ánh mắt để điều khiển con trỏ chuột trên màn hình, ghi lại chuyển động của mắt và áp dụng các thuật toán nhận diện vị trí mà mắt đang quan sát Điều này giúp bệnh nhân dễ dàng hơn trong việc sử dụng các công cụ hỗ trợ giao tiếp.
Nhằm hỗ trợ bệnh nhân bị liệt nặng trong giao tiếp và di chuyển, việc phát triển một thiết bị giao tiếp bằng mắt là giải pháp tối ưu Đề tài nghiên cứu "Thiết kế và thi công mô hình kính đeo mắt hỗ trợ bệnh nhân bại liệt giao tiếp và di chuyển - ứng dụng xử lý ảnh" được thực hiện với mục tiêu tạo ra một thiết bị hiệu quả, giá thành hợp lý, phù hợp với nhu cầu của bệnh nhân bại liệt tại Việt Nam.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 2
MỤC TIÊU
Mục tiêu của đề tài là thiết kế và thi công một hệ thống hỗ trợ bệnh nhân bại liệt trong việc giao tiếp và di chuyển, bao gồm việc cải tiến mô hình xe lăn điện đã có và tích hợp kính với camera để thu thập hình ảnh, giúp nhận diện và phân loại các hướng nhìn của mắt Hệ thống sẽ sử dụng những hướng nhìn này để tương tác với các giao diện hỗ trợ và điều khiển xe lăn điện Ngoài ra, đề tài cũng hướng tới việc nâng cấp các tính năng an toàn cho xe lăn điện.
NỘI DUNG NGHIÊN CỨU
Trong Khóa luận tốt nghiệp, đề tài "Thiết kế và thi công mô hình kính đeo mắt hỗ trợ bệnh nhân bại liệt giao tiếp và di chuyển - ứng dụng xử lý ảnh" tập trung vào việc phát triển một giải pháp công nghệ giúp cải thiện khả năng giao tiếp và di chuyển cho bệnh nhân bại liệt Nghiên cứu này nhằm hoàn thiện các nội dung liên quan đến thiết kế, thi công và ứng dụng công nghệ xử lý ảnh trong việc hỗ trợ người khuyết tật.
• Nội dung 1: Tìm hiểu lý thuyết về các mô hình nhận diện cử động, hướng nhìn của mắt
• Nội dung 2: Tiến hành các thí nghiệm huấn luyện mô hình YOLOv4
• Nội dung 3: Đánh giá kết quả các thí nghiệm dựa trên các phương pháp đánh giá và thử nghiệm thực tế
• Nội dung 4: Nghiên cứu thiết lập và hoàn thiện bộ giao diện hỗ trợ giao tiếp và điều khiển xe lăn điện dành cho bệnh nhân bị liệt
• Nội dung 5: Thi công phần cứng – mô hình kính đeo mắt, chạy thử nghiệm và hiệu chỉnh hệ thống
• Nội dung 6: Viết báo cáo thực hiện
• Nội dung 7: Bảo vệ luận văn.
GIỚI HẠN CỦA ĐỀ TÀI
− Ứng dụng được thiết kế dựa trên ngôn ngữ lập trình Python và hoạt động trên Jetson Nano Developer Kit
Để đảm bảo nhận diện chính xác hướng nhìn của mắt, bệnh nhân cần đứng ở vị trí chính diện so với Camera Ruisvision HD720p Khoảng cách tối ưu từ camera đến mắt nên duy trì trong khoảng 4-5cm.
− Sử dụng mô hình YOLOv4 để nhận diện cử động, hướng nhìn của mắt
− Mô hình chỉ được huấn luyện để nhận diện bệnh nhân đeo kính và nhìn thẳng
Báo cáo đồ án tốt nghiệp 3 trình bày 6 nhãn tương ứng với 6 hành động của mắt, bao gồm: mở mắt, nhắm mắt, liếc lên, liếc xuống, liếc trái và liếc phải.
− Xe lăn điện sẽ được điều khiển thông qua kết nối Bluetooth.
BỐ CỤC CỦA ĐỀ TÀI
Bố cục của đề tài bao gồm 6 chương sau:
Chương này tập trung đặt vấn đề, trình bày lý do chọn đề tài, mục tiêu, giới hạn, nội dung nghiên cứu và bố cục của đề tài
• Chương 2: Cơ sở lý thuyết
Chương này sẽ trình bày kiến thức về bệnh liệt tứ chi và mạng tích chập, đồng thời giới thiệu một số mô hình phổ biến trong nhận diện đối tượng Ngoài ra, chương cũng sẽ đề cập đến các phần mềm và phần cứng sẽ được sử dụng trong nghiên cứu này.
• Chương 3: Tính toán & thiết kế hệ thống
Chương này cung cấp cơ sở lựa chọn mô hình nhận diện, bao gồm các tính toán và thiết kế phần cứng phù hợp với đề tài Bên cạnh đó, nó cũng đề xuất phương pháp tổ chức dữ liệu, cùng với quy trình huấn luyện và đánh giá mô hình sau khi hoàn tất quá trình huấn luyện.
• Chương 4: Thi công hệ thống
Chương này mô tả chi tiết quá trình thi công đề tài, bao gồm lưu đồ giải thuật và giao diện, đồng thời cung cấp hướng dẫn sử dụng cụ thể cho người đọc.
• Chương 5: Kết quả - nhận xét - đánh giá
Chương này trình bày kết quả thi công của đề tài, các nhận xét và đánh giá về sản phẩm sau khi hoàn thành
• Chương 6: Kết luận và hướng phát triển
Chương này tóm tắt những kết luận chính của đề tài, nêu rõ quá trình nghiên cứu, thực hiện và kết quả đạt được Đồng thời, cũng đề xuất một số hướng phát triển và cải tiến tiềm năng cho tương lai.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 4
CƠ SỞ LÝ THUYẾT
BỆNH LIỆT TỨ CHI
Bệnh liệt tứ chi, hay còn gọi là bại liệt toàn thân, là một căn bệnh nghiêm trọng gây tổn thương và suy yếu khả năng di chuyển của người bệnh Căn bệnh này dẫn đến rối loạn, giảm hoặc mất chức năng vận động và cảm giác, ảnh hưởng đến cả bốn chi (hai tay và hai chân) Hơn nữa, bệnh còn có thể tác động đến chức năng hô hấp và tim mạch, gây khó khăn trong việc vận động và thực hiện các hoạt động hàng ngày.
Tổn thương cột sống cổ là một nguyên nhân phổ biến ảnh hưởng đến dây thần kinh điều khiển bốn chi và các cơ quan khác trong cơ thể Những tổn thương này có thể xảy ra do tai nạn giao thông, tai nạn lao động, tai nạn thể thao, hoặc do căng cơ quá mức và các nguyên nhân khác.
Bệnh Polio, do virus polio gây ra, là một trong những nguyên nhân chính dẫn đến liệt tứ chi Virus này tấn công hệ thần kinh, gây tổn thương tại các điểm truyền tải tín hiệu từ não đến cơ bắp, dẫn đến tình trạng bại liệt tứ chi.
Hội chứng bị khóa (Locked-in syndrome) là một hiện tượng y học hiếm gặp, trong đó người bệnh mất khả năng di chuyển và nói, nhưng vẫn giữ được ý thức và sự tỉnh táo Tình trạng này chỉ cho phép hoạt động của các cơ mắt, khiến người mắc phải không thể giao tiếp bằng cách thông thường Hội chứng này được phân loại dựa trên khả năng di chuyển mắt và phương thức giao tiếp của bệnh nhân.
LiS được các nhà nghiên cứu chia ra làm ba dạng, bao gồm:
• Dạng cổ điển (Phổ biến nhất)
Dạng LiS đặc trưng bởi tình trạng tê liệt hoàn toàn các cơ chủ động, bao gồm cơ bắp cánh tay, cơ mặt và giọng nói Mặc dù vậy, người bị ảnh hưởng thường vẫn giữ được khả năng di chuyển mắt và nháy mắt, giúp họ giao tiếp qua tín hiệu mắt hoặc các thiết bị theo dõi mắt.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 5
• Dạng không hoàn chỉnh (Hiếm gặp)
Dạng này có một số cơ chủ động vẫn còn hoạt động, không chỉ khả năng di chuyển mắt Mức độ hoạt động có thể khác nhau, từ việc nhích nhẹ nhàng trên khuôn mặt đến việc di chuyển một số nhóm cơ nhất định trên cơ thể.
Dạng bất động hoàn toàn là dạng tê liệt nặng nhất, khi người bệnh không thể cử động bất kỳ cơ nào, kể cả cơ mắt Trong tình trạng này, họ không thể giao tiếp qua chuyển động mắt và thường phải sử dụng các phương pháp thay thế như giao diện não-máy tính (BCI), điện não đồ (EEG) để kiểm tra chức năng vỏ não, hoặc các công nghệ hỗ trợ khác để truyền đạt ý kiến và mong muốn của mình.
Hội chứng bị khóa không làm suy giảm khả năng tư duy và nhận thức của người bệnh; họ vẫn hoàn toàn tỉnh táo và có khả năng hiểu biết Quá trình phục hồi và việc sử dụng các thiết bị hỗ trợ là rất quan trọng để nâng cao chất lượng cuộc sống cho những người bị ảnh hưởng bởi hội chứng này.
MẠNG NƠ-RON TÍCH CHẬP
Mạng nơ-ron tích chập (CNN) là một thuật toán học sâu mạnh mẽ, chuyên dụng cho việc xử lý và phân tích dữ liệu hình ảnh Được phát triển dựa trên cấu trúc và chức năng của vỏ não thị giác con người, CNN đã làm thay đổi đáng kể lĩnh vực thị giác máy tính, với ứng dụng phổ biến trong phân loại hình ảnh, phát hiện đối tượng và nhận dạng hình ảnh (Salman Khan, 2018).
CNN, hay mạng nơ-ron tích chập, là một loại mạng ANN có khả năng xử lý hình ảnh đầu vào bằng cách gán trọng số và thiên lệch có thể học được cho các đặc điểm trong hình ảnh So với các thuật toán phân loại khác, CNN yêu cầu ít bước tiền xử lý hơn, và một số ứng dụng nhận diện thậm chí không cần đến bước này.
Kiến trúc của CNN được thiết kế tương tự như mô hình kết nối của các tế bào thần kinh trong não người, lấy cảm hứng từ cách tổ chức của Vỏ não thị giác Các tế bào thần kinh chỉ phản ứng với kích thích trong một vùng hạn chế gọi là trường tiếp nhận, và nhiều trường như vậy chồng lên nhau để bao phủ toàn bộ khu vực trực quan CNN bao gồm nhiều lớp, mỗi lớp đảm nhiệm một chức năng cụ thể để trích xuất thông tin.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 6 xuất và xử lý các đặc trưng hình ảnh
CNN được phân ra ba lớp chính:
- Lớp tích chập (Convolutional layer)
- Lớp kết nối đầy đủ (Fully-connected layer)
Cấu tạo của mạng nơ ron tích chập - CNN
Lớp tích chập (Convolutional layer) là lớp đầu tiên trong mạng nơ-ron tích chập (CNN), chịu trách nhiệm trích xuất các đặc tính từ hình ảnh Lớp này áp dụng bộ lọc lên ảnh đầu vào để nhận diện các mẫu và cạnh, với các tham số bao gồm bộ lọc có thể học được, hay còn gọi là nhân Những bộ lọc này di chuyển qua ảnh và thực hiện các phép toán toán học trên từng vùng nhỏ, tạo ra một Feature Map chứa các đặc trưng quan trọng Qua quá trình huấn luyện, CNN học được các giá trị tối ưu cho những bộ lọc này, giúp nó trở nên thông thạo trong việc nhận biết các đặc trưng có ý nghĩa (Millstein, 2020).
Sau các lớp tích chập, mạng thường sử dụng lớp gộp (Pooling) để giảm kích thước đặc trưng, từ đó giảm số chiều và độ phức tạp trong tính toán Bước này giúp thu thập các đặc trưng quan trọng, loại bỏ chi tiết không cần thiết, cải thiện hiệu suất và ngăn chặn quá khớp Lớp gộp cũng hỗ trợ trích xuất tính năng ổn định trước các biến đổi về vị trí và xoay, giúp quá trình đào tạo mô hình hiệu quả hơn Các kỹ thuật gộp phổ biến bao gồm gộp cực đại, gộp trung bình và gộp tổng.
Gộp tổng và gộp trung bình là hai phương pháp xử lý hình ảnh khác nhau Gộp tổng trả về giá trị tối đa từ phần hình ảnh mà Kernel trượt qua, trong khi gộp trung bình tính toán giá trị trung bình của tất cả các giá trị trong cùng phần hình ảnh Gộp tổng không chỉ giảm kích thước mà còn hoạt động như một hệ thống chống nhiễu, loại bỏ hoàn toàn các tác nhân gây nhiễu Ngược lại, gộp trung bình chỉ thực hiện giảm kích thước mà không hiệu quả trong việc khử nhiễu Do đó, gộp tổng được coi là vượt trội hơn so với gộp trung bình trong việc xử lý hình ảnh.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 7
Lớp tích chập và lớp gộp là hai thành phần chính của lớp đầu tiên trong mạng Nơ-ron tích chập Số lượng các lớp này có thể được điều chỉnh tùy thuộc vào độ phức tạp của hình ảnh, giúp thu được chi tiết rõ ràng hơn Tuy nhiên, việc tăng cường độ phức tạp này đồng nghĩa với việc yêu cầu nhiều tài nguyên tính toán hơn, như GPU và CPU.
• Lớp kết nối đầy đủ
Sau khi ảnh trải qua nhiều lớp tích phân và gộp, mô hình đã học được các đặc điểm của ảnh, và tensor đầu ra từ lớp cuối cùng sẽ được phẳng thành vector để đưa vào một lớp kết nối như mạng nơ-ron Các lớp này có nhiệm vụ trích xuất đặc trưng cấp cao và thực hiện dự đoán, nhằm tối ưu hóa mục tiêu của mạng, chẳng hạn như độ chính xác của lớp Đầu ra từ lớp kết nối đầy đủ sẽ được đưa vào hàm kích hoạt softmax hoặc sigmoid, tạo ra phân bố xác suất trên các lớp trong một tác vụ phân loại.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 8
MỘT SỐ MÔ HÌNH NHẬN DIỆN CHUYỂN ĐỘNG CỦA MẮT
Hiện nay, có nhiều mô hình và phương pháp nhận diện chuyển động của mắt được áp dụng trong lĩnh vực xử lý hình ảnh và thị giác máy tính Những công nghệ này đóng vai trò quan trọng trong việc cải thiện khả năng tương tác giữa con người và máy móc, đồng thời nâng cao hiệu suất trong nhiều ứng dụng như nhận diện người dùng và phân tích hành vi.
2.3.1 Điện nhãn đồ Điện nhãn đồ (Electrooculography – EOG) đo điện thế được tạo ra bởi chuyển động của mắt Các điện cực được đặt xung quanh mắt để phát hiện những thay đổi trong điện trường do hoạt động của cơ mắt gây ra Các tín hiệu EOG có thể được xử lý và phân tích để nhận biết các loại chuyển động mắt khác nhau, chẳng hạn như chuyển động theo chuyển động, theo đuổi mượt mà và cố định (Bulling, 2010)
2.3.2 Nhận diện chuyển động của mắt thông qua ánh sáng hồng ngoại Ánh sáng hồng ngoại được sử dụng để chiếu sáng mắt, và các cảm biến phát hiện các phản xạ từ giác mạc và mống mắt Bằng cách phân tích sự thay đổi trong mẫu phản xạ, chuyển động mắt có thể được nhận dạng Ánh sáng hồng ngoại cung cấp theo dõi mắt chính xác cao và thường được sử dụng trong nghiên cứu và điều trị lâm sàng
2.3.3 Nhận diện hướng nhìn của mắt dựa trên hình ảnh
Phương pháp này áp dụng công nghệ máy ảnh để ghi lại chuyển động của mắt, cho phép theo dõi vị trí và hướng nhìn trong thời gian thực Nhờ vào việc nhận dạng chuyển động mắt, các thuật toán thị giác máy tính được sử dụng để xử lý dữ liệu video và trích xuất các đặc trưng quan trọng.
Một số phương pháp phân loại nhận diện hướng nhìn của mắt dựa trên hình ảnh bao gồm:
Các phương pháp phân loại dựa trên đặc trưng hình ảnh của mắt nhằm xác định hướng nhìn bằng cách trích xuất các đặc trưng như kích thước, hình dạng và màu sắc Sau đó, các thuật toán máy học như Support Vector Machine (SVM), Random Forest và mạng Neural được áp dụng để phân loại hướng nhìn một cách hiệu quả.
Các phương pháp phân loại dựa trên mô hình sử dụng học máy hoặc mạng neural để dự đoán hướng nhìn của mắt Mô hình này được huấn luyện trên tập dữ liệu lớn với hình ảnh mắt có gán nhãn hướng nhìn tương ứng, cho phép phân loại chính xác hướng nhìn trong các hình ảnh mới (Rayner, 2012).
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 9
GIỚI THIỆU VỀ MÔ HÌNH NHẬN DIỆN ĐỐI TƯỢNG
YOLO (You Only Look Once) là một kiến trúc mạng CNN tiên tiến, được ứng dụng trong việc phát hiện, nhận dạng và phân loại đối tượng Khác với các phương pháp phân loại chỉ dự đoán nhãn, YOLO không chỉ phát hiện nhiều đối tượng với các nhãn khác nhau mà còn xác định vị trí cụ thể của chúng trong hình ảnh thông qua các khung bao hình chữ nhật.
• Kiến trúc của mô hình nhận diện đối tượng
Hình 2.3: Kiến trúc của mạng YOLO
Inspired by GoogleNet architecture, YOLO consists of a total of 24 convolutional layers followed by 2 fully-connected layers YOLO is developed by integrating convolutional layers with fully-connected layers, where the convolutional layers extract features from images, and the fully-connected layers predict the probabilities and coordinates of the objects.
YOLO chia hình ảnh đầu vào thành lưới S × S, trong đó mỗi ô lưới có nhiệm vụ phát hiện đối tượng nếu tâm của nó rơi vào ô đó Mỗi ô lưới sẽ dự đoán các hộp giới hạn cùng với điểm tin cậy cho các hộp này Các điểm tin cậy thể hiện mức độ tin cậy của mô hình trong việc xác định rằng hộp chứa một đối tượng và độ chính xác của dự đoán hộp (Anand J Kulkarni, 2021).
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 10
YOLO dự đoán nhiều hộp giới hạn trên mỗi ô lưới, nhưng trong quá trình đào tạo, chỉ một bộ dự đoán hộp giới hạn cho mỗi đối tượng là mong muốn Hệ thống chỉ định bộ dự đoán dựa trên chỉ số IOU cao nhất với thực tế, dẫn đến sự chuyên môn hóa giữa các bộ dự đoán Kết quả là, mỗi công cụ dự đoán trở nên tốt hơn trong việc dự báo các kích thước, tỷ lệ khung hình hoặc loại đối tượng cụ thể, từ đó cải thiện tổng thể Recall Score.
Hình 2.4: Mô hình hoạt động của mạng YOLO
GIỚI THIỆU PHẦN MỀM
Python là một ngôn ngữ lập trình đa năng, được ưa chuộng trong nhiều lĩnh vực, đặc biệt là trí tuệ nhân tạo (AI) và học máy (ML) Sự phổ biến của Python trong các dự án AI và ML xuất phát từ nhiều lý do, bao gồm cú pháp đơn giản, thư viện phong phú và cộng đồng hỗ trợ mạnh mẽ.
• Tính đơn giản và nhất quán
• Cho phép truy cập vào các thư viện và framework tuyệt vời cho AI và học máy
• Và cộng đồng sử dụng rộng lớn
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 11
Python sở hữu một kho công nghệ phong phú với nhiều thư viện cho trí tuệ nhân tạo và học máy, bao gồm Keras, TensorFlow, và Scikit-learn cho học máy; NumPy cho phân tích dữ liệu và tính toán khoa học hiệu năng cao; SciPy cho tính toán nâng cao; Pandas cho phân tích dữ liệu tổng quát; và Seaborn cho trực quan hóa dữ liệu Ngoài ra, Python còn có một cộng đồng lớn mạnh, cung cấp hỗ trợ và tài liệu dễ dàng truy cập.
Khi nhắc đến AI và Deep Learning, người ta thường nghĩ đến các hệ thống máy tính mạnh mẽ với vi xử lý đa nhân và GPU Tuy nhiên, Google Colab cho phép bất kỳ ai cũng có thể huấn luyện mô hình Deep Learning mà không cần cài đặt hay cấu hình máy tính Tất cả đều diễn ra trên trình duyệt, với tài nguyên máy tính như CPU, GPU và TPU được Google cung cấp miễn phí Đối với các dự án cần mô hình Deep Learning nhưng gặp khó khăn về phần cứng, Colab là một lựa chọn lý tưởng.
Môi trường phát triển tích hợp Arduino (IDE) bao gồm trình soạn thảo văn bản để viết mã, vùng thông báo, bảng điều khiển văn bản và thanh công cụ với các nút chức năng phổ biến Nó cho phép người dùng kết nối với phần cứng Arduino để tải lên chương trình và giao tiếp hiệu quả với thiết bị.
LỰA CHỌN LINH KIỆN CHO THIẾT BỊ
2.6.1 Vi xử lý trung tâm
Jetson Nano Developer Kit A02 là một máy tính nhỏ gọn nhưng mạnh mẽ, cho phép chạy song song nhiều Neural Network cho các ứng dụng như phân loại hình ảnh, phát hiện đối tượng, phân đoạn và xử lý giọng nói Đặc biệt, Jetson Nano chỉ tiêu tốn 5 Watt, mang lại hiệu suất cao mà vẫn tiết kiệm năng lượng.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 12
Bảng 2.1: Thông số kỹ thuật của Jetson Nano Developer Kit
Model Jetson Nano Developer Kit Carrier Board A02
CPU Quad-core ARM A57 @ 1.43 GHz
Memory 4 GB 64-bit LPDDR4 25.6 GB/s
(H.264/H.265) Camera 1x MIPI CSI-2 DPHY lanes
Jetson Nano là một nền tảng lý tưởng cho việc chạy các thuật toán AI hiện đại nhờ vào CPU quad-core 64-bit ARM và GPU NVIDIA 128-core tích hợp Với bộ nhớ 4GB LPDDR4, nó có khả năng xử lý song song nhiều mạng neural và đồng thời quản lý các cảm biến độ phân giải cao Thiết kế nhỏ gọn (100 mm x 80 mm x 29 mm) cùng với nhiều cổng I/O cho phép dễ dàng tích hợp vào các hệ thống nhỏ gọn và tiện dụng (NVIDIA, 2022).
NVIDIA Jetson Nano hỗ trợ nhiều mạng tiên tiến và các framework Machine Learning phổ biến như Tensorflow, Keras, Pytorch, và Caffe/Caffe2 Nhờ vào khả năng tính toán mạnh mẽ của phần cứng, Jetson Nano cho phép xây dựng và thiết kế các mô hình và thuật toán phức tạp trong hệ thống Trí tuệ nhân tạo, đặc biệt trong việc nhận dạng và xử lý hình ảnh.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 13 hiện, định vị đối tượng, …
Hình 2.5: Jetson Nano Developer Kit kèm case
Bộ tản nhiệt tích hợp cùng quạt tản nhiệt khí của Jetson Nano Developer Kit cho phép xử lý các tác vụ nặng như chạy model CNN cho phân loại và nhận diện đối tượng, mà không lo ngại về nhiệt năng từ các bộ phận xử lý.
Camera HD720p Wide Angle của hãng Ruisvision sở hữu thiết kế nhỏ gọn và linh hoạt, cho phép điều chỉnh để có góc nhìn rộng, thuận tiện cho việc ghi hình Với độ phân giải cao 720p, camera này mang lại hình ảnh sắc nét và chất lượng Đặc biệt, khả năng thu âm cùng với hình ảnh là một điểm nổi bật của Camera HD720p Wide Angle, giúp nâng cao trải nghiệm ghi hình.
Đôi mắt của thiết bị giao tiếp, với Camera HD720p Wide Angle, đóng vai trò then chốt trong việc đạt được thành công của đề tài Hình ảnh thu được trước khi xử lý được đảm bảo rõ nét, giúp cho quá trình xử lý hình ảnh sau này trở nên dễ dàng và hiệu quả hơn.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 14
Hình 2.6: Camera HD720p Wide Angle Bảng 2.2: Thông số kỹ thuật của Camera HD720p Wide Angle Độ phân giải tối đa 1280*720
Loại thấu kính 1/4" CMOS Điện áp 5V DC – USB A
Camera có độ phân giải tối đa 1280*720, cho chất lượng hình ảnh đạt 2MP, phù hợp cho đề tài nghiên cứu Thiết bị hoạt động với điện áp đầu vào 5V-DC, thuận tiện kết nối với Vi điều khiển qua cổng USB – type A (Ruisvision, 2020).
Màn hình cảm ứng LCD Waveshare 10.1 inch (B) với vỏ bảo vệ mang đến trải nghiệm hình ảnh chất lượng cao với độ phân giải 1280×800 Thiết kế của màn hình này đảm bảo hình ảnh rõ nét và sống động, tạo nên sự ấn tượng cho người sử dụng.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 15 phù hợp cho nhiều ứng dụng khác nhau
Hình 2.7: Màn hình Cảm ứng Waveshare 10.1inch Bảng 2.3: Thông số kỹ thuật của Màn hình Cảm ứng Waveshare 10.1inch
Module Waveshare 10.1inch HDMI LCD Độ Phân Giải 1024x600
Cảm ứng Có – Điện dung
Thiết bị hỗ trợ Raspberry Pi, Jetson Nano, PC
Màn hình nhỏ gọn 10.1 inch với bảng 2,4 rất thích hợp cho việc lắp đặt và kết nối với các thiết bị phần cứng như Raspberry Pi, Jetson Nano, PC và Game Console, phục vụ cho nhiều ứng dụng khác nhau Thiết bị này hỗ trợ cảm ứng dễ dàng cho người dùng và được trang bị cổng HDMI, phù hợp với chuẩn kết nối hiện nay.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 16
TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG
SƠ ĐỒ KHỐI HỆ THỐNG
Sơ đồ khối hệ thống bao gồm các thành phần chính như khối nguồn, khối thu thập dữ liệu, khối xử lý trung tâm, khối điều khiển, khối động cơ, khối hiển thị và khối âm thanh Hình 3.1 mô tả chi tiết cấu trúc của sơ đồ khối này.
Khối nguồn cung cấp năng lượng cho toàn bộ hệ thống, trong khi khối xử lý trung tâm đóng vai trò điều khiển chính Nó kết nối với các khối thu thập dữ liệu, khối điều khiển, khối hiển thị và khối âm thanh Đồng thời, khối điều khiển cũng thực hiện việc kết nối và truyền dữ liệu đến khối động cơ.
Hình 3.1: Sơ đồ khối của thiết bị đeo mắt hỗ trợ bệnh nhân bại liệt giao tiếp và di chuyển - ứng dụng xử lý ảnh
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 17
- Khối thu thập dữ liệu: Thu thập hình ảnh mắt của người dùng và truyền dữ liệu đến Jetson Nano Developer Kit xử lý
Khối xử lý trung tâm có chức năng thu thập hình ảnh từ camera và áp dụng thuật toán nhận diện đối tượng để xác định hướng nhìn của mắt Nó cũng đảm nhiệm việc xử lý điều khiển và hiển thị thông tin qua khối hiển thị, phát âm thanh qua khối âm thanh, hoặc gửi tín hiệu đến khối điều khiển thông qua giao thức truyền dữ liệu không dây Bluetooth.
Màn hình Waveshare 10.1 inch không chỉ cung cấp giao diện người dùng thân thiện mà còn tích hợp các chức năng giao tiếp cơ bản, bàn phím để gõ chữ và chế độ nghỉ mắt, mang lại trải nghiệm sử dụng thoải mái và tiện lợi.
- Khối âm thanh: Loa 3W sẽ phát âm thanh khi người dùng chọn các câu giao tiếp đã cài đặt sẵn có trong giao diện giao tiếp chính
Khối điều khiển sử dụng hai mạch điều khiển động cơ BTS7960 với điện áp 24VDC và dòng tải tối đa lên đến 43A, nhận tín hiệu từ vi điều khiển Arduino để điều khiển hai động cơ quay thuận và ngược Điều này giúp xe dễ dàng di chuyển trước và sau theo tốc độ điều khiển Hai chân L_EN và R_EN được kết nối chung để cho phép hoạt động của cầu H, trong khi hai chân RPWM và LPWM là các chân PWM dùng để điều chỉnh tốc độ động cơ.
- Khối nguồn: Nguồn cung cấp chính cho xe lăn điện được lấy từ ắc quy 24V
Vỏ bình ắc-quy của xe lăn DC được chế tạo từ nhựa ABS, mang lại khả năng bảo vệ hiệu quả cho bình ắc-quy của xe lăn điện Qua các mạch giảm áp, dòng điện và điện áp được điều chỉnh phù hợp để cung cấp năng lượng cho các thiết bị như màn hình, loa, động cơ xe lăn và khối xử lý trung tâm Jetson Nano.
TÍNH TOÁN VÀ THIẾT KẾ TỪNG KHỐI
3.2.1 Khối xử lý trung tâm
Khối xử lý trung tâm là thành phần chủ chốt trong hệ thống, chịu trách nhiệm xử lý chính Đề tài yêu cầu áp dụng thuật toán nhận diện đối tượng để xác định hướng nhìn của mắt Do đó, khối xử lý trung tâm cần sử dụng vi điều khiển hoặc máy tính nhúng có khả năng xử lý hiệu quả các thuật toán mạng nơ-ron, đồng thời phải nhỏ gọn để phù hợp với thiết bị di động.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 18
Bảng 3.1: So sánh một số máy tính nhúng
Loại thiết bị CPU GPU RAM Kính thước
Theo bảng 3.1, cả ba thiết bị đều đáp ứng tiêu chí nhỏ gọn để tích hợp lên xe lăn Tuy nhiên, khả năng xử lý là yếu tố quyết định trong việc lựa chọn thiết bị Do dung lượng RAM hạn chế, BeagleBone Black Rev C không được xem xét.
Khi so sánh hai kit còn lại, Raspberry Pi 4 Model B sở hữu CPU tốt hơn, trong khi Jetson Nano Developer Kit lại có GPU mạnh mẽ hơn Đối với các ứng dụng yêu cầu khả năng xử lý các thuật toán mạng nơ-ron tích chập (CNN) một cách hiệu quả, kit có GPU mạnh hơn là ưu tiên hàng đầu Do đó, lựa chọn tối ưu nhất cho máy tính nhúng là Jetson Nano Dev Kit.
3.2.2 Khối thu thập dữ liệu
Khối thu thập dữ liệu sẽ ghi lại hình ảnh thực tế từ mắt người bệnh theo thời gian thực và gửi đến khối xử lý trung tâm Để thực hiện chức năng này, thiết bị cần sử dụng một camera nhỏ gọn, có khả năng chụp ảnh màu sắc rõ nét trong nhiều điều kiện ánh sáng khác nhau, đồng thời đảm bảo độ tương phản cao và có cổng kết nối tương thích với vi xử lý trung tâm.
Bảng 3.2: So sánh một số camera phù hợp
Tên Sản phẩm Độ phân giải Cổng kết nối Góc chụp Giá
IMX477 1080p Cáp FFC qua cổng CSI 75° 1.950.000
Camera IMX477-160 1080p Cáp FFC qua cổng CSI 160° 2.200.000 Ruisvison Camera HD
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 19
Dựa trên bảng 3.2, Camera IMX477-160 không được chọn do góc chụp quá lớn Trong khi đó, Ruisvison Camera HD 720P/2MP Wide Angle có giá thành thấp hơn và hỗ trợ kết nối USB 2.0, rất phù hợp để kết nối với vi điều khiển trung tâm Do đó, Ruisvison Camera HD 720P/2MP đã được lựa chọn làm thiết bị thu thập dữ liệu cho đề tài này.
Khối này bao gồm màn hình hiển thị giao diện người dùng, cho phép lựa chọn giao tiếp cơ bản và sử dụng bàn phím để nhập liệu Nó cũng hỗ trợ chế độ nghỉ mắt với giao diện điều khiển xe lăn Jetson Nano Developer Kit, với cổng HDMI tích hợp, dễ dàng kết nối với nhiều loại màn hình hiện nay.
Bảng 3.3: So sánh một số màn hình phù hợp với đề tài
Màn hình Kích thước Tần số quét Cảm ứng
LCD Touch Screen Waveshare 10.1inch 10’’ 30Hz Có
LCD Touch Screen Waveshare 7inch 7’’ 30Hz Có
Lựa chọn kích thước màn hình phù hợp là yếu tố quan trọng trong đề tài, như thể hiện trong bảng 3.3 Trong bốn lựa chọn, màn hình 7 inch bị loại bỏ do kích thước quá nhỏ, gây khó khăn cho người bệnh trong việc quan sát và thao tác Ngược lại, màn hình lớn hơn 16 inch sẽ làm cho việc lắp đặt trên xe lăn điện trở nên cồng kềnh Do đó, màn hình LCD Touch Screen Waveshare 10.1 inch được chọn là sự lựa chọn hợp lý cho đề tài này.
Khối âm thanh bao gồm loa giúp bệnh nhân giao tiếp thông qua các câu đơn giản Để lựa chọn loa, yêu cầu cần có là sử dụng dây kết nối USB 2.0 và âm lượng phải đủ lớn Loa SoundMax với công suất 3W mỗi loa là một lựa chọn phù hợp cho mục đích này.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 20
3.2.5 Khối điều khiển và khối động cơ
Bộ điều khiển dựa trên Arduino Due R3 nhận tín hiệu điều khiển qua Bluetooth từ khối xử lý trung tâm, cho phép điều khiển hai mạch động cơ BTS7960 với điện áp 24VDC và dòng tải lên đến 43A Hệ thống này hỗ trợ điều khiển hai động cơ quay thuận và ngược, giúp xe di chuyển linh hoạt theo tốc độ điều khiển Hai chân L_EN và R_EN được kết nối chung để kích hoạt cầu H, trong khi hai chân RPWM và LPWM đảm nhận vai trò điều khiển tốc độ động cơ Thiết kế bộ điều khiển này được phát triển dựa trên đồ án của sinh viên các khóa trước.
Để đảm bảo tính di động cho xe lăn, ắc quy 12Ah với điện áp 24V là lựa chọn hợp lý cho thiết kế thiết bị, mang lại công suất 288W Bài viết sẽ đánh giá khả năng đáp ứng yêu cầu của ắc quy này Công suất tiêu thụ của từng linh kiện được trình bày trong Bảng 3.4 Để cung cấp điện cho vi điều khiển Arduino Due, cần sử dụng mạch giảm áp, với module đổi nguồn xung LM2596 giúp giảm điện áp 24V xuống 5V ổn áp, dòng điện tối đa 3A, nhờ vào thiết kế nhỏ gọn và ít tỏa nhiệt, phù hợp cho khối điều khiển.
Bảng 3.4: Điện áp, dòng điện tiêu thụ và công suất tiêu thụ của các linh kiện trong thiết bị
STT Tên linh kiện Điện áp
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 21
5 2 Động cơ điều khiển xe lăn BTS7960 7.5 80 0.6
8 2 Động cơ PWM của xe lăn 24 5,000 120
Tổng dòng điện trong mạch đạt 11,310 mA và công suất tiêu thụ của hệ thống là 151.75 W ở các mức điện áp 5V, 7.5V và 24V Để cung cấp nguồn cho hệ thống, đề tài sử dụng Ắc-quy 24V-DC, 12AH Đặc biệt, nguồn 5V và 7.5V DC sẽ được cung cấp thông qua mạch giảm áp LM2596HVS, giúp hạ điện áp xuống phù hợp cho các thiết bị.
Jetson Nano Developer Kit yêu cầu nguồn UPS với điện áp đầu vào 5V và dòng điện tối đa 2.5A để hoạt động hiệu quả.
Thời gian hoạt động của hệ thống khi dùng acquy sẽ được tính theo công thức:
Trong đó: t: thời gian sử dụng điện từ Ắc quy (giờ)
A: dung lượng Ắc quy (Ah)
𝜂: hệ số sử dụng Thường = 0.7
Thời gian sử dụng Ắc quy là
152 = 1.33 (𝑔𝑖ờ) Thông số này được áp dụng cho hệ thống sử dụng liên tục, tuy nhiên trong thực tế, không phải lúc nào hệ thống điều khiển xe lăn cũng hoạt động, dẫn đến thời gian sử dụng có thể thay đổi.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 22
THIẾT KẾ GIAO DIỆN ỨNG DỤNG
Giao diện ứng dụng sẽ được thiết kế đơn giản, dễ sử dụng bao gồm một loạt các
Giao diện người dùng (UI) được thiết kế để hỗ trợ người dùng trong việc giao tiếp và di chuyển Tất cả các giao diện sẽ có kích thước tối đa tương ứng với màn hình Waveshare 10.1 inch, đạt độ phân giải 1220 x 800 pixel và được hiển thị lần lượt trên màn hình.
Giao diện Hỗ trợ giao tiếp, như hình 3.2, bao gồm các ô chọn với các câu lệnh đã được cài đặt sẵn cùng âm thanh tương ứng, giúp người dùng dễ dàng thực hiện các câu giao tiếp như “Cảm Ơn”, “Xin Lỗi”, “Có”, “Không” Ngoài việc phục vụ cho giao tiếp, giao diện còn tích hợp các UI để chuyển đổi chế độ tương ứng với các chức năng như điều khiển xe lăn, nghỉ mắt và bàn phím gõ chữ.
Giao diện bàn phím được thiết kế với các ô chứa ký tự tiếng Việt từ A-Y và số từ 0-9, cho phép người dùng dễ dàng chọn lựa và gõ ký tự lên bảng ghi, như thể hiện trong Hình 3.3.
Hình 3.3: Thiết kế giao diện bàn phím
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 23
Bằng các thao tác cử động mắt, người dùng có thể tự ghi lại các từ đơn để ghép thành 1 câu đơn giản hoàn chỉnh
Giao diện điều khiển xe lăn cho phép bệnh nhân điều khiển di chuyển dễ dàng bằng cách sử dụng cử động mắt theo 4 hướng: Tiến, Lùi, Trái và Phải, như được minh họa trong Hình 3.4.
Hình 3.4: Thiết kế giao diện điều khiển xe lăn di chuyển
THIẾT KẾ KÍNH ĐEO MẮT TÍCH HỢP CAMERA NHẬN DIỆN HƯỚNG NHÌN CỦA MẮT NGƯỜI
HƯỚNG NHÌN CỦA MẮT NGƯỜI
Phần thiết kế kính đeo mắt tích hợp camera bao gồm 2 phần chính: gọng kính và phần cố định camera vào gọng kính
Hình 3.5: Mặt xiên của mô hình kính đeo mắt
Hình 3.6: Mặt ngang của mô hình kính đeo mắt
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 24
Mô hình kính đeo mắt tích hợp camera, được thiết kế dựa trên cảm hứng từ Google Glass, sử dụng gọng kính có sẵn sau khi gỡ bỏ tròng kính Camera được cố định với góc 30 độ hướng lên so với tầm nhìn mắt và xoay 90 độ ngược chiều kim đồng hồ để cải thiện thẩm mỹ và hiệu suất thu hình Khung cố định camera được làm từ kẽm và băng keo đen, đảm bảo camera không bị xê dịch, từ đó duy trì độ chính xác trong việc thu thập hình ảnh.
THIẾT KẾ MÔ HÌNH HỆ THỐNG NHẬN DIỆN HƯỚNG NHÌN CỦA MẮT
Hình 3.9: Mô hình hệ thống nhận diện hướng nhìn của mắt
Hình 3.8: Mặt trên của mô hình kính đeo mắt Hình 3.7: Mặt trước của mô hình kính đeo mắt
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 25
Mô hình hệ thống nhận diện hướng nhìn của mắt được thể hiện thông qua hai quá trình hình 3.9: quá trình huấn luyện (training) và quá trình nhận dạng
Quá trình huấn luyện mô hình yêu cầu thu thập dữ liệu hình ảnh, trong đó bộ dữ liệu bao gồm các hình ảnh của mắt được gán nhãn để xác định vị trí Sau khi gán nhãn, bộ dữ liệu được chia thành hai phần: 80% cho tập huấn luyện và 20% cho tập xác minh Tiếp theo, các thông số của mô hình YOLOv4 được cấu hình để huấn luyện với tập dữ liệu đã chia.
Quá trình huấn luyện chương trình nhận diện hướng nhìn của mắt sử dụng dữ liệu hình ảnh trích xuất từ camera theo thời gian thực Kết quả nhận dạng sẽ được hiển thị trực tiếp, cho phép phân loại các "hướng nhìn" của mắt và thực hiện các chức năng phù hợp.
Tập dữ liệu dùng cho việc huấn luyện bao gồm 1200 ảnh có kích thước 640x480, được thu thập từ Ruisvision.
Camera HD 720P/2M cho phép ghi lại hình ảnh với các góc nhìn cơ bản của mắt người, được đặt cố định cách mắt người mẫu từ 4-5 cm Hệ thống có khả năng nhận diện hướng nhìn của mắt trong các điều kiện ánh sáng khác nhau, bao gồm ánh sáng trong nhà, đèn neon, đèn LED, ánh sáng giữa trưa và ánh sáng chiều Để đảm bảo chất lượng hình ảnh, các ảnh đầu vào cần được điều chỉnh kích thước về 416x416 pixel bằng phần mềm chuyên dụng trước khi thu thập dữ liệu Trong nghiên cứu này, phần mềm camera mặc định của máy tính được sử dụng để thiết lập kích thước ảnh.
Quy trình thực hiện lấy dữ liệu được mô tả như hình 3.10
Hình 3.10: Quy trình thu thập dữ liệu
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 26
Quy trình thu thập dữ liệu được mô tả trong hình 3.10 yêu cầu người tham gia nhìn theo các hướng mắt trong 5 giây mỗi lần, bắt đầu với việc nhìn thẳng, sau đó nhắm mắt, và tiếp tục với bốn hướng còn lại Để đạt độ chính xác cao trong việc nhận diện hướng nhìn của mắt, mô hình YOLOv4 cần một tập dữ liệu chất lượng Tập dữ liệu này được thu thập từ 10 người, bao gồm 3 nữ và 7 nam, và được phân loại thành 6 nhóm tương ứng với 6 class: “Straight”, “Close”, “Up”, “Down”, “Left”, “Right” như thể hiện trong hình 3.11.
Hình 3.11: Minh họa 6 loại tín hiệu được lấy thực tế Bảng 3.5: Thống kê số lượng ảnh của tập dữ liệu
Tên hành động Số lượng ảnh cho huấn luyện (80%)
Số lượng ảnh cho xác minh (20%)
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 27
Bảng 3.5 trình bày thống kê số lượng ảnh trong tập dữ liệu theo từng hành động của mắt, với mỗi hành động được thu thập 200 ảnh Tổng cộng, tập dữ liệu chứa 1200 ảnh, được phân chia theo các hành động khác nhau.
Trong quá trình huấn luyện mô hình, chúng tôi đã sử dụng 960 ảnh cho mục đích đào tạo và 240 ảnh để thẩm định Việc gắn nhãn cho tất cả các hình ảnh được thực hiện thông qua ứng dụng LabelImg, bao gồm cả 6 hướng nhìn được thu thập thực tế Để đảm bảo độ chính xác, việc phân loại đúng hướng nhìn là rất quan trọng trong quá trình gắn nhãn.
Cấu trúc của ảnh đã gán nhãn mô hình YOLOv4 yêu cầu:
• Một thư mục images chứa ảnh: trong đó chứa cả ảnh train và ảnh validate
Một thư mục labels chứa các nhãn, bao gồm các tệp “.txt” được lưu với tên tương ứng của tệp ảnh Mỗi tệp txt có định dạng mà mỗi hàng đại diện cho một đối tượng, theo cấu trúc cụ thể.
Trong bài viết này, class là một số nguyên biểu thị lớp của đối tượng Các tọa độ x_center và y_center đại diện cho vị trí trung tâm của khung bao vật thể, trong khi width và height chỉ ra chiều rộng và chiều cao của khung bao Tọa độ của các box sẽ được chuẩn hóa trong khoảng từ 0 đến 1 theo định dạng xywh, và object_class sẽ bắt đầu từ 0.
Hình 3.12: Định dạng file.txt gắn nhãn của YOLOv4
Tất cả hình ảnh sử dụng cho việc huấn luyện (Training) đều được gắn nhãn, với ứng dụng LabelImg, giao diện ứng dụng LabelImg như hình 3.13
Hình 3.13: Gắn nhãn sử dụng phần mềm LabelImg
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 28
3.5.2 Huấn luyện mô hình Đề tài này, sử dụng mô hình nhận diện đối tượng YOLO với phiên bản thứ 4 (YOLOv4) được lựa chọn để sử dụng làm mô hình nhận diện đối tượng của thiết bị YOLOv4 có tốc độ nhận diện và độ chính xác cao hơn người tiền nhiệm YOLOv3
YOLOv4 sử dụng CSPDarknet53 làm BackBone, SPP (Spatial Pyramid Pooling) và PAN (Path Aggregation Network) cho “Neck” và 3 YOLO cho “Head” như hình 3.14 (Li, et al., 2020)
Hình 3.14: Kiến trúc mạng YOLOv4
CSPDarknet53 là "Backbone" của YOLOv4, đóng vai trò quan trọng trong việc trích xuất đặc điểm từ hình ảnh đầu vào thông qua 5 Resblock Body (C1-C5) Mạng này bao gồm 53 lớp tích chập với kích thước 1×1 và 3×3, mỗi lớp được kết nối với lớp chuẩn hóa hàng loạt (Batch Normalization) và lớp kích hoạt Mish (Mish Activation) (Li, et al., 2020) Đặc biệt, tất cả các hàm kích hoạt trong YOLOv4 đã được thay thế bằng Leaky-ReLU, giúp giảm thiểu yêu cầu tính toán.
Neck của YOLOv4 bao gồm SPPnet và PANet, trong đó SPPnet cải thiện khả năng tiếp nhận của mô hình bằng cách sử dụng các lớp tổng hợp tối đa với kích thước 5, 9 và 13 Đồng thời, PANet áp dụng các phương pháp tiếp cận từ trên xuống và từ dưới lên để trích xuất các tính năng một cách hiệu quả.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 29
Đầu của YOLOv4 bao gồm ba đầu YOLO với kích thước 19×19, 38×38 và 76×76, được thiết kế để kết hợp và tương tác với các bản đồ đặc trưng có tỷ lệ khác nhau Điều này giúp phát hiện các đối tượng có kích thước đa dạng.
Trong quá trình huấn luyện mạng nơ-ron, hệ thống sẽ lần lượt tính toán tất cả các ảnh từ tệp dữ liệu đầu vào và lặp lại chúng nhiều lần nhằm tối ưu hàm mất mát Quá trình tối ưu hóa này giúp mạng nơ-ron xác định bộ trọng số tốt nhất, từ đó nâng cao độ chính xác trong việc nhận dạng.
Quá trình huấn luyện mô hình yêu cầu nhiều tài nguyên máy tính, và nếu cấu hình không đủ mạnh, thời gian huấn luyện sẽ kéo dài Để khắc phục vấn đề này, đề tài đã sử dụng nền tảng Google Colab, giúp giảm thiểu thời gian và chi phí phần cứng trong quá trình huấn luyện, đồng thời đảm bảo hiệu quả và chất lượng của mô hình.
THI CÔNG HỆ THỐNG
HOÀN THIỆN KẾT NỐI PHẦN CỨNG THIẾT BỊ
Dựa vào sơ đồ khối đã được thiết kế ở chương trước, những linh kiện đề tài sử dụng cho thiết bị sẽ được trình bày chi tiết ở Bảng 4.1
Bảng 4.1: Linh kiện sử dụng cho đề tài
STT Tên linh kiện Số lượng Chú thích
1 Jetson Nano Developer Kit 1 4 GB RAM
Có chức năng cảm ứng
3 Loa Mini 3W USB – A 2.0 1 Kết nối qua USB – type A
4 Ruisvison Camera 720P/2MP 1 Camera góc rộng 110 0 , nhỏ gọn
5 Bộ điều khiển xe lăn điện 1 Đồ án của các khóa trước
6 Xe lăn điện 1 Thiết bị của nhà trường
7 Intel Wireless AC8265 1 Lắp trực tiếp vào Jetson Nano
8 Module Bluetooth HC-06 1 Giao tiếp giữa Jetson nano với xe lăn điện thông qua bluetooth
Jetson Nano 1 Cấp nguồn cho Jetson Nano với dung lượng pin lên tới 10180mAh
Hệ thống bao gồm nhiều thiết bị kết nối qua cổng USB và jack kết nối trực tiếp Khối xử lý trung tâm là Jetson Nano Dev Kit, với các thiết bị ngoại vi như camera Ruisvision, loa và màn hình được kết nối với Jetson Nano.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 33
Hình 4.1: Sơ đồ kết nối linh kiện
Khối xử lý bao gồm Jetson Nano được gắn thêm vỏ bảo vệ bằng kim loại và
To install the Intel Wireless AC8265 WiFi card on the Jetson Nano, it is necessary to remove the main board and the heat sink to access the connection points.
Hình 4.2: Hình ảnh Wifi Card và Vỏ kim loại bảo vệ cho Jetson Nano
• Khối hiển thị bao gồm Màn hình Waveshare 10.1inch và Loa Mini 3W
Màn hình được kết nối với Jetson Nano bằng một cáp HDMI và hai cáp nguồn Một cáp nguồn có đầu Micro USB kết nối với màn hình, trong khi đầu còn lại sử dụng cổng USB.
Báo cáo đồ án tốt nghiệp 34 kết nối với Jetson Nano nhằm kích hoạt tính năng cảm ứng của màn hình Dây cấp nguồn còn lại được kết nối với mạch giảm áp 5VDC–3A từ nguồn ắc-quy để cung cấp năng lượng cho màn hình hoạt động.
Khối âm thanh - Loa Mini 3W được kết nối qua cổng chuyển đổi USB sang Audio và một dây cấp nguồn Cổng USB to Audio kết nối với Jetson Nano để xuất tín hiệu âm thanh, trong khi dây nguồn được kết nối với mạch giảm áp 5VDC - 3A từ nguồn ắc-quy.
Đề tài này tập trung vào việc sử dụng Module UPS để cung cấp nguồn cho Jetson Nano và các thiết bị ngoại vi, đồng thời sử dụng ắc-quy làm nguồn chính cho xe lăn điện và màn hình Waveshare 10.1 inch.
• Khối thu thập dữ liệu (Camera): Bao gồm kính đeo mắt tích hợp camera
Ruisvison HD 720p/2M kết nối với Jetson Nano thông qua cổng USB
• Khối điều khiển – Có chức năng nhận tín hiệu được gửi từ Jetson Nano thông qua giao tiếp Bluetooth Và gửi tín hiệu điều khiển đến Khối động cơ
• Khối động cơ của xe lăn – bao gồm 2 động cơ PWM.
Hình 4 3: Mô tả kết nối thiết bị chi tiết
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 35
LẬP TRÌNH THIẾT BỊ
4.2.1 Lưu đồ giải thuật chính của hệ thống
Hình 4.4: Lưu đồ giải thuật chính của hệ thống
Giải thích lưu đồ giải thuật chương trình chính:
Để khởi tạo giá trị cho các biến ban đầu trong chương trình, cần khai báo thư viện, thiết lập giá trị cho biến hoạt động và các biến tạm Sau khi hoàn tất, hệ thống sẽ chạy chương trình theo chế độ mặc định MODE 0.
- MODE 0: Hệ thống chạy chương trình HỖ TRỢ GIAO TIẾP Chương trình này bao gồm các biến letter_button Tiến hành đọc và kiểm tra các biến
Trong báo cáo đồ án tốt nghiệp, hệ thống sẽ kiểm tra giá trị của biến letter_button Nếu letter_button có giá trị là "KEYBOARD", hệ thống sẽ chuyển sang MODE 1 Nếu giá trị là "NGHỈ MẮT", hệ thống sẽ chuyển sang MODE 3 Trong trường hợp letter_button là "LÁI XE", hệ thống sẽ chuyển sang MODE 4 Cuối cùng, nếu letter_button là "THOÁT", chương trình HỖ TRỢ GIAO TIẾP sẽ được tắt.
Hệ thống hoạt động theo MODE 1 với chương trình BÀN PHÍM TRÁI, trong đó sử dụng biến letter_button_1 để kiểm tra Nếu letter_button_1 có giá trị “>”, hệ thống sẽ chuyển sang MODE 2 Ngược lại, nếu letter_button_2 có giá trị “MENU”, hệ thống sẽ quay về MODE 0.
Chế độ 2 của hệ thống cho phép chạy chương trình BÀN PHÍM PHẢI, trong đó sử dụng các biến letter_button_2 Hệ thống sẽ tiến hành đọc và kiểm tra giá trị của biến letter_button_2 Nếu letter_button_2 có giá trị là “”, hệ thống sẽ chuyển sang MODE 2; nếu là “SPACE”, con trỏ sẽ ghi khoảng trắng; nếu là “ENTER”, con trỏ sẽ ghi xuống dòng; nếu là “DELETE”, tất cả chữ đã ghi sẽ bị xóa; và nếu là “MENU”, hệ thống sẽ quay về MODE 0.
- MODE 2: Hệ thống chạy chương trình BÀN PHÍM PHẢI Chương trình tiến hành đọc biến letter_button_2 Kiểm tra nếu “letter_button_2 = MENU” thì hệ thống quay về MODE 0
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 41
• Lưu đồ giải thuật chương trình bàn phím phải
Hình 4.7: Lưu đồ giải thuật chương trình bàn phím phải
Giải thích lưu đồ giải thuật chương trình bàn phím phải:
HƯỚNG DẪN SỬ DỤNG THIẾT BỊ
Người sử dụng xe lăn cần đeo kính tích hợp camera và ngồi thoải mái, nhìn thẳng vào màn hình để bắt đầu quá trình.
Hình 4.11: Minh hoạ hướng dẫn sử dụng thiết bị - Màn hình Intro
Hình 4.12:Minh hoạ hướng dẫn sử dụng thiết bị - Màn hình hỗ trợ giao tiếp
Bước 2: Khởi động hệ thống bằng cách bật công tắc nguồn cho ắc quy và nguồn của Jetson Nano Chờ khoảng 30 giây để hệ thống hoàn tất khởi động, hiển thị giao diện như trong hình 4.11.
Sau khi hoàn tất các bước, chương trình sẽ hiển thị màn hình giới thiệu Người hỗ trợ bệnh nhân chỉ cần nhấn vào “Run Program” để truy cập vào giao diện của chương trình hỗ trợ giao tiếp.
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP 47
Trong lúc khởi tạo giao diện sẽ xuất hiện camera thu thập các hình ảnh của mắt là lúc chương trình đã hoạt động
Bước 3: Trong giao diện hỗ trợ giao tiếp, người dùng thực hiện các thao tác cử động mắt như NHÌN LÊN, NHÌN XUỐNG, NHÌN TRÁI, NHÌN PHẢI và NHẮM MẮT Những cử động này tương ứng với việc điều khiển ô chọn di chuyển lên, xuống, trái, phải và chọn một ô trong giao diện Sau mỗi lần cử động mắt, loa sẽ phát ra âm thanh “beep” để thông báo cho bệnh nhân biết rằng đã thực hiện di chuyển.
Người dùng có thể chọn chức năng trên màn hình bằng cách điều khiển ô chọn bằng cử động mắt Chỉ cần di chuyển ô chọn đến chức năng mong muốn và nhắm mắt, hệ thống sẽ tự động phản hồi theo lựa chọn của người dùng.
Hình 4.15: Mô tả chức năng trên giao diện hỗ trợ giao tiếp
Khi người dùng muốn giao tiếp bằng cách gõ chữ thay vì sử dụng các chức năng có sẵn, họ có thể di chuyển ô chọn vào mục bằng cách cử động mắt.
“KEYBOARD” hình 4.15, chức năng bàn phím sẽ hiển thị ra, người dùng cũng dùng
Hình 4.13: Giao diện bàn phím trái Hình 4.14: Giao diện bàn phím phải
Báo cáo đồ án tốt nghiệp 48 mô tả cách di chuyển đến chữ cần chọn bằng các cử động mắt tương tự Sau khi nhắm mắt, chữ sẽ hiển thị ở bảng ghi phía dưới Để xóa tất cả chữ đã ghi, chọn ô "Delete", và để xuống dòng, chọn ô "Enter" Để mở nửa bàn phím còn lại, tham khảo hình 4.13 và 4.14, chọn ô ">" hoặc "