コンピュータービジョンを使用した小売写真の検証

エントリー


融資プログラムの一環として、銀行は多くの小売店と協力しています。
融資申し込みの重要な要素の1つは借り手の写真です。パートナーストアのエージェントは買い手の写真を撮ります。 このような写真は、クライアントの「個人ファイル」に分類され、将来的には、融資を申請する時点で彼の存在を確認する方法の1つとして使用されます。

残念ながら、不正確な写真を銀行に転送する可能性のあるエージェント、たとえばソーシャルネットワークやパスポートからの顧客の写真の不正行為のリスクが常にあります。

通常、銀行は写真を確認することでこの問題を解決します。オフィスの従業員は写真を見て、不正確な画像を特定しようとします。
プロセスを自動化し、ニューラルネットワークを使用して問題を解決しようとした。

タスクの形式化


人物が写っている写真だけを調べました。 オープンDlibライブラリを使用して、顔のない写真を切り取ることができます。

明確にするために、写真の例を示します(銀行員は写真に写っています):

画像
図1. POSからの写真

画像
図2.ソーシャルネットワークからの写真

画像
図3.パスポート写真

そのため、写真の背景を分析するモデルを作成する必要がありました。 彼女の仕事の結果は、写真がパートナーの販売ポイントの1つで撮影された可能性を判断することでした。 この問題を解決する3つの方法を特定しました:セグメンテーション、同じ販売時点での他の写真との比較、分類。 それぞれについて詳しく見ていきましょう。

A)セグメンテーション


最初に思いついたのは、画像を分割し、パートナーストアの背景を持つ領域を識別することで、この問題を解決することでした。

短所:


代替オプションを放棄する場合にのみ、この方法に戻ることが決定されました。 ネタバレ:戻らなかった。

B)同じ販売店の他の写真との比較


写真とともに、どの小売店で作られたかに関する情報を受け取ります。 つまり、同じ販売店で撮影された写真のグループがあります。 各グループの写真の総数は、数単位から数千単位までさまざまです。

別のアイデアが浮上しました。2枚の写真を比較し、それらが1つの販売店で撮影された可能性を予測するモデルを構築することです。 次に、新しく受信した写真を同じストア内の既存の写真と比較できます。 それらに似ていることが判明した場合、その写真は間違いなく信頼できます。 写真が写真から外れた場合、手動で確認するために追加で送信します。

短所:


欠点にもかかわらず、ニューラルネットワークVGG-16およびResNet-50のブロックを使用して、この記事のモデルを実装しました。 そして...彼らは両方のケースで正解の割合が50%をはるかに超えていないことを受け取った:(

B)分類!


最も魅力的なアイデアは、写真を3つのグループに分割する単純な分類子を作成することでした。販売店、パスポート、ソーシャルネットワークからの写真です。 このアプローチが機能するかどうかを検証するだけです。 まあ、トレーニング用のデータの準備にも少し時間を費やしてください。

データ準備


Dlibライブラリを使用したソーシャルネットワークの画像のデータセットでは、人物が写っている写真のみが選択されました。

パスポートの写真は、顔だけを残して、別の方法でトリミングする必要がありました。 ここでもDlibが助けになりました。 仕事の原理は次のようになりました。彼らはこのライブラリの助けを借りて顔の座標を見つけました->彼らはパスポートの写真を切り取り、顔を残しました。

3つのクラスのそれぞれで、40,000枚の写真が残りました。 データ増大を忘れないでください

モデル


ResNet-50を使用しました。 彼らは、互いに素なクラスを持つマルチクラス分類問題として問題を解決しました。 つまり、写真は1つのクラスにのみ属することができると考えられていました。

model = keras.applications.resnet50.ResNet50() model.layers.pop() for layer in model.layers: layer.trainable=True last = model.layers[-1].output x = Dense(3, activation="softmax")(last) resnet50_1 = Model(model.input, x) resnet50_1.compile(optimizer=Adam(lr=0.00001), loss='categorical_crossentropy', metrics=[ 'accuracy']) 

結果


テストサンプルでは、​​24,000枚の写真、つまり20%が残っています。 エラーマトリックスは次のとおりです。

画像
ソーシャルネット-ソーシャルネットワーク;
パスポート-パスポート;
pos-credit-ローンを提供するPOSパートナー。

店頭からの写真の場合、エラーの合計割合は1.6%-1.2%です。 誤って定義された画像のほとんどは、同時に2つのクラスに類似した画像です。 たとえば、pos-creditクラスの誤って定義された写真のほとんどすべてが、失敗した角度から撮影されました(白い壁に対して、顔のみが表示されています)。 したがって、それらはソーシャルネットクラスの写真にも似ていました。 そのような写真は、最大確率が低かった。
最大確率のしきい値を追加しました。 最終値が高い場合-分類器を信頼し、低い場合-手動検証のために写真を送信します。

その結果、写真サービスの結果

画像

次のようになります。

画像

まとめ


そのため、単純なモデルを使用して、パートナーの販売ポイントの1つで写真が撮影されたことを自動的に判断することを学びました。 これにより、ローン申請を承認する大規模なプロセスの一部を自動化することができました。

Source: https://habr.com/ru/post/J432056/


All Articles