開発中はデバッグモードとしてAPI単位で実行できるようにしました(青いボタン)。レスポンスも画面上に表示させてみました。
写真の写し方によってVisionAPIの文字認識自体がうまくいっていないことも多くありました。
色々やってみて以下気づいた点です。
↓今回読み取った消防設備点検のお知らせも上部に日付がありスケジュール日時になるので折って隠してパシャりました。
今回はこれで完成としますが、これからももっと発展させてバージョンアップして行けたらいいなぁと思っています!
残念ながら上位入賞はできませんでした。
前述のとおりまだ皆さんに使ってもらえる環境が整っておらず完成度が低いことはわかっていましたので、デスヨネ〜と納得でしたが、候補に選んでいただけたこととても嬉しく思いました。
しかし審査員から有難いコメントもいただけたこと、発表を終えて何人かの方から「使いたい!」との声をいただいたことからすごく意欲が湧いてきました。ありがとうございました!
▼ 当日の発表資料 「動画」と書いた部分では操作デモを行いました。
今後ですが会議の結果、私の息子であるMEMETAN氏(@memetan)が主担当として引き継いでくれることになりました。彼はサーバー立てたり環境構築したりするの得意なのでこれは楽しそうと手を上げてくれました。もちろん私も引き続き開発します!
https://twitter.com/siroitori0413/status/1599054904718680064?s=20&t=EuZwQqM4RAZKPzaMvobg1w
https://protopedia.net/prototype/3819 MEMETANが主体の上記作品に移行しています。 公開していますので是非使って見て感想をください。
▼ こちらから実際に使えます! https://cam2calendar.memetan.dev/
当初簡単にHTML+JavaScriptの形で作ってローカルで動かそうと思ったのですが、5W1H抽出 APIで CORS のエラーが発生。問い合わせをするとそういった仕様であるとのことだったので、この構成を断念しました。
でもせっかく上記の作りでコードを書いていたのでそのまま流用したいと考え、HTML+JavaScriptは流用しつつNode.jsを書き加えた形でelectronへ移行しました。
たくさんの方に利用してもらいたいと思ったのですが、第三者が新しい環境で利用する場合少し面倒で、
しないといけません。
3のGoogle Vision APIのAPIキーは沢山使うと課金されます・・・。
課金されるGoogle Vision APIはやめて、Hugging FaceのInference APIを使ってはどうかとアドバイスをもらったので今後試してみたいです。
その上で、electronじゃなくてReact?とか?で作るとAndroidでも動かせるアプリになりそうなので良さそうです。今バージョンではこの形としますが、最終的にはここを目指したいです。
・Google Vision APIで画像から文字情報を抽出
・5W1H抽出 APIで文字情報からいつ・どこでなどの情報に分離
⇨カレンダー登録候補情報として画面上に表示
※初回はGoogleアカウントへのログイン画面が出てログインが必要になります。ここへログインすることで誰のカレンダーに登録されるかが決まります。
またアカウントに対して複数のカレンダーがある場合、今回は固定で1つめのカレンダーに登録しています。
■タイトル
スケジュールタイトルを設定します。5W1H抽出APIで「WHAT」の情報として設定された項目を設定しますが、感覚的に紙の連絡文の内容からは読み取り判断が難しいようで取得できないことが多いように思います。
■日時
日時を設定します。「終日」をチェックすると時間の項目が消えます。5W1H抽出APIで「WHEN」の情報から設定していますが、この情報の読み取りも難しいところです。
■場所
場所を設定します。5W1H抽出APIで「WHERE」の情報から設定しています。場所っぽい名称が入っている場合それが設定されるようです。「福岡市」「市民センター」など。
■詳細
詳細を設定します。今回ここにはGoogle Vision APIで読み取ったテキスト全文を入れるようにしました。そうすることで、「タイトル」などが設定されなかった場合にここからコピペできるようにという意図もあります。
また、Googleカレンダーの仕様としては日時のみ必須なので、日時以外の項目がもし入っていなくても面倒な人はそのまま登録してもいいです。