Giao tiếp giữa người và máy
Nhu cầu thị trường cho robot hiện nay đang gia tăng mạnh mẽ, bao gồm các loại như robot vận chuyển, giám sát và giúp việc Ý tưởng về robot cá nhân và trợ lý robot cũng đã thu hút sự quan tâm từ lâu Robot được sản xuất và phân phối rộng rãi trên toàn cầu Tuy nhiên, để robot có thể thực hiện các nhiệm vụ mới, cần phát triển kỹ thuật và đào tạo người dùng nhằm đảm bảo sự tiện lợi và an toàn trong quá trình hoạt động.
Trong giao tiếp giữa người và máy, hai đặc tính quan trọng cần chú ý là người dùng muốn cấu hình và có thể dạy robot, đồng thời họ cũng muốn giám sát và theo dõi phản ứng của robot Trong cả hai trường hợp, người dùng không trực tiếp vận hành robot mà mong muốn nó hoàn thành các yêu cầu của mình Do đó, việc xác định rõ ràng robot sẽ thực hiện những gì và không nên làm gì là rất quan trọng Giao tiếp giữa người và máy sẽ liên quan đến hai khía cạnh chính.
Người dùng cần có phương thức để dạy robot, tức là phải có khả năng truyền tải yêu cầu của mình đế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 của giao tiếp hiệu quả giữa người dùng và robot phụ thuộc vào khả năng hiểu biết lẫn nhau Giao tiếp này tương tự như mối quan hệ giữa người dạy và người học, trong đó robot thường đóng vai trò là người học Để robot có thể thay đổi và phát triển, nó cần phải hiểu rõ thông tin được cung cấp từ người dạy Do đó, việc đạt được mục đích giao tiếp thành công yêu cầu sự chú ý đến các vấn đề liên quan như ngữ cảnh và cách thức truyền đạt thông tin.
Mục đích của giao tiếp là để trao đổi thông tin, và điều quan trọng là xem xét mức độ trừu tượng của thông tin được truyền đạt trong quá trình nà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
Trong quá trình giao tiếp giữa con người và robot, ba yếu tố quan trọng nhất cần được chú ý là thông số kỹ thuật, lệnh chấp hành và giao tiếp giám sát Việc giao tiếp để lập trình cho robot cũng rất cần thiết Để đạt hiệu quả cao, chúng ta cần xác định rõ ràng các vấn đề một cách cụ thể và sớm nhất có thể.
Dữ liệu lớn – Big Data
Khái niệm về dữ liệu lớn
Dữ liệu lớn (Big data) là thuật ngữ dùng để chỉ những bộ dữ liệu khổng lồ hoặc phức tạp mà các phương pháp truyền thống không đủ khả năng xử lý.
Theo Gartner, dữ liệu lớn bao gồm các nguồn thông tin có khối lượng lớn, tốc độ cao và đa dạng về định dạng Để khai thác hiệu quả, cần áp dụng các phương pháp xử lý mới nhằm đưa ra quyết định chính xác, khám phá thông tin và tối ưu hóa quy trình.
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 là thông tin phát sinh từ các chương trình của tổ chức, bao gồm cả chính phủ và phi chính phủ Ví dụ điển hình của loại dữ liệu này bao gồm hồ sơ y tế điện tử tại bệnh viện, hồ sơ bảo hiểm, và hồ sơ ngân hàng.
Dữ liệu thương mại phát sinh từ các giao dịch giữa hai thực thể, bao gồm các giao dịch thẻ tín dụng và giao dịch trực tuyến, cũng như các giao dịch từ 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 với từng nguồn dữ liệu khác nhau Mỗi nguồn dữ liệu lớn yêu cầu các phương pháp khai thác và quản lý riêng biệt Tuy nhiên, hầu hết các tổ chức trên toàn cầu hiện nay đều lựa chọn hệ sinh thái Hadoop như một giải pháp tối ưu để khai thác và quản lý dữ liệu lớn.
Đặ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:
Khối lượng dữ liệu (Volume) là đặc điểm nổi bật nhất của dữ liệu lớn, với kích thước ngày càng tăng Tính đến năm 2012, khối lượng dữ liệu có thể đạt từ vài chục terabyte đến nhiều petabyte (1 petabyte = 1024 terabyte) cho một tập hợp dữ liệu Trong khi dữ liệu truyền thống có thể được lưu trữ trên các thiết bị như đĩa mềm hay đĩa cứng, dữ liệu lớn yêu cầu công nghệ "đám mây" để đáp ứng nhu cầu lưu trữ khổng lồ này.
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) cho phép dữ liệu được xử lý ngay lập tức sau khi phát sinh, đặc biệt trong các lĩnh vực như Internet, Tài chính, Ngân hàng, Hàng không, Quân sự và Y tế Công nghệ hiện nay giúp xử lý dữ liệu lớn ngay trước khi lưu trữ vào cơ sở dữ liệu Đối với dữ liệu, hơn 80% hiện nay là phi cấu trúc, bao gồm tài liệu, blog, hình ảnh, video và dữ liệu từ thiết bị cảm biến Big data cho phép liên kết và phân tích nhiều dạng dữ liệu khác nhau, như bình luận trên Facebook kết hợp với video từ Youtube và Twitter Độ tin cậy và chính xác của dữ liệu là một thách thức lớn, đặc biệt trong bối cảnh mạng xã hội và sự gia tăng tương tác của người dùng di động, khiến việc xác định độ tin cậy trở nên khó khăn Phân tích và loại bỏ dữ liệu thiếu chính xác là một yếu tố quan trọng trong Big data.
Giá trị của dữ liệu lớn là yếu tố quyết định khi triển khai xây dựng hệ thống dữ liệu này Trước tiên, cần xác định giá trị thông tin mà dữ liệu mang lại để quyết định có nên đầu tư vào dữ liệu lớn hay không Nếu chỉ thu được 1% lợi ích từ dữ liệu lớn, việc đầu tư sẽ không khả thi Kết quả dự báo chính xác là minh chứng rõ ràng cho giá trị của dữ liệu lớn, chẳng hạn như từ dữ liệu trong quá trình khám chữa bệnh, giúp dự đoán sức khỏe tốt hơn, giảm chi phí điều trị và các chi phí y tế liên quan.
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 biệt so với dữ liệu truyền thống, như kho dữ liệu, ở bốn điểm chính: đầu tiên, dữ liệu lớn có tính đa dạng cao hơn; thứ hai, khả năng lưu trữ dữ liệu lớn hơn đáng kể; thứ ba, tốc độ truy vấn dữ liệu nhanh hơn; và cuối cùng, độ chính xác của dữ liệu lớn cũng cao hơn.
Khi khai thác dữ liệu lớn, chúng ta không cần phải lo lắng về định dạng hay kiểu dữ liệu như trong khai thác dữ liệu truyền thống Thay vào đó, điều quan trọng là giá trị mà dữ liệu mang lại có đáp ứng được nhu cầu công việc hiện tại và tương lai hay không Dữ liệu lớn cho phép chúng ta tập trung vào việc phân tích và sử dụng thông tin một cách hiệu quả hơn, mà không bị ràng buộc bởi các yêu cầu về cấu trúc dữ liệu.
Lưu trữ dữ liệu lớn hiện nay đã giải quyết được những thách thức của lưu trữ truyền thống, như câu hỏi về dung lượng và chi phí đầu tư Nhờ vào công nghệ lưu trữ đám mây và phân phối lưu trữ dữ liệu phân tán, người dùng có thể kết hợp và xử lý dữ liệu một cách chính xác và nhanh chóng trong thời gian thực.
Truy vấn dữ liệu nhanh hơn nhờ vào việc 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ường chỉ được cập nhật thỉnh thoảng Sự thiếu cập nhật thường xuyên này dẫn đến lỗi cấu trúc truy vấn, làm cho việc tìm kiếm thông tin theo yêu cầu trở nên khó khăn hơn.
Dữ liệu lớn mang lại độ chính xác cao hơn nhờ vào quy trình kiểm định chặt chẽ Số lượng thông tin được kiểm tra rất lớn, đảm bảo rằng nguồn dữ liệu không bị ảnh hưởng bởi sự can thiệp của con người, từ đó nâng cao độ tin cậy của các số liệu thu thập.
Tổng quan về điện toán đám mây
Điện toán đám mây là một hình thức công nghệ dựa trên Internet, trong đó tài nguyên tính toán và lưu trữ được cung cấp dưới dạng dịch vụ trực tuyến Người dùng không cần có kiến thức chuyên sâu hay kinh nghiệm trong việc vận hành các công nghệ này.
Cloud architecture consists of several key components, including Cloud Platform, Cloud Service, Cloud Infrastructure, and Cloud Storage.
The components of cloud computing encompass applications, clients, infrastructure, platforms, services, and storage.
Điện toán đám mây mang lại nhiều lợi ích, giúp các ứng dụng giảm thiểu sự phụ thuộc vào cơ sở hạ tầng Người dùng chỉ cần thanh toán cho những dịch vụ mà họ thực sự sử dụng, phù hợp với nhu cầu của mình.
Dữ liệu được lưu trữ trên đám mây, cho phép người dùng xử lý và chỉnh sửa hoàn toàn trực tuyến Sự độc lập giữa thiết bị và vị trí giúp người dùng dễ dàng truy cập vào đám mây từ bất kỳ đâu, chỉ cần có kết nối Internet Chi phí sử dụng dịch vụ được tính theo mức độ sử dụng hoặc nhu cầu của khách hàng.
Ưu điểm và nhược điểm
Điện toán đám mây mang lại nhiều lợi ích, trong đó nổi bật là khả năng truy cập dữ liệu toàn cầu Một ưu điểm khác là tính độc lập thiết bị, cho phép người dùng truy cập vào đám mây từ bất kỳ máy tính hay thiết bị nào, miễn là chúng được kết nối với Internet.
Một nhược điểm của việc sử dụng dịch vụ đám mây là người dùng cần có kết nối Internet để truy cập và sử dụng các tiện ích Nếu không có mạng, họ sẽ không thể truy cập dữ liệu, bao gồm cả tài liệu cá nhân Hơn nữa, dữ liệu lưu trữ trên đám mây có thể gặp rủi ro về bảo mật.
Nhận dạng giọng nói
Giới thiệu
Con người luôn tìm cách giao tiếp với các vật thể thông qua ngôn ngữ tự nhiên, điều này cho thấy giao tiếp là một phần không thể thiếu trong cuộc sống Nó không chỉ là công cụ chia sẻ kiến thức giữa các thế hệ mà còn thể hiện nhận dạng và quyền lực Khái niệm nhận dạng giọng nói đã được khai thác trong nhiều bộ phim và chương trình truyền hình, phản ánh sự phát triển công nghệ và hệ thống bảo mật Sự kết hợp giữa trí tưởng tượng và công nghệ cao đã dẫn đến những tiến bộ mới, biến công nghệ nhận dạng giọng nói trở thành một phần thực tiễn và dễ tiếp cận trong cuộc sống hàng ngày.
Tiếng nói là hình thức giao tiếp cơ bản nhất của con người, bao gồm nhiều loại thông tin như nội dung lời nói, cảm xúc, giới tính và đặc điểm của 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 và mô tả các đặc trưng của tiếng nói để nhận diện người.
Hệ thống phát âm của con người
Tiếng nói của con người được tạo ra từ các bộ phận trong miệng, tạo ra sự thay đổi áp suất không khí và những thay đổi này có thể được phát định kỳ và ghi lại dưới dạng sóng kỹ thuật số Hình dạng sóng chứa toàn bộ thông tin của từ nói, và tất cả các tín hiệu lời nói được tạo ra theo cách tương tự Mặc dù chúng ta có thể ghi lại các tín hiệu âm thanh, việc tóm tắt thông tin từ chúng không phải lúc nào cũng đơn giản và dễ hiểu.
Hình dạng ống âm thanh của mỗi người khác nhau, dẫn đến cách phát âm cũng khác biệt Khi một người nói cùng một từ hai lần, tín hiệu giọng nói có thể không chính xác do tần số và thuộc tính âm thanh thay đổi theo thời gian Ngoài ra, môi trường giao tiếp, ngôn ngữ địa phương và sự khác biệt trong chiều dài phát âm giữa nam, nữ và trẻ em cũng góp phần làm đa dạng giọng nói, gây khó khăn trong việc hiểu các tín hiệu lời nói.
Một số đặc điểm trong giọng nói của con người có thể được mô phỏng bằng toán học, cho phép dự đoán từ ngữ dựa trên giọng nói, tuy nhiên, quá trình này yêu cầu nhiều thời gian và công sức.
Không khí đóng vai trò quan trọng trong việc tạo ra âm thanh, mà chủ yếu xảy ra khi con người thở Âm thanh hình thành khi không khí bị cản trở trong các bộ phận của đường hô hấp như 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ó khả năng thay đổi áp suất không khí, tạo ra các dạng sóng Những rung động này được tiếp nhận qua không khí và được xử lý bởi các cơ quan khác nhau trong tai và não bộ.
- Pharynx: yết hầu (cổ họng)
- Larynx opening into Pharynx: đoạn thanh quản mở từ yết hầu
Hình 2-1 minh họa cơ quan chính trong việc tạo ra giọng nói thông qua sự cộng hưởng, phụ thuộc vào hình dạng miệng và vị trí cộng hưởng xác định phát âm của âm vị Các âm vị, là đơn vị nhỏ nhất của ngữ âm, được tạo ra bởi nguyên âm và phụ âm, 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 những âm vị khác nhau, trong đó phụ âm sát (fricatives) yêu cầu ma sát giữ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 giữa im lặng, bật, ma sát và hít vào tạo ra âm bật hơi (plosive), dẫn đến sự hình thành của âm sát và âm tắt sát (affricate).
Không có sự khác biệt rõ rệt giữa các âm vị, đặc biệt là nguyên âm Tuy nhiên, trong quá trình nói, động lực miệng thay đổi, dẫn đến sự khác biệt trong tốc độ nói Một số người nói chậm trong khi những người khác nói nhanh Độ dài của âm vị được phát ra thay đổi theo các yếu tố như tốc độ giọng nói, độ dài âm vị, và sự nhấn mạnh của âm tiết cũng như từ ngữ.
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 sử dụng bộ chuyển đổi tương tự sang số (ADC), với các thông số quan trọng như số bit cho mỗi mẫu (thường từ 8 đến 16 bit) và tần số lấy mẫu (thường từ 8kHz đến 16kHz) Những thông số này ảnh hưởng đáng kể đến hiệu năng, độ phức tạp thiết kế và kết quả nhận dạng của hệ thống nhúng.
Trong môi trường công nghiệp, tín hiệu đo và điều khiển thường bị nhiễu, do đó, cần thiết phải có một bộ kiểm soát âm lượng để xử lý tín hiệu thu vào một cách hiệu quả.
Trích chọn đặc trưng
Mục tiêu của bộ trích đặc trưng là chuyển đổi tín hiệu tiếng nói thành chuỗi vector đặc trưng, mang thông tin quan trọng về âm thanh của câu nói Đối với mọi hệ thống nhận dạng tiếng nói, các đặc trưng ngữ âm cần phải đảm bảo các tính chất nhất định.
- 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
Tín hiệu Tiếng nói Chia Frame Frames FFT Power
Spectrum Áp dụng Mel Filter Banks
Hình 2-2: Các bước rút trích đặc trưng MFCC từ tín hiệu âm thanh [8]
Trong lĩnh vực nhận dạng tiếng nói, các đặc trưng lý tưởng với ba tính chất thường không tồn tại trong thực tế Hai đặc trưng phổ biến được sử dụng là MFCC (Mel-Frequency Cepstral Coefficients) và LSP (Line Spectral Pairs).
Các hệ thống 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 khung có độ dài từ 5-15 ms Mỗi khung sẽ tạo ra một vector đặc trưng, và toàn bộ tín hiệu sẽ được biểu diễn dưới dạng một dãy vector Phương pháp MFCC, dựa trên đặc điểm cảm thụ tần số âm của tai người, được sử dụng phổ biến trong nhiều hệ thống nhận dạng tiếng nói, với tính năng tuyến tính cho tần số dưới 1kHz và phi tuyến cho tần số trên 1kHz theo thang tần số mel Sơ đồ tính đặc trưng MFCC là một phần quan trọng trong quy trình này.
Hình 2-3: Chi tiết bước trích chọn MFCC
Hiện nay, bên cạnh các đặc trưng MFCC và các đặc trưng truyền thống như LPC, PLP, nhiều đặc trưng khác như Wavelet, chiều Fractal, Tiger và các đặc trưng siêu đoạn tính như F0, formant đang được sử dụng để cải thiện độ chính xác nhận dạng Những đặc trưng bổ sung này được áp dụng nhằm nâng cao chất lượng nhận dạng bằng cách khai thác các đặc điểm đặc trưng của tín hiệu âm thanh.
- 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 trên tần số cơ bản F0 giúp giảm thiểu sự phụ thuộc của hệ thống nhận dạng vào đặc điểm của từng người nói, từ đó nâng cao chất lượng nhận diện tiếng nói.
Hình 2-5: MFCC đã biến đổi
Đặc trưng MFCC chuẩn được ưa chuộng nhờ vào sự đơn giản, tính truyền thống và độc lập ngôn ngữ của nó Hơn nữa, MFCC đã xuất hiện sớm trong các nghiên cứu công bố về nhận dạng tiếng nói, góp phần vào sự phổ biến của nó trong lĩnh vực này.
Phương pháp nhận dạng tiếng nói
Một nhược điểm của mô hình HMM là khả năng mô hình hóa âm thanh, dẫn đến việc hệ thống dễ dàng nhận dạng nhầm các nhiễu cộng trong quá trình nhận diện Tỷ lệ lỗi nhận dạng chèn trong hệ thống HMM khá cao khi làm việc với các phát âm có nhiều nhiễu, và độ chính xác nhận dạng ở mức câu thường thấp.
Mặc dù hệ thống nhận dạng dựa trên mạng nơ ron có độ chính xác cao trong nhận dạng âm vị và từ rời rạc, nhưng chúng vẫn gặp khó khăn trong việc nhận dạng tiếng nói liên tục Nguyên nhân chính là do các mô hình mạng nơ ron chưa đủ khả năng để mô hình hóa sự biến thiên theo thời gian của tín hiệu tiếng nói.
Mô hình lai HMM kết hợp với ANN cho phép phát hiện nhiễu hiệu quả, tránh nhận dạng nhầm âm vị Tỷ lệ lỗi nhận dạng nhầm thấp, hệ thống này có khả năng chịu đựng ảnh hưởng của nhiễu và âm thanh đan xen, đồng thời vẫn duy trì khả năng nhận dạng 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 CD-HMM.
Hình 2-6: Mô hình mạng lai ghép HMM/ANN
Hiện nay, nghiên cứu về hệ nhận dạng lai ghép giữa mạng neuron và mô hình Markov ẩn (HMM/ANN) đang được chú trọng nhằm khắc phục nhược điểm của cả hai phương pháp Mục tiêu là kết hợp khả năng phân lớp của mạng neuron với khả năng mô hình hóa thông tin thời gian của mô hình Markov ẩn Đầu ra mong đợi của mạng neuron chính là xác suất để mô hình ở trạng thái S i vào thời điểm t.
Các mô hình nhận dạng
Hệ thống nhận dạng giọng nói hiện đại chủ yếu dựa vào các mô hình thống kê, áp dụng xác suất và các hàm toán học để xác định ngõ ra tối ưu từ tín hiệu lời nói Để tính toán các tính năng, các hệ thống này sử dụng một tập hợp lớn dữ liệu từ các mô hình thử nghiệm.
Mô hình thống kê yêu cầu việc mô hình hóa âm thanh thông qua mô hình Hidden Markov, nơi các thông số được điều chỉnh dựa trên tín hiệu thoại và tô pô âm thanh Các dạng sóng lời nói được chuyển đổi thành các thông số tính toán bằng kỹ thuật tần số MFCC (Mel frequency cepstral coefficients), tạo ra các con số quan trọng Trong quá trình nhận dạng, các trình tự được tính toán từ mô hình có sẵn, và từ ngữ có xác suất cao nhất sẽ được xem là kết quả cuối cùng của lời nói ở dạng sóng.
Mô hình Hidden Markov Model
Mô hình Hidden Markov Model (HMM) là công cụ mạnh mẽ trong việc dự đoán và phân tích chuỗi thời gian dựa trên xác suất HMM có thể được áp dụng dễ dàng cho nhiều loại chuỗi thời gian, làm cho nó trở thành lựa chọn phổ biến trong các hệ thống thông minh Các lĩnh vực như robotics, y học, tài chính, máy phiên dịch và nhận dạng giọng nói là những ví dụ tiêu biểu cho việc ứng dụng HMM.
Trong xác suất, hai sự kiện được coi là độc lập khi kết quả của sự kiện này không ảnh hưởng đến kết quả của sự kiện kia Ngược lại, các sự kiện phụ thuộc xảy ra khi một sự kiện ảnh hưởng đến kết quả của sự kiện khác Markov đã phát minh ra chu trình ngẫu nhiên mang tên Chuỗi Markov, thể hiện mối liên hệ giữa các sự kiện trong xác suất.
Mô hình Markov là một hệ thống trong đó mỗi 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 nhất là chuỗi Markov bậc nhất, trong đó giai đoạn hiện tại chỉ phụ thuộc vào giai đoạn ngay trước đó Giai đoạn hiện tại có khả năng xác định các điều kiện trong tương lai mà không bị ảnh hưởng bởi các 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 thể hiện xác suất chuyển đổi của thời tiết Trong ví dụ này, phân bố ban đầu (π) cho phép tính toán xác suất cho bất kỳ số lượng trình tự các tiểu bang có thể xảy ra Giả sử xác suất ban đầu là
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 xác định, nhưng nhiều ứng dụng thực tế lại có tính không xác định Hidden Markov Model (HMM) là phần mở rộng tự nhiên của chuỗi Markov, trong đó các giai đoạn bên trong bị giấu kín và có thể tạo ra các biểu tượng quan sát được Các ký hiệu quan sát 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 HMM đã được áp dụng trong nhận diện giọng nói từ lâu, với khái niệm này được giới thiệu 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 a ij = P(q t+1 = S j | q t = S i ) (2.3)
In the context of observation symbol probability distribution in a given state, B={b j (k)} represents the likelihood of observing a specific symbol v k while in state j at time t The probability b j (k) is mathematically defined as P(v k at time t | q t = S j), indicating the probability of observing v k at time t given that the system is in state S j.
(2.5) π = { π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: πi =P(q 1 =S i )
Với các giá trị thích hợp A, B, π, M, N, một mô hình Markov ẩn được dùng để sinh ra một dãy các quan sát:
Trong đó O i lấy một trong các giá trị trong V Hoạt động của HMM được mô tả như sau:
Chọn một trạng thái khởi đầu q 1 tương ứng với xác suất trạng thái khởi đầu π
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 0 là hệ số thay đổi độ tương phản, hệ số thay đổi độ sáng của ảnh
Trong đó, là ảnh ban đầu, là ảnh sau khi hiệu chỉnh Độ sáng cao Histogram
Hình 2-22: Tăng độ sáng và giản đồ histogram
Số lượng Độ sáng thấp Histogram Hình 2-23: Giảm độ sáng và giản đồ histogram Độ tương phản cao Histogram
Hình 2-24: Tăng độ tương phản và giản đồ histogram Độ tương phản thấp Histogram
Hình 2-25: Giảm độ tương phản và giản đồ histogram
Biểu đồ histogram cho thấy rằng khi điều chỉnh độ sáng, giá trị của nó sẽ dịch chuyển sang trái hoặc phải Ngược lại, khi thay đổi độ tương phản, giá trị histogram sẽ mở rộng ra hai biên hoặc co lại về giữa.
Phát hiện biên là quá trình xác định các đường biên giới hoặc đường bao trong ảnh, nơi có sự thay đổi đáng kể về các tính chất vật lý như cường độ, màu sắc và kết cấu bề mặt Việc phát hiện biên đóng vai trò quan trọng trong nhận dạng và phân vùng ảnh, giúp cải thiện khả năng phân tích hình ảnh.
Có nhiều phương pháp phát hiện biên cơ bản như Gradient, Roberts, Sobel và Canny, trong đó Sobel và Canny là hai phương pháp phổ biến nhất.
Hình 2-26: Tách biên bằng phương pháp Sobel và Canny
Phương pháp Canny được thực hiện qua 5 bước:
1- Tìm gradient: Làm mờ ảnh để loại nhiễu Sử dụng bộ lọc Gaussian để loại bỏ nhiễu tần số cao cùng mặt nạ cuộn 5x5
Trong đó, là ảnh đang xét, ( , ) là hàm gaussian với mặt nạ cuộn 2- Tính độ lớn gradient: Biên được phát hiện thông qua sự thay đổi lớn gradient
3- Xác định hướng của các điểm biên:
4- Phát hiện các điểm cực đại địa phương
5- Liên kết các điểm biên.
Các ứng dụng cơ bản của công nghệ xử lý ảnh số
Trong y học: Sử dụng phổ biến trong chụp cộng hưởng từ MRI, quét biên dạng, làm rõ nét biên dạng, ảnh X quang…
Nhận dạng: Công nghệ xử lý ảnh được sử dụng rộng rải trong việc nhận dạng dấu vân tay, nhận dạng chữ viết, nhận dạng khuôn mặt…
Trong công nghiệp sản xuất: Phân loại sản phẩm, theo dõi sản phẩm, hệ thống…với độ tin cậy cao
Robot là công nghệ xử lý tiên tiến, cho phép tạo ra hệ thống có khả năng tương tác linh hoạt với môi trường xung quanh Công nghệ này đóng vai trò quan trọng trong việc cung cấp thị giác cho robot, giúp chúng nhận diện và phản ứng với các yếu tố xung quanh một cách hiệu quả.
Camera calibration
Về mặt hình học, mô hình này bao gồm một mặt phẳng ảnh và một tâm điểm
C nằm trên mặt phẳng tiêu cự
Một đặc điểm cơ bản của mô hình này là tất cả các điểm ảnh trên mặt phẳng ảnh sẽ thẳng hàng với các điểm qua, tức là các điểm nằm trên một đường thẳng Điểm này được gọi là tâm quang, trong khi đường thẳng vuông góc với nó được gọi là trục quang và điểm chính.
Lý thuyết camera calibration sử dụng mô hình pinhole
Gọi ( , , , ) là hệ tọa độ camera, ( , , , ) là hệ tọa độ của các điểm ảnh
Khi thay mặt phẳng bằng một mặt phẳng khác ở phía bên kia, các tính chất hình học sẽ giữ nguyên Trong hệ tọa độ mới, mỗi điểm (x, y) sẽ có tọa độ 3D tương ứng là (x, y, z).
Trong phép chiếu hình học, mọi điểm trên một đường thẳng vuông góc với mặt phẳng chiếu sẽ chỉ cho ra một điểm duy nhất khi được chiếu xuống mặt phẳng đó Do đó, với bất kỳ điểm nào (x, y, z), tỷ lệ (x', y', z') khi chiếu qua điểm đó cũng chỉ cho ra một điểm duy nhất (x', y') Từ lập luận này và công thức (3.1), ta có thể rút ra kết luận quan trọng về tính chất của phép chiếu hình học.
Phương trình (3.2) có thể được viết lại như sau:
(2.35) gọi là ma trận chiếu phối cảnh
Như vậy với mỗi một điểm ( , , )và một điểm ảnh tương ứng ( , )ta có thể viết lại :
Trong thực tế, một đối tượng có thể được biểu diễn bằng bất kỳ hệ tọa độ 3D nào, không chỉ riêng hệ tọa độ camera như giả định Để thực hiện các phép tính trên các hệ tọa độ này, phương pháp đơn giản nhất là chuyển đổi về hệ tọa độ camera Giả sử một điểm bất kỳ trong hệ tọa độ bất kỳ sẽ trở thành một điểm trong hệ tọa độ camera thông qua các phép quay và tịnh tiến.
Ma trận và vector là hai yếu tố quan trọng mô tả hướng và vị trí tương đối giữa hệ tọa độ camera và hệ tọa độ thực tế Ma trận bao gồm ba phép quay (theo trục X, Y, Z), trong khi vector chứa ba phép tịnh tiến Các thông số này được gọi là thông số ngoại của camera.
Trong thực tế, tâm của ảnh không phải lúc nào cũng trùng với điểm chính CI, và tỷ lệ theo các trục u, v cũng có thể khác nhau Để mô tả những sai lệch này, người ta sử dụng một ma trận K Cuối cùng, mối quan hệ giữa một điểm trong thực tế MW và một điểm ảnh MI có thể được diễn tả thông qua một công thức cụ thể.
Tỷ lệ dọc theo hai trục của ảnh được xác định bởi điểm chính của hệ tọa độ, với gốc tọa độ thay cho điểm ở trên Góc giữa hai trục thể hiện độ méo của ảnh; trong trường hợp ảnh lý tưởng, hai trục này vuông góc với nhau và góc này sẽ bằng 0.
Hình 2-30: Tương quan của ảnh lý tưởng và thực tế
Để tái tạo các điểm 3D thực tế từ ảnh, việc xác định mối quan hệ giữa các điểm ảnh và điểm thực tế là rất quan trọng Đầu tiên, cần xác định các thông số của camera, bao gồm 5 thông số nội và 6 thông số ngoại Quá trình tìm kiếm các thông số này được gọi là calibrate camera Do mỗi camera có ống kính và vị trí khác nhau, không có một thông số chung cho tất cả các loại camera, vì vậy cần thực hiện quá trình hiệu chỉnh cho từng camera riêng biệt.
Nhận diện hình ảnh của Google
Hình 2-31: Nhận diện hình ảnh và chữ viết của Google vision
Google vừa phát hành phiên bản beta mới cho ứng dụng trên cloud, cho phép phát hiện khuôn mặt, dấu hiệu, mốc, đối tượng, văn bản và cảm xúc trong cùng một bức ảnh.
Google Cloud Vision API, được phát triển dựa trên các công nghệ tiên tiến của Google, cho phép người dùng và nhà phát triển phân loại hình ảnh theo nhiều tiêu chí khác nhau.
Vision API của Google có khả năng nhận diện các đối tượng trong hình ảnh, từ văn bản trên bảng hiệu đến thực phẩm trên đĩa và khuôn mặt trong đám đông Nhờ vào công nghệ tìm kiếm an toàn, các API này có thể được lập trình để phát hiện hình ảnh chứa nội dung không phù hợp và lọc các hình ảnh khác theo chủ đề.
API của Google cung cấp tính năng nhận diện khuôn mặt, cho phép phát hiện các hình ảnh thể hiện cảm xúc như sự sợ hãi Điều này cho thấy rằng nền tảng điện toán đám mây của Google có khả năng nhận diện cảm xúc một cách dễ dàng, tương tự như việc nhận diện các đối tượng như bánh taco hay cá vàng Các API này chủ yếu được sử dụng để phát triển sản phẩm.
Công nghệ nhận diện hình ảnh đang mở ra nhiều khả năng mới cho các ứng dụng, như việc xác định thương hiệu quần áo chỉ bằng một bức ảnh của người mẫu, hoặc liệt kê chính xác mô hình xe hơi và máy tính trong các quảng cáo rao vặt chỉ qua việc tải lên hình ảnh.
Google đã nêu ra một số ứng dụng tiềm năng cho Vision API, bao gồm việc hỗ trợ các trang web lưu trữ hình ảnh trong việc gắn cờ bản quyền và phát hiện các hình ảnh phản cảm, cũng như giúp máy tính nhận diện các đối tượng hoặc khuôn mặt trong hình ảnh.
Kể từ đầu năm 2016, các nhà phát triển đã có thể sử dụng Google Cloud Vision API với 1.000 ứng dụng miễn phí cho mỗi tính năng mỗi tháng Đối với những ai cần bộ lọc hình ảnh nâng cao hơn, mức phí sẽ dao động từ $0,60 đến $5 mỗi tháng tùy thuộc vào mức độ sử dụng.
TÍNH TOÁN VÀ THIẾT KẾ
Nguyên lý hoạt động của hệ thống
Hệ thống phục vụ tại khu vực biết trước được thiết kế để cung cấp thông tin cho khách hàng khi họ đến và cần hỗ trợ Hệ thống bao gồm màn hình hiển thị, camera và micro để nhận diện yêu cầu của khách Người dùng có thể giao tiếp trực tiếp hoặc ghi địa chỉ cần đến Sau khi tiếp nhận thông tin, hệ thống sẽ nhanh chóng cung cấp các dữ liệu cần thiết như thời tiết, thời gian và địa điểm.
Phương thức hoạt động của bộ xử lý trung tâm
Sau khi đón tiếp khách và nhận được thông tin yêu cầu hỗ trợ thì có hai phương thức xử lý thông tin như sau:
Hệ thống gồm các robot độc lập với bộ xử lý ngoại tuyến, không sử dụng điện toán đám mây Ưu điểm:
- Do không phụ thuộc vào tốc độ kết nối với máy chủ, nên bộ xứ lý thông tin nhanh
- Khả năng tùy biến của hệ thống cao, do người lập trình quyết định Nhược điểm:
Để xử lý thông tin ngoại tuyến, robot cần có khả năng lưu trữ lớn và tốc độ xử lý cao, vì dữ liệu được lưu trữ trực tiếp trên thiết bị.
- Cở sở dữ liệu của hệ thống do người dùng riêng lẽ phát triển, không được kết nối với nhau nên khả năng cập nhật hạn chế
Hình 3-2: Robot đang phục vụ tại các quán ăn
Hệ thống xử lý của robot hoạt động trực tuyến, với chức năng như một thiết bị ngoại vi, trong đó việc thu thập và tiền xử lý dữ liệu là rất quan trọng Tất cả thông tin thu thập được sẽ được chuyển về điện toán đám mây để xử lý.
Hình 3-3: minh họa cho một trạm robot đang phục vụ khách Ưu điểm:
- Hệ thống xử lý của robot được giảm nhẹ rất nhiều do chỉ thu thập thông tin và phản hồi thông tin đến người dùng
- Cơ sở dữ liệu của điện toán đám mây rất đa dạng và phong phú, nên có thể xử lý được nhiều đối tượng khác nhau
- Cơ sở dữ liệu được phát triển và kế thừa nên khả năng mở rộng cao Hệ thống được cải tiến theo thời gian
- Với điện toán đám mây khả năng phát triển theo mạng robot và dễ dàng trao đổi thông tin giữa các robot với nhau
- Nhược điểm lớn nhất của hệ thộng xử lý trực tuyến là phụ thuộc nhiều vào đường truyền Internet tại nơi lắp đặt
- Do được phát triển bởi bên thứ ba nên khả năng tùy biến còn hạn chế, phụ thuộc vào giao thức bên nhà cung cấp.
Bộ xử lý nhúng
Điện toán đám mây do Google phát triển đã giúp các thiết bị di động hiện nay trở nên hoàn thiện hơn Nhờ vào công nghệ này, các nhà phát triển có thể tập trung vào việc phát triển phần mềm ứng dụng mà không phải lo lắng về hạ tầng.
Mặc dù có nhiều thuận lợi trong thiết kế hệ thống đặc thù, nhưng vẫn tồn tại khó khăn do không thể can thiệp vào phần cứng Tuy nhiên, công nghệ chế tạo mạch điện hiện nay cho phép dễ dàng tìm kiếm và xây dựng hệ thống giao tiếp trên các mạch xử lý nhúng Các mạch nhúng hiện đại có tốc độ xử lý cao và hỗ trợ nhiều phương thức giao tiếp đa dạng, giúp chúng ta làm chủ phần cứng và linh hoạt trong việc tích hợp vào hệ thống.
Sơ đồ tổng quát hệ thống
Với phương thức đã chọn hệ thống nhúng và phương thức xử lý trực tuyến nên hệ thống được tổng quát như sau
Hình 3-4: Sơ đồ khối tổng quát hệ thống
- Khối nguồn gồm các nguồn cấp cho toàn bộ hệ thống
Mạch chủ sử dụng Raspberry Pi 3 để nhận thông tin từ camera, micro, GPS và các cảm biến khác Sau đó, nó xử lý dữ liệu trên nền tảng điện toán đám mây Google và hiển thị kết quả trên màn hình.
- Khối hiển thị là màn hình LCD 7inch và các led hiển thị khác, dùng để hiển thị các thông giao tiếp với người dùng
GPS Thân robot Điện toán đám mây Google
- Khối camera, micro được tích hợp chung trong camera logitech C270, dùng để nhận giọng nói và hình ảnh của người dùng để đưa về mạch chủ.
Lưu đồ giải thuật
Quá trình giao tiếp và hỗ trợ người dùng được mô tả theo lưu đồ sau.
Hệ điều hành nhân Linux
Linux là một hệ điều hành bao gồm nhân kernel, chịu trách nhiệm quản lý tài nguyên phần cứng và phần mềm, cùng với một bộ sưu tập ứng dụng người dùng như thư viện, trình quản lý cửa sổ và các ứng dụng khác.
Hình 3-6: Cấu trúc tổng quát của một hệ thống Linux [4]
Sơ đồ trên minh họa các thành phần quan trọng, trong đó tầng cuối cùng là một tập hợp mã kiến trúc cho phép Linux hỗ trợ nhiều nền tảng phần cứng như ARM và PowerPC.
Hình 3-7: Giao diện hệ điều hành Ubuntu Desktop 10.04 nhân Linux
Linux nổi bật với tính di động cao, cho phép hệ thống con của trình điều khiển hỗ trợ nạp các mô-đun động mà không làm giảm hiệu năng Điều này tạo ra tính mô-đun linh hoạt cho hệ thống, mang lại nhiều lợi ích cho người dùng.
Các ưu điểm nổi bật của Linux
Linux là một hệ điều hành mã nguồn mở, cho phép người dùng tùy chỉnh dễ dàng mà không cần sự cho phép của bất kỳ tổ chức nào, như Microsoft với Windows Với sự hỗ trợ từ một cộng đồng lớn, việc tìm kiếm phiên bản Linux phù hợp với nhu cầu không hề khó khăn Hệ điều hành này cũng nổi bật với tính linh hoạt khi tương thích với nhiều môi trường khác nhau Đặc biệt, Linux có cơ chế phân quyền rõ ràng, chỉ cho phép người dùng "root" thực hiện cài đặt và thay đổi hệ thống, trong khi người dùng bình thường có thể tạm thời nâng quyền để thực hiện một số thao tác cần thiết Điều này giúp duy trì sự ổn định và an toàn cho hệ thống.
Tính chất "mở" của Linux không chỉ mang lại tính linh hoạt mà còn đảm bảo an toàn cho hệ thống Khi phát hiện lỗ hổng bảo mật, cộng đồng mã nguồn mở sẽ nhanh chóng hợp tác để khắc phục, thường chỉ trong vòng 24 giờ sau khi phát hiện.
Linux hoạt động ổn định trên nhiều hệ thống phần cứng khác nhau, từ Intel 486 đến các máy Pentium hiện đại, và có thể chạy trên các thiết bị với dung lượng RAM chỉ 4MB cho đến những cấu hình mạnh mẽ nhất.
Hệ thống nhúng là hệ thống tự trị được tích hợp vào môi trường hoặc hệ thống mẹ, bao gồm cả phần cứng và phần mềm Chúng phục vụ cho các bài toán chuyên dụng trong nhiều lĩnh vực như công nghiệp, tự động hóa điều khiển, quan trắc và truyền tin Đặc điểm nổi bật của hệ thống nhúng là khả năng hoạt động ổn định và tính năng tự động hóa cao.
Hệ thống nhúng được thiết kế để thực hiện chức năng chuyên biệt, khác với máy tính đa chức năng như máy tính cá nhân Chúng chỉ thực hiện một hoặc vài chức năng nhất định, đi kèm với yêu cầu cụ thể và sử dụng thiết bị phần cứng chuyên dụng Việc tối ưu hóa cho các nhiệm vụ cụ thể giúp giảm kích thước và chi phí sản xuất Hệ thống nhúng thường được sản xuất hàng loạt với số lượng lớn.
Hệ thống nhúng rất đa dạng, bao gồm cả thiết bị cầm tay nhỏ gọn như đồng hồ kỹ thuật số và máy nghe nhạc MP3, cũng như các sản phẩm lớn như đèn giao thông và bộ kiểm soát trong nhà máy Về độ phức tạp, hệ thống nhúng có thể đơn giản với một vi điều khiển hoặc phức tạp hơn với nhiều đơn vị, thiết bị ngoại vi và mạng lưới trong một lớp vỏ máy lớn.
Hình 3-8: Một số thiết bị sử dụng hệ thống nhúng [4]
THỰC NGHIỆM VÀ KẾT QUẢ