傅煦嘉,周家樂,顧 震,顏秉勇,王慧鋒
(華東理工大學信息科學與工程學院,上海 200237)
實驗室是高校師生開展科研與教學活動的重要場所。隨著我國高校辦學規(guī)模的不斷擴大,實驗室的管理難度也在日益提升。氣瓶是實驗室中常見的設備,其使用廣泛,數(shù)量龐大,危險隱蔽性高[1]。在實驗室氣瓶場景中,常見的隱患有:(1)實驗人員操作不當;(2)氣瓶存在缺陷或安全附件失效;(3)氣瓶放置時沒有被妥善固定;(4)可燃氣體與助燃氣體的氣瓶混合存放[2]。因此氣瓶的監(jiān)管是實驗室安全管理的痛點,需要有效的措施降低事故的發(fā)生概率。
視頻監(jiān)控是高校實驗室安全管理的有效手段。通過監(jiān)控圖像,監(jiān)控人員可以識別出多個氣瓶與氣瓶含有的氣體種類,進而判斷兩種氣瓶相鄰放置是否符合安全規(guī)范;同時,可以檢測出氣瓶上是否有固定帶,以此判斷出氣瓶放置在此處是否安全。但該方法存在局限性:(1)視頻監(jiān)控需要工作人員實時盯看,導致耗費大量的人力;(2)由于監(jiān)控人員的水平參差不齊,無法通過危險場景得知危險源與危險的原因,因此難以及時采取有效的措施。
圖像描述是計算機視覺中的常見任務,其利用計算機將輸入的圖像轉換為對應的文本輸出,在輸出的文本中包含圖像的目標類別、目標屬性以及目標進行的活動。通過這項技術可以準確描述出視頻監(jiān)控中氣瓶、固定帶的狀態(tài)及氣瓶間的關系,并據(jù)此發(fā)現(xiàn)潛在的危險場景,有效解決視頻監(jiān)控面臨的局限性。常見的圖像描述方法包含3 類[3],分別為模板法、檢索法與基于深度學習的方法。其中,基于深度學習的方法效果最好,是該領域研究的主要方向。Vinyals 等[4]采用了經典的編解碼結構,并在編碼端加入了BN(Batch Normalization)層,加快訓練的收斂速度,同時在解碼端使用LSTM (Long Short Term Memory)替換循環(huán)神經網絡引導描述的生成,解決了訓練過程中的梯度消失問題;Xu 等[5]首次將注意力機制引入圖像描述任務,在生成描述單詞時可以聚焦到圖片中相應的區(qū)域,提升了圖像描述的效果;Lu 等[6]引入了哨兵機制,通過整合圖片信息與文本信息,實現(xiàn)了對視覺注意力的選擇,使得生成的圖像描述結果更加流暢;Anderson 等[7]將bottom-up 與top-down 結合得到組合注意力機制,其中bottomup 使用目標檢測方法確定圖像內每個區(qū)域的權重,top-down 使用了兩個LSTM 分別用于注意力機制與語言模型,進一步提升了圖像描述的質量;Wang 等[8]認為圖像內的文本對圖像描述的效果有著重要作用,因此提出結合目標檢測與OCR(Optical Character Recognition)的CNMT(Confidence-aware Non-repetitive Multimodal Transformers)模型,該方法將識別的文字融入描述語句中,使得描述結果更加符合圖像內容。目前,圖像描述在內容安全、化學結構識別領域均得到應用,但在實驗室氣瓶場景中還鮮有使用。
本文針對實驗室氣瓶安全問題,應用圖像描述技術實現(xiàn)實驗室氣瓶危險場景的辨識,主要貢獻包含:(1)提出了一種結合多尺度目標檢測與文本檢測識別的圖像描述方法,實現(xiàn)自動生成氣瓶圖像對應的描述語句;(2)收集了實驗室氣瓶圖像并制作成數(shù)據(jù)集,為實驗室氣瓶危險場景辨識領域的后續(xù)研究提供幫助;(3)通過實驗表明,本文方法生成的描述語句能夠輔助監(jiān)控人員識別出場景內的危險源與危險因素。
本文方法的結構由5 部分組成(如圖1 所示):(a)氣瓶圖像內的目標特征提??;(b)氣瓶瓶身上的文本檢測識別;(c)多模態(tài)嵌入空間接收目標特征與識別文本;(d)使用Transformer 模型融合多模態(tài)特征,并預測生成氣瓶場景描述語句;(e)根據(jù)判斷規(guī)則得出場景危險的原因。
需要提取的目標特征包含位置特征與視覺特征,為實現(xiàn)這一目的,先要對圖像進行目標檢測。目標檢測是對輸入圖像中的感興趣目標進行定位與分類。Faster R-CNN[9](Faster Region-Based Convolutional Neural Network)具有模型結構清晰、易于修改、檢測精度高、實時性強等特點,因此本文選用其作為基礎模型。為提高模型對氣瓶場景中小尺寸目標物(如固定帶)的檢測精度,選用ResNet[10]作為Faster RCNN 的骨干網絡,并在骨干網絡與區(qū)域建議池化層(Region of Interest Pooling, ROI Pooling)間添加特征金字塔網絡(Feature Pyramid Networks, FPN)[11],實現(xiàn)對多尺度特征圖的檢測,結構如圖2 所示,圖中Fc 即Fully Connected Layer,紅色框線內部為FPN 實現(xiàn)細節(jié),其中P 代表不同尺度的特征圖。
圖2 改進的Faster R-CNN 結構Fig.2 Improved Faster R-CNN structure
在對圖像內的目標完成提取任務后,本文使用訓練好的骨干網絡提取目標的視覺特征,用區(qū)域建議網絡(Region Proposal Network, RPN)提取目標的位置特征將二者輸出給多模態(tài)嵌入空間。其中,x為邊界框的水平坐標,y標志垂直坐標,W為圖片的寬,H為圖片的高,m表示目標檢測網絡提取出的第m個實例。
文本特征的提取需要先對文本實現(xiàn)定位,而后識別文本框內文本的語義,提取包括字符識別的結果及其置信度。由于氣瓶瓶身具有豎立、斜放、平躺3 種姿態(tài),所以瓶身上的文字同樣具有多種方向。同時,瓶身文字多呈規(guī)則矩形,因此,本文選擇了旋轉文本檢測網絡(Rotation-Based Text Detection)[12]作為文本檢測的模塊,旨在能夠從輸入圖片中分離出帶有文本的文本框,然后送入CRNN(Convolutional Recurrent Neural Network)[13]模塊完成文本識別。
文本檢測模塊結構如圖3 所示,旋轉文本檢測網絡沿用了Faster R-CNN 的思想,并為候選區(qū)域網絡的候選框添加了方向參數(shù),提出了旋轉候選區(qū)域網絡(Rotation Region Proposal Network, RRPN)。為平衡計算效率與收斂速度,錨框的方向參數(shù)設定為6 個值,大小基準設為8×8、16×16、32×32,每種框分別采用1∶1、1∶2、1∶5 這3 種長寬比。最后,不同大小的正樣本候選框與特征圖一起輸入旋轉區(qū)域建議池化層(Rotation Region of Interest Pooling, RROI)統(tǒng)一為固定尺寸,而后映射到特征圖上,最后經過全連接層得到目標的類別。
圖3 文本檢測網絡流程圖Fig.3 Flow chart of the text detection network
氣瓶圖像經旋轉文本檢測網絡后,可以得到一組精確的文本框,而后將所有文本框輸入CRNN 文本識別網絡,得到氣瓶圖像的目標文本內容。文本識別網絡結構如圖4 所示。
圖4 文本識別網絡結構Fig.4 Text recognition network structure
提取的文本依次經過卷積層、循環(huán)層與轉換層。卷積層選用改進的VGG(Visual Geometry Group Network)網絡,該結構用于提取帶有字符的圖片切片的卷積特征,為加快模型的收斂速度,在模型的第三、第五與第七個卷積層后加入批次標準化層;之后,循環(huán)層接收卷積層的輸出進行文本預測。由于氣瓶瓶身文字不清晰,本文選用了BiLSTM[14]網絡,該方法可以提高模糊字符的識別率;最后,循環(huán)層的輸出經過log_softmax 函數(shù)得到輸出。log_softmax[13]見式(1),相比較于普通softmax,log_softmax 擁有保持數(shù)值穩(wěn)定的特點,可以加快運算速度。
通過旋轉文本檢測網絡檢測出文本的位置信息與視覺信息,而后將定位的文本送入CRNN 文本識別網絡識別出文本內容與文本置信度,最后將兩個網絡的輸出一起輸入多模態(tài)嵌入空間的OCR 嵌入層。
在神經網絡中,嵌入層通常具有3 種用途[15]:(1)找到輸入的最近鄰向量;(2)用作模型的輸入;(3)挖掘輸入變量之間的關系。本文多模態(tài)嵌入空間接收圖像態(tài)實體與文本態(tài)實體,并結合上一時刻的預測結果,將3 者映射到同一空間,得到了擁有豐富語義的映射結果,并將其輸出給Transformer 模型用于單詞的生成。
為了得到目標嵌入特征,多模態(tài)嵌入空間接收目標的視覺特征與位置特征,然后將視覺特征與位置特征輸入目標嵌入空間(Object Embedding),如式(2):
為了得到文本嵌入特征,多模態(tài)空間接收文本的內容、文本置信度、文本視覺信息與位置信息,采用如下操作:(1)根據(jù)文本內容,提取300 維FastText[16]詞向量特征與字符級別的金字塔直方圖特征;(2)根據(jù)文本的視覺信息,使用與目標嵌入空間相同的目標檢測器提取文本的視覺特征;(3)提取字符的位置信息與置信度,并將所有信息映射到OCR 嵌入空間(OCR Embedding),如式(3):
其中:W為要學習的映射矩陣;為輸出的文本嵌入特征。
為得到上一時刻結果的嵌入特征,多模態(tài)嵌入空間接收上一時刻的輸出單詞,若單詞來源為文本檢測識別,則輸出單詞的文本特征;若單詞來源為單詞表,則輸出單詞對應的權重,最后得到結果。
根據(jù)多模態(tài)嵌入空間內的3 個模塊,生成了目標特征、文本特征與上一時刻預測的特征,而后將3 者送入下一階段的預測模型。
經多模態(tài)嵌入空間處理后得到了3 種模態(tài)的信息,而單詞的預測依賴于多模態(tài)信息的融合。
Transformer[17]由多頭注意力模塊與前饋神經網絡組成,其多頭注意力模塊可以將不同模態(tài)的信息統(tǒng)一,通過注意力機制完成模態(tài)間的交互融合,完成文本信息與圖像特征的對齊,因此本文選取該結構完成序列化生成任務,其結構如圖5 所示。
圖5 基于Transformer 的多模態(tài)融合預測Fig.5 Multi-modal fusion prediction based on Transformer
通過多頭注意力模塊,每種模態(tài)的實體可以關注任意模態(tài)的其他實體,這使得通過相同的一組Transformer 參數(shù)可以實現(xiàn)模態(tài)內與模態(tài)間的關系建模,在預測輸出時可以為更需關注的模態(tài)施加更高的權重。在訓練過程中,將目標嵌入特征、文本嵌入特征與上一時刻的預測結果的嵌入特征一齊作為Transformer 編碼端的輸入,解碼端輸入單詞的文本嵌入向量xtxt,如式(4):
其中:zobj、zocr、為各模態(tài)的特征向量。然而,t時刻的預測單詞可能來源于單詞表或是視覺文本。因此,可以通過式(5)預測該時刻輸出來源為單詞表不同單詞的概率,通過式(6)預測來源為不同視
其中:Wvoc為詞嵌入矩陣;Wocr為OCR 嵌入矩陣。
模型生成描述語句后,本文判斷的場景包含兩類,如表1 所示。
表1 氣瓶危險場景分類Table 1 Classification of cylinder dangerous scene
當描述語句中出現(xiàn)not secured 或without securing時,判斷為第1 類危險場景;當描述中同時出現(xiàn)可燃性氣體與還原性氣體時,判斷為第2 類危險場景。其中,常見的可燃性氣體包括氫氣、乙炔、氨氣等,常見的助燃性氣體如氧氣。
為驗證本文所提方法的可行性,本文選用Linux 搭建實驗平臺,選用Ubuntu18.04 作為操作系統(tǒng),GPU 選用NVIDIA GeForce GTX 2080Ti,CUDA10.1,CUDNN7.6,顯存為11 GB,CPU 選用Xeon(R) Silver 4110 CPU @ 2.10 GHz,內存為16 GB。實驗使用Pytorch深度學習框架進行模型的訓練和測試,使用目標檢測模型與文本檢測識別模型對實驗室氣瓶圖像提取特征,利用Transformer 多模態(tài)融合預測生成圖像描述。
當前圖像描述的相關研究主要使用公共數(shù)據(jù)集,如COCO[18],F(xiàn)lickr8k,F(xiàn)lickr30k 等,包含多張日常圖片,每張圖片配有5 句人工標注的描述語句。但目前鮮有關于實驗室氣瓶的圖像描述數(shù)據(jù)集,因此,本文通過自行現(xiàn)場采集、網絡爬蟲等方法進行數(shù)據(jù)集的收集工作,共計1000 張圖片,訓練集與驗證集的比例為7∶3。數(shù)據(jù)集覆蓋兩種場景,其中包含安全場景550 張,危險場景450 張。安全場景中包含氣瓶被固定圖片470 張,氣瓶可相鄰放置圖片80 張,危險場景中包含氣瓶未固定圖片380 張,氣瓶不可放置圖片70 張。
(1)氣瓶圖像檢測數(shù)據(jù)集制作
為滿足氣瓶圖像特征提取的需求,按照COCO公共數(shù)據(jù)集的標注格式對所有圖片進行標注,本文標注的類別包含氣瓶(Cylinder)、固定架(Carrier)、固定帶(Strap)與氣瓶柜(Cabinet),使用LabelImg 工具進行標注,而后以json 文件格式存儲,圖片標注實例如圖6 所示。
圖6 氣瓶圖像標簽示例Fig.6 Example of cylinder image label
(2)氣瓶文本檢測識別數(shù)據(jù)集制作
常用的圖像文本檢測識別數(shù)據(jù)集有ICDAR2013、ICDAR2015[19]等,其中ICDAR2015 包含1000 張訓練圖片與500 張測試圖片。因此,本文對氣瓶圖片進行文本標注,首先用LabelImg 工具標定文本位置,生成標定文件,然后編寫python 腳本,將標定文件的格式轉化為ICDAR2015 的格式:“x1, y1, x2, y2, x3, y3,x4, y4,label”,分別表示文本框的4 個頂點的位置以及對應的文本。
(3)氣瓶圖像描述數(shù)據(jù)集制作
根據(jù)實驗要求,仿照COCO 圖像描述數(shù)據(jù)集的格式對氣瓶圖像進行標注,由于目前沒有自動標注工具,因此采用手動方法對每張圖像標注5 句描述,每個語句都有唯一id 號,最終以json 格式的文件保存標注結果,每張圖片對應1 個圖片id 號與5 個語句id 號。
由于氣瓶圖像數(shù)據(jù)集數(shù)量有限,故在訓練Faster R-CNN 前對數(shù)據(jù)進行數(shù)據(jù)增強,增強方法包括添加高斯噪聲、隨機旋轉、亮度調整等,以此增強模型的精確性與魯棒性。同時,為提升檢測精度,本文采用遷移學習的方法,首先加載模型的預訓練權重,而后在氣瓶數(shù)據(jù)集上進行微調,訓練時的部分網絡參數(shù)設置如表2 所示。
表2 部分網絡參數(shù)Table 2 Parameters of part network
模型在訓練集微調后再測試集評估性能。為驗證模型改進的效果,進行了消融實驗,將Faster RCNN 設為baseline,并將其與改進模型對比。評估指標采用平均準確率(MAP)與4 類目標的準確率(AP),實驗結果如表3 所示。場景1 表示氣瓶未被固定,場景2 表示氣瓶相鄰放置,場景3 表示數(shù)據(jù)集覆蓋的全部場景。在場景1 中,氣瓶主要在固定架上,且部分固定架沒有固定帶,因此相比于整體數(shù)據(jù)集,精度有所降低,但FPN 的添加使得尺寸較小的固定帶的檢測精度提升了10%;在場景2 中,固定架數(shù)量較少,實驗不具有表現(xiàn)性,因此不進行展示。通過表3 結果證明,改進目標檢測網絡可以更精確地檢測出目標實例。
表3 在氣瓶場景中不同目標檢測算法的對比Table 3 Comparison of different object detection algorithms in cylinder scene
為了能夠更加清晰地驗證目標檢測模型在氣瓶數(shù)據(jù)集上的效果,將測試圖片進行可視化,其結果如圖7 所示。圖7(a)示出了單獨氣瓶的檢測效果,圖7(b)、圖7(c)示出了氣瓶擺放在不同場景下的檢測效果。圖7(d)示出了多個氣瓶場景的復雜場景。實驗結果表明,本文方法可以適用于實驗室氣瓶場景,為后續(xù)生成描述奠定了良好基礎。
圖7 氣瓶場景檢測實驗效果Fig.7 Results of object detection in cylinder scene
在RRPN 中會生成大量旋轉候選框,然而這些候選框內含有較多負樣本,如果學習所有矩形框的參數(shù)會嚴重增加計算消耗。所以將候選框分為正樣本與負樣本,分類規(guī)則如表4 所示(其中IoU 為交互比,GT 為標簽真實值),最后只有正樣本參與模型的訓練。本文將模型首先在ICDAR2015 進行訓練得到預訓練權重,然后在自制氣瓶圖像數(shù)據(jù)集上微調,初始學習率設置為0.005,學習衰減率為0.0001。模型的檢測識別效果如表5 所示。通過檢測效果證明,旋轉文本檢測模塊可以對水平、傾斜多種姿態(tài)的文本實現(xiàn)定位,而通過識別效果證明CRNN模型可以在氣瓶場景中識別瓶身上的表示氣體類別的文字。
表4 正負樣本判定規(guī)則Table 4 Positive and negative sample rule
表5 氣瓶文本檢測識別實驗結果Table 5 Experimental results of text detection and recognition of cylinder
2.4.1實驗設置 本文使用上述訓練完成的目標檢測模型提取每張圖片內得分最高的10 個物體,并將文本檢測識別模型提取的文本數(shù)量也設置為10。參考CNMT 模型參數(shù)設置,本文將多模態(tài)嵌入空間的維度設置為768,最大解碼步驟設置為30。為在氣瓶圖像數(shù)據(jù)集上取得更好效果,模型首先在TextCaps[20]上預訓練,而后在得到的權重上進行微調,優(yōu)化算法使用Adam[21],學習率設置為0.0001,Batchsize 設置為16,最大訓練迭代次數(shù)設置為500,在第200 次迭代與第300 次迭代時將學習率下降90%。
2.4.2評價標準 圖像描述任務中常用的評價指標有:BLEU、ROUGE、CIDER 等[22]。BLEU 得分是通過計算生成描述與真值的重復N元數(shù)組的個數(shù)評估模型效果,高階的BLEU 得分可以衡量出句子的流暢度;ROUGE 的基本思路與BLEU 類似,區(qū)別在于BLEU 計算的是準確率,而ROUGE 計算的是召回率;CIDER 是BLEU 和向量空間模型的結合,通過比較生成結果與真值的相似性來評價生成語句的效果。本文采用以上3 種評價指標對實驗結果進行客觀的定量分析,同時以人工評測的方式作為輔助,判斷生成描述語句的質量。
2.4.3 實驗結果分析 在氣瓶圖像描述數(shù)據(jù)集上,將本文模型與經典的圖像描述算法Soft-Attention、Adaptive 等進行對比實驗,并通過評價指標來評估算法的效果,實驗結果如表6 所示。
表6 本文算法與其他算法對比Table 6 Comparation between our method and other algorithms
從表6 可見,在氣瓶圖像數(shù)據(jù)集上,本文算法的提升效果比較明顯,其原因在于在氣瓶圖像內,只有目標物對生成描述較為重要,而額外的背景會對描述生成造成負面影響;本文模型使用目標檢測模型提取關鍵對象的特征作為后續(xù)輸入,避免了額外信息的干擾;此外,氣瓶瓶身上的文字對描述語義有著重要的意義,常規(guī)模型往往會忽視這些信息。本文模型提取了圖片內的文本信息,并將其與目標特征、語義特征共同作為注意力模塊的輸入,構建了豐富的多模態(tài)空間,使得每一時刻預測生成的單詞更加合理。
為了根據(jù)規(guī)則判斷描述的場景是否含有危險因素,本文選取了一些生成語句進行定性分析,結果如圖8 所示。圖8(a)示出的場景包含兩個氣瓶,其中一個在氣瓶柜內,另一個則在氣瓶柜外,本文模型抓住了不同的氣瓶與氣瓶柜之間的空間關系,其描述語句中包含not secured by 與without securing 關鍵詞,描述出了氣瓶沒有被固定帶安全固定的狀態(tài),可以根據(jù)語句判斷該場景存在的風險;圖8(b)示出的場景中存在有綠色氣瓶與被遮擋的固定架,此外,也檢測出了未被固定這一危險信息;圖8(c)示出的場景中擺放了兩個幾乎重疊的氣瓶,本文方法檢測出氣瓶的個數(shù)以及兩個氣瓶的前后關系,且兩個氣瓶均被固定,沒有出現(xiàn)危險的詞匯,因此可以判定為安全場景;圖8(d)示出的場景中的氣瓶柜中有兩個被固定的氣瓶,并檢測出了氣瓶的氣體種類,在該場景中,N2與He 均為惰性氣體,因此根據(jù)規(guī)則判定該場景安全。此外,為證明OCR 識別對本文所提方法的意義,本文分析每條描述語句中的每個單詞來源。經分析,語句中的CO2、N2、O2 等表示氣瓶儲存氣體類別的單詞均來自于文本識別,這表明視覺文字的識別對描述的生成有著重要的作用。
圖8 氣瓶圖像描述示例Fig.8 Examples of image caption in cylinder scene
本文針對實驗室氣瓶安全場景,提出了一種結合目標檢測、文本檢測識別的圖像描述生成方法,首先使用Faster R-CNN 檢測圖像中氣瓶等目標物,同時通過文本檢測識別模塊提取瓶身上的文字,而后將二者與上一時刻輸出送入多模態(tài)嵌入空間,最后根據(jù)多模態(tài)輸出結果,利用Transformer 預測生成語句。實驗結果表明,本文方法在各項指標都取得了良好的結果,CIDER 達到了1.068;從描述結果分析,模型可以恰當?shù)乇磉_出圖像內的內容,且從生成的語句中可以清晰地分析出場景內是否含有危險信息,輔助監(jiān)控人員獲悉危險場景的危險源與危險原因,進而采取有效措施預防危險的發(fā)生。然而,由于數(shù)據(jù)集中圖片數(shù)量的局限性,模型的適配場景十分有限。接下來,將進一步擴大氣瓶數(shù)據(jù)的收集,并進一步改進模型,提高模型的普適能力,以降低事故發(fā)生概率。