皆さんこんにちは!
最近、半年で2回引っ越しを経験して引っ越しの要領を掴み始めているSRA東北の茂泉です。#引っ越し業者にはならないよ
さて、SRA東北では日々様々な研究テーマをもとにAIの学習データの開発、AIの学習、AIの評価を行っております。本日はその中から1つ事例をご紹介させていただきたいと思います。何かのご参考になりましたら幸いです。それでは最後までお付き合いください!
AIで画像の中から特定の値だけを抽出できるのか?
今回のテーマは、AIで画像の中から特定の値だけを抽出できるのか?です。最近紙やPDF等のデータから特定の情報を抜き出したいというご要望を頂くことが増えてきました。各企業様でデジタル化の促進がマストとなってきている昨今、働き方改革の影響もあり普段の業務の自動化がテーマになっておられる方も多いかと思います。
そこで、今回題材にしたのがテストの問題用紙です!最近いとこの男の子がテストの問題用紙を見せくれた時に、ふと自分の幼少期の頃を思い出し、そして小学校の先生の顔を思い浮かべた時に、この解答をAIで抽出してみたい!と突然思い立ったので(笑)、今回の題材にさせていただきました!一般的な帳票のようなものも同じように解析することが可能ですので、頭の中で置き換えてご覧ください。※本編の中で使用している問題用紙はサンプルです。
エンジニアMさんとAI博士のやり取りを通して3パターンの実現方法をご紹介させていただきます。掛け合いもお楽しみいただきたながらご一読いただければと思います。(笑)
トライ1 AIが問題用紙の解答欄を抽出できるか?

お客様から問題用紙の解答部分をAIを活用して自動で抜き出せないかって依頼があったんだけど、できそうかな?問題用紙のフォーマットはお客様からもらっているんだよね。解答欄が青色の枠で囲まれてる部分が多いから、青色の枠を画像AIを使って学習させてそこから値を読み取れないかなって思ってるんだよ!もらったフォーマットはこんな感じだよ。

何事もとりあえずやってみるんじゃよ!PDFを画像に変換してからAzureのCustom Visionで青の枠をAIに学習させてみてはどうかの?なるべく学習させる数は多い方がよいぞ。
AIに学習させる箇所と抽出する箇所のイメージはこんな感じじゃ。

AzureのCustom Visionなら使ったことがあるから、実際に学習させて抽出までやってみるよ!
・
・
・
さっそくタグ付け始めるぞー!
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
タグ1000か所目
・
・
・
つ、続きは明日やろう。。
・
・
・
(翌日)
・
・
・
タグ付けがやっと終わったぞー!さっそくAIをトレーニングしてみるぞ!
・
・
・
Custom Vision で画像を学習中
・
・
・
学習中
・
・
学習中
・
・
学習中
・
・
・
・
・
チーン!
学習完了!!!

タグ付けはやっぱり大変だね。。なんとか終わったよ!
こんな感じで青の枠で囲まれている解答欄を抽出することができたよ!

お疲れ様じゃな。んん?確かに青色の解答欄を抽出することには成功しておるようじゃが、枠に囲まれていない解答欄の抽出には失敗しておるようじゃぞ。

あれー!動いたのがうれしすぎて、気づかなかった。。くそー!上手くいったと思ったのになー!

すまぬ、すまぬ。わしも見逃しておったわ。ただ気づかないおぬしも悪いわな。(笑)
すべての解答が青色の枠で囲まれている問題用紙ならよかったかもしれんが、例外的なフォーマットの部分をどうするかという問題は考えないといけんの。

この結果だとまた上司に怒られちゃうよ。。なんとかならないかなぁ博士ー。

仕方ないのー。それなら、次の方法じゃ!
トライ2 AIが問題番号と問題番号の間を抽出できるか?

トライ1の方法では青色の枠をAIに学習させて解答欄を抽出しとったが、それだと解答欄が青色の枠で囲まれていない問題が多い今回のパターンでは合わなかったんじゃな。

そうだね。青枠を抽出するやり方は今回のフォーマットには適してなかったね。

そこで2つ目の方法はこうじゃ!問題にはそれぞれ問題番号が一律付与されておるから、問題番号を学習させて問題番号と問題番号の間を抽出するんじゃ。これなら、問題番号と問題番号で挟まれているフォーマットなら全自動で抽出することが可能じゃ。
こんな感じのイメージじゃ。

なるほど!さすが博士!じゃあ早速やってみるね!
・
・
・
さぁ今日もタグ付け始めるぞー!
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
・
タグ1000か所目
・
・
・
今日はここまで!
・
・
・
(翌日)
・
・
・
タグ付けがやっと終わったぞー!さっそくAIをトレーニングしてみるぞ!
・
・
・
Custom Vision で画像を学習中
・
・
・
学習中
・
・
学習中
・
・
学習中
・
・
・
・
・
チーン!
学習完了!!!

学習終わったー!!今回も長丁場だったな。。
さてさて、今度はこんな感じの結果になったよ!余分な余白部分も抽出してしまっているけど、問題番号と問題番号で挟まれている箇所を抜き出すことには成功してるっぽいね!

さっきよりは抽出できる個所が大分増えたのぉ!ただ、まだ一つだけ抽出できていない箇所があるようじゃぞ。問題番号で囲まれていない箇所が抽出に失敗しておるようじゃ。またまたわしも見落としておったわ。すまんすまん(笑)

あれれ、そんなところにも問題があったなんて!でも、ぼくも気づかなかったけど博士もまだまだだね。

おい、調子に乗るでない(笑)

それにしても、もう少しのところまでは来てるのに上手くいかないもんだなー。これはもう抽出することが難しいのかなぁ。

まだあきらめるには早いぞ!90%ほどの抽出に成功しておるからあと少しじゃな。
じゃあ最後特別にとっておきの方法を伝授したる!

とっておきの方法?!それは早く知りたいな!!(先に教えてくれればいいのに。。)
トライ3 事前にマーキングすることで解答欄をAIが抽出できるか?

トライ2の方法では問題番号を学習させて問題番号と問題番号の間を解答欄として抽出しとったが、それだと解答欄が問題番号で囲まれていない場合は抽出できなかったんじゃな。

今回は惜しかったんだけど、このやり方だと完全に抽出は難しいみたいだね。

そこでじゃ、フォーマットにとらわれずに抽出を行うことができる方法を教えるぞ!
それはな、人が事前に解答の部分をここだよって決めてそれをシステムが自動で抜き取るんじゃよ。

んーあれ?それだと今までよりも手間がかかっちゃうってことなのかな?というか、AIは使わないってこと?

確かに人の手が最初に介在するから手間は少し増えるんじゃが、それも最初の一回だけと考えれば作業の負担は大きく軽減されて高い精度のものが作れるぞ。
AIはあくまで手段としてとらえて、状況に応じて最善の選択をすることが大事じゃな。
こんな感じのイメージじゃ!

なるほどね!AIを活用した全自動にこだわりすぎて本来の目的を見失っていたような気がするよ!確かにそれなら少し負担する部分が出ても高い精度を求めるならメリットの方が大きいね!
早速やってみます!
・
・
・
・
・
・
・
・
・
・
よし!上手く動いたぞ!
実装完了!!!

こんな感じのシステムができたよ!

じゃあ、さっそくこれを使って解答を抽出してみるよ!
・
・
・
ピ、ピ、ピ、ピ、ピピッ!
・
・
・
・
・
・
ピ、ピ、ピ、ピ、ピ、ピピピッ!!
・
・
・
よし!抽出完了!

トライ1とトライ2より高い精度で解答部分を抽出することに成功したよ!事前作業が必要になったけど、一度抽出部分をマーキングしてしまえば同じフォーマットなら何度もマーキングする必要がないから、思ったより手間じゃなかったよ!

それはよかったのぉ!結局のところお客様の負担を軽減することが目的じゃから手段にこだわり過ぎずに状況に応じていろんな方法を検討してみるのがよいぞ。
3つ目のパターンだと問題用紙の種類が増えない限り事前作業は追加されんから、思ってるより負担もそこまで大きくないんじゃ!

なるほどねぇ。しみじみ。
確かに手段にこだわり過ぎないことは大事だよね!今後もやり方を検討する時に考慮するようにしていくよ。
さすがAI博士!ほんとにありがとう!
まとめ 検証を行ってみて
今回はAIで画像の中から特定の値だけを抽出できるのか?というテーマで実際の事例に沿ってご紹介させていただきました。実際にAIで画像から文字を抽出するようなご要望はありがたいことに最近お問い合わせいただくことが増えているのですが、ある程度のデータ数で高い精度のものを求められるお客様には本事例のような検証パターンをご提案させていただくことが多くなってきています。エンジニアMさんもやれることの幅が広がってよかったですね。(笑)
これからもAIの学習を続けて、将来的には対応できるパターンを増やし精度を向上させていきたいと思います!
今回のチャレンジを見て、弊社の取り組みにご興味を持っていただけましたら、ぜひ、下記のお問合せ先よりご連絡ください!
お問い合わせ
SRA東北では、今回ご紹介した研究以外にもさまざまな事例に取り組んでいます!AIを用いた開発、学習データの作成なども行っておりますので、ご興味を持っていただいた方はぜひ下記のフォームよりお気軽にお問い合わせください。
お電話でのお問い合わせはこちらからお願いいたします。
受付時間:営業日 月曜日~金曜日 9:00~17:30
原稿執筆
株式会社SRA東北 茂泉
原稿監修
株式会社SRA東北 我妻裕太