画像のフリップ (Image Flipping):左右反転 と 上下反転 [画像変換]

1. 画像のフリップ (Image Flipping) とは [概要]

画像のフリップ(Image Flipping)とは,各画素の水平反転での入れ替え,もしくは垂直方向の反転を行い,左右反転 or 上下反転 に裏返された画像をつくる画像変換のことをさす.その結果として,水平 or 垂直方向に対する「元の画像の鏡像画像」が獲得できる.

この記事では,フリップの処理の概要(1節)と,インカメラの(疑似)鏡像画像 (2節)について整理する.また,3節では,データ拡張でのフリップ処理の使用について,その動機や条件について整理する.

1.1 記事の構成

  • 1. 画像のフリップ処理の概要
    • 1.2 フリップの処理
    • 1.3 フロップも「フリップ」と呼ぶように
  • 2. カメラで撮影される左右反転画像
  • 3. データ拡張でのフロップ処理の使用
  • 4. まとめ

1.2 フリップの処理:上下反転 と 左右反転

画像のフリップ (Image Flipping)
画像のフリップ (Image Flipping)

画素値を左右反転した場所に移動して,鏡像画像を作る処理が,フリップ処理である(図1).図1は,処理する前の元画像(図1-a)に対して,左右方向反転(図1-b)と上下方向反転(図1-c)の処理を行った結果を示したものである.

実装としては,基本的には,水平もしくは垂直方向の反転軸を対称,全画素を反対側の対称な位置へ移動する処理をコーディングすれば終わりである.一方で,アフィン変換による変形(特に回転など)を途中で経ても,実現可能ではある.

1.3 フロップも「フリップ」と呼ぶように

英語では,図1のような「画像の左右反転」を行った画像を,本来はFlopped Image (Wikipedia – en)と呼んでいた.英語の flopは「ドスンとイスなどに座る」「ソファーやベッドに倒れ込む」など,横向きや下に落ちるイメージである.

一方で,水面などにうつる山や建物のように,垂直方向に(※ 中心軸ではなく)裏返しされた画像を,Flipped ImageReversed Image (Wikipedia – en)と呼ぶ.英語のflipは「めくる・裏返す」という意味である.フォトグラフィに,湖面に鏡像として垂直反転されて映る山や木々や建物を狙って,画像中に縦の反転対象同士を撮影するテクニックがあるが,これもflipped imageの例である.

※ ピン芸人が行う「フリップ芸」を思い出すと,フリップが「(特に縦方向に)めくる・裏返す」であることを想起しやすくて良い.

しかし,いつしか,デジタルカメラや画像処理の文脈では,「フロップする(flop)」と呼ぶべき水平反転処理も,フリップする(flipping)と呼ぶのが定着した.皆様も,(英語)論文中のデータ拡張(3節)のなどでは,左右鏡像反転処理のことを「フリップ(flip)」と呼ぶのが定着しているのはご存知だと思う.左右方向でも「めくる・裏返す」で反転されるので,フリップと読んでも問題ないのではあるが,flip phone(折畳みケータイ)などのように,やや「縦・垂直方向」なのが「flip」の動作である.

※ OpenCVのcv2.flipも,左右反転(flop = flip horizontal)も上下反転(flip vertical)の,両方の機能を備えた関数である.

日本語の場合は「左右反転 v.s. 上下反転」,もしくは「水平反転 v.s. 垂直反転」と呼べば英語の呼びかたを避けることも可能である.ただ,英語(論文)だと,flip と flopのどちらで書くか迷うこともあるので,基本的に今は「画像のflip = 左右反転」であるとおさえておきたい.

2. インカメラと鏡像反転

各社スマートフォンやノートパソコンなどの「インカメラ側」で画像を撮影すると,鏡で写る自分と同じ「(左右反転された)鏡像画像」が,モニター画面上にはリアルタイムに表示される.これは,スマートフォン内部でわざとフリップ処理済みの画像に加工されており,その結果画像が,ディスプレイ画面に映し出されていることになる.

その理由は,ビデオ通話やストリーミング配信時に,「鏡で見る自分とおなじように,顔や上半身が映ってくれる」ことで,この方がモニター画面を見ていて,直感的であり(左右逆ではないので)混乱しないことが理由である.インカメラ画像が,左右反転された状態で鏡像として映し出されるおかげで,鏡に映っている自分を見ながら,テレビ通話やストリーミング配信が行える.

近年のスマートフォンOSの場合,リアルタイムのモニター上は鏡映しにフリップされたものが映っていても,その画像や動画を保存すると,フリップ処理が行われる前の,カメラで撮影された元の画像・動画が保存される.

もし鏡像画像・動画のほうが都合がよいケースは,例えば iPhoneの場合だと標準搭載の「写真」アプリで,画像・動画のフリップ処理が行える.例えば,「iPhoneに向かってダンスを撮影した動画」など,鏡写し状態をあとで確認したい場合,フリップ処理をあとで行うと鏡像状態の映像になるので確認に便利である.

3. データ拡張におけるフロップ処理の使用

T.B.D.

4. まとめ

画像のフリップ(左右反転)についてこの記事では述べた.

画像のフリップは元々「上下反転,裏返し」のみを指す言葉だったのが,「フロップ」と読んでいた左右反転も「フリップ」と呼ぶようになっていることを整理した(1.3節).また,スマートフォンのインカメラ表示で行われる鏡像反転について整理した(2節).

関連書籍

References

参照外部リンク