120

Akismet は、スパム コメントの検出において素晴らしい仕事をします。しかし、最近のスパムはコメントだけではありません。ユーザーが自分の写真やアバターなどをアップロードできるようにするソーシャル ネットワーキング サイトで、ポルノ画像を自動的に検出する akismet のようなものが必要だとしたら?

すでにいくつかの画像ベースの検索エンジンと顔認識機能が利用可能になっているので、ロケット科学ではなく、実行できると思います. しかし、それがどのように機能するのか、ゼロから開発したい場合はどうすればよいのか、まったくわかりません。

どのように始めればよいですか?

これに関するオープンソース プロジェクトはありますか?

4

25 に答える 25

89

これは実際にはかなり簡単です。プログラムで肌の色を検出できます。ポルノ画像には肌がたくさんある傾向があります。これにより誤検知が発生しますが、これが問題である場合は、実際のモデレートによって検出された画像を渡すことができます。これにより、モデレーターの作業が大幅に削減されるだけでなく、無料のポルノがたくさん提供されます。それはwin-winです。

#!python    
import os, glob
from PIL import Image

def get_skin_ratio(im):
    im = im.crop((int(im.size[0]*0.2), int(im.size[1]*0.2), im.size[0]-int(im.size[0]*0.2), im.size[1]-int(im.size[1]*0.2)))
    skin = sum([count for count, rgb in im.getcolors(im.size[0]*im.size[1]) if rgb[0]>60 and rgb[1]<(rgb[0]*0.85) and rgb[2]<(rgb[0]*0.7) and rgb[1]>(rgb[0]*0.4) and rgb[2]>(rgb[0]*0.2)])
    return float(skin)/float(im.size[0]*im.size[1])

for image_dir in ('porn','clean'):
    for image_file in glob.glob(os.path.join(image_dir,"*.jpg")):
        skin_percent = get_skin_ratio(Image.open(image_file)) * 100
        if skin_percent>30:
            print "PORN {0} has {1:.0f}% skin".format(image_file, skin_percent)
        else:
            print "CLEAN {0} has {1:.0f}% skin".format(image_file, skin_percent)

このコードは、画像の中央の肌の色調を測定します。私は20の比較的飼いならされた「ポルノ」画像と20の完全に無実の画像でテストしました。これは、「ポルノ」の100%と、クリーンな画像の20個のうち4個にフラグを立てます。これはかなり高い偽陽性率ですが、スクリプトはかなり慎重になることを目的としており、さらに調整することができます。明るい、暗い、アジアの肌の色調で機能します。

誤検知の主な弱点は、砂や木のような茶色のオブジェクトであり、もちろん、「いたずら」と「素敵な」肉の違いを認識していません(フェイスショットなど)。

偽陰性の弱点は、肉が露出していない画像(革のボンデージなど)、塗装または入れ墨された皮膚、白黒画像などです。

ソースコードとサンプル画像

于 2009-06-17T09:04:29.773 に答える
45

ユーザーが悪い画像を報告できるようにしたいと思います。画像認識の開発には多大な労力と時間がかかり、人間の目ほど正確ではありません。そのモデレーションの仕事を外部委託する方がはるかに安上がりです。

見てみましょう: Amazon Mechanical Turk

アマゾン メカニカル ターク(MTurk) は、アマゾン ウェブ サービスのスイートの 1 つです。クラウドソーシング マーケットプレイスは、コンピューター プログラムが人間の知性を使用して、コンピューターが実行できないタスクを実行できるようにすることを可能にします。」

于 2009-04-03T09:42:41.500 に答える
15

ブーム!これは、アルゴリズムを含むホワイトペーパーです。

Java (または任意の言語) 実装のソース コードを入手できる場所を知っている人はいますか?

それは揺れるでしょう。

WISE と呼ばれる 1 つのアルゴリズムの精度は 98% ですが、誤検知率は 14% です。つまり、ユーザーが 2% の偽陰性にフラグを立て、理想的には特定の数のユーザーがフラグを立てた場合に自動的に削除され、モデレーターに 14% の偽陽性を表示させることです。

于 2009-12-05T23:20:49.037 に答える
9

Nude.jsは、De La Salle 大学の Rigan Ap- apid によるホワイトペーパーに基づいています。

于 2010-11-21T16:12:50.940 に答える
8

ポルノの可能性を検出するソフトウェアがありますが、これは厳密な科学ではありません。コンピュータは実際に何が写真に写っているのかを認識できないからです (写真はグリッド上の大きな値のセットであり、意味はありません)。例を挙げて、何がポルノで何がそうでないかをコンピューターに教えることができます。これには、これらの画像または類似の画像しか認識しないという欠点があります。

ポルノの反復的な性質を考えると、誤検知がほとんどないようにシステムをトレーニングすれば、チャンスは十分にあります。たとえば、ヌードの人でシステムをトレーニングすると、「ほぼ」裸の人がいるビーチの写真もポルノとしてフラグ付けされる場合があります。

同様のソフトウェアは、最近出てきた facebook ソフトウェアです。顔に特化したものばかりです。主な原則は同じです。

技術的には、ベイズ フィルタリングを利用するある種の特徴検出器を実装します。特徴検出器は、単純な検出器の場合、または保存された一連のポルノ画像と現在の画像の類似性を計算するだけの場合、肌色のピクセルの割合などの特徴を探すことができます。

もちろん、これはポルノに限ったことではなく、実際にはもっと特殊なケースです。より一般的なのは、画像内の他のものを見つけようとするシステムだと思います ;-)

于 2009-04-03T09:49:19.160 に答える
4

不快なリンクを追加し、問題のある画像の md5 (または他のハッシュ) を保存して、将来自動的にタグ付けできるようにします。

誰かがイメージ md5 の大規模な公開データベースと、Web サービスとして実行されている説明的なタグを持っていたら、どんなに素晴らしいでしょうか? 多くのポルノはオリジナル作品ではなく (現在それを持っている人はおそらくそれを作っていないという意味で)、人気のある画像はさまざまな場所に浮かぶ傾向があるため、これは本当に違いを生む可能性があります.

于 2009-04-03T12:35:33.880 に答える
4

短い答え: モデレーターを使用してください ;)

長い答え: ポルノとは何ですか? 脚のみ、全裸、小人など。主観です。

于 2009-04-03T09:42:31.173 に答える
2

あなたが本当に時間とお金を持っているなら:

これを行う1つの方法は、1)オブジェクトが人間であるかどうかを検出するための画像検出アルゴリズムを作成することです。これは、画像をビットマスキングして「輪郭」を取得し、輪郭が人間の輪郭に適合するかどうかを確認することで実行できます。

2)データは多くのポルノ画像をマイニングし、C4アルゴリズムや粒子群最適化などのデータマイニング技術を使用して、ポルノ画像に一致するパターンの検出を学習します。

これには、人体の裸の男性/女性の輪郭がデジタル化された形式でどのように見える必要があるかを特定する必要があります(これは、OCR画像認識アルゴリズムが機能するのと同じ方法で実現できます)。

あなたが楽しむことを望む!:-)

于 2010-02-01T20:02:00.580 に答える
2

主な障害は「ポルノ画像」を定義することだと私には思えます。簡単に定義できれば、おそらくうまくいくものを書くことができるでしょう。しかし、ポルノとは何かについては、人間でさえ同意できません。アプリケーションはどのように認識しますか? ユーザーのモデレーションはおそらく最善の策です。

于 2011-05-24T02:09:35.610 に答える
1

ポルノ画像の検出は、まだ明確な AI タスクであり、まだ非常に理論的です。

「スパム/不正行為を報告する」ボタン/リンクを追加して、集団の力と人間の知性を獲得してください。または、この仕事をするために複数のモデレーターを雇います。

PS ソフトウェアやアルゴリズムは万能であると仮定して、自分のやりたいことができるかどうかさえ考えずに質問をする人の多さに本当に驚きました。彼らは、ハードウェア、低レベルのプログラミング、およびその背後にあるすべての「魔法」を理解していない、その新しい種類のプログラマーの代表ですか?

PS#2。また、写真がポルノなのかアートなのかを判断できない状況が定期的に発生することも覚えています。裁判所が判決を下した後でも、半数の人がその決定を間違っていると考える可能性があります。この種の最後のばかげた状況はごく最近のことで、イギリスでウィキペディアのページが、CD ジャケットの画像に裸が含まれていたために禁止されました。

于 2009-04-03T10:07:22.707 に答える
1

非常にシンプルだが非常に効果的なアルゴリズムを使用しているツールについて聞いたことがあります。アルゴリズムは、いくつかの定義済みの「肌」色に近い色値を持つピクセルの相対的な量を計算しました。その量が事前定義された値よりも高い場合、画像はエロティック/ポルノ コンテンツであると見なされます。もちろん、そのアルゴリズムは、クローズアップの顔写真やその他多くのものに対して偽陽性の結果をもたらします.
ソーシャル ネットワーキングについて書いているので、肌の色が多い「通常の」写真がたくさんあるので、このアルゴリズムを使用してすべての写真を否定して肯定的な結果を得るべきではありません。ただし、モデレーターにいくつかのヘルプを提供するために使用できます。たとえば、これらの写真に優先度の高いフラグを立てたり、

于 2009-09-29T06:51:00.040 に答える
1

私が考えることができる2つのオプション(ただし、どちらもプログラムでポルノを検出していません):

  1. 管理者の 1 人が確認するまで、アップロードされたすべての画像をブロックします。これに長い時間がかかる理由はありません。1 秒間に 10 枚の画像をほとんど映画のように表示するソフトウェアを作成できます。この速度でも、人間がポルノの可能性のある画像を簡単に見つけることができます。次に、このソフトウェアで巻き戻し、よく見てください。
  2. 通常の「この画像を不適切としてフラグを立てる」オプションを追加します。
于 2009-04-03T12:53:15.163 に答える
1

BrightCloud Web サービス APIは、これに最適です。これは、このように Web サイトのルックアップを行うための REST API です。非常に大規模で非常に正確な Web フィルタリング DB が含まれており、カテゴリの 1 つであるアダルトには、1,000 万を超えるポルノ サイトが特定されています。

于 2009-09-29T06:35:20.633 に答える
1

これは有望に見えます。基本的に、彼らは肌を検出し(顔を認識することによるキャリブレーションを使用)、「肌のパス」を決定します(つまり、肌のピクセルと顔の肌のピクセル/肌のピクセルの比率を測定します)。これはそれなりの性能です。 http://www.prip.tuwien.ac.at/people/julian/skin-detection

于 2010-04-28T09:56:26.983 に答える
1

ポルノ画像のフィルタリングを行う Web フィルタリング アプリケーションを見たことがありますが、名前を思い出せません。誤検知がかなり発生しやすかったのですが、ほとんどの場合は機能していました。

主なトリックは「写真の肌が多すぎる」ことを検出することだと思います:)

于 2009-04-03T10:01:43.640 に答える
0

私は今日、その速記の説明に含まれると私が理解している種類の資料をさらに定義しようとはしません[「ハードコアポルノ」]。そしておそらく私は理解できるようにそうすることに成功することができなかったでしょう。でもそれを見るとわかりますし、今回の映画はそうではありません。

アメリカ合衆国最高裁判所ジャスティスポッタースチュワート、1964年

于 2009-12-05T23:24:33.257 に答える
0

ファイル名と属性を見てください。いたずらな画像の 20% を検出するのに十分な情報はほとんどありませんが、単純なキーワード ブラックリストを使用すれば、少なくとも説明的なラベルまたはメタデータを含む画像を検出できます。20% の成功率で 20 分間のコーディングを行うことは悪いことではありません。特に、審査のためにモデレーターに残りを渡す前に、少なくともいくつかの単純なものをキャッチできる事前スクリーニングとしてはなおさらです。

もう 1 つの便利なトリックは、もちろん逆で、画像ソースのホワイトリストを維持して、モデレートやチェックなしで許可することです。ほとんどの画像が既知の安全なアップローダまたはソースからのものである場合は、それらを拘束力なく受け入れることができます。

于 2009-04-03T10:41:55.400 に答える
0

これはヌード検出器です。私はそれを試していません。それは私が見つけることができる唯一の OSS です。

https://code.google.com/p/nudetech

于 2013-08-07T16:25:45.263 に答える
0

それはロケット科学ではありません。もう違います。顔認証とよく似ています。機械学習を使うのが一番簡単だと思います。私たちは画像を扱っているので、ニューラルネットワークを指し示すことができます。トレーニングデータが必要です。また、インターネット上で大量のトレーニング データを見つけることができますが、アルゴリズムに検出させたい特定の部分に合わせて画像をトリミングする必要があります。もちろん、問題をさまざまな体の部分に分割して検出し、それぞれのトレーニング データを作成する必要があります。これが面白いところです。

上記の誰かが言ったように、100% パーセンテージで実行することはできません。そのようなアルゴリズムが失敗する場合があります。実際の精度は、トレーニング データ、ニューラル ネットワークの構造、およびトレーニング データ (陰茎、膣、乳房など、およびそれらの組み合わせ) をどのようにクラスター化するかによって決まります。いずれにせよ、これは露骨なポルノ画像に対して高い精度で達成できると確信しています。

于 2013-01-19T12:13:15.887 に答える
0

ネット上には、この主題を扱った多くのホワイトペーパーがあります。

于 2012-01-01T19:51:19.833 に答える