Computer Vision /
Image Analysis

Computer Vision /
Image Analysis

深層学習はコンピュータビジョンをどう変えたか?

深層学習はコンピュータビジョンを どう変えたか?

Interview : TETSUO SHIMA

Share :

画像・映像認識を担う PKSHA Vertical Vision

── PKSHA Technology でこれまでに関わったプロダクトについて教えてください。

案件により具体的な課題は異なるものの、技術的には、人物検知・同定、人物・物体追跡、顔認識・表情推定、姿勢・動作推定などを用いたプロダクトに従事してきました。オプティカルフロー計算のように、従来のコンピュータビジョン技術を使う場合もあれば、深層学習的手法が有効な場合もあり、入力データや解析対象の性質に合わせて、その都度適切なアプローチを探っています。

所属している PKSHA Vertical Vision (VV) グループでは、画像認識に使われる各種モジュールを開発しており、私は全体のアーキテクチャ設計とコア部分の実装を担っています。

まず、「見る」ことから始まるコンピュータビジョンタスク

── コンピュータビジョンが対象とする課題はそもそも多いですし、関連するアルゴリズムも多岐にわたりますね。画像・映像認識の問題を解く時、どのような思考をたどるのでしょうか。

設計や実装を開始する以前に、まず画像や映像といった入力データを丁寧に観察することを重要視しています。何らかの画像・映像認識的課題を解くにあたって想定される技術候補がいくつかあったとして、まずは何も考えずに先入観なく見る。次に具体的な解析手法を想定しながら見る、という2段階でデータを観察することから始めるケースが多いです。

極端な例では、まず簡単な画像処理を施してみることにより、基礎的な手法でどこまで問題が解けそうか推察してみることもあります。実際にこのようなアプローチをとったことで入力画像の不備に気づけた事例もありました。

一方で、物体検出や推定といった深層学習アプローチが有効そうな課題については、学習データの選別や、アノテーション方針などから考えなければなりません。そのためにも、入力データを丁寧に観察し、撮影状況のバリエーションを考察することは重要です。

どのようなアプローチをとるにしても、入力となるデータの特徴や実装したアルゴリズムの性能が視覚的に理解しやすい点は、やはりコンピュータビジョン領域の面白みの一つだと思っています。

「レコグニション vs. 計測」の軸で技術を整理する

── 深層学習の登場以前・以降で、コンピュータビジョンが本質的に変化したと感じられる部分はありますか。

歴史的に見ても、特徴量作成にかかるコストやある種の職人技の必要性が相対的に下がった面があるように感じています。深層学習の登場以前からのコンピュータビジョンの手法を使う際にも、ニューラルネットワークを併用することで、精度が出やすくすることができます。また、例えば一般物体認識や顔領域検知のように、深層学習がそれ以前の技術と比較して圧倒的に高いパフォーマンスを発揮するタスクも多々あり、PKSHA Vertical Visionでも複数の深層学習アルゴリズムを組み込んでいます。

とはいえ、深層学習があれば全てが解決するとは思っていません。学習にはそれなりの時間コスト・計算資源を要することや、他に適した手法が確立されている問題領域もあるため、従来の手法に対する相補的かつ強力な道具という位置づけとなり、あくまでも課題に応じた使い方が肝要だという理解をしています。

その意味では、深層学習以前以降という分け方よりは、「レコグニション vs. 計測」という軸で整理した方が分かりやすいかもしれません。YOLO などのアルゴリズムを見ると分かるように、深層学習はレコグニションに一つの強みを持っています。

一方で従来のコンピュータビジョンは、動きや3次元空間情報などを適切に計算することが得意です。「計測」という言葉の意味は、具体の技術要素で言えばトラッキングや三次元再構成を想定していますが、物理世界をコンピュータ内に再現することです。レコグニションもある意味では物理世界を再現しているともいえますが、アプローチが異なります。

アカデミアと企業とで、“良い”コードの基準は変わらない

── アカデミアでの研究と企業での R&D は、経験上どのように違っていますか。

アウトプット形式と時間スパンは違っていると思います。

アカデミアでは、最終的には論文を出版したり学会発表をして結果を発信・共有することが重要で、動くコードだけがあっても成果にはなりにくいです。逆に企業での R&D においては、目的に沿って正常に動作するものを実装し切ることが第一に重要です。

時間スパンについて言うと、アカデミアでは、論文としてまとまっていることがソフトウエアの開発完了よりも重要になります。目的を達しているコードが完成しているにしても、論文としてまとめるための既存手法との比較や評価に時間のかかる場合や、査読など論文自体の完成度を高めるフェーズには一般的に時間がかかります。

一方で企業においては、開発完了時点での挙動の良し悪しでアウトプットの価値が判断されます。必ずしも論文としてまとめる必要はありませんが、すぐに実社会のデータで動作の検証が行えて、即座にエンドユーザに影響するという点で差異がありそうです。

ただ、エンジニアリングの観点から言えば、コードの良し悪しに関する基準は両者で共通しているとも思います。

どちらの場合でも実行時に効率の良いコードとポータビリティの高いコードの重要性は高いはずです。企業のプロダクトやサービスにおいて処理速度や精度が高いことはエクスペリエンスに直結するため重要なのは当然ですが、アカデミアであっても、実験効率・回数に影響を与えるため同程度に重要だと言えるのではないでしょうか。

また別の観点として、画像・映像認識技術を含め人工知能分野の知見は、アカデミアと産業界とでかなり早く共有されており、半年前に提案されたアルゴリズムがすでに製品化されていることは珍しくありません。そのため、アカデミアと企業との差異は、世間で想像されているほど大きくはない印象です。

島 哲生

東京工業大学 大学院情報理工学研究科修了。在学中は、コンピュータビジョンおよび画像処理の研究に従事。ITベンチャー企業にて、主に画像認識アルゴリズムに関する研究開発などに従事した後、PKSHA Technology参画。博士 (工学)

応募する