Slide 1

Slide 1 text

図面中の風船番号の 読み取りについて Amazon Rekognitionと Claude 3.5 Sonnetの 画像認識の検証 Bedrock Night in 大阪 (JAWS-UG AI/ML×大阪×東京支部コラボ) 2024/07/30(火) 長田英幸 Image of a silver bird flying swiftly with the power of AI / Amazon Titan Image Generator G1 01/26

Slide 2

Slide 2 text

目次 • 自己紹介 • 会社紹介 • 業務でも生成AIに携わってみたい! • WebパーツカタログDX「座標鳥」 • 専門用語の説明 • Webパーツリスト座標鳥に必要なデータ • 図面の画像と座標鳥xml • 自動的に取得できない場合は・・・ • AWS SAさんとお話する機会にて • 座標鳥xml取得の完全自動化の要件 • Amazon Rekognitionの場合 • Amazon Rekognitionの結果 • Amazon Textractの場合 • Amazon Textractの結果 • Amazon BedrockのClaude 3.5 Sonnetの場合 • Claude 3.5 Sonnetの結果 • 指示が悪かったです。 • プロンプトで試行錯誤 • Claude 3.5 Sonetにプロンプトを相談 • 回答されたプロンプトの詳細 • 回答されたプロンプトで試す • 回答されたプロンプトで試した結果 • 結果は失敗でした。 • まとめ 合計 26スライド 02/26

Slide 3

Slide 3 text

自己紹介 https://www.credly.com/users/hideyuki-nagata/badges https://www.openbadge- global.com/ns/portal/openbadge/public/assertions/detail/NFBleitqc0F0S21QNkhrZEU4QUZqdz09 長田英幸(ながたひでゆき) 趣味で、スマートスピーカーAmazon Alexa等のスキルを、 個人開発しています。大阪在住のWebプログラマ。 夢は会話型AIの開発。 noteアカウント https://note.com/hideyukinagata 大阪駆動開発コミュニティやJAWS-UGの 勉強会によく参加しています。 最近は、kintoneに興味を持っています。 03/26

Slide 4

Slide 4 text

会社紹介 デジタル総合印刷株式会社 https://www.dps-company.jp/ 印刷から始まった会社です。 マニュアルやドキュメント類の制作、 一般的なWEBサイト開発を始め、 WEBパーツリスト等の業務システム開発、 3Dソリューションも扱っています。 この生成AI時代、LLMの次は扱う「データ」こそが鍵になるそうです。 印刷物、ドキュメントを扱う会社ですので、伸びしろしかないと思っています (宣伝)。 04/26

Slide 5

Slide 5 text

業務でも生成AIに携わってみたい! まずは担当業務の困りごとを AWSの生成AIで解決する事を目指しました。 PoC(Proof of Concept:概念実証) として試してみたのは、 05/26

Slide 6

Slide 6 text

WebパーツカタログDX「座標鳥」 座標鳥は製品のアフターサービスに必要な膨大な部品番号を図面から一括でデータ化し、 Webパーツカタログに素早く展開できる世界でも数少ないシステムです。 ※ パーツリストと呼ばれる事もあります。 06/26

Slide 7

Slide 7 text

専門用語の説明 ①風船番号 組立図などの図面につけられる番号。 部品名が記載されたリスト表と紐づける為。 丸付き数字だったり、枝番付きだったり様々。 ②境界ボックス (バウンディングボックス bounding box) 画像内の文字や単語の位置と大きさを示す矩形の枠 https://docs.aws.amazon.com/ja_jp/textract/latest/dg/text- location.html より 07/26

Slide 8

Slide 8 text

Webパーツリスト座標鳥に必要なデータ LAMP環境 PHP、Laravel データベース (MySQL等) jQuery 座標鳥コア (JavaScript) ※ いつかサーバーレス化、SaaS化を実現したい 座標鳥xmlの生成を自動化したい xmlファイル 08/26

Slide 9

Slide 9 text

図面の画像と座標鳥xml 09/26

Slide 10

Slide 10 text

自動的に取得できない場合は・・・ もちろん、自動的に取得する仕組みはあります。 しかし、自動的に取得出来ない場合は、専任の担当者の方により、 マウス操作・手入力で一つ一つ座標位置を取得していっています。 生成AIなら、この問題を華麗に解決してくれるのでは と期待しました。 10/26

Slide 11

Slide 11 text

AWS SAさんとお話する機会にて ■風船番号の位置情報をAWSサービスで自動生成する件 Amazon Rekognitionの他に、同様のサービスでAmazon Textractがある。 https://aws.amazon.com/jp/textract/ マネージドサービスなので、より精度を求めるなら、オープンソース PaddleOCRをAmazon SageMakerで学習させて、 より精度を高めていく必要(ファインチューニング)があります。 https://github.com/PaddlePaddle/PaddleOCR Claude 3時点の情報だが、文字の読み取りは出来るけど、 図面の風船番号の位置の認識は、無理かもしれないです。 ■GenUのご紹介 Generative AI Use Cases JP (略称:GenU) https://github.com/aws-samples/generative-ai-use-cases-jp 11/26

Slide 12

Slide 12 text

座標鳥xml取得の完全自動化の要件 ①風船番号のバリエーションに対応する 数字のみ、丸付き数字、枝番付き数字に対応する必要がある ②セキュリティ要件を満たす お客様の大事な「図面」をお預かりするので、 『国内にデータを留めたい』というご要望がある場合は、遵守する必要がある → AWSの東京リージョンで使えるサービスのみで実現する方が望ましい 12/26

Slide 13

Slide 13 text

Amazon Rekognitionの場合 Amazon Rekognition 機械学習を使用して画像認識と動画分析を 自動化し、コストを削減 https://aws.amazon.com/jp/rekognition/ Boto3(AWS SDK for Python)で処理を回して、 S3に成形した、座標鳥xmlの出力を想定 13/26

Slide 14

Slide 14 text

Amazon Rekognitionの結果 Amazon Rekognition > イメージ内のテキスト > レスポンス 東京リージョンも可 14/26

Slide 15

Slide 15 text

Amazon Textractの場合 Boto3(AWS SDK for Python)で処理を回して、 S3に成形した、座標鳥xmlの出力を想定 Amazon Textract 機械学習を使用して画像認識と動画分析を自動化 し、コストを削減 https://aws.amazon.com/jp/textract/ 15/26

Slide 16

Slide 16 text

Amazon Textractの結果 東京リージョンは不可 16/26

Slide 17

Slide 17 text

Amazon BedrockのClaude 3.5 Sonnetの場合 日経クロステック AWSが東京リージョンで「Claude 3」を提供へ、生成AIの 強化を発表 https://xtech.nikkei.com/atcl/nxt/column/18/02875/062000003/ Anthropic社の Claude 3.5 Sonnetモデル 米国東部 (バージニア北部)リージョン Claude 3.5 Sonnet は、画像の処理、特にチャートとグラフの解釈において優れ た機能を発揮します。不完全な画像からテキストを正確に書き起こします。これ は、小売、物流、金融サービスなどの業界の中核的な機能であり、テキストのみ の場合と比較して、グラフィックやイラストからより多くのインサイトを得られ るようにします。 Boto3(AWS SDK for Python)で処理を回して、 S3に成形した、座標鳥xmlの出力を想定 17/26

Slide 18

Slide 18 text

Claude 3.5 Sonnetの結果 18/26

Slide 19

Slide 19 text

指示が悪かったです。 19/26

Slide 20

Slide 20 text

プロンプトで試行錯誤 プロンプト(AIモデルに与える指示や入力)をどう書けば、 やりたい事が実現できるか分からない。 破れかぶれで、プロンプト自体を生成AIに相談しました。 「Claude 3.5 SonnetのOCR機能で、画像に含まれる文字列と、 その文字列のBounding Boxの位置を出力するプロンプトを考 えてください。」 20/26

Slide 21

Slide 21 text

Claude 3.5 Sonetにプロンプトを相談 21/26

Slide 22

Slide 22 text

回答されたプロンプトの詳細 以下のようなプロンプトを使用して、Claude 3.5 SonnetのOCR機能で画像内の文字列とそのBounding Boxの位置を取 得できます: ``` Please analyze the given image and perform the following tasks: 1. Identify all text content present in the image. 2. For each piece of text identified, provide: a) The exact text string b) The coordinates of its bounding box in the format: [top_left_x, top_left_y, bottom_right_x, bottom_right_y] Present the results in a structured format as follows: Text: [text_string] Bounding Box: [top_left_x, top_left_y, bottom_right_x, bottom_right_y] Repeat this for all text elements found in the image. If no text is found, please state "No text detected in the image." ``` このプロンプトを使用することで、Claude 3.5 Sonnetは画像内のテキストを識別し、各テキスト要素の正確な文字列と その周囲のバウンディングボックスの座標を提供します。結果は指定された形式で表示されます。 画像をアップロードした後、このプロンプトを送信すると、Claude 3.5 Sonnetは要求された情報を提供するはずです。 ただし、OCRの精度は画像の品質や複雑さによって異なる場合があることに注意してください。 22/26

Slide 23

Slide 23 text

回答されたプロンプトで試す 23/26

Slide 24

Slide 24 text

回答されたプロンプトで試した結果 24/26

Slide 25

Slide 25 text

結果は失敗でした。 25/26

Slide 26

Slide 26 text

まとめ • 業務としては、Amazon RekognitionもしくはAmazon Textractをより比較検討して、 プログラム開発を進めた方が良さそう。 • 上記で精度が難しい場合は、教えていただいたPaddleOCRを試していく。 • 生成AIで画像認識させる場合は、プロンプトの工夫が出来れば、もっと良い結果が出るのでしょうか。 • 弊社の全社員が「Generative AI Use Cases JP (略称:GenU)」を通して生成AIに親しみ、 生成AIの「Biz→Dev→ML」が実現できるよう、構築作業を進めていきます。 • 「AWSジャパン生成AI実用化推進プログラム」も気になってます。 オレ達はようやくのぼりはじめたばかりだからな このはてしなく遠い『生成AI』坂をよ! ~未完~ 26/26