画像処理、画像認識の分野の技術動向を調査すると、ここ数年でいろんな枠組みが変わってきたことを感じる。
ここ5年の間の変化
- OpenCVの最適化がさらに進展した。
- IPPがOpenCVに含まれるようになった。
- マルチコアでの平行化・並列化がライブラリの広い範囲で進展するようになった。
- ARMの組み込み用のCPUでも4コアが利用できるようになった。
- 64bit OSを使えることが増えた。
- GPUを使うことが組み込みの分野でも可能なボード(モジュール)が登場した。
- Deep Learning の関係で、画像認識関係のアルゴリズムが大幅に書き換えられている。
- ハイエンドの技術はサーバー側で実装されており、5年前には実現不可能だったレベルの技術がブラウザ越しに利用可能になっている。
これらの状況から感じたこと
技術には賞味期限がある。
企業の中で開発したライブラリやハードウェアが陳腐化する速度が高まっていることを感じる。
ある時期まで第一線の状況にあったライブラリが、企業での開発完了の位置づけになってしまったことで、研究者が離れてしまうと、そのライブラリは改善されなくなってしまう。そうするうちに、加速する技術開発は、そのライブラリを上回る結果を出して、しかもオープンソースという形で提供してきている。オープンソースの方が、数年前に開発された製品のライブラリを上回ってしまうことが、とてもおこりやすくなっている。
ある時点は、優れた着想にもとづいたチップであっても、その優位性にも賞味期限がある。
標準となるアーキテクチャでチップ自体やライブラリの改良がなされることで、独自のノウハウを実装したであろうチップと同等、それ以上のことが、より一般的なアプローチで実現されるようになったりする。
顔検出器・人検出器をそれぞれ個別に開発していた状況が、Deep Learning ではYOLO2などのように、1つのCNNのモデルの中で、複数のカテゴリーを検出する状況になっている。
よってたかって良くする
技術は、「よってたかって良くする」状況になっているのだと思う。画像認識・機械学習を加速するハードウェア、学習モデル、大規模なデータ・セット、それらが互いに他の要素を加速する状況を作り出している。
製品開発の分野でもコミュニティが重要
価格も高いボード、NDAに過度に縛られては情報がコミュニティに流れていかない。
だが、情報が得られないハードウェア上で、積極的に開発を行おうとする人はいない。
企業ならば、そのハードウェアを選択したことで生じるリスクを、開発者個人が背負いたくない。
大学などの研究機関に属する個人ならば、自分が成果を挙げられなくリスクを避けたい。
そのような思いのため、開発者は、情報がえられやすいコミュニティが育っている環境を選択する。
技術戦略を考える方へ
技術を出し惜しみするのではなく、技術が優位性を持っているほんの数年のうちに、その優位性が引き金となってユーザーのコミュニティを引き寄せるように考えてほしい。
深層学習の分野でそのフレームワークのライブラリが、企業によってオープンソースとして無料で公開されている意味は、ユーザーを自分たちのコミュニティに引き寄せることで、自分たちのフレームワークの価値を高めることにつながっているのだと思う。そのフレームワークに互換性のあるハードウェアアクセラレータは、ユーザーコミュニティを引き寄せてくれる。
内部の実装はオープンにできない場合でも、よりよい設計は外部インタフェース自体でもオープンして共有する価値はある。OpenVXなどはそのような実装のインタフェースの設計となっていると思う。
例:GPIBはHPIBがベースになっている。
例:OpenGLは「元々はSGIが自社ワークステーションで使用していたIRIS GL(英語版)というシステムを改良し、移植性を高めたものである」
このようにもともとのベースが企業の製品の技術であっても、その優れたインタフェース設計が共有化されることで、ユーザーコミュニティが拡大した技術分野は少なくない。
そのことを考えたうえで、あなたの会社の製品が世の中で活用されることを期待します。
追記:
優位性を獲得・維持するために企業の研究者はどうすべきか?
実際の利用環境を知っている強みを最大限に活用すること。
- 実環境のデータは、大学や国の研究所の作成している評価データとは特性が違うことが多い。
- カメラ・CPU・ライブラリなどを製品設計という中で組み合わせを製品設計者だからできるすり合わせができる。
- ビジネスという収益の動機に支えられて開発を続けることがだきる。
- 成長し続けることができるという確信を持ち続けること。
- 自分たちの独自性とオープンソースの作りだした技術の和は、常にオープンソースだけよりは大きい。
- 成長し続ける社内の研究者の能力を信頼し、その力を引き出しやすい状況を作ること
最終プロダクトを自社で販売している場合には、
その中で持ちうる自由度を最大限に活用すること。
追記(2020.12.03): 技術そのものが価値があるのではない。使い方にこそ価値がある。
個別の技術自体が優位性を確保しにくい状況のなかで,企業の活動で利益を出すにはどうしたらよいかと思うだろう。
私の考えはこうだ。使われ方の分野で価値を作り出すことだ。
監視カメラシステムの場合には、ただ単に画像をディスクに保存すればいいだけではないだろう。人や顔を検出したからと言って、それだけで何か価値を持つわけではない。
パスポートの顔照合を人による照合から、顔照合システムによる照合に部分的に置き換えることは、考えやすいだろう。
でも、それ以外の使い方を考えることに価値がある。
- コンサートのチケットの転売防止
コンサートのチケットは、転売屋に不当に価格が釣り上げられ、本当に聞きたい人が適正な価格で利用することができにくい状況がある。
そのような転売屋が介在しにくくする方法として、顔照合を利用することが導入されだしている。
ここで、顔照合エンジン自体を自作する必要はない。市販の顔照合モジュールを使うのでもよいし、顔照合のWebサービスのAPIを使うのでもよい。
顔照合によって、転売屋を排除できることで、音楽を聞きたい人・演劇を見たい人が適正な価格でチケットを購入できるという新しい価値を生み出す。
そのようなシステムの構築は、チケットの販売やチケットの利用シーンをも含めたシステムになるので、開発要素は多い。チケットの利用シーンで顔照合を行おうとしたら、顔照合の精度が出やすい安定した画像を高速に撮影して、ユーザーフレンドリーな使い勝手を実現するためには、それなりの工夫がいるだろう。