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

Trong bối cảnh nền công nghiệp đang chuyển dịch mạnh mẽ theo xu hướng Công nghiệp 4.0—sự hội tụ và làm mờ ranh giới giữa các lĩnh vực vật lý, kỹ thuật số và sinh học—các thiết bị điện tử thông minh và hệ thống tự động hóa ngày càng đóng vai trò then chốt trong hoạt động sản xuất. Đặc biệt, ở khâu đóng gói và kiểm định chất lượng sản phẩm, nhu cầu phân loại tự động dựa trên các đặc trưng hình học và kích thước thực tế là một yêu cầu cấp thiết nhằm tối ưu hóa năng suất và giảm thiểu sai sót do con người.

Các hệ thống thị giác máy tính truyền thống sử dụng camera 2D thông thường gặp nhiều trở ngại trong việc trích xuất thông tin chiều sâu và đo đạc chính xác kích thước không gian thực của vật thể khi khoảng cách từ cảm biến tới đối tượng thay đổi. Trong khi đó, camera 3D (Stereo Vision) với khả năng ghi nhận chiều sâu tương tự cơ chế thị giác hai mắt của con người cung cấp nguồn dữ liệu không gian trực quan và chuẩn xác hơn. Kế thừa các hướng tiếp cận xử lý ảnh trên nền tảng nhúng và ngôn ngữ Python (tiêu biểu như các nghiên cứu phân loại sản phẩm sử dụng kit Raspberry Pi), đề tài "Ứng dụng camera 3D trong việc phân loại sản phẩm theo hình dạng và kích thước" được thực hiện nhằm xây dựng giải pháp nhận dạng hình học và đo lường kích thước vật thể phục vụ bài toán phân loại tự động.

Mục tiêu nghiên cứu của đồ án được xác định gồm 2 nội dung chính:

  1. Tìm hiểu nguyên lý hoạt động của camera 3D, ngôn ngữ lập trình Python và thư viện xử lý ảnh thị giác máy tính OpenCV.
  2. Xây dựng thuật toán và mô hình thực nghiệm để phân loại sản phẩm theo hình dạng hình học cơ bản kết hợp tính toán kích thước thực tế.

Nhiệm vụ nghiên cứu cụ thể bao gồm 6 nội dung:

  1. Tìm hiểu phương pháp nhận dạng và phân loại sản phẩm theo hình dạng và kích thước.
  2. Tổng quan lý thuyết về xử lý ảnh kỹ thuật số.
  3. Nghiên cứu camera 3D và các module phần cứng liên quan.
  4. Lập trình chương trình điều khiển và thuật toán xử lý trên nền tảng Python.
  5. Thi công, lắp ráp hoàn chỉnh mô hình phần cứng thử nghiệm.
  6. Đánh giá kết quả nhận dạng và phân loại thực nghiệm.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Các sản phẩm mẫu có cấu trúc hình học xác định bao gồm hình vuông, hình chữ nhật và hình tam giác; cảm biến thu nhận hình ảnh Stereo Camera module OV9750; các thuật toán xử lý ảnh số, hiệu chuẩn camera và khớp ảnh lập thể (Stereo Matching).
  • Phạm vi không gian và điều kiện vận hành: Mô hình thử nghiệm quy mô phòng thí nghiệm (chưa tích hợp băng chuyền công nghiệp hoàn chỉnh); hệ thống hoạt động trong điều kiện môi trường lý tưởng, đủ độ sáng; sản phẩm khảo sát có màu sắc riêng biệt nhằm tăng độ tương phản và hạn chế tối đa nhiễu nền.
  • Thời gian thực hiện: Đồ án được triển khai từ ngày 26/03/2019 đến ngày 05/06/2019 tại Khoa Điện – Điện tử, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh.

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

Đồ án xây dựng dựa trên nền tảng lý thuyết xử lý ảnh số, hình học thị giác máy tính (Computer Vision Geometry) và kỹ thuật lập thể 3D (Stereo Vision):

1. Khung lý thuyết và mô hình toán học

  • Cơ sở xử lý ảnh số và quan hệ điểm ảnh: Ảnh số được biểu diễn dưới dạng ma trận hai chiều $f(x, y)$ với mức xám 8-bit (256 mức độ xám từ 0 đến 255) hoặc không gian màu đa kênh RGB/BGR. Hệ thống sử dụng các khái niệm lân cận điểm ảnh 4 hướng $N_4(p)$, lân cận đường chéo $N_D(p)$, lân cận 8 hướng $N_8(p)$ và liên kết hỗn hợp ($m$-connectivity) để phục vụ việc dò biên và phân vùng. Công thức chuyển đổi ảnh màu RGB sang ảnh mức xám: $$Y = 0.299R + 0.587G + 0.114B$$
  • Kỹ thuật lọc nhiễu và làm mịn: Sử dụng lọc tuyến tính (bộ lọc trung bình với nhân chập $3 \times 3$, lọc thông thấp) và lọc phi tuyến (bộ lọc Gauss, lọc trung vị Median) nhằm loại bỏ nhiễu tần số cao trước khi phân tích biên.
  • Thuật toán phát hiện biên (Edge Detection):
    • Đạo hàm bậc một: Sử dụng toán tử Sobel để tính gradient theo phương ngang ($G_x$) và phương dọc ($G_y$), độ lớn gradient $G = \sqrt{G_x^2 + G_y^2}$ và hướng biên $\theta = \arctan(G_y / G_x)$.
    • Bộ tách biên Canny: Thực hiện làm mịn bằng lọc Gauss, tính toán độ lớn và hướng gradient, áp dụng kỹ thuật khử phi cực đại (Non-maximum Suppression), phân ngưỡng kép (ngưỡng cao $T_2$ xác định biên mạnh Strong, ngưỡng thấp $T_1$ xác định biên yếu Weak) và liên kết biên theo lân cận 8.
  • Kỹ thuật lấp đầy biên (Region Filling): Sơn lại vùng ngoài biên, đảo ngược giá trị nhị phân và thực hiện phép toán logic OR với ảnh ban đầu để tạo mặt nạ vùng đối tượng khép kín phục vụ trích xuất đặc trưng.
  • Mô hình hình học Stereo Camera và tính toán độ sâu: Hệ thống 2 camera đặt song song trên cùng một trục chuẩn, có chiều dài đường cơ sở $b$ và tiêu cự thấu kính $f$. Tọa độ điểm ảnh trên camera trái là $x_l$, trên camera phải là $x_r$. Độ chênh lệch (Disparity) được xác định bởi $d = x_l - x_r$. Khoảng cách chiều sâu $z$ từ mặt phẳng camera đến đối tượng được tính theo hệ thức tam giác đồng dạng: $$z = \frac{b \cdot f}{d} = \frac{b \cdot f}{x_l - x_r}$$
  • Thuật toán so khớp lập thể (Stereo Matching): Văn bản hệ thống hóa 3 thuật toán so khớp khối cơ bản:
    • Sum of Squared Differences (SSD): Tính tổng bình phương các hiệu mức xám trong cửa sổ $W$.
    • Sum of Absolute Differences (SAD): Tính tổng độ sai biệt tuyệt đối trong cửa sổ $W$, có độ phức tạp tính toán thấp, phù hợp xử lý thời gian thực: $$\text{SAD}(x, y, d) = \sum_{(u, v) \in W} |I_l(u, v) - I_r(u, v - d)|$$
    • Normalized Cross Correlation (NCC): Tương quan chéo chuẩn hóa, có độ chính xác cao nhưng tiêu tốn tài nguyên do chứa phép khai căn và bình phương.
  • Mô hình hiệu chuẩn Camera Pinhole: Sử dụng ma trận camera kích thước $3 \times 4$ ánh xạ không gian thế giới thực 3D $(X, Y, Z)$ vào mặt phẳng ảnh 2D $(u, v)$: $$\begin{bmatrix} u \ v \ 1 \end{bmatrix} = \begin{bmatrix} f_x & 0 & c_x \ 0 & f_y & c_y \ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} r_{11} & r_{12} & r_{13} & t_1 \ r_{21} & r_{22} & r_{23} & t_2 \ r_{31} & r_{32} & r_{33} & t_3 \end{bmatrix} \begin{bmatrix} X \ Y \ Z \ 1 \end{bmatrix}$$ Trong đó $(f_x, f_y)$ là tiêu cự theo pixel, $(c_x, c_y)$ là điểm chính quang học (thông số nội - Intrinsic), $[R|t]$ là ma trận xoay và vector tịnh tiến (thông số ngoại - Extrinsic). Quá trình cân chỉnh sử dụng mẫu bàn cờ tiêu chuẩn (Checkerboard calibration pattern).
  • Thuật toán xấp xỉ đa giác Ramer-Douglas-Peucker: Dùng để đơn giản hóa đường viền biên dạng thành tập hợp các đoạn thẳng xấp xỉ, từ đó xác định tọa độ các điểm đỉnh cực trị và tính khoảng cách Euclid giữa hai điểm $A(m, n)$ và $B(x, y)$: $$AB = \sqrt{(x - m)^2 + (y - n)^2}$$
Thuật toán so khớp Nguyên lý toán học Ưu điểm Hạn chế
SAD $\sum |I_l - I_r|$ Cấu trúc tính toán đơn giản, tốc độ xử lý nhanh, tối ưu cho thời gian thực Nhạy cảm với sự mất cân bằng chiếu sáng giữa 2 thấu kính
SSD $\sum (I_l - I_r)^2$ Độ nhạy sai lệch biên tốt hơn SAD Xuất hiện phép nhân bình phương, tăng tải CPU
NCC Tương quan chéo chuẩn hóa Chống nhiễu quang học và bù trừ chênh lệch sáng tốt Độ phức tạp cao (chứa phép căn bậc hai và chia ma trận), khó đáp ứng thời gian thực

2. Phương pháp nghiên cứu và thực nghiệm

  • Phương pháp thiết kế kỹ thuật: Tính toán, lựa chọn linh kiện phần cứng thu nhận ảnh lập thể và kiến trúc xử lý trung tâm phù hợp yêu cầu tải tính toán của các thuật toán thị giác máy tính.
  • Phương pháp thực nghiệm kiểm chứng: Chế tạo các mẫu hình khối thực tế (hình vuông, hình chữ nhật, hình tam giác với kích thước và màu sắc khác nhau), đưa vào vùng quan sát của camera để đo đạc sai số kích thước, tỷ lệ nhận dạng đúng hình dạng và kiểm tra khả năng phân loại của phần mềm.

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

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

Hệ thống phần cứng phân loại được cấu thành từ 5 khối chức năng chính:

  • Khối thu nhận tín hiệu hình ảnh: Sử dụng module camera 3D chuyên dụng "Synchronization USB Stereo Webcam Dual lens camera OV9750 960P MJPEG 2560x960 with No distortion lens". Thiết bị tích hợp cảm biến kép OmniVision OV9750 ứng dụng công nghệ OmniPixel3-HS™, ống kính không méo (no distortion lens), giao tiếp chuẩn USB 2.0. Module cung cấp luồng ảnh đồng bộ độ phân giải kép $2560 \times 960$ pixel với tốc độ khung hình 60 fps (MJPEG) và tiêu thụ dòng điện 220mA ở điện áp 5V.
  • Khối xử lý trung tâm: Sử dụng máy tính xách tay trang bị vi xử lý Intel Core i5 tốc độ xung nhịp tối đa 3.4 GHz nhằm đảm bảo năng lực tính toán ma trận ảnh và chạy các thuật toán lập thể thời gian thực.
  • Khối hiển thị: Màn hình máy tính trực tiếp hiển thị giao diện kết quả phân loại, tọa độ biên, thông số kích thước tính toán và trạng thái nhận dạng.
  • Khối giao tiếp và điều khiển: Chuột và bàn phím máy tính dùng để cấu hình tham số, kích hoạt chương trình xử lý.
  • Khối nguồn: Cung cấp nguồn điện 5V DC trực tiếp từ cổng USB 2.0 của máy tính cho module camera.
+-------------------------------------------------------------+
|                     Khối nguồn (5V USB)                     |
+-------------------------------------------------------------+
                               |
                               v
+-----------------------+     +-------------------------------+     +------------------+
| Khối thu tín hiệu ảnh | --> | Khối xử lý trung tâm (Laptop) | --> |  Khối hiển thị   |
|  (Stereo Cam OV9750)  |     |   (Intel Core i5 @ 3.4GHz)    |     | (Màn hình máy)   |
+-----------------------+     +-------------------------------+     +------------------+
                                               ^
                                               |
                              +-------------------------------+
                              |  Khối điều khiển (Phím/Chuột) |
                              +-------------------------------+

2. Thiết kế thuật toán phân loại và tính kích thước

Quy trình nhận dạng và tính toán hình học trên phần mềm gồm các bước tuần tự:

  1. Thu nhận cặp ảnh lập thể từ module camera đồng bộ qua cổng USB.
  2. Tiền xử lý: Chuyển đổi không gian màu sang ảnh xám (Grayscale), lọc nhiễu bằng bộ lọc Gauss.
  3. Tách biên đối tượng bằng thuật toán Canny và tiến hành lấp đầy biên để trích xuất mặt nạ nhị phân của vật thể.
  4. Trích xuất đường bao liên tục (Contour) và áp dụng thuật toán xấp xỉ Ramer-Douglas-Peucker để xác định số lượng đỉnh và tọa độ các đỉnh cực trị.
  5. Thuật toán nhận dạng và phân loại hình học:
    • Nếu số đỉnh đếm được bằng 3 $\rightarrow$ Phân loại là Hình tam giác. Kích thước chu vi tính bằng tổng 3 cạnh: $P = A + B + C$.
    • Nếu số đỉnh đếm được bằng 4: Tiến hành tính chiều dài 2 cạnh kề nhau ($AB$ và $BC$) theo công thức khoảng cách Euclid.
      • Nếu $AB \approx BC$ $\rightarrow$ Phân loại là Hình vuông. Chu vi tính bằng: $P = 4 \times D$.
      • Nếu $AB \neq BC$ $\rightarrow$ Phân loại là Hình chữ nhật. Chu vi tính bằng: $P = 2 \times (C + D)$.
    • Nếu số đỉnh không thỏa mãn các điều kiện trên $\rightarrow$ Xác định là đối tượng hình học khác hoặc biên dạng không xác định.
Hình dạng sản phẩm Số lượng đỉnh Đặc điểm quan hệ giữa các cạnh Công thức tính chu vi
Hình tam giác 3 Gồm 3 đoạn thẳng nối 3 đỉnh $P = A + B + C$
Hình vuông 4 2 cạnh kề bằng nhau ($AB = BC$) $P = 4 \times D$
Hình chữ nhật 4 2 cạnh kề không bằng nhau ($AB \neq BC$) $P = 2 \times (C + D)$

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

Chương 1: Tổng quan

Chương 1 giới thiệu tổng quan về bối cảnh chuyển dịch sản xuất tự động hóa trong kỷ nguyên Công nghiệp 4.0 và tầm quan trọng của công nghệ xử lý ảnh trong các bài toán công nghiệp như kiểm tra chất lượng, định vị robot và phân loại sản phẩm. Tác giả nêu rõ hạn chế của các phương pháp phân loại 2D thông thường, từ đó xác lập mục tiêu nghiên cứu ứng dụng camera 3D nhằm trích xuất thông tin hình học và kích thước thực tế. Chương này cũng phân định rõ 6 nội dung nghiên cứu cần triển khai, giới hạn kỹ thuật của đề tài (thực hiện trên máy tính với ngôn ngữ Python, điều kiện đủ sáng, sản phẩm có độ tương phản màu sắc tốt) và cấu trúc 6 chương của bản đồ án.

Chương 2: Cơ sở lý thuyết

Chương 2 trình bày chi tiết và có hệ thống toàn bộ nền tảng lý thuyết phục vụ đề tài:

  • Khái niệm cơ bản về ảnh số, cấu trúc ma trận điểm ảnh, các mức xám (16, 32, 64, 128, 256), quan hệ không gian giữa các pixel (lân cận 4, lân cận 8, liên kết hỗn hợp $m$).
  • Lý thuyết các giải thuật làm trơn và giảm nhiễu: Lọc tuyến tính trung bình với nhân chập $3 \times 3$, lọc thông thấp, lọc phi tuyến trung vị và giả trung vị.
  • Các phương pháp dò biên cục bộ và vi phân: Gradient, toán tử Sobel, đạo hàm bậc hai Laplace, quy trình 4 giai đoạn của bộ tách biên tối ưu Canny.
  • Lý thuyết phân đoạn ảnh và kỹ thuật lấp đầy biên tạo ảnh nhị phân.
  • Nguyên lý thị giác lập thể (Stereo Vision), thiết lập cấu hình chuẩn của hệ thống 2 camera đặt song song, quan hệ hình học giữa chiều dài đường cơ sở $b$, tiêu cự $f$, độ lệch điểm ảnh $d$ và khoảng cách độ sâu $z$.
  • Phân tích toán học 3 thuật toán so khớp khối stereo truyền thống (SAD, SSD, NCC) và quy trình trích xuất bản đồ độ sâu (Disparity/Depth Map).
  • Mô hình hiệu chuẩn camera Pinhole, ma trận thông số nội (tiêu cự $f_x, f_y$, tâm quang học $c_x, c_y$, hệ số méo thấu kính) và ma trận thông số ngoại (xoay $R$, tịnh tiến $t$).
  • Giới thiệu tổng quan về ngôn ngữ lập trình Python, thư viện thị giác máy tính OpenCV và thông số kỹ thuật cảm biến hình ảnh OmniVision OV9750 công nghệ OmniPixel3-HS™.

Chương 3: Tính toán và thiết kế

Chương 3 tập trung vào thiết kế hệ thống phần cứng và xây dựng giải thuật nhận dạng toán học:

  • Thiết lập sơ đồ khối chức năng của hệ thống gồm Khối nguồn, Khối thu tín hiệu (Stereo Camera), Khối xử lý trung tâm (Laptop CPU Core i5), Khối hiển thị và Khối điều khiển ngoại vi.
  • Trình bày đặc tính kỹ thuật chi tiết của module Dual lens camera OV9750 độ phân giải $2560 \times 960$, chuẩn USB 2.0, công suất tiêu thụ $5\text{V} - 220\text{mA}$.
  • Xây dựng phương pháp nhận dạng đặc trưng dựa trên số đỉnh và tỷ lệ cạnh của các đa giác phẳng (hình chữ nhật, hình vuông, hình tam giác).
  • Ứng dụng thuật toán Ramer-Douglas-Peucker để tìm đường bao xấp xỉ biên dạng, loại bỏ các điểm lồi lõm do nhiễu số, xác định chính xác tọa độ các điểm đỉnh cực trị.
  • Thiết lập công thức giải tích tính toán chiều dài các đoạn thẳng cạnh và công thức tính chu vi tương ứng cho từng loại hình dạng hình học.

Chương 4: Thi công hệ thống

Chương 4 mô tả toàn bộ quá trình thi công thực tế, tích hợp phần cứng và lập trình phần mềm:

  • Danh mục linh kiện, thiết bị phục vụ mô hình (module camera 3D, máy tính xử lý, giá đỡ, vật thể mẫu).
  • Quy trình kết nối phần cứng camera với máy tính qua giao tiếp USB, thiết lập môi trường lập trình Python kết hợp thư viện OpenCV trên hệ điều hành Windows.
  • Xây dựng lưu đồ giải thuật tổng quát của chương trình chính và các chương trình con chuyên biệt: Lưu đồ tách biên và lấp đầy biên, lưu đồ trích xuất đặc trưng hình học và nhận dạng phân loại.
  • Biên soạn tài liệu hướng dẫn sử dụng và chuẩn hóa quy trình vận hành thử nghiệm hệ thống theo từng bước thao tác thực tế.

Chương 5: Kết quả, nhận xét và đánh giá

Chương 5 công bố các số liệu và hình ảnh thực nghiệm thu được từ mô hình:

  • Kết quả thu nhận ảnh đầu vào đồng bộ từ hai thấu kính của camera 3D.
  • Kết quả khảo sát nhận dạng không gian màu sắc của sản phẩm mẫu.
  • Kết quả thực nghiệm nhận dạng hình dạng, trích xuất số đỉnh, tính toán độ dài các cạnh và chu vi đối với 3 nhóm vật thể: hình vuông, hình chữ nhật, hình tam giác.
  • Ghi nhận và đánh giá trường hợp camera chưa thể nhận dạng đồng thời nhiều sản phẩm cùng lúc trong một khung hình khi các vật thể nằm san sát hoặc chồng lấn.

Chương 6: Kết luận và hướng phát triển

Chương 6 tổng kết toàn bộ các mục tiêu đã hoàn thành của đồ án, chỉ ra các hạn chế kỹ thuật hiện tại về sự phụ thuộc vào điều kiện chiếu sáng và mức độ hoàn thiện công nghiệp của mô hình, đồng thời đề xuất các định hướng nâng cấp hệ thống trong tương lai.


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

1. Kết quả thực nghiệm chính

Hệ thống đã triển khai và kiểm chứng thực nghiệm thành công trên mô hình phần cứng kết nối Stereo Camera OV9750 với máy tính:

  • Nhận dạng chính xác 3 loại hình dạng vật thể cơ bản: hình vuông, hình chữ nhật và hình tam giác thông qua việc xác định số đỉnh và quan hệ tỷ lệ giữa các cạnh kề.
  • Thuật toán Ramer-Douglas-Peucker hoạt động ổn định, xấp xỉ chính xác các đường bao biên dạng từ ảnh tách biên Canny và lấp đầy biên nhị phân.
  • Tính toán được chiều dài các cạnh và chu vi của sản phẩm mẫu dựa trên tọa độ điểm ảnh sau hiệu chuẩn hình học.
  • Xây dựng hoàn chỉnh chương trình xử lý ảnh trên nền tảng Python - OpenCV với tốc độ đáp ứng nhanh trên cấu hình CPU Intel Core i5.

2. Bảng tổng hợp kết quả phân loại và khảo sát hình học

Nhóm đối tượng Dấu hiệu nhận dạng Kết quả trích xuất đặc trưng Khả năng tính toán kích thước
Hình vuông 4 đỉnh, 2 cạnh kề bằng nhau Xác định đúng 4 đỉnh, tỉ lệ $AB \approx BC$ Tính chính xác độ dài cạnh $D$ và chu vi $P = 4D$
Hình chữ nhật 4 đỉnh, 2 cạnh kề khác nhau Xác định đúng 4 đỉnh, tỉ lệ $AB \neq BC$ Tính chính xác 2 kích thước $C, D$ và chu vi $P = 2(C+D)$
Hình tam giác 3 đỉnh Xác định đúng 3 đỉnh cực trị Tính chính xác 3 cạnh $A, B, C$ và chu vi $P = A+B+C$

3. Đóng góp kỹ thuật của đề tài

  • Tích hợp thành công module camera 3D đồng bộ (Stereo Dual Lens) với các thuật toán xử lý ảnh trên nền Python/OpenCV để giải quyết bài toán phân loại sản phẩm theo kích thước không gian—khắc phục nhược điểm thiếu thông tin chiều sâu của các hệ thống camera 2D trước đó.
  • Hệ thống hóa quy trình xử lý thị giác máy tính từ khâu thu nhận ảnh lập thể, tiền xử lý giảm nhiễu, tách biên Canny, xấp xỉ đa giác Douglas-Peucker đến tính toán hình học thực tế, làm tài liệu tham khảo hoàn chỉnh cho các ứng dụng thị giác máy tính trong cơ điện tử.

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

1. Các mặt hạn chế

Căn cứ theo nội dung công bố tại Chương 5 và Chương 6 của đồ án, hệ thống còn tồn tại các hạn chế kỹ thuật sau:

  • Phụ thuộc điều kiện chiếu sáng: Hệ thống yêu cầu môi trường vận hành lý tưởng, đủ độ sáng ổn định; chất lượng nhận dạng suy giảm khi ánh sáng thay đổi hoặc bị sấp bóng.
  • Yêu cầu về màu sắc vật thể: Sản phẩm cần có màu sắc riêng biệt, độ tương phản cao so với phông nền để tránh nhiễu trong quá trình tách biên và phân đoạn ảnh.
  • Xử lý đa đối tượng: Camera và thuật toán chưa hỗ trợ nhận dạng và phân loại cùng một lúc nhiều sản phẩm xuất hiện đồng thời trong khung nhìn.
  • Mức độ tích hợp phần cứng: Mô hình mới dừng lại ở quy mô thử nghiệm tĩnh kết nối với máy tính xách tay, chưa tích hợp cơ cấu chấp hành phân loại tự động (cánh tay robot, xi lanh khí nén) và chưa lắp đặt trên băng chuyền sản xuất công nghiệp liên tục.

2. Hướng nghiên cứu và phát triển tiếp theo

  • Nâng cấp thuật toán xử lý ảnh để có thể nhận dạng, bám bắt và phân loại đồng thời nhiều sản phẩm cùng lúc trên khung hình động.
  • Phát triển các giải pháp cân bằng sáng tự động và lọc thích nghi nhằm nâng cao độ bền vững của thuật toán trong điều kiện chiếu sáng phức tạp, môi trường công nghiệp thực tế.
  • Thiết kế hệ thống nhúng chuyên dụng (sử dụng các kit vi xử lý nhúng tốc độ cao, DSP hoặc máy tính nhúng) thay thế máy tính xách tay nhằm thu gọn kích thước thiết bị.
  • Tích hợp mô hình thị giác với hệ thống cơ điện tử hoàn chỉnh: Lắp đặt trên dây chuyền băng tải, kết nối PLC điều khiển cơ cấu phân loại (cơ cấu gạt, khí nén) để đưa vào ứng dụng sản xuất thực tiễn.

Giá trị tham khảo

Bản đồ án là tài liệu tham khảo hữu ích cho:

  • Sinh viên và học viên ngành Kỹ thuật Điện tử - Truyền thông, Công nghệ Kỹ thuật Cơ điện tử, Tự động hóa và Công nghệ Thông tin: Tham khảo phương pháp xây dựng ứng dụng thị giác máy tính thời gian thực bằng ngôn ngữ Python kết hợp OpenCV.
  • Người nghiên cứu các đề tài về Thị giác lập thể (Stereo Vision): Nắm bắt nguyên lý cấu hình hệ thống camera 2 mắt, mô hình camera Pinhole, các thuật toán so khớp độ sâu (SAD, SSD, NCC) và kỹ thuật hiệu chuẩn thông số nội/ngoại.
  • Phần đáng tham khảo nhất trong văn bản:
    • Chương 2 và Chương 3: Phần trình bày chi tiết về cơ sở toán học của kỹ thuật Stereo Vision, thuật toán dò biên Canny và thuật toán xấp xỉ đa giác Ramer-Douglas-Peucker để trích xuất đỉnh hình học.
    • Chương 4: Lưu đồ giải thuật chi tiết của các chương trình con xử lý ảnh và thiết lập tham số cho module cảm biến camera 3D OV9750.

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

1. Đề tài sử dụng loại camera nào để thu nhận hình ảnh 3D và các thông số kỹ thuật chính của module này là gì?
Tác giả sử dụng module "Synchronization USB Stereo Webcam Dual lens camera OV9750 960P MJPEG 2560x960 with No distortion lens 3D usb camera module". Thiết bị sử dụng cảm biến kép OmniVision OV9750 công nghệ OmniPixel3-HS™, giao tiếp qua cổng USB 2.0, điện áp 5V, dòng tiêu thụ 220mA, hỗ trợ độ phân giải tối đa $2560 \times 960$ pixel ở tốc độ khung hình 60 fps (MJPEG).

2. Thuật toán nào được sử dụng để tìm đỉnh của các hình dạng sản phẩm?
Hệ thống sử dụng thuật toán xấp xỉ đa giác Ramer-Douglas-Peucker để đơn giản hóa đường viền biên dạng thành các đoạn thẳng xấp xỉ, loại bỏ các điểm lồi lõm cục bộ do nhiễu, từ đó xác định tọa độ các điểm đầu mút (điểm đỉnh) của vật thể.

3. Làm thế nào hệ thống phân biệt được giữa sản phẩm hình vuông và sản phẩm hình chữ nhật khi cả hai đều có 4 đỉnh?
Sau khi xác định vật thể có 4 đỉnh bằng thuật toán Douglas-Peucker, hệ thống tính độ dài hai cạnh kề nhau ($AB$ và $BC$) theo công thức khoảng cách Euclid giữa các tọa độ đỉnh. Nếu hai cạnh kề bằng nhau ($AB = BC$), đối tượng được phân loại là hình vuông; nếu hai cạnh kề có độ dài khác nhau ($AB \neq BC$), đối tượng được phân loại là hình chữ nhật.

4. Vì sao tác giả chọn laptop có vi xử lý Core i5 thay vì sử dụng vi điều khiển thông thường để xử lý hệ thống?
Do các tác vụ xử lý ảnh lập thể (Stereo Vision), trích xuất đặc trưng và tính toán ma trận ảnh đòi hỏi tài nguyên tính toán lớn và tốc độ xử lý cao mà các dòng vi điều khiển thông thường không đáp ứng được, tác giả sử dụng laptop có CPU Intel Core i5 tốc độ lên tới 3.4 GHz làm khối xử lý trung tâm.

5. Hệ thống đã nhận dạng được những hình dạng nào và giới hạn lớn nhất khi nhận dạng thực nghiệm là gì?
Hệ thống nhận dạng thành công 3 loại hình dạng cơ bản gồm hình vuông, hình chữ nhật và hình tam giác cùng với kích thước chu vi của chúng. Giới hạn lớn nhất được ghi nhận là hệ thống chưa thể nhận dạng cùng lúc nhiều sản phẩm trong một khung hình và đòi hỏi môi trường chiếu sáng lý tưởng, vật thể có màu sắc tương phản rõ rệt.


Kết luận

Đồ án tốt nghiệp của tác giả Lê Văn Thái đã nghiên cứu và ứng dụng thành công công nghệ thị giác lập thể 3D sử dụng module camera kép OV9750 kết hợp thư viện OpenCV trên nền tảng Python để phân loại sản phẩm. Hệ thống đã giải quyết hoàn chỉnh chuỗi thuật toán từ tiền xử lý, lọc nhiễu, tách biên Canny, lấp đầy biên đến xấp xỉ đa giác Ramer-Douglas-Peucker nhằm nhận dạng chính xác các hình dạng cơ bản (vuông, chữ nhật, tam giác) và tính toán kích thước hình học thực tế. Mặc dù còn một số hạn chế về khả năng nhận dạng đồng thời đa đối tượng và mức độ phụ thuộc vào điều kiện chiếu sáng, đề tài đã xây dựng được mô hình thực nghiệm hoàn chỉnh, tạo tiền đề kỹ thuật vững chắc cho việc tích hợp vào các dây chuyền phân loại tự động trong công nghiệp.