亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于HTK的嵌入式豬只聲音識別系統(tǒng)設計

        2017-04-10 07:27:32袁瑞臨張棲銘王峰范凡
        電腦知識與技術 2017年4期
        關鍵詞:嵌入式

        袁瑞臨++張棲銘++王峰++范凡

        摘要:為了對豬只異常狀態(tài)進行檢測,本文設計了一種基于嵌入式平臺的豬只聲音識別系統(tǒng),該系統(tǒng)以S3C2440芯片為微處理器,以Linux為操作系統(tǒng),以QT為顯示界面,并通過移植基于隱馬爾科夫模型算法的語音識別工具箱HTK,實現(xiàn)了自動識別豬只不同狀態(tài)的聲音。經(jīng)過實驗驗證表明,本系統(tǒng)達到了預期的實驗效果。

        關鍵詞:聲音識別;S3C2440; 隱馬爾科夫模型;HTK; 嵌入式

        中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2017)04-0186-03

        The Design of Embedded Voice Recognition System Based on HTK in Pigs

        YUAN Rui-lin ,ZHANG Qi-ming,WANG Feng,F(xiàn)AN Fan

        (1.College of Information Engineering, Taiyuan University of Technology, Jinzhong 030600,China)

        Abstract: In order to detect the abnormal state of pigs, this paper designs a pig voice recognition system based on embedded platform, the system uses S3C2440 chip microprocessor, the Linux operating system, using QT as the display interface, and through transplantation based on Hidden Markov model algorithm for speech recognition toolbox HTK, realizes the automatic identification of pigs in different states sound. The experimental results show that the system achieves the desired experimental results.

        Key words: voice recognition; S3C2440; HMM; HTK; embedded

        現(xiàn)代集約化的養(yǎng)豬場規(guī)模越來越大,自動化和無人值守的水平日益提高,對豬場的狀態(tài)監(jiān)測提出了很高的要求,而豬的聲音信息可以很好地反映豬的狀態(tài),為飼養(yǎng)員判斷豬只的狀態(tài)提供參考。聲音識別作為模式識別的重要研究內(nèi)容,近二十年來發(fā)展迅速,語音技術的應用已經(jīng)成為一個具有競爭性的新興高技術產(chǎn)業(yè)。隨著計算機技術與電子技術的發(fā)展,嵌入式系統(tǒng)的應用領域越來越廣,基于嵌入式平臺的聲音識別技術發(fā)展備受關注。由英國劍橋大學工程系開發(fā)的、由眾多函數(shù)庫和工具組成的聲音識別工具箱HTK(Hidden Markov Model Toolkit),經(jīng)過不斷地發(fā)展和改進,得到了廣泛使用,在嵌入式平臺上移植開源的HTK可以縮短開發(fā)周期,節(jié)約成本。本文主要介紹了一種通過移植HTK應用于檢測和識別豬只不同狀態(tài)聲音的嵌入式系統(tǒng)實現(xiàn)的整個過程。

        1 實現(xiàn)原理

        1.1 聲音識別基本原理

        關于豬只聲音識別的算法,我們主要采用目前在聲音信號處理的各個領域使用最為廣泛的隱馬爾可夫模型(HMM)算法。HMM算法是一種屬于模板匹配類型的模式識別方法,即按照一定的相似度測度準則,使未知的聲音模型與參考模型庫作比較,以最大輸出概率的一個模型作為識別結(jié)果。

        在語音識別系統(tǒng)設計中,將每一種豬只狀態(tài)作為一個基本元,并建立對應的HMM。HMM是一個輸出符號序列的雙重隨機過程,假設具有N種狀態(tài)S1,S2,S2,…,SN,在一定時間從某一個狀態(tài)轉(zhuǎn)移到另一個狀態(tài)并且會輸出一個符號序列。狀態(tài)轉(zhuǎn)移結(jié)果由初始狀態(tài)概率π和狀態(tài)轉(zhuǎn)移概率矩陣A決定,輸出的符號序列由觀察值概率矩陣B決定。

        在本文中,我們設定了具有6個轉(zhuǎn)移狀態(tài)的HMM模型,如圖1所示。其中,S1和S6分別稱為開始狀態(tài)和結(jié)束狀態(tài),它們無觀察函數(shù),稱為非發(fā)散狀態(tài);S2至S5這4個狀態(tài)稱為活動狀態(tài)。HMM的狀態(tài)轉(zhuǎn)換圖如下所示,其中aij為從狀態(tài)i到狀態(tài)j的轉(zhuǎn)移概率,bi為狀態(tài)i轉(zhuǎn)移時的輸出概率。

        1.2 硬件組成

        本嵌入式系統(tǒng)硬件采用Samsung公司推出的S3C2440芯片為核心,它是基于ARM920T的32位RISC微處理器,其主頻為400MHZ,并且具有低功耗、高性能、高集成度等優(yōu)點。豬只聲音通過麥克風聲音傳感器采集回來,再經(jīng)過數(shù)字音頻編譯碼器進行處理。嵌入式音頻系統(tǒng)的CODEC采用Philips公司生產(chǎn)的UDA1341芯片,它提供標準的IIS接口,可與S3C2440內(nèi)置的IIS接口直接相連。音頻驅(qū)動程序采用ALSA體系,由它提供的音頻編程API接口,可以對聲卡進行控制,設置采樣頻率、聲道數(shù)目等參數(shù),并完成對聲卡的讀出數(shù)據(jù)及寫入數(shù)據(jù)等操作。系統(tǒng)的其他模塊還有64M的SDRAM、256M的Nand Flash、MIC輸入接口、耳機輸出接口、電源模塊等。

        圖 2 硬件結(jié)構圖

        1.3 軟件設計

        在軟件設計部分,首先采用自行編寫的錄音程序?qū)⒇i只聲音保存為WAVE波形文件格式。再利用HTK所提供的數(shù)據(jù)準備工具、HMM模型訓練工具、識別工具和結(jié)果分析工具來實現(xiàn)豬只聲音信號的特征提取、訓練、識別等過程。軟件結(jié)構如下圖所示:

        圖 3 軟件設計結(jié)構圖

        2 嵌入式系統(tǒng)設計

        以Linux為內(nèi)核的嵌入式操作系統(tǒng)的設計,分為引導程序Bootloader的移植、內(nèi)核的移植、文件系統(tǒng)(包含應用程序)的移植三大部分。本設計中Bootloader采用開發(fā)板自帶的Uboot,故本文重點介紹內(nèi)核的移植及文件系統(tǒng)和應用程序的移植。

        2.1 交叉編譯平臺搭建

        2.1.1 交叉編譯簡介

        由于嵌入式平臺處理能力及存儲空間等資源的限制,需要在PC上利用交叉編譯工具鏈對需要下載到ARM平臺的文件進行交叉編譯。本設計以ARM-Linux平臺作為運行環(huán)境,故所選交叉編譯工具鏈為arm-linux-gcc。

        2.1.2 交叉編譯工具安裝過程

        在PC主機上安裝交叉編譯工具鏈的主要步驟為:

        ① 下載交叉編譯工具鏈arm-linux-gcc-4.3.2.tgz,并在/usr/local下建立arm文件夾:#mkdir /usr/local/arm。

        ② 將文件解壓縮:#tar xzvf arm-linux-gcc-4.3.2.tgz -C /usr/local/arm。

        ③ 添加環(huán)境變量,在profile文件中添加:export PATH=/usr/local/arm/4.3.2/bin:$PATH。

        2.2 內(nèi)核的移植

        2.2.1 內(nèi)核簡介

        內(nèi)核是嵌入式操作系統(tǒng)的核心,內(nèi)核主要由進程調(diào)度、內(nèi)存管理、虛擬文件系統(tǒng)、網(wǎng)絡接口和通訊進程等組成。Linux內(nèi)核具有代碼開源、體積小、效率高、易裁剪等優(yōu)點。本文中我們采用嵌入式Linux 2.6.31版本內(nèi)核作為移植對象,并結(jié)合聲音識別平臺硬件的需要進行相應的配置。

        2.2.2 內(nèi)核安裝過程

        內(nèi)核移植的主要步驟為:

        ①在官網(wǎng)上下載linux-2.6.31.tar.bz2內(nèi)核源碼。

        ②修改編譯配置文件Makefile,指定系統(tǒng)硬件框架及交叉編譯工具:

        ARCH ? = arm

        CROSS_COMPILE ?= arm-linux-

        ③在PC上Linux操作系統(tǒng)下進入圖4所示的圖形化配置界面,打開S3C2440的默認配置文件后,再進入"System Type"選項單,配置選中以下幾項:

        2.3 文件系統(tǒng)的設計

        文件系統(tǒng)是操作系統(tǒng)的重要組成部分, Linux文件系統(tǒng)具有一些固定格式和功能的目錄。文件系統(tǒng)制作的主要過程是創(chuàng)建系統(tǒng)的各個目錄以及在這些目錄下添加各種文件,由于創(chuàng)建目錄部分無特別之處,故在下文中我們重點介紹在文件系統(tǒng)中如何添加本設計中所需要的應用程序。

        2.3.1 HTK的編譯

        由于嵌入式平臺資源的限制,在ARM平臺主要完成豬只聲音的識別工作,而聲音模型的建立,即訓練過程需要在PC平臺完成。因此整個系統(tǒng)搭建分為PC平臺和ARM平臺兩大部分。由于針對于宿主機的編譯過程和針對ARM-Linux平臺的類似,這里只介紹過程相對復雜的交叉編譯過程,主要步驟如下:

        ①在HTK官網(wǎng):http://htk.eng.cam.ac.uk/download.shtml下載HTK-3.4.1.tar.gz源碼包。

        ②Linux下運行解壓后文件夾下configure程序,生成Makefile文件:

        ./configure - prefix=/home/yrl/HTK1。

        ③修改源碼包下HTKLib文件夾中的編譯配置Makefile文件使其針對ARM平臺,并移除一些嵌入式平臺不需要的庫文件,修改如下:

        CC = gcc

        CFLAGS := $(CFLAGS) -ansi -D_SVID_SOURCE -DOSS_AUDIO -D'ARCH="i686"' -Wall -Wno-switch -g -O2 -

        RANLIB = ranlib

        objects = HGraf.o esig_asc.o \

        lvobjects = $(basename HGraf.o).lv.o esig_asc.lv.o \

        修改為:

        CC = arm-linux-gcc

        CFLAGS := $(CFLAGS) -ansi -D_SVID_SOURCE -DOSS_AUDIO -D'ARCH="arm"' -Wall -Wno-switch -g -O2 -

        RANLIB =arm-linux-ranlib

        objects = esig_asc.o \

        lvobjects = esig_asc.lv.o \

        修改完成后保存,運行:make。

        ④與第③步類似,修改HTKTools文件夾下的Makefile文件,修改完保存退出。

        Linux下運行:make

        make install。

        ⑤編譯完成后,將在HTKTools文件夾下生成所有可執(zhí)行程序中的用于提取MFCC特征的工具HCopy和用于識別的工具HVite添加到文件系統(tǒng)的/usr/bin目錄下即可。

        2.3.2 HTK的應用

        在采集豬只聲音后,使用HTK所提供的與聲音識別相關的工具集構建系統(tǒng)時,根據(jù)圖3中所示的軟件工具完成聲音數(shù)據(jù)的標記并提取MFCC特征,使用基于前向后向算法的工具HInit和Hcompv及基于Baum-Welch算法的HRest完成聲學模型的訓練。在識別時,使用HVite將提取好的測試數(shù)據(jù)的MFCC特征與聲學模型比較,得出識別結(jié)果。構建好豬只聲音系統(tǒng)后,利用HResults對本系統(tǒng)進行性能評估,可得到測評結(jié)果及相關信息。

        2.3.3 QT程序的設計

        為了便于在ARM上顯示結(jié)果并且方便測試,我們設計了Qt程序,并將編寫好的程序利用Qt Embedded編譯器編譯成ARM-Linux平臺的可執(zhí)行程序,添加到文件系統(tǒng)中。在Qt程序中,嵌入編譯好的聲音識別可執(zhí)行程序,同時為了方便單次測試,在界面中加入了QPushButton部件,當按鈕被點擊時,根據(jù)設計的“信號與槽”機制便會觸發(fā)聲音采集程序,進行識別。進行一次測試后,Qt識別界面如下圖所示:

        3 結(jié)束語

        本設計通過移植較為成熟的開源工具箱HTK,并且合理地進行軟硬件裁剪,成功實現(xiàn)了豬只異常聲音在嵌入式平臺的檢測和識別。經(jīng)過實驗驗證,準確率和處理速度均較為理想,具有很好的推廣價值。

        參考文獻:

        [1] 韋東山. 嵌入式 Linux應用開發(fā)完全手冊[M].北京: 人民郵電出版社,2008.

        [2] 張懿. 構造廉價的ARM9開發(fā)平臺[J].單片機與嵌入式系統(tǒng)應用,2007(5):70-75.

        [3] 布蘭切特,薩默菲爾德.C++ GUI Qt4 編程[M].閆鋒欣,曾泉人,張志強,譯.2版.北京:電子工業(yè)出版社,2013.

        [4] 楊成.嵌入式語音識別平臺及優(yōu)化研究[D].華南理工大學,2010.

        [5] 胡航.語音信號處理[M].哈爾濱工業(yè)大學出版社,2000.

        [6] 王柄錫.實用語音識別基礎[M].北京:國防工業(yè)出版社,2005.

        [7] 韓紀慶,張磊,鄭鐵然.語音信號處理[M].北京: 清華大學出版社,2005.

        [8] 王炳錫,屈丹.實用語音識別基礎[M].北京:國防工業(yè)出版社,2005.

        猜你喜歡
        嵌入式
        Focal&Naim同框發(fā)布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
        TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應用
        電子制作(2019年7期)2019-04-25 13:17:14
        基于嵌入式Linux內(nèi)核的自恢復設計
        嵌入式系統(tǒng)通信技術的應用
        電子制作(2018年18期)2018-11-14 01:48:16
        嵌入式PLC的設計與研究
        電子制作(2018年16期)2018-09-26 03:27:18
        搭建基于Qt的嵌入式開發(fā)平臺
        基于嵌入式系統(tǒng)Windows CE的應用程序開發(fā)
        嵌入式單片機在電機控制系統(tǒng)中的應用探討
        電子制作(2017年8期)2017-06-05 09:36:15
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
        Altera加入嵌入式視覺聯(lián)盟
        久久国产品野战| 欧美丰满少妇xxxx性| 欧美最猛黑人xxxx黑人猛交| 国产成人亚洲精品无码h在线| 欧美精品一区二区精品久久| 亚洲情精品中文字幕99在线| 天堂av在线美女免费| 狠狠做深爱婷婷久久综合一区| 在线精品国内视频秒播| 成av人片一区二区三区久久| 成人av在线久色播放| 国产精品多p对白交换绿帽 | 精品国产免费一区二区三区香蕉| 亚洲av综合色区无码一二三区| 美女爽好多水快进来视频| 国产风骚主播视频一区二区| 少妇无码太爽了在线播放| 亚洲精品成人区在线观看| 人妻被猛烈进入中文字幕| 看国产亚洲美女黄色一级片 | 中文字幕中文字幕777| 高潮抽搐潮喷毛片在线播放 | 成人aaa片一区国产精品| 国产精品密播放国产免费看 | 天天躁人人躁人人躁狂躁| 久久精品综合国产二区| 免费一区二区在线观看视频在线 | 欧美熟妇色ⅹxxx欧美妇| 亚洲欧洲AV综合色无码| 成人一区二区三区国产| 少妇被粗大的猛烈进出69影院一 | 日韩精品午夜视频在线| 国产精品无码人妻在线| 美女扒开内裤让男生桶| 国产三级精品三级在线观看粤语| 国产精品午夜夜伦鲁鲁| 黑人巨大无码中文字幕无码| 人妻少妇一区二区三区| 91久久精品一区二区| 人妻无码中文字幕| 久久成人免费电影|