top of page

Google Colabで、Google Gemini(AI)のプログラミング解説、初心者用(#4)(2つの画像のAI推論)

更新日:2月15日

Google Geminiに、少し慣れてくると、AIに行わせてみたいプログラムのアイディアが、少しずつ私の頭に浮かんできます。今回は、AIに2つの画像を提供して、その画像の「共通点」「相違点」を教えてもらうプログラムを考えてみました。


今回も、Google Colabを使い、初心者にわかるように、説明します。もちろん、私(本間 充)も、Google Geminiのプログラムは初心者なので、安心してください。


2つの画像の共通点・相違点をAI推移論させるGoogle Geminiのプログラム


まずは、Google Geminiの初期設定


この部分は、今回までと全く違いはありません。今回、こ「本間 充/マーケティングサイエンスラボ所長Blog」を初めて訪問された方には、「Google Colabで、Google Gemini(AI)のプログラミング解説、初心者用(#2)」に、初期設定の方法を書いてあるので、参考にしてください。


もう、慣れてきたので、初期設定は、コード欄に、以下のプログラムを書きましょう。

# パッケージのインストール
!pip install -q -U google-generativeai

import pathlib
import textwrap
import google.generativeai as genai
from google.colab import userdata
from IPython.display import display
from IPython.display import Markdown

# Markdown出力
def to_markdown(text):
    text = text.replace("•", "  *")
    return Markdown(textwrap.indent(text, "> ", predicate=lambda _: True))

# APIキーの準備
GOOGLE_API_KEY=userdata.get("GOOGLE_API_KEY")
genai.configure(api_key=GOOGLE_API_KEY)

サンプル画像の準備

画像は、皆さんが自分の画像を使っても良いのですが、私が好きなビールの画像を2つ用意しました。

sample-1.jpg
sample-1.jpg

sample-2.jpg
sample-2.jpg

この2つの画像を、ダウンロードして、それぞれ、[sample-1.jpg][sample-2.jpg]と保存して、Google Colabのデータ・フォルダーに同じファイル名でuploadしておきましょう。


画像の、Google Colabへのアップロードの方法は、「Google Colabで、Google Gemini(AI)のプログラミング解説、初心者用(#3)」で、説明していますので、参考にしてください。


なお、Google Colabでは、プログラムのセッションを終了ともに、使用したファイルは、消去されるので、このプログラムを数日経って、実行する場合は、ファイルは再度uploadしてくださいね。


画像の読み込みと確認

では、Google ColabのプログラムWindowに戻って、Google Geminiのプログラミングを続けましょう。


テキスト欄に、

画像の読み込み。画像はimagesという配列に格納。

コード欄に、

from PIL import Image

# 画像の読み込み
images = [
    Image.open("sample-1.jpg"),
    Image.open("sample-2.jpg")
]

from IPython.display import display
display(*images)

と、入力しましょう。


Google Gemini のモデルの準備

次に、AIのモデルの読み込みです。

テキスト欄に、

モデルの準備。

コード欄に、

# モデルの読み込み
model = genai.GenerativeModel('gemini-pro-vision')

と入力しましょう。


2つの画像の共通点の推論実行

いよいよ、本題の推論の実行プログラムです。このプログラムでは、Pythonを使ってプログラミングしているので、配列は[*]という文字を使えば、配列数が何個か知らなくても、プログラムが書けます。まぁ、この場合は、配列は、0番目と1番目の2個しか使っていないのですけどね。


テキスト欄に、

2つの画像の共通点の推論の実行。

コード欄に、

# 推論の実行
response = model.generate_content([
    "この2つの画像の共通点を教えてください",
    *images
], stream=True)
response.resolve()
to_markdown(response.text)

と、入力しておきましょう。


2つの画像の相違点の推論実行

続いて、相違点の指示をプログラムするのですが、AIの面白いところは、このような昔のC言語やPerl言語では、難しいプログラムを、日本語という「自然言語」で行えるところですね。


テキスト欄に、

2つの画像の相違点の推論の実行。

コード欄に、

response = model.generate_content([
    "この2つの画像の違いを教えてください",
    *images
], stream=True)
response.resolve()
to_markdown(response.text)

と、入力。これで、プログラミング終了です!


2つの画像の共通点・相違点をAI推移論させるGoogle Geminiのプログラムの実行イメージ


さぁ、ではいつものように、プログラムを上の方から、順番に「三角」ボタンを押して、実行させていきましょう。

私の実行イメージのスクリーン・ショットを残しておきますが、AIは、実行するタイミングで、推論が異なるので、皆さんの推論結果と必ずしも同じではありません。参考程度に、確認してください。


Google Geminiで2つの画像の推論を行わせた例
Google Geminiで2つの画像の推論を行わせた例

次回は、「Google Colabで、Google Gemini(AI)のプログラミング解説、初心者用(#5)」で、インターネット(Web)に公開されている画像を、Google Geminiに分析させるプログラムに挑戦します。

閲覧数:72回0件のコメント
bottom of page