AI生成かどうかを判定する「Hive Moderation AI-GENERATED CONTENT DETECTION」にDALL·E 3やFLUX.1、ImageFX等の生成画像を判定させてみた

[Supership](https://supership.jp/)の名畑です。らんま1/2、放送も近づいてきて、[新PV](https://www.youtube.com/watch?v=ux3HwkNff8Q)も公開されて、テンションが上がってきました。やっぱりシャンプーは最高。[猫飯店メニュー・ソング](https://open.spotify.com/intl-ja/track/08Hq136dD8WW4kt36OWVVf)を人生でどれだけ聴いただろう。

## はじめに

約1年前に「[画像がAI生成か否かを判定するWebサービス「AI or Not」と「AI-GENERATED CONTENT DETECTION」にAI生成した画像群を読み込ませてみた](https://qiita.com/nabata/items/9c3c6dde9a10bcacbc8c)という記事を書きました。
以下2つの**AIであるか判定するツール**にAI生成した画像群を判定させるという内容でした。

- [AI or Not](https://www.aiornot.com/)
- [Hive Moderation AI-GENERATED CONTENT DETECTION](https://hivemoderation.com/ai-generated-content-detection)

[Hive](https://thehive.ai/)による**Hive Moderation AI-GENERATED CONTENT DETECTION**の方が当時の検出率は高かったです。

あれから1年経ちましたので、再度、AI生成した画像をAI判定ツールにかけてみたというのが今回の記事となります。

ただし、前回と趣向を変えて

- AI画像生成に使うツールそのものを複数用意する
	- [DALL·E 3](https://openai.com/index/dall-e-3/)
	- [FLUX.1[dev]](https://huggingface.co/black-forest-labs/FLUX.1-dev)
	- [ImageFX](https://aitestkitchen.withgoogle.com/tools/image-fx)
	- [Stable Diffusion](https://ja.stability.ai/stable-diffusion)
	- [Firefly](https://www.adobe.com/jp/products/firefly.html)
- 判定には**Hive Moderation AI-GENERATED CONTENT DETECTION**のみを用いる

としています。

## 前提

生成AIの分野では[コンテンツ認証情報](https://contentcredentials.org/)(Content Credentials)というものが普及し始めています。

> 生成 AI モデルによるコンテンツの品質が向上するにつれ、AI が生成したコンテンツの起源に関する透明性の必要も高まっています。 Azure OpenAI Service を使用して AI 生成したすべての画像に、コンテンツの起源と履歴を開示するための改ざん防止の手法であるコンテンツ認証情報が含まれるようになりました。 コンテンツ資格情報は、共同開発財団プロジェクトである Coalition for Content Provenance and Authenticity (C2PA) のオープンな技術仕様に基づいています。
> 
> 参考：[Azure OpenAI のコンテンツ資格情報 - Azure OpenAI | Microsoft Learn](https://learn.microsoft.com/ja-jp/azure/ai-services/openai/concepts/content-credentials)

今回使用した画像にもこのコンテンツ認証情報が含まれるものがいくつかあるのですが、判定結果がイコールとはならないケースが多かったです。
たとえば、[Adobe](https://www.adobe.com/)の**Firefly**にてWeb上で生成した画像はコンテンツ認証情報が含まれますが、それでもAI生成の確率は低いと判定されました。

そのため、本記事ではコンテンツ認証情報については触れずに進めています。

また、今回の記事ではそれぞれの画像生成ツール毎に2枚〜3枚の画像しか掲載していませんが、実際にはもう少し多くの枚数で試しており、ただし傾向としては同様でしたので抜粋としています。

## DALL·E 3

まずは[OpenAI](https://openai.com/)による**DALL·E 3**の画像をいくつか判定にかけてみました。[ChatGPT](https://openai.com/chatgpt/)にプロンプトを投げて生成したものです。

![de-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/b0dd75db-3da9-2e87-86bc-88426c503fd4.png)

![de-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/c552ac1c-a481-86ca-580b-6cef08b637d9.png)

![de-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/0a91c3ad-65ca-b65b-0785-610a50e7344f.png)

ラベリングは正しくないものもありますが、どれも99%以上の高スコアでAIと判定されました。正解です。

まあ、見るからにAI絵ですよね。

余談ですが、最近「**この絵ってAIっぽいよね**」みたいな言葉をよく聞くようになりましたが、人間はなにをもってそれをAIっぽいと判断しているのでしょうね。

## FLUX.1[dev]

次は[Black Forest Labs](https://blackforestlabs.ai/)による **FLUX.1[dev]** で生成した画像を判定にかけてみました。画像は過去記事「[Stable Diffusionのオリジナル開発陣が発表した画像生成AIモデルFLUX.1([dev]/[schnell])をMacBook(M2)で動かしてみた](https://qiita.com/nabata/items/ed97f7238f13bd4450a3)」で生成したものです。

![flux-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/18c1e701-fd8d-ffe9-ecb8-4755169afce3.png)

![flux-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/0273f777-1bfa-fe89-c1ca-fe2e64b622ae.png)

はい、こちらも99%以上の高確率でAIと判定されました。

## ImageFX

そのリアリティでかなり話題になっているGoogleの**ImageFX**で生成した画像でも試してみます。

![fx-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/81fdeabd-5fa1-a5c1-fdc1-2cd53b13df07.png)

![fx-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/2e768528-9c14-26cb-e2be-dedd58a3af3c.png)

一枚目は90%を切りましたが、やはり高確率でAIと判定されました。

余談ですが、人物写真の品質は、話題になるだけあって本当にすごい。
私の目ではもうAIだと言われても疑ってしまうレベルです。

## Stable Diffusion

次は[Stability AI](https://ja.stability.ai/)の**Stable Diffusion**です。画像は過去記事「[スペリング能力が向上したStable Diffusion 3で文字を含む画像を生成してみた(DALL·E 3との比較もしてみた)](https://qiita.com/nabata/items/82049ed5c7115cad04be)」で生成したものです。

![sd-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/899d493b-eea3-84a4-4d5d-ad8a16f5471a.png)

![sd-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/ae62eb90-a418-2eae-b5bd-973e7f4d2085.png)

やはり同じく、AIと判定されました。

### Image to Imageでやってみる

ここまですべて99%以上の確率でのAIと判定されたため、さらに趣向を変えてみようと思います。

画像生成では元画像を指定することが可能です。いわゆる**Image to Image**です。
つまり、元の画像をAIで加工していく。
そうやって生成した画像を判定にかけてみようと思います。

まず、私が某所で撮影した写真が以下です。容量が重いので縮小しています。

![original.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/2836d2cd-34d8-beb1-70aa-9156c041dd10.jpeg)

この写真に対して同じく**Stable Diffusion 3 Large**を用いて**image to image**で「**Night view of buildings**」というプロンプトを投げてみます。
その際にプロンプトをどれだけ反映するかを**0.0〜1.0**の数値で指定できます。**1.0**に近づくほどに元画像から遠ざかります。
この数値を段階的に変えつつ画像を生成し、それぞれを判定にかけてみます。

### 元画像のまま

![sd_original.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/aa589115-d2e4-fc74-0019-0c69de05256c.png)

はい、ほぼ0でした。

### strength 0.3(元画像が0.7)

![sd_0_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/b5153056-b87c-8666-f4b3-ecf29081cec5.png)

0.2%だけ上昇しましたが、まだほぼ0です。

### strength 0.5(元画像が0.5)

![sd_0_5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/b0cd6249-1d04-43e0-6c66-074018f47595.png)

二桁に乗りました。

### strength 0.7(元画像が0.3)

![sd_0_7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/a44786bc-ab41-00a8-eb65-453fe8865002.png)

50%に迫ってきました。

### strength 0.9(元画像が0.1)

![sd_0_9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/3843e3fc-2aa3-07ba-8f27-a13af02feafe.png)

50%を超えました。

画像の加工度合いに比例して確率が上昇していますね。

## Firefly

最後にAdobeの**Firefly**です。

こちらも趣向を変えてみます。

### 空を中心に変えてみた

[Photoshop](https://www.adobe.com/jp/creativecloud/roc/products/photoshop/beginner.html)を用いて、先ほどの夜景の画像について**空を中心にAI生成**してみました。Photoshopの生成塗りつぶしについて詳しくは過去記事「[「食パンをくわえて走る女子高生」の画像をAdobe Photoshopを使ってAI生成してみた](https://qiita.com/nabata/items/73c23b3bf7b393825b8f)」をご覧ください。

以下の画像です。上半分だけAI生成です。下半分は元画像と変わっていません。

![ps_original_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/f2c2392e-2b22-95b7-b906-9bf09c9e315a.jpeg)

判定結果は以下です。

![ps-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/588ff9d0-ec5a-ffaf-0710-b303857e627a.png)

0.1%です。かなり低確率ですね。

### 川を中心に変えてみた

今度は逆で、上半分をそのままにして下半分をAI生成してみました。以下の画像です。

![ps_original_2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/df6753a2-c249-a9eb-f0c0-f40ccc48e76c.jpeg)

判定結果は以下です。

![ps-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/d55a4b13-84a3-c66b-af72-43295447fec4.png)

やはり低確率です。

### 100%AI生成の画像で判定してみた。

**Firefly**にプロンプトを指定して生成した画像でも判定してみました。
つまり，完全にAI生成な画像です。

画像は以下です。こちらも縮小しています。

![ps_original_3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/ec23dd9d-6baf-43a3-a520-ccb48fc7ba25.jpeg)

結果は以下です。

![ps-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869934/53e24ae0-cbe9-f97d-0994-5e198ac65d87.png)

1%は超えましたが、やはり低確率判定です。

**AI-GENERATED CONTENT DETECTION**の判定対象に**Firefly**はあるのですが、最新の生成ロジックにはまだ追随していないのでしょうか。それとも、**Firefly**だけはなにか根本的に異なるのか。

## 最後に

一つの基準にはなれど、正確に見抜くのは難しいのだと実感しました。

前も書きましたが、そもそもとしてこれだけ世の中のデジタルツールにAIが組み込まれた現在においては「**AIかそうでないか**」を判定しようとする行為自体に無理があるのかもしれませんが。

## 宣伝

[SupershipのQiita Organization](https://qiita.com/organizations/supership-inc)を合わせてご覧いただけますと嬉しいです。他のメンバーの記事も多数あります。

Supershipではプロダクト開発やサービス開発に関わる方を絶賛募集しております。
興味がある方は[Supership株式会社 採用サイト](https://supership.jp/recruit/)よりご確認ください。