蔡祺燊
(東南大學 江蘇省南京市 211189)
本文以物體辨識系統為主要設計對象,向其中融入了云服務器圖像處理技術,連接至智能手機APP,調動設備的攝像頭,通過藍牙配置的方式調控其Wi-Fi/4G 通訊模塊,在形成穩定的聯網配置關系后將采集單元對接至服務器,此后根據用戶的需求開啟攝像頭,以便快速采集圖像信息,利用Wi-Fi 模塊和4G 模塊傳輸,服務器可及時獲取完整的信息。此處深度優化了服務器,搭建了圖像處理平臺,能夠以用戶的需求為導向執行圖像處理操作,所得結果可完整反饋給用戶。系統結構組成見圖1。
本文設計的物體辨識系統有別于傳統的嵌入式識別體系,采用了阿里云服務器作為計算中心。云服務器簡稱ECS,是近十年來新興的一類互聯網基礎設施服務,相對于傳統的服務器,云服務器具有更高的安全可靠性,計算能力可以彈性變化,在管理便捷性上也有顯著的優勢,使用云服務器的方案能夠降低運維的難度和成本,使程序框架開發更專注于核心業務。另一方面,相比于在樹莓派中直接使用嵌入式系統的識別體系,云服務器模式能夠容許更強的計算能力,圖像識別的應用需要耗費大量算力,嵌入式設備由于體積等原因難以提供理想的算力,因此采用云服務器模式,犧牲少量的網絡傳輸延時換取更快的CPU 和GPU 計算速度,提高軟件的整體響應速度,這是十分值得的。在本文最后一部分將云服務器模式與嵌入式的圖像識別效率進行對比,結果差距明顯,證明了云服務器模式的優越性。
本系統共包含四個層次,各自負責特定的功能,具體作如下分析:
(1)視圖層。打破管理系統與用戶相互獨立的局面,使其形成交互關系,借助Ajax 實現網頁設計。用戶以瀏覽頁面為載體,根據自身意向發送請求,盡管服務器并未完成整個響應過程,用戶依然可根據實際情況利用頁面執行其他操作。此外,Ajax 解決了以往Web 頁面丟失概率較大的問題;在Ajax 的支持下無需再次加載頁面,僅需修改特定的響應模塊,給服務器的運行營造了良好條件,避免超負載運行的情況。此外,視圖層融入了緩存機制,特定期間內的查詢結果可以得到保留,用戶無需重復執行查詢操作。得益于Ajax 和緩存機制,可提高網頁流暢性、改善用戶體驗。

圖1:系統整體結構圖
(2)業務邏輯層。整個系統的組成中,業務邏輯層是最為核心的部分。其中特征模塊的主要作用在于提供抽象類imfeature,采集所得圖像的各特征都繼承該抽象類,能夠達到對圖像特征完整存取的效果;特征提取器的主要作用在于提供抽象類Extractor Base,用戶可根據實際需求完成查找或上傳操作;圖片DB 的DAO 組件具有高度的系統性,其封裝了數據庫的各項原子操作,具體涉及到增、刪、查、改等,對于任何數據表而言,與之相匹配的持久化類都必須實現該DAO 接口,主要目的在于執行類之間的解耦合,達到可靠、高效的效果。
(3)控制層。在設置好視圖層和邏輯層后,通過控制層的作用可實現彼此間的高效通信,具體涉及到業務邏輯轉發、翻頁請求處理等,給業務邏輯層的應用提供了正確引導,使其能夠選擇相適應的DAO 組件。
(4)模型層。此部分的基本特點在于封裝基礎類Image 和Tag,此時借助ORM 框架便可達到便捷化訪問數據庫的效果,為系統的運行創設良好通道,使其以面向對象的方式高精度操作數據庫,保證了全程的秩序性,相關操作有條不紊推進。
數據庫是各類信息的存儲場所,其包含了特征數據庫和圖片數據庫兩部分。本系統主要面向數據庫做好相應的設計,保證操作和邏輯功能的合理性,以便用戶可以根據需求快速查找特征,或是對其采取新建、刪除等相關操作。
(1)數據庫需求分析。系統應根據圖片獲取與之相對應的Tag信息;系統應具有高效存儲圖片的能力,且不遺漏任何的Tag 信息。
為滿足上述需求,針對數據項加以優化,主要內容有:①圖片信息:涉及到的數據項包含圖片編號及其存儲路徑;②標注信息:涉及到的數據項較為豐富,具體包含標注標號、標注內容、圖片編號等多個部分。
(2)數據庫物理結構。以ORM 框架為依托實現持久層訪問。ORM 框架可完成對持久化對象的操作轉換,使其變為數據庫的操作,經過此流程后可實現持久對象向關系數據庫的映射。從組成方面來看,ORM 框架內各對象的實例并非單獨存在,均對應至數據庫內某特定的記錄,因此若通過應用程序操作對象實例,其本質上指的是對數據庫記錄的操作。數據庫的操作借助DAO 模式實現,配置的DAO 組件具有高度集成特性,其封裝了對數據庫的各項原子操作,具體包含增、刪、改等。系統使用了Spring,作用在于對DAO 組件提供配套化的工具類。若依據ID 查詢圖片,經調用后可以定位到Image 的對象實例,其操作機制類似于查詢數據庫過程中所使用到的SQL 語句。若借助面向對象的語言完成對特定項目的開發工作,此時在持久層的數據庫訪問時將發生迂回的現象,即再次回歸至關系數據庫,顯然該機制具有很強的繁瑣性。在此背景下,ORM 框架的應用能夠提供可靠的解決途徑,面向對象的程序設計工作具有便捷化、高效化的特征,充分彰顯出關系數據庫的應用優勢。

表1:測試結果分析
本系統的形成建立在ISimilar 項目架構的基礎上,因此并未涉及到對底層數據的存取操作,核心要點在于對數據庫邏輯操作展開相應的設計。
系統提取的特征主要為HFile 文件類型,此部分將被完整存儲在HadoopHDFS 文件系統上。從歸屬關系來看,Hfile 隸屬于Hadoop 的范疇,為典型的二進制格式文件,可將其視為Key Value數據的存儲格式。
3.4.1 圖像查詢、上傳模塊算法設計
系統運行全流程中,獲取圖片Http 流為基礎操作,對其執行解析處理以形成圖片,作出上傳或查詢的選擇。若為上傳則將圖片加載至已創建的圖片數據庫內,借助JNI 調用的C 端圖片特征提取模塊,在其支持下識別圖像特征;所得的特征被完整增添至特征數據庫內,借助LSH 生成Hash 值,確定包含了生成Hash 值的特征點集合,向其中增添該特征。若作出查詢的決策,此時JNI 將調用C 端圖片特征提取模塊,在其支持下識別圖片特征;調用LSH,從而將各特征值生成相匹配的Hash 值,確定與該值相一致的特征點,對其實行SURF 加顏色距離的篩選,經過此流程后將得到相似的特征點集合;此后,以所得的特征點為基本對象,通過其中的imageId 完成對圖片的排序投票操作,可確定相似圖片的排序。
3.4.2 數據庫管理模塊的設計
MetricSpace 類可實現對特征DB 的管理,具體執行的操作形式豐富,包含新建或刪除特征DB、查找特征等。算法函數調用遵循自上而下的操作流程。提取圖像的各個特征值,借助LSH 的相關API 調用Hash 集合,對其執行處理以及數據的轉換等相關操作,由此可求得特征所屬圖片的ID,再完整統計具體的票數,從而得到相應的查詢結果。
3.4.3 圖像分類模塊的設計
提取圖像特征,在獲得相應的特征后對其執行K-means 聚類操作,隨之形成編碼本,在此基礎上借助LLC 方法可以再次編碼,由此產生新的特征,通過SPM 的思想處理此類新增的特征,再通過LIBSVM 完成豐富的訓練以及學習操作,經過上述流程后將返回分類結果[1]。
LLC 特征編碼的全流程中,除了LLC 編碼特征的存儲具有特殊性外,剩余都可以被歸為控制層。在針對進程的管理工作中,若指定的特征集合并未發生任何變化,此條件下extrkmeans 進程運行的次數至少達到1 次。
SPM 算法主要服務于圖像分割處理之后,將圖像的空間信息以合理的方式完整呈現。圖像共包含3 層,其共同之處在于各層金字塔每行的patch 個數都為2^l,其中的意義在于1 代表層次,與此同時patch 分別為{1,4,16}。在形成各個patch 后將各自的特征連成整體,將其視為圖像的基本特征。通過SPM 算法的應用可以高效呈現圖像的空間信息,在圖像識別方面的效果更加良好,具有高精度、高效率識別的特征。
軟件是系統設計中的重點對象,具體涉及到兩部分的程序編寫工作,即云服務端控制軟件和物體識別。
云服務器端控制軟件的設計建立在Win10 系統服務器中,借助JAVA 環境完成相應的編寫工作。該軟件采用了TCP/IP 協議,通過此方式實現攝像頭采集單元的高效對接,使其與手機APP 形成穩定的通訊關系,當采集單元獲得特定的圖像后,以最快的速度執行圖像處理操作,獲得結果后及時反饋[2]。本系統設計工作中高度重視物體識別腳本程序的選擇,建立了Python 環境,靈活應用了SSD+Caffe 的目標檢測方法,以達到高效率檢測視頻流的效果。
經過上述分析后,初步提出了物體辨識體系的設計方案,為驗證其功能使用情況展開了測試。選取嵌入式機器視覺模塊OpenMv作為對比分析對象,以便更為客觀地分析所提方案的使用情況。OpenMv 嵌入式機器視覺模塊所涉及到的算法較豐富,具體包含尋找色塊、邊緣檢測等多種類型,測試時調用了其中的nn_cifar10 神經網絡,在其作用下識別物體,同時將文中所提的物體辨識體系對比分析。按照上述方法重復多次試驗,完整記錄所得結果,見表1。
本文圍繞物體辨識體系的設計工作展開探討,以云服務器為主要載體,采集實時視頻流,在終端控制系統的支持下辨識物體圖像,產生的結果可及時反饋給用戶。云服務的應用優勢在于計算資源豐富,可在短時間內快速完成部署,處理性能大幅提升,且模塊化設計還可擴寬本產品的適用范圍,使其在多數場景中都具有可行性,達到縮短研發周期、減少成本以及提高效率等多重效果。