2015-08-17 36 views
2

我一直在測試新的臉部API realesed爲Android,並注意到即使啓用,它不檢測使用的舊FaceDetector API到人臉,而且我想知道「ACCURATE_MODE」在生成結果時,位圖編碼「RGB_565」對「ARGB_888」的影響。新的Android面對API限制

+0

你能舉一些例子嗎?有沒有什麼共同的例子,不適合你? (例如,非常小的臉?)。 – pm0733464

+0

在我看來,與圖像尺寸相比,臉部尺寸必須處於「適當比例」才能被檢測到。所以臉部不一定很小,不會被檢測到,但與圖像尺寸相比,它們很小。如果我在運行環境中裁剪圖像並將其傳遞給檢測器,它將檢測這些面部,並​​且儘可能多地放大(通過裁剪較小尺寸的原始圖像),它會在檢測到多個面部的情況下檢測到更多面部圖像中的臉部。 – feisal

+0

有道理。請參閱下面對我的回答的編輯,這解釋了這個問題。 – pm0733464

回答

2

更新:

的問題是,面部檢測器被設置爲僅檢測到在默認情況下至少10%(作爲性能優化)面。

新的谷歌遊戲服務8.4版本支持設置這個最小面部尺寸下,使小面被檢測到。見setMinFaceSize方法在這裏:

https://developers.google.com/android/reference/com/google/android/gms/vision/face/FaceDetector.Builder.html#setMinFaceSize(float)

+0

我認爲沒有辦法操縱這些數字,對於如何檢測圖像中較小的人臉有任何建議,因爲我不一定知道他們所在圖像中的哪個位置以及臉部可能與圖像相比的比例尺寸 – feisal

+0

根據我的經驗,圖像的寬度不是唯一的因素,我不得不在高度上切片,以檢測大部分面部,例如400x400的重疊切片。 – feisal

+0

查看上面的更新,它允許在不需要切片的情況下檢測到較小的面部。 – pm0733464

1

我已經看到了我們的ObscuraCam [0]項目同樣的問題,並同時使用舊的和新的API,試圖最大限度地檢測被保留。

這似乎是新的API只是在細節上更是爲您提供有關的臉標誌性建築和表達的分類,而不是在能力,實際探測面或子面。

[0] https://github.com/guardianproject/obscuracam