Các mơ hình nhận dạng

Một phần của tài liệu Nghiên cứu phương thức giao tiếp giữa người và máy dựa trên công nghệ điện toán đám mây, sử dụng trong robot dịch vụ (Trang 25)

2.4 Nhận dạng giọng nói

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 tốn học để tính tố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 tốn các tính năng. [19; 20]

Mơ hình thống kê 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 tố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 tố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 2.4.7 Mơ hình Hidden Markov Model

Mơ hình Hidden Markov Model (HMM) được sử dụng để dự đố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ử

19

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 tốn. Ví dụ, giả sử xác suất ban đầu là

= ( ó ắ ) ( ℎ ề â ) = 0.7 0.3 à = 0.8 0.2 0.4 0.6 ; (2.1)

20

Thì xác suất của ba ngày nắng kế tiếp có thể được tính tố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= {S1, S2, S3, ...} và trạng thái của mơ hình tại thời điểm t được kí hiệu là qt, 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= {v1, v2, ...}, A = {aij} là

xác suất chuyển trạng thái (state transition probability distribution). Trong đó aij

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 .

aij = P(qt+1 = Sj | qt = Si ) (2.3)

(2.4)

B={bj(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.

21

bj(k) = P(vktại thời điểm t | qt = Sj),

(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(q1=Si)

(2.6)

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:

O= {O1, O2, O3, ...}

Trong đó Oi 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 q1 tương ứng với xác suất trạng thái khởi đầu π. Gán t=1.

Chọn Oi = vk tương ứng với xác suất quan sát tại trạng thái Si: bi(k).

Chuyển sang trạng thái mới qt+1 = Sj tương ứng với xác suất chuyển trạng thái aij.

22

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, O2,

..., O6} đượ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:

23

Bước 2: Hiệu chỉnh lại tham số mô h́nh HMM:

* = 1 argmax ∑ log ( | , , ) (2.8)

Bước 3: Đặt = *, lặp lại tới khi mơ hình hội tụ. Nhận dạng với HMM:

Đầ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:

( , = ({ }) ) = ∑ log ( | , ) (2.9)

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:

(2.10)

Ở hình 3-7 Một ví dụ của phân bố Gaussion, được xem như là phân bố thông thường

24

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 q 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 tồ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, ngồi ra cịn nhiều ứng dụng khác.

25

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 tồ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ể hồn tồn khống chế được nhiễu âm thanh từ nhiều môi trường khác nhau.

26 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). 2bpp = 22= 4 màu.

8bpp = 28 = 256 màu.

16bpp = 216 = 65.536 màu (Highcolor). 24bpp = 224 = 16,8 triệu màu (Truecolor).

x y ) 0 , 0 ( f ) , ( yx f

27 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.

28

Ảnh màu (color image): Để thể hiện hình ảnh một cách trực quan, mỗi pixel phải thể hiện được 3 kênh màu trong không gian màu. Các không gian màu thường được sử dụng là RGB (Red, Green and Blue), YCbCr, HSV (Hue, Saturation and Value). Ảnh màu có thể là ảnh 4bit, 8bit, 32bit…Trong đó, khơng gian màu RGB được sử dụng phổ biến trong xử lý ảnh. Không gian RGB là sự kết hợp của 3 màu cơ bản là màu đỏ, xanh lá và xanh dương (Red – Green - Blue).

Mỗ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 tố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.

29

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.

2.6.4 Xử lý ảnh:  Gradient của ảnh:  Gradient của ảnh:

Gradient là một véctơ có các thành phần biểu thị tốc độ thay đổi giá trị của điểm ảnh.

∇ = , (2.12)

Trong đó: = ∆ = ( , ) ( , ) , (2.13)

= ∆ = , ( , ) (2.14)

Với , : khoảng dịch chỉnh theo x và y; trong ảnh số = = 1

∆ = ( + 1, ) − ( , ) , ∆ = ( , + 1) − ( , ) (2.15) Gradient của 1 điểm ảnh với hướng thay đổi về cường độ sáng:

Hướng của gradient được xác định bằng công thức:

= ∆

∆ (2.16)

Độ lớn của gradient điểm ảnh có thể được xác định bằng cơng thức: ∇ =[∆ ,0]

∇ =[0,∆ ]

30

‖∇ ‖ = + = (∆ ) + ∆ (2.17)

Gradient được tính thơng qua việc trượt ma trận mặt nạ (nxn) lên ảnh được phân tích. Mặt nạ này được gọi là mặt nạ cuộn hay kernel.

Tính gradient trong ảnh thật sự hữu ích cho việc tách biên dạng vật, từ đó có thể khoanh vùng và phân đoạn ảnh phục vụ cho việc xử lý, phân tích.

 Làm mượt ảnh và lọc nhiễu.  Mặt nạ cuộn trong ảnh:

Xét ảnh = ( , )có kích thước ( )và mặt nạ có kích thước ( ) Giá trị ( , ) được xác định bằng cách trượt mặt nạ qua từng pixel của ảnh tại vị trí ( , ), có cơng thức tổng qt:

( , ) = ⨂ = ∑ ∑ ( , ) ∗ ( + , + ) (2.18)

VD: với mặt nạ cuộn có kích thước 3x3

( , ) = 0 ∗ 21 + 1 ∗ 22 + 0 ∗ 23 + 1 ∗ 31 + 0 ∗ 32 + 1 ∗ 33 + 0 ∗ 41 +

1 ∗ 42 + 0 ∗ 43 = 128 (2.19)

 Lọc ảnh: có nhiều phương pháp lọc ảnh khác nhau như lọc trung vị (median), lọc tuyến tính (linear), lọc Gaussian… Trong đó, bộ lọc Gaussian được sử dụng phổ biến.Hàm gaussian cơ bản:

31

Với là trị trung bình hoặc vị trí đỉnh, là phương sai. Hàm gaussian tiêu chuẩn thì = 0 và = 1.

Hình 2-17: Biểu đồ Gauss.

Lọc gaussian sử dụng mặt nạ cuộn với kích thước 3x3, 5x5, 7x7…

( , ) = ( , ) ( + , + ) = ( ) ( + , + )

= ∑ ∑ ( + , + ) (2.20)

Thông thường lọc gaussian cho ảnh I với mặt nạ cuộn kích thước nxn sẽ được tiến

Một phần của tài liệu Nghiên cứu phương thức giao tiếp giữa người và máy dựa trên công nghệ điện toán đám mây, sử dụng trong robot dịch vụ (Trang 25)

Tải bản đầy đủ (PDF)

(75 trang)