柯文馳,李莎,李睿
(四川大學計算機學院,成都610065)
災難遇害者識別(DVI)是法醫學中的一項重要研究課題。在大型災難事故中,通常伴隨有火災、爆炸等極端條件。此時遇難者的軟性組織不可用時,傳統的同一認定方法如DNA 檢測、指紋和人臉識別等方法有較大困難且不準確。自然牙齒是脊椎動物中最耐用的器官,具有很好的防腐性和抗降解性,在極端條件下也能夠保存下來。在一些極端災難事件中,牙齒是鑒定遇難者的唯一方法[1]。采用牙齒解剖形態標志以及頜面部骨性標志的口腔影像學資料進行法醫學同一認定越來越受到國際法科學界的認可。
21 世紀的多次重大群體性死亡事件中,依靠牙齒進行個體識別均發揮了重要作用[2]。但是現行的DVI系統主要依靠人工進行識別,速度慢效率低。在2004年的印尼海嘯事件中,對遇難者的身份識別絕大多數都是由牙齒匹配確認,但是身份認定工作耗費了數年才基本完成。正是由于基于牙齒的DVI 系統的匹配準確率高、速度慢的這一特點。迫切的需要一種快速的比對方法,因此采用計算機圖形圖像技術進行輔助識別具有極其重要的作用。
相關研究人員設計出了很多DVI 系統,例如:基于根尖片的方法[3]、基于咬翼片的方法[4]、基于全景片的方法[5]。這些DVI 系統主要是利用傳統的計算機視覺方法人工設計提取特征,并設計一套特征比對方法來對個體進行識別。傳統圖形圖像算法的存在著一定的局限性。人為設計的特征提取方法不具有泛用性。大多數DVI 系統針對于牙齒修復體設計[6],在沒有在牙齒治療的個體,DVI 系統會失效。并且這些系統都運行在小樣本的環境下,取得了不錯的實驗結果,但在更大數據集上則無法工作。
隨著人工智能技術的發展,深度學習已經成為了一種跨多學科的前沿技術潮流。如何將深度學習技術應用到各個學科上,已經成為一個非常重要主題。深度學習應用在計算機視覺中,產生了許多重要的應用,如人臉識別技術。人臉識別技術廣泛應用于常見的可獲取人臉的身份驗證場景,在鐵路、安防等領域已經投入實際使用。
鑒于深度學習在人臉識別領域取得的成果,本文運用深度學習算法,提出了一種通過牙齒全景曲斷片來進行人類身份認定的方法。這種方法能夠避免傳統方法中的特征設計,使用卷積神經網絡來提取牙齒特征,提高泛用性。對牙齒圖像全局進行特征抽取,不針對單一類型牙齒修復體進行設計,增強了系統的穩定性和準確率。
本實驗采用牙齒全景曲斷片(PDR)作為主要的研究材料,如圖1 所示。牙齒全景曲斷片是一種常見的X 光片。全景曲斷片清晰完整的顯示了上頜骨、下頜骨,人類醫師可以通過全景片觀察到全口牙齒的狀況。拍攝全景片是口腔治療前一個非常重要的環節,大部分口腔治療都會產生全景片。全景曲斷片的可供收集使用的數量非常大。口腔治療持續時間長,病人會定期復查,而口腔治療的全過程都會產生全景曲斷片。對于同一認定來說,每個病人至少應該存在2 個不同時期的認定樣本。
數據越多,深度學習能從中學習到的高維信息越多。大量的數據會極大的提高網絡的準確率和泛化能力。因此,本實驗一共收集了2096 人,共計5211 張口腔全景曲斷片。因未成年人的牙齒全景片為混合牙列,全景片會在短時間內變化巨大。為了簡化實驗,本次采用的數據均為16 歲以上牙齒萌發完成的成年人。實驗數據收集自四川大學口腔醫院。所有全景片按人進行加標簽分類。取出其中96 人(294 張全景片)作為測試集。整個數據集平均每人不同時間拍攝的全景片2-3 張。
(1)數據預處理
對于每一張全景片,都會有一定的差別,在拍攝時不同的輻射劑量,會造成圖像明暗上存在差異。拍攝者在拍攝時的角度,會使得最終生成的圖像呈現出在一定范圍內的變形。若不對這些圖片進行針對性調整,則會對實驗結果造成影響。還有部分圖片會存在一些無關標記,這些標記是為了方便人類醫師閱片,對于深度學習來說,這些標記是無關的,故裁剪掉。本實驗針對性設計了一套圖像預處理方法。
處理方法如下:
經過上述處理方式后,最終將圖片全部調整到256×256 尺寸的灰度圖,如圖1 所示。
(2)算法
①總體框架
如圖2 所示,算法利用牙齒的全景片作為輸入,經過圖像預處理后,將數據集分割為訓練集和測試集合。在卷積神經網絡的訓練階段,進行分類訓練。訓練完成后,抽取出特征向量與庫中所有注冊數據進行相似度計算,選取具有最高相似度的。

圖2 算法流程圖
同傳統的神經網絡方法相比深度學習最大的特點在于深度。受限制于設備運算能力的限制,早期常常是淺層神經網絡,但淺層神經網絡效果并不理想。隨著運算能力的發展,深度神經網絡逐漸加深。深度神經網絡在采用大量數據進行訓練后模型的效果遠超傳統方法。基于這個原因,本實驗網絡架構直接基于AlexNet[7]網絡設計。
網絡架構如圖3,網絡一共有11 層,前7 層為卷積層,后4 層為全連接層。激活函數使用ReLU。網絡輸入沿用AlexNet 網絡中使用的256×256。第2、4、7 層卷積層后跟池化層,池化操作,全部采用最大池化。使用池化操作能夠利用局部相關性減少數據冗余,控制過擬合。當數據輸入卷積層,不同的卷積核會捕捉到不同的局部信息。經過圖像在全連接層將這些信息進行綜合,從而得到全局的信息。全局信息經過恰當的壓縮過后行成表征整幅圖像的特征向量。在后續的深度學習發展中,Local Response Norm Layer(LRN 層)并無必要[8]。本實驗中去除掉了最后一層的LRN 層。在AlexNet 中使用的11×11、5×5 步長卷積核運算量大,使用3×3 步長的小卷積核來替換能夠取得相同的效果,并能夠顯著降低運算量。所以本研究用3×3 替換了AlexNet 的大卷積核。更詳細的參數見表1。

表1 網絡架構參數

圖3 網絡架構圖
本實驗使用了PyTorch 1.4.0 的深度學習框架,利用OpenCV 進行圖像處理。訓練使用設備為NVIDIA RTX2070 Super,使用的隨機梯度下降算法(SGD)進行訓練。初始學習率為0.001,每20000 次迭代學習率折半,到80000 次迭代時停止。Batch 值為16。
④特征提取與相似度計算
因為AlexNet 設計之初只是為了解決分類問題。對于身份認證這類問題需要針對做一定的修改。在人臉識別中,為每一個人分配一個類別是不可能的,一方面由于分類類別數過于龐大會導致網絡訓練困難,另一方面搜集所有人的數據的代價也是難以承受的。所以常規做法是用一個特征向量來代表一張圖像所包含的信息。通過計算兩人圖像的相似度,來區兩者是否為同一人。
在本實驗中第二層全連接設為特征層,將該層單獨從網絡中抽取出來。匹配時,任意計算任意兩人的余弦相似度:

當獲取到了足夠的數據,訓練出的網絡模型能夠將圖像的特征表征得足夠好。可以通過設定一個容忍的識別率來獲取認定閾值。這樣只需將任意兩張全景片輸入網絡得到特征向量,計算兩者余弦相似度,當其相似度超過閾值時即為同一人。相比于人工的同一認定,速度會大大提高。
(3)測試方法
測試集中包含96 人,共294 張全景片。采用Top1/Top5 測試,對測試集中的數據進行劃分。在每個樣本中抽取一張全景片組成原型圖像集合(gallary set){X},剩下的全景片作為測試圖像集合(Prob set){X'}。對任意的一張全景片Xl'abel,同原型圖像集合中所有的全景片進行相似度計算,并排序。在Top5 測試中,選取相似度最高的前五個全景片Xtop5= {X1th_label,X2th_label,X3th_label,X4th_label,X5th_label},若該集合與全景片Xl'abel中標簽滿足(i)th_label= =label(i=1,2,3, 4,5),則視為認定成功。Top1 同理。
通過使用Grid-Cam 方法生成了神經網絡的關注區域(圖X)。可以看到,網絡的重點關注區域是牙齒部分,這與人類醫師的關注的重點區域是一致的。

圖4 網絡關注區域
在測試集上,全景片通過神經網絡抽取特征后,取得特征向量,進行Top1/Top5 測試,Top1 準確率為80.30%,Top5 識別率85.86%。
本次研究中,由于數據量的限制,并沒有達到深度學習在人臉識別上的準確率。但是在2000 人左右的數據集上訓練已經有了80.30%的識別率。但是深度學習具有良好的可擴展性,后續收集到更多的數據之后,可以通過遷移學習繼續訓練,能夠不斷的提高準確度。使用本方法,避免了人為設置特征的困難,也不會因為針對修復體設計產生修復體消失后無法匹配的情況。相比于傳統的方法更不易失效,具有更強的魯棒性。
可以預見,通過深度學習進行牙齒同一認定,有著極大的可能會替代傳統方法,成為齒科身份識別的主流。并且隨著數據的增多有著接近人工識別的潛力。對于本文中使用的深度學習模型,通過不斷的迭代修改,還有著準確率進一步提升的可能性。