• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Linux的機器視覺系統(tǒng)的終端小型化設(shè)計

      2019-01-17 08:38:38王文博
      通信電源技術(shù) 2018年11期
      關(guān)鍵詞:小型化下位上位

      王文博

      (南京理工大學(xué) 泰州科技學(xué)院,江蘇 泰州 225300)

      0 引 言

      機器視覺屬于人工智能領(lǐng)域的前沿技術(shù),它模擬了人的感知功能,通過傳感器以及處理器來代替人眼的觀察和人腦的判斷,廣泛應(yīng)用于工業(yè)、軍事、航空航天、醫(yī)療等領(lǐng)域。而傳統(tǒng)意義上的機器視覺系統(tǒng)大多采用集數(shù)據(jù)采集、分析處理、控制執(zhí)行功能于一體的設(shè)計模式,通過攝像頭獲取目標圖像、視頻信息,經(jīng)過計算機處理后得到被測物體的形狀、大小、顏色、位置信息等,以控制執(zhí)行設(shè)備的動作。因此該系統(tǒng)需要處理的視頻信號數(shù)據(jù)量龐大,必須用高性能計算機來提升處理能力,并疊加其他功能部件,導(dǎo)致機器視覺系統(tǒng)的整體體積和重量都比較大,不夠靈活,移動穩(wěn)定性差,機器功耗較大,電池續(xù)航時間也相對偏短,使用場合也受到較大的限制。為此結(jié)合當今云計算思路,有必要設(shè)計一種終端小型化機器視覺系統(tǒng)。

      1 機器視覺系統(tǒng)終端小型化的主要原理

      終端小型化機器視覺系統(tǒng)設(shè)計是將一體化的機器視覺系統(tǒng)拆分成三個部分,將原先負責(zé)數(shù)據(jù)分析處理的部分交由遠程計算機完成,把數(shù)據(jù)采集和控制執(zhí)行部分交由終端處理,網(wǎng)絡(luò)通訊部分作為遠程計算機和終端數(shù)據(jù)交流的橋梁。

      2 終端小型化機器視覺系統(tǒng)的系統(tǒng)架構(gòu)

      終端小型化機器視覺系統(tǒng)由上位機(遠程計算機)、下位機(小型化終端)以及網(wǎng)絡(luò)通訊三個部分組成(見圖1)。

      圖1 系統(tǒng)組成

      2.1 上位機設(shè)計

      獨立出來的上位機完成數(shù)據(jù)處理工作,具體分為硬件和軟件兩部分進行設(shè)計。

      2.1.1 硬件設(shè)計

      機器視覺系統(tǒng)要對大量的圖片和視頻進行處理。處理時,圖片就是一個多維數(shù)組,視覺算法就是對一個龐大的多維數(shù)組各元素之間的關(guān)系進行處理,視頻可以看作無數(shù)圖片的疊加,因此需要消耗更加龐大的內(nèi)存資源和計算資源;為此只有使用高性能計算機才能擔當此任。

      高性能計算機配置上必須滿足下列要求:

      (1)具有Ryzen 1700及以上處理器;

      (2)16GB及以上的內(nèi)存;

      (3)一塊或者多塊GTX1080及以上顯卡;

      (4)良好的散熱系統(tǒng)。

      2.2.2 軟件設(shè)計

      上位機軟件由兩個程序組成,一個實現(xiàn)數(shù)據(jù)處理,另一個實現(xiàn)上、下位機間的數(shù)據(jù)交換。兩程序在內(nèi)部相互協(xié)調(diào),并與外部進行通訊。

      數(shù)據(jù)處理程序部分(見圖2)是利用python通過opencv3.0以及Tensorflow object detection api庫開發(fā)的。

      圖2 數(shù)據(jù)處理程序

      python3.5.2作為高層語言,將OPENCV3.0和Tensorflow object detection api結(jié)合,對視頻中常見的物體進行識別,為此在上位機上要預(yù)先安裝好opencv-python、CUDA、CUDNN環(huán)境。

      在python3.5.2下使用VideoCapTrue類對遠程嵌入式終端平臺回傳的視頻進行讀取,將每一幀拆解成圖片,再進行預(yù)處理,作為Tensor輸入給Tensorflow object detection api,將返回的圖片顯示到窗口上,不斷的處理每一幀圖像,構(gòu)成實時識別的視頻,將識別到的物體的各種信息格式化后寫入DAT文件,供人機交互界面讀取并將執(zhí)行指令并返回下位機。

      上、下位機間的數(shù)據(jù)交換通過一個人機交互界面(見圖3)完成,該程序在上位機上利用Microsoft VisualStudio通過WindowsForm平臺開發(fā)的窗體應(yīng)用程序,程序代碼基于C#語言,實現(xiàn)上位機對下位機的控制。

      圖3 人機交互界面

      人機交互界面可以根據(jù)需求設(shè)置相應(yīng)的手動控制按鈕,以方便對下位機設(shè)備的直接控制,也可以自動讀取視覺處理軟件生成的DAT文件,獲取邏輯信息,并自動對下位機需要執(zhí)行的任務(wù)進行調(diào)度控制。軟件通訊(見圖4)時首先通過調(diào)用系統(tǒng)API開啟套接字監(jiān)聽服務(wù),然后根據(jù)客戶端的IP以及端口號進行連接,每檢測到一個新的連接建立一個新的線程繼續(xù)監(jiān)聽,原有線程與客戶端保持連接。數(shù)據(jù)交換時使用Encoding.UTF8.GetBytes()方法對其進行編碼,下位機下線時關(guān)閉本地套接字節(jié)約上位機資源。

      2.2 下位機設(shè)計

      分離出來的下位機主要完成數(shù)據(jù)采集和控制執(zhí)行功能,實現(xiàn)視頻的上傳和對GPIO的控制。這是實現(xiàn)機器視覺終端小型化的重點內(nèi)容。

      2.2.1 硬件設(shè)計

      下位機在整個系統(tǒng)中屬于輸入/輸出端,此部分只需要完成數(shù)據(jù)的上傳(較大數(shù)據(jù)吞吐量)、邏輯數(shù)據(jù)的接收和GPIO口的控制,不需要完成數(shù)據(jù)的邏輯分析,因此本系統(tǒng)選用AR9331作為下位機。此芯片擁有的400 Mhz CPU,64MB DDR2 RAM和8MB ROM內(nèi)存,可以很好地運行OPENWRT系統(tǒng)及其上的TCP通訊、GPIO控制軟件;150 Mbps的WIFI最高傳輸速度也可以很好地完成數(shù)據(jù)的傳輸和邏輯信息的接收,具有小體積、低功耗的特點。

      圖4 通訊過程

      2.2.2 軟件設(shè)計

      在AR9331芯片上燒寫OPENWRT系統(tǒng),使用UVC(USB Video Class)免驅(qū)動攝像頭與之連接,安裝mjpeg streamer工具并在SHELL下執(zhí)行如下命令:mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 640X480 -f 30" -o "output_http.so -p 8082 -w /www/camwww"。完成了攝像頭的設(shè)置,上位機就可以通過下位機的IP地址和端口號接收到回傳的視頻了。使用C++編寫帶有GPIO控制的TCP客戶端軟件并使用GCC編譯,編譯完成后運行即建立完成上下位機之間的TCP連接,通過上位機IP地址和程序設(shè)置的端口號,下位機可以接收上位機返回的數(shù)據(jù),并對此做出響應(yīng),通過GPIO控制外圍設(shè)備。為了方便使用,可以設(shè)置mjpeg streamer工具以及TCP客戶端開機啟動,至此下位機軟件編寫完成。

      2.3 網(wǎng)絡(luò)通訊設(shè)計

      網(wǎng)絡(luò)通訊是上下位機之間數(shù)據(jù)交換的橋梁,其性能的穩(wěn)定、可靠是此系統(tǒng)能否正常工作的關(guān)鍵。

      2.3.1 硬件設(shè)計

      整個系統(tǒng)由分體式硬件組成,上、下位機之間通過WIFI進行數(shù)據(jù)交換,下位機發(fā)送實時數(shù)據(jù)到上位機,上位機發(fā)送實時分析出的邏輯數(shù)據(jù)到下位機,所以對網(wǎng)絡(luò)的穩(wěn)定性、傳輸速率具有較高的要求。由于本系統(tǒng)需要實現(xiàn)遠距離的遠程通訊,所以要求上位機以及下位機同時至少具有雙向10 Mbps以上帶寬、100 ms以下延遲、0%丟包率的公網(wǎng)IP環(huán)境。

      2.3.2 軟件設(shè)計

      由于上、下位機的分體式結(jié)構(gòu)設(shè)計,因此上、下位機的數(shù)據(jù)交流要通過TCP協(xié)議來實現(xiàn)(見圖5), 網(wǎng)絡(luò)部分的設(shè)置就顯得尤為重要。上位機部分需要使用運營商提供的固定IP地址,并且確保80端口的暢通。下位機部分同樣需要使用運營商提供的固定IP地址,并且確保8081、8082兩個端口的暢通,以實現(xiàn)視頻數(shù)據(jù)到上位機的傳輸、上位機邏輯數(shù)據(jù)到下位機的傳輸。若上、下位機端不能同時處于一個局域網(wǎng)內(nèi)部,就需要在路由器上設(shè)置端口映射,將內(nèi)網(wǎng)的上位機(下位機)以相同的端口號映射到外網(wǎng)以備下位機(上位機)訪問。

      3 以家庭服務(wù)機器人為例的應(yīng)用測試

      為了測試該視覺系統(tǒng)終端小型化的功能,選取了一臺家庭服務(wù)機器人進行改造。改造后的機器人采用此終端小型化設(shè)計,將原來高性能計算機與機器人進行分離改造(見圖6),其體積和重量大大減小,機器人移動的靈活性得到增強,電池的續(xù)航時間顯著增加。經(jīng)過測試,此終端小型化機器視覺系統(tǒng)工作正常,完全可實現(xiàn)原來所有的功能。

      4 結(jié)束語

      基于linux系統(tǒng)的機器視覺系統(tǒng)的終端小型化設(shè)計,所有軟件均由開源軟件庫實現(xiàn),并且預(yù)留了很多對外接口,可以方便地實現(xiàn)后期的軟件升級。硬件部分采用通用芯片組設(shè)計,下位機可以運行于大多數(shù)ARM架構(gòu)芯片上,上位機也可以運行于絕大多數(shù)X86架構(gòu)計算機上,具有良好的可移植性?,F(xiàn)實中可以通過將此系統(tǒng)和現(xiàn)有產(chǎn)品進行整合,推廣到搜索救援、智能交通和智能玩具等領(lǐng)域,具有廣闊的發(fā)展空間和應(yīng)用前景。

      圖5 軟件通訊過程

      圖6 家庭服務(wù)機器人

      猜你喜歡
      小型化下位上位
      發(fā)射機房監(jiān)控系統(tǒng)之下位機
      特斯拉 風(fēng)云之老阿姨上位
      車迷(2018年12期)2018-07-26 00:42:22
      “三扶”齊上位 決戰(zhàn)必打贏
      基于ZigBee和VC上位機的教室智能監(jiān)測管理系統(tǒng)
      景洪電廠監(jiān)控系統(tǒng)下位機數(shù)據(jù)傳輸網(wǎng)絡(luò)改造
      圍觀黨“下位”,吐槽帝“登基”
      北京紀事(2016年5期)2016-05-07 13:17:02
      以新思路促推現(xiàn)代農(nóng)業(yè)上位
      CAN總線并發(fā)通信時下位機應(yīng)用軟件設(shè)計
      家庭規(guī)模小型化提前到來
      未來汽油機的小型化
      思南县| 噶尔县| 佛冈县| 梓潼县| 马公市| 香格里拉县| 崇义县| 封开县| 余庆县| 彰化市| 克拉玛依市| 都安| 南华县| 乐都县| 遵化市| 晋宁县| 陵水| 禄丰县| 绵竹市| 西充县| 保山市| 岑溪市| 九江县| 安吉县| 尚志市| 房产| 潞西市| 孝感市| 公主岭市| 灵川县| 彰武县| 合阳县| 紫金县| 家居| 涿州市| 西昌市| 虹口区| 平罗县| 杭州市| 寻甸| 临安市|