画像処理に係るプロジェクトに参加していました。具体的な仕事内容として顔認識システムやそれを応用したプロダクトの開発、それに関係するフィルターのプログラムの開発、画像処理に関する基礎研究を行っていました。
このプロジェクトを行った会社では画像処理・画像認識の依頼は初めてだったようなのでナレッジを貯めるところからプロジェクトがスタートしました。
具体的には、まず顔を認識するためにディープラーニングや機械学習を用いて顔を認識するシステムを作成しました。ここでは時間や効率を考えKerasなどの簡単にネットワークを組めるライブラリやOpenCVやDlibなどのライブラリを用いてシステムを組みました。OpenCVやDlib、ディープラーニングをもちいたパーツ検出を行いましたが、顔のパーツの位置推定などはディープラーニング(CNN)を用いた時のほうが精度が良かったため、ディープラーニングを採用しました、顔自体の推定は様々な方法を行い、例えばディープラーニングではFaster R-CNNやSSD、Yoloを、古典的な機械学習ではHOG特徴量+SVM、HOG特徴量+Gradient boosting desicion tree(XGBoost)、などを行いました。
また私はこれだけでなく、このプロジェクトのために画像処理を勉強し、カメラのディストーション
解決のための多様体を使用したレンズの歪みの推定、カメラの内部行列の推定技術の研究、消失点からのカメラ行列の修正技術、瞳からの視線追従システム、画像のタグ付けのためのwebアプリケーションの作成などを行いました。
他にも認識した顔から3Dモデルによる顔の姿勢推定の技術を作りました。またカメラのオートキャリブレーションなど独自のシステムも作成し、作業の効率化を行いました。
このプロジェクトでは初めて画像処理を仕事として行いましたが、機械学習やディープラーニングなどの最新技術の基本的な知識があったこと、独自技術の開発による作業の効率化を行ったことにより、割とさくさくと勧められたと感じています。