Bối cảnh và vấn đề nghiên cứu

Trong xu thế phát triển của khoa học và công nghệ hiện đại, nhu cầu về các nền tảng phần cứng nhúng tích hợp cao để phục vụ nghiên cứu và phát triển ứng dụng ngày càng gia tăng. Nhằm đáp ứng yêu cầu thực nghiệm của học sinh và sinh viên khối ngành kỹ thuật, năm 2013 hãng National Instruments (Hoa Kỳ) đã giới thiệu dòng sản phẩm phần cứng NI myRIO. Nền tảng này cho phép người nghiên cứu tự cấu hình các kiến trúc đầu vào/đầu ra (I/O) linh hoạt và tiếp cận phương thức lập trình đồ họa (LabVIEW) thay thế cho việc viết các dòng mã lệnh truyền thống. Sự kết hợp giữa phần cứng myRIO và môi trường LabVIEW hỗ trợ rút ngắn thời gian phát triển, kiểm tra và hiện thực hóa các ý tưởng thiết kế hệ thống thời gian thực phức tạp.

Tại thời điểm năm 2015 tại Việt Nam, Kit myRIO là một thiết bị mới, số lượng trang bị tại các trường đại học còn hạn chế và các công trình ứng dụng phát triển trên nền tảng này chưa nhiều. Xuất phát từ thực tế đó, đề tài "Xử lý ảnh trên Kit myRIO" được thực hiện tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh nhằm xây dựng tài liệu kỹ thuật thực nghiệm cho sinh viên tiếp cận công nghệ mới. Đồng thời, việc ứng dụng xử lý ảnh trực tiếp trên phần cứng nhúng myRIO là một hướng nghiên cứu mới, khai thác tài nguyên phần cứng tích hợp để tối ưu hóa hiệu năng so với các bộ kit vi điều khiển thông thường.

Mục tiêu tổng quát của đề tài là nghiên cứu cấu tạo, chức năng và phương thức lập trình cho Kit myRIO, từ đó xây dựng giải thuật xử lý ảnh và phát triển một ứng dụng nhận dạng cử chỉ bàn tay nhằm điều khiển thiết bị ngoại vi theo thời gian thực.

Văn bản khóa luận xác định 7 nhiệm vụ nghiên cứu cụ thể như sau:

  1. Nghiên cứu kiến trúc phần cứng của Kit myRIO.
  2. Nghiên cứu ngôn ngữ lập trình đồ họa LabVIEW.
  3. Nghiên cứu hệ điều hành thời gian thực (NI Linux Real-time).
  4. Thiết lập giao tiếp giữa Kit myRIO với Camera Kinect.
  5. Nghiên cứu kỹ thuật xử lý ảnh trên Kit myRIO.
  6. Xây dựng giải thuật nhận dạng cử chỉ bàn tay (đếm số ngón tay).
  7. Thiết kế và thi công hệ thống điều khiển thiết bị ngoại vi.

Đối tượng nghiên cứu của đồ án bao gồm: Kit phần cứng NI myRIO; môi trường ngôn ngữ lập trình đồ họa LabVIEW; các phép toán xử lý ảnh và giải thuật nhận dạng cử chỉ bàn tay.

Phạm vi nghiên cứu được giới hạn trong việc làm chủ cách thức sử dụng Kit myRIO và phần mềm LabVIEW, kết nối camera độ sâu Kinect qua giao tiếp USB, xử lý dữ liệu ảnh thu nhận trên hệ điều hành nhúng thời gian thực và xuất tín hiệu điều khiển đèn LED hiển thị trạng thái tại Khoa Đào tạo Chất lượng cao, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh trong khoảng thời gian từ ngày 14/03/2015 đến ngày 20/07/2015.

Cơ sở lý thuyết và phương pháp

Về cơ sở lý thuyết, đề tài dựa trên nền tảng ngôn ngữ lập trình đồ họa LabVIEW (Laboratory Virtual Instrument Engineering Workbench) do National Instruments phát triển. Khác với các ngôn ngữ tuần tự như C hay Pascal, LabVIEW vận hành theo mô hình luồng dữ liệu (dataflow) với cấu trúc chương trình ảo (Virtual Instrument - VI) bao gồm hai thành phần: Front Panel đóng vai trò thiết kế giao diện tương tác người dùng (chứa các điều khiển Controls và hiển thị Indicators) và Block Diagram đóng vai trò xây dựng giải thuật thông qua các khối chức năng và dây dẫn tín hiệu. Trong cấu trúc điều khiển, đồ án áp dụng vòng lặp kiểm tra điều kiện While Loop, vòng lặp xác định số lần lặp For Loop, cấu trúc rẽ nhánh Case Structure và cơ chế tích hợp mã nguồn C thông qua nút gọi hàm thư viện liên kết động Call Library Function Node.

Về lý thuyết xử lý ảnh và thị giác máy tính, đồ án hệ thống hóa các khái niệm nền tảng:

  • Biểu diễn điểm ảnh (pixel), độ phân giải không gian và thang mức xám (thang 256 mức từ 0 đến 255 biểu diễn bởi 1 byte dữ liệu).
  • Ảnh nhị phân gồm hai mức logic 0 và 1; ảnh màu RGB tổng hợp từ ba kênh Đỏ (Red), Lục (Green), Lam (Blue) với 3 byte biểu diễn.
  • Phép biến đổi ảnh màu sang ảnh mức xám theo công thức cường độ sáng: $$\text{Độ sáng điểm ảnh} = \text{Red} \times 0.2989 + \text{Green} \times 0.5870 + \text{Blue} \times 0.1140$$
  • Kỹ thuật phân ngưỡng ảnh (Thresholding) chuyển đổi ảnh đa mức xám hoặc ảnh màu thành ảnh nhị phân nhằm phân tách đối tượng khỏi nền.
  • Phép nhân hai ma trận ảnh để khuếch đại mức sáng và giữ lại thông tin mức xám trên vùng đối tượng đã phân ngưỡng.
  • Phân tách lớp màu ảnh bằng hàm trích xuất mặt phẳng màu phục vụ nhận dạng độc lập trên từng kênh phổ.

Về bộ công cụ xử lý ảnh, tác giả sử dụng gói thư viện chuyên dụng NI Vision Development Module trên LabVIEW, bao gồm ba nhóm hàm chức năng chính và các kiểu dữ liệu xử lý ảnh chuẩn:

Nhóm hàm thư viện Chức năng kỹ thuật
Vision Utilities Khởi tạo, quản lý bộ nhớ và thao tác trên cấu trúc dữ liệu ảnh trong NI Vision
Image Processing Thực hiện các phép phân tích, lọc nhiễu, chuyển đổi không gian màu và xử lý hình thái ảnh
Machine Vision Cung cấp các công cụ thị giác máy tính như phát hiện sự hiện diện của đối tượng, định vị và đo lường kích thước

Các kiểu dữ liệu ảnh được quy định chặt chẽ trong hệ thống bao gồm: Grayscale U8 (8-bit không dấu), Grayscale I16 (16-bit có dấu), Grayscale SGL (dấu phẩy động 32-bit), Complex CSG (số phức 2 × 32-bit), RGB U32 (32-bit màu kết hợp kênh Alpha), HSL U32 (32-bit không gian màu Hue/Saturation/Luminance), RGB U64 (64-bit) và Grayscale U16.

Phương pháp nghiên cứu trong đồ án là phương pháp thực nghiệm kết hợp phân tích tài liệu kỹ thuật chuyên ngành:

  • Nghiên cứu tài liệu chính thống: Giáo trình "Lập trình LabVIEW" (TS. Nguyễn Bá Hải, 2010), tài liệu "NI myRIO Project Essentials Guide" (Ed Doering, 2014) và các hướng dẫn kỹ thuật từ National Instruments.
  • Khai thác sự hỗ trợ kỹ thuật từ đội ngũ kỹ sư của National Instruments và diễn đàn cộng đồng phát triển ứng dụng myRIO.
  • Nghiên cứu và kế thừa các mã nguồn mẫu (Example VIs) tích hợp sẵn trong môi trường LabVIEW.
  • Phương pháp thực nghiệm: Thiết lập hệ thống phần cứng thực tế gồm Kit myRIO, cảm biến Camera Kinect, máy tính cá nhân và mạch ngoại vi hiển thị; tiến hành lập trình, biên dịch nạp xuống hệ điều hành thời gian thực và đo lường khả năng đáp ứng của giải thuật nhận dạng cử chỉ.
  • Nguồn dữ liệu nghiên cứu: Dữ liệu ảnh màu và dữ liệu ảnh bản đồ độ sâu (Depth stream) được thu nhận trực tiếp từ cảm biến Camera Kinect theo thời gian thực tại các điều kiện khoảng cách thực tế.

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế dưới dạng một thiết bị nhúng xử lý tại chỗ (on-device processing) nhận tín hiệu từ cảm biến thị giác và trực tiếp xuất lệnh điều khiển ngoại vi.

Kiến trúc phần cứng

Trung tâm xử lý của hệ thống là Kit NI myRIO tích hợp chip hệ thống trên một vi mạch (SoC) Xilinx Zynq-7010. Cấu trúc phần cứng được phân định rõ ràng thành hai phần: khối xử lý Processor lõi kép ARM Cortex-A9 chạy hệ điều hành NI Linux Real-time phụ trách giao tiếp thiết bị, thu nhận dữ liệu và thực thi thuật toán xử lý ảnh; khối logic khả trình FPGA chứa 28.000 tế bào logic (logic cells) phụ trách ghép nối và điều khiển các đường xuất nhập I/O tốc độ cao.

Hệ thống kết nối và giao tiếp ngoại vi của myRIO gồm các thành phần:

Cổng / Khối ngoại vi Đặc tính kỹ thuật phần cứng
Cổng kết nối MXP A và B 2 cổng mở rộng, mỗi cổng 34 chân (Pin), điện áp hoạt động 3.3V và 5V; hỗ trợ các chuẩn giao tiếp UART, SPI, I2C, ngõ vào Analog (AI), ngõ ra Analog (AO) và các đường số DIO
Cổng kết nối MSP C 1 cổng phụ 20 chân, hỗ trợ các đường tín hiệu Analog dải điện áp lớn ±10V, ±15V và các kênh Audio vào/ra
Cổng USB Host & Device Cổng USB Host kết nối truyền nhận dữ liệu với Camera Kinect; cổng USB chuẩn B kết nối máy tính lập trình
Module truyền thông không dây Chip TiWi-BLE tích hợp, hỗ trợ kết nối mạng không dây Wi-Fi chuẩn IEEE 802.11 b/g/n
Cảm biến và chỉ báo Onboard Tích hợp cảm biến gia tốc 3 trục (three-axis accelerometer) và các đèn LED chỉ báo trạng thái

Kiến trúc phần mềm và giải thuật

Về mặt phần mềm hệ thống, Kit myRIO được cài đặt hệ điều hành NI Linux Real-time. Môi trường này kết hợp nhân hệ điều hành Linux với cơ chế phản hồi thời gian thực (Real-time OS), cho phép hệ thống duy trì hoạt động ổn định và có tính tiền định (deterministic). Việc quản trị hệ thống, thiết lập địa chỉ IP, cấu hình Wi-Fi và mở cổng dịch vụ giao thức SSH được thực hiện thông qua phần mềm tiện ích NI Measurement & Automation Explorer (NI-MAX).

Quy trình nhận dạng cử chỉ bàn tay điều khiển thiết bị được thực hiện theo giải thuật nhận dạng cử chỉ bàn tay nhanh (Fast Hand Gesture Algorithm):

  1. Khởi tạo và thu nhận ảnh: Khởi động hệ thống kết nối Camera Kinect thông qua chương trình con Kinect Initialize System. Đọc dữ liệu ảnh độ sâu thời gian thực bằng hàm Read Depth.
  2. Khởi tạo vùng nhớ và định dạng ảnh: Sử dụng hàm IMAQ Create để cấp phát bộ nhớ cho biến ảnh mới với tên định danh duy nhất và chiều rộng biên (Border Size) mặc định là 3 điểm ảnh. Chuyển đổi định dạng dữ liệu ảnh bằng hàm IMAQ Cast Image và trích xuất dữ liệu ma trận điểm ảnh thông qua các khối biến đổi ImageToArray / ArrayToImage.
  3. Phân ngưỡng nhị phân: Sử dụng hàm IMAQ ColorThreshold để thiết lập khoảng ngưỡng trên các kênh màu hoặc dữ liệu mức độ sâu, chuyển đổi ảnh đầu vào thành ảnh nhị phân nhằm tách biệt hoàn toàn bàn tay của người dùng khỏi môi trường nền xung quanh.
  4. Xác định lòng bàn tay và vẽ vùng bao phủ: Dựa trên cấu trúc hình học của bàn tay, giải thuật định vị vùng trung tâm lòng bàn tay và gọi hàm IMAQ Overlay Oval để vẽ một đường tròn mặt nạ phủ kín toàn bộ diện tích lòng bàn tay.
  5. Phân đoạn và đếm ngón tay: Các ngón tay xòe ra sẽ vươn ra ngoài phạm vi bao phủ của đường tròn. Hàm IMAQ Count Objects 2 được kích hoạt trên vùng tìm kiếm (Search Rect) để đếm số lượng các đối tượng liên thông độc lập nằm ngoài đường tròn, tương ứng với số ngón tay xuất hiện (từ 1 đến 5 ngón).
  6. Điều khiển thiết bị: Giá trị số đếm ngón tay được giải mã và chuyển thành tín hiệu điều khiển logic đưa đến các cổng xuất nhập số (DIO) trên cổng kết nối của myRIO để kích hoạt bật/tắt các đèn LED đơn hiển thị kết quả. Khi kết thúc chu trình làm việc, hệ thống giải phóng bộ nhớ và ngắt kết nối phần cứng thông qua chương trình con Close Kinect System.

Nội dung chính theo từng chương

Chương 1: TỔNG QUAN

Chương 1 trình bày tổng quan về bối cảnh nghiên cứu các hệ thống nhúng trong giáo dục kỹ thuật, sự ra đời của dòng sản phẩm NI myRIO vào năm 2013 và tính cấp thiết của việc xây dựng tài liệu nghiên cứu ứng dụng thực tế trên kit này tại Việt Nam. Tác giả xác định rõ ràng mục tiêu nghiên cứu, liệt kê 7 nhiệm vụ cần thực hiện, khoanh vùng đối tượng nghiên cứu (Kit myRIO, ngôn ngữ LabVIEW, kỹ thuật xử lý ảnh nhận dạng cử chỉ) và phạm vi thực nghiệm tại trường đại học. Chương này cũng nêu tóm tắt các phương pháp tiếp cận tài liệu kỹ thuật từ National Instruments và giới thiệu cấu trúc bố cục toàn bộ đồ án gồm 7 chương kèm 2 phần phụ lục.

Chương 2: LabVIEW

Chương 2 đi sâu vào lý thuyết của ngôn ngữ lập trình đồ họa LabVIEW. Tác giả phân tích sự khác biệt cơ bản giữa cách viết mã tuần tự truyền thống bằng ngôn ngữ C (phải khai báo biến, cú pháp in/nhận dữ liệu) với phong cách lập trình đồ họa trong LabVIEW thông qua ví dụ thực hiện phép cộng 2 số nguyên. Nội dung chương mô tả chi tiết hai cửa sổ làm việc chính: Front Panel với bảng điều khiển Controls Palette và các chỉ báo Indicators Palette; Block Diagram với bảng hàm Functions Palette. Tác giả trình bày các quy tắc gỡ lỗi thông qua mũi tên gãy (Broken Run Arrow), phân loại kiểu dữ liệu dựa trên màu sắc và độ dày của dây dẫn tín hiệu, nguyên lý hoạt động của cấu trúc lặp While Loop, For Loop, cấu trúc rẽ nhánh Case Structure, kỹ thuật nhúng mã nguồn C bằng nút Call Library Function Node và các bước khởi tạo một dự án (Project) chuẩn cho phần cứng myRIO.

Chương 3: MyRIO Kit

Chương 3 tập trung thuyết minh chi tiết về kiến trúc phần cứng và phần mềm của Kit NI myRIO. Tác giả phân tích cấu trúc vi mạch SoC Xilinx Zynq-7010 với sự kết hợp giữa lõi xử lý kép ARM Cortex-A9 và mảng logic khả trình FPGA 28.000 tế bào logic. Chương này liệt kê chi tiết sơ đồ bố trí chân của 3 cổng kết nối I/O: cổng A và B (mỗi cổng 34 chân, điện áp 3.3V/5V, hỗ trợ đầy đủ các chuẩn UART, SPI, I2C, Analog và Digital), cổng C (20 chân, hỗ trợ mức điện áp cao ±10V, ±15V). Tác giả cũng trình bày các phương thức kết nối máy tính thông qua cáp USB và mạng Wi-Fi sử dụng module TiWi-BLE cấu hình bằng phần mềm NI-MAX, đồng thời giới thiệu đặc tính vận hành của hệ điều hành nhúng thời gian thực NI Linux Real-time.

Chương 4: XỬ LÝ ẢNH VÀ THỊ GIÁC MÁY TÍNH

Chương 4 cung cấp hệ thống lý thuyết về xử lý ảnh số và thị giác máy tính, bao gồm định nghĩa điểm ảnh, độ phân giải không gian, mức xám, ảnh nhị phân, ảnh màu RGB và các kỹ thuật thu nhận ảnh thông qua thư viện NI-IMAQ và NI-IMAQdx. Tác giả định nghĩa chi tiết các thuật toán xử lý ảnh được ứng dụng trong đề tài: chuyển đổi ảnh RGB sang Grayscale, phép phân ngưỡng (Thresholding), phép nhân hai ma trận ảnh và phép trích xuất mặt phẳng màu. Trong phần thực hành trên LabVIEW, chương này giải thích chi tiết các hàm trong bộ thư viện NI Vision: IMAQ Create (tạo biến ảnh), IMAQ Cast Image (chuyển đổi định dạng ảnh), IMAQ ExtractSingleColorPlanes (tách lớp màu), các hàm chuyển đổi qua lại giữa ảnh và mảng ma trận, IMAQ ColorThreshold (phân ngưỡng màu), IMAQ Overlay Oval (vẽ đường tròn phủ) và IMAQ Count Objects 2 (đếm đối tượng liên thông). Cuối chương trình bày cấu trúc giải thuật Fast Hand Gesture để đếm số ngón tay từ 1 đến 5.

Chương 5: HỆ THỐNG NHẬN DẠNG CỬ CHỈ ĐIỀU KHIỂN THIẾT BỊ

Chương 5 thuyết minh chi tiết quá trình thiết kế và hiện thực hóa hệ thống hoàn chỉnh. Tác giả đưa ra sơ đồ khối tổng thể gồm ba phân hệ chính: Phân hệ thu nhận ảnh và giao tiếp máy tính (Camera Kinect kết nối qua cổng USB, giao tiếp mạng SSH/Wi-Fi); Phân hệ xử lý trung tâm (Kit myRIO tiếp nhận dữ liệu ảnh độ sâu, thực thi giải thuật Fast Hand Gesture trên hệ điều hành NI Linux Real-time); Phân hệ điều khiển thiết bị (mạch giao tiếp cổng xuất tín hiệu số DIO điều khiển bật/tắt các đèn LED đơn). Chương này mô tả chi tiết lưu đồ thuật toán, quy trình cấu hình hệ thống bằng NI-MAX, cách xây dựng các chương trình con chuyên biệt như Kinect Initialize System, Read Depth, Color Threshold và các khối mã nguồn điều khiển xuất nhập tín hiệu trên myRIO.

Chương 6: KẾT QUẢ VÀ NHẬN XÉT

Chương 6 báo cáo toàn bộ các kết quả thực nghiệm đạt được sau quá trình thi công và thử nghiệm đồ án. Tác giả trình bày các ảnh chụp giao diện chương trình vận hành trên máy tính và trạng thái thực thi trực tiếp trên phần cứng Kit myRIO. Các kết quả nhận dạng cử chỉ bàn tay từ 1 ngón đến 5 ngón tay được ghi nhận trực quan đi kèm tín hiệu điều khiển đèn LED tương ứng. Chương này đưa ra các nhận xét kỹ thuật về độ chính xác của giải thuật, phân tích ưu thế của kit myRIO khi tích hợp SoC Zynq-7010 so với các dòng kit nhúng thông thường, đồng thời đánh giá những hạn chế gặp phải trong quá trình xử lý ảnh trên môi trường phần cứng nhúng.

Chương 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Chương 7 tổng kết lại toàn bộ khối lượng công việc đã hoàn thành so với mục tiêu đề ra ban đầu của đồ án tốt nghiệp. Tác giả khẳng định đã làm chủ việc cấu hình Kit myRIO, giao tiếp thành công với Camera Kinect và xây dựng thành công ứng dụng xử lý ảnh nhận dạng cử chỉ bàn tay điều khiển thiết bị. Đồng thời, tác giả đề xuất các định hướng nghiên cứu tiếp theo nhằm nâng cao chất lượng hệ thống, tập trung vào việc nhận dạng các tập cử chỉ phức tạp hơn, khai thác khối FPGA trên chip Zynq để tăng tốc phần cứng và kết nối điều khiển các thiết bị công nghiệp qua mạng không dây.

Kết quả và đóng góp

Về kết quả kỹ thuật, đồ án đã hoàn thành các nội dung thực nghiệm cụ thể sau:

  • Cấu hình thành công hệ điều hành NI Linux Real-time trên Kit NI myRIO, kích hoạt dịch vụ giao thức mạng SSH và thiết lập kết nối không dây Wi-Fi thông qua tiện ích NI-MAX.
  • Thiết lập thành công giao tiếp giữa cổng USB Host của Kit myRIO với Camera Kinect, xây dựng các SubVI thu nhận luồng dữ liệu ảnh độ sâu (Depth data) ổn định theo thời gian thực.
  • Hiện thực hóa thành công chuỗi thuật toán xử lý ảnh trên môi trường LabVIEW sử dụng bộ thư viện NI Vision, bao gồm: phân ngưỡng màu sắc/độ sâu, tạo mặt nạ phủ lòng bàn tay bằng IMAQ Overlay Oval và đếm chính xác số lượng đối tượng liên thông ngón tay bằng IMAQ Count Objects 2.
  • Hệ thống nhận dạng và phân biệt chính xác cử chỉ bàn tay từ 1 ngón tay, 2 ngón tay, 3 ngón tay, 4 ngón tay đến 5 ngón tay theo phương pháp Fast Hand Gesture.
  • Xuất thành công tín hiệu điều khiển số qua các chân DIO của cổng kết nối myRIO, kích hoạt các đèn LED đơn sáng/tắt tương ứng với số ngón tay nhận diện được.

Về giải pháp và kiến nghị, tác giả đề xuất việc khai thác đồng thời cả hai phần kiến trúc của chip Xilinx Zynq-7010 trên myRIO: sử dụng vi xử lý ARM (LabVIEW RT) cho các tác vụ quản lý truyền thông, giao tiếp thiết bị và sử dụng khối logic FPGA (LabVIEW FPGA) để thực hiện các phép toán tiền xử lý ảnh nhằm giải phóng tải tính toán cho CPU nhúng. Ngoài ra, việc sử dụng môi trường LabVIEW giúp rút ngắn đáng kể thời gian thiết kế và gỡ lỗi hệ thống so với các công cụ phát triển nhúng truyền thống.

Về đóng góp học thuật và thực tiễn, đây là một trong những đề tài tốt nghiệp đầu tiên tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh nghiên cứu toàn diện về Kit NI myRIO ngay sau khi sản phẩm này được National Instruments phát hành. Đồ án cung cấp tài liệu hướng dẫn kỹ thuật chi tiết về cấu hình phần cứng, cài đặt phần mềm và kỹ thuật xử lý ảnh độ sâu trên hệ điều hành thời gian thực, tạo cơ sở tham khảo cho các nghiên cứu tiếp theo về ứng dụng myRIO trong điều khiển và tự động hóa.

Hạn chế và hướng nghiên cứu tiếp

Khóa luận chỉ rõ những hạn chế khách quan bắt nguồn từ đặc tính phần cứng nhúng và phạm vi nghiên cứu:

  • Tài nguyên phần cứng của Kit myRIO (bộ nhớ RAM, tốc độ tính toán của chip xử lý nhúng) có giới hạn nhất định so với máy tính cá nhân hoàn chỉnh, do đó việc xử lý các khung hình có độ phân giải lớn hoặc thuật toán phức tạp đòi hỏi phải tối ưu hóa bộ nhớ chặt chẽ.
  • Hệ thống không có giao diện hiển thị đồ họa trực tiếp (Desktop UI) trên kit mà phải tương tác và giám sát thông qua máy tính điều khiển hoặc giao thức mạng.
  • Giải thuật Fast Hand Gesture mới dừng lại ở việc đếm các ngón tay tĩnh (từ 1 đến 5 ngón) trên mặt phẳng cắt ngang, chưa nhận diện được các cử chỉ động (gesture tracking) hoặc các chuyển động ngón tay phức tạp trong không gian 3 chiều.
  • Quá trình thu nhận ảnh từ Camera Kinect phụ thuộc vào điều kiện khoảng cách làm việc và chất lượng nguồn sáng của môi trường thực nghiệm.
  • Việc phát triển chương trình phụ thuộc vào khóa bản quyền của bộ thư viện NI Vision và phần mềm LabVIEW.

Các hướng phát triển được tác giả đề xuất bao gồm:

  • Mở rộng tập luật nhận dạng để nhận diện các cử chỉ tay phức tạp hơn, các cử chỉ chuyển động liên tục và dấu hiệu ngôn ngữ ký hiệu.
  • Tối ưu hóa thuật toán và chuyển các khối tính toán xử lý ảnh nặng xuống phần cứng FPGA (LabVIEW FPGA) trên chip Zynq-7010 nhằm tăng tốc độ xử lý khung hình đạt chuẩn thời gian thực cao.
  • Phát triển ứng dụng điều khiển không dây qua mạng Wi-Fi để liên kết myRIO với các hệ thống chấp hành công nghiệp, mô hình xe tự hành hoặc cánh tay robot.

Giá trị tham khảo

Khóa luận là nguồn tài liệu tham khảo phù hợp cho:

  • Sinh viên và học viên cao học các ngành Công nghệ Kỹ thuật Máy tính, Điện tử - Viễn thông, Điều khiển và Tự động hóa, Cơ điện tử đang tiếp cận hoặc làm đồ án tốt nghiệp liên quan đến Kit NI myRIO và ngôn ngữ lập trình LabVIEW.
  • Các kỹ sư phát triển hệ thống nhúng quan tâm đến kiến trúc SoC Xilinx Zynq-7010 kết hợp vi xử lý ARM và mảng logic FPGA chạy trên hệ điều hành thời gian thực NI Linux Real-time.
  • Người nghiên cứu các bài toán thị giác máy tính mức độ nhúng cần tài liệu thực hành chi tiết về giao tiếp Camera Kinect và ứng dụng bộ thư viện NI Vision Development Module.

Các nội dung có giá trị tham khảo cao nhất trong tài liệu:

  • Sơ đồ chân, bảng tra cứu tín hiệu của các cổng kết nối MXP A, MXP B, MSP C và quy trình thiết lập phần cứng myRIO qua phần mềm NI-MAX tại Chương 3.
  • Hướng dẫn chi tiết phương pháp sử dụng các hàm xử lý ảnh nhị phân, phân ngưỡng và đếm đối tượng liên thông của thư viện NI Vision tại Chương 4.
  • Cấu trúc các SubVI giao tiếp camera Kinect và giải thuật nhận dạng cử chỉ bàn tay (Fast Hand Gesture) tại Chương 5 và Phụ lục 2.
  • Tài liệu hướng dẫn quy trình cài đặt, lựa chọn module và kích hoạt bản quyền phần mềm LabVIEW được minh họa chi tiết tại Phụ lục 1.

Câu hỏi thường gặp

1. Kit NI myRIO sử dụng cấu trúc vi xử lý nào và có cấu hình phần cứng ra sao?
Kit NI myRIO sử dụng chip hệ thống trên một vi mạch (SoC) Xilinx Zynq-7010. Con chip này tích hợp một bộ vi xử lý lõi kép Dual-core ARM Cortex-A9 kết hợp với một mảng logic khả trình FPGA có 28.000 tế bào logic (logic cells). Về giao tiếp I/O, kit trang bị 10 ngõ vào analog, 6 ngõ ra analog, các kênh âm thanh audio vào/ra và tối đa 40 đường xuất nhập số (DIO) phân bố trên 3 cổng kết nối (Port A, Port B và Port C), tích hợp sẵn module Wi-Fi TiWi-BLE, cảm biến gia tốc 3 trục và hệ thống đèn LED chỉ báo.

2. Hệ thống trong đồ án vận hành trên nền tảng hệ điều hành nào?
Hệ thống vận hành trên hệ điều hành thời gian thực NI Linux Real-time do National Instruments phát triển. Hệ điều hành này kế thừa các tính năng của nhân Linux nhưng được tối ưu hóa cho các tác vụ thời gian thực, chạy trực tiếp trên vi xử lý ARM Cortex-A9 của Kit myRIO và được quản lý cấu hình thông qua phần mềm NI-MAX.

3. Thiết bị thu nhận ảnh được sử dụng trong đồ án là gì và kết nối với myRIO như thế nào?
Thiết bị thu nhận ảnh là Camera Kinect (Microsoft). Cảm biến này được kết nối trực tiếp với Kit myRIO thông qua cổng giao tiếp USB Host để cung cấp dữ liệu hình ảnh độ sâu (Depth image) và ảnh màu phục vụ quá trình xử lý nhận dạng.

4. Giải thuật nhận dạng cử chỉ bàn tay Fast Hand Gesture thực hiện việc đếm ngón tay qua những bước nào?
Giải thuật thực hiện theo chuỗi các bước:

  1. Thu nhận dữ liệu ảnh độ sâu từ Kinect qua chương trình con Read Depth.
  2. Phân ngưỡng nhị phân để tách vùng bàn tay ra khỏi hậu cảnh.
  3. Xác định tọa độ tâm lòng bàn tay và dùng hàm IMAQ Overlay Oval vẽ một đường tròn bao phủ kín lòng bàn tay.
  4. Sử dụng hàm IMAQ Count Objects 2 để phát hiện và đếm các thành phần liên thông của các ngón tay nằm vượt ra ngoài chu vi đường tròn bao phủ, cho ra số lượng ngón tay xòe từ 1 đến 5.

5. Kết quả điều khiển ngoại vi của hệ thống được kiểm chứng như thế nào?
Kết quả nhận dạng cử chỉ từ giải thuật được xuất trực tiếp thành các mức logic qua các đường xuất số (DIO) trên cổng kết nối của Kit myRIO để điều khiển hệ thống các đèn LED đơn. Số lượng ngón tay đếm được (từ 1 đến 5) tương ứng với các trạng thái kích hoạt bật sáng của các đèn LED trên mô hình thực nghiệm.

Kết luận

Đồ án tốt nghiệp "Xử lý ảnh trên Kit myRIO" của tác giả Lê Khánh Nhựt đã nghiên cứu thành công việc ứng dụng nền tảng phần cứng nhúng NI myRIO chạy hệ điều hành NI Linux Real-time kết hợp môi trường lập trình đồ họa LabVIEW vào bài toán thị giác máy tính. Hệ thống đã thiết lập giao tiếp ổn định với Camera Kinect qua cổng USB, thu nhận luồng dữ liệu ảnh độ sâu và triển khai hiệu quả giải thuật Fast Hand Gesture để nhận dạng chính xác số lượng ngón tay từ 1 đến 5. Tín hiệu nhận dạng được xuất thành công qua các cổng I/O số để điều khiển thiết bị ngoại vi theo thời gian thực, tạo tiền đề kỹ thuật thực nghiệm giá trị cho việc khai thác dòng chip SoC Zynq-7010 trong các ứng dụng đo lường, điều khiển và tự động hóa nhúng.