質問: segnetを用いたセマンティックセグメンテーションの転移学習 こちらのチュートリアルに基づき、segnetを用いたセマンティックセグメンテーションを行っています。 1. 最終的に4クラスでのセグメンテーションを行いたいのですが、そのうち2つずつ類似性を有するため、最初に4クラスを2クラスに集約してトレーニングし、その後4クラスに分類するという2段階トレーニングを行いたいと思っています。 segnetはネットワークの生成時に分類するクラス数を指定することになっていますが、ネットワークの1回目の学習後に分類するクラス数を変更するにはどのようにすればよいでしょうか。 もしくは1段階目にトレーニングした2クラスsegnetモデルを、新しく作成した4クラスsegnetに取り込み転移学習することは可能でしょうか。 2. segnetのトレーニング中に、トレーニングデータとはサイズの違うイメージおよびラベルデータを検証に用いる方法はありますでしょうか。
回答: #1. 2段階トレーニングについては経験がありませんが、fcn構築においてalexnetからweight/biasを転移させた例が にありますので、参考にしてみてください。 クラス数を変更する場合、クラス数に関わるレイヤは定義し直す必要があります。 #2. 検証用のデータはimagedatastoreで与えることが出来るようになっていますが、'readfcn'を使うことで、画像読み出し時に利用する関数を定義できます。imresizeなどの関数を利用して、ネットワークのinputsizeにリサイズしてお使いください。