樊欽睿,李丹
(四川大學錦城學院,四川成都,611731)
隨著計算機性能的快速發展,機器學習迎來了它的黃金時期,而人臉檢測作為很多任務的前驅任務,一直是一個熱門研究領域,這些年來,各種算法突飛猛進的快速發展,我們在人臉檢測領域已經取得了巨大進步 。在深度學習中,人臉檢測是一項非常重要的計算機視覺任務,特別是卷積神經網絡(CNN)。人臉檢測作為許多任務的第一步,包括人臉識別、驗證、跟蹤、對齊、表情分析等,都吸引了學術界和工業界的許多研究。多年來,機器學習中人臉檢測的性能和準確性有了顯著地提高。有關人臉檢測的調查,請參考基準結果[3-4]。在人臉檢測領域中,很多學者和機構提出了許多來自不同角度的方法,研究方向包括了CNN網絡的設計、損失函數、數據增強和訓練方法等。
雖然在普通人臉檢測上,我們已經取得了巨大進步,但現在存在的問題是,佩戴口罩出行成了大勢所趨,而口罩不可避免地會帶來某些較難解決的噪聲[2]。檢測帶有口罩遮擋的人臉是一項具有挑戰性的任務,主要有以下兩個原因:(1)缺少大規模的口罩人臉數據集的支持。(2)口罩在人臉上遮擋范圍較大,使很多人臉區域的特征丟失,現有的很多人臉檢測器達不到理想的效果。
YOLO5face獨特的檢測機制與很多使用特定人臉檢測器的設計不同,YOLO5Face是一個基于YOLOv5對象檢測的人臉檢測器,它將人臉檢測視為一般目標檢測任務[1]。基于YOLO5Face在WiderFace數據集上的實驗結果表明,此方向具有高度可行性,且在有遮擋人臉,如:戴口罩、戴墨鏡等情況下具有優勢。
我們這次使用了一個戴口罩人臉的數據集,其為Markface。在這個數據集內一共有863張人臉圖片。且大部分圖片中有一個或多個戴口罩的人臉,這些人臉是用人工方式進行標記的。如HAAR、HOG、LBP、SIFT、DPM、ACF等,有關機器視覺特征提取請參考[8-9]。在同一張圖片中的人臉有大有小,有正確佩戴口罩和不正確佩戴口罩,其中的情況很接近現實情況,具有較高實際價值。而在圖片的標注處理過程中,確保了每個圖像至少包含一個人臉,雖然此數據集的數據量較少但符合真實情況,很適用于小型模型訓練。
在YOLO5Face的 處 理 方 法 中,YOLO5Face與TinaFace[5]都相同的將人臉檢測任務作為了一般的目標檢測任務。換句話說,我們把人臉視為一個普通物體。與通常的人臉檢測器不同,我們不需要特別標注人臉特征。正如在TinaFace[5]中所說,人臉所具有的屬性,如姿勢、比例、遮擋、照明、模糊等,在其他的一般性的物體上也存在。面部中特有的屬性,像表情,化妝也可以看作是物體的變形和顏色。基于YOlOv5目標檢測器的人臉檢測器正是遵循這種理念設計出的。由于我們考慮到不同的應用場景,此模型具有不同大小的檢測器。目的是為不同的應用程序提供一個從復雜到簡單的模型組合,以便取得在嵌入式或移動設備上性能和準確度的權衡。
而基于YOLOv5Face的這種人臉檢測理念,我們在以戴口罩的人臉檢測為目標時,把人臉被口罩遮視為一般物體被遮擋,這為我們的操作提供了便利性,我們不需要額外重新發明一個戴口罩的人臉檢測器,因為YOLO5Face可以很好地滿足我們的要求,并且具有很好的性能和準確度。
由于CNN在許多機器學習任務中表現突出,YOLO5 Face是由CNN主導的。目前主流的檢測器有two-stage和one-stage這兩種物體檢測器。two-stage目標檢測器的性能非常好,但延遲時間較長,速度較慢,這與我們追求的效率目標有所沖突。為了克服這一問題,與傳統的YOLO模型一樣,我們使用了one-stage目標檢測器,它經過單次檢測即可直接得到最終的檢測結果,因此one-stage目標檢測器具有更快的速度,這能幫助我們更好地找到性能與速度的平衡。
我們把人臉檢測視為了一般的目標檢測。在最流行、最具挑戰性的人臉檢測基準WiderFace人臉數據集[1]發布后,人臉檢測中的極端問題迅速被關注,包括比例、姿勢、遮擋、表情、化妝、光照、模糊等。為了解決這些問題,許多解決方法被提出,例如劃分比例,忽略背景,更改錨的大小等。
值得注意的是,有些人臉檢測器標注了人臉特征,而另外一些只是把人臉檢測作為了一般目標檢測,在一般目標檢測器上做了調整和修改便用作了人臉檢測。用RetinaFace [3]做例子,它使用了 landmark regression來幫助監督人臉檢測,而TinaFace[5]沒有關注多余特征,它是一個一般目標檢測器。
YOLO首次出現在2015年,是一種不同于當下流行的 two-stage方法。它將對象檢測視為一個回歸問題,而不是一個分類問題[7]。它使用單個神經網絡來完成檢測對象的所有階段,這能大大提高模型速度。從結果來看,它不僅取得了非常好的檢測性能,而且實現了能夠實時處理的速度。此外,它具有良好的泛化能力,可以很容易地訓練來檢測不同的對象。
在接下來的五年里,YOLO算法已經升級到第五個版本,加入了很多來自目標檢測社區的創新想法。在前三個版本中,YOLOv3是一個里程碑,它通過引入了多尺度特性(FPN)[7]、更好的主干網絡(暗網53),并用二元交叉熵損失函數取代了Softmax,在性能和速度上都有了重大改進。
而與前幾代版本不同,YOLOv5由另一個的研究團隊發布。在算法上YOLOv5沒有很多創新。且YOLOv5團隊并沒有發表改進論文。這使它陷入了是否應該被稱為YOLOv5的爭議中。然而不可否認的,它顯著縮小了模型大小、提高了運算速度且有與YOLOv4[3]相似的性能,以及在Python(Pytorch)上的完整實現,因此它受到了目標檢測社區的歡迎。
YOLOv5具有一個很小的內核,這使它在較小人臉檢測和大規模的人臉檢測上上更具優勢。為了提高模型性能,我們使用了YOLOV5的預訓練模型,應用在了Markface數據集上。
Markface數據集是較為常規的口罩人臉檢測數據集,它包含853張圖像。其規模、姿勢、遮擋、表情、照明,特別口罩佩戴情況接近現實,非常具有現實價值。我們把整個數據集按70%/10%/20%的比率分為訓練/驗證/測試。標簽由佩戴口罩(with_mask),未佩戴口罩(without_mask)和口罩佩戴不正確(mask_weared_incorrect)組成。
我們使用YOLOv5作為基礎,并實現了YOLO5Face在PyTorch中描述的所有修改[1]。我們在Markface數據集上使用了多種預訓練模型,從大尺寸模型(YOLOv5l、YOLOv5l6)到中型模型(YOLOv5m、YOLOv5m6),到小型模型(YOLOv5s、YOLOv5s6)。
人臉標簽被分為了三部分:(with_mask),(without_mask),(mask_weared_incorrect)。
我們在訓練的過程發現,在前10個epoch訓練中精度提升明顯,由于Markface數據集規模不大,且模型較小,在50個epoch后損失函數“box”,“obj”,“cls”已經開始收斂,在100epoch后精度已經在了穩定較高水準。此時在驗證集上表現已經很不錯了(如圖1-2所示)。

圖1

圖2
Precision:精度(找對的正類/所有找到的正類):

Recall:召回率(找對的正類/所有本應該被找對的正類):

口罩是否正確佩戴直接影響了口罩的實際作用,特別是在醫院這種高度需要佩戴口罩的場所中,檢查人群是否佩戴口罩,是否正確佩戴口罩尤為重要,如果能及時預警能更好地阻止病毒傳播。此模型在這方面的應用也很具有現實價值。我們在Markface數據集上關于佩戴口罩的情況下還劃分了 是否正確佩戴口罩,且在測試集上表現較為優秀,能在大多數情況下準確的快速檢測。在之后我準備的預測集上也是如此。結果如圖3所示。注:粉色框:佩戴口罩(with_mask);紅色框:未佩戴口罩(without_mask)和橙色框:口罩佩戴不正確(mask_weared_incorrect)。

圖3
醫院人口密集且流動性大,實際情況較為復雜,這種情況下使用人工檢測場景內的人員是否佩戴口罩較為困難且成本高。此模型能很好的應對此場景,并且相對于人工檢測,成本和可行性都大為提高,如圖4所示,無論是正臉/側臉,離采集點近的較大人臉/邊緣的較小人臉此模型都能應對。

圖4
醫院在不同場景有不同情況的檢測需求,如在醫院大門體溫-口罩 通行檢測時,只需要在此模型的基礎上增添現有的體溫檢測系統即可實現自動化通行,提高人群通行速度,避免擁堵的同時也可以減少病毒感染可能性,并且降低了人工成本。而在等候大廳等密閉場景,只需要增加一個監測點,即可提醒等候人群佩戴且正確佩戴口罩。
總的來說,戴口罩的人臉檢測在機器學習領域中是一個繞不開的難題,而我們使用的YOLO5Face作為基礎的口罩人臉檢測在Markface數據集上取得了不錯的效果,在本文中,我們介紹了Markface數據集用于戴口罩的人臉檢測的具體實施步驟。我們發現Markface數據集對于現有的人臉探測器來說非常具有挑戰性。這可能意味著這個數據集可以促進有效人臉探測器的開發。
如圖5所示,此模型在就算在“maksssksksss209.jpg”中的那種環境較為復雜,人臉較為密集的情況下也能有較好的檢測效果,如果模型只用于識別是否佩戴口罩,而不需要劃分清楚口罩的佩戴情況,那么此模型已經優于了大部分常規的人臉檢測器。此外,你還可以通過此模型預測面部表情,口罩類型和遮擋程度等,這在許多現實應用中也具有實際意義。

圖5
初步來看,此模型在戴口罩的人臉檢測方向是極具可行性的,它具有不錯的準確性和極佳的性能優勢,在對比過程中我們發現,此模型在MarkFace數據集上的表現甚至優于很多網絡更為復雜的模型,它很小的性能消耗和小規模的模型尺寸使它在嵌入式設備和移動設備上具有巨大優勢。而減少模型復雜度和提高準確度是大勢所趨,這也將是我們未來的研究方向之一。