Google DriveからGoogle Cloud Storageにファイルをコピーする

こんにちは。 ピリカ開発チームの伊藤です。

ピリカではアルバトロスプロジェクトで集めたマイクロプラスチックサンプルを分析する際、各サンプルの画像を撮っています。 このサンプル画像には、右下にスケールが書いてあり、この数字を元に映っているサンプルの最大径・面積などを求めています。

f:id:pirika-inc:20210907121435p:plain
アルバトロスオープンデータより © 2021 Pirika Association.

右下のスケールのテキストは顕微鏡のソフトウェアにより自動挿入されており、テキストデータとして得ることはできなかったため、別途このテキストを読み取る作業が必要ですが、1000を超すサンプルすべてに対してこれを人力でやるのは非効率です。 そこで、Cloud Vision APIを用いてこの右下のスケールを読み取るようにしました。

f:id:pirika-inc:20210907121718p:plain
Cloud Vision APIを使えば画像中のテキストを読み取れる

サンプル画像は分析作業の段階ではGoogleドライブに入っていますが、Cloud Vision APIで分析するにはhttp/httpsでアクセスできるようにするか、Google Cloud Storageにコピーする必要があります。

GoogleドライブからGoogle Cloud Storageへのコピーする際、一度ダウンロードしてからアップロードをすると時間がかかるだけでなく、一時ファイルに保存する必要があり面倒です。 なるべく手間なく高速にできればと思い、TypeScriptでストリーミングコピーを実装してみたのでご紹介します。

続きを読む

ピリカ開発者ブログをはじめます

こんにちは。 株式会社ピリカで開発のとりまとめをしています伊藤(id:iseebi)と申します。

このたび、ピリカ開発者ブログを立ち上げることになりました。

なぜ開発者ブログを始めるのか

株式会社ピリカ/一般社団法人ピリカは「科学技術の力であらゆる環境問題を克服する」という目標のもと、様々な技術を用いて環境問題の解決に挑んでいる組織です。 環境問題は数多くありますが、現在はごみの自然界流出問題にフォーカスして、問題解決に資するためのサービスを開発・提供しています。

主には情報技術を使うことが多く、一般的な企業の分類としてはIT企業ということになるのですが、それにとどまらず自ら開発した調査機器をかついで全国を回り、集めてきたサンプルを実験室で分析するといったこともしています。 また、環境問題解決のために使える時間を最大化するために、全社的にコンピュータに任せられることはどんどん増やして効率化することも目指しています。

活動から得られる技術は、他社と同じようなものも多いのですが、ピリカの環境だからこそ得られる知見もあり、新しく入ってくるメンバーにはなじみがなかったりといったこともあります。 ピリカのエンジニアチームで大事にしたいと思っている事の中に「自分の知識を広げること」そして「得た知識を共有して全体として効率を高めること」というものがあります。 今いるメンバーに「得た知識を共有すること」の意識付けの活動をしてもらう場として、また今後入ってくるメンバーが「自分の知識を広げること」の助けになることを目標として、得た知見を公開していきたいと思います。

そして公開することでピリカの開発を様々な方に知ってもらったり、コメントをいただくことでより新しい知見を取り入れ、更なる環境問題の解決につなげることができれば尚うれしいと思っています。

どんなことをしているのか

ピリカでは主に以下のサービスを提供しています。

  • ごみ拾いSNS「ピリカ」
  • 街のポイ捨てごみの見える化「タカノメ」
  • 水中マイクロプラスチック調査「アルバトロス」

これらのサービスの開発を通じて、ピリカの技術的に特徴的だと思うポイントはこのあたり。

  • 創業期からGoogle App Engineを活用。開発ではGoogle Cloud Platformのマネージドサービスを中心に使用しており、昔からずっとサーバーレス。
  • バックエンドコードはPython中心。Firebaseを使っているところはTypeScript。
  • 街中の道の様子、ドライブレコーダーや川を撮影したドローン映像からポイ捨て状況を機械学習で読み取るチャレンジ。
  • ITにとどまらず、調査機器の開発も自分たちで。
  • バックオフィスのシステムも一部自分たちで開発。

特にGCPPythonによるバックエンド、React/ネイティブアプリによるアプリフロントエンドが情報技術的な注力ポイントになっているように思いますので、まずはそのあたりの記事から増えていくと思います。


週1〜2回更新を目標にして、次の記事から各メンバーの投稿をはじめていきます。 ご愛顧いただければ幸いです。どうぞよろしくお願いします!