機器學(xué)習(xí)原理與應(yīng)用 課件 第8、9章 語音識別;AI云開發(fā)平臺_第1頁
機器學(xué)習(xí)原理與應(yīng)用 課件 第8、9章 語音識別;AI云開發(fā)平臺_第2頁
機器學(xué)習(xí)原理與應(yīng)用 課件 第8、9章 語音識別;AI云開發(fā)平臺_第3頁
機器學(xué)習(xí)原理與應(yīng)用 課件 第8、9章 語音識別;AI云開發(fā)平臺_第4頁
機器學(xué)習(xí)原理與應(yīng)用 課件 第8、9章 語音識別;AI云開發(fā)平臺_第5頁
已閱讀5頁,還剩127頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

機器學(xué)習(xí)原理與應(yīng)用第8章語音識別本章學(xué)習(xí)目標(biāo)(知識要點)掌握語音識別的方法和技術(shù)熟悉語音信號預(yù)處理、分析、數(shù)據(jù)特征提取處理方法;掌握DTW、HMM、GMM、DNN-HMM、端到端學(xué)習(xí)等典型算法及應(yīng)用;目錄

語音識別技術(shù)簡介

常用工具及平臺

語音數(shù)據(jù)特征處理

典型算法

在線語音識別8.18.28.38.48.5

綜合案例:基于端到端的中文語音識別8.6語音識別技術(shù)簡介8.18.1語音識別技術(shù)簡介語音識別又稱自動語音識別(ASR,AutomaticSpeechRecognition),或語音轉(zhuǎn)為文本(SpeechtoText,STT),或電腦語音識別(ComputerSpeechRecgnition),是一項將人類語言內(nèi)容轉(zhuǎn)換為機器可讀格式的技術(shù)。語音識別解決的主要問題如何讓機器聽懂的問題,根據(jù)每個對象的語音轉(zhuǎn)換為正確的文本面臨的挑戰(zhàn)聲學(xué)環(huán)境、講話風(fēng)格、口音/方言、說話對象的語言識別等。8.1語音識別技術(shù)簡介1.語音識別技術(shù)的發(fā)展語音識別技術(shù)的發(fā)展大致可分為三個階段,分別為早期階段(1980年前)、發(fā)展階段(1980-2010)、快速應(yīng)用階段(2010之后)。早期階段:其研究主要是圍繞模仿人類說話展開。1937年HomerDudley發(fā)明的聲碼合成器VODER1952年Bell實驗室第一個推出的命名為Audrey的語音識別設(shè)備1960年IBM公司的可以簡單識別數(shù)字和數(shù)學(xué)符號的Shoebox及日本京都大學(xué)發(fā)明的可以分隔系列口語聲音的識別器1970年卡耐基梅隆大學(xué)推出的HARPY語音識別系統(tǒng)1980年IBM開發(fā)應(yīng)用在試驗轉(zhuǎn)錄系統(tǒng)Tangora中的語音轉(zhuǎn)文本的工具8.1語音識別技術(shù)簡介1.語音識別技術(shù)的發(fā)展發(fā)展階段卡耐基梅隆大學(xué)的Sphinx系統(tǒng)、BBN的BYBLOS系統(tǒng)、SRI的DECIPHER系統(tǒng)等。1992年美國電話電報公司(AT&T)引入Bell實驗室的語音識別呼叫處理系統(tǒng)(VRCP)FSM庫、GRM庫、HMIHY系統(tǒng)語音識別研究也由直接模式識別(基于模版的)范式轉(zhuǎn)為統(tǒng)計模型框架其技術(shù)發(fā)展經(jīng)歷了從早期小規(guī)?!幸?guī)?!笠?guī)?!笠?guī)模的量級變化研究方法從基于聲學(xué)語音學(xué)的孤立字識別→基于模版的孤立詞、連接數(shù)字、連續(xù)語言識別→基于統(tǒng)計的連續(xù)語音識別→基于句法及語義的連續(xù)語音識別→基于語義及多模態(tài)對話的多模態(tài)識別8.1語音識別技術(shù)簡介1.語音識別技術(shù)的發(fā)展語音識別技術(shù)早期和發(fā)展階段8.1語音識別技術(shù)簡介1.語音識別技術(shù)的發(fā)展快速應(yīng)用階段在2010年之后,出現(xiàn)了RNNs、LSTM、神經(jīng)網(wǎng)絡(luò)聲學(xué)模型、隱馬爾可夫混合模型、多語言深度神經(jīng)網(wǎng)絡(luò)SHL-MDNN、DNN-HMM混合模型、CTC模型(ConnectionistTemporalClassification)、基于注意力的編碼器-解碼器(Attention-basedEncoder-Decoder,AED)、RNN-T(RNNTransducer)等模型。目前,語音識別技術(shù)已經(jīng)廣泛應(yīng)用在云平臺、移動設(shè)備等平臺,語音業(yè)務(wù)也實現(xiàn)了在云端平臺處理和移動端的處理,如谷歌公司的VoiceFilter-Lite、云知聲、訊飛聽見、百度智能云語音等。同時在智能語音助手、智能音箱、智能手機、智能可穿戴、翻譯機、智能車載等設(shè)備上已廣泛應(yīng)用。8.1語音識別技術(shù)簡介2.語音識別過程和系統(tǒng)語音識別過程是把語音信號轉(zhuǎn)化為機器可讀文本的過程步驟語音信號輸入(采集)預(yù)處理語音特征提取語音分類和語音識別在語音信號采集輸入后,預(yù)處理步驟通常會過濾語音信號,去除不需要的噪音,或?qū)π诺朗д嬲Z音進行增強,并辨析確定詞的開始、結(jié)束分隔位置,然后轉(zhuǎn)換為特征向量,進行特征提取,接著把特征向量輸入聲學(xué)模型,聲學(xué)模型打分,根據(jù)進行語音分類和識別。語音識別過程8.1語音識別技術(shù)簡介2.語音識別過程和系統(tǒng)一個完整的語音識別系統(tǒng)架構(gòu)通常會包含四個模塊,分別為:語音信號處理提取模塊(把語音信號處理和特征提取作為一個模塊)聲學(xué)模型模塊語言模型模塊解碼搜索模塊語音信號輸入(采集)常用的聲學(xué)特征處理方法有線性預(yù)測系數(shù)(LinearPredictiveCoefficient,LPC)、倒譜系數(shù)、梅爾頻率倒譜系數(shù)(Mel-FrequencyCepstralCoefficients,MFCCs)和感知線性預(yù)測(PerceptualLinearPredictive,PLP)等聲學(xué)模型模塊結(jié)合聲學(xué)和發(fā)音輔助知識,以提取的特征為模型輸入,輸出聲學(xué)模型評分。語言模型以轉(zhuǎn)化的文本為輸入,學(xué)習(xí)詞之間關(guān)系,輸出詞序列的評分。解碼搜索模塊綜合聲學(xué)模型評分和語言模型評分,最后輸出識別結(jié)果。8.1語音識別技術(shù)簡介2.語音識別過程和系統(tǒng)語音識別系統(tǒng)的性能影響因素不同的說話人、說話方式、環(huán)境噪音、傳輸信道等。語音識別系統(tǒng)的分類根據(jù)語音聲源及語音對象呈現(xiàn)方式的不同,可以分為不同的類型按語音對象說話方式的不同,可以分為獨立字詞語音識別、連接詞語音識別、連續(xù)語音識別。按語音聲源的不同,可以分為特定對象語音識別、非特定對象語音識別、多目標(biāo)對象語音識別。根據(jù)處理任務(wù)的不同,分為按關(guān)鍵詞檢測(電話監(jiān)聽、自動接聽)、聲紋檢測、語種檢測、連續(xù)語音檢測等。按詞匯量大小可分詞匯量小(1~20個詞),中等(20~l00個詞),大(100詞以上);講話人范圍分特定某個人、某些人;非特定的,男、女或兒童等;8.1語音識別技術(shù)簡介2.語音識別過程和系統(tǒng)語音識別技術(shù)應(yīng)用場景其主要應(yīng)用場景有人與人、人與物體、物體與物體之間三個類型,如人與人的交流有翻譯系統(tǒng),人與物體的應(yīng)用場景有:車載智能語音智能語音助手垂直行業(yè)領(lǐng)域應(yīng)用:如智慧醫(yī)療-語音電子病歷系統(tǒng)、向?qū)г\機器人、問診小程序、診后隨訪系統(tǒng)、住院病房管理系統(tǒng)、臨床決策支持系統(tǒng)等設(shè)備或系統(tǒng)的入口。其在設(shè)備上的應(yīng)用如圖所示。目錄

語音識別技術(shù)簡介

常用工具及平臺

語音數(shù)據(jù)特征處理

典型算法

在線語音識別8.18.28.38.48.5

綜合案例:基于端到端的中文語音識別8.6常用工具及平臺8.2◎語音識別工具◎語音識別平臺8.2.1語音識別工具語音識別工具根據(jù)應(yīng)用類別、集成應(yīng)用的不同,通??梢苑譃檎Z音識別開源工具包語音轉(zhuǎn)文字工具語音識別綜合應(yīng)用平臺等。根據(jù)是否需要連接網(wǎng)絡(luò),分為在線語音識別和離線語音識別。常用的訓(xùn)練數(shù)據(jù)集有語音數(shù)據(jù)集和音頻事件/音樂數(shù)據(jù)集。特點目前多任務(wù)、多語言、端到端應(yīng)用處理,已經(jīng)成為語音識別開源工具包的典型特點。應(yīng)用場景廣泛嵌入在移動端智能手機軟件中,如微信、輸入法等,或者集成到云端綜合應(yīng)用,讓用戶通過API遠(yuǎn)程調(diào)用提供服務(wù),已成普通產(chǎn)品常用商業(yè)應(yīng)用模式。8.2.1語音識別工具當(dāng)前,廣泛應(yīng)用的語音識別開源工具包有許多,如ESPnet、Kaldi、wenet、speechbrain、htk、openasr、openspeech、lingvo、fairseq、athena、deepspeech、wav2letter、CAT、warp-transducer、sctk、librosa、Vosk、torchaudio等1.ESPnetESPnet(End-to-endspeechprocessingtoolkit)是一個基于Python語言開發(fā)的端到端的語音識別工具包,它采用了連接時序分類(CTC)和基于注意力的編碼解碼網(wǎng)絡(luò)架構(gòu),延續(xù)Kaldi工具包的數(shù)據(jù)處理特征提取風(fēng)格。8.2.1語音識別工具1.ESPnet其標(biāo)準(zhǔn)的流程包含了具有Kaldi風(fēng)格的數(shù)據(jù)準(zhǔn)備、特征提取、數(shù)據(jù)轉(zhuǎn)換、語言模型訓(xùn)練、端到端自動語音識別訓(xùn)練、識別及打分共6個步驟ESPnet已作為深度學(xué)習(xí)引擎被嵌入進Chainer系統(tǒng)和PyTorch系統(tǒng)。8.2.1語音識別工具1.ESPnetESPnet基礎(chǔ)上,延伸發(fā)展出了ESPnet-SE、ESPnet-SE++等工具包,ESPnet-SE在ESPnet的基礎(chǔ)上,增加了語音增強和語音分離,在數(shù)據(jù)方面可同時處理單個和多個說話對象、時域和頻域、單個和多個聲音通道、單個聲音源和多個聲音源、無回聲混響環(huán)境,引入支持TasNet(time-domainaudioseparationnetwork)、DPRNN(dual-pathRNN)、時頻掩膜(T-Fmasking)等時域模型和頻域模型。ESPnet-SE++與ESPnet-SE相比,除了增加了新的模型、損失函數(shù)和訓(xùn)練方法之外,還綜合了語音識別(ASR)、聲紋識別/說話人識別(SD)、語音翻譯(ST)、口語理解(SLU)等ESPnet-SE++語音處理流程8.2.1語音識別工具2.KaldiKaldi是基于C++語言的開源語音識別工具包,當(dāng)前最新版本為5.5.636,它包含通用的語音識別算法、腳本,Kaldi支持的聲學(xué)模型有LDAHLDA、MLLT/STC、GMM、DNN、TDNN、Chain等,內(nèi)部嵌入了OpenFst庫,支持基于BLAS、LAPACK、OpenBLAS和MKL的線性代數(shù)運算庫,以及眾多擴展工具,如SRILM,Sph2pipe等。

ESPnet-SE++語音處理流程8.2.1語音識別工具3.WeNetWeNet是一個開源的端到端的語音識別工具包,采用了支持流式和非流式的統(tǒng)一混合模型CTC/attention架構(gòu)

WeNet2.0提供了U2++、熱詞、統(tǒng)一語言模型、超大規(guī)模數(shù)據(jù)訓(xùn)練支持,除了前向的attentiondecoder之外,增加了后向的attentiondecoder,形成了SharedEncoder(共享編碼)、CTCDecoder(連接時序分類解碼)和AttentionDecoder(注意力解碼)三部分組成的模型架構(gòu)。WeNet框架結(jié)構(gòu)8.2.1語音識別工具工具名稱編程語言訓(xùn)練語言模型活躍度地址CMUSphinxC,Java,Python,其他英語,中文強https://cmusphinx.github.io/KaldiC++,Python,Java,其他英文,中文強/HTKC、Python英文較強https://htk.eng.cam.ac.uk/JuliusC日文,英文較強/julius-speech/juliusWav2Letter++C++英文較強/flashlight/wav2letterWeNetC++,Python,其他英文,中文強/wenet-e2e/wenetSpeechBrainPython,Perl,其他英文,中文,法文,意大利語等強/speechbrain/speechbrain語音識別工具注:除了表中語音識別工具之外,還有Fairseq、Lingvo、deepspeech、torchaudio、Openasr、openspeech、athena、CAT、librosa、warp-transducer等Wenet端到端語音識別、wetts端到端語音合成、wekws端到端喚醒、wespeaker端到端說話人項目8.2.2語音識別平臺最新的典型的多語言語音識別平臺有Whisper、Voicebox、DALL-E、VALL-E等1.

WhisperWhisper是由OpenAI于2022年9月發(fā)布的自動語音識別神經(jīng)網(wǎng)絡(luò),它的架構(gòu)采用端到端的編碼解碼Transformer(encoder-decoderTransformer),其執(zhí)行流程:輸入的語音被分割為30秒的語音塊,轉(zhuǎn)換為log-Melspectrogram特征(音頻信號的頻譜圖特征),接著傳輸進編碼器。編碼器用來訓(xùn)練預(yù)測相應(yīng)的文本內(nèi)容,并結(jié)合位置標(biāo)記,進行解碼完成語言識別、短語水平的時間戳、多語言的轉(zhuǎn)換等任務(wù)Whisper框架8.2.2語音識別平臺1.

Whisper多任務(wù)訓(xùn)練格式8.2.2語音識別平臺

2.

VALL-EVALL-E是由微軟于2023年推出的文本到語音合成的單語言模型方法,它可以用時長僅為3秒的未見過的注冊者的語音記錄作為提示,合成高質(zhì)量的個性化語音。目前DALL-E已經(jīng)升級到DALL-E2版本。與DALL-E相比,VALL-E從語音的自然流暢性和說話者的相似性方面,都超過了它及以往的零樣本文本到語音的合成系統(tǒng)(TTS)。同時,還能在合成中保留說話者的情緒和聲學(xué)提示的聲學(xué)環(huán)境。VALL-EX是在VALL-E的延伸,主要是解決多語言問題,是多語言條件編解碼器語言模型,通過使用源語言語音和目標(biāo)語言文本作為提示來預(yù)測目標(biāo)語言語音的聲學(xué)標(biāo)記序列。VALL-EX可應(yīng)用于零樣本跨語言文本到語音合成和零樣本語音到語音翻譯任務(wù)。8.2.2語音識別平臺

2.

VALL-EVALL-E和VALL-EX的模型框架8.2.2語音識別平臺

3.

VoiceboxVoicebox是由Meta公司于2023年6月推出的語音生成式AI系統(tǒng)模型,Voicebox本質(zhì)上是一個文本引導(dǎo)的非自回歸流匹配模型。通過給定音頻上下文和文本,在單語言或跨語言(英語、法語、西班牙語、德語、波蘭語和葡萄牙語六種語言)的零樣本文本上完成語音合成、噪聲去除、聲音編輯、風(fēng)格轉(zhuǎn)換等生成。其支持的主要功能有:零樣本文本到語音合成:語音編輯及噪音消除:跨語言風(fēng)格遷移不同語音采樣8.2.2語音識別平臺

3.

VoiceboxVoicebox與上述的VALL-E相比:1)功能方面增加了噪音消除、部分語音編輯;2)可理解性和音頻相似性都有了大幅改進提升,速度提高了近20倍。3)Voicebox可以使用過去和未來的上下文,用于生成中間片段的編輯,更快的生成語音;4)Voicebox解耦連續(xù)時間模型和音頻模型,實現(xiàn)細(xì)粒度的對齊控制Voicebox平臺學(xué)習(xí)框架目錄

語音識別技術(shù)簡介

常用工具及平臺

語音數(shù)據(jù)特征處理

典型算法

在線語音識別8.18.28.38.48.5

綜合案例:基于端到端的中文語音識別8.6語音數(shù)據(jù)特征處理8.38.3語音數(shù)據(jù)特征處理語音數(shù)據(jù)來源于語音信號,在語音數(shù)據(jù)處理之前,通常需要對語音信號進行采集、存儲、分析等工作,而語音信號的采集主要根據(jù)它的頻域和時域特點進行設(shè)計,在頻域內(nèi),語音信號的頻譜一般為20Hz-3400Hz之間,人講話的頻率主要集中在區(qū)段1-3000Hz。

語音信號在時域內(nèi),具有短時性特點。

頻域以頻率為自變量,觀測頻率信號的幅度(振幅)為縱軸,而時域是以時間為自變量,信號變化(振幅)為縱軸,語音信號在頻域表現(xiàn)為多個不同頻率、振幅信號組成。8.3語音數(shù)據(jù)特征處理

1.

語音信號預(yù)處理語音數(shù)據(jù)的預(yù)處理通常包含語音信號采集、去除噪音、語音分隔等工作。語音信號采集中采樣率、量化位數(shù)、通道數(shù)、語音長度等通常是關(guān)鍵指標(biāo),通過基于奈奎斯特(Nyquist)定理的采樣將原始信號中的信息完整保留,并進行量化處理。常見的采樣率有8kHz、16kHz、44.1kHz、48kHz,采樣率越高,采集語音的質(zhì)量和精度就越高,類似的量化位數(shù)指標(biāo)有8位、16位、24位等,量化位數(shù)越高,同樣質(zhì)量和精度就越高。在對語音信號采集中,由于信號傳輸衰減失真、非線性、非平穩(wěn)、時變等特性,一般需要對其進行預(yù)加重、分幀、加窗口等操作。8.3語音數(shù)據(jù)特征處理

1.

語音信號預(yù)處理預(yù)加重是在信號發(fā)送端對輸入信號高頻分量進行補償?shù)男盘柼幚矸绞筋A(yù)加重通常用時域技術(shù)或頻域技術(shù)實現(xiàn)。分幀則是利用語音信號在一個短時范圍內(nèi)(通常為小于50毫秒),基本保持不變的時變特性,進行按禎分取信號,同時為了使得語音禎之間有一個平滑的過渡,在相鄰禎之間有一定的重疊,也就是通過相鄰兩禎的起始位置的時間差即禎移來完成加窗操作的目的是為了避免信號被非周期截斷產(chǎn)生的新的頻率成分,從而難以找到信號的真實頻率,即緩解頻率泄漏。加窗操作常用的方法有矩形窗、漢明窗(Hamming)、漢寧窗(Hanning)、布萊克曼窗(Blackman)。8.3語音數(shù)據(jù)特征處理

2.

語音信號分析語音信號分析是將語音信號進行分解,分解為分量疊加,然后對分量情況進行分析通常語音信號分析方法有時域分析、頻域分析、倒譜分析等時域分析以波形為基礎(chǔ)進行分析,常用的方法有短時能量、短時過零率、短時自相關(guān)函數(shù)、短時平均幅度差函數(shù)等。頻域分析則是將時域信號變換到頻域,進行分析頻域特征,常用的頻域分析方法有帶通濾波器組法、傅里葉變換法、線性預(yù)測法等。倒譜分析是獲取語音倒譜特征參數(shù)的過程,通常以同態(tài)處理來實現(xiàn),即將非線性問題轉(zhuǎn)化為線性問題來處理,通常分為乘積同態(tài)信號處理和卷積同態(tài)信號處理。8.3語音數(shù)據(jù)特征處理

3.

語音聲學(xué)特征處理語音數(shù)據(jù)聲學(xué)特征的提取過程如圖所示,語音數(shù)據(jù)經(jīng)過預(yù)加重、分幀、加窗預(yù)處理操作后,然后經(jīng)過傅里葉變換分析,獲取振幅譜,然后經(jīng)過系列操作,分別可獲取語譜圖特征、Fbank特征、MFCC特征、IMFCC特征、LFCC特征、PLP特征、CQCC特征等。語音特征提取過程8.3語音數(shù)據(jù)特征處理

3.

語音聲學(xué)特征處理1)語譜圖特征:是一種通過語譜圖數(shù)據(jù)分析提取的信號特征,它涵蓋了三個維度的信息:頻率,時間、幅度值大小,其橫坐標(biāo)為時間,縱坐標(biāo)是頻率,坐標(biāo)點值表示語音數(shù)據(jù)能量,語音能量越強,則顏色表示越深。通過語譜圖可以觀察音素特征、共振峰特征等。2)Fbank特征:是基于梅爾濾波器組的特征,如圖所示,它的提取流程是將信號進行預(yù)加重、分幀、加窗(常用漢明窗,α=0.46164)處理后,然后進行短時傅里葉變換(STFT),獲得振幅譜;接著求取頻譜平方,獲得每個濾波器(Mel濾波器)輸出的功率譜;最后將每個濾波器的輸出取對數(shù),計算后對應(yīng)頻帶的對數(shù)功率譜,從而得到Fbank特征。3)MFCC特征:MFCC是Mel頻率倒譜系數(shù)(Mel-scaleFrequencyCepstralCoefficients)的英文縮寫,它是在Fbank特征提取的基礎(chǔ)上,通過離散余弦變化(DCT),去除各維信號之間的相關(guān)性,將信號映射到低維空間,并得到多個MFCC系數(shù),其從信號轉(zhuǎn)換詳細(xì)函數(shù)生成聲學(xué)模型的圖解如圖所示。8.3語音數(shù)據(jù)特征處理

3.

語音聲學(xué)特征處理

基于MFCC特征生成語音模型過程8.3語音數(shù)據(jù)特征處理

3.

語音聲學(xué)特征處理4)PLP特征:是感知線性預(yù)測(PerceptualLinearPredictive)的英文縮寫,它通過利用等響度預(yù)加重以及強度-響度轉(zhuǎn)換(立方根壓縮),以及離散傅里葉變換的逆變換(IDFT)、線性預(yù)測自回歸模型獲得倒譜系數(shù)。在經(jīng)過預(yù)加重、分幀、加窗、離散傅里葉變換后,取短時語音頻譜的實部和虛部的平方和,計算幅度平方后,得到短時功率譜。接著通過臨界頻帶分析處理、等響度預(yù)加重、(信號)強度-(聽覺)響度轉(zhuǎn)換、離散傅里葉反變換、線性預(yù)測(LP)等流程,最終獲得PLP特征。5)CQCC特征:是常數(shù)倒譜系數(shù)(ConstantQCepstralCoefficients)的英文縮寫,它是針對STFT在時頻分析中時頻分辨率均勻缺陷而提出基于常量Q變換(CQT)的一種特征提取方法CQCC特征提取過程目錄

語音識別技術(shù)簡介

常用工具及平臺

語音數(shù)據(jù)特征處理

典型算法

在線語音識別8.18.28.38.48.5

綜合案例:基于端到端的中文語音識別8.6典型算法8.48.4典型算法

歐式距離與DTW距離8.4典型算法

序列X和Y對齊過程8.4典型算法

HMM概率及狀態(tài)8.4典型算法

HMM示例8.4典型算法2.HMM(隱馬爾可夫模型)

在HMM模型中,其基本三個問題是:1)給定HMM,如何估計觀測序列的概率,即模型評估問題;2)給定HMM和觀察序列,找出最優(yōu)的狀態(tài)序列,即尋找最優(yōu)路徑問題;3)給定HMM和觀察序列,借助狀態(tài)占用概率,尋找最優(yōu)的模型參數(shù),即模型訓(xùn)練參數(shù)學(xué)習(xí)問題。傳統(tǒng)HMM語音識別建模過程8.4典型算法

維特比算法示例8.4典型算法

8.4典型算法

8.4典型算法4.DNN-HMM模型DNN-HMM是DeepNeuralNetworks-HiddenMarkovModel的縮寫,通過利用DNN替換GMM充當(dāng)聲音模型,來評估概率密度函數(shù),對輸入語音信號的觀察概率進行建模,進行詞/音節(jié)的分類。如圖所示,DNN用來訓(xùn)練預(yù)測給定語音觀察狀態(tài)下的后驗概率,即DNN每個輸出神經(jīng)單元用來訓(xùn)練評估連續(xù)密度HMM狀態(tài)的后驗概率。DNN-HMM訓(xùn)練之前,通常需要先訓(xùn)練GMM-HMM,以實現(xiàn)禎與狀態(tài)的對齊操作。其步驟:特征提取→GMM-HMM的單音素訓(xùn)練→GMM-HMM的三音素訓(xùn)練→維特比算法對齊→禎語音在DNN神經(jīng)單元目標(biāo)輸出標(biāo)簽→DNN-HMM訓(xùn)練(正向傳播,反向傳播)。DNN-HMM基本架構(gòu)DNN-HMMGMM-HMM考慮短詞之間的關(guān)聯(lián)假設(shè)輸入詞沒有關(guān)聯(lián)沒有概率分布假設(shè)假設(shè)GMM為概率密度函數(shù)在生成分布中進行判別訓(xùn)練生成分布中沒有進行判別訓(xùn)練禎層級上使用判別式語音模型,有監(jiān)督學(xué)習(xí)差的判別-最大似然估計,無監(jiān)督學(xué)習(xí)高性能低性能8.4典型算法

CTC算法輸入詞“team”的路徑示例8.4典型算法

AED模型結(jié)構(gòu)8.4典型算法

RNN-T基本結(jié)構(gòu)目錄

語音識別技術(shù)簡介

常用工具及平臺

語音數(shù)據(jù)特征處理

典型算法

在線語音識別8.18.28.38.48.5

綜合案例:基于端到端的中文語音識別8.6在線語音識別8.5◎音頻流識別◎文字轉(zhuǎn)語音◎視頻字幕文本生成8.5.1在線語音識別在線語音識別已經(jīng)成為一種常見的應(yīng)用模式。從應(yīng)用端其通常有PC客戶端、移動APP端(Android版和iPhone版)、小程序、云服務(wù)等。從操作系統(tǒng)來分,有基于Windows版本和基于MAC的版本。常見的平臺有訊飛聽見、百度語音、思比馳、云知聲、騰訊語音、谷歌語音、阿里智能語音交互、微軟語音識別等。從基于嵌入式芯片開發(fā)來分,有云知聲蜂鳥芯片、百度鴻鵠語音芯片、科大訊飛智能離線語音模塊、太行系列芯片、阿里語音芯片等。從基于開源的語音識別庫來分,有DeepSpeech、Kaldi、Julius、Wav2Letter++、Whisper等8.5.1在線語音識別

音頻流識別分為實時和非實時兩種方法,實時音頻流識別屬于流式語音識別,它是在處理音頻流的過程中,實時返回識別結(jié)果。而非實時音頻識別屬于非流式識別,則是在處理完整個音頻后,才返回結(jié)果。流式語音識別根據(jù)持續(xù)接受音頻流進行識別,并根據(jù)已經(jīng)接收到的部分語音,計算、獲取對應(yīng)的后驗概率最大的標(biāo)志序列。使用MASR庫進行音頻流識別,在本地使用Anaconda創(chuàng)建Python3.8的虛擬環(huán)境,創(chuàng)建、激活命令如下:condacreate-nspeechpython=3.8//創(chuàng)建虛擬環(huán)境condaactivatespeech//激活虛擬環(huán)境接著安裝opencv和安裝Pytorch1.13.1的GPU版本:condainstall-cconda-forgeopencvcondainstallpytorch==1.13.1torchvision==0.14.1torchaudio==0.13.1pytorch-cuda=11.6-cpytorch-cnvidia源碼安裝MASR庫,如下:8.5.1在線語音識別進行短語音和長語音識別,代碼如下://短語音識別調(diào)用frommasr.predictimportMASRPredictor

predictor=MASRPredictor(model='conformer_streaming_fbank_aishell')

speech_path='bcpl/example_s.wav'result=predictor.predict(audio_data=speech_path,use_pun=False)score,text=result['score'],result['text']print(f"識別結(jié)果:{text},打分:{int(score)}")

//長語音識別調(diào)用frommasr.predictimportMASRPredictor

predictor=MASRPredictor(model='conformer_streaming_fbank_aishell')

speech_path='bcpl/example_l.wav'result=predictor.predict_long(audio_data=speech_path,use_pun=False)score,text=result['score'],result['text']print(f"識別結(jié)果:{text},打分:{score}")8.5.2文字轉(zhuǎn)語音文本轉(zhuǎn)語音(Text-To-Speech,TTS)屬于語音合成應(yīng)用,是將一段文字轉(zhuǎn)換為自然語音片段,其在視覺障礙領(lǐng)域有著重要的應(yīng)用,常見的開源工具有PaddleSpeech、DeepSpeech、DeepSpeech2、Kaldi、Bark、MARY、OpenTTS、eSpeak、Flite等。在上述的PaddleSpeech中,文本轉(zhuǎn)語音主要包含三個步驟,第一步是先把文字轉(zhuǎn)為字符或單字音節(jié),然后第二步通過語音模型,把字符或單字音節(jié)轉(zhuǎn)為語音特征,如mel語譜特征,最后第三步是把語音特征轉(zhuǎn)化為語音波的形式。PaddleSpeech文本生成語音的命令如下:paddlespeechtts--input"你好,歡迎使用文字轉(zhuǎn)語音框架學(xué)習(xí)!"--outputoutput.wav

以Bark為例,簡要介紹文字轉(zhuǎn)語音方法,Bark支持文本生成多語言語音,支持CPUandGPU(pytorch2.0+,CUDA11.7andCUDA12.0)。BarkTransformers庫安裝命令如下:pipinstallgit+https://github.com/huggingface/transformers.git8.5.2文字轉(zhuǎn)語音Bark文本生成語音代碼如下:fromtransformersimportAutoProcessor,BarkModelprocessor=AutoProcessor.from_pretrained("suno/bark")model=BarkModel.from_pretrained("suno/bark")voice_preset="v2/en_speaker_6"inputs=processor("welcome,ThisisBCPLspeechclass",voice_preset=voice_preset)audio_array=model.generate(**inputs)audio_array=audio_array.cpu().numpy().squeeze()8.5.3視頻字幕文本生成視頻字幕文本生成是通過音頻采樣、視頻分析,將音頻信號內(nèi)容轉(zhuǎn)為文本的處理方法。常見的開源工具有auto_ai_subtitle、VideoSrt、Video-subtitle-generator(vsg)等。下面以Video-subtitle-generator(vsg)為例,簡要介紹視頻字幕文本生成過程。1)如前所述,創(chuàng)建后虛擬環(huán)境后,使用命令安裝相關(guān)依賴包:pipinstall-rrequirements.txt2)創(chuàng)建代碼,生成提取視頻字幕(詳見書p293)3)執(zhí)行命令,生成視頻字幕文字,命令如下:python./main.py./test/test_cn.mp4-lzh-cn4)運行結(jié)果生成字幕文字文件目錄

語音識別技術(shù)簡介

常用工具及平臺

語音數(shù)據(jù)特征處理

典型算法

在線語音識別8.18.28.38.48.5

綜合案例:基于端到端的中文語音識別8.6綜合案例:基于End-to-End(E2E)端到端的中文語音識別8.68.6綜合案例:基于End-to-End(E2E)端到端的中文語音識別基于端到端(E2E)的語音識別系統(tǒng)主要包含三部分:輸入端→端到端ASR模型→輸出端,如圖所示,它已經(jīng)把傳統(tǒng)語音識別中的聲學(xué)模型、語言模型、發(fā)音字典封裝為端到端ASR模型。端到端的語音識別系統(tǒng)有許多,常用的模型,如Transformer、GPT、CTC、RNN-T、TDNN、Conformer、Res2Net、ResNetSE、CAMPPlus、AudioLM、squeezeformer、deepspeech2等,都已封裝到TensFlow、Pytorch、PaddlePaddle、Kaldi等不同平臺。本節(jié)以單獨端到端ASR模型處理為例進行介紹語音識別過程。傳統(tǒng)語音識別與端到端語音識別8.6綜合案例:基于End-to-End(E2E)端到端的中文語音識別1)數(shù)據(jù)準(zhǔn)備階段:下載數(shù)據(jù)AISHELL數(shù)據(jù)集data_aishell.tgz,網(wǎng)址:/33/。創(chuàng)建提取數(shù)據(jù)和創(chuàng)建audio文件列表的代碼文件extract_aishell.py和prepare_data.py,命令如下:pythonextract_aishell.py./data_aishell.tgzpythonprepare_data.py${DIRECTORY_OF_AISHELL}2)預(yù)處理階段:從語音波中提取fbank特征,保存為.npy格式文件,preprocess.py處理過程主要代碼詳見p302。3)設(shè)計模型階段:主要分為模型結(jié)構(gòu)設(shè)計和損失函數(shù)設(shè)計,模型既可以為單一的模型,也可以為多個模型混合,如encoding階段和decoding階段采用不同的模型,損失函數(shù)設(shè)計可以選用softmax損失函數(shù)(softmaxloss),也可以直接利用三元組損失函數(shù)(Tripletloss)、交叉熵?fù)p失函數(shù)、CTC損失函數(shù)其他損失函數(shù)。如使用torch定義一個Seqence2Seqence模型。8.6綜合案例:基于End-to-End(E2E)端到端的中文語音識別4)訓(xùn)練階段:訓(xùn)練可采用不同的策略,設(shè)置模型初始超參數(shù),學(xué)習(xí)模型參數(shù),如預(yù)訓(xùn)練、最小學(xué)習(xí)率、閾值等,代碼詳見工程附件源代碼。5)評價模型:評價標(biāo)準(zhǔn)可采用等錯誤率(EER)、字符錯誤率(CER)、字錯誤率(WER)等指標(biāo)評價,詳細(xì)源代碼見工程附件。6)測試模型,進行預(yù)測,運行結(jié)果示例如下:本章小結(jié)語音識別處理基礎(chǔ)語音技術(shù)的發(fā)展常用工具ESPnet、Kaldi、wenet平臺Whisper、Voicebox、DALL-E、VALL-E語音識別技術(shù)典型算法端到端學(xué)習(xí)文字轉(zhuǎn)語音音視頻流識別語音識別應(yīng)用及實際操作案例習(xí)題概念題什么是智能語音識別,其成熟應(yīng)用領(lǐng)域場景有哪些?語音識別主要任務(wù)是什么,其識別過程包含哪些步驟?什么是語音聲學(xué)特征?其處理方法有哪些?什么是大模型端到端語音識別學(xué)習(xí)?操作題設(shè)計基于大模型GPT的語音識別模型。要求如下:(1)能在少樣本上學(xué)習(xí);(2)支持實時在線聲音識別檢測。參考文獻(xiàn)JuangBH,RabinerLR.AutomaticSpeechRecognition-ABriefHistoryoftheTechnologyDevelopment[J].encyclopediaoflanguage&linguistics,2005.FuruiS.50yearsofprogressinspeechandspeakerrecognitionresearch[J].ECTITransactionsonComputerandInformationTechnology(ECTI-CIT),2005,1(2):64-74.WatanabeS,HoriT,KaritaS,etal.Espnet:End-to-endspeechprocessingtoolkit[J].arXivpreprintarXiv:1804.00015,2018.LiC,ShiJ,ZhangW,etal.ESPnet-SE:End-to-endspeechenhancementandseparationtoolkitdesignedforASRintegration[C]//2021IEEESpokenLanguageTechnologyWorkshop(SLT).IEEE,2021:785-792.LuYJ,ChangX,LiC,etal.ESPnet-SE++:Speechenhancementforrobustspeechrecognition,translation,andunderstanding[J].arXivpreprintarXiv:2207.09514,2022B.Zhangetal.,"UnifiedStreamingandNon-streamingTwo-passEnd-to-endModelforSpeechRecognition,"*ArXiv,*vol.abs/2012.05481,2020WangC,ChenS,WuY,etal.Neuralcodeclanguagemodelsarezero-shottexttospeechsynthesizers[J].arXivpreprintarXiv:2301.02111,2023.ZhangZ,ZhouL,WangC,etal.Speakforeignlanguageswithyourownvoice:Cross-lingualneuralcodeclanguagemodeling[J].arXivpreprintarXiv:2303.03926,2023.LeM,VyasA,ShiB,etal.Voicebox:Text-GuidedMultilingualUniversalSpeechGenerationatScale[J].arXivpreprintarXiv:2306.15687,2023.Todisco,M.,Delgado,H.,&Evans,N.ConstantQcepstralcoefficients:aspoofingcountermeasureforautomaticspeakerverification[J].Computerspeech&language,2017,45:516-535.Yu,D.,Deng,L.:AutomaticSpeechRecognition-ADeepLearningApproach.Springer,London(2015)LiJ.Recentadvancesinend-to-endautomaticspeechrecognition[J].APSIPATransactionsonSignalandInformationProcessing,2022,11(1).謝謝!70機器學(xué)習(xí)原理與應(yīng)用第9章AI云開發(fā)平臺本章學(xué)習(xí)目標(biāo)(知識要點)了解百度云平臺、阿里云平臺、Face++云平臺、科大訊飛云開發(fā)平臺的AI功能熟悉使用云平臺網(wǎng)絡(luò)編程相關(guān)方法。能夠完成各個云平臺API接口的調(diào)用方法和技巧。掌握移動端與設(shè)備間通信的相關(guān)方法。熟悉云開發(fā)平臺自定義模型訓(xùn)練和調(diào)用的方法。熟悉云端機器學(xué)習(xí)應(yīng)用的基本方法和過程。目錄

AI云開發(fā)簡介

云開發(fā)平臺

綜合案例9.19.29.3在線語音識別9.1◎音頻流識別◎文字轉(zhuǎn)語音◎視頻字幕文本生成9.1AI云開發(fā)簡介云開發(fā)(CloudBase)是云端一體化的后端云服務(wù),采用Serverless架構(gòu),提供云原生一體化開發(fā)環(huán)境和工具平臺,為開發(fā)者提供高可用、自動彈性擴縮的后端云服務(wù),幫助開發(fā)者統(tǒng)一構(gòu)建和管理后端服務(wù)和云資源,避免了開發(fā)者應(yīng)用開發(fā)過程中煩瑣的服務(wù)器搭建及運維,使得開發(fā)者可以專注于業(yè)務(wù)邏輯的實現(xiàn),提高了效率。1.AI云開發(fā)服務(wù)云開發(fā)從下自上,通常分為云開發(fā)基礎(chǔ)服務(wù)(InfrastructureasaService,Iaas)、云開發(fā)通用服務(wù)(SoftwareasaService,Saas)、云開發(fā)平臺服務(wù)(PlatformasaService,Paas),如圖所示,即從基礎(chǔ)設(shè)施→通用服務(wù)→應(yīng)用相關(guān)的平臺服務(wù)。一般把主機,存儲,網(wǎng)絡(luò),數(shù)據(jù)庫和安全相關(guān)的計算服務(wù)統(tǒng)稱為云開發(fā)基礎(chǔ)服務(wù)9.1AI云開發(fā)簡介1.AI云開發(fā)服務(wù)常見的開發(fā)平臺服務(wù)主要有:1)機器學(xué)習(xí)框架:提供面向AI應(yīng)用開發(fā)者的機器學(xué)習(xí)數(shù)據(jù)標(biāo)注和模型訓(xùn)練平臺2)通信:提供音視頻通信、消息推送、短信、郵件等服務(wù)3)地理信息:提供地圖、定位、導(dǎo)航相關(guān)的服務(wù)4)應(yīng)用開發(fā)框架:提供應(yīng)用開發(fā)環(huán)境和運行時環(huán)境。5)媒體服務(wù):提供圖片和音視頻等媒體文件的編碼、加工和存儲服務(wù)。云開發(fā)從部署模式上,通常分為公共云、私有云、混合云、多云等模式。AI云開發(fā)服務(wù)9.1AI云開發(fā)簡介1.AI云開發(fā)服務(wù)常見的開發(fā)平臺服務(wù)主要有:1)機器學(xué)習(xí)框架:提供面向AI應(yīng)用開發(fā)者的機器學(xué)習(xí)數(shù)據(jù)標(biāo)注和模型訓(xùn)練平臺2)通信:提供音視頻通信、消息推送、短信、郵件等服務(wù)3)地理信息:提供地圖、定位、導(dǎo)航相關(guān)的服務(wù)4)應(yīng)用開發(fā)框架:提供應(yīng)用開發(fā)環(huán)境和運行時環(huán)境。5)媒體服務(wù):提供圖片和音視頻等媒體文件的編碼、加工和存儲服務(wù)。云開發(fā)從部署模式上,通常分為公共云、私有云、混合云、多云等模式。AI云開發(fā)服務(wù)9.1AI云開發(fā)簡介2.AI開發(fā)模式在AI開發(fā)中,人們通常需要根據(jù)任務(wù)的情況和成本因素考慮,需要考慮以下情況:模型訓(xùn)練問題:自己訓(xùn)練自己的模型還是使用別人訓(xùn)練完的模型。在哪里訓(xùn)練:在自己的電腦,還是服務(wù)器或者是在云平臺訓(xùn)練? 在哪里預(yù)測推理:在本地設(shè)備上進行預(yù)測推理(離線狀態(tài)下),還是在云平臺進行預(yù)測推理?AI開發(fā)模式可以分為基于云開發(fā)平臺的API調(diào)用模式基于本地設(shè)備的訓(xùn)練預(yù)測推理模式基于云端的訓(xùn)練預(yù)測推理模式9.1AI云開發(fā)簡介(1)基于云開發(fā)平臺的API調(diào)用模式本節(jié)重點以它們在移動端設(shè)備的應(yīng)用進行講解,即移動應(yīng)用程序僅需向所需的網(wǎng)絡(luò)服務(wù)發(fā)送一個HTTPS請求以及提供預(yù)測所需的數(shù)據(jù),例如由設(shè)備的相機拍攝的照片,那么在幾秒鐘之內(nèi),設(shè)備就能接收到預(yù)測結(jié)果.移動端開發(fā)者唯一需要做的,使用軟件開發(fā)工具包(SDK)集成服務(wù),在應(yīng)用程序內(nèi)部連接服務(wù)的API接口。而服務(wù)供應(yīng)商會在后臺使用他們的數(shù)據(jù)對模型進行重復(fù)訓(xùn)練,使得模型保持最新,但移動端應(yīng)用開發(fā)者并不需要了解機器學(xué)習(xí)的具體訓(xùn)練過程。如圖所示。基于云開發(fā)平臺的API調(diào)用模式9.1AI云開發(fā)簡介(2)基于本地設(shè)備的訓(xùn)練預(yù)測推理模式基于本地設(shè)備的訓(xùn)練預(yù)測推理模式,根據(jù)使用設(shè)備的不同,通常有使用一臺PC或多臺PC,或者使用本地服務(wù)器進行訓(xùn)練,如圖所示。其基本原理是:在本地設(shè)備的完成模型訓(xùn)練后,把模型的得出參數(shù)加載到應(yīng)用程序中,應(yīng)用程序在本地設(shè)備的CPU或GPU上運行所有的推理計算?;诒镜卦O(shè)備的訓(xùn)練預(yù)測推理模式9.1AI云開發(fā)簡介(3)基于云端的訓(xùn)練預(yù)測推理模式基于云端的訓(xùn)練預(yù)測推理模式,通??梢允褂迷朴嬎惴绞胶屯泄軐W(xué)習(xí)方式兩種。云計算方式的基本原理是通過云計算中心訪問數(shù)據(jù)中心的方式,獲取訓(xùn)練數(shù)據(jù),然后在云計算中心運行、訓(xùn)練模型訓(xùn)練開始。完成訓(xùn)練后,從云計算中心下載模型訓(xùn)練結(jié)果的參數(shù),并刪除計算實例。最后,可以把訓(xùn)練好的模型部署到移動端設(shè)備或其他需要部署的地方。如圖所示?;谠贫说挠?xùn)練預(yù)測推理模式9.1AI云開發(fā)簡介3.AI云開發(fā)應(yīng)用領(lǐng)域(1)互聯(lián)網(wǎng)娛樂行業(yè)實時檢測人臉表情及動作,通過真人驅(qū)動,使卡通形象跟隨人臉做出靈活生動的表情,增強互動效果的同時保護用戶間的隱私,可用于直播、短視頻、拍攝美化、社交等場景。(2)手機行業(yè)通過人臉實時驅(qū)動卡通形象進行錄制拍攝,增強手機的娛樂性及互動性,提升用戶體驗,適用于相機、短信、通話、輸入法等場景。(3)在線教育行業(yè)可實時驅(qū)動虛擬形象幫助老師和學(xué)生溝通交流,提高師生之間互動的效果,使教學(xué)更加生動有趣,打造創(chuàng)新型教學(xué)體驗,促進教學(xué)風(fēng)格多元化。目錄

AI云開發(fā)簡介

云開發(fā)平臺

綜合案例9.19.29.3云開發(fā)平臺9.2◎百度云開發(fā)平臺◎阿里云開發(fā)平臺◎

Face++云開發(fā)平臺◎科大訊飛云平臺9.2云開發(fā)平臺當(dāng)前市場上已經(jīng)成熟的AI云開發(fā)平臺有許多,具體如下:國內(nèi)的主要有:百度智能云開發(fā)、阿里云AI開發(fā)、華為云開發(fā)ModelArts、騰訊云開發(fā)、科大訊飛云開發(fā)、海康威視hikvision、曠視Face++AI等。國外的主要有:亞馬遜的AmazonAI、Google云開發(fā)、IBM云開發(fā)、微軟的AzureAI等。下面就以百度云平臺、阿里云平臺、Google云平臺為例,講解它們在機器學(xué)習(xí)圖像識別的應(yīng)用。最為典型的應(yīng)用是人臉識別,人臉識別的關(guān)鍵技術(shù)有關(guān)鍵點定位、人臉檢測、面部追蹤、表情屬性、活體檢測、人臉識別、3D重建等9.2云開發(fā)平臺影響人臉識別效果的因素可從外在和內(nèi)在兩個方面來分,影響人臉識別效果的外在因素主要有光線影響、分辨率影響、攝像頭設(shè)備影響等;內(nèi)在因素主要有附件與遮擋、姿態(tài)角度、紋理變換等。人臉識別影響因素9.2.1百度云開發(fā)平臺百度云開發(fā)平臺主要有云+AI、應(yīng)用平臺等類別,云+AI包含了百度智能云、百度AI開發(fā)平臺、DuerOS、Apollo自動駕駛、飛漿PaddlePaddle、Carlife+開放平臺、EasyEdge端與邊緣AI服務(wù)平臺等,應(yīng)用平臺包含百度地圖開放平臺、AR開放平臺、智能小程序、百度翻譯開放平臺等,人臉識別中有活體檢測、人臉質(zhì)量檢測、OCR身份證識別等多種,如活體檢測中認(rèn)證核驗可通過以下方式完成:確保為真人:通過離在線雙重活體檢測,確保操作者為真人,可有效抵御彩打照片、視頻、3D建模等攻擊。確保為本人:基于真人的基礎(chǔ),將真人人臉圖片與公民身份信息庫的人臉小圖對比,確保操作者身份的真實性。避免身份證或人臉圖像偽造等欺詐風(fēng)險。9.2.1百度云開發(fā)平臺

如圖所示,根據(jù)第三步中的兩張圖片的人臉對比得分,進行最終業(yè)務(wù)的核身結(jié)果判斷依據(jù),閾值可根據(jù)領(lǐng)域業(yè)務(wù)需要進行調(diào)整。認(rèn)證核驗過程9.2.1百度云開發(fā)平臺

本部分以人臉識別中第一步為例,介紹如何使用百度云平臺進行人臉識別開發(fā)應(yīng)用。1)首先完成注冊,然后注冊成功后,登錄進入管理控制臺,選擇服務(wù),點擊左側(cè)菜單欄的產(chǎn)品服務(wù)→人工智能→人臉識別百度云平臺目錄9.2.1百度云開發(fā)平臺

2)點擊人臉識別下的應(yīng)用列表,選擇創(chuàng)建應(yīng)用創(chuàng)建應(yīng)用3)把標(biāo)有星號的必填項都選上,點擊立即創(chuàng)建即可。注意,因為選擇了人臉識別服務(wù),所以在接口選擇中,百度默認(rèn)將人臉識別的所有接口都自動勾選上了填寫應(yīng)用基本信息9.2.1百度云開發(fā)平臺

4)創(chuàng)建完成后,應(yīng)用列表會出現(xiàn)一個名為AndroidTest的應(yīng)用,點擊管理查看應(yīng)用詳情,應(yīng)用詳情內(nèi)包括了APPID、AK、SK5)選擇已經(jīng)封裝好的SDK庫,選擇Java,點擊下載應(yīng)用列表詳情人臉識別SDK下載列表9.2.1百度云開發(fā)平臺

6)下載后,壓縮包內(nèi)存放了4個jar包7)選擇使用說明,切換成人臉識別→API文檔-V3→人臉檢測人臉識別jar下載列表人臉識別文檔鏈接9.2.1百度云開發(fā)平臺

8)新建例程,然后打開FaceDetectEmpty程序,將jar包復(fù)制到libs目錄下,并添加依賴。9)調(diào)用數(shù)據(jù),向API服務(wù)地址使用POST發(fā)送請求,必須在URL中帶上參數(shù)`access_token`。

10)在對應(yīng)的字段內(nèi)填寫上自己申請的AK(appKey)和SK(secretKey)11)在MainActivity下,調(diào)用此方法創(chuàng)建分線程newThread(newRunnable(){@Overridepublicvoidrun(){ASSESS_TOKEN=AuthService.getAuth();runOnUiThread(newRunnable(){@Overridepublicvoidrun(){tv1.setText(ASSESS_TOKEN);}});Log.e("TAG","onClick:"+ASSESS_TOKEN);}}).start();9.2.1百度云開發(fā)平臺

12)獲取access_token之后,完成人臉檢測detect()方法13)需要修改:1)獲取發(fā)送的圖片;2)修改請求參數(shù);3)添加accessToken;4)解析接收到的Json數(shù)據(jù)。把發(fā)送的圖片放在assets路徑下,通過getAssets().open(fileName)方法可獲取輸入流。BufferedInputStreambis=newBufferedInputStream(getResources().getAssets().open(fileName));

根據(jù)文檔中的請求參數(shù),加入顏值、年齡、表情的分析,獲取人臉屬性值14)將face_field對應(yīng)的值設(shè)置為如下:map.put("face_field","faceshape,beauty,facetype,age,emotion");接著修改ASSESS_TOKEN值和解析JSON數(shù)據(jù)。15)運行程序,點擊識別圖片,識別返回的人臉屬性結(jié)果信息9.2.2阿里云開發(fā)平臺

在阿里云開發(fā)中的云原生AI支持主流框架(如TensorFlow、PyTorch、Keras、caffe、MXNet等)和多種環(huán)境,屏蔽底層差異并承擔(dān)非算法相關(guān)工作,利用阿里云容器服務(wù)(ACK)全面支持GPU和CPU異構(gòu)資源集群統(tǒng)一管理和調(diào)度,支持機器學(xué)習(xí)計算從數(shù)據(jù)預(yù)處理、開發(fā)、訓(xùn)練、預(yù)測和運維的全生命周期。機器學(xué)習(xí)全生命周期9.2.2阿里云開發(fā)平臺

下面以O(shè)CR圖像識別為例,介紹如何使用阿里云平臺進行開發(fā)應(yīng)用。1)通過進入阿里云平臺,推薦使用支付寶賬號登錄,因為云平臺的大部分項目都需要實名認(rèn)證。進入平臺后,搜索“通用文字識別-高精版OCR文字識別”.2)選擇第一個標(biāo)簽“阿里云官方行業(yè)文檔類識別”,進入后選擇0元點擊購買3)購買成功后,進入控制臺,在云市場的列表當(dāng)中會有AppKey、AppSecret、AppCode三個接口4)返回“通用文字識別”頁面,在購買下面出現(xiàn)API接口調(diào)用方法介紹,并有curl/Java/C#/PHP/Python/ObjectC不同語言的參考代碼5)因Java和Android的添加依賴方式不同,上圖中添加依賴的鏈接不適用于Java,需要重寫Http請求。這里采用OKhttp3框架編寫網(wǎng)絡(luò)請求,所以在創(chuàng)建工程后,需要在build.gradle添加okHttp3和gson依賴dependencies{implementationfileTree(dir:'libs',include:['*.jar'])implementation'androidx.appcompat:appcompat:1.0.2'implementation'androidx.constraintlayout:constraintlayout:1.1.3'implementation'com.google.code.gson:gson:2.8.0'//聯(lián)網(wǎng)implementation'com.squareup.okhttp3:okhttp:3.10.0'}9.2.2阿里云開發(fā)平臺6)然后復(fù)制6.2.1百度云開發(fā)平臺的utils工具包至工程中,同樣把測試圖片放在assets目錄下7)根據(jù)Java部分的請求示例提示,編寫post請求8)上述代碼是OCR圖像識別的默認(rèn)版本,只傳經(jīng)Base64轉(zhuǎn)化后的圖像,還有其他可選參數(shù)可以設(shè)置(具體可參考相關(guān)文檔)。如圖所示是點擊“識別”后云平臺的返回結(jié)果。9.2.3Face++云開發(fā)平臺

Face++是曠視科技開發(fā)的人工智能開發(fā)平臺,主要提供計算機視覺領(lǐng)域中的人臉識別、人像處理、人體識別、文字識別、圖像識別等AI開發(fā)支持,同時提供云端RESTAPI以及本地API(涵蓋Android,iOS,Linux,Windows,MacOS),并且提供定制化及企業(yè)級視覺服務(wù),其自稱為云端視覺服務(wù)平臺。它有聯(lián)網(wǎng)授權(quán)與離線授權(quán)兩種SDK授權(quán)模式,其API文檔和SDK文檔可參閱網(wǎng)址:/documents/5671789。下面簡單介紹使用Face++云開發(fā)平臺人臉檢測過程。(1)創(chuàng)建APIKey

在采用聯(lián)網(wǎng)授權(quán)模式前,您需要首先創(chuàng)建APIKey(API密鑰),它是使用SDK的憑證。進入控制臺,點擊“創(chuàng)建我的第一個應(yīng)用”,一個免費的APIKey將會自動生成9.2.3Face++云開發(fā)平臺創(chuàng)建APIKey創(chuàng)建生成的APIKey9.2.3Face++云開發(fā)平臺(2)創(chuàng)建BundleIDBundleID是APP的唯一標(biāo)識,如果需要在APP內(nèi)集成SDK,首先需要綁定BundleID(包名)。每開發(fā)一個新應(yīng)用,首先都需要先去創(chuàng)建一個BundleID。BundleID分為兩種:ExplicitAppID,一般格式為:pany.appName;這種id只能用在一個app上,每一個新應(yīng)用都要創(chuàng)建并只有一個。WildcardAppID,一般格式為:com.domainname.*;這種id可以用在多個應(yīng)用上,雖然方便,但是使用這種id的應(yīng)用不能使用通知功能,所以不常用。在安卓系統(tǒng)中BundleID是Packagename,是Android系統(tǒng)中是判斷一個App的唯一標(biāo)識;而在ios是bundleid。進入控制臺-應(yīng)用管理,點擊“BundleID”,進行綁定。(3)下載SDK開發(fā)包進入“控制臺-聯(lián)網(wǎng)授權(quán)SDK-資源中心”,勾選需要的SDK產(chǎn)品及相應(yīng)平臺進行下載,本部分以人臉檢測-基礎(chǔ)版SDK為例進行下載和簡單講解。下載完成后,在運行Demo工程前,按照Demo工程的工程名,填入應(yīng)用名稱中,創(chuàng)建新的APIKey,創(chuàng)建完成點擊查看。然后點擊創(chuàng)建BundleID,把包的名稱填入BundleID。9.2.3Face++云開發(fā)平臺4)在AndroidStudio中導(dǎo)入Demo工程,把model文件中的megviifacepp_model文件復(fù)制到工程下src→main→assets目錄下,然后修改utils文件下的Util文件,把上述申請的API_KEY和API_SECRET填入下面代碼中。publicclassUtil{

//在這邊填寫API_KEY和API_SECRET publicstaticStringAPI_KEY="-lLeU-VgZoY-ZHZXqWJRhQJWkGAvY**"; publicstaticStringAPI_SECRET="xB0ycbPueUD0VUNsC7xdZy4K86s6D_**";}5)接著在SelectedActivity.java中修改下面代碼如下紅框:9.2.3Face++云開發(fā)平臺6)連接真實手機設(shè)備,部署運行Demo工程,運行后,點擊人臉檢測,會出現(xiàn)“實時瀏覽”和“圖片導(dǎo)入”按鈕,點擊“圖片導(dǎo)入”按鈕,導(dǎo)入圖片,檢測效果。注意:如果創(chuàng)建自己工程完成人臉檢測,創(chuàng)建APIKey和BundleID步驟同上一樣,但需要把Demo工程libs文件下的licensemanager.aar和sdk.aar復(fù)制放入自己的app→libs文件下,同時需要在Project的build.gradle中增加配置9.2.4科大訊飛云平臺

科大訊飛云平臺在語音識別、語音合成、機器理解、卡證票據(jù)文字識別、人臉識別、圖像識別、機器翻譯等領(lǐng)域都有典型應(yīng)用。在圖像識別方面主要有場景識別、物體識別、場所識別等,人臉識別主要包含了人臉驗證與搜索、人臉對比、人臉?biāo)≌諏Ρ?、靜默活體檢測、人臉分析等。下面以運行官方Demo為例,了解科大訊飛云平臺的使用流程。1)點擊鏈接:/,進入官網(wǎng)后注冊賬號登錄控制臺。注冊完成后,可選擇完成個人實名認(rèn)證。2)在實名后,在“我的應(yīng)用”中點擊創(chuàng)建應(yīng)用,填寫應(yīng)用名稱、選擇應(yīng)用分類、填寫應(yīng)用功能描述9.2.4科大訊飛云平臺創(chuàng)建完應(yīng)用后,點擊生成的應(yīng)用名稱,可在右上側(cè)看到APPID、APISecret、APIKey信息3)導(dǎo)入SDK。下載完“人臉驗證與搜索”對應(yīng)的SDK后,將AndroidSDK壓縮包中l(wèi)ibs目錄下所有子文件復(fù)制至自己創(chuàng)建工程KDFaceTest1的libs目錄下9.2.4科大訊飛云平臺4)添加用戶權(quán)限。在工程AndroidManifest.xml文件中添加權(quán)限5)初始化。通過初始化來創(chuàng)建語音配置對象,只有初始化后才可以使用MSC的各項服務(wù)。一般將初始化放在程序入口處(如Application、Activity的onCreate方法),初始化代碼如下://將“12345678”替換成您申請的APPID,申請地址://請勿在“=”與appid之間添加任何空字符或者轉(zhuǎn)義符SpeechUtility.createUtility(context,SpeechConstant.APPID+"=12345678");6)人臉注冊。根據(jù)mEnrollListener的onResult回調(diào)方法中得到注冊結(jié)果7)模型操作(刪除)。人臉注冊成功后,在語音云端上會生成一個對應(yīng)的模型來存儲人臉信息,人臉模型的操作即對模型進行刪除,當(dāng)前不支持查詢"query"操作//設(shè)置會話場景mIdVerifier.setParameter(SpeechConstant.MFV_SCENES,"ifr");//用戶idmIdVerifier.setParameter(SpeechConstant.AUTH_ID,authid);//設(shè)置模型參數(shù),若無可以傳空字符傳StringBufferparams=newStringBuffer();//執(zhí)行模型操作,cmd取值"delete"刪除mIdVerifier.execute("ifr",cmd,params.toString(),mModelListener);9.2.4科大訊飛云平臺8)使用demo測試,使用帶UI接口時,將assets下文件復(fù)制到項目中;把sample文件夾下的speechDemo→src→main→java中com.iflytek包下的文件復(fù)制到工程對應(yīng)的包下。同時,將res文件中的內(nèi)容復(fù)制到工程對應(yīng)的res文件夾下。另外把src→main下的AndroidManifest.xml文件內(nèi)容,復(fù)制到工程的對應(yīng)的AndroidManifest.xml文件中。9)修改工程的build.gradle文件,添加代碼如下:android{………sourceSets{main{jniLibs.srcDirs=['libs']}}}

dependencies{………implementationfiles('libs/Msc.jar')implementation'androidx.legacy:legacy-support-v4:1.0.0'implementation'com.google.android.material:material:1.4.0'}9.2.4科大訊飛云平臺10)連接真實手機設(shè)備,部署工程,啟動后需要授權(quán)訪問聲音設(shè)備和相機處理圖片11)點擊“立刻體驗人臉識別”,出現(xiàn)界面9.2.4科大訊飛云平臺12)輸入APPID,然后選擇選圖,選好后點擊確定目錄

AI云開發(fā)簡介

云開發(fā)平臺

云端機器學(xué)習(xí)應(yīng)用9.19.29.3云端機器學(xué)習(xí)應(yīng)用9.3◎基于EasyDL的多物體識別◎基于PaddlePaddle的CNN圖像識別9.3.1基于EasyDL的多物體識別基于云端的機器學(xué)習(xí)框架貫穿了機器學(xué)習(xí)整個生命周期,從開發(fā)、訓(xùn)練、預(yù)測、運維等。目前云端學(xué)習(xí)訓(xùn)練支持單機和多機兩種模式,如果是多機模式,需要分別指定參數(shù)和任務(wù)服務(wù)器的數(shù)量,然后在調(diào)度時刻,將生成的參數(shù)傳遞給任務(wù)服務(wù)器,訓(xùn)練過程中可以根據(jù)需要查看訓(xùn)練狀況。下面以百度的EasyDL為例,介紹AI開發(fā)平臺在圖像識別方面的多物體識別應(yīng)用。EasyDL基于PaddlePaddle飛槳深度學(xué)習(xí)框架構(gòu)建而成,內(nèi)置用戶百億級大數(shù)據(jù)訓(xùn)練的成熟預(yù)訓(xùn)練模型,如圖像分類、物體檢測、文本實體抽取、聲音/視頻分類等,并提供一站式的智能標(biāo)注、模型訓(xùn)練、服務(wù)部署等全流程功能,支持公有云、設(shè)備端、私有服務(wù)器、軟硬一體方案等靈活的部署方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論