ブログ名

【第7回】簡易体積算出アルゴリズム データセット作成とモデル案について

データセット作成

機械学習用のデータセットを作成します。
収集する対象は冷蔵庫や電子レンジ等の大型家電の設置画像と、その製品名と寸法です。
以下にデータセット化したものの一部を示します。

f:id:iTD_GRP:20200702184841j:plain
データセット

このデータセットの整形を行ったあとにモデル構築と機械学習、検証を行っていきます。

データセットの整形・分析

上記でデータセットを作成しましたが、インターネット上から家電製品全体が見える画像を使用しており拡張子が異なるため、拡張子をJPEGに統一しています。
解像度も、CNNに加える際に一定の大きさになるように拡大縮小しています。
また、本来であれば解像度とサイズを統一するべきですが、カメラの性能や機種に依存しないモデル構築のために、統一していません。
CNNで学習させる際に左右の拡大縮小を行うことを考えると、家電に沿って画像をトリミングすると左右比が変わってしまい、色や取手などの家電に備えられているものを算出のヒントとしてしまう可能性があるため、画像はそのまま用いています。

製品の傾向の確認

次に、集めた製品の幅、奥行、高さ、体積の傾向を見ます。
以下の図1~4にそれぞれ幅、奥行、高さ、体積のヒストグラムを示します。

f:id:iTD_GRP:20200702185738j:plain
図1: 幅
f:id:iTD_GRP:20200702185806j:plain
図2: 奥行
f:id:iTD_GRP:20200702185826j:plain
図3: 高さ
f:id:iTD_GRP:20200702185922j:plain
図4: 体積

各辺の長さを示す図1~3において、家電クラスごとに集団を作っていることがわかります。
しかし、体積で示したときは、ある程度群を形成しているものの分布が散乱していることがわかります。
つまり、このデータセットから、家電クラスによって各辺の長さはある程度予測できることが分かります。
ただし、データ数が100と少ないため、精度と学習の具合を確認しつつ、必要あれば追加したいと思います。

モデル構想

今回用いたデータセットは少ないため、転移学習によるFine Tuningを行います。
ImageNetにより、近年高いスコアを出しているモデルに組み込まれているResNet152(下図)に全結合層1~3層を加え、転移学習を行います。
上記から各辺に分解したほうが精度を出せるのではと考え、出力層を3要素設けてReLUを用いて連続値を算出し、その3つを掛けて体積を算出します。
この全結合層の層数やDropoutなどの手法は、精度を見ていき次第適応していきます。
テストデータと検証データは8:2で行い、5分割のクロスバリデーションで精度を見て、評価関数はRMSEで行う予定です。
パラメータの同定には、ベイズ最適化を用いたハイパーパラメータチューニングを行います。

f:id:iTD_GRP:20200702185612p:plain

次回の予定

モデル作成の下準備が整ったため、モデルを作成していきます。


次の記事へ

前の記事へ 戻る