覚え書きブログ

zozoスーツ

5月に注文していたzozoスーツがやっと届いた。注文が殺到していたようで、本当は6月に届くはずが延期になっていた。
f:id:hirotaka_hachiya:20180730171158p:plain

早速計測してみたが、照明、背景、被写体の姿勢などの条件がある程度満たされないと、計測は出来ても最終的にデータの統合時に失敗することがわかった。
特に背景が雑多なのところでは何度も計測してみたが失敗したので、最終的には以下のように白い壁の前で計測した。

計測した結果は以下のようになる。
自分のウェストや胸囲などは、正直普段関心を持つことは無かったが、このように数値化されたデータとなると興味を持つようになる。不思議だ。
定期的に測り体型の管理するのにも良いかもしれない。

あとは、時計回りに回転し各時刻の角度で1回ずつ、計12回測定をするのだが、回転の中心は人間なのでは結構ずれているはず。
ずれた場合に、どのように補正して、ウェストや胸囲などを測っているのか技術的にどうなっているのか知りたいところだ。

正規表現を用いた置換

さくらエディタなどの正規表現に対応したエディタで、「1923 01 08 13 46 29.17」を、「1923-01-08 13:46:29.17」のように「年-月-日 時:分:秒」に変換したい場合は、以下のようにする。

検索語:「(\d{4})-(\d{2})-(\d{2})-(\d{2})-(\d{2})-([0-9]+).([0-9]+)」
置換語:「$1-$2-$3\t$4:$5:$6.$7」

f:id:hirotaka_hachiya:20180706135021p:plain

mmdVAEを用いたMNISTの復元

以下のMaximum Mean Discrepancyを参考に、MNISTの画像を復元するAutoEncoderを作ってみた。
szhao.me

コード一式は、以下のレポジトリに置いてある。
github.com

フォルダ構成

  • MNIST:

http://yann.lecun.com/exdb/mnist/
からダウンロードしたMNISTのデータ(gz形式)を置く。

  • visualization:pklファイルと、元画像と復元画像のペアの画像を保存
  • models:tensorflowのチェックポイントを保存
  • input_data.py:MNISTのデータ読み込むコード

https://github.com/tensorflow/tensorflow/blob/r0.7/tensorflow/examples/tutorials/mnist/input_data.py

  • mmd_VAE.py:AutoEncoderのコード(これを実行する)

コードの内容:


実行結果の例:

Image, iteration: 0, Negative log likelihood is 0.132817
Image, iteration: 1, Negative log likelihood is 0.112096
Image, iteration: 2, Negative log likelihood is 0.103636
Image, iteration: 3, Negative log likelihood is 0.094504
Image, iteration: 4, Negative log likelihood is 0.094447
Image, iteration: 5, Negative log likelihood is 0.107632
Image, iteration: 6, Negative log likelihood is 0.096937
Image, iteration: 7, Negative log likelihood is 0.086263
Image, iteration: 8, Negative log likelihood is 0.075665
Image, iteration: 9, Negative log likelihood is 0.083440
Image, iteration: 10, Negative log likelihood is 0.076919
Image, iteration: 11, Negative log likelihood is 0.068307
Image, iteration: 12, Negative log likelihood is 0.070534
Image, iteration: 13, Negative log likelihood is 0.075518
Image, iteration: 14, Negative log likelihood is 0.084493
Image, iteration: 15, Negative log likelihood is 0.075175
Image, iteration: 16, Negative log likelihood is 0.075251
Image, iteration: 17, Negative log likelihood is 0.081132
Image, iteration: 18, Negative log likelihood is 0.076310
Image, iteration: 19, Negative log likelihood is 0.070021
Image, iteration: 20, Negative log likelihood is 0.067716
...
Image, iteration: 990, Negative log likelihood is 0.004927
Image, iteration: 991, Negative log likelihood is 0.004771
Image, iteration: 992, Negative log likelihood is 0.005030
Image, iteration: 993, Negative log likelihood is 0.004839
Image, iteration: 994, Negative log likelihood is 0.004924
Image, iteration: 995, Negative log likelihood is 0.004720
Image, iteration: 996, Negative log likelihood is 0.004871
Image, iteration: 997, Negative log likelihood is 0.004735
Image, iteration: 998, Negative log likelihood is 0.004988
Image, iteration: 999, Negative log likelihood is 0.004945
Image, iteration: 1000, Negative log likelihood is 0.005165

0反復目:
f:id:hirotaka_hachiya:20180623104203p:plain

50反復目:
f:id:hirotaka_hachiya:20180623104223p:plain

100反復目:
f:id:hirotaka_hachiya:20180623104249p:plain

150反復目:
f:id:hirotaka_hachiya:20180623104332p:plain

200反復目:
f:id:hirotaka_hachiya:20180623104540p:plain

1000反復目:
f:id:hirotaka_hachiya:20180623121732p:plain