こんにちは、株式会社Ridge-i エンジニアの岡本です。今回の記事は今までとは少し異なり、私がパートタイムエンジニアの頃に行ったタスクの紹介を通じて、Ridge-iのパートタイムエンジニアの業務内容や、学べることについて知っていただけたらと思います。
お断りとして、以降の内容は私がパートタイムエンジニアだった頃(2019/11 ~ 2022/3)の話であることおよび、業務内容は年々更新されていることはご承知ください。
はじめに
弊社では、現在パートタイムエンジニアを募集しております。同職種の業務内容は以下になります。
・クライアントが抱える課題に対して、エンジニアとして統計的・機械学習的手法によるソリューションを調査研究及び考案し、実装する。
プロダクト開発や、リサーチ業務を含めた多様なプロジェクトがありますので、タイミングに応じて本人の意向も聞きながら、アサインを決定します。必要に応じて、弊社で用意した資料・課題等でディープラーニングや、マシンラーニング(以下、DL・ML)について勉強することも可能です。資料の一部はこちら(AI基礎講座)に上がっておりますので、興味ある方は是非ご確認ください。
詳しい業務内容については、今回、パートタイムエンジニアとして、実際に自分が行なっていたことの紹介を通じて、イメージしていただけたらと思います。また、Ridge-iで働くとはどういうことかや、パートタイムを通じてどういう学びやメリットを得れるかをお伝えできればと思います。
本題に入る前に、簡単な自己紹介をすると、私は、大学4年生の11月から、入社する大学院2年生の3月まで、Ridge-iでパートタイムエンジニアとして働いていました。2年半の間に、オフィスに置くためのデモ用のアプリケーションの作成から、ドローンとAIによる海洋ごみの漂着量推定などの複数のプロジェクトに参画しました。
今回ブログで紹介するのは、AIエンジニアとしての一連の流れを経験させていただいた個数カウントモデルのデモ用アプリケーション開発についてです。
個数カウントモデルのデモ用アプリケーションについて
オフィス内に置くデモの一つとして、リアルタイムでBB弾の位置と個数を検出するアプリケーションの開発を目指しました。
背景・課題設定
個数カウントモデルを作成する背景としては、以下の経緯がありました。
Ridge-iでは、人数と密集状況を昼夜問わず高精度でリアルタイムに測定するRidge Countを提供しています。同プロダクトの延長線上として、物に対してもリアルタイムでカウントできるプロダクトがあると好ましいという話から同デモを開発することになりました。対象の物を何にするかという点では、過去のプロジェクトの一つに、金属表面の粒子の数をリアルタイムでカウントするAIの開発案件がありました。他のクライアントからも同じようなニーズを引き出せる可能性があると考え、粒子の代替としてBB弾をカウントするデモの開発を始めました。
開発工程
最初に、labelmeを使ってBB弾のアノテーションをおこないデータセットを作成しました。実世界ではデータセットは基本的に存在せず、自ら作成する必要があります。また、ここで作成するデータセットによりモデルの性能は大きく変わってくるため丁寧に行う必要がありました。
モデルは、個数検出をするためにインスタンスセグメンテーションの手法の一つであるmask-RCNN(facebookresearch/detectron2)を選定し開発をおこないました。
GUI画面は、フロントエンド言語を用いずPythonでかけるstreamlit + カメラから画像を取得するためにopencv-pythonを用いて開発をおこないました。
実際のデモについて
デモの様子はこちらになります。画像右の右上にあるカメラでリアルタイムで画像を撮影し、1フレームごとにモデルがBB弾を検出し、解析結果をGUI上に描画しています。
実際のデモでは、165個あたりで、1〜2個の誤検出があったものの、160個までのボールは完璧に検出することができました。
このように、課題設定から、アプリケーション開発まで一連のエンジニア業務を経験することができ、貴重な経験を得ることができました。
まとめ
2年半を通して私の感じた、RIdge-iでパートタイムエンジニアとして働くメリットは以下の3つだと考えています。
- 常に新しいことに挑戦する必要があり、自己成長の場として活用できる
パートタイムエンジニアとして働くことで、常に自分の知らない分野の知識や技術に触れる機会が多くなり、新たなスキルが身につき自己成長することができました。また、一人では解決できない部分も、知識面では牛久先生をはじめとする技術顧問の先生方が、技術面では優秀なエンジニア方が、一緒に解決してくれます。 - 実務を経験することができ、ML ・DLが実社会でどのように活用されているのかがわかる
今回のデモアプリケーション開発だけでなく多くのプロジェクトで、課題設定から実際のGUI開発までを一貫して経験することができるため、AIエンジニアとは何かについて知ることができます。
さらに、パートタイムエンジニアでも、対クライアントのプロジェクトに参画することも多いため、世の中でどのような技術が求められているかを知ることができます。 - ML・DLを専門とする技術顧問やリサーチエンジニアと、一緒に研究することができる
パートタイムエンジニアの中には今回紹介したような実務だけでなく、リサーチをする機会もあります。Ridge-iには各技術において日本を代表する3人の技術顧問の先生がいます。画像認識や自然言語処理を専門とする、牛久先生、CVを専門とする玉木先生、リモートセンシングや数理最適化を専門とする小野先生です。そのような方々と一緒に研究する機会をRidge-iでは得られる可能性があります。
このようにRIdge-iのパートタイムエンジニアは自己成長をするにはもってこいの場所だと思います。この記事を通してRIdge-iのパートタイムエンジニアに興味をもっていただけたら幸いです。是非ご応募お待ちしております!!
さいごに
Ridge-iでパートタイムエンジニアだけでなく様々なポジションで積極採用中です。 カジュアル面談も可能ですのでご興味がある方は是非ご連絡ください。