摘要
我們從Kaggle上的Stanford Dogs Dataset 中切分出五種常見的狗狗圖像,以DeepFace中的情緒分類模型和性別分類模型進行Feature Engineering,得到一個七百多筆數據的表格數據集,再使用數種Data Science競賽中常見的GBDT模型進行訓練,最後在測試集上取得了ACC(準確率)0.2628的成績。
狗狗的圖片和它們在人類的情緒分析模型上的分數
動機和背景知識
動機
心
理學上一個名為”空想性錯視(Pareidolia) ”的理論表明,有時會人類會將一個物體錯認為是人臉很。我們團隊便有這樣子的經驗,常常會把狗狗的臉和表情連想在一起,因此我們從中得到靈感:特定品種的狗在人類看來可能會有相似的情緒?若將不同品種的狗的情緒分數作為特徵,搞不好可以成為一種高效、簡易的狗狗分類方法。為此我們開始試驗以情緒分數分類狗狗品種的可能性。
背景知識
Stanford Dogs Dataset
Stanford Dogs Dataset 由斯坦福大學計算機視覺實驗室建立,用於研究細粒度物體辨識的問題.數據集中每一張圖片都有一個對應的品種標籤及一個由 ImageNet 產生的物體定位框。
DeepFace
DeepFace是一個Python的人臉識別和面部屬性分析框架,它包裝了許多最先進的模型,如VGG-Face、Google FaceNet、OpenFace 和 SFac等等。它可以快速的用於圖像情緒識別、年齡預測、性別分類等等的推理任務。
GBDT
GBDT (Gradient Boosting Decision Tree) 是一種集成學習方法,它可以將多個弱決策樹組合成一個強預測模型。它使用了梯度提升 (Gradient Boosting) 的技術,即每次添加一個新的決策樹時都會優化前面所有決策樹的預測誤差。GBDT 在Data Science競賽中非常流行,因為它可以處理各種類型的數據,並有很好的泛化能力和解釋性。
實驗設計與結果
實驗設計
本研究旨在探索將狗狗圖片的情緒分數與性別分數作為特徵,結合GBDT模型進行狗狗品種分類的可行性。我們從Stanford Dogs Dataset 中選擇了五種常見的狗狗品種,並使用DeepFace中的情緒分類模型和性別分類模型進行特徵工程,再建立了數種不同超參數的GBDT模型,分別進行訓練,以評估模型在品種分類任務上的性能。
特徵工程
使用DeepFace中的情緒分類模型,我們對每張狗狗圖片進行分析,獲得七種情緒分數('angry'、'disgust'、'fear'、'happy'、'neutral'、'sad'、'surprise')和兩種性別分數('Man'、'Woman')。我們將這九個分數作為特徵,並加入在性別、人種等等的預測分數,構建了一個包含特徵和對應品種標籤的數據集。
EDA (Exploratory Data Analysis)
數據集中所有特徵間的相關係數