曾遠(yuǎn)躍
(福建省特種設(shè)備檢驗(yàn)研究院泉州分院,福建 泉州 362000)
新時(shí)期,為了提高建筑產(chǎn)品生產(chǎn)制造的總體質(zhì)量,首先需要提升建筑電氣工程質(zhì)量。以電梯為例,近幾年伴隨著電梯安裝總量的持續(xù)增長與電梯安全管理升級(jí),電梯安全問題備受關(guān)注。通過分析近幾年國內(nèi)發(fā)生的電梯安全事故,技術(shù)方面原因主要集中在電梯層門、轎廂門方面,其中,因電梯層門、轎廂門開關(guān)短接,開關(guān)門故障等造成的傷害事故率高達(dá)80%之多。所以,在高質(zhì)量發(fā)展階段,應(yīng)該借助計(jì)算機(jī)機(jī)器視覺技術(shù)設(shè)計(jì)一套電梯轎廂門狀態(tài)識(shí)別系統(tǒng)。具體分析如下。
電梯制造國家標(biāo)準(zhǔn)規(guī)定的電梯層門、轎門鎖緊狀態(tài)的識(shí)別驗(yàn)證技術(shù)方面,現(xiàn)階段主要是通過電氣開關(guān)及門鎖鉤來驗(yàn)證,采取機(jī)器人識(shí)別門狀態(tài),屬于新技術(shù)應(yīng)用。下面分別對(duì)電氣開關(guān)驗(yàn)證門鎖狀態(tài)識(shí)別技術(shù)、傳感器識(shí)別技術(shù)、現(xiàn)代機(jī)器人門狀態(tài)識(shí)別技術(shù)展開說明。
以通過電氣開關(guān)來驗(yàn)證門鎖狀態(tài)識(shí)別技術(shù)為例,現(xiàn)代電梯中的層門設(shè)置了層門機(jī)械鎖及電氣驗(yàn)證開關(guān),轎廂門設(shè)置有轎門電氣開關(guān),雖然從應(yīng)用技術(shù)上講,可以滿足識(shí)別與安全的需求。但是,由于一些人為疏忽和電氣故障等因素的影響,部分電梯開門走梯的現(xiàn)象仍有發(fā)生,極容易造成人員墜落、剪切事故發(fā)生,存在一定的安全隱患。
以觸發(fā)傳感器為主的監(jiān)控方案,雖然在效用上能夠增強(qiáng)視頻圖像信息采集的智能化水平,并實(shí)現(xiàn)對(duì)圖像的初步分析。但是,由于電梯控制系統(tǒng)結(jié)構(gòu)在安裝傳感器后趨于復(fù)雜化,應(yīng)用后的效用顯示,普遍存在反應(yīng)速度不足、分辨率不高的現(xiàn)象。
自從2018 年電梯行業(yè)實(shí)施“互聯(lián)網(wǎng)+”改革以來,通過加大技術(shù)研發(fā)、設(shè)計(jì)環(huán)節(jié)的投入比例,目前已經(jīng)創(chuàng)新了諸多以機(jī)器人為主的識(shí)別系統(tǒng)。首先,電梯轎廂內(nèi)設(shè)置了攝像頭設(shè)備,增強(qiáng)了對(duì)監(jiān)控視頻圖像的獲取效率與效果,并且代替了傳感器的安裝及應(yīng)用。其次,在狀態(tài)識(shí)別方面,借助計(jì)算機(jī)(機(jī)器人)的智能識(shí)別完成識(shí)別任務(wù),并快速發(fā)起預(yù)警響應(yīng)等。
本文從安裝易操作、識(shí)別智能化的角度,對(duì)電梯轎廂門狀態(tài)識(shí)別系統(tǒng)應(yīng)用方案進(jìn)行了設(shè)計(jì)。根據(jù)硬件與軟件的功能預(yù)設(shè),本次設(shè)計(jì)方案中選擇了Cortex-A9作為系統(tǒng)硬件處理器。同時(shí),由于軟件處理中需要開源設(shè)置,增強(qiáng)其接口功能,本次設(shè)計(jì)中選擇了ARM-Linux(通過移植OpenCV 實(shí)現(xiàn))作為系統(tǒng)軟件處理器。另外,根據(jù)減少運(yùn)行量、提高計(jì)算效率的需要,在算法方面選擇了Hough 線變換算法。最終的總體設(shè)計(jì)方案中按照人數(shù)檢測系統(tǒng)進(jìn)行實(shí)踐。
首先,在系統(tǒng)硬件架構(gòu)中,總體設(shè)計(jì)方案中采用了“USB+ARM”。需要注意的是,進(jìn)入到夜間,或者電梯內(nèi)的燈光發(fā)生異常時(shí),會(huì)影響到圖像采集效果。因此,本次選擇的USB 攝像頭具備紅外攝像功能。其次,通過將OpenCV 移植到ARM-Linux 系統(tǒng),設(shè)置應(yīng)用軟件。再次,由V4L2 完成USB 攝像頭的視頻圖像采集后,可以憑借計(jì)算機(jī)視覺的電梯轎廂門狀態(tài)識(shí)別算法于ARM 上完成識(shí)別操作。最后,系統(tǒng)總設(shè)計(jì)方案由硬件層、應(yīng)用層、軟件層3 部分構(gòu)成,分述如下。
硬件層主要由電梯轎廂、USB 攝像頭、USB2.0 接口電路(電路中的核心板為Exynos44012 處理器)組成,操作中重點(diǎn)借助7 個(gè)模塊共同構(gòu)成系統(tǒng)硬件平臺(tái)框架。其中包括復(fù)位及時(shí)鐘電路、SD 卡儲(chǔ)存模塊、RS232 串口模擬、Cortex-A9、Wi-Fi 無線模塊、下載調(diào)試電路、USB 攝像頭模塊。應(yīng)用層主要包括了驅(qū)動(dòng)程序、BootLoader(基礎(chǔ)為U-Boot)、文件系統(tǒng)(選擇了Yaffs)、Linux 內(nèi)核(以3.0.8 版本為準(zhǔn))、V4L2核心和基本庫。軟件層主要由視頻采集、OpenCV、電梯轎廂門識(shí)別算法構(gòu)成,其中的應(yīng)用程序編寫主要依據(jù)“OpenCV+算法”方案。
搭建系統(tǒng)開發(fā)平臺(tái)后軟件才能有效發(fā)揮其效用,本次設(shè)計(jì)中制作了BootLoader,移植了Linux 內(nèi)核、根文件系統(tǒng)、OpenCV。分述如下。
制作BootLoader 的目標(biāo)十分明確,其功能定位包括滿足系統(tǒng)配置要求、合理分配內(nèi)存空間、輔助完成啟動(dòng)硬件初始化工作。所以,制作BootLoader 是為了更好地牽引操作系統(tǒng)內(nèi)核。在制作時(shí)主要通過移植方式完成操作,共分為4 項(xiàng)內(nèi)容或步驟:①對(duì)下載的u-boot.tat.bz2 文件進(jìn)行解壓處理;②在對(duì)編譯腳本進(jìn)行修改的基礎(chǔ)上,完成平臺(tái)信息(指Exynos4412)添加工作;③對(duì)編譯所需文件、交叉編譯所需文件進(jìn)行準(zhǔn)確選擇;④通過對(duì)編譯方案的執(zhí)行,生成文件u-boot.tat.bin。
本次設(shè)計(jì)中選擇了Linux3.0.8 版本,因此,在系統(tǒng)內(nèi)核確定后,按照標(biāo)準(zhǔn)移植操作流程進(jìn)行了移植,共有3 項(xiàng)內(nèi)容或步驟:①在網(wǎng)頁下載官方版源代碼Linux 3.0.8 20 11111 8.tar.gz,根據(jù)提示解壓并完成安裝操作。②清除無效積累文件。③按照開發(fā)平臺(tái)需要配置了ARM,同時(shí)對(duì)NandFlash 分區(qū)表進(jìn)行了修改處理,并在修改內(nèi)核配置文件后進(jìn)行命令解壓操作。需要注意的是,命令解壓需要以配置與編譯內(nèi)核為前提條件。
由于Yaffs 文件系統(tǒng)的比較優(yōu)勢主要集中在移植效用與應(yīng)用于嵌入式系統(tǒng)2 大方面,因而本次軟件配置中選擇了該文件系統(tǒng),用以滿足轎廂人數(shù)檢測需求。移植中包括了4 項(xiàng)內(nèi)容或步驟,分別為設(shè)置目錄、設(shè)置設(shè)備文件、設(shè)置配置文件和設(shè)置內(nèi)核模塊。
OpenCV 的本質(zhì)通常被描述為視覺庫,具體指的是具有“開源”“跨平臺(tái)”“計(jì)算機(jī)”構(gòu)成要素的視覺庫。從應(yīng)用范圍看,適用性較好,能夠適用于MacOS操作系統(tǒng)、Windows 操作系統(tǒng)和Linux 操作系統(tǒng)。在應(yīng)用語言方面,主要以C 語言或C++語言為準(zhǔn)。將計(jì)算機(jī)視覺庫移植到ARM 上,相當(dāng)于為系統(tǒng)安裝了一雙“智慧之眼”,因此,移植過程十分關(guān)鍵。從目前的移植操作看主要包括4 項(xiàng)內(nèi)容或步驟:①在網(wǎng)頁下載opencv-3.1.0.zip,或應(yīng)用購買的安裝有opencv-3.1.0.zip的USB 存儲(chǔ)設(shè)備進(jìn)行下載,然后進(jìn)行解壓。②根據(jù)目錄中的提示要求完成對(duì)Makefile 配置信息的編寫工作。③選擇匹配的編譯器,使其滿足以交叉編譯需求。例如,在本次方案中可以選擇C 編譯器,也可以選擇C++編譯器。選擇前者之時(shí)應(yīng)該選擇一個(gè)以“arm-arago-linux-gnueab-igcc”為準(zhǔn)的工具鏈;選擇后者時(shí),則應(yīng)該對(duì)應(yīng)的選擇“arm-arago-linux-gnueab-i g++”作為工具鏈。④為了實(shí)現(xiàn)對(duì)頭文件、庫的搜索與查詢目標(biāo),需要借助交叉編譯器進(jìn)行根目錄設(shè)置。
首先,在USB 攝像頭采集視頻圖像過程中,為了提高采集的智能化水平及效果,通常會(huì)選擇一些輔助性的編程技術(shù)。例如,在本次電梯轎廂門狀態(tài)識(shí)別系統(tǒng)設(shè)計(jì)中對(duì)于圖像采集程序的設(shè)置,就選擇了滿足UVC 免驅(qū)USB 設(shè)備的編程框架V4L2。具體的圖像采集主要以函數(shù)編程模式為準(zhǔn),其中,其步驟如下:打開設(shè)備—視頻制式、幀格式設(shè)置—緩沖區(qū)、物理內(nèi)在分配—數(shù)據(jù)讀取—數(shù)據(jù)處理—設(shè)備關(guān)閉。
其次,在圖像采集程序確定后,就需要在進(jìn)入開始狀態(tài)后按部就班地進(jìn)行操作。例如,從開始到初始化,再到進(jìn)入“啟動(dòng)Ⅰ/O 開關(guān)”之后,才算真正進(jìn)入到了采集圖像狀態(tài)。需要注意的是,在啟動(dòng)Ⅰ/O 開關(guān)后采集圖像中必須在等待一幀圖像采集完成后再對(duì)視頻圖像進(jìn)行處理,進(jìn)而完成對(duì)電梯轎廂門狀態(tài)的識(shí)別任務(wù)。識(shí)別工作完成后需要設(shè)置一個(gè)“停止采集(?)”環(huán)節(jié),當(dāng)選擇“NO”時(shí),則進(jìn)入到啟動(dòng)Ⅰ/O 開關(guān)與采集圖像環(huán)節(jié),并實(shí)施自動(dòng)采集;當(dāng)選擇“YES”時(shí),則停止采集圖像,然后關(guān)閉視頻設(shè)備,結(jié)束程序。
本次研究中以基于Hough 線變換的算法為準(zhǔn)進(jìn)行識(shí)別,整個(gè)系統(tǒng)識(shí)別系統(tǒng)設(shè)計(jì)中主要按照Exynos4412驅(qū)動(dòng)— USB 攝像頭— V4L2 采集圖像信息—ARM-Linux 系統(tǒng)預(yù)處理圖像。具體的預(yù)處理內(nèi)容主要包括2 大部分:一部分是去灰度,另一部分是去噪聲。完成圖像預(yù)處理后可以借助邊緣檢測完成對(duì)邊緣圖像的獲取。但是,由于邊緣圖像效果通常較差,所以,為了提高邊緣效果,通常會(huì)采用有膨脹處理方法。并在獲取清晰的邊緣圖像條件下,利用基于Hough 的算法完成對(duì)電梯轎廂門狀態(tài)的識(shí)別。需要注意的是,在基于Hough 的電梯轎廂門狀態(tài)識(shí)別算法應(yīng)用后進(jìn)入到是否檢測完畢環(huán)節(jié),當(dāng)選擇“Yes”時(shí),會(huì)進(jìn)入輸出電梯門狀態(tài)環(huán)節(jié)并結(jié)束識(shí)別流程;當(dāng)選擇“No”時(shí),則直接進(jìn)入到圖像邊緣檢測、膨脹處理環(huán)節(jié),進(jìn)入到下一輪的自動(dòng)識(shí)別流程。
從原理上看,Hough 線變換就是通過Hough 參數(shù)空間、圖像空間的點(diǎn)與線中存在的對(duì)偶關(guān)系完成符合比較,而且,直角坐標(biāo)系與極坐標(biāo)之間的對(duì)應(yīng)關(guān)系可以借助數(shù)學(xué)方程進(jìn)行表示,以直角坐標(biāo)系為例,其方程通常表示為=+。以極坐標(biāo)為例,其方程可以寫成=cos+sin,其中,為到原點(diǎn)的距離,為軸與垂線形成的夾角。具體而言,電梯轎廂左右門處于關(guān)閉狀態(tài)時(shí),門縫具有直線特征,根據(jù)Hough 線變換表決原理,方程中的線可以對(duì)應(yīng)到極坐標(biāo)方程中的點(diǎn)或曲線上。因此應(yīng)用它能夠在確定的區(qū)域內(nèi)進(jìn)行精準(zhǔn)搜索,并提高識(shí)別效率。
由于識(shí)別系統(tǒng)的核心集中到了識(shí)別算法的實(shí)現(xiàn)上,所以,在電梯轎廂門狀態(tài)識(shí)別系統(tǒng)硬件、軟件配置齊全的情況下,對(duì)于識(shí)別算法的具體實(shí)現(xiàn),主要包括圖像去噪、檢測獲取邊緣圖像、轎廂寬度計(jì)算、建立坐標(biāo)系、確定目標(biāo)區(qū)域、應(yīng)用累計(jì)概率Hough 變換、判定檢測直線是否存在連續(xù)性并超過預(yù)設(shè)長度,并結(jié)束檢測。分述如下:①本次設(shè)計(jì)中借助圖像平滑(5×5 方形窗口的中值濾波器)進(jìn)行圖像去噪。②系統(tǒng)中選擇了Canny 算法進(jìn)行獲取邊緣圖像時(shí)的檢測方法。③用角點(diǎn)檢測方法完成對(duì)轎廂寬度的計(jì)算。④目標(biāo)區(qū)域確定為“S”,具體按照坐標(biāo)系獲取門縫所在區(qū)域并對(duì)其進(jìn)行命名。⑤在目標(biāo)區(qū)域內(nèi)實(shí)施Hough 變換,對(duì)于霍夫變換的范圍需要進(jìn)行限定,以此減少計(jì)算量。⑥在目標(biāo)區(qū)域進(jìn)行“設(shè)定長度”的判定時(shí),以10 cm為單位進(jìn)行判斷,若存在至少1 條直線大于該數(shù)值,則將識(shí)別結(jié)果確定為“關(guān)”狀態(tài);相反,則確定其處于“開”狀態(tài)。⑦結(jié)束檢測。
總之,新時(shí)期人們?cè)鰪?qiáng)了對(duì)電梯安全管理的重視。從當(dāng)前階段的實(shí)踐經(jīng)驗(yàn)看,在全球工業(yè)化改革背景下增強(qiáng)機(jī)器人視角下的電梯轎廂門識(shí)別系統(tǒng)研發(fā),既有助于化解事故風(fēng)險(xiǎn),也可以提升電梯運(yùn)行方面的智能控制水平。而且,由于上述系統(tǒng)應(yīng)用的算法精度較高,在適用性方面可以滿足不同環(huán)境下的識(shí)別需求。需要注意的是,機(jī)器人視角下的電梯轎廂門狀態(tài)識(shí)別系統(tǒng)設(shè)計(jì)中不僅應(yīng)用了與其相關(guān)的計(jì)算機(jī)技術(shù)、數(shù)據(jù)分析計(jì)算,而且,從整體上改變了設(shè)計(jì)思維方式。