# プロジェクト概要(目的・期間・規模・人数・体制など)
目的:深層学習を用いた3次元画像検索エンジンの開発
人数:2名
体制:実装・調査1名、監督者1名
# プロジェクトにおける自身の役割
調査から実装まで担当
# 当時の背景/抱えていた課題等
## 背景
3次元データ(CADなどの図面)から適切な工場とのマッチングを人手で行っていましたがスケールしないので機械による半自動化のために3次元画像検索エンジンの開発を行いました。
## 課題
- 未経験の課題だったこと
- 2017年2月時点で日本語での公開資料がほとんど存在せず、英語でも多くはなかった
# 課題に対して自身が発揮したバリュー及び成果
## 未経験かつ取り組む人が少ない課題だったこと
未経験かつ取り組む人が少ない課題の場合は全体像やキーワード、アプローチを知ることが難しかったのでその点を工夫しました。
- 良いキーワードを知るためのアプローチ
Google Schlorから論文を参照し、その論文から大学名、キーワードを知る
- 全体像を知る
上記で調査した大学の公式サイトから関連する資料で全体像を把握
- 学習に必要なデータ、サンプルコードによる実装方法の把握
github、大学のサイトなどからサンプルコードを取得し、そのコードを読むことで実際の動作手順を把握し改変できるようにする
上記の施作によって未知の課題にも対処できました。
## 苦労した点
情報が少なかったので適切なアプローチが取れているか不明でした。Tensorboardを用いて成果を数値で把握することによって適切な方向で行動できているか把握するようにしていました。
## 成果のための技術的な施作
手法は深層学習の3次元CNNを用いて精度向上と学習速度向上の為に下記の施作を行いました。
精度向上
・Data augmentation を用いた汎用性向上
・ベイズ推定を用いたハイパーパラメータの自動最適化
速度向上
・TensorflowのSIMDの有効化
・マルチプロセスによるData augmentation
## 成果
これらの手法でバリデーションデータにおいて40カテゴリの物体に対して85%程度の識別性能を3ヶ月で達成しました。
企業ブランディングに繋がる発表をしました。
EuroPython 2017
https://ep2017.europython.eu/conference/talks/how-to-appy-deep-learning-for-3d-object
# プロジェクトについて今ならもっとよくできると感じる点と考察
深層学習における問題点を分解して捉えて何処からアプローチするか考えられます。
データアプローチとモデルアプローチの観点があり、データアプローチの場合はデータの不整合性、データの汎用性を上げるか、モデルアプローチの場合はどのようにモデルの複雑性を上げるか高速に学習する方法はないか未学習の状態か過学習の常態か問題を分解して考えられるので効果的にアプローチできます。