ACTIVITY活動報告

  • HOME
  • 活動報告
  • JAMSTECインターンシップ終了報告 (海洋資源環境学専攻 原田)

JAMSTECインターンシップ終了報告
(海洋資源環境学専攻 原田)

2022.09.08

インターンシップでは、「AI技術を活用した海岸ゴミの自動検出・定量化手法の開発」プロジェクトの一部に関わらせていただきました。現在、海に投棄されるペットボトルや発泡スチロール等のゴミが問題になっていますが、それらの海ごみがいつ、どこから、どのくらい、どのように海岸沿いに集まるのかに関しての知見は多くありません。そこで、まずは、海岸ゴミの画像を定点カメラで撮影し、セマンティックセグメンテーションと呼ばれる深層学習手法により、自動でゴミの種類や量などを定量化する手法の開発を行い、最終的には、上記のように開発したAI技術とIoT機能付き観測カメラにより、リアルタイムでのゴミの検出と汚染度の定量化の実現を目的にしたプロジェクトでした。私はこのプロジェクトのうち、深層学習を統合したWebアプリの開発を行いました。Webアプリにすることで作成した深層学習モデルを多くの人に提供することが可能になり、社会的価値を生み出せるため、その第一段階となる重要な箇所を任されたと感じております。また、一度だけ、野外に出て、データを取得するための定点カメラの設置も行いました。

400×300変更 調査の画像.jpg

定点カメラを設置した際の画像
(右端が原田学生)

業務では主にAPI開発、フロント開発、実行環境作成を行いました。まず、API開発の業務に関しては、最初の週にフレームワークのfastAPIを使って簡単なAPIをサンプルで作成し、その後、APIの概要設計を行いました。今回のインターンでは設計からコーディングまで上流から下流全てを担当の方にアシストしていただきながら自分で行うことができたので、非常に良い経験になりました。基本的にこれまでのインターンでは下流のコーディングを任される部分が多かったので、設計は初で設計の重要性と難しさを痛感しました。また、個人的にインターン前にUnetのセグメンテーションモデルを作成しており、今回のWebアプリでは自作した深層学習モデルを非同期対応するようにバックエンドに統合しました。

次にフロント開発ではReactを利用しました。やはりフロント側の最初にシンプルですが、画面設計を行い、方針を整理することで、その後の開発を短期間で行うことができました。

最後に実行環境作成ではSingurarityVagrantを利用しました。今回のインターンは基本的にリモートで行ったため、Mac Book Proで作業していたのですが、SingularityというDockerのようなコンテナ化ツールを利用する際にLinux環境が必要だったため、Vagrantという仮想環境を簡単に作成できるツールを利用し、Linux環境を作った後に、Singularityを利用し、Webアプリが自分のPCでもJAMSTECさんのGPUが乗ったPCでも動くように実行環境を作成しました。Singularityは今回のインターンで初めて利用したのですが、個人的にも大変利用しやすく、今後も利用しようかなと思いました。

最終日の1日前にはインターンの成果発表を行い、インターンに関してフィードバックをいただきました。今回のインターンが海ごみのプロジェクトを多くの人に知ってもらい、また、利用してもらうための最初の足がかりになるということを言われた時にはスケールの大きさを実感し、その最初のステップに関われたことを嬉しく感じました。

400×300変更 jamstec.jpg

JAMSTEC横浜研究所の画像

今回のインターンシップでは海岸ごみのプロジェクトの一部を手伝わせていただきました。スタート時点では、深層学習のモデルの調査や、精度検証などのタスクを行うのかと考えていたので、Webアプリの開発と聞いた時には多少びっくりしましたが、深層学習をノートブックで終わらすのではなく、アプリにすることで社会的価値を生み出す重要なタスクだったと終わった今となっては感じます。私自身、これまで深層学習モデルをノートブック上で実装したことはありましたが、Webアプリとして深層学習部分を統合したことはなかったので、今後は自分で深層学習モデルを作成した際は、Webアプリとして多くの人に利用してもらうことを考えていきたいなと思います。最後になりましたが、指導担当の先生にはこの1か月間大変お世話になりました。ありがとうございました。

海洋資源環境学専攻 2年 原田