9月 25, 2024— AIテクノロジーコース 森本陽太 kd1370141@st.kobedenshi.ac.jp
↓↓↓こちら原稿になります↓↓↓
今から卵かけご飯サポートアプリえっぐきんぐだむの発表を始めます。森本陽太です、よろしくお願いします。
この順序で話していきます
この企画の目的は卵のサイズ、ご飯の量、作りたい味の濃さを選択して、その条件の卵かけご飯を作るのに必要な醤油の量を計算し表示することです。
使用技術はswiftUIです
前回の発表では、簡易的なUIと、材料入力、醤油量の計算、ユーザーごとのオリジナルプリセット機能を実装していました。
今回は、前回の発表で頂いたアドバイスを汲み取り、材料入力画面でAI機能を用いてご飯の量の入力のユーザビリティ向上を目指しました。前回の実装段階では電子計量が必須でしたが、この改善によって、iPhone10以降のデバイス一つで、計量ができるようになる予定です。
次に、今回の開発状況を説明します。
まず最初に、最適な醤油量を計算するロジックを改善しました。
前回までの実装だと、ご飯の量1gや、1万gなど、想定していない数字には正しい醤油量を表示することができませんでしたが、今回は授業で学んだ、線形回帰分析を用いて極端な数字にも対応できるようにしました。卵のサイズをLLで固定し、主に醤油の量を0.1g単位で変えながら私の主観で味の濃さを評価しました。このデータを基にご飯の量と醤油の量の関係を各味の濃さごとに線形回帰で分析し、それぞれの回帰線を描画したものが、こちらのグラフになります。TasteLevel1だと味が薄く、10だと味が濃いということになります。
この改善により、大量に卵かけご飯を作りたい人や、小腹が空いて10gだけ食べたい、なんて人のニーズにも応えることができます。でも実際には卵の重量割合による味の変化は考慮していないので10gで作ったら卵の味しかしないですね
次に材料入力画面の改善を説明します。
ご飯の量の入力では前回の手入力に加えて、iPhoneの前面カメラを用いた入力方法を実装しようとしています。ロジックとしては、iPhoneの顔認証に使われている、TrueDepthカメラを使い、茶碗などの器の容積を計算し次に、ご飯を入れた同じ器の容積を計算することで、ご飯の体積を導き出し、ご飯の密度を掛けることで、ご飯の質量を電子計りを使用せずに導き出そうと考えています。
iPhoneの前面カメラであるTrueDepthカメラは赤外線を用いて物体とカメラとの距離を測ることができます。このように器とカメラとの距離は23cm、ディスプレイとの距離は42cmと近距離ならけっこう正確に距離を測れています。このTrueDepthカメラで器を真上から写して、このような深度マップ情報を所得し、そこから容積を計算しようと考えています。また、精度を高めるために器をTrueDepthカメラでスキャンし、3Dモデルを作成する方法も検討しています。
最後に今後の予定です。
まずは、容積計算の機能の完成を目指します、この機能はご飯の量の入力だけじゃなく、醤油の量を測るためにも使おうと考えているので優先度高めに見積もっています。
そして、テストを行い実際のユーザーのフィードバックを得ることと、UIデザインの向上また醤油だけでなく麺つゆでも作れるようにデータを用意したいと考えています。以上で発表を終了します。ご清聴ありがとうございました。
Q&A
Q.人によって味の感じ方は違いますよね?
A.前回の発表で実装したユーザーごとのオリジナルプリセットを作成する機能があります!
この機能は、例えば味の濃さ5で卵かけご飯を作り、味が薄いと感じたら画面遷移後のレビュー画面で、味の評価3などと入力してください。すると次回から、最適な醤油量の計算に使っている回帰線の傾きを調整し、ユーザーの好みに合わせた味の濃さに調整されます。
これは卵かけご飯をレビューするごとに最適化されていくので、どんどん自分好みな味になるということです!サブタイトルの由来ですね
Q.スライドで見かける人間は何ですか?
A.発表のスライドで使っている人間のフリー素材は村田くんです!ほしい人は連絡してください!村田くんに連絡しても🙆
開発の道のり
実はご飯の量の入力をカメラを用いて入力するというのは企画の構想段階から予定していました。前回の発表までの開発でも、器を真上から写した画像と真横から写した画像で容積を計算できないかと試行錯誤していました。その中で実際のスケールを示す方法や、ご飯の量を計算することはできねぇじゃんとかの気づきを経ました。
兆し
そして前期中間発表が終わり、ご飯の量を導き出す方法がわからず途方に暮れていたとこ、先生からアドバイスを頂き、iPhoneの赤外線を用いる方法を思いつきました。そこからは上手くいくだろうと思っていたのですがSwiftUIとstory boardでは深度情報の扱い方に違いがあるようで実装に苦労しています。また、この段階ではTrueDepthカメラで3Dスキャンをして3Dモデルを作成する方法を検討していたのですが、なんかむずかしかったし、ユーザーの動きも複雑になるので一旦保留としました。そしてたどり着いたのが、二次元の深度情報から容積を計算する方法です。開発頑張ります。


コメント