の大臼歯用ブロック...ラインアップ CAD/CAM用ハイブリッドレジンブロック KZR-CAD HR ブロック3 ガンマシータ (a = 幅、 b = 奥行、 c =
JPEGのDCTブロックで コンテンツ指向のトリミング
-
Upload
yohsuke-furuta -
Category
Engineering
-
view
24.243 -
download
0
Transcript of JPEGのDCTブロックで コンテンツ指向のトリミング
コンテンツ指向のトリミング?
• トリミングする場所やサイズを画像内容によって変化させることをここではそう呼ぶことにします
http://www.imagemagick.org/discourse-server/viewtopic.php?t=18065
× 顔認識は計算リソースがかなり必要
× 事前計算する場合、それを記録するストレージが必要
× 顔以外は考慮してくれない
× 画像変換サービスにはかなり重い
FacebookのOGP画像に顔が入っている場合のトリミング位置 | Sunday In The Park http://snowadays.jp/2014/03/2629
• 実例:Facebook
• 顔認識の結果をベースとしている(らしい)
原理1. JPEGのデコードの過程で、元画像を8x8pixelごとに離散
コサイン変換(DCT)したデータを得られる
2. 画像をDCT変換すると高周波と低周波に分離できる
3. 経験則:コンテンツのある場所は周波数が高い
• 写真:ピントが合ってエッジが立ってる
• イラスト:書き込みが多く、輪郭線が多い
• 顔:目や口、髪の毛の陰影
アプローチ• ハフマン展開+逆量子化とDCT-I の間に処理を追加
• 各ブロック内の高周波成分を積分してブロックの特徴量を算出
• 全ブロックの特徴量の重心を計算
• 重心が枠に入るように適当なサイズでcrop
• ハフマン展開+逆量子化
• 高周波成分の算出
✓JPEGの圧縮・展開工程内のDCTをそのまま使うので追加計算が少ない
✓追加実装も少ない!
✓パターンマッチングではないのでコンテンツの種類を問わない
× JPEGにしか適用できない
× 緻密なコンテンツ、複数の物体が同居しているコンテンツにはメリット小さい
× 文字が入っているコンテンツは苦手
https://github.com/yohsuke/jpgjs/tree/content-detected-crop