無料で児童ポルノ画像を検出する
先月、Microsoft が PhotoDNA と呼ぶ類似画像を検出できるクラウドサービスを 無償公開しました。主に児童ポルノ画像を検出のため使われており、過去に摘発された違法画像のデータベースに含まれている画像かどうか API で調べることができます。Microsoft のサービスだけでなく、Google・Facebook・Twitter などでも利用されているようです。
準備
はじめに、無料で使えますが、Microsoft による審査があること、そして Azure のアカウントが必要です。
Azure ポータル から、新規に Marketplace の「Microsot PhotoDNA Cloud Service」を、追加します。
追加後、同じく Azure ポータルのダッシュボードの「管理」から、PhotoDNA の利用申請が行える Manage Add-Ons ページへ移動できます。
審査に必要な項目は、個人情報の他、PhotoDNA の利用を検討しているサービスや製品の説明、どのように PhotoDNA を利用するか、NCMEC (National Center for Missing & Exploited Children) や ICMEC(児童失踪・児童虐待国際センター)などの機関と協力しているか、適切な機関に違法画像を報告する手順などの記載も求められています。
API の利用
API の利用は非常に簡単です(私は実際に API を利用する資格を持っていません)。
RESTful API で、画像の URL または、画像を base64 でエンコードした値をリクエスト URL に渡すと、データベースの画像と一致したかどうか結果を得られます。
ちなみに、“児童ポルノ画像ではないがデータベースにはマッチする” サンプル画像を使って動作確認できます。
リクエスト
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"DataRepresentation": "URL", | |
"Value": "https://wbintcvsstorage.blob.core.windows.net/matchedimages/img_130.jpg" | |
} |
レスポンス
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"ContentId": "TestId", | |
"IsMatch": true, | |
"MatchDetails": { | |
"AdvancedInfo": [], | |
"MatchFlags": [ | |
{ | |
"AdvancedInfo": [ | |
{ | |
"Key": "MatchId", | |
"Value": "104149" | |
} | |
], | |
"Source": "Test" | |
} | |
] | |
}, | |
"Status": { | |
"Code": 3000, | |
"Description": "OK", | |
"Exception": null | |
}, | |
"TrackingId": "1_photodna_a0e3d02b-1a0a-4b38-827f-764acd288c25" | |
} |
詳しくは、ドキュメント を参照してください。
おわりに
画像を投稿できるサービスを運営している方は、知っておくと良いかもしれません。ただ、子供を守ることを主体にした Microsoft による社会的な取り組みのひとつでもあるので、サービスの質の向上に直結するものではありません。
皆さんが求めているのは、18禁や15禁画像の検出かもしれませんね。実は、同じく Microsoft の Azure Marketplace に展開するサービスで、Project Oxford Computer Vision API(画像認識 API)を利用すると、そのような情報も取得できます。ただし、現在はベータ版で、無料で月5000トランザクションまでのプランしかありません。
Vision API の利用は、記事「食べ物の画像にモザイクをかける API と Chrome 拡張を作ってみた」も参照してみてください。