今年買ってよかったもの
(カメラとしての) Google Pixel3
これまでは良い絵が撮りたければデカいセンサに優れたレンズを備えるのが常識で,スマートフォンでの撮影には特に期待していませんでした.
が,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 で写真を撮影すると↓のような絵が撮れます.
Night Sight Mode
Portraid Mode について喋りすぎたので割愛しますが,変態なのは Night Sight=夜景モード ではないでしょうか.
ai.googleblog.com
この小さいセンサ*8 でこんな感じの夜景が撮れます.
Further more ...
その他の機能(カメラ)について詳細なレビューが知りたい場合はこちらをどうぞ.
www.dpreview.com
Pixel3 の良くない点
- 高い
- 重い(これはマジで重い)
感想:Pixel3 は CV カメラである
- カメラだと思えば安い
- カメラから Twitter や メールができて凄い
- CV技術がカメラと融合しているのを体験できる
- ユーザ目線では
PDAF入力で encoder-decoder CNN 使って depth 推定するモデルが tflite で動いてる...!
とかなんとか裏で起きていることを知覚させることなく なんかいい感じの写真が撮れる という抽象的な体験に変わっていて,色々考えさせられた
STAUB La Cocotte de GOHAN Sサイズ
- 炊飯器を買い換えようかな〜というときに,1合をサッと炊けるものが欲しくて買いました.
- STAUB の鍋といえば デカい高い重い ですが,このSサイズは3口コンロの一番小さいコンロにフィットする大きさでとても小さく,まあそれでも重いです(え).
- SサイズとMサイズがありますが,炊きたてを食べることを考えるとSサイズがオススメです.
- 最短で16分で1合が炊けます *9. 半合を炊いてそのまま丼にして食べたりもします.
- Keepa (Chrome 拡張) で見ているとたまに安くなっている時があるので,その時に買いました
- シーズニングは必要ですが,そこまで面倒ではないです.鍋で炊くお米はとても美味しいです.
SONY wireless NC headphone WH-1000XM3
- 出版社/メーカー: ソニー
- 発売日: 2018/10/06
- メディア: エレクトロニクス
- この商品を含むブログ (3件) を見る
- 1000XM2 と比べると凄く軽くなっていました
- 見た目は 1000XM2 の方が高級感があった
- タッチセンサーの反応はよかった
- NC は素晴らしい
ヘッドホンカバー
- 取り外して洗濯できるということで買いました
- 蒸れが解消されました
mimimamo スーパーストレッチヘッドホンカバー L (黒)
- 出版社/メーカー: フィフティスクエア株式会社
- メディア: エレクトロニクス
- この商品を含むブログを見る
バナナスタンド
- 100均とかで売ってる
- バナナではなくヘッドホンを吊るのに丁度良いです
CASUAL PRODUCT ワイヤー バナナスタンド 064739
- 出版社/メーカー: 青芳製作所
- メディア: ホーム&キッチン
- この商品を含むブログを見る
本
The Manager's Path
- マネージャ向けというより,マネジメントされる立場の話からインターンのメンターに到るまで幅広いトピックがカバーされています
- 上司とどうコミュニケーションすべきか等のトピックも扱われているので,新卒の人に勧めたいと思いました
エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド
- 作者: Camille Fournier,及川卓也(まえがき),武舎広幸,武舎るみ
- 出版社/メーカー: オライリージャパン
- 発売日: 2018/09/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
ライト,ついてますか
- 問題とは何なのでしょうか.それは誰の問題で,立場によって見え方が同じものなのでしょうか?
- 技術者の日常は問題解決の繰り返しです.問題とは何かについて知ることができれば,より良い解決方法を模索することができます.
- 作者: ドナルド・C・ゴース,G.M.ワインバーグ,木村泉
- 出版社/メーカー: 共立出版
- 発売日: 1987/10/25
- メディア: 単行本
- 購入: 53人 クリック: 509回
- この商品を含むブログ (188件) を見る
漫画
- 途中から絵と話が変わることで話題(?)のはねバド!が面白かった
- 5巻以降を買うと面白い
- アニメはすごくギスギスしていた
- 作者: 濱田浩輔
- 出版社/メーカー: 講談社
- 発売日: 2017/05/01
- メディア: Kindle版
- この商品を含むブログを見る
*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分