姚莉娟,陳瑋,馮明
(1 成都紡織高等??茖W(xué)校 信息中心,成都 611731;2 成都瑞泰鴻信科技有限公司,成都 610054)
在信息量的增長、電子書的發(fā)展、社會服務(wù)意識的增強以及社會開放圖書館的發(fā)展需求推動下,圖書館的管理模式也在發(fā)生變化。物聯(lián)網(wǎng)技術(shù)特別二維碼技術(shù)和云技術(shù)更加促進了圖書館向智能化發(fā)展,智慧圖書館的理念使服務(wù)更加快捷和優(yōu)質(zhì)。
目前,在智能化發(fā)展潮流推動下,研究者面向圖書館工作人員研發(fā)了功能強大、高效實用的智能管理工具,包括圖書分揀系統(tǒng)、自助還書系統(tǒng)、推車式盤點系統(tǒng)等。但是由于射頻標(biāo)簽不能精確對圖書進行定位,針對圖書上架、整架沒有比較好的輔助系統(tǒng),目前還主要依靠工作人員完成上架、整架工作,效率非常低,需要大量的時間和人力,嚴重影響圖書館服務(wù)。因此,針對圖書館切實需要,改善圖書館現(xiàn)有管理方案,并設(shè)計實現(xiàn)移動式智能整架系統(tǒng),具有較高的實用價值。
基于此,本文設(shè)計了一種基于物聯(lián)網(wǎng)和計算機視覺的圖書館藏書整架輔助系統(tǒng)。該系統(tǒng)先對書架設(shè)置定位標(biāo)簽,再利用巡檢的全景相機獲得書架實時圖像,將圖像送到基于云部署的后臺服務(wù)器進行處理。服務(wù)器程序利用預(yù)設(shè)的定位標(biāo)簽信息對圖像中的書架定位,利用該定位標(biāo)識結(jié)合隔板的幾何信息,對圖像進行校正,劃分為為各自擱板上的書脊圖像,將其中的書脊識別出來,再利用文字識別獲得藏書的索書號等信息。最后,系統(tǒng)對藏書信息進行檢索,并將該信息返回給巡檢人員,巡檢段利用語音、聲光等提示手段為工作人員整架進行輔助。該系統(tǒng)充分利用了成熟的物聯(lián)網(wǎng)、云技術(shù)和深度學(xué)習(xí)技術(shù),實現(xiàn)了對在架藏書精確定位,未來在智能化圖書館服務(wù)改造升級方面有很好的應(yīng)用場景。
讀者在瀏覽圖書時,會從書架上取下圖書,翻閱后可能會放置到圖書回收箱,也可能放置到錯誤的位置,亂架和回收的圖書會顯著增加,圖書館工作人員一般會定期對書架進行巡檢,將散落在書架周圍以及書架上亂序的圖書放回固定工作站進行統(tǒng)一處理。其中,亂序圖書的查找,需要熟練的操作人員依靠書脊上粘貼的索書號來判斷圖書位置是否正確,操作人員必須熟悉圖書的索引編目和排架規(guī)則。
到達工作站后,工作人員會利用索書號對圖書進行初步分類,該工作非常繁瑣并且需要很熟練,利用RFID 掃描器或者是條碼掃描器在一定程度上可以幫助分類。
被初步分類的圖書將由各自負責(zé)的人運送到指定書架,并按圖書編目索引順架規(guī)則歸位到書架位置。其中,上架也需要熟練的操作人員依據(jù)書脊上的索書號,在書架對應(yīng)位置周圍檢查,以找到正確的位置進行上架,便于讀者按類別查找所需要的圖書。這個工作環(huán)節(jié)非常消耗時間,一般圖書館都會在固定時間段,集中大量的人力來完成這個任務(wù),即圖書上架或者稱為圖書順架。
從上架和整架的過程可以發(fā)現(xiàn),亂架圖書的查找和上架都需要熟練的工作人員通過閱讀書脊上的索書號信息來判斷亂架圖書,尋找上架圖書的正確位置。由于該工作工作量巨大且枯燥,工作人員很容易疲勞,非常容易發(fā)生錯誤。因此,圖書館急需一種便捷的輔助工具來減輕工作人員工作量,或者降低對工作人員熟練程度的要求,以解決整架的問題。
基于圖書館整架流程的實際需求,系統(tǒng)由圖像采集模塊、基于python的后臺處理軟件、提示提醒輸出模塊構(gòu)成。Python 作為解釋型、面向?qū)ο?、動態(tài)數(shù)據(jù)類型的高級程序設(shè)計語言,在發(fā)展過程中積累了大量的科學(xué)處理包,包括圖像處理、神經(jīng)網(wǎng)絡(luò)、機器學(xué)習(xí)等庫。利用python 平臺可以快速搭建原型系統(tǒng),并進行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。
圖書館藏書整架輔助系統(tǒng)功能結(jié)構(gòu)圖如圖1 所示。
圖1 圖書館藏書整架輔助系統(tǒng)功能結(jié)構(gòu)框圖Fig.1 The structure block diagram of the library bookshelf handing system
圖像采集模塊由巡檢人員攜帶,通過高解析度廣角相機采集圖像,并利用無線設(shè)備將書架的圖像傳輸?shù)胶笈_服務(wù)器,但獲得圖像的分辨率和速度將影響后臺的一系列處理效果。
提示提醒輸出模塊由巡檢人員攜帶,通過聲光、語音等輸出進行錯架書籍的提醒,指示輔助工作人員進行整架。
基于python的后臺處理系統(tǒng)包括:圖像預(yù)處理、書架識別、擱板定位、圖像幾何校正、圖像按隔板分割、書脊識別、、文字索引號識別。第一步,廣角相機傳回的圖像被校準(zhǔn)等預(yù)處理;第二步,利用物體識別算法找到圖像中的四月標(biāo)簽(又名Apriltags),該標(biāo)簽事先設(shè)置在書架擱板兩端交叉處,用于圖像幾何校正和隔板定位,四月標(biāo)簽的內(nèi)容包含了書架信息,通過其在圖像中的位置可以獲得擱板定位信息;第三步,利用擱板定位和其幾何特征進一步對圖像進行幾何校正,恢復(fù)圖像,將圖像按擱板進行分割,得到每一層擱板上書籍堆疊的書脊圖像;第四步,根據(jù)分割后的圖像,利用訓(xùn)練得到的YOLOv3 網(wǎng)絡(luò)模型對書脊進行識別并分割,獲得獨立書脊的圖像;第五步,對每一個書脊圖像進行矯正,利用書名特征和索書號特征進行文字識別,結(jié)合藏書信息庫信息,提高獲取索書號的準(zhǔn)確性,最終得到藏書信息。
巡檢人員攜帶的廣角相機在拍攝的過程中不可避免地受光線、位置等影響,使圖像質(zhì)量下降,為后續(xù)圖像處理帶來不利影響,本系統(tǒng)利用python的計算機視覺庫對原始采集圖像進行預(yù)處理。
圖像預(yù)處理包括:
(1)灰度轉(zhuǎn)換:為了消除顏色信息對物體識別和輪廓提取的干擾,首先將彩色圖像轉(zhuǎn)換為灰度圖,轉(zhuǎn)換后的圖像將只剩下一個通道,該通道由紅綠藍3個分量加權(quán)處理得到。
(2)圖像濾波:通常圖像采集過程中會產(chǎn)生椒鹽噪聲,又稱脈沖噪聲,在圖像中形成隨機的噪點,影響后續(xù)處理的性能,而且虛假的邊界會對邊界檢測的結(jié)構(gòu)產(chǎn)生很大的干擾。本文使用小波算法對圖像去噪,在低頻部分和高頻部分采用不同的閾值進行信號和噪聲的分離,該算法能夠在清除噪點的同時保留邊緣的銳利度,有利于書脊和文字識別處理。
(3)邊緣檢測:邊緣檢測是圖像分割和物體識別的重要模塊,通常是根據(jù)檢測圖像的一階導(dǎo)數(shù)的極值信息或者是二階導(dǎo)數(shù)的過零信息來提取物體邊緣。本文選用Sobel 算子作為邊緣算子,該算子在抑制噪聲和邊緣增強兩個方面均有很好效果。
本系統(tǒng)利用在書架擱板兩端預(yù)先張貼包含書架和擱板信息的四月標(biāo)簽,在圖像中識別定位該標(biāo)簽以獲得書架信息和擱板定位信息。四月標(biāo)簽是一種具有二維碼形式的數(shù)據(jù)編碼存儲的對象,具有成本低、容量大、識別和解碼快等優(yōu)點。利用圖像梯度和聚類檢測算法能夠方便快速地從圖像中檢測到該對象。該方案具有很高的魯棒性和實時性,在圖像較小、大角度傾斜的情況下也能夠快速檢測。本系統(tǒng)的服務(wù)器軟件利用Python的四月標(biāo)簽庫,生成和識別標(biāo)簽。
針對系統(tǒng)中的書脊檢測,采用基于深度學(xué)習(xí)的YOLO 檢測算法。該算法的優(yōu)點是對輸入的圖像經(jīng)過一次推斷,便能得到其中所有的書脊定位,由于書脊的幾何特征非常明顯,從而極大地提升了檢測的速度。采集了大量圖書書架的圖像,采用人工對書脊圖像進行分割,并對圖像進行標(biāo)注,以此為基礎(chǔ)構(gòu)建實驗訓(xùn)練數(shù)據(jù)集。
YOLOv3模型在處理流上融合了特征金字塔網(wǎng)絡(luò)(FPN)和全卷積網(wǎng)絡(luò)(FCN),包含特征提取網(wǎng)絡(luò)和多尺度特征融合網(wǎng)絡(luò)。YOLO 系列算法使用網(wǎng)格來識別物體,網(wǎng)格的尺寸影響物體的識別。通過對不同檢測網(wǎng)格的設(shè)置,可以在不同精度上對物體進行識別。由于目標(biāo)特征比較明顯,系統(tǒng)在模型上采用通常的YOLOv3 網(wǎng)絡(luò)結(jié)構(gòu),如圖2 所示。
圖2 系統(tǒng)采用的YOLO 整體網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 The proposed Yolo network structure
書脊識別后圖像被分割為書脊的圖片,識別圖片中的字符以得到索書號。傳統(tǒng)的字符識別需要發(fā)現(xiàn)圖片中的字符,將疑似字符區(qū)域和其他圖像分割開,再利用該圖片進行文字識別,處理過程較為復(fù)雜。為了降低處理復(fù)雜度,本文利用上述物體檢測算法,直接在圖片中進行文字檢測。
索書號識別目標(biāo)為字符和數(shù)字。而書名多為中文,中文數(shù)據(jù)集中存在的中文字體繁多,為降低數(shù)據(jù)集制作的工作量,選擇比較有代表性的宋體、仿宋、黑體,使用漢字表作為字符基礎(chǔ)庫,并將這3 種字體與基礎(chǔ)字符庫組合,可以得到不同類別不同字體的圖片。在此基礎(chǔ)上進行各種角度拉伸、變形等,最后把圖片分辨率統(tǒng)一,得到中文字符數(shù)據(jù)集,對網(wǎng)絡(luò)進行訓(xùn)練。
文字識別結(jié)果的結(jié)果通過與藏書數(shù)據(jù)庫比對,進一步確定書籍信息。
本系統(tǒng)利用圖書館藏書書架和藏書數(shù)據(jù)進行了訓(xùn)練、驗證與初步測試,達到了預(yù)期效果。試驗配置GPU 為Quadro P600 4G DDR5,系統(tǒng)為CentOS 8,為了達到和云配置一樣的效果,采用了Nvidia 提供的Nvidia-docker 以使用宿主機的GPU CUDA 資源,雖然測試性能有所影響,但利于此后的云部署。圖像采集設(shè)備為270°的廣角攝像頭,分辨率可以達到4 320×1 440。實驗系統(tǒng)圖像處理流程如圖3 所示。
圖3 實驗系統(tǒng)圖像處理流程Fig.3 The image processing flow of experimental system
從對系統(tǒng)的測試來看,字符的像素數(shù)達到處理要求,可以進行書脊識別和索書號識別。當(dāng)攝像頭離書架近時,但此時定位標(biāo)志變形嚴重,識別率會降低;相反,攝像頭離書架遠時,定位標(biāo)識識別概率增加,但索書號提取困難。因此必須嚴格控制攝像頭與書架的距離,以平衡書架識別和書脊識別的識別概率。由于書脊的形狀為規(guī)則的矩形,且背景很規(guī)則,避免了YOLO 算法在圖像背景和物體復(fù)雜時識別準(zhǔn)確率受到影響的缺點,該系統(tǒng)的書脊檢測部分效果較好。但是對于部分書脊太薄,圖像采集精度不夠,難以被識別。此外在索書號書籍標(biāo)題識別流程中,當(dāng)圖書的標(biāo)題為宋體、仿宋和黑體等字體時,標(biāo)題能夠正常識別,藝術(shù)字體等容易出現(xiàn)識別錯誤。
為了降低工作人員整架工作量,本文基于計算機視覺技術(shù)設(shè)計了一種用于圖書館整架的輔助系統(tǒng)。該系統(tǒng)基于物體識別算法,對采集的書架圖像進行處理,識別隔板定位標(biāo)識、書脊、書籍標(biāo)題和索書號,并利用該信息對錯架書籍進行甄別。實驗證明,該系統(tǒng)可識別亂架圖書,降低工作人員工作強度,下一步將進一步優(yōu)化系統(tǒng)識別性能,提高實用性。