Số lượng các thiết bị nhận dạng giọng nói, hình ảnh ngày càng tăng, điển hình như tivi thông minh, máy tính cá nhân, đặc biệt là tất cả các điện thoại di động đều có hỗ trợ nhận diện và
Trang 1iv
TÓM TẮT Ngày nay sự phát triển của công nghệ, các thiết bị ngày càng thông minh hơn, giúp người dùng dễ dàng giao tiếp và điều khiển các thiết bị xung quanh Số lượng các thiết bị nhận dạng giọng nói, hình ảnh ngày càng tăng, điển hình như tivi thông minh, máy tính cá nhân, đặc biệt là tất cả các điện thoại di động đều có hỗ trợ nhận diện và điều khiển bằng giọng nói Ngoài các ứng dụng trong các thiết bị gia dụng, giáo dục thì còn được ứng dụng trong các thủ thuật phẫu thuật, vì vậy độ chính xác
và tốc độ trở nên rất quan trọng
Trong luận văn này nhằm mục đích giới thiệu về phương thức giao tiếp giữa người và máy sử dụng điện toán đám mây của Google Cụ thể là dùng Google Speech API để nhận dạng âm thanh, Google Vision API để nhận dạng hình ảnh Một vấn đề mới mà luận văn nghiên cứu là xây dựng giao diện, phương thức giao tiếp người dùng
và trên mạch máy tính nhúng
Trang 2v
MỤC LỤC
LÝ LỊCH KHOA HỌC I LỜI CAM ĐOAN II LỜI CẢM ƠN III TÓM TẮT IV MỤC LỤC V DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU VII DANH SÁCH CÁC HÌNH VIII
1
5
2.1 Giao tiếp giữa người và máy 5
2.2 Dữ liệu lớn – Big Data 6
2.2.1 Khái niệm về dữ liệu lớn 6
2.2.2 Nguồn hình thành và phương pháp khai thác, quản lý dữ liệu lớn 7
2.2.3 Đặc trưng của dữ liệu lớn 7
2.2.4 Sự khác biệt giữa dữ liệu lớn với dữ liệu truyền thống 9
2.3 Tổng quan về điện toán đám mây 10
2.4 Nhận dạng giọng nói 11
2.4.1 Giới thiệu 11
2.4.2 Hệ thống phát âm của con người 12
2.4.3 Biểu diễn tiếng nói - đặc trưng tiếng nói 14
2.4.4 Trích chọn đặc trưng 14
2.4.5 Phương pháp nhận dạng tiếng nói 16
2.4.6 Các mô hình nhận dạng 18
Trang 3vi
2.4.7 Mô hình Hidden Markov Model 18
2.4.8 Nhận dạng tiếng nói với mô hình Markov ẩn 22
2.4.9 Sự phân bố Gaussion 23
2.5 Công cụ nhận dạng giọng nói của google - Google Speech API 23
2.6 Xử lý ảnh số 26
2.6.1 Giới thiệu về ảnh số 26
2.6.2 Một số kiểu ảnh số thường gặp 27
2.6.3 Giới thiệu về xử lý ảnh số 28
2.6.4 Xử lý ảnh 29
2.6.5 Các ứng dụng cơ bản của công nghệ xử lý ảnh số 37
2.6.6 Camera calibration 37
2.6.7 Nhận diện hình ảnh của Google 37
44
3.1 Nguyên lý hoạt động của hệ thống 44
3.2 Phương thức hoạt động của bộ xử lý trung tâm 44
3.3 Bộ xử lý nhúng 46
3.4 Sơ đồ tổng quát hệ thống 47
3.5 Lưu đồ giải thuật 48
3.6 Hệ điều hành nhân Linux 49
52
4.1 Quá trình thử nghiệm giao tiếp với điện toán đám mây 52
4.2 Giao diện người dùng 53
4.3 Nhận xét 56
58
5.1 Kết luận 58
Trang 5viii
DANH SÁCH CÁC HÌNH
Hình 2-6: Hình cắt ngang của ống âm thanh 13
Hình 2-1: Các bước rút trích đặc trưng MFCC từ tín hiệu âm thanh 15
Hình 2-2: Chi tiết bước trích chọn MFCC 15
Hình 2-3: MFCC chuẩn 16
Hình 2-4: MFCC đã biến đổi 16
Hình 2-5: Mô hình mạng lai ghép HMM/ANN 17
Hình 2-7 Minh họa thủ tục cơ bản về nhận dạng giọng nói theo thống kê 18
Hình 2-8: Minh họa chuỗi Markov đại diện cho xác suất chuyển đổi của thời tiết 19 Hình 2-9: Một mô hình Markov ẩn sau sáu trạng thái 22
Hình 2-10: Phân bố Gaussian với mỗi giá trị điểm nổi liên quan 23
Hình 2-11: Biểu diễn cấu trúc ảnh số 2 chiều 26
Hình 2-12: Mô tả ảnh nhị phân 27
Hình 2-13: Thang màu mức xám ảnh 8 bit 27
Hình 2-14: Biểu diễn ảnh xám [15] 27
Hình 2-15: Sơ đồ xử lý ảnh số [16] 28
Hình 2-16: Biểu đồ Gauss 31
Hình 2-17: Mặt nạ cuộn gaussian 1 chiều 32
Hình 2-18: Chuyển từ ảnh màu sang ảnh xám [14] 33
Hình 2-19: Chuyển từ ảnh xám 8 bit sang ảnh nhị phân 33
Hình 2-20: Giản đồ histogram ảnh xám 34
Hình 2-21: Tăng độ sáng và giản đồ histogram 34
Hình 2-22: Giảm độ sáng và giản đồ histogram 35
Hình 2-23: Tăng độ tương phản và giản đồ histogram 35
Hình 2-24: Giảm độ tương phản và giản đồ histogram 35
Hình 2-25: Tách biên bằng phương pháp Sobel và Canny 36
Hình 2-26: Mô hình Pinhole 38
Hình 2-27: Hình biểu diễn một mặt phẳng khác mặt phẳng ảnh 38
Hình 2-28: Phép quay vectơ 40
Hình 2-29: Tương quan của ảnh lý tưởng và thực tế 41
Trang 6ix
Hình 3-1: Minh họa khi người dùng giao tiếp với robot 44
Hình 3-2: Robot đang phục vụ tại các quán ăn 45
Hình 3-3: Minh họa cho một trạm robot đang phục vụ khách 46
Hình 3-4: Sơ đồ khối tổng quát hệ thống 47
Hình 3-5: Lưu đồ giải thuật xử lý của hệ thống 48
Hình 3-6: Cấu trúc tổng quát của một hệ thống Linux [4] 49
Hình 3-7: Giao diện hệ điều hành Ubuntu Desktop 10.04 nhân Linux 49
Hình 3-8: Một số thiết bị sử dụng hệ thống nhúng [4] 51
Hình 4-1: Giao diện phần mềm lập trình Python trên hệ điều hành Linux 52
Hình 4-2: Phần cứng dùng để chạy thử nghiệm 52
Hình 4-3: Thử nhận dạng chữ viết bằng Google vision 53
Hình 4-4: Hiển thị đường đi trên bản đồ của Google 53
Hình 4-5: Biểu đồ thể hiện độ chính xác của nhận dạng giọng nói và hình ảnh 57
Trang 7x
DANH SÁCH CÁC BẢNG Bảng 4-1: Trình tự hoạt động của giao diện người dùng 56Bảng 4-2: Bảng nhận xét độ chính xác dịch vụ 57
Trang 81
TỔNG QUAN Giới thiệu
Robot dịch vụ nhằm giúp đỡ con người thực hiện các công việc hằng ngày trong cuộc sống, nhưng để tăng hiệu quả công việc thì nghiên cứu giao tiếp giữa người và máy vô cùng quan trọng, giúp chúng ta dễ dàng sử dụng, nhanh chóng và chính xác
Điện toán đám mây còn gọi là điện toán máy chủ ảo là mô hình điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ chỉ mạng Internet và như là một liên tưởng về độ phức tạp của các cơ sở hạ tầng chứa trong đó Ở mô hình điện toán này mọi khả năng liên quan đến công nghệ thông tin đều được cung cấp dưới dạng các "dịch vụ", cho phép người sử dụng truy cập các dịch vụ công nghệ từ một nhà cung cấp nào đó "trong đám mây" mà không cần phải có các kiến thức, kinh nghiệm về công nghệ đó; cũng như không cần quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó
Dựa trên nền tảng của công nghệ điện toán đám mây, các thông tin được thu thập, xử lý, lưu trữ có trật tự và khoa học Từ đó máy tính hay robot có thể nhận dạng được hình ảnh thực tế và giọng nói của con người một cách chính xác Tương lai robot không chỉ là những cỗ máy vô tri vô giác mà còn có cảm xúc và khả năng phản ứng lại như con người sẽ không còn xa vời
Robot sử dụng dữ liệu trên công nghệ điện toán đám mây, được cập nhật mới bằng thuật toán của Google thì dữ liệu được bảo mật, truy cập trên khắp thế giới, hiệu quả cao và được cập nhật liên tục
Trang 92
Tình hình nghiên cứu trong và ngoài nước
Nghiên cứu ngoài nước
Đã có nhiều nghiên cứu về việc triển khai hoặc giới thiệu thành công những ứng dụng giọng nói Chúng ta có thể nhắc đến Ask.com một dịch vụ cho phép người dùng hỏi và nhận câu trả lời, đã tích hợp công nghệ nhận dạng giọng nói do Nuance phát triển vào ứng dụng iOS và Android của mình Sự liên kết này cho phép người dùng hỏi, trả lời cũng như đăng tải các lời bình luận
Amazon cũng cập nhật app Kindle trên iOS để hỗ trợ tính năng Voice Over trong iOS VoiceOver sẽ tự động đọc nội dung trên màn hình để giúp cho việc xem sách của những người bị khiếm thị được dễ dàng và thuận tiện hơn Hãng cho biết có khoảng 1,8 triệu đầu sách e-book tương thích với tính năng này Bản thân Amazon cũng từng mua lại công ty IVONA Software vốn cung cấp giải pháp chuyển đổi từ chữ sang giọng nói cho các sách mua từ Amazon
Các phần mềm Siri, Google Voice hay Cortana: đây đều là những ứng dụng được phát triển bởi các tập đoàn công nghệ lớn với tiềm lực mạnh mẽ và được phát triển bởi các chuyên gia Bộ ba phần mềm này đã giúp người dùng thiết bị di động tương tác với thiết bị của mình một cách thông minh hơn: từ việc đặt câu hỏi, nhận câu trả lời cho đến điều chỉnh các thông số máy và khởi chạy ứng dụng (app) Một việc đơn giản có thể kể đến là đặt lịch hẹn hoặc báo thức Trước đây chúng ta phải cần đến cả chục thao tác chạm mới đặt xong một sự kiện, còn với Siri, Google Voice hay Cortana người dùng chỉ cần ra lệnh Mọi thao tác từ việc ghi nội dung cho đến thiết lập giờ giấc đều được thực hiện một cách tự động
Hiện ngày càng phổ biến của công nghệ nhận dạng giọng nói trong các ứng dụng chat/nhắn tin Facebook Messenger đã có tính năng chia sẻ giọng nói từ lâu, nhiều dịch vụ trò chuyện trực tuyến như Zalo, Viber và WhatsApp của nước ngoài cũng đã nhanh chóng đón đầu xu hướng để tích hợp tính năng trò chuyện trực tiếp bằng cách nói vào sản phẩm của mình Đây cũng là suy nghĩ của hầu hết những người
Trang 103
thường xuyên sử dụng máy tính nhưng phải đối mặt với bàn phím kích cỡ nhỏ trên thiết bị di động
Nghiên cứu trong nước
Hiện nay tình hình nghiên cứu về lĩnh vực nhận dạng giọng nói và hình ảnh dựa trên nền tảng điện toán đám mây nhưng còn nhiều hạn chế, đa phần là cá nhân phát triển nền các thư viện mã nguồn mở Vì vậy khả năng phát triển rất khó khăn, nguồn dữ liệu rất hạn chế Chính vì lý do đó các ứng dụng đa phần là nhận dạng giọng nói và hình ảnh riêng biệt, chủ yếu là các chương trình trên điện thoại
Mục tiêu đề tài
Với mục tiêu nghiên cứu phương thức giao tiếp giữa người và máy sử dụng công nghệ điện toán đám mây, cụ thể là dùng để giao tiếp với robot chỉ đường, robot giúp người dùng dễ dàng tìm địa điểm muốn tìm Người dùng có thể yêu cầu bằng lời nói hoặc bằng hình ảnh
Nhằm nâng cao hiệu quả trong việc giao tiếp cần có thiết bị nhận được thông tin người dùng một cách đơn giản, nhanh chóng và chính xác Trong nghiên cứu này
đã dùng micro, camera, mạch xử lý nhúng để thu nhận âm thanh, hình ảnh từ người dùng Sau khi xử lý dựa trên dữ liệu của điện toán đám mây thì robot nhận được thông tin trả về dưới dạng văn bản, từ đó có thể hiển thị thông tin hỗ trợ người dùng như tìm đường, ví trí hiện tại, nhận dạng hình ảnh…
Nội dung nghiên cứu
Nội dung 1: Nghiên cứu ngôn ngữ lập trình và phần cứng mạch nhúng
Nội dung 2: Nghiên cứu phương thức giao tiếp với điện toán đám mây Google Nội dung 3: Nghiên cứu giải thuật nhận và xử lý âm thanh và hình ảnh
Nội dung 4: Nghiêu cứu giải thuật nhận, xử lý và phản hồi thông tin của robot Nội dung 5: Thiết kế và chế tạo mô hình thực nghiệm
Nội dung 6: Đánh giá kết quả thực hiện
Trang 114
Giới hạn đề tài
- Luân văn tập trung vào nghiên cứu phương thức giao tiếp giữa người và máy
- Nhận dạng được giọng nói, hình ảnh
- Thực hiện trên mô hình và có tốc độ xử lý phụ thuộc đường truyền internet
Trang 125
CƠ SỞ LÝ THUYẾT 2.1 Giao tiếp giữa người và máy
Hiện nay nhu cầu thị trường của robot rất lớn như robot vận chuyển, robot giám sát, robot giúp việc, hơn thế nữa ý tưởng về robot cá nhân, trợ lý robot đã được quan tâm từ rất lâu Robot được sản xuất khắp nơi trên thế giới và được mở bán rộng rãi Tuy nhiên để cho phép robot hoạt động với nhiệm vụ mới thì đòi hỏi phải phát triển kỹ thuật mà người dùng cần phải được huấn luyện, để robot hoạt động tiện lợi
và an toàn
Hai đặc tính quan trọng trong giao tiếp giữa người và máy mà ta cần quan tâm là: một là người dùng muốn cấu hình và nếu cần thiết thì phải dạy cho robot Hai
là người dùng muốn giám sát và theo dõi đáp ứng của robot Trong cả hai trường hợp
đó, người dùng không vận hành robot, thay vì họ muốn nó hoàn thành các yêu cầu Chính vì điều quan trọng là robot sẽ làm gì và không nên làm gì Giao tiếp người và máy sẽ liên quan đến hai khía cạnh sau:
Một là, người dùng phải được cung cấp phương thức cho phép họ có thể dạy được robot, nghĩa là phải truyền tải được yêu cầu của người dùng đến chương trình hoạt động của robot
Hai là, phải có phản hồi đến người dùng những thông tin cần tiết để họ có thể hiểu các ảnh hưởng đến robot khi được yêu cầu mới
Vấn đề trong giao tiếp giữa người và máy
Lợi ích mang lại của việc giao tiếp phụ thuộc vào khả năng giao tiếp của các bên, nghĩa là người dùng và robot phải hiểu được nhau Ngoài ra điểm đặc biệt là giao tiếp ở đây giống như giữa người dạy và người học (thường người học là robot),
để thay đổi được bản thân thì người học cần hiểu được thông tin cung cấp từ người dạy, để đạt được mục đích cần có các vấn đề liên quan sau:
Trang 136
Mục đích của giao tiếp là loại thông tin trao đổi trong suốt quá trình giao tiếp
và mục đích của thông tin được trao đổi này, chúng ta cũng cần xét đến mức độ trừu tượng của thông tin được trình bày
Phương thức giao tiếp cũng rất quan trọng Nghĩa là cách thức mà thông tin
có thể trao đổi, có thể là hành động, cử chỉ, giải thích…
Chiều của giao tiếp chúng ta cũng quan tâm đến chiều của dòng thông tin từ người dùng đến robot hay ngược lại, hoặc cả hai chiều
Như trên chúng ta đã thảo luận ba yếu tố quan trọng nhất trong quá trình giao tiếp giữa người và robot Quá trình giao tiếp bao gồm các thông số kỹ thuật, các lệnh chấp hành, giao tiếp để giám sát, giao tiếp để lập trình cho robot, trong bất kỳ trường hợp nào chúng ta đều phải xác định các vấn đề một cách cụ thể và sớm hơn
2.2 Dữ liệu lớn – Big Data
Trước đây, chúng ta mới chỉ biết đến dữ liệu có cấu trúc (structure data), ngày nay với sự kết hợp của dữ liệu và Internet, đã xuất hiện một dạng khác của dữ liệu là Big data (dịch là “dữ liệu lớn”) Dữ liệu này có thể từ các nguồn như: hồ sơ hành chính, giao dịch điện tử, dòng trạng thái (status), chia sẻ hình ảnh, bình luận, tin nhắn của chính chúng ta Nói cách khác chúng là dữ liệu được sản sinh qua quá trình chia sẻ thông tin trực tuyến liên tục của người sử dụng Để cung cấp cái nhìn tổng quan, ở phần này nhằm giới thiệu tóm tắt những nét chính về dữ liệu lớn cũng như những cơ hội và thách thức mà dữ liệu lớn mang lại
2.2.1 Khái niệm về dữ liệu lớn
- Theo wikipedia: Dữ liệu lớn (Big data) là một thuật ngữ chỉ bộ dữ liệu lớn hoặc phức tạp mà các phương pháp truyền thống không đủ các ứng dụng để xử lý dữ liệu này
- Theo Gartner: Dữ liệu lớn là những nguồn thông tin có đặc điểm chung khối lượng lớn, tốc độ nhanh và dữ liệu định dạng dưới nhiều hình thức khác nhau, do đó
Trang 147
muốn khai thác được đòi hỏi phải có hình thức xử lý mới để đưa ra quyết định, khám phá và tối ưu hóa quy trình
2.2.2 Nguồn hình thành và phương pháp khai thác, quản lý dữ liệu lớn
Qua thống kê và tổng hợp, dữ liệu lớn được hình thành chủ yếu từ 6 nguồn:
- Dữ liệu hành chính (phát sinh từ chương trình của một tổ chức, có thể là chính phủ hay phi chính phủ) Ví dụ, hồ sơ y tế điện tử ở bệnh viện, hồ sơ bảo hiểm,
hồ sơ ngân hàng
- Dữ liệu từ hoạt động thương mại (phát sinh từ các giao dịch giữa hai thực thể) Ví dụ, các giao dịch thẻ tín dụng, giao dịch trên mạng, bao gồm cả các giao dịch từ các thiết bị di động
- Dữ liệu từ các thiết bị cảm biến như thiết bị chụp hình ảnh vệ tinh, cảm biến đường, cảm biến khí hậu
- Dữ liệu từ các thiết bị theo dõi, ví dụ theo dõi dữ liệu từ điện thoại di động, GPS
- Dữ liệu từ các hành vi, ví dụ như tìm kiếm trực tuyến (tìm kiếm sản phẩm, dịch vụ hay thông tin khác), đọc các trang mạng trực tuyến
- Dữ liệu từ các thông tin về ý kiến, quan điểm của các cá nhân, tổ chức, trên các phương tiện thông tin xã hội
Phương pháp khai thác và quản lý dữ liệu lớn hiện nay được thiết kế phù hợp dựa theo các nguồn hình thành dữ liệu lớn Mỗi nguồn dữ liệu lớn khác nhau sẽ có phương pháp khai thác và quản lý dữ liệu lớn khác nhau Tuy nhiên, hiện nay phần lớn các tổ chức trên thế giới đều dùng Hadoop ecosystem là giải pháp tối ưu để khai thác và quản lý dữ liệu lớn
2.2.3 Đặc trưng của dữ liệu lớn
Dữ liệu lớn có 5 đặc trưng cơ bản như sau:
Trang 158
Khối lượng dữ liệu (Volume)
Đây là đặc điểm tiêu biểu nhất của dữ liệu lớn, khối lượng dữ liệu rất lớn Kích cỡ của Big data đang tăng lên từng ngày và tính đến năm 2012 thì nó có thể nằm trong khoảng vài chục terabyte cho đến nhiều petabyte (1 petabyte = 1024 terabyte) chỉ cho một tập hợp dữ liệu Dữ liệu truyền thống có thể lưu trữ trên các thiết bị đĩa mềm, đĩa cứng Nhưng với dữ liệu lớn chúng ta sẽ sử dụng công nghệ “đám mây” mới đáp ứng khả năng lưu trữ được dữ liệu lớn
Tốc độ (Velocity)
Tốc độ có thể hiểu theo 2 khía cạnh:
- Khối lượng dữ liệu gia tăng rất nhanh (mỗi giây có tới 72.9 triệu các yêu cầu truy cập tìm kiếm trên web bán hàng của Amazon)
- Xử lý dữ liệu nhanh ở mức thời gian thực (real-time): có nghĩa dữ liệu được
xử lý ngay tức thời ngay sau khi chúng phát sinh (tính đến bằng mili giây) Các ứng dụng phổ biến trên lĩnh vực Internet, Tài chính, Ngân hàng, Hàng không, Quân sự, Y
tế – Sức khỏe như hiện nay phần lớn dữ liệu lớn được xử lý real-time Công nghệ xử
lý dữ liệu lớn ngày nay đã cho phép chúng ta xử lý tức thời trước khi chúng được lưu trữ vào cơ sở dữ liệu
Đa dạng (Variety)
Đối với dữ liệu truyền thống chúng ta hay nói đến dữ liệu có cấu trúc, thì ngày nay hơn 80% dữ liệu được sinh ra là phi cấu trúc (tài liệu, blog, hình ảnh, vi deo, bài hát, dữ liệu từ thiết bị cảm biến vật lý, thiết bị chăm sóc sức khỏe…) Big data cho phép liên kết và phân tích nhiều dạng dữ liệu khác nhau Ví dụ, với các bình luận của một nhóm người dùng nào đó trên Facebook với thông tin video được chia
sẻ từ Youtube và Twitter
Độ tin cậy/chính xác (Veracity)
Một trong những tính chất phức tạp nhất của dữ liệu lớn là độ tin cậy/chính xác của dữ liệu Với xu hướng phương tiện truyền thông xã hội (Social Media) và
Trang 169
mạng xã hội (Social Network) ngày nay, cùng với sự gia tăng mạnh mẽ tính tương tác và chia sẻ của người dùng Mobile làm cho bức tranh xác định về độ tin cậy và chính xác của dữ liệu ngày một khó khăn hơn Bài toán phân tích và loại bỏ dữ liệu thiếu chính xác và nhiễu đang là tính chất quan trọng của Big data
Giá trị (Value)
Giá trị là đặc điểm quan trọng nhất của dữ liệu lớn, vì khi bắt đầu triển khai xây dựng dữ liệu lớn thì việc đầu tiên chúng ta cần phải làm là xác định được giá trị của thông tin mang lại như thế nào Khi đó chúng ta mới quyết định có nên triển khai
dữ liệu lớn hay không Nếu chúng ta có dữ liệu lớn mà chỉ nhận được 1% lợi ích từ
nó thì không nên đầu tư phát triển dữ liệu lớn Kết quả dự báo chính xác thể hiện rõ nét nhất về giá trị của dữ liệu lớn mang lại Ví dụ từ khối dữ liệu phát sinh trong quá trình khám, chữa bệnh sẽ giúp dự báo về sức khỏe được chính xác hơn, sẽ giảm được chi phí điều trị và các chi phí liên quan đến y tế
2.2.4 Sự khác biệt giữa dữ liệu lớn với dữ liệu truyền thống
Dữ liệu lớn khác với dữ liệu truyền thống (ví dụ, kho dữ liệu – Data Warehouse) ở 4 điểm cơ bản: dữ liệu đa dạng hơn, lưu trữ dữ liệu lớn hơn, truy vấn
dữ liệu nhanh hơn và độ chính xác cao hơn
- Dữ liệu đa dạng hơn: Khi khai thác dữ liệu truyền thống (dữ liệu có cấu trúc) chúng ta thường phải trả lời các câu hỏi: dữ liệu xuất ra dưới dạng nào? định dạng dữ liệu như thế nào? Đối với dữ liệu lớn chúng ta không phải trả lời các câu hỏi trên Hay nói cách khác khi khai thác, phân tích dữ liệu lớn chúng ta không cần quan tâm đến kiểu dữ liệu và định dạng của chúng; điều quan tâm là giá trị mà dữ liệu mang lại có đáp ứng được cho công việc hiện tại và tương lai hay không
- Lưu trữ dữ liệu lớn hơn: Lưu trữ dữ liệu truyền thống vô cùng phức tạp và luôn đặt ra câu hỏi lưu như thế nào? dung lượng kho lưu trữ bao nhiêu là đủ? gắn kèm với câu hỏi đó là chi phí đầu tư tương ứng Công nghệ lưu trữ dữ liệu lớn hiện nay đã phần nào có thể giải quyết được vấn đề trên nhờ những công nghệ lưu trữ đám
Trang 1710
mây, phân phối lưu trữ dữ liệu phân tán và có thể kết hợp các dữ liệu phân tán lại với nhau một cách chính xác và xử lý nhanh trong thời gian thực
- Truy vấn dữ liệu nhanh hơn: Dữ liệu lớn được cập nhật liên tục, trong khi
đó kho dữ liệu truyền thống thì lâu lâu mới được cập nhật và trong tình trạng không theo dõi thường xuyên, gây ra tình trạng lỗi cấu trúc truy vấn dẫn đến không tìm kiếm được thông tin đáp ứng theo yêu cầu
- Độ chính xác cao hơn: Dữ liệu lớn khi đưa vào sử dụng thường được kiểm định lại dữ liệu với những điều kiện chặt chẽ, số lượng thông tin được kiểm tra thông thường rất lớn, đảm bảo về nguồn lấy dữ liệu không có sự tác động của con người vào thay đổi số liệu thu thập
2.3 Tổng quan về điện toán đám mây
Khái niệm
Điện toán đám mây là các phát triển dựa vào mạng Internet sử dụng các công nghệ máy tính Đây là một kiểu điện toán trong đó những tài nguyên tính toán và lưu trữ được cung cấp như những dịch vụ trên mạng Người dùng không cần biết hay có kinh nghiệm điều khiển và vận hành những công nghệ này [1]
Kiến trúc
Kiến trúc đám mây gồm: nền tảng đám mây (Cloud Platform), dịch vụ đám mây (Cloud Service), hạ tầng đám mây (Cloud Infrastructure) và lưu trữ đám mây (Cloud Storage)
Trang 1811
Điện toán đám mây ra đời cho phép các ứng dụng giảm bớt sự lệ thuộc vào
cơ sở hạ tầng Người dùng chỉ phải trả cho những gì họ sử dụng và trả cho nhu cầu
Dữ liệu được đặt trên đám mây thay vì được lưu trên máy tính cá nhân, nên việc xử
lý và chỉnh sửa dữ liệu được hoàn toàn thực hiện trên đám mây Sự độc lập giữa thiết
bị và vị trí giúp người dùng có thể truy cập vào đám mây bất kỳ khi nào, từ bất cứ nơi đâu, qua bất kỳ thiết bị gì chỉ cần có kết nối Internet Chi phí phải trả cho quá trình sử dụng được tính dựa vào những gì mà khách hàng sử dụng hoặc tính theo nhu cầu sử dụng của họ
Ưu điểm và nhược điểm
- Ưu điểm
Điện toán đám mây cho phép truy cập dữ liệu toàn cầu Một ưu điểm nữa của điện toán đám mây là độc lập thiết bị Người dùng có thể truy cập đám mây từ bất kỳ máy tính nào hoặc từ bất kỳ thiết bị nào chỉ cần thiết bị đó được kết nối với mạng Internet
- Nhược điểm
Để truy cập được vào đám mây và sử dụng các tiện ích mà đám mây cung cấp đòi hỏi thiết bị phải được kết nối vào mạng Internet Nghĩa là nếu không được kết nối với mạng, người dùng sẽ không thể truy cập được vào bất cứ dữ liệu nào, kể
cả tài liệu của chính họ Ngoài ra dữ liệu trên đám mây có thể không bảo mật 2.4 Nhận dạng giọng nói
Trang 19Tiếng nói là hính thức giao tiếp cơ bản nhất của con người Tiếng nói của con người bao gồm rất nhiều loại thông tin: Nội dung của lời nói (từ và ngôn ngữ), cảm xúc của người nói, giới tính và xác định người nói… Mục tiêu của quá trình nhận dạng người nói là rút trích, mô tả và nhận diện người dựa vào các đặc trưng của tiếng nói
2.4.2 Hệ thống phát âm của con người
Tiếng nói của con người được tao ra từ các phần khác nhau của miệng, tạo ra
sự thay đổi áp suất không khí (ngoài miệng) Những thay đổi sau đó có thể được phát định kỳ và ghi lại trong một dạng sóng kỹ thuật số Hình dạng sóng chứa tất cả thông tin của từ nói Tất cả các tín hiệu lời nói được tạo ra theo cách tương tự Vì chúng ta
có thể ghi lại các tín hiệu âm thanh hoặc các dạng sóng, có thể nghĩ rằng nó rất dễ dàng để tóm tắt thông tin Chắc chắn rằng, thông tin có thể được trừu tượng nhưng thủ tục không đơn giản và dễ hiểu hơn nữa
Hình dạng vật lý của ống âm thanh của mỗi người là khác nhau Vì thế, chúng
ta có thể phát âm theo một cách khác nhau Nếu một người được yêu cầu nói ra cùng một từ hai lần, tín hiệu giọng nói sẽ không chính xác như tần số và các thuộc tính âm thanh có thể khác nhau theo thời gian Môi trường nơi con người nói, ngôn ngữ địa phương, sự khác biệt trong chiều dài phát âm của nam, nữ và trẻ em làm đa dạng giọng nói sự thay đổi giọng nói và do đó làm cho rất khó để hiểu các tín hiệu lời nói [12] Tuy nhiên, vẫn có một số đặc điểm trong giọng nói của con người có thể được
mô phỏng theo toán học và được sử dụng để dự đoán từ ngữ từ giọng nói đó, nhưng đòi hỏi rất nhiều thời gian và công sức
Trang 2013
Không khí là nhân tố cần thiết giúp tạo ra âm thanh Con người, hầu hết thời gian tạo ra âm thanh trong khi thở Âm thanh được tạo thành nhờ vào sự cản trở không khí trong các cơ quan của đường hô hấp (bao gồm dây thanh quản, khoang thanh quản, khoang mũi, lưỡi, răng, môi, và vòm miệng) Giọng nói có thể làm thay đổi áp suất không khí tạo thành các dạng sóng Sự rung động của áp suất không khí được tiếp nhận qua không khí và tiếp tục được xử lý bởi các cơ quan khác nhau trong tai
- Larynx: thanh quản
- Pharynx: yết hầu (cổ họng)
- Epiglottis: nắp thanh quản
- Larynx opening into Pharynx: đoạn thanh quản mở từ yết hầu
- Esophagus: thực quản
Hình 2-1: Hình cắt ngang của ống âm thanh [6]
Ở hình 2-1 là cơ quan chính trong việc tạo ra giọng nói từ sự cộng hưởng Sự cộng hưởng phụ thuộc vào hình dạng của miệng Vị trí cộng hưởng xác định phát âm của âm vị Tính năng này được xem xét để xác định các âm vị trong nhận dạng giọng nói Mỗi một giọng nói có một số tính năng cơ bản thường hiện diện ở các ngôn ngữ Đơn vị nhỏ nhất của ngữ âm là một âm vị Trong đó, âm vị được tạo ra bởi các nguyên
âm và phụ âm Âm vị có thể là nhị trùng âm hoặc đơn âm Sự chuyển động của các
cơ quan trong ống âm thanh tạo ra các âm vị khác nhau Phụ âm sát (fricatives) là các
âm vị đòi hỏi sự ma sát của lưỡi với vòm miệng hoặc răng trên với môi dưới….Sự phối hợp của im lặng, sự bật, ma sát và sự hít vào tạo ra các âm bật hơi (plosive) Các
âm này sẽ giúp dẫn đến sự hình thành của âm sát và âm tắt sát (affricate)
Trang 2114
Không có sự khác biệt rõ rệt giữa các âm vị, đặc biệt là các nguyên âm Tuy nhiên, khi quá trình nói diễn ra, động lực của miệng thay đổi Vì vậy, một vài người nói chậm trong khi số khác lại nói rất nhanh Độ dài của một âm vị được phát ra thay đổi phụ thuộc vào các yếu tố như sự thay đổi tốc độ của giọng nói, độ dài của âm vị, nhấn âm tiết, nhấn giọng của từ được nói ra…
2.4.3 Biểu diễn tiếng nói - đặc trưng tiếng nói
Việc thu nhận tiếng nói thời gian thực và khuếch đại thường được thực hiện thông qua một bộ ADC (Analog-Digital Converter) Các thông số quan trọng bao gồm số bit cho một mẫu (thông dụng là từ 8 đến 16 bit), tần số lấy mẫu (thông dụng
từ 8Khz-16Khz) Những thông số này liên quan nhiều tới hiệu năng, độ phức tạp thiết
kế cũng như kết quả nhận dạng của hệ thống nhúng
Ngoài ra do môi trường tín hiệu của hệ thống đo và điều khiển trong công nghiệp thường rất nhiễu nên hệ thống cần một bộ kiểm soát âm lượng của tín hiệu thu vào
- Có khả năng phân biệt tốt các tiếng nói có phát âm giống nhau
- Cho phép xây dựng các mô hình thống kê mà không đòi hỏi quá nhiều dữ liệu huấn luyện
- Có tính bất biến đối với các giọng nói khác nhau, cũng như môi trường thu
âm
Trang 2215
Tín hiệu Tiếng nói Chia Frame Frames FFT
Power Spectrum
Áp dụng Mel Filter Banks
Lấy Log DCT
Vectors đặc trưng MFCC
Hình 2-2: Các bước rút trích đặc trưng MFCC từ tín hiệu âm thanh [8] Một đặc trưng lý tưởng (có cả 3 tính chất nêu trên) thường không tồn tại trong thực tế Trong lĩnh vực nhận dạng tiếng nói, các đặc trưng thường được sử dụng là MFCC (Mel-Frequency Cepstral Coefficients), và LSP (Line Spectral Pairs)
Các hệ nhận dạng tiếng nói thường tách đặc trưng từ tín hiệu bằng cách:chia tín hiệu thành các đoạn độ dài 5-15 ms, mỗi đoạn gọi là một khung (frame) Mỗi frame sẽ cho đặc trưng là một vector và đặc trưng của toàn bộ tín hiệu sẽ là một dãy vector MFCC là phương pháp trích đặc trưng dựa trên đặc điểm cảm thụ tần số âm của tai người: tuyến tính đối với tần số nhỏ hơn 1kHz và phi tuyến đối với tần số trên 1kHz (theo thang tần số mel, không phải theo Hz) Vì lẽ đó rất nhiều hệ thống nhận dạng tiếng nói sử dụng MFCC làm đặc trưng Việc tính đặc trưng MFCC có sơ đồ như sau:
Hình 2-3: Chi tiết bước trích chọn MFCC
Trang 2316
Hiện nay ngoài các đặc trưng MFCC và các đặc trưng truyền thống khác (như LPC, PLP v.v), người ta còn sử dụng nhiều đặc trưng khác như Wavelet, chiều Fractal, Tiger, các đặc trưng siêu đoạn tính như F0, formant để cải tiến độ chính xác nhận dạng Các đặc trưng bổ sung này được đưa vào để nâng cao chất lượng nhận dạng với việc khai thác các đặc điểm sau:
- Bền vững với tiếng nói nhiễu
- Hạn chế nhược điểm của các biến đổi dựa trên FFT
- Đặc thù ngữ âm và ngôn ngữ
Chuẩn hóa đặc trưng MFCC dựa vào tần số cơ bản F0, từ đó giảm phụ thuộc của hệ thống nhận dạng vào người nói, do đó chất lượng nhận dạng tiếng nói được tăng lên
Hình 2-4: MFCC chuẩn
Hình 2-5: MFCC đã biến đổi
Lý do của sự phổ biến của đặc trưng MFCC chuẩn là nó đơn giản, truyền thống, độc lập ngôn ngữ, và xuất hiện sớm trong các kết quả công bố về nhận dạng tiếng nói
2.4.5 Phương pháp nhận dạng tiếng nói
Một nhược điểm của HMM là khả năng mô hình hoá âm thanh Nhược điểm này làm cho hệ thống dùng mạng HMM dễ nhận dạng nhầm các nhiễu cộng (additional noise) trong quá trình nhận dạng Tỷ lệ lỗi nhận dạng chèn trong hệ thống
Trang 24Ngược lại, do ANN có khả năng phân lớp mạnh và có khả năng mô hình âm thanh tốt, nên nếu sử dụng mô hình lai HMM kết hợp với ANN, ở đó các nhiễu cộng
có thể được phát hiện và không bị nhận dạng nhầm là các âm vị Tỷ lệ lỗi nhận dạng nhầm do lỗi chèn của hệ thống HMM/ANN thấp, hệ thống chịu được ảnh hưởng của nhiễu và các âm thanh đan xen vào trong tiếng nói và có thể nhận dạng được với phát
âm có nhiều nhiễu Độ chính xác nhận dạng ở mức câu cao hơn so với hệ thống HMM
CD-Hình 2-6: Mô hình mạng lai ghép HMM/ANN
Do vậy hiện nay người ta đã nghiên cứu các hệ nhận dạng lai ghép giữa mạng neuron và mô hình Markov ẩn (HMM/ANN) với mục đích để hạn chế nhược điểm của hai phương pháp ANN và HMM, đồng thời tận dụng hai ưu điểm của hai phương pháp này: khả năng phân lớp của mạng neuron và khả năng mô hình hoá thông tin
Trang 2518
thời gian của mô hình Markov ẩn Xác suất để mô hình ở trạng thái Si vào thời điểm
t chính là đầu ra mong đợi của mạng nơ ron
2.4.6 Các mô hình nhận dạng
Hầu hết các hệ thống nhận dạng giọng nói ngày nay đều sử dụng các mô hình thống kê Những hệ thống này sử dụng xác suất và các chức năng toán học để tính toán ngõ ra thích hợp nhất được đưa ra bởi các tín hiệu lời nói Một tập hợp lớn các
dữ liệu của mô hình thử nghiệm được sử dụng để tính toán các tính năng [19; 20]
Mô hình thống kê yêu cầu mô hình hóa âm Mô hình hóa âm thanh được mô
tả bằng mô hình Hidden Markov Các mô hình này được điều chỉnh các thông số với tín hiệu thoại và tô pô âm thanh (acoustic topology) Các dạng sóng lời nói quan sát được chuyển thành các thông số tính toán bằng cách sử dụng các kỹ thuật khác nhau bao gồm tần số MFCC (Mel frequency cepstral coefficients) Các tần số này chính là tất cả các con số Trong quá trình nhận dạng, hầu hết các trình tự được tính toán / tìm kiếm từ một mô hình sẵn có Từ ngữ có nhiều khả năng nhất với xác suất lớn nhất được tạo ra được xem như là kết quả của lời nói ở dạng sóng
Hình 2-7 Minh họa thủ tục cơ bản về nhận dạng giọng nói theo thống kê 2.4.7 Mô hình Hidden Markov Model
Mô hình Hidden Markov Model (HMM) được sử dụng để dự đoán hoặc phân tích chuỗi thời gian sử dụng dựa theo xác suất Bất cứ khi nào một chuỗi thời gian sử
Trang 2619
dụng HMM đều có thể dễ dàng được áp dụng Hầu hết các hệ thống thông minh đều
sử dụng HMM Robotics, Y học, Tài chính, máy phiên dịch và nhận dạng giọng nói
là các ví dụ điển hình
Trong xác suất, hai sự kiện là độc lập nếu sự kiện đầu tiên không ảnh hưởng đến kết quả của sự kiện thứ hai hoặc ngược lại Trái ngược với các sự kiện độc lập, một sự kiện ảnh hưởng kết quả của các sự kiện khác là các sự kiện phụ thuộc Markov phát minh ra một chu trình ngẫu nhiên được gọi là Chuỗi Markov, còn được gọi là
Mô hình Markov, ở đó mỗi một giai đoạn phụ thuộc vào một số lượng cố định các giai đoạn trước đó Chuỗi Markov phổ biến và đơn giản nhất là chuỗi Markov First Order Trong chuỗi này giai đoạn hiện tại chỉ phụ thuộc vào trước đó Gia đoạn hiện tại có thể đủ để mang lại (theo xác xuất) các điều kiện trong tương lai độc lập với giai đoạn trong quá khứ
Hình 2-9 Minh họa chuỗi Markov với hai giai đoạn với xác suất chuyển đổi aij
Hình 2-8: Minh họa chuỗi Markov đại diện cho xác suất chuyển đổi của thời tiết
Ở ví dụ trên , sự phân bố ban đầu (π), xác suất cho bất kỳ số lượng các trình
tự các tiểu bang có thể được tính toán Ví dụ, giả sử xác suất ban đầu là
( ℎ ề â ) =
0.70.3 à =
0.8 0.20.4 0.6 ; (2.1)
Trang 2720
Thì xác suất của ba ngày nắng kế tiếp có thể được tính toán theo công thức dưới đây
P(có nắng, có nắng, có nắng) = πi x (0.8) = 0.3584 (2.2) Chuỗi Markov được định nghĩa là một sự kiện quan sát được một cách xác định Nhiều ứng dụng thực tế có tính năng không thể xác định Hidden Markov Model (HMM) được xem là phần mở rộng tự nhiên của chuỗi Markov Trong đó, phần mở rộng nơi các giai đoạn bên trong được giấu kín và bất kỳ giai đoạn nào có thể tạo ra các biểu tượng hoặc bằng chứng có thể quan sát được Các ký hiệu quan sát được là các biến ngẫu nhiên và hàm xác suất của các trạng thái ngẫu nhiên nội tại Mô hình này được gọi là HMM Việc sử dụng HMM trong nhận diện giọng nói không phải là một khái niệm mới Khái niệm HMM đã được trình bày bởi L.E Baum và Petrie vào cuối năm 1966
Một mô hình Markov ẩn được đặc trưng bởi các thành phần cơ bản sau :
N, số trạng thái (state) trong mô hình Markov Các trạng thái thường được ký
hiệu bằng S= {S 1 , S 2 , S 3 , } và trạng thái của mô hình tại thời điểm t được kí hiệu là
q t , M là số ký hiệu quan sát (observation symbol), đây là kích thước của bảng từ vựng của mô hình Các ký hiệu quan sát được biểu diễn bằng V= {v 1 , v 2 , }, A = {a ij } là
xác suất chuyển trạng thái (state transition probability distribution) Trong đó a ij là
xác suất để trạng thái j xuất hiện tại thời điểm t+1 khi trạng thái i đã xuất hiện tại thời điểm t
(2.4)
B={b j (k)} xác suất phát xạ quan sát trong mỗi trạng thái (observation symbol
probability distribution in state), bj(k) là xác suất của quan sát vk tại trạng thái j tại thời điểm t
Trang 2821
b j (k) = P(v k tại thời điểm t | q t = S j ),
π = { π1 , π 2, , π N } xác suất trạng thái khởi đầu (initial state distribution), πi
là xác suất để trạng thái i được chọn tại thời điểm khởi đầu t=1:
Chọn O i = v k tương ứng với xác suất quan sát tại trạng thái S i : b i (k)
Chuyển sang trạng thái mới q t+1 = S j tương ứng với xác suất chuyển trạng thái a ij
Gán t=t+1 và quay lại lại bước 3) nếu t<T, nếu không kết thúc
Trang 2922
Người ta thường dùng bộ ba λ=(A, B, π) được coi là bộ ký pháp gọn để biểu diễn một
mô hình Markov ẩn A, B và π được gọi là các tham số (parameters) của mô h́nh λ
Hình 2-9: Một mô hình Markov ẩn sau sáu trạng thái Hình trên cho ta một ví dụ về một mô hình Markov ẩn gồm có sáu trạng thái,
trong đó có một trạng thái khởi đầu và một trạng thái kết thúc Sáu quan sát {O1 , O 2 , ., O 6 } được sinh ra từ bốn trạng thái từ 2 đến 5 Mỗi trạng thái có thể chuyển sang
trạng thái bên phải của nó, hoặc chuyển sang chính nó Trạng thái khởi đầu chỉ chuyển
sang trạng thái thứ 2, tức là a12 =1 Các tham số của mô hình Markov ẩn được ước
lượng bằng 3 bài toán cơ bản
2.4.8 Nhận dạng tiếng nói với mô hình Markov ẩn
Các hệ thống nhận dạng dựa trên HMM thường sử dụng đặc trưng chuẩn MFCC và quy trình huấn luyện và nhận dạng theo thuật toán sau:
Huấn luyện HMM :
Đầu vào gồm T frame các đặc trưng MFCC
Bước 1: Xác định dãy trạng thái tối ưu bằng thuật toán Viterbi:
Trang 30Đầu vào gồm T frame các đặc trưng MFCC
Giải mã theo Viterbi để xác định tập nhãn, và dãy trạng thái tối ưu ứng với
bộ tham số mô hình HMM đã cho:
2.4.9 Sự phân bố Gaussion
Các nhà nghiên cứu và các nhà khoa học đã phát hiện ra rằng phần lớn sự phân bố các biến ngẫu nhiên rất gần với Gaussian Một biến ngẫu nhiên liên tục X có nghĩa là π và phương sai σ2 có dạng một tập tin pdf như sau:
Trang 3124
Từ biểu đồ phân bố trên ta thấy 68 phần trăm trong sự phân bố của biến X nằm trong khoảng ± 1 độ lệch chuẩn (σ) về giá trị trung bình µ Đối với vectơ ngẫu
nhiên và liên tục X theo chiều n chiều X = (X1, X2, … , Xn), hàm phân bố xác suất
Gaussian đa biến (pdf) có dạng sau:
(2.11) Trong đó
µ là vectơ trung bình có chiều n
Ma trận Ʃ có giá trị n x n gọi là ma trận đồng biến
|Ʃ| yếu tố quyết định của ma trận đông biến
Đối với hệ thống nhận dạng giọng nói dựa theo HMM, sự phối trộn của Gaussian được dùng trong việc xuất ra các phân bố của HMM
2.5 Công cụ nhận dạng giọng nói của google - Google Speech API:
Trong trường hợp này, việc nhận dạng, xử lý ngôn ngữ (chính là TTS hoặc NLP đã đề cập ở trên) sẽ diễn ra trên máy chủ của các công ty cung cấp dịch vụ Phương pháp đám mây giúp việc nhận dạng được chính xác hơn Tuy ứng dụng có dung lượng nhỏ, nhưng bù lại thì thiết bị ở phía người dùng phải luôn kết nối với Internet Độ trễ trong quá trình gửi giọng nói từ máy lên server, rồi trả kết quả từ server về lại máy cũng là những vấn đề đáng cân nhắc Siri, Google Voice, Cortana hiện đang sử dụng phương thức này
Google Speech API cho phép người lập trình chuyển âm thanh sang văn bản bằng cách ứng dụng thuật toán mạng thần kinh nhận tạo vào API để dễ dàng sử dụng Với API có thể nhận dạng hơn 110 ngôn ngữ và biến thể, làm cơ sở hỗ trợ tốt hơn cho người dùng toàn cầu Chúng ta có thể sao chép văn bản của người dùng bằng micro của ứng dụng, bật và ra lệnh điều khiển thông qua âm thanh, hoặc chuyển đổi file âm thanh, ngoài ra còn nhiều ứng dụng khác
Trang 3225
Google Speech API được ứng dụng thuật toán mạng nơ-ron tiên tiến nhất để nhận dạng giọng nói của người dùng một cách chính xác nhất Độ chính xác của Speech API được cải thiện theo thời gian khi Google dựa trên dữ liệu của người dùng
sử dụng sản phẩm của mình
Google Speech API có thể nhận dạng hơn 110 ngôn ngữ và các biến thể để
hỗ trợ người dùng trên toàn thế giới, và bạn có thể lọc nội dung không phù hợp trong kết quả văn bản
Hình 2-11: Sợ đồ nhận dạng giọng nói của google speech api Speech API có thể đáp ứng thời gian thực khi xử lý và trả kết quả Kết quả xuất hiện ngay tức thì trong khi người dùng đang nói và dĩ nhiên Google Speech API
có thể trả kết quả đối với các đoạn âm thanh được lưu trữ trong tập tin
Chất lượng xử lý của Speech API rất tốt, có độ chính xác cao trong môi trường tiếng ồn, người dùng không cần xử lý tín hiệu hoặc lọc nhiễu trước khi gửi âm thanh cho Speech API Hệ thống có thể hoàn toàn khống chế được nhiễu âm thanh từ nhiều môi trường khác nhau
Trang 3326
2.6 Xử lý ảnh số
2.6.1 Giới thiệu về ảnh số:
Một ảnh số có thể được biểu diễn bởi một hàm 2 chiều, ( , ), với , là hệ tọa
độ không gian và độ lớn của tại mỗi điểm tọa độ ( , ) được gọi là cường độ hoặc
là mức xám của ảnh tại vị trí đó Khi , và giá trị độ lớn của là những đại lượng rời rạc hữu hạn, chúng ta gọi ảnh đó là ảnh số
Mỗi điểm ảnh tại tọa độ
( , ) trong một ảnh số với độ
xám hoặc độ màu nhất định
được gọi là một pixel Đặc tính
của hàm ( , ) cho mỗi pixel
phụ thuộc vào loại ảnh (ảnh nhị
phân, ảnh xám, ảnh màu…)
Một ảnh số gồm các pixel được
sắp xếp trong một mảng hình
chữ nhật (hoặc gọi là bitmap) Mức xám của ảnh L = 2n
Bit trên mỗi pixel: Giá trị các màu sắc được đại diện bởi số lượng bit trên mỗi pixel (bpp) Mỗi 1 bpp ảnh sử dụng 1 bit cho mỗi pixel, vì vậy mỗi pixel có thể được bật và tắt (ảnh nhị phân) Mỗi một bit được bổ sung thêm sẽ làm tăng gấp đôi số lượng màu, ví dụ ảnh 2bpp có thể có 4 màu, ảnh 3bpp có thể có 8 màu…
1bpp = 21= 2 màu (đen hoặc trắng)
f
) ,
( y x f
Hình 2-12: Biểu diễn cấu trúc ảnh số 2 chiều
Trang 3427
2.6.2 Một số kiểu ảnh số thường gặp:
Ảnh nhị phân (binary image): Ảnh nhị phân là một kiểu ảnh số mà tại mỗi pixel chỉ có thể nhận một trong hai giá trị là 0 hoặc 1 đặc trưng cho màu trắng (mức 1) hoặc đen (mức 0) Ảnh nhị phân có ưu điểm là đơn giản, kích thước nhỏ gọn, thuận tiện cho việc lưu trữ, xử lý, phân tích ảnh
Hình 2-13: Mô tả ảnh nhị phân
Ảnh xám (grayscaledigital image): Ảnh xám là kiểu ảnh 8bit (256 màu), giá trị mỗi pixel được lưu trữ trong 1 byte Ảnh xám là một dạng của ảnh đen trắng với giá trị độ lớn tại mỗi pixel thay đổi từ 0 đến 255 (với ảnh 8bit) tương ứng với mức thay đổi từ màu đen đến màu trắng
Hình 2-14: Thang màu mức xám ảnh 8 bit
Hình 2-15: Biểu diễn ảnh xám [15]
Trang 35Mỗi pixel ảnh màu được biểu diễn như sau: = Khi phối hợp 3 màu cơ bản này, ta có được nhiều màu mong muốn Ví dụ với ảnh màu 8 bit: màu đỏ (256,0,0), xanh lá (0,256,0), xanh dương (0,0,256), vàng (256, 256,0), tím (256,0,256), xanh lơ (0, 256, 256), trắng (256, 256, 256)
2.6.3 Giới thiệu về xử lý ảnh số
Xử lý ảnh số thường được biết đến với tên viết tắt là DIP (Digital Image Proccessing) DIP sử dụng các thuật toán máy tính để phân tích ảnh kỹ thuật số Dưới đây là sơ đồ cơ bản của quá trình xử lý ảnh:
Hình 2-16: Sơ đồ xử lý ảnh số [16]
Các thiết bị thu nhận ảnh phổ biến là máy ảnh kỹ thuật số, máy quay phim, thiết
bị scan, webcam… Nhìn chung các hệ thống thu nhận ảnh thực hiện 2 quá trình là biến đổi năng lượng quang học thành năng lượng điện (cảm biến) và tổng hợp năng lượng điện thành ảnh
Trang 3629
Có 2 loại cảm biến hình ảnh sử dụng phổ biến là loại CCD và CMOS Loại cảm biến CCD có đặc điểm là độ nhạy sáng cao, cho độ phân giải lớn và thể hiện được các dải màu liên tục Loại CMOS thì có độ nhạy sáng thấp hơn nên loại CCD được
sử dụng phổ biến cho các loại máy ảnh kỹ thuật số và camera Tuy nhiên, với sự phát triển của khoa học kỹ thuật hiện đại, loại CMOS đang dần chiếm lại ưu thế bởi khả năng tích hợp cao (ADC, cân bằng sáng…) của loại cảm biến này
Hướng của gradient được xác định bằng công thức: