0

我有一張人臉圖像的集合,每個圖像中有1個或有時候有2個人臉。我想要做的是在每幅圖像中找到臉部然後剪裁它。 我測試了幾個方法,這些方法在python中使用openCV實現,但結果並不好。這些方法是:從圖像中裁剪人臉

1- Implementation 1

2- Implementation 2

有,我已經測試了一個多模式,但我不能發佈兩個以上的鏈路。 問題是,這些基於哈爾特徵的算法對臉部大小不夠健壯,當我在接近臉部的圖像上嘗試它們時,他們找不到任何臉部。 有人提到嘗試基於深度學習的算法,但我找不到與我想要做的相對應的算法。基本上,我想我需要一個預先訓練好的模型,它可以給我圖像中的人臉邊界框的座標,或者更好的是一個預先訓練的模型,它將裁剪後的人臉圖像作爲輸出。

+1

您需要了解OpenCV的人臉檢測參數。 ** scaleFactor(此參數強烈影響性能)**和minNeighbors等。 –

回答

2

你不需要機器學習算法,Graph-Algorithms就足夠了。例如Snapchats人臉識別算法的工作原理如下:

  1. 從最常見的面部(「標準臉」)創建節點和邊的圖。該圖/ Recoordinate節點能夠在輸入圖像的擬合像素

  2. 瞧你有臉輸入圖像識別的

  3. 變形。

簡單的說,但很難代碼。例如,我們在我們的大學實施了Dijkstra算法,如果您需要,我可以將您的「圖形」類交給您。但我用C++編寫它。

使用這些圖形算法,您可以更有效地裁剪人臉。

+0

這是否與dlib的臉部和臉部標誌檢測器相同?如果你有Graph類ob Github,這將幫助我們許多人。 – Totoro

0

Here是從視頻創建人臉數據庫的開源程序。您可以使用它從圖像裁剪和保存面部。

該程序使用Python Face Recognition Module識別臉部,face_recognizer.py識別視頻中的臉部,裁剪並將它們保存爲合適路徑層次下的圖像。

一旦你獲得了臉部數據,也許你需要在你的程序中閱讀它。在演示應用程序中,我決定從一個非常簡單的CSV文件中讀取圖像。

你並不是真的想手動創建CSV文件。 Here是一個可以自動創建CSV文件的小Python腳本。

這個程序用於創建您自己的人臉檢測/識別數據庫,您可以根據自己的目的修改和使用它,這裏是程序的流程圖;

enter image description here