Các l oi môhình Markov n:

Một phần của tài liệu Kỹ thuật nhận dạng tiếng nói thành lệnh ứng dụng trong công nghiệp (Trang 56)

Có nhi u cách phân lo i các mô hình Markov n,ătrongăđóăng iătaăth ng phân bi t các mô hình Markov n theo tính ch t c a hàm phát x quan sát. Có ba lo i mô hình Markov n là: mô hình Markov n r i r c, mô hình Markov n liên t c và mô hình Markov n bán liên t c.

 Mô hình HMM r i r c:ă ă Trongă môă hìnhă nƠyă khôngă giană cácă đ c tính ph đ c chia thành m t s h u h n các vùng bằngăph ngăphápăl ng t hóa vector VQ. Tr ng tâm c a mỗiăvùngăđ c bi u di n bằng m t t mã mà thực ch t là m t ch s ch t i codebook. M t khung tín hi uăđ c bi n đ i thành m t t mã bằng cách tìm m t vector g n nó nh tă trongă codebook.ă Nh c đi m c a mô hình này là có sai s trongăquáătrìnhăl ng t hóa nh t là khi kíchăth c c a codebook là nh ,ăng c l i n uăkíchăth c c a codebook l n thì s l ng các phép tính s tĕngălên.

 Mô hình HMM liên t c:ăNh căđi m c a mô hình HMM r i r c có th đ c kh c ph c bằng cách dùng mô hình HMM liên t c là CD ậ HMM. Trong ph ngăphápănƠyăkhôngăgianăcácăđ c tính ph đ c mô hình hóa bằng các hàm m tăđ xác su t,ăthôngăth ng là hàm tr n c aăcácăhƠmăGauss.ăNh c đi m c a mô hình này là mỗi tr ngătháiăđ có các tham s c a riêng chúng, doăđóămƠăs l ng các tham s r t l n, vì v y s x y ra v năđ khôngăđ d li uăđ hu n luy n cho các tr ng thái. Ngoài ra mô hình liên t c s có th i gian tính toán khá lâu.

 Mô hình HMM bán liên t c: là mô hình h t h p gi a mô hình HMM r i r c và mô hình HMM liên t c. Gi ngănh ămôăhìnhăr i r c, trong mô hình bán liên t căcũngăcóăcácăcodebookămôăt cácăvùngăđ c dùng chung cho t t c các tr ng thái. Tuy nhiên, thay vì bi u di n các vùng bằng m t tr ng tâm thì các vector lân c n s đ c nhóm vào làm m t,ăcácăvùngăđ c bi u di n b i các hàm m tăđ xác su t liên t c Gauss trong vùng không gian lân c năđ tránh các lỗi c aăl ng t hóa.

Ch ng 5:

THI T K PH N C NG VÀ M CH ĐI U KHI N

ROBOT

5.1.T ng quan v ph n c ng c a h th ng

Môăhìnhăđi u khi n robot th hi n c măxúcăđ c thi t k nh ăhìnhă5.1:

H̀nh 5.1:Môăhốnhănhốnătr c.H̀nh 5.2:Môăhốnhănhốnănghiêngă. 1. L năl tălƠăcácăđ ngăc ăRCăservo th 1, th 2, th 3 ( t trái qua ph iă)ăđ

đi u khi n lông mày bên trái .

2. L năl tălƠăcácăđ ngăc ăRCăservoăth 4, th 5, th 6 (t trái sang ph i)đ đi u khi n lông mày bên ph i.

3. L năl t là m t bên trái và bên ph i ( t trái qua ph i ) 4. L năl t là lông mày bên trái và bên ph i.

5. L năl t là môi trên và môiăd i c a robot.

6. L năl t là các RC servo th 10, th 11, th 12 (t trái sang ph i)ăđ đi u khi nămôiăd i c a robot.

7. L năl t là các RC servo th 7, th 8, th 9 (t trái sang ph i)ăđ đi u khi n môi trên c a robot.

9. L năl t là các RC servo th 16, th 17 có tác d ng giúp m t robot có th li c qua l i.

10. L năl tălƠăcácăđ ngăc ăRCăservoăth 13, th 14 (tính t ngoài vào trong) có tác d ng khép hay m các mí m t trên c a m t bên trái và bên ph i.

H̀nh 5.3: Môăhốnhănhốnăt bên trái

5.2. Lựa ch n thi t b 5.2.1. Đ ng c

Gi i thi u

Đ ngăc ăservoăcóănhi u ki uădángăvƠăkíchăth c,ăđ c s d ng trong nhi u máy khácnhau, t máy ti năđi u khi n bằngămáyătínhăchoăđ n các mô hình máy bay vƠăxeăh i. ngd ng m i nh t c aăđ ngăc ăservoălƠătrongăcácărobot,ăcùngălo i v i các đ ngăc ădùngătrongmôăhìnhămáyăbayăvƠăxeăh i.

Đ tài s s d ngăđ ngăc ăRCăservoăđ đi u khi năvìăđ ngăc ăRCăservoăđi u khi n đ c m t góc quay chính xác nh vào kỹ thu t g iălƠăđi u ch biên đ r ng xung (PWM).

C u t o bên trong c aăđ ngăc ăRCăservoănh ăhìnhă5.5.

Hình 5.5:C u t o bên trong c a RC servo. 1. Môăt ăđ ngăc .

2. ElectronicsăBoardă(Boardăđi n t ).

3. Positive Power Wire (Red) (Dây ngu nămƠuăđ ).

4. Signal Wire (Yellow or White) (Dây tín hi uăth ng là màu vàng ho c màu tr ng).

5. Negative or Ground Wire (Black) (DơyăGNDămƠuăđen). 6. Potentiometer (Bi n tr ).

8. Servo Attachment Horn/Wheel/Arm (bánh xe). 9. Servo Case (V Servo).

10.Integrated Control Chip (Chipăđi u khi n).

Đ ngăc ăvƠăvônăk n i v i m chăđi u khi n t o thành m ch h i ti p vòng kín. C m chđi u khi năvƠăđ ngăc ăđ uăđ c c p ngu năDCă(th ng t 4.8 ậ 7.2 V).

Servo va điêu chê biên đô ̣ đô ̣ rô ̣ng xung

Trong h th ngănƠy,ăservoălƠăđápă ng c a m t dãy các xung s năđnh. C th h n,ăm chăđi u khi nălƠăđápă ng c a m t tín hi u s có các xung bi năđ i t 1 ms - 2ăms.ăCácăxungănƠyăđ c g iăđiă50ăl n/giây. Chú ý rằng không ph i s xung trong m tăgiơyăđi u khi n servo mà là chi u dài c aăcácăxung.Servoăđòiăh i kho ng 30 - 60 xung/giây.N u s này quá th p,ăđ chính xác và công su tăđ duy trì servo s gi m. V iăđ dƠiăxungă1ms,ăservoăđ căđi u khi n quay theo m t chi u (gi s là chi uăkimăđ ng h ). V iăđ dài xung 2ms, servo quay theo chi uăng c l i.

Đi u khi n v trí tr c ra c aăđ ngăc ăbằng cáchăđi u ch đ r ng xung (Hình 5.6).

Đ tƠiănayăs ̉ ădụngăđộngăc ăRcăservoăEMax ES08A.

H̀nh 5.7: Đ ngăc ăRCăServoăEMaxăES08A Thông s kỹ thu t

 Tr ngăl ng : 8,5g

 Kích th c: L23.6mm x W11.5mm x 27.75mm.

 Dây dỡn:ăGNDă=ădơyănơu,ăVCCă=ădơyăđ , tín hi u = dây cam. Các tính năng

 Model: Emax ES08A.

 Stall Torque: 1.5 kg / cm (4.8V), 1.8 kg / cm (6.0V).

 Operating Speed: 0.12 sec/60° C(4.8V), 0.1sec / 60° (6.0V).  Operating voltage: 4.8 - 6V.

 Temperature range: 0°C - 55°C.

 Dimension: 32.0mm x 11.5mm x 24mm.  Weight: 8.5g.

 Wire length: 230mm.

 Connector Type: JR / Futaba compatible.

5.2.2. Board Arduino Mega 2560

Gi i thiê ̣u board arduino:

Arduinoălaămô ̣tăboăma ̣chăviăx ̉ ălyăđ ̣cădungăđểălơ ̣pătrốnhăt ngătacăv iăcacăthiêtă b ăph năc ngănh ăc măbi n , đô ̣ngăc , đenăhoĕ ̣căcacăthiêtăbi ̣ăkhac . Đ căđi măn iăb tă c aăArduinoălƠămôiătr ngăphátătri nă ngăd ngăcựcăkìăd ă s ̉ ădụng, v iămô ̣tăngônăng ̃ă

lơ ̣pătrốnhăcoăthểăho ̣cămô ̣tăcachănhanhăchongăngayăcảăv iăng iăốtăamăhiểuăvêăđiê ̣năt ̉ ă vƠăl pătrình. Ng iădungăđãăcoăthểăs ̉ăh ̃uămộtăboăArduinoăcoă 20 ng̃ăI/Oăcoăthểă t ngătacăvaăđiêuăkhiểnăch ngăơyăthiêtăbi ̣.

Kh năng c a bo m ch Arduino

Boăma ̣chăArduinoăs ̉ ădụngădongăviăx ̉ ălyă 8-bitămegaAVRăcủaăAtmelăv iăhaiă chipăphổăbiênănhơtălaăAtmega328 vƠăAtmeaga2560. Cácădòngăviăx ălýănƠyăchoăphépă lơ ̣pătrốnhăcacă ngădụngăđiêuăkhiểnăph căta ̣pădoăđ ̣cătrangăbi ̣ăcơuăhốnhăma ̣nhăv iăcacă lo iăb ănh ăROM, RAMăvaăFlash, cácăng̃ăraădigitalăI /Oătrongăđoăcoănhiêuăngõăcoă kh ănĕngăxu tătínăhi uăPWM, cácăng̃ăđ cătínăhi uăanalogăvƠăcácăchu năgiaoăti păđaă d ngănh ăUART, SPI, TWI (I2C).

Kh năng x

 Xung nh p: 16MHz.

 EEPROM: 1KB (Atmega328) và 4KB (Atmega2560).  SRAM: 2KB (Atmega328) và 8KB (Atmega2560).  Flash: 32KB (Atmega328) và 256KB (Atmega2560). Đ c tín hi u c m bi n ngõ vào

Digital

Các bo m chă Arduinoăđ u có các c ng digital có th c u hình làm ngõ vào ho c ngõ ra bằng ph n m m.ă Doă đóă ng i dùng có th linh ho t quy tă đ nh s l ng ngõ vào và ngõ ra. T ng s l ng c ng digital trên các m ch dùng Atmega328 là 14, và trên Atmega2560 là 54.

Analog

Các bo m chăArduinoăđ u có trang b các ngõ vào analog v iăđ phân gi i 10- bit (1024 phân m c, ví d v iăđi n áp chu nălƠă5Văthìăđ phân gi i kho ng 0.5mV). S l ng c ngăvƠoăanalogălƠă6ăđ i v iăAtmega328,ăvƠă16ăđ i v i Atmega2560. V i tínhănĕngăđ căanalog,ăng i dùng có th đ c nhi u lo i c m bi nănh ănhi tăđ , áp su t,ăđ m, ánh sáng, ầ

Xu t tín hi u c m bi n ngõ ra

Digital output

T ngă tự nh ă cácă c ngă vƠoă digital,ă ng i dùng có th c u hình trên ph n m mđ quy t đnh dùng ngõ digital nào là ngõ ra. T ng s l ng c ng digital trên các m ch dùng Atmega328 là 14, và trên Atmega2560 là 54.

PWM output

Trong s các c ngădigital,ăng i dùng có th ch n m t s c ngădùngăđ xu t tín hi uăđi u ch xungăPWM.ăĐ phân gi i c a các tín hi u PWM này là 8bit. S l ng c ngă PWMă đ i v iă cácă boă dùngă Atmega328ă lƠă 6,ă vƠă đ i v i các bo dùng Atmega2560 là 14. PWM có nhi u ng d ng trong vi n thông, x lý âm thanh ho c đi u khi năđ ngăc ămƠăph bi n nh tălƠăđ ngăc ăservosătrongăcácămáyăbay mô hình.

Chu n giao ti p

Serial

Đơyă lƠă chu n giao ti p n i ti pă đ c dùng r t ph bi n trên các bo m ch Arduino. Mỗi bo có trang b m t s c ng Serial c ng (vi c giao ti p do ph n c ng trong chip thực hi n). Bên c nhăđó,ăt t c các c ng digital còn l i đ u có th thực hi n giao ti p n i ti p bằng ph n m mă(cóăth ăvi n chu n,ăng i dùng không c n ph i vi t code). M c tín hi u c a các c ngănƠyălƠăTTLă5V.ăL uăýăc ng n i ti p RS- 232 trên các thi t b ho c PC có m c tín hi uălƠăUARTă12V.ăĐ giao ti păđ c gi a hai m c tín hi u, c n ph i có b chuy n m c, ví d nh ăchipăMAX232.ăS l ng c ng Serial c ng c a Atmega328 là 1 và c a Atmega2560 là 4. V iătínhănĕngăgiaoă ti p n i ti p, các bo Arduino có th giao ti păđ c v i r t nhi u thi t b nh ăPC,ă touchscreen, cácăgameăconsoleầ

USB

Các bo Arduino tiêu chu năđ u có trang b m t c ngăUSBăđ thực hi n k t n i v i máy tính dùng cho vi c t iăch ngătrình.ăTuyănhiênăcácăchipăAVRăkhôngăcóă c ngă USB,ă doă đóă cácă boă Arduninoă ph i trang b thêm ph n chuy nă đ i t USB thành tín hi uăUART.ăDoăđóămáyătínhănh n di n c ng USB này là c ng COM ch không ph i là c ng USB tiêu chu n.

SPI

ĐơyălƠăm t chu n giao ti p n i ti păđ ng b có bus g m có 4 dây. V i tính nĕngănƠyăcácăboăArduinoăcóăth k t n i v i các thi t b nh ăLCD,ăb đi u khi n video game, b đi u khi n c m bi n các lo i,ăđ c thẻ nh SDăvƠăMMCầ

TWI (I2C)

ĐơyălƠăm t chu n giao ti păđ ng b khácănh ngăbusăch có hai dây. V i tính nĕngănƠy,ăcácăboăArduinoăcóăth giao ti p v i m t s lo i c m bi nănh ăthermostată c a CPU, t căđ qu t, m t s mƠnăhìnhăOLED/LCD,ăđ c real-time clock, ch nh âm l ng cho m t s lo iăloaầ

Môi tr ng l p trình m ch Arduino

Thi t k bo m ch nh g n, trang b nhi uătínhănĕngăthôngăd ng mang l i nhi u l i th cho Arduino, tuy nhiên s c m nh thực sự c a Arduino nằm ph n m m. Môiătr ng l pătrìnhăđ năgi n d s d ng, ngôn ng l p trình Wiring d hi u và dựa trên n n t ng C/C++ r t quen thu c v iăng i làm kỹ thu t. Và quan tr ng là s l ngăth ăvi năcodeăđ c vi t s n và chia sẻ b i c ngăđ ng ngu n m là cực kỳ l n.

Hình 5.8: giao di n IDE c a Arduino

Môi tr ng l p trình Arduino IDE có th ch y trên ba n n t ng ph bi n nh t hi n nay là Windows, Macintosh OSX và Linux. Do có tính ch t ngu n m nên môi tr ng l p trình này hoàn toàn mi n phí và có th m r ng thêm b iăng i dùng có kinh nghi m.

Ngôn ng l p trình có th đ c m r ngăthôngăquaăcácăth ăvi n C++. Và do ngôn ng l p trình này dựa trên n n t ng ngôn ng C c aăAVRănênăng i dùng hoàn toàn có th nhúng thêm code vi t bằngăAVRăCăvƠoăch ngătrình n u mu n.

Bo Arduino Mega 2560

Arduino Mega 2560 đ căđi u khi n b iăviăđi u khi n Atmega2560. Nó có 54 chân đ u vào/ăđ u ra s ,ă16ăđ uăvƠoăt ngătự, 4 UARTs (c ng n i ti p ph n c ng), m t tinhăthểădaoăđô ̣ngă 16 MHz, 1 cổng USB, m tăjackănguôn , ICSP và m t nút Reset. Nó ch a t t c m i th c n thi tăđ hỗ tr cácăviăđi u khi n, ch c n k t n i nó v i m t máy tính bằng cáp USB ho c s d ng nó v i m t b chuy năđ i AC thành DCăhayăpinăđ b tăđ u.

 BoardăArduinoăMegaă2560ănh ăhìnhă5.9.

S đô chi tiêt Board Arduino Mega 2560 (Hình 5.10)

Hình 5.10: Board Arduino Mega 2560  S ăđôăchơnăchipăATMEGAă2560

Kh năng x

Xung nh p: 16MHz.

EEPROM: 4KB (Atmega2560).

SRAM: 8KB (Atmega2560).

Flash: 256KB (Atmega2560).

S chơnăđi u xung PWM c a board Arduino Mega lênăđ n 52 chân (t chân 2 ậ 53). Lý do mƠăđ tƠiăđƣăch n board Arduino MegaăăđiêuăkhiểnăRcăservoăvốănoăđiêuăkhiểnă servoăchốnh xácăgócătheoămongămu năvƠăcƠiăđ tăgóiăhỗătr ăArduinoăvƠoăMatlabăkháă dễădang.

H̀nh 5.12: S ăđôănguyênălyăcủaăArduinoăMegaă2560. Các b c cƠi đ t cƠi đ t gói h̃ tr Arduino vƠo Matlab

Hình 5.14: KhungăTargetăInstallerăxuơtăhiê ̣n, nhơnăNext.

Hình 5.16 : L ̣aăcho ̣năgoiăhỗătr ̣ăArduinoăvaătiêpătụcănhơnăNext.

Hình 5.18 : Matlabăđangăcaiăgoiăhỗătr ̣ăArduino.

Ch ng 6:

THI T K H TH NG NH N D NG VÀ PH N M M GIAO DI N NH N D NG

Ch ngă6ăs đ c păđ n v năđ thi t k ph n m m nh n d ng ti ng nói ti ng Vi t trên máy tính dựa trên các v năđ lý thuy tăvƠăýăt ngăđƣăđ căđ c p cácăch ngă tr c.

Hi n nay, m t s h th ng nh n d ng ti ng nói ti ng Vi tăđƣăđ c tri n khai trên máy tính cá nhân s d ng nh ng công c toán h c và các công c hỗ tr c a ph n m m Matlab. Vì kh nĕngăx lýăcácăphépătoánăđòiăh i t căđ vƠăđápă ngănhanhăđ i v i h th ng , chính vì v yăđ tài t p trung xây dựngăch ngătrìnhănh n d ng ti ng nói ti ng Vi t trên máy tính bằng ph n m m Matlab.

6.1. Thi t k h th ng nh n d ng ti ng nói trên máy tính

H th ng nh n d ng thực hi n tác v nh n d ng các t đ n.ăDoăđó,ăgi s chúng ta có R t c năđ c nh n d ng và mỗi t đóăs đ c mô hình hóa bằng m t mô hình HMM,ăsauăđóăquiătrìnhănh n d ng s đ c thực hi nănh ăHình 6.1. Vì v y, chúng ta ph i ti năhƠnhătheoăcácăb c sau: [4]

 Trích ch năđ cătr ng:ămỗi m t khung ph tín hi u ti ng nói trong mi n th i gian s đ c phân tích m tăvectorăđ c tr ng,ănóăs đ c s d ngăđ hu n luy n mô hình HMM.

 L ng t hóa vector: k t qu c a vi c trích ch năđ cătr ngăti ng nói là m t dƣyăcácăvectorăđ cătr ngăc a chuỗiăcácăđ cătr ngăph tín hi u ti ng nói. Do đó,ăchúngătaăcóăth ánh x các vector này thành m t t p các vector r i r c nhằm m căđíchălƠmăgi m s l ng tính toán cho vi c hu n luy n hay nh n d ng trên mô hình.

 Hu n luy n HMM: v i mỗi m t t trong b t vựng chúng ta ph i xây dựng m t mô hình HMM. Chúng ta ph iă cătínhăđ c các thông s c a mô hình đ xác l p kh nĕngăl n nh t c a t p vector hu n luy n c a mỗi t .

 Nh n d ng bằng mô hình HMM: mỗi t trong b t vựngăđ c nói s đ c nh n d ngătheoăquiătrìnhănh ătrongăHình 6.1, chuỗiăquanăsátăthuăđ c thông quaăphơnătíchăđ cătr ngăvƠăb vectorăđƣăđ căl ng t hóa. Ti p theo tính toán kh nĕngăchoăt t c cácămôăhìnhăvƠăsauăđóălƠăl ng ch n t mà nó có kh nĕngăcaoănh t.

Ti năx ălý Tríchăch năđ cătr ngăMFCC VQ

Ti ngănóiă đ uăvƠo HMM Nh năd ng Hu năluy n OO

Hình 6. 1:S ăđ kh i mô hình hu n luy n và nh n d ng t đ n

6.1.1. Trích đ c tr ng

Đ u tiên, m u ti ngănóiăđ c tách kh i kho ng l ng bằng thu t toán c tính công su t trong kho ng th i gian ng n và t l quaăđi m zero. [5]

Tính Wxchoăt ngă khung Tính Wxchoăt ngă khung Start Start Wx >= tW Wx >= tW vad = 1vad = 1 Nh năm u Nh năm u vad = 0 vad = 0 End End Đ S Chiaătínăhi uăthƠnhă khung, mỗiăkhungă có N = 160 m u Chiaătínăhi uăthƠnhă khung, mỗiăkhungă có N = 160 m u S ăkhungă= s ăkhungăậ 1 S ăkhungă= s ăkhungăậ 1 S ăkhungă≠ă0 S ăkhungă≠ă0 S Đ

Hình 6. 2:L uăđ gi i thu t thực hi n tách ti ng nói kh i kho ng l ng Trong Hình 6.2, v i WxtWnh ăđƣăđ cătrìnhăbƠyătrongăCh ngă3.

Sauăđó,ăti ngănóiăđ c chia thành t ng khung, mỗi khung có N m u, và N = 160 t ngă ng v i th i gian l y m u là 20 ms t i t n s l y m u là 8 kHz. Khung k ti p

cáchăkhungătr c kho ng ΔN m u, ΔN đ c g i kho ng ch ng l p, và ΔN =ă50ăt ngă ng v i th i gian là 5 ms. Sau khi chia khung, thực hi n phân tích các khung tín hi u nƠyăthƠnhăcácăđ cătr ngătheoăph ngăphápăMFCC.

Start Start Frame blocking Frame blocking x1(n) Windowing Windowing x1(k;m) 256-point FFT 256-point FFT x2(k;m) |X2(n;m)| |X2(n;m)| X2(n;m) Mel scaled filterbank Mel scaled filterbank |X2(n;m)| Log(mk) Log(mk) mk IDCT IDCT log(mk) Lifter Lifter End End Log(Em) Log(Em) Em Delta calculation

Delta calculation Acceleration

calculation

Acceleration calculation

ch(n;m) δ(1)(n;m) δ(2)(n;m) cs(n;m)

Hình 6.3. L uăđ gi i thu t thực hi n phân tích h s đ cătr ng

Một phần của tài liệu Kỹ thuật nhận dạng tiếng nói thành lệnh ứng dụng trong công nghiệp (Trang 56)

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

(95 trang)