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