Nội dung chính cần giải quyết của đề tài bao gồm: - Nghiên cứu, tìm hiểu về robot 914 PC-BOT - Nghiên cứu, tìm hiểu bài toán thông minh hóa robot và các yếu tố đặc thù - Xây dựng các mô
Trang 1-
LUẬN VĂN THẠC SĨ KHOA HỌC
NGHIÊN CỨU, PHÁT TRIỂN CÁC API PHỤC VỤ BÀI TOÁN
THÔNG MINH HÓA ROBOT
NGÀNH: ĐO LƯỜNG VÀ CÁC HỆ THỐNG ĐIỀU KHIỂN
MÃ SỐ :
HỌC VIÊN: NGUYỄN NGỌC TUYẾN
Người hướng dẫn khoa học: PGS.TS PHẠM THỊ NGỌC YẾN
HÀ NỘI 2010
Trang 2Mục lục
Mục lục 1
Danh mục hình vẽ 4
Danh mục bảng biểu 6
Mở đầu 7
Chương 1: Giới thiệu về robot 914 PC-BOT 9
1.1 Cấu hình của robot 914 PC-BOT 9
1.1.1 Phần đầu robot 10
1.1.2 Phần thân robot 10
1.1.3 Phần chân đế robot 11
1.2 Các module của robot 11
1.2.1 Khối xử lý trung tâm 12
1.2.2 Khối điều khiển trung tâm M3 (Machine Management Module) 12
1.2.3 Cơ cấu chấp hành 15
1.2.4 Khối thu thập dữ liệu 15
Chương 2: Tổng quan về bài toán thông minh hóa robot 17
2.1 Giới thiệu về robot thông minh 17
2.1.1 Khái niệm về robot thông minh 17
2.1.2 Đặc thù của bài toán thông minh hóa robot 17
2.2 Tương tác người-máy 18
2.2.1 Tương tác người-máy bằng tiếng nói 18
2.2.2 Tương tác người-máy bằng cử chỉ 22
2.2.3 Tương tác người-máy qua tiếp xúc 25
2.2.4 Tương tác người-máy qua biểu cảm nét mặt 25
2.2.5 Tương tác người-máy đa phương thức 32
2.2.5.1 Khái niệm tương tác đa phương thức 32
2.2.5.2 Giới thiệu một số hệ thống đa phương thức 34
2.2.5.3 Các vấn đề quan trọng trong hệ thống đa phương thức 38
Trang 32.2.5.3.1 Biểu diễn của không gian và thời gian 38
2.2.5.3.2 Yếu tố thời gian 39
2.2.5.3.3 Yếu tố không gian 40
2.2.5.4 Tương tác đa phương thức kết hợp tiếng nói và cử chỉ 41
2.2.5.5 Tương tác đa phương thức kết hợp biểu cảm nét mặt và nhận dạng tiếng nói 44
Chương 3: Các yếu tố đặc thù trong giao tiếp người – robot 47
3.1 Khái niệm bài toán giao tiếp người – robot 47
3.1.1 Hướng tiếp cận 48
3.1.2 Giao tiếp giữa người với người 49
3.1.3 Giao tiếp người – robot 49
3.2 Những vấn đề chính trong giao tiếp người – máy 51
3.2.1 Mức độ tự trị và hành vi của robot 52
3.2.1.1 Mức độ tự trị của robot 52
3.2.1.2 Hành vi của robot 54
3.2.2 Trao đổi thông tin 55
Chương 4: Mô hình tương tác người-robot 57
4.1 Mô-đun tương tác đa phương thức 57
4.2 Mô-đun tương tác nhận thức 59
4.3 Mô-đun tương tác cảm xúc 62
4.4 Tương tác giữa các mô-đun bổ sung 64
4.4.1 Tương tác qua lại giữa mô-đun tương tác nhận thức và mô-đun tương tác đa phương thức 64
4.4.2 Tương tác qua lại giữa mô-đun tương tác cảm xúc và mô-đun tương tác đa hình thức 64
4.4.3 Tương tác qua lại giữa mô-đun tương tác cảm xúc và mô-đun tương tác nhận thức 64
Chương 5: Kịch bản robot và xây dựng các API 67
5.1 Giao diện chương trình 68
Trang 45.2 Kịch bản tương tác với robot 68
5.3 Kết nối với robot từ máy tính PC 70
5.4 Chức năng thao tác với Camera tích hợp 70
5.5 Chức năng hiển thị thông tin thời tiết 71
5.6 Chức năng xem tin tức 72
Chương 6: Kết luận và hướng phát triển của đề tài 74
6.1 Kết luận 74
6.2 Hướng phát triển của đề tài 75
Tài liệu tham khảo 76
Phụ lục 78
Phần 1: Giới thiệu về IROBI – Q 78
1 iRobi Q một robot mạng 78
2 Các khối chức năng của iRobi Q 80
Phần 2: So sánh giữa 914 PC-Bot và iRobi-Q 84
Trang 5Danh mục hình vẽ
Hình 1.1: Hình ảnh robot 914 PC-BOT 9
Hình 1.2: Phần đầu của robot 10
Hình 1.3: Phần thân robot 10
Hình 1.4: Sơ đồ hoạt động của robot 11
Hình 1.5: IO board 13
Hình 1.6: Bảng mạch in (PCB) của M3 và IOboard 14
Hình 1.7.a: 3 IR Sensor ở thân Robot 16
Hình 1.7.b: 5 IR sensor ở chân robot 16
Hình 2.1: Sơ đồ giao diện tương tác bằng tiếng nói 19
Hình 2.2: Mô hình bộ nhận dạng, tổng hợp tiếng nói 20
Hình 2.3: Các phần tử cơ bản của hệ thống nhận dạng tiếng nói 21
Hình 2.4: Thiết bị nhận dạng cử chỉ “The CyberGlove” 24
Hình 2.5: Các điểm đặc trưng trên khuôn mặt 28
Hình 2.6: Các đặc trưng và khoảng cách trên khuôn mặt 29
Hình 2.7 : Một số đặc trưng về góc và khoảng cách của khuôn mặt 31
Hình 2.8 : Hệ thống Put-That-There 34
Hình 2.9 : Sơ đồ hệ thống xử lý đầu vào của HCWP 35
Hình 2.10 : Hệ thống hội thảo audio/video ở trung tâm CAIP 36
Hình 2.11 : Bố cục 3 chiều lắp đặt hệ thống microphone trong phòng hội thảo 37
Hình 2.12 : Hệ số SNR tương ứng với vị trí nguồn âm khác nhau 37
Hình 2.13 : Hai ngữ cảnh có cùng thứ tự và thời gian xuất hiện 39
Hình 2.14 : Giao diện tương tác đa phương thức tiếng nói và cử chỉ 42
Hình 3.1: Mô hình AI và HRI 48
Hình 3.2: Quan hệ tương tác giữa người và robot 48
Hình 3.3 : Mức độ tự trị với sự nhấn mạnh trong tương tác với con người 53
Trang 6Hình 3.4 : Một số hình thức trao đổi thông tin với con người của robot 56
Hình 4.1: Các mô đun con của mô đun tương tác người-robot đa phương thức 59
Hình 4.2: Mô hình nhận thức trong tương tác người robot .60
Hình 4.3: Mô-đun tương tác nhận thức .61
Hình 4.4: Mô hình tương tác người – robot đầy đủ 66
Hình 5.1: Giao diện chương trình 68
Hình 5.2: Hội thoại người-robot 69
Hình 5.3: Kết nối robot từ máy tính 70
Hình 5.4: Thao tác với camera 71
Hình 5.5: Lựa chọn ngày xem thông tin thời tiết 71
Hình 5.6: Hiển thị thông tin thời tiết 72
Hình 5.7: Lựa chọn ngày xem tin tức 72
Hình 5.8: Giao diện xem thông tin thời sự 73
Hình PL.1: Hình ảnh về iRobi-Q 78
Hình PL.2: Các môi trường làm việc của Irobi-Q 79
Hình PL.3: Các ứng dụng của iRobi-Q 79
Hình PL.4: Các khối chức năng của iRobi – Q 80
Hình PL.5: Hệ thống sensor của iRobi 82
Hình PL.6: màn hình trước ngực iRobi-Q 83
Trang 7Danh mục bảng biểu
Bảng 2.1: Trạng thái của tham số và loại cảm xúc 27
Bảng 2.2: Bảng logic cho mỗi tham số và loại cảm xúc 28
Bảng 2.3: Kết quả thống kê và giá trị ngưỡng tách các trạng thái, khoảng cách D4 30
Bảng 2.4 : Bảng thể hiện trạng thái biểu cảm theo trạng thái của các tham số 30
Bảng 2.5: Phần trăm thành công nhận dạng của các phương pháp 31
Bảng PL.1: So sánh 914PC-BOT và IrobiQ 84
Trang 8Mở đầu
Trong những năm gần đây robot là đề tài được nhiều nhà nghiên cứu và ứng dụng quan tâm Ngoài việc ứng dụng robot trong công nghiệp truyền thống, có rất nhiều nghiên cứu và ứng dụng robot trong các hoạt động xã hội Một phân mảng về robot xã hội ra đời phục vụ cho nhu cầu của con người, những khái niệm về robot thông minh, thông minh hóa robot xuất hiện ngày càng nhiều và dành được nhiều sự quan tâm của các nhà nghiên cứu và ứng dụng Xu hướng phát triển robot hiện đại không chỉ dừng lại ở việc robot có khả năng thực hiện các yêu cầu, công việc con người yêu cầu mà còn có thể tồn tại song hành, “ngang hàng” với con người, giao tiếp với con người để cùng hoàn thành nhiệm vụ nào đó Điều này dẫn tới một vấn
đề cần giải quyết đó là làm sao để robot có thể tương tác được và hiểu được con người, và ngược lại con người hiểu được robot đang muốn nói gì Xuất phát từ nhu cầu và xu hướng phát triển trong lĩnh vực robot em quyết định chọn đề tài nghiên
cứu là: “Nghiên cứu phát triển các API (giao diện dùng cho lập trình ứng dụng)
phục vụ cho bài toán thông minh hóa robot”
Đến những năm 1940 mới xuất hiện robot do nhu cầu phát sinh từ công nghiệp lắp ráp khi mà đòi hỏi tốc độ, độ chính xác và tin cậy Cho đến nay, lĩnh vực
tự động hóa và công nghiệp lắp ráp vẫn là thành công lớn nhất của việc ứng dụng robot Tới năm 1950 thì khái niệm robot thông minh mới được hình thành, tuy nhiên mãi tới những năm 1970 thì robot thông minh mới thực sự bắt đầu được nghiên cứu và thực thi Giao tiếp giữa robot và người cần dựa trên nền tảng cách thức giao tiếp giữa người với người Do đó, đòi hỏi các giao thức phải đa dạng, bao gồm: chữ viết, cử chỉ, hình ảnh, tiếng nói, ngữ điệu và sự kết hợp giữa các giao thức
đó Những thành tựu trong việc nghiên cứu các giao thức độc lập đã đạt được nhiều kết quả tốt và đã được ứng dụng nhiều trong cuộc sống hằng ngày Tuy nhiên, việc kết hợp hệ thống tương tác của nhiều phương thức đang gặp phải không ít khó khăn Việc làm sao xây dựng được một giao thức tương tác đa phương thức người-robot đơn giản mà hiệu quả nhất vẫn đang là một thách thức với các nhà nghiên cứu, ứng
Trang 9dụng Hiện nay trên thế giới đã xuất hiện những robot tương tác với người phục vụ cho các ứng dụng chủ yếu như: hướng dẫn viên du lịch, trợ giúp việc nhà, hướng dẫn viên trong các hoạt động bảo tàng, phòng trưng bày, cuộc triển lãm Kèm theo các công nghệ trợ giúp khác như PDA, màn hình tương tác việc sử dụng các robot trong các ứng dụng xã hội ngày càng phát triển
Mục tiêu chính của đề tài là xây dựng giao thức tương tác người-robot, thiết
kế và tích hợp các giao diện vào robot 914 PC-BOT Nội dung chính cần giải quyết của đề tài bao gồm:
- Nghiên cứu, tìm hiểu về robot 914 PC-BOT
- Nghiên cứu, tìm hiểu bài toán thông minh hóa robot và các yếu tố đặc thù
- Xây dựng các mô hình tương tác người-robot
- Đề xuất các giao thức tương tác người-robot
- Thiết kế các module truyền thông trao đổi thông tin giữa người-robot
- Ghép nối các API vào robot
Trong quá trình thực hiện đề tài em đã gặp một số khó khăn như: xác định hướng tiếp cận của đề tài nhất là khi vấn đề cần giải quyết của đề tài là khá mới, tìm kiếm các nguồn tài liệu nghiên cứu, và đặc biệt là việc có được robot và triển khai thử nghiệm trên robot Tuy nhiên được sự giúp đỡ, chỉ bảo tận tình của
PGS.TS Phạm Thị Ngọc Yến đề tài đã đạt được một số kết quả nhất định Em xin
chân thành cám ơn Cô
Em xin trân trọng cám ơn chị Lê Ngọc Thúy, trung tâm Nghiên cứu Quốc tế
về Thông tin đa phương tiện, Truyền thông và Ứng dụng MICA, đã tạo điều kiện và giúp đỡ tận tình trong quá trình nghiên cứu và triển khai cụ thể trên robot
Hà Nội, ngày 28 tháng 10 năm 2010
Học viên
Nguyễn Ngọc Tuyến
Trang 10Chương 1: Giới thiệu về robot 914 PC-BOT
1.1 Cấu hình của robot 914 PC-BOT
Tổ chức không gian của robot có thể chia làm 3 phần chính:
- Phần đầu robot
- Phần thân robot
- Phần chân đế robot
Hình 1.1: Hình ảnh robot 914 PC-BOT
Trang 111.1.1 Phần đầu robot
Thành phần chính: Logitech web camera, đèn LED siêu sáng (ultra bright LED headlights), Wireless USB Network Adapter, hệ truyền động
Hình 1.2: Phần đầu của robot
Phần đầu có thể di chuyển ở bất kỳ góc độ nào: nâng lên, hạ xuống, quay tròn Camera có thể truy nhập qua web với cổng kết nối USB và LAN- TCP/IP Camera có thể quay tròn giúp robot có khả năng nhìn xung quanh mà không cần di chuyển hay quay cả cơ thể
1.1.2 Phần thân robot
Hình 1.3: Phần thân robot
Trang 12Phần thân được tổ chức thành các khoang Hai khoang rộng nằm hai bên và các khoang nhỏ kích thước chuẩn 5.25’’ nằm ở giữa Khoang rộng dùng để chứa nguồn nuôi (2 bộ nguồn M2-ATX) và mainboard cho robot Các khoang kích thước chuẩn chứa các phần tử khác của robot như: sensor, CD-ROM/DVD, HDD, loa, và cho mục đích mở rộng
1.1.3 Phần chân đế robot
Gồm mạch điều khiển M3 (Machine Management Module), 2 động cơ bước,
cơ cấu bánh xe, 5 cảm biến hồng ngoại giúp robot có khả năng định vị
1.2 Các module của robot
Mô hình hoạt động của robot có thể được minh họa như hình dưới đây:
Hình 1.4: Sơ đồ hoạt động của robot
Trang 13Có thể phân chia sự hoạt động của robot thành 4 khối chính:
- Khối xử lý trung tâm – Host computer
- Khối điều khiển trung tâm - M3 ( Machine Management Module)
- Khối chấp hành – Belt & Wheel và Speakers
- Khối Thu thập dữ liệu – IR sensors , Camera, Microphone
1.2.1 Khối xử lý trung tâm
Cấu hình của khối xử lý trung tâm như sau:
- iGoLogic i3899 Mini-ITX motherboard Thông tin chi tiết về việc hỗ trợ của main board này có thể tìm thấy ở các datasheet trên trang chủ của iGologic
- Bộ xử lý intel Core 2 DUO 2 GHz
- 1 Gbyte, PC3200 DDR 400MHz DIMM ( Có thể upgrade lên 2x1 GB DDR 667MHz)
- 80 GB Sata hard drive
- Hệ điều hành: Windows hoặc Linux
Cung cấp sức mạnh xử lý và lưu trữ các dữ liệu đa phương tiện, và có thể nâng cấp dễ dàng
Trên mỗi hệ điều hành đều có cung cấp các môi trường phát triển Trên Windows với khá nhiều phần mềm như BRAIN, Microsoft Robotic Studio hay là Visual Studio vì 914 PC-BOT đã hỗ trợ dot.Net Ngoài ra trên một số diễn đàn đã
có những chương trình phát triển với java hay C++ Đối với các phiên bản cài hệ điều hành Linux ( Ubuntu) thì có công cụ phát triển là Players
1.2.2 Khối điều khiển trung tâm M3 (Machine Management Module)
Hạt nhân của khối này là 2 vi điều khiển CM3410 của hãng Power machine device Bên cạnh đó là mạch điều khiển động cơ và mạch giao tiếp
Trang 14Nhiệm vụ của khối M3 là nhận tín hiệu thiết lập từ Host Computer (qua cổng USB), tín hiệu từ các cảm biến hồng ngoại (qua mạch giao tiếp) và thực hiện tất cả công việc liên quan đến chuyển động như điều khiển 2 động cơ bước
Phần giao tiếp của M3 gồm 8 cổng vào tương tự (Analog_In1 Analog_In8) dùng để nhận tín hiệu từ 8 cảm biến hồng ngoại, 8 cảm biến này sẽ cho 8 bit dữ liệu sau khi tín hiệu được đi qua một bộ ADC
Ngoài ra còn rất nhiều cổng chưa được sử dụng, nó được thiết kế nhằm mục đích tăng cường khả năng mở rộng kết nối khi cần thiết như 8 cổng vào số và 8 cổng ra
số, 2 cổng USB, 1 cổng IDC 10 chân dùng để kết nối với bo mạch chủ của máy
tính Ngoài ra còn 30 chân Pin Samtec Conn dùng để kết nối với mạch khối điều
khiển M3 Trong thế hệ mới của robot này thì chỉ có một mạch I/O board Interface (thế hệ cũ có 2 cái) vì chỉ cần 1 mạch là đủ đáp ứng các nhu cầu khác nhau Tuy nhiên ta có thể chọn 1 hoặc 2 cái tùy thuộc vào nhu cầu
Hình 1.5: IO board
Trang 15Hình 1.6: Bảng mạch in (PCB) của M3 và IOboard
Trang 161.2.3 Cơ cấu chấp hành
Khối chấp hàng gồm 2 động cơ bước 1 chiều (DC stepper) điều khiển hệ 3 bánh xe Động cơ được điều khiển ở chế độ vi bước bằng vi xử lý chuyên dụng MC3410 Ngoài ra, robot còn có 1 loa được bố trí ở trên đầu và phần thân của robot
1.2.4 Khối thu thập dữ liệu
Khối thu thập dữ liệu bao gồm:
- Một Webcam Camera - Logitech QuickCam Communicate STX được gắn phần đầu của robot, giúp robot thực hiện các chức năng thị giác máy tính
- Microphone thu âm để thực hiện việc nhận dạng giọng nói cũng như cảm xúc qua giọng nói
- 8 sensor hồng ngoại phục vụ cho các bài toán liên quan đến mobile robot như: Định vị vị trí, phát hiện và tránh vật cản 8 sensor này được bố trí thành
Trang 17Hình 1.7.a: 3 IR Sensor ở thân Robot
Hình 1.7.b: 5 IR sensor ở chân robot
Trang 18Chương 2: Tổng quan về bài toán thông minh hóa robot
2.1 Giới thiệu về robot thông minh
2.1.1 Khái niệm về robot thông minh
Robot thực tế có nguồn gốc từ bên trong các nhà máy sản xuất sản phẩm trên dây chuyền lắp ráp, nơi tốc độ, độ chính xác, và độ tin cậy được đặt lên hàng đầu Nhờ đó mà nâng cao được tính đồng nhất của chất lượng sản phẩm, khả năng vận hành suốt ngày đêm Tuy nhiên, chúng khó có thể thay đổi bất kỳ chi tiết nào hay những chức năng lặp đi lặp lại đã được cài đặt ban đầu trong nó và hầu như không
có tác động hay ảnh hưởng nào của con người trong môi trường làm việc của robot
Hiện nay, với sự ra đời của các bộ cảm biến tinh vi, các máy tính rất mạnh,
và sự đa dạng của các thiết bị cơ điện tử các nhà nghiên cứu, các phòng thí nghiệm trên thế giới đang có xu hướng chế tạo các robot có khả năng trao đổi thông tin với con người, phục vụ các công việc hàng ngày của con người Các robot này có những yêu cầu đặc thù khác với các loại robot làm việc trong nhà máy Nó đòi hỏi ít hơn về độ chính xác và tốc độ so với robot công nghiệp nhưng lại yêu cầu cao hơn
về khả năng tương tác với con người Những robot có khả năng tư duy và hành xử gần như con người được gọi là robot thông minh.K
2.1.2 Đặc thù của bài toán thông minh hóa robot
Những robot thông minh được thiết kế để giao tiếp với con người theo cách thức giống giao tiếp giữa người với người Trong giao tiếp hằng ngày của chúng ta ảnh hưởng rất nhiều từ các yếu tố môi trường, văn hóa, tính cách, thói quen,…Do vậy, các robot cũng cần có những kiến thức về xã hội, thế giới xung quanh con người liên quan tới nhiệm vụ cụ thể của robot để có thể phân tích và đưa ra những quyết định chính xác, phù hợp với ngữ cảnh giao tiếp
Ngoài ra, robot là một đối tác giao tiếp của con người nên chúng cần có hình dáng, cử chỉ, hành động giống con người giúp cho quá trình giao tiếp trở nên thân
Trang 19thiện và tự nhiên Nếu một robot có hình dáng, diện mạo như con người thì chắc chắn cuộc đối thoại sẽ trở nên sinh động hơn rất nhiều, con người sẽ không có suy nghĩ rằng mình đang giao tiếp với một cỗ máy không cảm xúc
Giao tiếp giữa robot và người cũng cần dựa trên nền tảng cách thức giao tiếp giữa người với người Do đó, robot đòi hỏi phải có các giao thức cần đa dạng, bao gồm: chữ viết, cử chỉ, hình ảnh, tiếng nói, ngữ điệu và sự kết hợp giữa các giao thức
đó Những thành tựu trong việc nghiên cứu các giao thức độc lập đã đạt được nhiều kết quả tốt và đã được ứng dụng nhiều trong cuộc sống hằng ngày Tuy nhiên, việc kết hợp hệ thống tương tác của nhiều phương thức đang gặp phải không ít khó khăn Một vấn đề nữa cần giải quyết trong bài toán đa phương thức là hệ thống (robot thông minh) còn cần phải có khả năng cài đặt đồng thời nhiều phương thức truyền thông khác nhau (đa phương thức) và cần có sự phối hợp giữa những phương thức này Ví dụ một người giao tiếp với robot và nói “đưa cái này cho người kia” đồng thời chỉ tay vào vật và người nhận vật Như vậy, hệ thống này cần phải có khả năng phân tích, nhận dạng cả tiếng nói, hình ảnh và cử chỉ
2.2 Tương tác người-máy
2.2.1 Tương tác người-máy bằng tiếng nói
Giao tiếp với hệ thống máy tính qua tiếng nói là một chủ đề được các nhà nghiên cứu dành nhiều thời gian và nỗ lực nghiên cứu, phát triển từ cách đây vài chục năm Cho đến nay thì việc tạo ra một hệ thống tương tác bằng tiếng nói sao cho gần như giao tiếp giữa con người với nhau vẫn là một thách thức lớn đối với các nhà nghiên cứu Một hệ thống như thế này cần có khả năng nhận dạng và tổng hợp tiếng nói thích ứng với mọi đối tượng tương tác (không phụ thuộc vào tuổi tác, giới tính, ngôn ngữ,…)
Có thể hiểu nhận dạng tiếng nói là quá trình biến đổi tín hiệu âm học thành một chuỗi các từ ngữ Ngày nay, chúng ta đã có nhiều công cụ toán học, công cụ phần cứng đủ mạnh cải thiện được rất nhiều khả năng nhận dạng tiếng nói của hệ thống Nhiều sản phẩn trước đây chỉ xuất hiện trong các phòng thí nghiệm nay đã
Trang 20được thiết kế với mục đích thương mại hóa Những sản phẩm này có ứng dụng rất lớn trong cuộc sống hàng ngày như: hệ thống quay số điện thoại gọi tự động bằng tiếng nói, hệ thống truy cập dữ liệu tự động bằng tiếng nói, tạo văn bản bằng tiếng nói,…
Hình 2.1: Sơ đồ giao diện tương tác bằng tiếng nói
Cho tới nay, các kết quả đạt được trong việc nhận dạng và tổng hợp tiếng nói
từ một đoạn văn có thể giúp xây dựng được một giao thức tương tác giao tiếp đơn giản phục cho một hoặc một vài những yêu cầu cụ thể xác định trước Bộ nhận dạng tiếng nói cần một thư viện từ vựng khoảng vài trăm từ phổ biến nhất trong ứng dụng
cụ thể của nó đã có thể hiểu được những đoạn hội thoại đơn giản một cách tự nhiên với nhiều người dùng khác nhau Để đảm bảo robot hiểu được đoạn đối thoại thì cả người và robot phải tuân theo một quy tắc nhất định và có giới hạn Các ứng dụng như thế này đang được thương mại hóa trong nhiều lĩnh vực khác nhau như: dịch vụ
Trang 21quanh số điện thoại tự động, các dịch vụ tự động trong du lịch, đặt hàng tự động, giao dịch tài chính,…
Hình 2.2: Mô hình bộ nhận dạng, tổng hợp tiếng nói
Hệ thống nhận dạng có thể được thể hiện bằng các đặc trưng qua nhiều tham
số, một số tham số quan trọng như: chế độ nói (nói ngắt quãng hay nói liên tục), loại tiếng nói (tiếng nói đọc hay tiếng nói giao tiếp), số lượng từ vựng (lớn hay nhỏ), hệ số nhiễu tín hiệu SNR, loại mô hình ngôn ngữ (trạng thái hữu hạn hay cảm nhận ngữ cảnh-contex sensitve), vị trí đặt microphone nhất là trong môi trường có nhiễu,… Có thể phân loại hệ thống này thành 2 loại: hệ thống nhận dạng tiếng nói với từ ngữ đọc tách rời, và hệ thống liên tục Hệ thống liên tục cho phép đầu vào là tiếng nói liên tục mà vẫn có khả năng xử lý Ngược lại, hệ thống rời rạc chỉ xử lý được các đầu vào là từ ngữ cách rời nhau Việc nhận dạng tiếng nói trong đối thoại gặp nhiều vấn đề khó khăn hơn nhiều so với nhận dạng tiếng nói đọc từ một đoạn văn bản Một số hệ thống yêu cầu tiếng nói mẫu của người nói sau đó hệ thống dựa vào tiếng nói mẫu này để phân loại, nhận dạng người nói Việc nhận dạng nhìn chung là sẽ phức tạp và khó khăn hơn khi cơ sở dữ liệu từ vựng tăng lên và có nhiều
Trang 22từ phát âm tương tự nhau Khi tiếng nói tạo ra là một chuỗi từ thì hệ thống cần có khả năng phân tách hoặc hạn chế sự kết hợp từ bằng mô hình ngôn ngữ Mô hình ngôn ngữ có thể ở dạng đơn giản là mô hình mạng trạng thái hữu hạn (finite-state network) hay mô hình nhạy cảm ngữ cảnh (context-sensitive grammar) Trong mô hình trạng thái hữu hạn thì các từ được nhận và xử lý theo một quy tắc tách rời nhau quy định trước
Hình 2.3: Các phần tử cơ bản của hệ thống nhận dạng tiếng nói
Trong phân tích tín hiệu bài toán nhận dạng tiếng nói người ta thường sử dụng biến đổi Fourier để mô tả tín hiệu và dùng mô hình Markov ẩn để phân loại các đặc trưng đã được trích chọn của tiếng nói Hiện nay, các mô hình âm học trong nhận dạng tiếng nói đã được viết lại dưới dạng mô hình đồ thị xác suất PGM (Probabilistic Graphical Models) Mô hình Markov ẩn là một trường hợp đặc biệt của PGM Ưu điểm nổi bật của PGM là sự phác họa dạng đồ thị cung cấp một sự giải thích dễ hiểu bằng hình ảnh về quá trình mô hình hóa và giúp tự động hóa quá trình mô tả các giải thuật suy luận hiệu quả sau khi cấu trúc ban đầu của đồ thị được xác định
Những giới hạn trong việc xây dựng vốn từ vựng lớn cho cơ sở dữ liệu và hạn chế của các mô hình ngôn ngữ đã cản trở việc xây dựng những đoạn hội thoại
tự nhiên, không có ràng buộc Việc tăng vốn từ vựng cho cơ sở dữ liệu khiến cho việc nhận dạng các đặc trưng trích chọn của tất cả các từ trở nên không khả thi Những bộ nhận dạng đặc trưng này được thiết kế để phân tích những sự khác biệt
Trang 23về ngôn ngữ và những đơn vị cơ sở của từ, còn gọi là âm vị (nguyên âm, phụ âm, thanh sắc) Các đặc trưng này sau đó được tổng hợp lại để đánh giá, phân biệt tất cả các từ vựng Hiện nay, các nghiên cứu đã có thể xây dựng được cơ sở dữ liệu tới hàng chục nghìn từ vựng
Một vấn đề khác gặp phải trong nhận dạng tiếng nói là sự không tương đồng giữa điều kiện huấn luyện và ứng dụng Để khắc phục yếu tố này có thể tiền xử lý
để loại bỏ nhiễu của tiếng nói, làm rõ tín hiệu và sử dụng mô hình xác suất nhằm điều chỉnh thích nghi với điều kiện ứng dụng
Ngoài việc nhận dạng tiếng nói, hệ thống còn có thêm mô hình ngôn ngữ và
hệ chuyên gia để phân tích ngữ nghĩa của tín hiệu nhận được và đưa ra đáp ứng chính xác Hệ thống chuyên gia càng hiệu quả thì càng có điều kiện hỗ trợ để đạt được cuộc đối thoại tự nhiên và giàu cảm xúc
Không chỉ có khả năng phân tích ngữ nghĩa, hệ thống nhận dạng tiếng nói còn có khả năng phân tích cảm xúc của người nói qua giọng nói Khi cảm xúc của người nói được nhận biết hệ thống sẽ có những phản ứng phù hợp với đối tác đang giao tiếp Ngày nay, nhiều hệ thống như thế đã được đưa vào ứng dụng và thương mại hóa, ví dụ như hệ thống tiếp nhận và trả lời điện thoại tự động từ tổng đài, hệ thống này phân tích cảm xúc của người gọi đến sau nó tùy vào cảm xúc của người gọi hệ thống sẽ trả lời với ngữ điệu khác nhau Ngoài ra, hệ thống này còn cho phép gán các trạng thái tâm lý bình thường của con người vào trong lời thoại như: vui, buồn, giận dữ, ngạc nhiên, cáu gắt,…Trong các hệ thống nhận dạng và tổng hợp tiếng nói hiện nay, việc thiếu thể hiện cảm xúc trong lời thoại và việc tạo tiếng nói với tốc độ phát sinh tiếng nói không đổi đã làm cho cuộc đối thoại trở nên kém sinh động, không tự nhiên Đây là vấn đề đang rất được quan tâm của các nhà nghiên cứu hiện nay
2.2.2 Tương tác người-máy bằng cử chỉ
Tương tác người-máy bằng cử chỉ là một phương tiện diễn đạt trong giao tiếp mới chỉ bắt đầu phát triển nhất là so với những kết quả đã đạt được trong những
Trang 24phương thức tương tác khác như: tiếng nói, hình ảnh, tiếp xúc Độ phức tạp trong nghiên cứu tương tác này tăng dần từ nhận dạng cử chỉ tượng trưng (symbol) tới nhận dạng ngôn ngữ cử chỉ (sign language) Do mỗi một cử chỉ, ký hiệu mang một
ý nghĩa nhất định nên bộ tổng hợp cử chỉ cần có khả năng phân tích, tổng hợp để nhiểu được ý nghĩa của cuộc đối thoại
Trong tương tác này, yếu tố quan trọng nhất để nhận dạng được cử chỉ là cần điều khiển bám sát được sự di chuyển của tay một cách chính xác [12] Giả pháp thường dùng nhất là sử dụng các thiết bị gắn trên tay như găng tay Trên găng tay gắn hệ thống các loại sensor cung cấp nhiều loại thông tin cần thiết khác nhau như:
vị trí của bàn tay, hướng các ngón tay, và góc gấp khúc của các ngón tay Một trong những thiết bị như thế đầu tiên và đã được thương mại hóa là thiết bị “găng tay dữ liệu - Dataglove” Thiết bị này được thiết kế bởi nhóm tác giả Zimmerman, Lanier, Blanchard, Bryson and Harvill (1987) Thiết bị này có thể nhận biết được hình dạng của bàn tay thông qua các góc gấp khúc của ngón tay đồng thời cung cấp thông tin
về vị trí của bàn tay trong không gian 3 chiều Để thực hiện những chức năng này, một hệ thống sợi cáp quang được đặt nằm phía sau lòng bàn tay Trên găng tay phía sau lòng bàn tay có những đường nứt nhỏ để cho ánh sáng truyền trên sợi quang thoát ra ngoài khi ngón tay cử động gấp khúc Bằng cách đo lượng ánh sáng thất thoát ta có thể tính toán được góc gập của ngón tay Sai số góc gấp khúc của ngón tay nằm trong khoảng từ 5-10 độ Hạn chế của thiết bị này là không có khả năng đo
độ dịch chuyển ngang(độ giạng ra) của ngón tay Khắc phục nhược điểm này, thiết
bị CybleGlove được phát triển bởi Kramer (1989) đã sử dụng một mạch cầu giữa các ngón tay do vậy mà có khả năng đo độ giạng ra của ngón tay đồng thời làm tăng
độ chính xác đo góc gấp khúc các đốt ngón tay
Trang 25Hình 2.4: Thiết bị nhận dạng cử chỉ “The CyberGlove”
CybleGlove có thể xác định được vị trí và sự di chuyển của ngón tay và cổ tay Nó gồm 22 sensor, 3 sensor trên mỗi ngón tay đo góc gấp khúc của ngón tay, 4 sensor đo độ giạng của ngón tay, và thêm các sensor đo độ uốn và độ giạng ra của
cổ tay, ngón tay cái
Khi dữ liệu về cử chỉ của tay đã được thu thập thì việc nhận dạng cử chỉ có thể thực hiện bằng nhiều kỹ thuật khác nhau Sử dụng mạng nơron hay phương pháp khớp mẫu có thể đạt được độ chính xác trên 95% (Vaananen và Bohm 1993) Tuy nhiên, giải pháp phổ phổ biến hơn cả là sử dụng mô hình Makop ẩn, mô hình này có thể đạt độ chính xác cao hơn hẳn các giải pháp được biết tới hiện nay Ngoài
ra, sử dụng mô hình này còn cho phép tách (phân mảnh) tương tác dữ liệu đầu vào của găng tay dữ liệu thành các dữ liệu (cử chỉ) độc lập cho việc nhận dạng cử chỉ riêng rẽ hoặc thực hiện “học” chế độ online cho các cử chỉ mới xuất hiện chưa được đào tạo Trong nhiều trường hợp thì dữ liệu cử chỉ thu thập được luyện với tập số liệu mẫu sau đó dùng tập số liệu kiểm tra để lựa chọn và đánh giá chất lượng của
mô hình Tuy nhiên, trong một số trường hợp việc nhận dạng cử chỉ được thực hiện theo phương pháp nhận dạng tự nhiên (hay nhận dạng không cần đào tạo) Wexelblat (1995) đã sử dụng giải pháp dùng mô hình top down và bottom up để
Trang 26nhận dạng các đặc trưng cử chỉ tự nhiên như: độ cong của ngón tay, hướng của bàn tay và tích hợp yếu tố thời gian để tạo ra bộ khung mô tả một cách toàn diện cử chỉ của bàn tay
2.2.3 Tương tác người-máy qua tiếp xúc
Tiếp xúc là một kênh giao tiếp hỗ trợ quan trọng trong giao tiếp giữa người với người bên cạnh các kênh giao tiếp khác như: tiếng nói, cử chỉ, hình ảnh,… Với mục đích giúp cho tương tác người-máy trở nên tự nhiên, thân thiện hơn như con người kênh giao tiếp này đang được nghiên cứu, ứng dụng và đã cải thiện được chất lượng của cuộc đối thoại người-máy Tuy nhiên, các nghiên cứu chỉ mới chủ yếu tập trung vào hình dạng của họa tiết (ví dụ như hành động chạm vào hay cử chỉ của người dùng) trong khi những ứng dụng về lực tiếp xúc (hành động dùng tay, chân đánh, đập vào người đối thoại) vẫn còn gặp nhiều khó khăn Các ứng dụng hiện có
và đã được thương mại hóa mới chỉ dừng lại ở tương tác qua tiếp xúc độc lập nhất
là dùng màn hình cảm ứng có khả năng nhận dạng hành động chạm vào, nhận dạng chữ viết hoặc các dữ liệu phác thảo Mặc dù thế, các hệ thống này cũng chỉ hạn chế
ở việc nhận dạng được những chữ viết, ký tự, nút lệnh (qua chạm vào màn hình) ở dạng đơn giản, rời rạc theo một quy luật nhất định Việc nhận dạng chữ viết liên tục
và những chữ viết tắt, viết nhanh là một thách thức lớn với các nhà nghiên cứu Để nâng cao chất lượng cuộc đối thoại người-máy, người ta đang cố gắng kết hợp kênh giao tiếp này với nhận dạng và tổng hợp tiếng nói
2.2.4 Tương tác người-máy qua biểu cảm nét mặt
Biểu cảm nét mặt là một cách thức trực tiếp, tự nhiên và mạnh mẽ trong giao tiếp người-người (face- to -face) để thể hiện cảm xúc, những đánh giá, sự quan tâm tới vấn đề nào đó trong cuộc hội thoại Đây là một trong những kênh truyền thông quan trọng trong xây dựng giao diện đa phương tiện người-máy Nó giúp cho cuộc đối thoại người-máy trở nên tự nhiên và giàu cảm xúc hơn Để thực hiện được điều này hệ thống cần có khả năng tách được các thông tin về cảm xúc từ biểu cảm nét mặt của người dùng (người đối thoại với hệ thống)
Trang 27Tuy nhiên, xây dựng được một hệ thống có khả năng như thế là rất khó khăn
Ba vấn đề chính cần giải quyết trong bài toán này là: nhận dạng khuôn mặt trong một hoặc một dãy các ảnh, tách được dữ liệu biểu cảm nét mặt, và phân loại được biểu cảm nét mặt (ví dụ như dạng biểu cảm đó xếp vào loại cảm xúc nào: vui, buồn, giận dữ,…) Để phân loại trạng thái biểu cảm của nét mặt người ta thường sử dụng
3 phương pháp: phương pháp khớp mẫu (pattern), phương pháp sử dụng mạng neural, hoặc phương pháp sử dụng các quy luật (rules) Với phương pháp khớp mẫu, dữ liệu trạng thái biểu cảm nét mặt sẽ được so sánh với bộ số liệu mẫu Mỗi
bộ số liệu tương ứng với một trạng thái biểu cảm khác nhau Dữ liệu thu được gần nhất với số liệu mẫu biểu cảm nét mặt nhất sẽ được gán loại biểu cảm đó Chúng ta thường dùng thuật toán PCA (Principle Component Annalysis) và LDA (Linear Discriminant Analysis) để xác định các vector cơ sở của không gian thể hiện khuôn mặt từ một tập ảnh mẫu ban đầu Đối với phương pháp dùng mạng neural, số liệu về khuôn mặt sẽ được đào tạo (học) để xây dựng mô hình cho bài toán Các mô hình sẽ được kiểm tra bằng tập số liệu kiểm tra Mô hình cho kết quả tốt nhất sẽ được lựa chọn Thông thường thì dữ liệu đầu vào của bài toán là các thông tin về đặc tính, đặc trưng của khuôn mặt như: các vị trí quan trọng trên khuôn mặt, và khoảng cách giữa chúng
Dù sử dụng phương pháp nào thì các hệ thống đều thể hiện nhiều điểm tương đồng nhất là nỗ lực phân loại trạng thái biểu cảm nét mặt Ekman đã phân loại cảm xúc thành 6 trạng thái cơ bản là: vui, buồn, ngạc nhiên, sợ hãi, chán ghét (disgust),
và tức giận Tuy nhiên, sự phân loại biểu cảm nét mặt của Ekman gặp khá nhiều vấn
đề khó khăn Thứ nhất, sự phân loại dựa trên những định nghĩa mang tính ngôn ngữ
và không rõ ràng Do đó khó có thể miêu tả được mỗi trạng thái biểu cảm bằng một khái niệm, công thức duy nhất Thứ hai, nhiều trạng thái biểu cảm nét mặt phức tạp kết hợp nhiều yếu tố như: lông mày, miệng,…thể hiện các cảm xúc không có sự tách biệt rõ ràng (có thể là cảm xúc ngạc nhiên hoặc vui) nên sự phân loại này gặp nhiều khó khăn Ngoài ra, hệ thống phân loại cảm xúc còn cần có khả năng phân biệt cảm xúc với mọi đối tượng không phụ thuộc vào tuổi tác, giới tính, màu da,…
Trang 28Hammal đã dùng cách phân loại đơn giản chỉ sử dụng các thông tin về mắt, miệng và lông mày để tách các đặc tính quan trọng cho sự phân loại cảm xúc Sau
đó sử dụng lý thuyết về độ tin cậy để phân loại Phương pháp này có hạn chế là chỉ phân biệt được 3 trạng thái cảm xúc trong số 6 cảm xúc cơ bản Chính vì số lượng trạng thái nó phân biệt ít đi nên lượng thông tin cần xử lý giảm, điều này là có lợi rất lớn cho khả năng tính toán của phần cứng
Phương pháp đơn giản, rõ ràng và cho kết quả rất tốt dựa trên phương pháp của Hammal [5] đã so sánh các sự thay đổi các tham số trên khuôn mặt (khoảng cách và góc giữa các điểm đặc trưng quan trọng trên khuôn mặt) với trạng thái bình thường (neutral expression) Mỗi trạng thái biểu cảm sẽ được cho điểm dựa trên sự tổng hợp trạng thái của các tham số khuôn mặt thu thập được từ ảnh Cảm xúc nào
có điểm cao nhất sẽ được lựa chọn là trạng thái biểu cảm của khuôn mặt
Ví dụ chúng ta xét 2 tham số P1 và P2 của khuôn mặt Mỗi tham số này lại
có 3 trạng thái khác nhau: C+ , C-, và S Trạng thái C+ có nghĩa là giá trị của tham số
đã tăng so với giá trị tại trạng thái bình thường; C- tức là giá trị tham số đã giảm so với bình thường; và S chỉ ra rằng trạng thái của nó không thay đổi Sau đó ta lập bảng thể hiện sự thay đổi của các tham số ảnh hưởng tới các trạng thái biểu cảm
Bảng 2.1: Trạng thái của tham số và loại cảm xúc
Từ bảng này ta sẽ số hóa sự thay đổi các trạng thái C+, C-, S bằng cách thay
sự xuất hiện của nó trong mỗi trạng thái biểu cảm bằng mức logic 1 và ngược lại bằng logic 0 như bảng sau:
Trang 29Bảng 2.2: Bảng logic cho mỗi tham số và loại cảm xúc
Như vậy, vấn đề tiếp theo cần giải quyết đó là lấy những đặc trưng (tham số) nào trên khuôn mặt và tách chúng ra trong thông tin về khuôn mặt như thế nào Người ta sử dụng 10 điểm đặc trưng trên khuôn mặt, từ những điểm này chúng ta có thể xác định được các tham số của khuôn mặt về khoảng cách và góc Sau đây là các điểm đặc trưng trên khuôn mặt sử dụng chuẩn MPEG-4:
Hình 2.5: Các điểm đặc trưng trên khuôn mặt
Từ các điểm đặc trưng này sẽ tính được 5 khoảng cách quan trọng để nhận dạng cảm xúc Trong các khoảng cách này, khoảng cách giữa 2 mắt không ảnh hưởng tới biểu cảm nét mặt Nó được chuẩn hóa về một khoảng giá trị thường gặp giữa 2 mắt con người Như vậy, dựa vào khoảng cách này ta có thể xử lý được
Trang 30những vấn đề về tiền xử lý ảnh để tách các tham số như: vị trí đặt camera (ảnh hưởng tới khoảng cách giữa các điểm tính toán trên mặt), chuẩn kích thước (scale) cho ảnh,…
Hình 2.6: Các đặc trưng và khoảng cách trên khuôn mặt
Để định nghĩa được trạng thái của mỗi tham số đối với từng loại biểu cảm chúng ta cần tìm một ngưỡng giới hạn phân tách giữa các trạng thái của tham số Các giới hạn này muốn chính xác cần có sự tổng hợp một cơ sở dữ liệu đầy đủ Giá trị ngưỡng tách các trạng thái được thay đổi theo từng khoảng cách, theo cơ sở dữ liệu của mỗi người và theo mỗi loại cảm xúc để xác định giá trị ngưỡng Bảng sau thể hiện kết quả thống kê và dự báo giá trị này với khoảng cách D4 Từ số liệu này
ta sẽ xây dựng bảng thể hiện cảm xúc theo các giá trị các trạng thái
Trang 31Bảng 2.3: Kết quả thống kê và giá trị ngưỡng tách các trạng thái, khoảng cách D4
Bảng 2.4 : Bảng thể hiện trạng thái biểu cảm theo trạng thái của các tham số
Kết quả đạt được khi dùng 5 khoảng cách để nhận dạng trạng thái cảm xúc là không đồng đều, có những cảm xúc đạt phần trăm thành công là rất cao (“neutral”: 100%, “disgust”: 84%) và nhiều trạng thái cảm xúc có kết quả phân loại khá thấp (“Joy”: 37%)
Trang 32Bảng 2.5: Phần trăm thành công nhận dạng của các phương pháp
Để tăng khả năng phân loại các trạng thái biểu cảm cần có càng nhiều càng tốt những tham số khác biệt giữa các trạng thái Xuất phát từ ý thưởng này, người ta
đã cải thiện chất lượng của hệ thống bằng cách thêm vào các tham số nhận dạng ngoài 5 tham số về khoảng cách như trên: độ nhăn của mũi (wrinkles in nasal root),
và hình dạng miệng Kết quả khi thêm tham số độ nhăn của mũi được cải thiện đáng
kể nhất là cảm xúc “vui” và “chán ghét” nhưng 2 trạng thái “buồn” và “ngạc nhiên” thì kết quả thành công nhận dạng vẫn còn thấp (kết quả thể hiện trong cột 4 – bảng 4) Tiếp tục nâng cao khả năng nhận dạng, người ta thêm tham số về độ biến dạng (độ rộng) của miệng Độ rộng của miệng được thể hiện bằng 4 tham số (2 góc mở,
độ rộng W, và độ cao H) như trong hình sau:
Hình 2.7 : Một số đặc trưng về góc và khoảng cách của khuôn mặt
Trang 33Kết quả nhận dạng với đủ 10 tham số được thể hiện ở cột 5 Ta thấy các trạng thái cảm xúc được phân loại (nhận dạng) với tỷ lệ thành công rất cao Trạng thái “Vui”, “Chán ghét”, và “Bình thường” tỷ lệ thành công là 100% Trạng thái
“Ngạc nhiên” có khả năng phân loại thấp nhất cũng ở mức 63%
Một hệ thống có khả năng rút ra các thông tin cảm xúc từ nét mặt của người dùng (ví dụ như trên) sẽ giúp ích cho việc phát triển một giao diện bắt mắt, tự nhiên,
và thân thiện với con người Tuy nhiên, việc phát triển được một hệ thống như vậy
là một nhiệm vụ rất khó khăn Hệ thống này cần đảm bảo được các yêu cầu chung của một hệ thống phân loại trạng thái biểu cảm nét mặt:
- Phải ứng dụng được trên những ảnh khác nhau, không giới hạn giới tính tuổi tác hay chủng tộc
- Cho kết quả ổn định trong những điều kiện thu thập ảnh kém như: ánh sáng,
độ phân giải,…
- Không bị ảnh hưởng mạnh bởi sự thay đổi của kiểu tóc, mũ, sự xuất hiện của kính đeo mắt trong trường hợp mắt bị che khuất một phần
- Cần xử lý trong thời gian thực
- Có khả năng phân loại nhiều hoặc tất cả cảm xúc khác nhau
- Có khả năng tự học các trạng thái biểu cảm nét mặt của từng người cụ thể
- Không ảnh hưởng bởi sự thay đổi của vị trí của đầu hoặc tỷ lệ, kích thước gương mặt nhận được
2.2.5 Tương tác người-máy đa phương thức
2.2.5.1 Khái niệm tương tác đa phương thức
Trong cuộc sống hằng ngày, con người giao tiếp với nhau bằng nhiều phương thức như: tiếng nói, biểu cảm nét mặt, hình ảnh, cử chỉ,… Việc sử dụng kết hợp nhiều phương thức giao tiếp một cách tự nhiên và hiệu quả là điều rất bình thường và dễ dàng Tuy nhiên, với giao tiếp người-máy thì điều này gặp rất nhiều
Trang 34vấn đề khó khăn và phức tạp Điều này dẫn tới một thực tế là những thiết kế giao tiếp người-máy của chúng ta thường theo hướng bắt người sử dụng thích nghi với phương thức của máy hơn là bắt máy phải tuân theo quy tắc của người sử dụng Việc sử dụng một tương tác đơn hay các tương tác độc lập nhau đã thu được những thành công nhất định tuy nhiên chúng vẫn còn xa so với mong muốn có được quá trình giao tiếp người – máy một cách tự nhiên, có nhiều cảm xúc như giữa con người với con người
Trước đây, trong các thiết kế giao diện người dùng (Graphic User Interfaces) tương tác người-máy chủ yếu thông qua các thiết bị đầu vào của máy như: bàn phím, chuột,…và các đầu vào này được xử lý hoàn toàn độc lập với nhau, nó không được thiết kế để thu thập dữ liệu nhiều đầu vào đồng thời (ví dụ khi nhấn chuột thì các đầu vào khác bị bỏ qua) Xuất phát từ ý tưởng “bắt chước” giao tiếp con người với con người kết hợp các phương thức giao tiếp với nhau giao diện đa phương thức
ra đời Các hệ thống đa phương thức nhìn chung không thu thập thông tin thông qua chuột và bàn phím Chúng cung cấp khả năng tương tác rõ ràng, linh hoạt, và mạnh
mẽ trong giao tiếp người-máy Có thể định nghĩa giao diện đa phương thức là một
hệ thống cho phép xử lý kết hợp hai hoặc nhiều hơn các chế độ đầu vào của người dùng như: tiếng nói, cử chỉ, hình ảnh, … theo cách thức phù hợp với đầu ra đa phương tiện (bằng loa, màn hình, cử chỉ,…) [11] Hai loại hệ thống đa phương thức phổ biến nhất là sự kết hợp giữa tiếng nói và cử chỉ, và tiếng nói sự di chuyển của môi
Ví dụ như khi chỉ sử dụng mô hình nhận dạng ngữ âm thì sẽ có kết quả là cuộc trao đổi thông tin giữa người – máy trở nên đơn điệu, tốc độ phát sinh tiếng nói hầu như không thay đổi Tuy nhiên, khi kết hợp tương tác truyền thông này với
bộ nhận dạng cảm xúc thì kết quả được cải thiện rất nhiều về chất lượng của cuộc đối thoại người – máy
Do các giao thức giao tiếp thành phần (hình ảnh, tiếng nói, cử chỉ,…) còn nhiều vấn đề về chất lượng và tính hiệu quả nên việc xây dựng các giao tiếp đa
Trang 35phương thức cần phải xác định nhiệm vụ cụ thể mà hệ thống cần đạt được Xây dựng, thiết kế kỹ lưỡng các ngữ cảnh sử dụng hệ thống là điều kiện tiên quyết ảnh hưởng tới hiệu quả của cuộc đối thoại người-máy đa phương thức Trong đó, việc xác định những thông tin liên quan tới giao tiếp của con người (cử chỉ, văn hóa, thói quen,…) để vận dụng trong giao tiếp người-máy là yếu tố hết sức quan trọng
2.2.5.2 Giới thiệu một số hệ thống đa phương thức
Các hệ thống đa phương thức đã ra đời và phát triển từ những năm 80 Cho đến nay nhiều hệ thống với độ phức tạp và hiệu quả ngày càng tăng Sau đây là một
số hệ thống đa phương thức tiêu biểu:
- Một trong những hệ thống tương tác đa phương thức kết hợp tiếng nói và
cử chỉ đầu tiên là hệ thống “Put That There” [10] Hệ thống này cho phép người dùng có thể sử dụng tiếng nói và cử chỉ để thao tác, ra lệnh các đối tượng trên màn hình 2D Hệ thống này được Bolt giới thiệu năm 1980 Ví dụ khi người dùng nói
“đặt hình vuông ở kia” và đồng thời chỉ tay vào vị trí muốn đặt vật Hệ thống sẽ tính toán, xác định tọa độ của hình vuông so với vị trí cần đặt khi nhận được từ “kia”
Hình 2.8 : Hệ thống Put-That-There
- Một hệ thống giao tiếp đa phương thức tương tự dựa trên tiếng nói và bút (pen) là hệ thống xử lý từ ngữ của IBM (Human-Centric Word Processor-HCWP)
Trang 36Hệ thống này cho phép người dùng đọc vào những nội dung (từ ngữ) mong muốn, sau đó những nội dung, từ ngữ đọc vào này sẽ được sửa chữa, xử lý bằng giao diện tương tác đa phương thức tiếng nói và bút Sau khi người dùng đọc một đoạn văn bản và được hiển thị trên màn hình người sử dụng có thể đọc những câu lệnh để thao tác trên văn bản như: sửa lỗi chính tả, xóa, bôi đen đoạn văn bản,…Ví dụ để xóa một từ người dùng sẽ đọc lệnh “xóa từ này” sau đó dùng bút chỉ vào từ muốn xóa hoặc muốn gạch chân một đoạn văn bản thì có thể nói “gạch chân từ đây tới kia” đồng thời chỉ vào từ bắt đầu và kết thúc
Hình 2.9 : Sơ đồ hệ thống xử lý đầu vào của HCWP
Hệ thống được tích hợp bộ nhận dạng tiếng nói và nhận dạng cử chỉ, trong
đó thời gian và vị trí của mỗi cử chỉ được lưu trữ trong một bộ đệm tạm thời Những thông tin về lệnh bằng tiếng nói và cử chỉ sẽ được đưa vào khối nhận dạng ngôn ngữ tự nhiên (Natural Language Understanding - NLU) để xác định ý nghĩa của lệnh tương ứng với các luồng thông tin đầu vào Thông tin thu được tiếp tục được
Trang 37xử lý trong khối phân tích ngôn ngữ chuẩn và tạo ra những sự kiện tương ứng tới trình soạn thảo
- Một hệ thống đa phương thức khác là hệ thống HuMaNet của AT&T Laboratories (Berkley and Flanagan, 1990) Hệ thống này được thiết kế để hỗ trợ hội thảo với nhiều thiết bị đầu cuối ở những nơi khác nhau Hệ thống này bao gồm một dãy các microphone tự động định hướng để thu âm thanh, bộ thiết lập cuộc gọi, truy xuất và hiển thị dữ liệu điều khiển bằng tiếng nói nhờ vào bộ tổng hợp tiếng nói với số từ vựng giới hạn, dữ liệu truy xuất được bảo mật từ xa bằng nhận dạng người nói, hiển thị và tính toán hình ảnh màu chất lượng cao với tốc độ 64 kbps Mỗi bộ phận chức năng được thực hiện bằng một máy tính riêng Các máy tính được nối mạng với nhau và hoạt động một cách đồng bộ
Trên nền tảng của hệ thống trên, một hệ thống đa phương thức nâng cấp tích hợp ánh sáng, âm thanh, và màn hình cảm ứng có thể xác định thêm được khuôn mặt và chữ viết là hệ thống hội thảo video/audio tại trung tâm CAIP (Flanagan 1994)
Hình 2.10 : Hệ thống hội thảo audio/video ở trung tâm CAIP
Trang 38Hệ thống này đã sử dụng một số lượng lớn các microphone lắp đặt theo bố cục 3 chiều (hình 2 11) để nâng cao chất lượng âm thanh thu được trong phòng hội thảo Nhờ cách bố trí này mà làm giảm được nhiễu không mong muốn trong phòng hội thảo
Hình 2.11 : Bố cục 3 chiều lắp đặt hệ thống microphone trong phòng hội thảo
Nhiễu trong phòng đã giảm rất nhiều khi sử dụng mảng 21 sensor 7x7x7 ở chính giữa trần của phòng hội thảo 7x5x3m so với dùng duy nhất 1 sensor ở giữa phòng Kết quả này thể hiện qua hệ số nhiễu - tín hiệu (signal-to-reverberant noise rate SNR) như dưới hình sau:
Hình 2.12 : Hệ số SNR tương ứng với vị trí nguồn âm khác nhau
Trang 392.2.5.3 Các vấn đề quan trọng trong hệ thống đa phương thức
2.2.5.3.1 Biểu diễn của không gian và thời gian
Trong hoạt động giao tiếp của con người thì yếu tố không gian và thời gian
có vai trò rất quan trọng, nó là yếu tố nền tảng cho hầu hết các hoạt động đòi hỏi trí thông minh của con người Trong môi trường tương tác đa phương thức, những thông tin về không gian và thời gian cần được thể hiện, trao đổi, và xử lý giữa các phần tử sử dụng ở các chế độ khác nhau
Trong thực tế, các thông tin về không gian và thời gian cần được phân tích, tách ra từ ngôn ngữ tự nhiên (ngôn ngữ con người) và được xử lý tiếp hoặc ngược lại những thông tin thu được này cần được thể hiện lại bằng ngôn ngữ con người Những yếu tố này phân chia việc xử lý thông tin về không gian và thời gian trong ngôn ngữ tự nhiên làm 2 chức năng xử lý là: nghiên cứu về sự thể hiện và suy luận các yếu tố không gian và thời gian; lý thuyết hóa và tính toán ngôn từ (theoretical and computation linguistics) Chức năng đầu nhằm thu được những thông tin về không gian và thời gian Chức năng sau có liên quan chặt chẽ tới chức năng đầu và tập chung chủ yếu vào nhận biết nội dung, ngữ nghĩa và xử lý các thông tin này Cả hai chức năng này trong các ứng dụng có tương tác lẫn nhau cần phải được xử lý đồng thời, kết hợp với dữ liệu thực và dữ liệu ngôn ngữ Ví dụ như hiểu được một câu chuyện, miêu tả một ngữ cảnh,…
Việc hiểu được các yếu tố về không gian và thời gian trong ngôn ngữ tự nhiên và ngược lại dùng ngôn từ để thể hiện ý nghĩa về không gian thời gian bao gồm các nội dung sau:
- Xác định các phần tử ngôn ngữ để truyền tải các thông tin này (mốc đánh dấu - markers);
- Phân thích các nội dung ngữ nghĩa của nó;
- Đưa ra những hệ thống phù hợp cho việc thể hiện và xử lý các nội dung này;
- Thực thi và thể hiện các nội dung về không gian và thời gian
Trang 40Để đạt được kết quả cuộc đối thoại người – máy tự nhiên và giàu cảm xúc gần như giữa con người với con người thì hệ thống đa phương thức cần phải xử lý được các thông tin về không gian và thời gian trong các kênh thông tin được sử dụng và sự phối hợp giữa các kênh thông tin này
2.2.5.3.2 Yếu tố thời gian
Chúng ta có thể nhận thấy những dấu hiệu thể hiện yếu tố thời gian trong hầu hết các ngôn ngữ như thời của động từ, các trạng từ chỉ thời gian (hôm qua, ngày mai, 2 ngày sau,…) Chúng có vai trò rất quan trọng để hiểu được nội dung của một
câu đưa ra [12] Ví dụ trong tiếng anh, so sánh 2 câu: “He was crossing the street”
và “He crossed the street” thì chỉ có câu thứ 2 là được hiểu rằng người này đã băng
qua bên kia con đường Như vậy, cần phải xác định được giá trị thời gian (thời điểm) một cách chính xác của câu lệnh trong giao tiếp đa phương thức
Để thể hiện tầm quan trọng của yếu tố thời gian trong tương tác giữa người
và một hệ thống điều khiển chúng ta sẽ minh họa bằng 2 ngữ cảnh của hệ thống nhận dạng đa phương thức tiếng nói và cử chỉ cùng có 3 sự kiện (X, Y, Z) giống nhau về thời gian xảy ra mỗi sự kiện và thứ tự thời gian xuất hiện của chúng nhưng kết quả cuối quá trình ở 2 ngữ cảnh lại khác nhau [9]
Hình 2.13 : Hai ngữ cảnh có cùng thứ tự và thời gian xuất hiện
nhưng kết quả khác nhau