●蘇志芳 徐德剛 袁小一 (中南大學(xué) 長(zhǎng)沙 410083)
隨著圖書館紙質(zhì)圖書量越來(lái)越大,特別是多校區(qū)、大流通模式下,讀者在借閱過程中會(huì)經(jīng)常遇到OPAC顯示該書在館,但無(wú)法找到這本書的現(xiàn)象,其主要原因在于圖書亂架。圖書亂架是長(zhǎng)期影響和困擾圖書館文獻(xiàn)開架服務(wù)的痼疾。設(shè)計(jì)一個(gè)有效的圖書亂架識(shí)別系統(tǒng),既能快捷方便地解決圖書整架清點(diǎn)問題,又不需要耗費(fèi)太多人力物力。
隨著圖像處理技術(shù)的快速發(fā)展,視覺識(shí)別系統(tǒng)已基本上實(shí)現(xiàn)了圖像特征抽取和分析,能自動(dòng)識(shí)別圖像中的標(biāo)志、字符、編碼結(jié)構(gòu)[1],使圖書圖像的文字識(shí)別和分析成為了可能。在物流廣泛應(yīng)用的無(wú)線射頻識(shí)別技術(shù)也可以應(yīng)用于圖書館。即為書庫(kù)中的每一冊(cè)書都貼上RFID電子標(biāo)簽,在書庫(kù)中安裝閱讀器陣列,從而達(dá)到對(duì)亂架圖書進(jìn)行定位的目的[2]。
隨著物聯(lián)網(wǎng)技術(shù)及智慧圖書館技術(shù)的發(fā)展,機(jī)器視覺技術(shù)在圖像學(xué)的應(yīng)用也備受圖書情報(bào)業(yè)界的青睞,再輔佐以日益成熟的無(wú)線通訊技術(shù),為大流通環(huán)境的圖書清點(diǎn)工作提供了新的視角和方法[3,4],也為圖書館向智慧圖書館轉(zhuǎn)型打下基礎(chǔ)。
本文設(shè)計(jì)的圖書亂架清點(diǎn)系統(tǒng)以自動(dòng)化系統(tǒng)ILASⅢ為合作對(duì)象,主要包含以下三部分:基于DSP的數(shù)據(jù)采集器集成無(wú)線通信模塊、圖像處理模塊、基于圖書館自動(dòng)化系統(tǒng)ILASⅢ的清點(diǎn)模塊,如圖1所示。具體流程如下:首先,通過手持移動(dòng)數(shù)據(jù)采集器將在架圖書掃描,將掃描圖像進(jìn)行分割和識(shí)別后,獲取書脊特征(書名和索書號(hào)),將特征信息通過無(wú)線AP網(wǎng)絡(luò)傳輸圖書處理服務(wù)器;接著,調(diào)用ILASⅢ的書目信息和館藏信息webservice接口,將圖像信息分析的可能不完整的圖書索取號(hào)補(bǔ)全,根據(jù)完整的索取號(hào)進(jìn)行亂架圖書識(shí)別;最后,將亂架圖書的書名和索取號(hào)等信息通過無(wú)線網(wǎng)絡(luò)反饋給數(shù)據(jù)采集器,并通過采集器液晶屏幕回顯。
圖1 基于ILAS的圖書亂架清點(diǎn)系統(tǒng)
本系統(tǒng)設(shè)計(jì)的圖像采集器硬件是根據(jù)實(shí)際查尋功能需求設(shè)計(jì)的,采用ARM + DSP的雙核處理器,通過ARM 子系統(tǒng)來(lái)控制網(wǎng)卡驅(qū)動(dòng)等主要外設(shè),DSP 子系統(tǒng)負(fù)責(zé)圖像的處理工作。圖書圖像采集過程如下:由模擬相機(jī)采集書架上圖書書脊的圖像信息,利用視頻線傳輸至DSP圖像采集裝置,經(jīng)視頻解碼芯片解碼為16位數(shù)字?jǐn)?shù)據(jù),送入TI DM6446處理器,同時(shí)該處理器對(duì)視頻解碼器通過板上IIC總線進(jìn)行配置。處理器將采集的圖像數(shù)據(jù)利用USART2發(fā)送至無(wú)線傳輸模塊?;贒SP的嵌入式圖書館藏書清點(diǎn)裝置圖像采集器的設(shè)計(jì),如圖2所示。
圖2 基于DSP的嵌入式圖書館藏書清點(diǎn)裝置圖像采集卡的硬件結(jié)構(gòu)示意圖
此圖像采集裝置包括:高分辨率相機(jī)、電源,相機(jī)與通訊底板、圖像處理核心板通過電纜相連。圖像處理核心板包括:動(dòng)態(tài)隨機(jī)存儲(chǔ)器DRAM、FLASH存儲(chǔ)器,DSP處理器;DSP處理器的數(shù)據(jù)總線和地址總線與動(dòng)態(tài)存儲(chǔ)器DRAM和FLASH存儲(chǔ)器相連,DSP處理器通過指定的地址訪問動(dòng)態(tài)數(shù)據(jù)和靜態(tài)數(shù)據(jù)。通訊接口板包括:相機(jī)輸入端口、圖像解碼芯片、無(wú)線網(wǎng)卡、通用異步收發(fā)器、RS232收發(fā)器、RS232端口,相機(jī)輸入端口與相機(jī)相連,用于采集外部相機(jī)的圖像;圖像解碼芯片分別與相機(jī)輸入端口和DSP處理器的圖像輸入端口相連,用于接收相機(jī)端口的模擬圖像并進(jìn)行解碼,生成數(shù)字圖像并輸出到DSP處理器,DSP處理器通過IIC總線對(duì)解碼芯片進(jìn)行控制;通用異步收發(fā)器的控制器與DSP處理器的數(shù)據(jù)總線和地址總線相連,用于實(shí)現(xiàn)DSP處理器的并行數(shù)據(jù)與通用異步收發(fā)器的串行通信數(shù)據(jù)之間的協(xié)議轉(zhuǎn)換;RS232收發(fā)器與通用異步收發(fā)器相連,用于實(shí)現(xiàn)通用異步收發(fā)器串行通信數(shù)據(jù)與RS232通信數(shù)據(jù)之間的電平轉(zhuǎn)換;RS232端口是用于物理連接到外部RS232通信端口。
獲取在架圖書的圖像后,經(jīng)過預(yù)處理,需先分析圖書書脊的特征,再設(shè)計(jì)合適的工作流程將圖像進(jìn)行切割,最后根據(jù)單個(gè)書脊圖像提取出書名和索取號(hào)。
(1)圖書館書架上的書脊圖像的特征。每本書書脊下方貼的索取號(hào)為圖書上架的依據(jù),書脊上的顏色各異,這一點(diǎn)可以用于特征提取。
(2)工作流程設(shè)計(jì)。該模塊主要包含圖像的預(yù)處理和邊界提取、圖像的分割、子圖像的特征描述。具體流程如圖3所示。
圖3 圖像處理流程圖
第一,對(duì)圖像進(jìn)行預(yù)處理,更好地突出邊界部分。預(yù)處理包括將彩色圖像轉(zhuǎn)化成灰度圖和灰度均衡。因邊界檢測(cè)時(shí),子圖像提取時(shí)用彩色圖像來(lái)做比較費(fèi)時(shí),而用它的灰色圖像來(lái)做,不但節(jié)省時(shí)間,效果也是一致的。
第二,對(duì)圖像進(jìn)行邊緣分割。本文采用分水嶺圖像分割算法[5],以重構(gòu)后的距離變換圖像為拓?fù)浔砻?,距離變換圖中的最小值對(duì)應(yīng)山峰,最大值對(duì)應(yīng)山谷,用h頂開重構(gòu)的改進(jìn)變換求取距離圖像的各頂區(qū)域,其標(biāo)識(shí)點(diǎn)作為分水嶺變換的種子區(qū)域,解決種子點(diǎn)難以確定的問題。已知一些點(diǎn)集分別屬于圖像中的各個(gè)待分割目標(biāo)和背景,這些點(diǎn)集為標(biāo)記集合,分水嶺變換時(shí),僅從這些標(biāo)記(區(qū))開始模擬水淹沒過程。隨著水面的不斷升高會(huì)將無(wú)關(guān)的局部最小區(qū)域全部淹沒,最終在不同標(biāo)記的目標(biāo)之間形成分水線。
圖書書脊圖像頂點(diǎn)灰度值高,邊緣灰度值弱,因此采用上述所提出的面積重構(gòu)H頂改進(jìn)開變換來(lái)提取分水嶺變換標(biāo)識(shí)點(diǎn),然后對(duì)圖像求反,以求反后的泡沫圖像為拓?fù)浔砻?,其分水線就為泡沫圖像中氣泡的邊緣。對(duì)H頂改進(jìn)開變換提取到的標(biāo)識(shí)需求反才能作為分水嶺變換的標(biāo)識(shí),其具體確定過程如圖4所示。同時(shí),根據(jù)求取的標(biāo)識(shí)點(diǎn)圖對(duì)重構(gòu)后的距離灰度圖采用分水嶺算法得到分水線,準(zhǔn)確地完成書脊邊界的分割。
圖4 標(biāo)識(shí)特征點(diǎn)提取流程
第三,利用分水嶺邊界信息將原圖像分解成子圖像[6,7]。每幅子圖像就代表一本書,提取出的子圖像也便于下一步的特征提取。提取子圖像時(shí),根據(jù)邊界信息,將含有單本書的圖像范圍內(nèi)的像素值設(shè)為1,其余像素值為0,將新生成的邏輯圖像與原圖像做交集,就能得到一幅子圖像。
第四,用字符識(shí)別技術(shù)將書脊上的索書號(hào)和書名分別識(shí)別出來(lái),從而完成書脊信息的提取[8]。在做字符識(shí)別之前,需先將這些字符區(qū)域分別定位,也就是對(duì)我們前面得到的圖像再進(jìn)行細(xì)分,然后調(diào)用OCR技術(shù)對(duì)字符進(jìn)行識(shí)別。至此,單本圖書書脊的書名和索書號(hào)均獲取到了。
作為新一代雙向無(wú)線通信技術(shù),ZigBee符合IEEE802.15.4 協(xié)議,以其低功耗、低成本和靈活組網(wǎng)等優(yōu)點(diǎn),可廣泛應(yīng)用于各種需要低速率傳輸?shù)墓I(yè)場(chǎng)合。在無(wú)線路由和每個(gè)DSP設(shè)備ZigBee子節(jié)點(diǎn)上都接有一個(gè)無(wú)線網(wǎng)絡(luò)收發(fā)模塊,通過這些無(wú)線網(wǎng)絡(luò)收發(fā)模塊,數(shù)據(jù)在無(wú)線路由和DSP設(shè)備ZigBee子節(jié)點(diǎn)之間進(jìn)行傳送[9,10]。
ZigBee協(xié)議棧層次結(jié)構(gòu)主要由應(yīng)用層、應(yīng)用接口層、網(wǎng)絡(luò)層和物理層組成。ZigBee模塊主要由PIC控制器和ZigBee射頻電路組成,PIC控制器通過SPI總線與射頻電路相連,實(shí)現(xiàn)了MAC層和ZigBee協(xié)議層及特定應(yīng)用的邏輯。ZigBee射頻電路采用Chipcon公司的無(wú)線收發(fā)芯片CC2420,實(shí)現(xiàn)了物理層數(shù)據(jù)收發(fā)和底層控制。ZigBee 無(wú)線通訊子節(jié)點(diǎn)的功能為:脈沖量數(shù)據(jù)采集, 可采集圖像處理后的數(shù)據(jù);通過無(wú)線通訊IEEE802.15.4 協(xié)議與無(wú)線路由通訊。
本系統(tǒng)設(shè)計(jì)的數(shù)據(jù)采集器基于ZigBee 協(xié)議,主要模塊包括DSP硬件模塊和無(wú)線通訊模塊,如圖5所示。
圖5 數(shù)據(jù)采集和無(wú)線傳輸模塊
無(wú)線通訊處理模塊主要負(fù)責(zé)加入現(xiàn)有網(wǎng)絡(luò)的初始化工作以及讀寫數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行封裝,然后將DSP處理后的圖像數(shù)據(jù)根據(jù)AODV分族路由算法,發(fā)送到路由器,最后發(fā)送到遠(yuǎn)端的ILASⅢ處理模塊。
根據(jù)圖像處理模塊獲取單本的書名和索取號(hào)后,我們發(fā)現(xiàn)有的索取號(hào)因?yàn)闀购穸鹊牟煌@示不完整,這時(shí)需根據(jù)書名信息調(diào)用中南大學(xué)圖書館集成系統(tǒng)ILASⅢ的Webservice接口,獲取該書目信息,從而獲取完整的索取號(hào)信息,并存入書脊信息數(shù)據(jù)庫(kù)中。由于某排書架的書脊信息在后臺(tái)信息庫(kù)中處于連續(xù)位置,對(duì)于開架書架中亂架的兩個(gè)主要問題:全庫(kù)圖書位置信息的獲取;亂架圖書的提醒和亂架圖書的正確位置歸位,可采取如下方案。
首先,經(jīng)數(shù)據(jù)采集器將圖書館全庫(kù)圖書掃描后,將收集到每個(gè)書脊的索書號(hào)和書名存入書脊記錄表中,并結(jié)合圖書館藏?cái)?shù)量等信息,生成“書脊位置信息表”。該表實(shí)際上是一個(gè)動(dòng)態(tài)數(shù)據(jù)庫(kù),記錄著全館每一本圖書當(dāng)前的實(shí)際位置信息。該信息指明了某本圖書或在館內(nèi)的某室某書架某層的某區(qū)域中,或已借出在某讀者手中。而且,圖書實(shí)際存放位置的變化隨著采集器清點(diǎn)的實(shí)行在表中隨時(shí)得到反映。
其次,再根據(jù)索取號(hào)排序規(guī)則,制定各個(gè)架位的圖書的錯(cuò)架收集提醒及待歸架圖書的正確架位。其中確定不同索書號(hào)排列先后順序的步驟是:先比較分類號(hào)碼,順序分類號(hào)時(shí)要對(duì)位排列,即先比較一級(jí)分類號(hào),一級(jí)分類號(hào)相同時(shí),再比較二級(jí)分類號(hào),以此類推,如分類號(hào)碼相同再比較著者號(hào)碼。其中,比較分類號(hào)時(shí)遵循的規(guī)則是:按索書號(hào)查找圖書,須先看分類號(hào)最前面的字母(按26個(gè)字母先后順序排列);字母相同的再看字母后面的第一位數(shù)字(數(shù)字由小到大排列);第一位數(shù)字相同的繼續(xù)看第二位數(shù)字的大小,依此類推;注意看同一位上的數(shù)字大小,不要看整個(gè)數(shù)字的大??;按分類排架,先排“—”,后排“.”。在系統(tǒng)中,我們?cè)O(shè)計(jì)了一個(gè)存放一張關(guān)聯(lián)“索書號(hào)”與“架位號(hào)”二維表格(如表1 所示),當(dāng)被識(shí)別的索取號(hào)和書名存放于一個(gè)excel文件中后,將其提取并與數(shù)據(jù)庫(kù)表格中的“索書號(hào)”字段進(jìn)行匹配查詢,系統(tǒng)就可以得到相應(yīng)的目標(biāo)記錄。最后,通過讀取該記錄的字段信息,系統(tǒng)就可告知用戶該圖書最終的架位號(hào)。
表1 書脊位置信息表
DSP子系統(tǒng)的核心成員是TM320DM6446處理器[11,12],利用該處理器強(qiáng)大的圖像處理功能,通過算法對(duì)書脊圖像進(jìn)行分割以獲得書目的數(shù)量信息,并且結(jié)合漢字識(shí)別技術(shù)提取書脊圖像的特征,完成識(shí)別,并輔助以大容量的內(nèi)存配置,解決了計(jì)算資源不足的問題;采用疊加式的硬件構(gòu)架使得系統(tǒng)具有良好的可擴(kuò)展性,DSP嵌入式圖像采集板卡可以通過疊加擴(kuò)展板卡添加各種形式的外圍端口;移植了完整的微內(nèi)核操作系統(tǒng),DSP嵌入式圖像采集板卡可以脫離上位機(jī)獨(dú)立運(yùn)行。
本DSP處理器使用TI公司的DSP/BIOS實(shí)時(shí)內(nèi)核,它包括一個(gè)小的實(shí)時(shí)軟件庫(kù)、一套使用實(shí)時(shí)庫(kù)的API、一個(gè)易于使用的配置和分析工具。DSP/BIOS實(shí)時(shí)內(nèi)核具有所有嵌入式操作系統(tǒng)具備的內(nèi)存管理、中斷管理和多任務(wù)調(diào)度功能,可以簡(jiǎn)單地實(shí)現(xiàn)內(nèi)核對(duì)象的分配和使用,對(duì)DSP處理器片內(nèi)資源調(diào)試極其方便,同時(shí)具有強(qiáng)大的實(shí)時(shí)調(diào)試功能。由TI 公司提供的CSS 集成開發(fā)環(huán)境,在軟件上給應(yīng)用開發(fā)者提供了便利,無(wú)需繁復(fù)的編寫其他成熟模塊的程序。
從靜止圖像中提取出索書號(hào)區(qū)域和書名區(qū)域是圖書索書號(hào)識(shí)別中很關(guān)鍵的一步,可利用圖書索書號(hào)字符顏色差別、圖書索書號(hào)寬高比例,將圖書索書號(hào)從書脊背景圖片中分離出來(lái)[13-15]。在邊緣圖像中,利用水平掃描邊緣圖像來(lái)進(jìn)行圖書索書號(hào)定位,考慮到噪聲的影響,用如下加強(qiáng)的灰度變化(Variation):
(1)
式(1)中的distance 是掃描行內(nèi)相鄰兩次變化間的距離,[?1,?2]為允許的掃描行內(nèi)相鄰跳變間距取值范圍,因?yàn)樗鲿?hào)區(qū)域內(nèi)各掃描行的跳變次數(shù)相對(duì)穩(wěn)定,所以可以在圖像中搜索滿足該特征的區(qū)域來(lái)實(shí)現(xiàn)上下邊界的定位,該約束條件為:
l(Variation≥10)≥r
(2)
(2)式中l(wèi)是滿足條件的連續(xù)掃描行數(shù),Variation是掃描行內(nèi)的灰度變化次數(shù),r是多次測(cè)試后的經(jīng)驗(yàn)值。
根據(jù)式(1)給出的灰度變化定義,在邊緣中自下而上逐行搜索滿足條件的跳變點(diǎn)的數(shù)目,根據(jù)式(2)來(lái)確定每行是否穿過圖書索書號(hào)區(qū)域。根據(jù)掃描的結(jié)果確定候選區(qū)域的上下邊界。并采用統(tǒng)計(jì)窗口中相鄰像素的變化,確定區(qū)域的左右邊界。
為進(jìn)一步說明本文基于DM6446 圖書亂架清點(diǎn)系統(tǒng)的實(shí)際檢測(cè)效果,本文針對(duì)一排書進(jìn)行了檢測(cè)實(shí)驗(yàn)。試驗(yàn)環(huán)境的假定如下:假定所有的圖片都在同一個(gè)焦距下取得,焦距間的相差不大;每次采集時(shí),只采集一排書。每次的采樣率保持固定。
檢測(cè)實(shí)驗(yàn)結(jié)果中單架圖書處理如圖6所示,(a)原始單架圖像,(b)黑白增強(qiáng)圖像,(c)圖像邊緣提取與分割。
(a)
將整架圖書切分成單本圖書后,對(duì)于索取號(hào)而言,處理如圖7所示:(a)分割后單本圖像,(b)分割后單本增強(qiáng)圖像,(c)分割后單本索書號(hào)邊緣特征,(d)字符提取圖像。
圖7 單本圖書的索取號(hào)提取
將整架圖書切分成單本圖書后,對(duì)于索取號(hào)提取不清晰的圖書,再將其書名信息處理如圖8所示:(a)分割后單本圖像,(b)分割后單本增強(qiáng)圖像,(c)分割后單本書名邊緣特征,(d)文字提取圖像。
(a) (b)
以圖書館2 000冊(cè)(估計(jì)每種圖書存在3~4冊(cè)的副本量)圖書信息作為操作目標(biāo),以對(duì)比人工亂架識(shí)別、RFID亂架識(shí)別和本文設(shè)計(jì)的DSP亂架識(shí)別的三組數(shù)據(jù)比對(duì)操作進(jìn)行測(cè)試。結(jié)果表明人工識(shí)別2 000條記錄對(duì)比時(shí)間在5~10 分鐘之間,RFID識(shí)別對(duì)比時(shí)間為20~30秒之間,DSP識(shí)別對(duì)比時(shí)間在80~120 秒之間。這說明本DSP處理數(shù)據(jù)對(duì)比操作耗時(shí)在用戶可容忍范圍內(nèi),可減少清點(diǎn)服務(wù)空閑時(shí)間。同時(shí),因RFID的高成本投入,而DSP設(shè)備相對(duì)低廉,可為圖書館節(jié)約開支。
雖然基于DSP的嵌入式圖書館藏書清點(diǎn)裝置圖像采集卡的設(shè)計(jì)提高了圖書館的運(yùn)行成本,但大量節(jié)約了圖書館員清點(diǎn)盤點(diǎn)的時(shí)間;而且由于該設(shè)備清點(diǎn)后的館內(nèi)每一本書有了精確定位,原有的明知館內(nèi)有藏書卻找不到的情況也會(huì)大大減少,從而提高了館內(nèi)的圖書利用率;此外,對(duì)于放錯(cuò)架的圖書,DSP設(shè)備會(huì)自動(dòng)提出報(bào)警,圖書館員順架時(shí)只要處理報(bào)警提示的圖書即可,這樣也提高了圖書館的管理質(zhì)量,使工作人員整架順架變得更迅速、便捷。
由此可見,基于機(jī)器視覺技術(shù)的圖書亂架清點(diǎn)系統(tǒng)的設(shè)計(jì)完善了圖書檢索系統(tǒng)中的圖書位置信息漏洞,提高了圖書亂架清點(diǎn)工作效率,也為大開架環(huán)境的圖書盤點(diǎn)提供了新思路和方法,進(jìn)一步完善了圖書館的服務(wù)功能,提高了服務(wù)和管理的質(zhì)量和效率。