しんさんのブログ

科学や技術のこと読書のことなど

Anaconda でよく使うコマンド

Windows10でのpython環境の管理にAnacondaを利用していますが、Anaconda Navigatorが重いので大抵はコマンドラインで操作しています。
以下のサイトでよく使うコマンドがまとめられていましたのでご紹介します。
qiita.com

仮想環境の構築をするときは

conda create -n [name] python=[version][library]

仮想環境のrenameをするときには

仮想環境の名称変更 conda create -n [new name] --clone [old name]
仮想環境の削除 conda remove -n [old name] --all

とすればいいんですね。

tensorboardではまった話

最近久しぶりにtensorboarを使ったらはまったので顛末をメモ 動作環境はWindows10 + Anacondaでtensorflow1.9です。

現象

tensorboard --logdir LOG_FILE_PATH

(LOG_FILE_PATHは絶対パス)
でtensorboadは以下のメッセージが表示され問題なく動いているように見えます。

TensorBoard 1.10.0 at http://MachineName:6006 (Press CTRL+C to quit)

(MachineNameは動作させているPCの名前)   chromehttp://MachineName:6006 に接続するとなぜか接続できないです。
http://MachineName:6006の代わりにhttp://localhost:6006でもつながらないです。

解決策

起動する際に明示的にホストアドレスを以下のように指定しました。

tensorboard --logdir LOG_FILE_PATH --host=127.0.0.1

これで、http://127.0.0.1:6006 に接続すると以下のように動作しました。

f:id:wshinya:20181004112633p:plain
動作結果

ちなみに、LOG_FILE_PATHは ./hoge のように相対パスでも動きました。
ブラウザーChrome以外にもFirefoxでも問題なく動作しました。

tensorboardの詳しい解説は以下にあります
https://github.com/tensorflow/tensorboard

論文: "CNN-PS: CNN-based Photometric Stereo for General Non-Convex Surfaces"

"CNN-PS: CNN-based Photometric Stereo for General Non-Convex Surfaces"
https://arxiv.org/abs/1808.10093
ECCV2018 Accept論文
実装コード:
github.com
Photometric stereoで法線を取得する話。
複雑な光源環境でオブジェクトのphotometric stereo 画像からsurface normalをCNNを使って予想する方法の研究.
学習データはsyntheticに作成。

論文: "UNet++: A Nested U-Net Architecture for Medical Image Segmentation"

"UNet++: A Nested U-Net Architecture for Medical Image Segmentation"
https://arxiv.org/abs/1807.10165
医療画像のセグメンテーションや領域切り出しでよく使われているU-Netを変形してUNet++という新しいネットワークを
提案した論文。

Unetはencoder-decoderタイプの深層学習アーキテクチャだが、Unet++も同様の構造をしている。
ただし、encoderの出力がskip connectionにより同じサイズのdecoderにマージされるところが、異なり、Unetの場合には単純にdecode側にくっつけるだけだったが、
Unet++ではskip connectionのところをCNN(nested dense skip pathways.)にしてencoderとdecoderの持っているセマンティックに対する非対称性を緩和できるようにする。
目的は領域のセグメンテーションの精度を上げるため。

論文: "Loosely-Coupled Semi-Direct Monocular SLAM"

"Loosely-Coupled Semi-Direct Monocular SLAM"
https://arxiv.org/abs/1807.10073
https://www.youtube.com/watch?v=j7WnU7ZpZ8c&feature=youtu.be

Visual SLAMの話です。
ピクセルの情報を直接使うDirectな方法と画像の特徴量を使うFeature-baseな方法を合体させてそれぞれのいいとこどりをしましたという論文。
DSOとORB-SLAMのパイプラインを合体させた構造で、単眼SLAMでは正確性やロバストネスの点で二つのベンチマークのテストでSOTAだと言っています。

はてなブログで数式をきれいに書く方法

はてなブログtexを使って数式を書くときに、思い通りにきれいな式が出ないことがあります。
はてなブログ特有の方法があるようなのですが、以下のサイトにわかりやすくまとめてありました。
7shi.hateblo.jp
私のブログでも、下付きの添え字や上付きの添え字がおかしくなってる場所を直せそうです。

論文:"The Double Sphere Camera Model"

論文:"The Double Sphere Camera Model"
https://arxiv.org/abs/1807.08957

自動運転やロボットARやドローンなどカメラ画像ベースで周辺のオブジェクトの3D構造を取得したり、自己位置を推定したいという要求はたくさんあります。
そんなとき、なるべく少ないカメラで広い範囲の画像を撮ろうとしますが、そうすると超広角レンズやいわゆる魚眼レンズのようなFOVの広いレンズで撮影することになります。
FOVが広いのはいいのですが、取得した画像が歪んでしまっています。
この論文は、そいういう超広角レンズの画像の扱いに関しての最近の研究のレビューです。
projection、unprojection関数が紹介されていたり、Double Sphere Camera modelというモデルが紹介されています。
キャリブレーションデータを使っていくつかのレンズに対して、各モデルの評価も行い、reprojection errorやprojectionにかかる計算時間、逆射影やそのヤコビアンなどが示されている。