太田研 公開用Wiki

ドット・格子を用いた模様掛けによる色覚異常者のための画像変換手法

(編集途中2)

研究背景

 色覚異常とは, 網膜内の色を感じ取る視細胞の一種である「錐体」に異常があることにより, 色が正常とされる範囲と異なって認識されてしまう色覚特性のことである.

 色覚正常者にとって別の色として識別できる色が,色覚異常者にとっては同じ色として混同されてしまう場合もあり, 日常生活や就労など様々な面で不便を抱えてきた.

 色覚異常者の数は日本人では男性で5 %, 女性で0.2 %と少なくは無く, バリアフリー社会の推進, またQOLの観点からより一層の理解と補助が求められている.

 本研究では特に,書類やWebページ等で用いられるグラフや表の改善を対象として取り扱う。

研究目的

 本来であれば、予め色覚異常者にとっても識別しやすいカラーユニバーサルデザイン(CUD)を準拠した画像作成を行うことが理想であるが, そのような画像の作成には色覚異常に関する理解や知識が必要であるため,対応が十分行われていない画像が殆どである.よって本研究ではプログラムを用いて, 改善の必要のある画像に対して処理を行い, 色覚正常者, 色覚異常者の両者にとって識別容易な画像を自動的に生成することを目指す.

 本研究では両者にとって見やすい画像を作るという観点から模様掛け手法を用いる. また,図や表に対する模様掛け手法として著名であるハッチング手法を改良する形で新しい模様掛け手法の開発を行う.

 また、本研究は従来手法として筆者の過去研究を用いており,領域選別手法等については前提知識としているため,詳しくは過去研究「ハッチングを用いた色覚異常者のための画像変換手法」を参照されたい。

問題点

   斜線状のテクスチャを用いるハッチング手法では概ね良好な結果を得られることが多いが,適用対象の領域形状によっては効果を十分に発揮しない場合があり、今回は約50枚の画像に対するハッチング処理の適用実験によって見つかった2つの大きな問題点に着目した.

問題点1.棒状の領域に対してハッチングが認識しづらい

rosen_ex.jpg
図1 ハッチングの問題点① 棒状領域

 図1では路線を表すそれぞれの色の棒状領域が色覚異常者にとっては区別しづらい色になってしまうが,ハッチングを付加することにより区別が可能になっている.  しかし,路線の形状が棒状であり,かつハッチングもまた太い斜線状のテクスチャであることから,角度の判別がしづらく,凡例との対応も分かりづらくなってしまうことが分かる.  また,ハッチングの角度と同角度の太線領域が画像内にあった場合は,その模様が全く識別出来なくなる考えられる.

問題点2.凡例への模様掛けが不十分

circle_hatch.jpg
図2 ハッチングの問題点② 凡例

 図2では円グラフとそれぞれの領域に対応する凡例が示されており,色覚異常者にとって区別しづらくなってしまう色にハッチングを掛けることにでグラフと凡例との対応が識別できるようになっている.  しかし,凡例領域に適用されている模様掛けはその一部分しか示されておらず,充分にその対応が分かり易くなっているとは言い切れない.

 

提案手法

問題点への対処

太線状の領域に対しての対処

 棒状の領域では,ハッチングの形状,また色を角度で表現するという仕様上,模様の判別が難しかった,その点への対処として角度以外の要素で色の違いを表した一様に均等なテクスチャを使用することとした.  今回はドットと格子という2種類の模様掛けを考案した.それぞれ色に依存して円の半径,格子の太さを変化させることにより色の違いを表現する.  それぞれのテクスチャは太線領域以外にも効果があると考え,太線領域にのみこの手法を用いるのではなく,太線領域以外の全ての領域についてもこの手法を用いる.  ドットと格子テクスチャの参考画像をそれぞれ図3,図4に示す.

ex4.jpg
図3
ex9.jpg
図4

凡例に対しての対処

凡例がある場合には処理が掛かったとしても模様の識別が難しい.
本手法では,上で述べたドット・格子の両方で,凡例の面積に依存して模様のピッチを密に変化させることによって凡例への模様掛けの識別を補助する.
凡例を凡例であるとプログラムに認識させることは難しいことや,凡例以外にも小さな領域を識別する必要があることを想定し,
今回はあくまでも同ラベル上で独立した最小の領域面積に依存してピッチを変化させることを考える.

ラベル番号と独立最小領域の面積の対応付け

凡例への対処として,独立最小領域に依存したピッチ変更を行うが,そのためにラベル番号と各ラベルの独立最小領域面積を対応付けさせる.

そのための手順について説明する.  領域選別手法において小領域除去を行った後,色による選別を行う前の段階で各ラベル毎に画素数をカウントし,面積を計算する. ここで,領域選別のためのラベルデータとは別に,各領域ごとに面積を計算し各画素に面積情報を記録したラベルデータを作成する.これを面積ラベルとする. その後,同色に対応付けられたラベル番号の面積を比較し,最小のものに値をそろえる.これによって同色の情報を持つラベルはすべて独立最小領域の面積ラベル番号に整えられる.  面積ラベルを視覚化して出力した結果を図5に示す.

dokuobi.png
count.png
図5 同色領域の面積ラベルを独立小領域の面積ラベルに統一したラベル画像

ドット・格子法概要}

 提案手法であるドット・格子法はドット,及び格子柄テクスチャを一つの画像で同時に使い分ける手法であり,  色覚異常者の異常がある錐体が受ける刺激値と色覚正常者の該当錐体が受ける刺激値の差の正負によってテクスチャを使い分ける.\par  第一色盲を想定した場合,ハッチングではL刺激値の差を考え,正であれば右側への傾き,負であれば左側への傾きと  設定されていたが,提案手法では,L刺激値差が正であれば格子,負であればドットを適用する.  同様に第二色盲を考慮する場合であればM刺激値差を用いる.  L刺激値差の正負によって二つのテクスチャを使い分けるのは,ドット,格子のどちらも模様の大きさを変化させる手法であるため,単一のテクスチャのみを用いると刺激値差の正負で  形状が対称的になってしまい色の識別が不可能になってしまう為である.\par  2つのテクスチャの使い分けを行うため,処理領域の選別過程において色による除去を行った後,該当の刺激値差の正負によってラベル番号を振りなおす.  刺激値差が正であれば正のラベル番号を,負であれば負のラベル番号を改めて振りなおし,正のラベル番号であれば格子,負のラベル番号であればドットの模様掛けを用いる.\par  それぞれの模様掛けについて詳しく説明する.

 格子法

   

 対象領域に水平,垂直方向それぞれの直線(濃線)を等間隔で引くことによって格子状の模様掛けを行う.  ラベルごとに濃線同士の間隔(pitch)と,濃線の太さ(thickness)をパラメータとして持つ.  なお,pitchは濃線の中央から次の濃線の中央までの距離とする.  画像の上端から着目画素までの垂直距離をyとしたとき,pitch,thicknessを用いて,濃線として描画する範囲を下のように定義する.

  	  0 \leq y \ \% \ pitch < \frac{thickness}{ 2 }
          pitch - \frac{thickness}{2} \leq y \ \% \ pitch < pitch

 具体例として,pitch = 9,thickness = 4 とした場合の例を図7に示す.

           

 #ref(49zentai.jpg,center,55%)  #ref(kousi_lec.png,center,55%)  CENTER:図7:格子掛けアルゴリズムの具体例

 また,画像の左端から着目画素までの距離をxと定義して同じ処理を行うことにより,格子状のテクスチャを表現する.  本手法では,該当の刺激値差に依存して濃線の太さ(thickness)を変化させることによって色を表現する.  また,模様掛けの付加が行われても対象領域の面積が小さい場合,模様を視認できない場合があるため,対象色を持つ全領域において独立した最小領域の面積に応じて間隔(pitch)を狭めることによって視認をを可能とさせる.  pitchは直線同士の間隔を表すパラメータであり,濃線の中心同士の距離を表す.%各ラベルにおいて,独立した最小領域(独立最小領域)の面積に従って変化させる.  仮に独立最小領域内に直線が水平,垂直方向それぞれ1本ずつしか視認できない場合,格子テクスチャの大きさを正確に識別することはできない.  テクスチャを把握するためには最低限,格子を構成する正方形の全形一つが独立最小領域内に入る必要があると考えられ,そのためには  最大で3本の濃線の全形が独立最小領域内に丁度入る状態を基本形として定義すればよい.  なお,独立最小領域の面積をaとし,その面積の形状を正方形であると仮定して1辺の長さを$\sqrt{a}$とする.  独立最小領域内に濃線の全形が3本視認できるようピッチを式(\ref{form14})で定義する.  また,その状態を図示したものを図8に示す.

  	  pitch = 2 / 5 \sqrt{a}
       

 #ref(kousi_ex.jpg,center,55%)  CENTER:図8:格子テクスチャの基本形}%独立最小領域に3本の直線の全形が入る場合

   

 図8は,格子の太さが最大の場合を考えており,この時に三本線の全形が視認できれば濃線の太さや間隔がどう変化しても常に独立最小領域内に2本の濃線が視認できることとなる.  thicknessは直線の太さを表すパラメータであり,対象色を色覚正常者と色覚異常者が見た場合の該当刺激値差(dif)に依存して変化する.  また,模様掛けはあくまでも補助的役割を成すものであり,本来の色よりも模様掛けのテクスチャ部分が多くの面積を占めてしまうことは望ましくないと考え,元画像部分の大きさを濃線の太さが上回らないようにするため,ピッチの変化に伴って濃線の太さを圧縮させる.  濃線の太さが満たすべき条件は式(\ref{form15})の通りである.

   
       \begin{eqnarray}
  	  thickness \geq \frac{ pitch }{ 2 }
 	  \label{form15}
  	\end{eqnarray}
       
   上記の条件に則るよう式(\ref{form16})のように定義する.
 
  
       \begin{eqnarray}
         thickness = 1.33 × \sqrt{dif} × pitch
 	  \label{form16}
  	\end{eqnarray}  
       
   また,今回は独立最小領域の最大面積を900と設定しており,その場合一辺の長さは30,pitchとthicknessそれぞれの最大値は式(\ref{form16})(\ref{form17})で
   計算されるように,それぞれ12,約6となる.\par
   なお,difの上限は,実験での測定値の最大である0.14を用いた.
   
   	\begin{eqnarray}
  	  pitch_{MAX} &=& \frac{ 2×30 }{ 5 }\nonumber\\
       	&=& 12
 	  \label{form16}
  	\end{eqnarray}
       
      	\begin{eqnarray}
         thickness_{MAX} &=& 1.33 × \sqrt{0.14} × pitch\nonumber\\
       	&=&  5.971\cdots\nonumber\\
               & \simeq &  6
 	  \label{form17}
  	\end{eqnarray}   
       
       
       
	\subsection{ドット法}
 
   対象領域に円形の模様を等間隔で描画することよってドット柄の模様掛けを行う.\par
   ラベルごとに斜めに隣接する円の中心同士の距離(distance)と,円の半径(radius)をパラメータとして持つ.\par   
   水平方向に隣接するの円同士の間隔は$\sqrt{2}*distance$であり,また,偶数行目の円の列に関しては$distance / \sqrt{2}$だけ右にシフトすることで一様なドット状テクスチャを表現する.\par
   上記のイメージを図\ref{fig25}に示す.
   
     \begin{figure}[!htbp]
       \begin{center}
         \includegraphics[scale=0.3]{jpg/dot_lec.jpg}
         \caption{ドットテクスチャの基本形}
         \label{fig25}
       \end{center}
     \end{figure}\par      
     
     
   本手法では,該当の刺激値差に依存してドットの半径(radius)を変化させることによって色を表現し,
   また,同色の領域において独立した最小の面積に応じて円同士の距離(distance)を狭めることによって視認をを可能とさせる.
   仮に独立最小領域内にきわめて少ない個数の円しか描画されていない場合,ドットのテクスチャを十分に認識することはできない.
   そのため,テクスチャを把握するためには,8個程度の円が含まれていればよいと考え,図\ref{fig25}のような円の配置を基準として定義することとする.
  図\ref{fig25}は,円の半径が最大の場合を考えており,その面積を考えると合計で8つ分の円が独立最小領域内に視認できるようになっており,円のの大きさや間隔が変化しても常に
   8つ程度の円が視認できることとなる.
   図\ref{fig25}のような配置状態となるよう式(\ref{form18})のように定義する.      
 
 	
       \begin{eqnarray}
  	  dist = \frac{\sqrt{a}}{2\sqrt{2}}
 	  \label{form18}
  	\end{eqnarray}
       
       
        
  radiusはドットの半径表すパラメータであり,対象色を色覚正常者と色覚異常者が見た場合の該当刺激値差(dif)に依存して変化する. \par     
   %radiusは円の半径を表すパラメータであり,対象色を色覚正常者と色覚異常者が見た場合の色差(dif)に依存して変化する.
   また,模様掛けはあくまでも補助的役割を成すものであり,本来の色よりも模様掛けのテクスチャ部分が多くの面積を占めてしまうことは望ましくないと考え,
   円同士の距離に対し,円の半径が大きくなりすぎないようにするため,距離の変化に伴って半径を圧縮させる.
   今回は半径の大きさを円同士の距離distの3分の1までとすることにした.
   半径満たすべき条件は式(\ref{form19})の通りである.
       
       \begin{eqnarray}
  	  radius \geq  \frac{dist}{3}
 	  \label{form19}
  	\end{eqnarray}
               
   上記の条件に則るよう式(\ref{form20})のように定義する.
       
       
             
	\begin{eqnarray}
         radius = 0.89 × \sqrt{dif} × distance
 	  \label{form20}
	\end{eqnarray}         
 
  また,独立した最小領域の最大面積を900とした場合,その一辺の長さは30となり,distanceとradiusそれぞれの最大値は式(\ref{form21})(\ref{form22})で計算されるように,それぞれ$\frac{5\sqrt{2}}{2}$,約3.5となる.
   
 	\begin{eqnarray}
  	  distance_{MAX} &=& \frac{30}{ 2\sqrt{2} }\\
       	&=& \frac{15\sqrt{2}}{2}
 	  \label{form21}
  	\end{eqnarray}
       
      	\begin{eqnarray}
       radius_{MAX} &=&  0.89 × \sqrt{0.14} × distance\nonumber\\
       	&=&  3.532\cdots\nonumber\\
               & \simeq &  3.5
 	  \label{form22}
  	\end{eqnarray}   

ハッチングの作成

角度

 画像上のx 軸正方向からの角度をθと定義し,ハッチングの角度(傾き)を決定する. 本手法では色覚異常者及び色覚正常者の体が受ける刺激値の差から,下の式を用いて決定する.(第一色盲の場合)

θ =π/2+π/4(7.1(L - L1))

間隔

 ディスプレイ上におけるハッチングの波長をおよそ20px/cycleとする. 画像の左下端を原点とし,水平方向をx軸,垂直方向をy 軸としてとったとき, 直線y = (tanθ)x を計算し,この直線と現在着目している画素の距離を計算し, ハッ チングの明部にあたる部分か暗部にあたる部分かを判断する.

手法適用例および問題点

 領域選別手法を適用した結果を図5に示す.

#ref(): File not found: "example1.jpg" at page "ドット・格子を用いた色覚異常者のための画像変換手法"

図5 領域選別手法適用例

 処理領域の選別を用いた手法は,図5のように概ね良好な結果を得られることが多いが,図6のように,角度による表現のみでは未だ識別が容易になったとは言い切れない部分もある.

 そこで,新たにハッチングの濃度という指標を用い,視認性の向上を試みた.

example_k1.jpg
図6 生成されたラベル画像

提案手法

濃度変化

 本来, 色覚異常者, 色覚正常者両者にとって見える色が等しい色についてはハッチングを適用する必要は無いと考えられ, 逆に両者で見える色の差が大きい程, ハッチングを適用する必要性が高いと考えられる.

 このことから, ハッチングの必要度に応じて濃度を変化させ, 両者にとって見える色の差が小さい程薄く, 大きい程濃くするよう処理を加えた.

 下の式はハッチングの濃度変化に関する式である.

α= 0.5 * | π/2 - θ |
RGB′= RGB * (1 - α)

 αは濃度に関する係数であり, はハッチングの角度を表す. π/2( 90 °) との差の絶対値を取ることにより, 角度が横に傾く程αの値は大きくなる.

 RGB は色領域の画素値であり,RGB ’はハッチングの縞模様部分に該当する画素値となる.

 RGB 表色系では,3つの値が全て0を取るとき黒となるため,RGB に1-αを掛けることによりαの値が大きくなる程RGBの値は小さくなり, 縞部分の濃度が強くなっていく. 特に, 角度が90 度をとった時は濃度αが0 となり,ハッチングが掛かっていない状態を表現できる.

 結果として傾きが横に傾くほど濃度が濃くなり,90 °に近づくほど濃度は薄くなる.

提案手法適用例

 図7は上から順に色覚正常者が見た場合, 色覚異常者が見た場合, 従来手法でハッチングをかけた場合, 提案手法である濃度変化を付加した場合のそれぞれの視点によるものの5パターンである.

#ref(): File not found: "gradation.jpg" at page "ドット・格子を用いた色覚異常者のための画像変換手法"

図7 濃度変化処理の適用例

 図8に濃度変化処理を加えた結果を図7に示す.

#ref(): File not found: "example_k2.jpg" at page "ドット・格子を用いた色覚異常者のための画像変換手法"

図8 濃度変化処理の適用結果

 濃度変化を付加することにより, ピンク色の道路のハッチングが濃くなったことがわかる. これは色覚正常者と色覚異常者で見える色が大きく異なるためである.

 また, 逆に一般道路の部分は両者にとって見える色の差が少ないため, ハッチング濃度が薄くなっている.結果としてピンク色の道路の部分と一般道路の部分のコントラストが強調され, 濃度変化処理適用前より視認性が向上したといえる.

まとめ

 本研究では, 色覚異常者にとって識別困難な色に対してハッチングと呼ばれる模様掛けを用いることによって識別の補助を行った. 従来の手法ではすべての色領域に対してハッチングを行っていたために画像が全体として煩雑となっていたが, 処理領域の選別を用いることによって可能な限り適用範囲を絞り込み, 概ね複雑さを解消した処理結果を得ることが出来た. その上, 更に濃度変化処理を加えることによって, 必要度に応じたハッチングの抑止を行い, より視認性を向上させた.

 今後の展開として, グラデーションへの対応, 均等色空間を用いた色差の評価および色差評価方法の見直し, 色覚正常者, 色覚異常者に対するアンケートの実施等が挙げられる. また, 本研究の大きな目的である, 領域ごとの多様なテクスチャの使い分けを目指し, 対象の領域に対してどのテクスチャを適用するのが最も効果的であるかという基準の考察を行い, ハッチング以外の手法との統合を進めていく.


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS