学びと仕事を加速する MATLAB~東大発スタートアップ代表 板倉さんインタビュー~
今回は X (旧 Twitter) でもおなじみの草野(X: @shun_kusano)がお送りします。
こんにちは、アプリケーションエンジニアの草野です。普段は画像処理・点群処理・ディープラーニングや自律ロボティクス開発をしているお客様に対して、プリセールス活動をしております。今回は、「学びと仕事を加速する MATLAB」と題しましてユーザーでもあり、スタートアップの CEO としても活躍中の板倉健太さんにインタビューした内容をお届けいたします。
- MATLAB の習得法
- 画像処理や点群処理、AI での活用法
- MATLAB と他のツールとの使い分け
などの MATLAB ノウハウをはじめ、勉強法や日々意識されていることなど普遍的な内容もたくさん伺うことができました。これから MATLAB の利用を始める方や、学生の頃に使っていた方、業務で使う方など様々な読者の皆様にきっと役に立つと思います。それではどうぞ!
自己紹介
こんにちは板倉さん、始めにご自身の自己紹介、どんなことをしている方なのか教えてください。
こんにちは、ImVisionLabs 株式会社代表取締役の板倉健太と申します。LiDAR などから得られる 3 次元点群の処理を専門としています。3 次元点群というのは 3 次元空間上に存在する点の集合を表すデータ形式です。これらの点は、XYZ 座標を持ち、対象の 3 次元的な構造を表します。例えば下の図のように、森林の 3 次元構造を点の集まりで示すことができます。MATLAB などを利用して解析することで、カラフルな点群を得ることができます(下図参照)。ここでは各樹木をそれぞれ認識し、異なる色で塗っています。これにより樹木の本数や高さなどを知ることができます。
私は、学生時代から点群を利用した研究を開始し、東京大学農学部の生物環境工学専攻で修士号・博士号を取得しました。博士課程中には、ScanX という点群のソフトウェアのアルゴリズム開発も行いました。博士号取得後は、ScanX を提供するLocus Blue 株式会社で1年半勤務しました。会社員として働くうちに、自身の得意とする技術を社会に実装したいという思いから起業しました。現在は、企業や大学・研究機関向けにアルゴリズム開発や点群データの処理を行っています。多岐にわたる分野で3次元点群の利用が進んでおり、幅広い分野の顧客からのリクエストを受けています。一つずつ技術を具現化し、それを通じて社会に貢献していくことを目指しています。
MATLABとの出会い、勉強方法
板倉さんは MATLAB のファンとして社内でも非常に有名です。先日も弊社イベント MATLAB EXPO Japan で、登壇いただきました。また、弊社海外オフィスのデベロッパーともやりとりがあり、製品機能の拡充にもご尽力いただいています。そもそも MATLAB を使い始めたきっかけをおしえてください。
MATLAB を使い始めたきっかけは、指導教員の先生からのおすすめでした。当時はプログラミング初心者で、Python も試そうとしましたが、環境構築が面倒に感じていました。MATLAB はインストールするだけですぐに使えるので、手軽に利用できると感じました。特に他の言語と比較してではなく、機械学習や深層学習などでよく聞く技術に慣れてみたいと思い、MATLAB を選びました。
どのように学習を深めていったのですか?
学習を深める方法として、まずは MATLAB のドキュメンテーションの例題を実際に動かしてみることが重要だと思います。そしてそれがある程度動くようになれば、自分で取ったデータをもとに当てはめてみることだと思います。個人的な意見ですが、MATLAB の例題を動かしてみる段階では、特に厳密な理解をしておく必要は必ずしもなくて、動かしていくうちに興味を持って勉強したり、パラメーター設定を変えて、どう変えたらどうなるかということを観察するといいと思います。勉強の方法は、ネット検索で、簡単な記事を見つけて、自分なりにまとめて、ということを繰り返していました。
また、これは、MATLAB の上達以外にも通ずることだと思いますが、まずは、根気強く、継続して取り組める姿勢が重要だと思います。MATLAB は他の言語に比べてかなり使いやすいと思いますが、それでもエラーから抜け出せなかったり、実行内容の意味がわからないことも多いと思います。ただ、それでもあきらめず、コツコツとやり抜くことが大事だと思います。時には、研究室の仲間や、職場の人に話を聞いてもらったりして、とにかくめげずに頑張ることが大事だと思います。
研究での活用
多岐にわたるご研究の成果を拝見してきました。具体的にどのような機能がご研究の中では役に立ちましたか?
学生時代から、点群や画像の解析に携わってきました。特に、深層学習ネットワークを利用する機会が多く、その際にはディープネットワークデザイナーが便利でした。このツールを使用することで、ネットワークの構造を自分でカスタマイズすることが可能でした。具体的な使用方法や効果について発表もしました。
ネットワークの構造をカスタマイズすることで、高精度なモデルを得ることができた研究例もあります。特に、ネットワークの構造などを変えながら高い精度を目指したのは良い勉強にもなったと思います。
業務での活用
企業に就職し、さらにご自身で起業もされてから MATLAB との付き合い方は変わりましたか?学生のころとの違いはありますか?
起業した後も、MATLAB との付き合い方は学生時代とほとんど変わっていません。業務時間の半分以上は MATLAB やその他のプログラミング言語でアルゴリズム開発をしたり、その検証やドキュメンテーション作成などをしています。実際、学生時代よりも MATLAB をする時間も増えたと感じています。
研究時代は、論文を出したらそれで終わりという感じがありましたが、現在の業務では将来のためにコードを保守する必要があります。半年後や一年後にコードを見直す必要があることもありますが、MATLAB は基本的に最新版を持っていればどのコードでも走るため、非常に便利です。また、Linux や Windows などの OS の違いも気にする必要がなく、効率よく開発ができます。他の言語では環境が変わると動かなくなることも多いため、そういうところに時間をかけるのは避けたいと思っています。
環境構築が簡単、というのは他のお客様からもいただく声です。普段の業務での使い勝手はいかがでしょうか。
私の業務は、研究開発や点群のデータ処理が多いです。お客様の要望に従って、1 から手法を開発することも多く、プログラミングやアルゴリズム開発が重要な要素です。しかし、限られた期間やリソースの中で、望ましい着地点を見極めることも重要です。そのため、お客様と共に考え、どのような開発が必要かを検討し、提案することも多いです。 MATLAB は、こうしたアイデアを具現化するためのツールとして活躍します。たくさんのファイル形式のデータの読み書きが可能であり、統計的な手法が容易に利用できるため、アイデアを実現するために非常に適したプログラミング言語だと考えています。その柔軟性と効率性が、研究開発のプロセスをスムーズに進めるのに役立っています。
オープンソースとの比較・使い分け
板倉さんはオープンソースツールについてもお詳しく、MATLAB とうまく使い分けていらっしゃるかと思います。オープンソースツールと比べて、MATLAB のどんなところにメリットを感じていますか。
MATLAB のメリットは、画像解析や深層学習、機械学習などの他の技術との連携が容易であることです。私の会社では、主に点群の処理を行っていますが、3D 処理だけではなく、画像解析や機械学習などの他の技術を総合的に用いて分析しています。そのため、単一のソフトウェアでは不十分であることが多いです。MATLAB では、複数の Toolbox を横断的に使うことができます。また、用いられている変数の型や環境構築も使い分ける必要がないため、分野の垣根なく、いろいろなツールを使いやすいです。学生にとっても、MATLAB は使いやすいツールであり、包括契約を結んでいる大学も増えているそうで、広く活用されるといいなと思います。
一方でオープンソースはどのような場面で活用されるのでしょうか。
自分の場合、MATLAB でできることをまずはやってみて、その中で難しいことがあると Python を使うようにしています。特に、大規模言語モデル(LLM)関連の仕事などでは Python を使うことが多いです。学生時代は、サポートされている点群のファイル形式や読み込み可能な情報などに限りがあり、Python を使って点群処理をすることもありましたが、最近は Lidar Toolbox の内容も非常に充実してきて、私の業務ではほとんど MATLAB でカバーできている状況です。MATLAB の機能も物凄い勢いで半年ごとに追加されていて、追いきれていない状態です。それだけ便利な機能などは揃ってきているのであとは自分がどれだけ努力しきれるか、という状態です。
モチベーション・意識していること
SNS などで技術的な内容に関するポストも多くされていますね。また、勉強会の企画をされているのも目にしています。継続的な学びの姿勢に感銘を受けています。そのモチベーションはどこから来るのでしょうか。
自分の知識やスキルを活かして社会に貢献したいという考えが、私のモチベーションの源泉です。日々の学びや経験を通じて得た知識やスキルを、他人の役に立てるように発信し、共有することが、私の意識していることの一つです。草野さんも SNS の私の投稿も見てくださっていて、大変うれしいです。自分が発信した知識やアイデアが誰かの役に立ち、その人がまた他人にそれをシェアすることで、より広範囲に知識や価値が広がっていくのだと思います。そのため、個々の貢献が社会全体にプラスの影響を与えると信じることで、モチベーションを維持しやすくなるというのもあると思います。
とても共感できます。というのも弊社のミッションも「エンジニアリングとサイエンスを加速する」なので、ベクトルが似ている気がします(笑)。情報を発信される際に普段から意識されていることなどあれば教えてください。
アウトプットをする中で特に意識しているのが、「人に説明できるか、または説明しようとしたらどうなるか」を常に考えながらインプットすることだと思います。私は、趣味のジョギングやウォーキングのときに、その日の内容などを反芻して、説明するシミュレーションをしながら定着させようとしています。そうすると、簡単に思っていたことも意外と奥深かったり、わかっていないことに気づいたりできます。さらに、それをもとに、SNSで発信したり、個人でブログを書いたり、勉強会で発表したりすることで自分も理解を深めていくことができました。
勉強会の企画、でいうと CloudCompare という点群処理の中で最も有名なオープンソースソフトウェアがあって、その作者の方を弊社のオフィスに迎え、ワークショップをしました。そういった勉強会を企画し、自分の知識をシェアするのも重要ですが、その中でそうした偉大な開発者とも直接議論を交わせたことで、新たな視点やアイデアを得ることができましたし、自分の取り組み方や技術スタックに対する自信も深めることができました。このような貴重な体験を通じて、自らの成長を感じると同時に、将来的には自分も同様の立場に立って他の人々にインスピレーションを与えられる存在になりたいとより強く思うようになりました。
今後の目標
人に説明できるか、という意識は全ての「学ぶ人」に聞いてほしい金言だと思います!最後に、今後実現されたいことや挑戦したいことがあればお聞かせください。
MATLAB を最大限活用しながら、より多くの点群の事例を増やしていきたいです。例えば、弊社には考古学の分野での点群処理の事例があります。徳川時代の大坂城の築城に使われた石がどこで切り出されたのかを3次元点群から探し出すというプロジェクトなどがあります。点群の利活用の幅は広がっており、自分が経験してこなかった分野でも仕事を行うことができることが非常にうれしく光栄です。これからも、様々なアプリケーションや事例を世に出し、自分たちの得意な分野で社会に貢献したいと考えています。
大学の授業や企業内の講習などでも、点群処理や MATLAB の活用に関する需要があれば、積極的にお声がけいただきたいです。自分の知識や経験を共有し、他の人の学びや成長に貢献できる機会を楽しみにしています。
板倉さんならきっと実現できると思います。これからも応援しています!本日はありがとうございました!
まとめ
いかがだったでしょうか。板倉さんの社会貢献に対する思いがビシビシ伝わってきましたね。それでいて楽しみながら日々の課題に取り組まれているように感じました。
MATLAB は環境構築が簡単で、書きやすく結果の可視化もきれいにできるので、試行錯誤を素早く繰り返すのに最適です。様々な Toolbox がありますので、幅広い領域で使うことができます。板倉さんのように日々チャレンジする方にぜひ活用していただきたいです。私も微力ながらそのお手伝いをさせていただければと思います。
- Category:
- ユーザー紹介
Comments
To leave a comment, please click here to sign in to your MathWorks Account or create a new one.