3_1:特徴抽出(Feature Extraction) ml5.js JavaScript

featureExtractor()

ニューラルネットワークは画像内容の認識に使用できます。画像をある決まったカテゴリーに分類する際、ほとんどの場合は、大きなデータセットで訓練された”訓練済み”モデルを使用することになるでしょう。しかし、訓練済みモデルの一部である特徴を使用することもできます。特徴を使用すると、新規のカスタムタスクのためにモデルを”再訓練”したり”再利用”することができます。これは転移学習と呼ばれます。

このクラスを使用すると、訓練済みモデルを通して画像の特徴を抽出したり、そのモデルを新しいデータで再訓練することができます。

シンタックス

ml5.featureExtractor(model, ?callback)
ml5.featureExtractor(model, ?options, ?callback)

パラメータ

model – 学習済みの特徴を抽出する対象のモデル。大文字小文字の区別あり。
callback – オプション。モデルがロードされたときに実行する関数。callbackを指定しない場合には、モデルがロードされたときに解決されるPromiseが返される。
options – オプション。カスタムオプションを含んだオブジェクト。MobileNetモデルの場合、再設定できるカスタムオプションには以下のものがある。

{   
  version: 1,
  alpha: 1.0,
  topk: 3,
  learningRate: 0.0001,
  hiddenUnits: 100,
  epochs: 20,
  numClasses: 2,
  batchSize: 0.4,
}

MobileNetの特徴

以下は、特徴抽出の対象としてMoblieNetを選択したときのプロパティとメソッドです。

mobileNetについては「8-1 mobilenet」を参考にしてください。

ml5.featureExtractor(‘MobileNet’)

プロパティ

.modelLoaded – モデルがロードされたかどうかを表すブール値。
.hasAnyTrainedClass – 新しいデータがモデルに追加されたかどうかを表すブール値。
.usageType ^ 抽出器の用法を表す文字列。’regressor’と’classifier’がある。
.isPredicting – モデルが推測中かどうかを調べるブール値。

メソッド
.classification(?video, ?callback)

– MobileNetの特徴を分類器として使用する。

video – オプション。HTMLのvideo要素かp5.jsのvideo要素。
callback – オプション。ビデオが準備できたときに呼び出される関数。callbackを指定しないときには、video要素がロードされたときに解決されるPromiseを返す。

.regression(?video, ?callback)

– MobileNetの特徴をリグレッサー(回帰)として使用する。

video – オプション。HTMLのvideo要素かp5.jsのvideo要素。
callback – オプション。ビデオが準備できたときに呼び出される関数。callbackを指定しないときには、video要素がロードされたときに解決されるPromiseを返す。

.addImage(label, ?callback)

– 新しい画像要素を追加する。

.addImage(input, label, ?callback)

– 新しい画像要素を追加する。

input – オプション。HTMLのimage要素かvideo要素。またはp5.jsのimage要素かvideo要素。inputを指定しないと、.classification()や.regression()で使用するvideo要素が使用される。
label – 新しい画像と関連付けられるラベル。分類器(classifier)を使うときには文字列か数値が指定できる。回帰(regressor)の場合には数値である必要がある。
callback – オプション。新しい画像がモデルに追加されたときに呼び出される関数。callbackを指定しないときには、画像が追加されたときに解決されるPromiseを返す。

.train(callback)

– 開始点としてモデルの元の特徴を用いて、与えられた画像とラベルでモデルを再訓練する。

callback – 訓練の進捗に追随して呼び出される関数。

.classify(?callback)
.classify(input, ?callback)

– 再訓練された新しいモデルをベースに画像を分類する。.classification()を併用する必要がある。

input – オプション。HTMLのimage要素かvideo要素。またはp5.jsのimage要素かvideo要素。inputを指定しないと、分類器の作成で与えたvideo要素が使用される。
callback – オプション。inputが分類されたときに呼び出される関数。callbackを指定しないときには、モデルが画像を分類したときに解決されるPromiseを返す。

.predict(?callback)
.predict(input, ?callback)

– 再訓練された新しいモデルをベースに連続する値を推測する。.regression()を併用する必要がある。

input – オプション。HTMLのimage要素かvideo要素。またはp5.jsのimage要素かvideo要素。inputを指定しないと、回帰の作成で与えたvideo要素が使用される。
callback – オプション。inputが予測されたときに呼び出される関数。callbackを指定しないときには、モデルが画像を予測したときに解決されるPromiseを返す。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA