SegNetで、餃子の領域抽出を行います。 ソースコードは、keras(tensorflow)でSegNetを参考に作成しています。
本リポジトリ内のソースコードは、gyozaの領域抽出にsemantic segmentationが有効か検証するために作成したものです。 入出力画像のN数が少なく、バイアスが小さくなく、ラベルの出来具合は適切ではないかもしれないので、予めご了承ください。
また、SegNetは2015年に発表されたモデルであり、手法としてはやや古いです。 おそらく最新の手法(例:PSPNet)の方が、よりうまく抽出してくれるでしょう。
(semantic segmentationの技術的進化を俯瞰したい場合は:セマンティックセグメンテーションのガイド2017年版を参考にどうぞ)
-
segmentation.ipynb
ソースコード。datalab gpuインスタンス上で実行します。gcsから画像の読み込み→KerasでSegNet実行→推論データをgcsへ保存という流れです。最後の方は、餃子が重なり合った領域に関する定量的評価が記述されています。 -
seg_class2_50.h5
学習済みモデルです。segmentation.ipynbにおいて、epochs=50
として学習したパラメータが保存されています。