藻ログ

都会でOLをしています

今年買ってよかったもの

(カメラとしての) Google Pixel3

store.google.com

これまでは良い絵が撮りたければデカいセンサに優れたレンズを備えるのが常識で,スマートフォンでの撮影には特に期待していませんでした.
が,Pixel3 では カメラというハードウェアの限界をCV技術が実用レベルで補い始めたのを見て驚きました.

Portrait Mode

被写体を中心に背景がボケた(単焦点一眼風の)写真を簡単に撮影できるモードです*1
技術的にはPDAF (phase-detection autofocus) images *2 を入力とした stereo matching (depth from stereo) を encoder-decoder ベースの CNNで解いてるそうです.
Pixel3 は single-camera ですが,PDAF 入力が使えるので(single-image を入力とする)単眼 depth 推定をしているわけじゃないんですね.
アーキテクチャとしては DispNet [N.Mayer+,CVPR16]*3 を改良した DispResNet [J.Pang+,ICCVWS17]*4 が近そうに見えます.

Training Dataset

このCNN の訓練には PDAF images と depth (ground truth) のペアが必要です.
しかし stereo CNN のデータセットは CGだったりPDAFでなかったり*5 そもそも実際のPixel3とはカメラ特性が異なるため,開発では自力でデータセットを作成するために Pixel3 を5台ジョイントした撮影機(Frankenphoneと名付けられている...)を用意しています.(公式ブログ*6より引用)

このFrankenphone...では5台のPixel3をWi-Fi同期撮影し,SfM (structure-from-motion) + MVS (multi-view-stereo) で教師用の depthを作成します*7
より詳しくは以下のブログに記載されています.関連文献は挙げられていませんが,データセットの作成方法についてはもっと詳しく読んでみたいです.
ai.googleblog.com

PDAF - CNN では 絶対スケールで depth を推定することは困難であるため,object の相対的な depth が出れば良し,というように割り切っています.
これは Portrait Mode の目的はいい感じにぼけを適用することなので,absolute depth は必要なく relative depth が得られれば十分ということです.

run CNN models on smartphones

CNNモデルのデプロイには Tensorflow Lite を使っているようですが,あまり詳しく触れられていないので量子化モデルを使っているのかまではわかりません.
推論は Pixel3 のGPU上で行っていますがほぼリアルタイムで遅延も感じません.
研究成果を最新のソフトウェア成果に載せて,自社製品として出荷できるのは非常に凄いことですね.
www.tensorflow.org

実際に Portrait Mode で写真を撮影すると↓のような絵が撮れます.

f:id:nisimur:20181230233857j:plainf:id:nisimur:20181230233835j:plain

Night Sight Mode

Portraid Mode について喋りすぎたので割愛しますが,変態なのは Night Sight=夜景モード ではないでしょうか.
ai.googleblog.com

この小さいセンサ*8 でこんな感じの夜景が撮れます.
f:id:nisimur:20181231152130j:plain

Further more ...

その他の機能(カメラ)について詳細なレビューが知りたい場合はこちらをどうぞ.
www.dpreview.com

Pixel3 の良くない点

  • 高い
  • 重い(これはマジで重い)

感想:Pixel3 は CV カメラである

  • カメラだと思えば安い
  • カメラから Twitter や メールができて凄い
  • CV技術がカメラと融合しているのを体験できる
  • ユーザ目線では PDAF入力で encoder-decoder CNN 使って depth 推定するモデルが tflite で動いてる...! とかなんとか裏で起きていることを知覚させることなく なんかいい感じの写真が撮れる という抽象的な体験に変わっていて,色々考えさせられた

STAUB La Cocotte de GOHAN Sサイズ

https://dyn.keepa.com/pricehistory.png?domain=co.jp&asin=B003Y3M3K0

  • 炊飯器を買い換えようかな〜というときに,1合をサッと炊けるものが欲しくて買いました.
  • STAUB の鍋といえば デカい高い重い ですが,このSサイズは3口コンロの一番小さいコンロにフィットする大きさでとても小さく,まあそれでも重いです(え).
  • SサイズとMサイズがありますが,炊きたてを食べることを考えるとSサイズがオススメです.
  • 最短で16分で1合が炊けます *9. 半合を炊いてそのまま丼にして食べたりもします.
  • Keepa (Chrome 拡張) で見ているとたまに安くなっている時があるので,その時に買いました
  • シーズニングは必要ですが,そこまで面倒ではないです.鍋で炊くお米はとても美味しいです.

keepa.com

SONY wireless NC headphone WH-1000XM3

https://dyn.keepa.com/pricehistory.png?domain=co.jp&asin=B07GZ8DZC8

  • 1000XM2 と比べると凄く軽くなっていました
  • 見た目は 1000XM2 の方が高級感があった
  • タッチセンサーの反応はよかった
  • NC は素晴らしい

ヘッドホンカバー

  • 取り外して洗濯できるということで買いました
  • 蒸れが解消されました

mimimamo スーパーストレッチヘッドホンカバー L (黒)

mimimamo スーパーストレッチヘッドホンカバー L (黒)

バナナスタンド

  • 100均とかで売ってる
  • バナナではなくヘッドホンを吊るのに丁度良いです

CASUAL PRODUCT ワイヤー バナナスタンド 064739

CASUAL PRODUCT ワイヤー バナナスタンド 064739

The Manager's Path

  • マネージャ向けというより,マネジメントされる立場の話からインターンのメンターに到るまで幅広いトピックがカバーされています
  • 上司とどうコミュニケーションすべきか等のトピックも扱われているので,新卒の人に勧めたいと思いました

エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド

エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド

ライト,ついてますか

  • 問題とは何なのでしょうか.それは誰の問題で,立場によって見え方が同じものなのでしょうか?
  • 技術者の日常は問題解決の繰り返しです.問題とは何かについて知ることができれば,より良い解決方法を模索することができます.

ライト、ついてますか―問題発見の人間学

ライト、ついてますか―問題発見の人間学

漫画

  • 途中から絵と話が変わることで話題(?)のはねバド!が面白かった
  • 5巻以降を買うと面白い
  • アニメはすごくギスギスしていた

www.mangabox.me

*1:ボケ具合や対象は撮影後に調節することもできる

*2:PDAF は位相差AF と像面位相差AF という分類がある.位相差AFはセパレータレンズを通して2つの像を作り,その2つの像のズレからピントの合うレンズの位置を計算して合わせるAF方式である.それに対し像面位相差AFでは専用の機構はなく,イメージセンサ自体に位相差AFの機能を組み込んでいる https://photosku.com/archives/1157/

*3:[1512.02134] A Large Dataset to Train Convolutional Networks for Disparity, Optical Flow, and Scene Flow Estimation

*4:[1708.09204] Cascade Residual Learning: A Two-stage Convolutional Neural Network for Stereo Matching

*5:というかPDAF入力を使うCNN depth 推定,という問題設定はあまり見たことがない

*6:Google AI Blog: Learning to Predict Depth on the Pixel 3 Phones

*7:SfM+MVS で得られた depth は不完全なもの

*8:例えば Pixel3 のセンサは1/2.55 インチ (iPhone XR などで採用されているものとほぼ同じ大きさ).これは 1型センサー(SONY RX-100 など)に対して40%程度,APS-C (Canon EOS Kiss M, RICOH GR など) に対しては 6〜7% 程度の大きさになる.

*9:理想的には浸水30分+炊飯8分+蒸らし8分