Đối với tất cả các ngôn ngữ, cú pháp là vơ cùng quan trọng. Nó phản ánh cách tư duy của người bản ngữ. Nắm được từ nhưng không nắm được ngữ pháp của một ngơn ngữ cũng khó lịng có thể hiểu nhau trong giao tiếp. Đây là một vấn đề rất đáng quan tâm trong việc dạy, học và thơng dịch ngoại ngữ nói chung và ngơn ngữ kí hiệu nói riêng. Cấu trúc ngơn ngữ ký hiệu vửa mang tính giản lược vừa mang tính nhấn mạnh. Do đó, để có thể nhận dạng NNKH và chuyển dịch sang ngơn ngữ nói thì hai đặc trưng giản lược và nhấn mạnh của NNKH thật sự rất quan trọng. Nếu hai đặc trưng này không được thoả mãn thì việc chuyển dịch từ NNKH sang ngơn ngữ nói dễ sai lầm.
Chương 3: NHẬN DẠNG NGÔN NGỮ KÝ HIỆU
DỰA TRÊN XỬ LÝ ẢNH
Như đã trình bày ở chương hai, hai yếu tố để hiểu được ngôn ngữ ký hiệu là nắm bắt được tư thế, cử chỉ của hai cánh tay, bàn tay và biểu hiện của khn mặt. Chương ba trình bày giải thuật để nhận dạng được tư thế, cử chỉ của hai cánh tay và bàn tay. Dữ liệu thơng tin về vị trí và cử chỉ của hai tay và bàn tay được thu nhận về nhờ camera cảm biến chiều sâu. Các thông tin của đối tượng về vị trí theo 2 phương x và phương y, đồng thời thông tin về khoảng cách theo phương z được dùng để tính tốn nhận dạng và truy bắt vị trí bàn tay, sau đó tính tốn để nội suy ra cử chỉ của bàn tay.
3.1 Nguyên lý hoạt động camera cảm biến chiều sâu
Thế giới vật lý xung quanh chúng ta là một khơng gian ba chiều. Vì thế các camera và cảm biến ảnh truyền thống chỉ thu được hình ảnh 2 chiều theo phương xy và bỏ qua thông tin về chiều sâu theo phương z. Đây là giới hạn rất lớn để có thể hiểu được đối tượng trong thế giới thực. Vì vậy để có thể nắm bắt được đối tượng cách đầy đủ thì các thơng tin của đối tượng theo cả ba phương x, y và z phải được thu nhận. Để có thể thu nhận được thông tin trong không gian ba chiều như thế, loại cảm biến được dùng là cảm biến chiều sâu. Cấu trúc của cảm biến chiều sâu gồm một camera Infra-Red (IR) và bộ phát xạ IR (IR emitter positioned). Giữa chúng có một khoảng cách cố định. Nguyên lý hoạt động của cảm biến chiều sâu là một mẫu phát xạ được định nghĩa bởi bộ phận phát xạ IR và hình ảnh thu được của nó được định dạng bởi một camera IR. Bộ phận xử lý so sánh mẫu gốc và hình ảnh phản hồi và xác định được biến đổi cơ bản giữa cả hai mẫu. [8]
Nguyên lý hoạt động của cảm biến chiều sâu dựa trên công nghệ ánh sáng cấu trúc (structured light). Tại mỗi điểm của đối tượng sẽ được biểu diễn theo 3 chiều xyz. Nếu bề mặt của đối tượng khơng phẳng, thì nó sẽ được mơ tả trong một khơng gian 3 chiều, và vấn đề xứ lý hình ảnh của nó được gọi là chụp ảnh bề mặt 3 chiều.
Kết quả thu được được xem như là một bản đồ chiều sâu theo phương z. Trong đó z là hàm vị trí theo xy trong hệ trục Decartes. Nó được diễn ta dưới dạng ma trận
{zij =(xi,yj,), i = 1,2,…,l, j=1,2,…m}.
Hệ thống chụp ảnh bề mặt 3 chiều có thể thu nhận được những giá trị vơ hướng. Kết quả là một đám mây điểm {P = (xi,yi,zz,fi), i=1,2,…n}, trong đó, fi thể hiện giá trị tại điểm bề mặt thứ i trên dữ liệu thiết lập. Cách khác, một hình ảnh bề mặt có màu sắc được thể hiện bẳng {P = (xi,yi,zz,ri,gi,bi), i=1,2,…n}, trong đó véc tơ (ri,gi,bi) thể hiện màu đỏ, lục và màu lam tại điểm i trên bề mặt thứ. Một nguyên lý của phương pháp chụp ảnh bề mặt 3 chiều dựa trên ứng dụng ánh sáng cấu trúc.
Hình 3.1: Hoạt động của của camera chiều sâu
Trên hình 3.1 ánh sáng dùng để chiếu được cấu trúc cách đặc biệt được tạo ra bởi bộ phận phát xạ. Cường độ tại mỗi điểm ảnh trên mẫu ánh sáng cấu trúc được thể hiện bởi tính hệ số { iij = (i,j) , i = 1,2,…,i, j = 1,2,…j}. Trong đó (i, j) thể hiện toạ độ trục (x, y) trên mẫu được chiếu sáng.
Một cảm biến hình ảnh (chẳng hạn video camera) được dùng để thu nhận ảnh 2D của khung ảnh được chiếu sáng bởi ánh sáng cấu trúc. Nếu khung ảnh này là một bề mặt phẳng thì khơng có sự biến đổi trên bề mặt. Mẫu thu được đơn giản là mẫu được ánh sáng cấu trúc chiếu vào. Tuy nhiên, khi bề mặt của khung là mặt 3D, thì hình dạng của đối tượng sẽ làm biến dạng mẫu ánh sáng cấu trúc chiếu tới. Nguyên
lý thu ảnh 3D của bề mặt được chiếu ánh sáng dựa trên chính thơng tin về sự biến dạng của mẫu ánh sáng cấu trúc được chiếu lên đối tượng. Bề mặt 3D chính xác của đối tượng trong khung chiếu có thể được tính tốn bởi thuật tốn và ngun lý của các biến ánh sáng cấu trúc.
Trong hình 3.1, mối quan hệ hình học giữa cảm biến ảnh, bộ phát ánh sáng cấu trúc và tại một điểm trên bề mặt đối tượng được được thể hiện bởi nguyên lý tam giác:
= sin ( )
sin ( + )
Điều chính yếu cho việc thu nhận ảnh 3D dựa trên nguyên lý tam giác là kỹ thuật được dùng để phân biệt một điểm sáng được chiếu từ ảnh thu được với mẫu chiếu 2D. Mơ hình tính tốn cơ bản của ngun lý tam giác được thể hiện ở hình 3.2.
Hình 3.2: Mơ hình tính tốn cơ bản của ngun lý tam giác
Trong đó:
Z0 là khoảng cách từ camera C đến mặt phặng tham chiếu. Zk là khoảng cách từ mặt kính camera đến đối tượng. b là khoảng cách giữa bộ phát xạ và camera; d là
(3.2)
Mặt phẳng tham chiếu Mặt phẳng đối tượng
Mặt phẳng ảnh
độ khác biệt. f là khoảng cách từ mặt phẳng ảnh đến mặt kính của camera, D kích thước chum sáng chiếu lên đối tượng. Toạ độ của điểm k được tính như sau:
= − = = 1 + = − ( − + ) = − ( − + )
Dữ liệu từ cảm biến chiều sâu cung cấp chuỗi thông tin về chiều sâu theo trục z. Dữ liệu chiều sâu được thể hiện như một khung ảnh được tạo bởi các điểm ảnh bao gồm khoảng cách tính bằng mm từ mặt phẳng camera đến đối tượng gần nhất được minh hoạ ở hình 3.3.
Hình 3.3: Dữ liệu chiều sâu được tính bằng khoảng cách từ cảm biến đến đối tượng.
(3.3) (3.4) (3.5) (3.6) (3.7) Z1 Z2 Đối tượng Cảm biến
3.2 Nhận dạng bàn tay dựa trên thông tin về chiều sâu
Phương pháp nhận dạng đối tượng là bàn tay dựa trên thơng tin về chiều sâu có thể phân làm hai loại: dựa trên mô hinh hoặc dựa trên chuyển động. Phương pháp truy bắt đối tượng dựa trên mơ hình sử dụng mơ hình khung xương 3D vừa khớp với bàn tay. Phương pháp truy bắt đối tượng dựa trên chuyển động sử dụng chuyển động của bàn tay trong khơng gian chiều sâu.
Để có thể nhận dạng được bàn tay trước tiên cần hiểu được câu trúc các khớp của bàn tay. Các ngón tay được kết nối với nhau bởi các khớp nối có một hoặc nhiều bậc tự do. Hình 3.4 biểu diễn các khớp nối cùng số bậc tự do tương ứng tạo thành tổng cộng 26 bậc tự do của bàn tay. Trong đó, cổ tay có 6 bậc tự do với 3 bậc tự do cho chuyển động tịnh tiến trong không gian và 3 bậc tự do cho chuyển động xoay quanh các trục. Năm ngón tay mỗi ngón có 4 bậc tự do với 2 bậc cho khớp gốc ngón tay (gập/ngửa và khép/mở) và 1 bậc cho mỗi khớp cịn lại.
Hình 3.4: Mơ hình động học của bàn tay.
Với cách biểu diễn như vậy, động học của mỗi ngón tay được xác định bởi một vector gồm 4 tham số góc: Trong đó , là hai góc quay của khớp gốc,
là góc quay của khớp giữa và là góc quay của khớp đỉnh.
Tương tự, vị trí và hướng của bàn tay được xác định qua cổ tay bởi vectơ gồm 6 tham số:
= ( , , , , , )
Trong đó , , là tọa độ của cổ tay trong không gian và , , là hướng của bàn tay quay quanh các trục tương ứng. Như vậy, tư thế của bàn tay hoàn tồn xác định khi biết 26 tham số góc:
ℎ = ( , ), = 1,2, … ,5
Trong phương pháp truy bắt đối tượng dựa trên chuyển động, phương pháp này tìm kiếm những chuyển động nguyên thuỷ từ những ảnh tích luỹ dựa trên dữ liệu 3D. Nó phát hiện ra chuyển động bằng cách sử dụng giá trị chiều sâu được so sánh với dữ liệu ảnh chiều sâu trước và ảnh chiều sâu sau. Giá trị khác biệt giữa những khung ảnh được tích luỹ dùng trong việc truy bắt chuyển động.
Như thế, thông tin chủ yếu được sử dụng để nhận dạng bàn tay là thơng tin về chiều sâu. Hình ảnh thu được từ camera màu bình thường bị ảnh hưởng nhiều bởi điều kiện chiếu sáng. Trong khi đó, ảnh thu được từ cảm biến chiều sâu không bị ảnh hưởng bởi điều kiện chiếu sang. Để nhận dạng được vị trí, cử chỉ của cánh tay và bàn tay, tất cả các dữ liệu mà cảm biến thu nhận được trong không gian ba chiều được sử dụng để tính tồn phát hiện ra vị trí cũng như cử chỉ của cánh tay và bàn tay. Ngoài hai thơng tin theo phương x và y, cịn có thơng tin theo phương z, từ đó có thể nhận biết cách chính xác vị trí của tay và bàn tay trong khơng gian. Những đặc điểm của camera cảm biến chiều sâu sẽ đưởc trình bày rõ ràng hơn khi so sánh với dữ liệu thu nhận được nhờ vào camera thông thường. Bảng 3.1 dưới đây so sánh ưu điểm và nhược điểm của hai loại thông tin thu nhận được từ camera ảnh bình thường và cảm biến chiều sâu.
(3.9)
Thông tin màu sắc Thông tin chiều sâu Ưu điểm Dễ phát hiện những đặc tính
Phương pháp không xâm lấn
Ổn định trước sự thay đổi của ánh sáng
Nhận được giá trị thật về chiều sâu
Non-intrusive method Nhược điểm ảnh hưởng nhiều dưới các điều
kiện ánh sáng
Khó tìm ra những đặc tính riêng Nhiễu nhiều đặc biệt ở biên đối tượng
Bảng 3.1 : So sánh ưu nhược điểm của hai loại thông tin thu được từ camera ảnh bình thường và thơng tin thu được từ cảm biến chiều sâu.
3.3 Giải thuật nhận dạng
Hình 3.5 trình bày giải thuật để nhận dạng và truy bắt bàn tay. Trước tiên, thông tin về chiều sâu của đối tượng được thu nhận nhờ vào dữ liệu thu được từ camera chiều sâu, và tạo ảnh chuyển động từ những ảnh tích luỹ sự khác biệt giữa các ảnh chiều sâu. Sau đó làm giảm nhiễu bằng bộ loc spatial và morphological operation. Phương pháp phân nhóm chuyển động được sử dụng để tìm kiếm các cụm chuyển động. Sau đó, bàn tay sẽ được nhận dạng từ những cụm chuyển động với chuyển động sóng (wave motion). Cuối dùng, sau khi đã nhận dạng được bàn tay, bộ lọc Kalman sẽ được áp dụng để truy bắt bàn tay.
Ảnh được thu nhận từ cảm biến chiều sâu thường bị nhiễu do sự phản xạ. Đôi lúc, những nhiễu này lại được nhận dạng như những thông tin về chuyển động. Vì vậy, việc khử nhiễu thật sự cần thiết trước khi tiến hành nhận dạng. Phần tiền xử lý bao gồm thuật tốn để phân nhóm cho việc nhận dạng bàn tay ở vị trí ban đầu.
a. Khử nhiễu
Việc khử nhiễu đươc thực hiện nhờ vào việc sử dụng bộ lọc spatial và morphological processing. Khi phương pháp khử nhiễu được áp dụng thì các chuyển
(3.11)
(3.12) động thật sự trở nên rõ ràng hơn. Bộ lọc trung vị với kích thước mở 5x5 được dùng cho bộ lọc không gian. Bộ lọc trung vị thay đổi giá trị của các điểm ảnh với giá trị trung bình của các phần nhỏ của ảnh. Bộ lọc trung vị cung cấp các việc khử nhiễu cách hiểu quả mà không làm mờ ảnh. Những mẫu nhiễu của ảnh chuyển động thường là dạng chấm đen trắng, nên bộ lọc trung vị rất hiệu quả khi áp dụng để khử nhiễu. Ngoài việc dung bộ lọc spatial, việc khử nhiễu được tăng cường nhờ vào sử dụng bộ morphology processing. Các hiệu ứng cơ bản của các hoạt động mở là giảm bóng bên ngồi của đối tượng bằng các làm giảm bớt và mở rộng biên ngoài. Cách tổng quát, phương pháp này là làm mịn bên ngoài, tách các vùng có kích thước nhỏ hẹp và loại bỏ các phần có chu vi nhỏ. Vì thế, các hoạt động mở rộng này khử đi các nhiễu được tao ra cách ngẫu nhiên và làm mịn ảnh gốc. Việc giãn nở ngược lại với hoạt động bào mịn. Nó gắn các lớp lên đối tượng và trả lại kích thước nguyên thuỷ của đối tượng. Những hoạt động này có hiệu quả rất cao trong việc khử nhiễu trong ảnh chiều sâu.
b. Phân nhóm chuyển động
Để phân nhóm chuyển động, trước tiên, chúng ta lựa chọn kết nối với các thành phần của ảnh chuyển động, sau đó các phần kết nối được tập hợp lại. Những nhóm này có thể là là ảnh của bàn tay. Các nhóm được chọn có thể là chuyển động thật sự hay cũng có thể là nhiễu. Những nhóm là nhiễu thưởng nhỏ hoặc phân đoạn. Vì thế, nếu kích thước nhỏ hơn ngưỡng xác lập, chúng ta có thể khẳng định đó là nhiễu và loại bỏ đi.
Để xác định ngưỡng kích thước, luân văn sử dụng phương pháp đa thức hồi quy. Đầu tiên, chúng ta có được kích thước của một bàn tay từ khoảng cách 60cm đến 750cm là khoảng 10cm. Với dữ liệu thu được kích thước bàn tay, chúng ta sử dụng phương pháp đa thức hồi quy để gắn một đường cong phù hợp với dữ liệu. Chúng ta dùng mơ hình đa thức bậc 5 để diễn tả.
( , ) = ( )
Trong đó:
(3.13)
(3.14)
(3.15) Và:
( ) = [1 ]
Bởi vì mơ hình đa thức bậc 3 đủ để mơ hình hố dữ liệu. Với m điểm dữ liệu, chúng ta sử dụng phương pháp bình phương nhỏ nhất để giảm thiểu sai số bằng cách dùng phương trình:
( , ) = [ − ( , )] = [ = ] [ − ]
Trong đó: = [ , … , ] là dữ liệu đã biết nhờ kích thước bàn tay.
Ma trận p là ma trận Jacobi : = 1 ⋮ ⋮ ⋮ 1 ⋮ ⋮ ⋮
Sau đó, chúng ta có thể tìm đường cong phù hợp với dữ liệu kích thước bàn tay với phương trình: = .
Hình 3.5: Sơ đồ giải thuật truy bắt bàn tay
Cảm biến chiều sâu (Kinect)
Dữ liệu đối tượng trong không gian.
Khởi tạo biến, tiền xử lý Phát hiện các khớp của bàn tay Nhận diện bàn tay Tìm các khớp bàn tay Nhận dạng cử chỉ bàn tay Định nghĩa cử chỉ
Quá trình nhận dạng bắt đầu bằng việc khởi tạo biến nhẳm thu nhận chuỗi dữ liệu từ cảm biến chiều sâu. Các thiết lập này nhằm xác định nguồn thông tin cần thu nhận đó là toạ độ của các khớp trong không gian ba chiều. Các dữ liệu này sẽ được sử dụng để tìm kiếm phát hiện các khớp của bàn tay. Đây là một bước rất quan trọng trong quá trình nhận dạng. Bởi vì, việc nhận dạng và truy bắt vị trí và cử chỉ của bàn tay có chính xác hay khơng phụ thuộc vào việc tìm kiếm khớp tay cơ sở, từ đó tính tốn để tìm kiếm các khớp của các ngón tay. Q trình này được thực hiện thông qua việc sử dụng nguồn thư viện mở SDK của Microsoft.
Việc tìm kiếm các khớp bàn tay là quá trình tìm kiếm toạ độ của khớp trong khơng gian ba chiều với kích thước xyz. Vì thế, chúng ta thiết lập trạng thái với kích thước 3 chiều:
=
Trong đó, sx và sy thể hiện vị trí điểm ảnh, sz thể hiện giá trị điểm ảnh theo
chiều sâu. Trạng thái 3D có thể được ược lượng chính xác vị trí bàn tay. Từ đó, chúng ta dùng véc-tơ 3 chiều như là vận tốc của mỗi trục:
=
Khi đó, kích thước theo trục z, chúng ta dùng trạng thái kích thước tương tự:
=
Những véc tơ này là thiết lập ban đầu cho bộ lọc Kalman. Bộ lọc Kalman cần nhận dạng bàn tay trong suốt quá trình truy bắt. Trước tiên, chúng ta định nghĩa điểm tham chiếu của bàn tay. Điểm này đươc xem như là trung tâm của hình trịn bắt với