Download presentation
Presentation is loading. Please wait.
1
長岡技術科学大学 オープンハウス2006 『美人フィルタ』
長岡技術科学大学 オープンハウス2006 『美人フィルタ』 小山工業高等専門学校 電気情報工学科 4年 川上 泉
2
『美人フィルタ』の研修目的 MATLABを用いて画像処理の基礎技術を修得し、またRGB空間やHSV空間などの色相空間の基本概念を理解する。
美容整形や化粧などの美人になる方法はいくつもあるが、画像処理技術により、より簡単に“美人に見せる”。
3
基礎技術
4
色空間とは 色空間とは、色をコンピュータで扱うために複数の数値の組み合わせで表現したものである。
色空間にはさまざまな種類があるが、今回の課題では、扱いやすいRGB色空間と、HSV色空間を用いる。
5
RGB色空間 最も一般的な色空間で、様々な色を、赤(Red)、緑(Green)、青(Blue)の光の三原色の組み合わせで
表現する色空間である。 例 RGB(x,y,1) : 赤単色の画像 RGB(x,y,2) : 緑単色の画像 RGB(x,y,3) : 青単色の画像 このような3色の画像を重ねることにより カラー画像を表現する。
6
RGB色空間図
7
HSV色空間 HSVとは色相(Hue)、彩度(Saturation)、明度(Value)の三つの成分でカラーを表現するものであり、画像処理などに適した色空間である。 例 HSV(x,y,1) : 色相のみの画像 HSV(x,y,2) : 彩度のみの画像 HSV(x,y,3) : 明度のみの画像 このような3つの画像を重ねることにより カラー画像を表現する。
8
HSV色空間図
9
RGB色空間→HSV色空間への変換 今回の課題では、RGB色空間で画像を取り込むので、画像処理を行う際にHSV色空間に変換する必要がある。変換するには、MATLABにはrgb2hsv()という関数もあるが、次のような式を用いてもよい。 ・RGB→HSV変換式 MAX=max(R,G,B) Cb-Cg R=MAX MIN=min(R,G,B) H= 2+Cr-Cb G=MAX V=MAX Cg-Cr B=MAX S=(MAX-MIN)/MAX Cr=(MAX-R)/(MAX-MIN) H=60×H Cg=(MAX-G)/(MAX-MIN) H=H+360 H<0 Cb=(MAX-B)/(MAX-MIN)
10
グレイスケール(白黒)画像の表現法 コンピュータではグレイスケール画像は、2次元配列を用いて表現する。
コンピュータではグレイスケール画像は、2次元配列を用いて表現する。 例えばピクセル(画素)数が256×256という画像があるとする。その画像の各画素の座標を(x,y)とすると、大きさが[256,256]という2次元配列を用意し、その対応する座標[x,y]に白(=1)もしくは黒(=0)を代入してやれば、よい。
11
カラー画像の表現法 カラー画像の場合は、白黒画像とは異なり、2次元ではなく3次元の配列を用いて画像を現す。
カラー画像の場合は、白黒画像とは異なり、2次元ではなく3次元の配列を用いて画像を現す。 例えば、ピクセル数が256×256のカラー画像をRGB色空間で表す場合、大きさが[256,256,3]という配列を用意し[x,y,1]にもとの画像の対応する座標(x,y)の赤成分だけを代入することにより赤一色だけの画像を作る。同じように[x,y,2]に緑成分、[x,y,3]に青成分を代入し緑のみの画像、青のみの画像を作る。このようにしてできた[x,y,1~3]の3つの単色の画像を重ねることにより、カラー画像を表現するのである。
12
微分画像の作成方法 微分画像を作成するには、フィルタをかける画素X(i,j)の周辺の画素値の重みつき移動平均をとる方法もあるが、MATLABには、filter2(F,X)という関数があり、原画像X、フィルタ係数Fを入れるだけで微分画像を取ることもできる。 フィルタ係数には様々な種類があり、用いるものによってその効果も様々である。
13
フィルタ係数 -1 0 1 0 1 -4 -1 0 1 1 -8 Y方向微分フィルタ ;X方向のラインを強調する 4方向ラプラシアン
;X方向のラインを強調する 4方向ラプラシアン ;上下左右4方向の ラインを強調する -1 0 1 0 1 -4 8方向ラプラシアン ;上下左右斜の8方向の ラインを強調する X方向微分フィルタ ;y方向のラインを強調する -1 0 1 1 -8
14
「美人フィルタ」
15
一般的な美人の特徴 美人と言っても、個人の趣味や主観によるところが大きいが、一般的には次のような特徴を持つ人は「美人」といえる。
美人と言っても、個人の趣味や主観によるところが大きいが、一般的には次のような特徴を持つ人は「美人」といえる。 目が大きくてパッチリ 色白で明るい顔色 鼻や口が大きすぎずバランスが取れている
16
「美人フィルタ」の概要 「美人」完成 原画像の 取り込み & 肌色領域 の抽出 ノイズ除去 微分画像作成 色相、彩度、 明度の補正 輪郭補正
RGB→HSV変換 肌色領域 の抽出 ノイズ除去 微分画像作成 「美人」完成 色相、彩度、 明度の補正 輪郭補正
17
原画像の取り込み 原画像 美人にしたい画像を MATLABに取り込む。
美人にしたい画像を MATLABに取り込む。 また、このとき取り込んだ画像はRGB色空間なので、画像処理をしやすくするために、この段階でHSV色空間に変換しておく。
18
肌色領域の抽出 肌色は、HSV空間で表現すると、大体次の範囲くらいなので、この範囲に納まる色(肌色)は白、納まらないもの(肌色以外)は黒として、肌色の部分を抽出する。 HSV空間の肌色領域例 0≦H(色相)≦0.2 0.3≦S(彩度)≦0.9 0.3≦V(明度)≦0.9 原画像 肌色領域抽出後 肌色領域抽出
19
ノイズ除去 肌色領域の抽出で肌色の部分を取り出したが、どうしても、似た色の顔以外の部分が出てしまうので、それを取り除く作業がノイズ除去である。 これにより、次の行程での顔部分のみへの画像処理をすることができる。 ノイズ除去後 肌色抽出画像 ノイズ除去
20
微分画像作成 微分画像作成 微分画像とは、数値の変化の大きい部分が表示された画像である。
微分画像とは、数値の変化の大きい部分が表示された画像である。 今回の場合、顔が白(0,0,1)それ以外が黒 (0,0,0)なので、その境界つまり、輪郭部分だけ取り出すことができる。 微分画像 ノイズ除去後画像 微分画像作成
21
輪郭補正 原画像から、微分画像を引いてやる事により輪郭付近が暗くなるので、アイシャドーのような効果を得ることができ、目が大きく見え美人になる。 ただし、このままだと、全体的に暗くなってしまうため、美人に見えにくいので、次の行程で明るさなどを補正してやる必要がある。 原画像 輪郭補正後 輪郭補正
22
色相、彩度、明度の補正 色相、彩度、 明度の補正
輪郭補正後の画像が、暗すぎる場合は、画像をHSV表示したときのV(明度)の値に定数を掛けてやればよい。明度の値が定数倍されることにより、補正後の画像も、明るさが増し、より美人に見えるのである。 同じように、色合いがおかしい場合はH(色相)の値を、彩度がたりない場合はS(彩度)の値を変えてやればHSVの値が補正できる。 補正前 明度補正後 色相、彩度、 明度の補正
23
「美人」完成
24
各行程での画像 原画像 肌色抽出 ノイズ除去後 微分画像 「美人」 輪郭補正後
25
“逆”美人フィルタ 美人フィルタと逆の処理(輪郭を明るく、顔色を暗く)をしてやることにより、元の画像より美人に見えなくすることも可能である。
美人フィルタと逆の処理(輪郭を明るく、顔色を暗く)をしてやることにより、元の画像より美人に見えなくすることも可能である。 美人処理後 逆美人処理後 原画像
26
美人フィルタの欠点、問題点 肌色領域の判定のHSVの値の範囲を見つけるのが難しい。
このフィルタでは、目は大きくなったように見えるが、同時に口や鼻も大きく見えてしまう。(口や鼻はあまり大きくないほうが美人に見える。) 人の趣味の違いによっては「美人」に見えないかもしれない。 元の画像によってはあまり美人にならないかもしれない。 美人に見えるのはモデルによるところも大きい。
27
課題 鼻や口が大きく見えるのを防ぐようにする。(目だけを大きくする。) 簡単に肌色のHSVの領域を探す方法を見つける。
目を大きく見せることや、顔を明るく見せる以外にどんなことをすれば美人になるかをいろいろと試してみる。
28
まとめ 今回作成した「美人フィルタ」では、“美人に見せる”ということで、ひとそれぞれの趣味や主観によるところが大きく、人によっては美人になってないと言うかもしれないけれど、自分は、前より美人になったと思うので、とても満足のいく結果でした。 また、基礎だけど画像処理の具体的な方法を学ぶことができて、とてもいい経験になりました。
29
終
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.