(57)【要約】      （修正有）【課題】  デジタル２値画像（特に線図形）の細線化において生じる、交点、３分岐点、複雑分岐点、鋭角部付近で生じる心線（中心線）の歪みをなくすかあるいは非常に小さくする細線化方式を開発する。【解決手段】  あらかじめ、正確な細線化に必要な情報を豊富に含む背景領域の距離値付き心線（スケルトン）を求め、これを図形領域に延長した情報を用いて、Ｈｉｌｄｉｔｃｈの細線化法における輪郭画素の削除過程で不足する角付近（凹部）の画素を追加削除し、細線化のための輪郭画素削除過程における輪郭線形状の正確な伝搬を可能にする。【選択図】図１
2006268804.tif 000002
【特許請求の範囲】
【請求項１】
細線化しようとする領域（以下図形領域といい、それを構成している画素を黒画素という）（／またはその背景となる領域（以下背景領域といい、それを構成している画素を白画素という））の輪郭追跡を行い、各輪郭点から互いに反対方向に輪郭線に沿ってｋ点（ｋ＝１，２，３，・・・）離れた輪郭点とを結ぶ２本の線分のなす角度が閾値以下のとき、その輪郭点を角点と認めて細線化処理で端点とすることを示すマークを付けたのち、
図形領域の輪郭画素を除去した画像（／または原画像の背景領域）の細線化を行って得られた心線に（白画素領域における距離変換で定まる）距離値を与え、最初に設定した端点（角点）から白画素領域心線に沿って一定の画素数（例えば２０）だけ離れた点（それ以前に分岐点等に達すればその点）にもう一つの端点を設定してこの区間の線分を抽出し、
さらに、この線分を図形領域内に延長し、その延長線上の各画素に上記抽出線分上の距離値の分布から外挿計算して得られる距離値を与え、角点からこの延長線上をたどって距離値が角点における値より１だけ下がる画素までの区間に入る各画素を中心にその距離値で定まる半径の円領域を設定したうえ、Ｈｉｌｄｉｔｃｈの方法等で黒画素領域を１層削った直後に、上記円領域群に入る黒画素を追加削除し、
以後はＨｉｌｄｉｔｃｈの方法等で黒画素を１層削るごとに、上記延長線分を距離値がさらに１だけ下がるところまでたどり、上記と同様の方法で設定された区間内の画素を中心とする円領域に入る黒画素を追加削除するという処理を繰り返すという原理により、最終的に得られる心線の歪みを非常に小さくする２値画像の細線化方式。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、デジタル２値画像（特に線図形）の細線化方式に関する。
【背景分野】
【０００２】  線の概念はもともと太さを含まないが、図面上の線は表現上の理由で太さを持つ。太さにも意味を持たせることもあるが、いかなる場合も太さの概念を含まない「線」としての意味は、図形上の線の持つ意味の中核である。したがって、線図形の処理・認識の初期における技術開発や研究は、線図形はすべて正しく細線化されるという前提でそれ以後の処理に注力された。
【０００３】  細線化処理の主目的は、線図形が意味する線を１ビット太さで表現したもの（以下心線という）を求めることである。このほかに、細線化は、必ずしも線としての意味をもたない図形の骨格（スケルトン）を求めることにも使われるが、多くの用途では人間が考えるものに近いことが望ましい。
【０００４】  細線化アルゴリズムには、数え切れないほどの研究があるが、Ｈｉｌｄｉｔｃｈの方法は、その原点となる方法といえる。このほかＤｅｕｔｓｃｈの方法、田村の方法、横井の方法、文字にパターンに有利なように改良した鶴岡の方法などが元祖的方法であるが（例えば、非特許文献１参照）、図形画素を周辺から削除するこれらの細線化方式においては、一般的に心線の歪みがかなり発生する。
【０００５】  その後、多くの改良が試みられたにもかかわらず、十分な性能を持つアルゴリズムは開発されず、文字認識の研究ではいつの間にか細線化処理を用いる方式は廃れてしまった。図１４（ｂ）、図１５（ｂ）、図１６（ｂ）、図１７（ａ）、図１８（ａ）、図１９（ａ）、及び図２０（ａ）は、Ｈｉｌｄｉｔｃｈの方法によって生じる細線化の歪みの例を示している。
【０００６】  しかし細線化処理のニーズは文字認識以外でも多々発生し、近年でも、理工系分野（地図上の道路の部分の細線化、医用画像解析における血管部分など）はもちろんのこと、古文書中の文字の筆跡の解析（例えば、非特許文献２参照）などにおいても、細線化歪みの問題にぶつかりそれを個別に処理している。
【０００７】  また２００１年米国シアトルで開催された文書解析・認識に関する国際会議でも線の交差部分を分解してから細線化して歪みを避ける方法の発表（非特許文献３参照）があった。近年の上記発表等から分かるように、未だにいたるところで細線化歪みの問題が発生し個別的対処が行われている。
【０００８】  これらの個別的対処法は、一般性欠けるばかりか、必ずしも十分な解決になっておらず、今日では、細線化の歪みは局所処理に基づくアルゴリズムの原理的限界であることが広く認識されるまでに至っている。
【０００９】  事実、上記元祖的アルゴリズムあるいはそれらの改良発展では、３×３画素かせいぜい５×５画素程度の範囲の局所処理に基づいている。しかし、大局的な処理としてどのようなものを考えるべきかの指針は今日も不分明のままである。
【非特許文献１】  田村秀行編著：“コンピュータ画像処理”，ｐｐ．１５８−１６２，オーム社（２００２年１２月）
【非特許文献２】  山田奨治・柴山守：“古文書翻訳支援システムの研究（３）”，日本学術振興会科学研究費補助金成果報告書，ｐｐ．８１−８７，国際日本文化センター研究部山田研究室（２００４年３月）
【非特許文献３】  Ｇ．Ｆ．Ｈｏｕｌｅ，Ｋａｔｅｒｉｎａ  Ｂｌｉｎｏｖａ  ａｎｄ  Ｍ．Ｓｈｒｉｄｈａｒ：”Ｈａｎｄｗｒｉｔｉｎｇ  Ｓｔｒｏｋｅ  Ｅｘｔｒａｃｔｉｏｎ  Ｕｓｉｎｇ  ａ  Ｎｅｗ  ＸＹＴＣ  Ｔｒａｎｓｆｏｒｍ”，６ｔｈ  Ｉｎｔ’ｌ  Ｃｏｎｆ．ｏｎ  Ｄｏｃｕｍｅｎｔ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｃｏｇｎｉｔｉｏｎ（Ｓｅａｔｔｌｅ），２００１．
【発明の開示】
【発明が解決しようとする課題】
【００１０】  デジタル２値画像（特に線図形）の細線化において不可避的に生じる、交点、３分岐点、複雑分岐点、鋭角部付近で生じる心線の歪みを、背景領域の大域的情報を用いて、なくすかあるいは非常に小さくする細線化方式を開発する。
【問題を解決するための手段】
【００１１】  本発明は、細線化で発生する歪みの原因を数学的に理解した上、数学的にそれを防止するアルゴリズムを開発した点に特徴がある。
【００１２】  ここでは、Ｈｉｌｄｉｔｃｈの方法に輪郭画素の追加削除アルゴリズムを追加する方式を述べるが、Ｈｉｌｄｉｔｃｈの方法のように図形領域を輪郭画素から１層ずつ削り取っていく処理方式であれば、在来の他の細線化方式と組み合わせても良い。
【００１３】  原理を分かりやすく説明するために、とりあえず、画素数が十分多い場合を想定した連続モデルを用いる（図１）。
距離変換における距離値としては、等方性のユークリッド距離を考えるものとすると、Ｈｉｌｄｉｔｃｈの方法の原理は、図形領域の等距離線の距離値が増える順、すなわち図１中の等距離線４，５，６に従って順に図形領域は削られていくことになる。ここで、図１における４，５，６は、それぞれ距離値がｄ，２ｄ，３ｄの等距離線を示している。
【００１４】  しかし、角付近の等距離線は、図形内部に入るに従って丸みを増し、人が期待する角のある線（図破線）に従って図形領域が削除されるわけではない。これが心線に歪みを起こす主要な原因である。
【００１５】  図２は、Ｔ型の分岐点で心線の歪みが起こるメカニズムを図解したものである。ユークリッド距離に基づいて輪郭線からの等距離線で黒画素を除去していくと、図２（ｂ）の状態を経て、同図（ｃ）に示すように、互いに反対の輪郭線からの等距離線がぶつかる状態に至る。その後も等距離線に従って削除を行えば、同図（ｄ）のように、上部が凹んだ心線が得られる。
【００１６】  本発明では、あらかじめ線図形の輪郭線上に角点（図１中の２）を求めておき、これが必ず端点となるように背景部を細線化する。あらかじめ設定されたルールで決まる長さの心線（図１中の３）を求め、その線上の各点に背景領域の距離変換画像における距離値を与える。
【００１７】  次に、この心線を数学的に延長した線（図の太い破線）を作り、その上の距離値の分布を外挿して延長線上の距離値を求めて延長線上の画素に割り当てる。
【００１８】  図１の点１１，１２，１３は、それぞれ上記外挿計算によって−ｄ，−２ｄ，−３ｄの距離値が与えれた点である。Ｈｉｌｄｉｔｃｈの方法によって等距離線６まで黒画素が削除された場合は、点２から、点８，９を経て、点１０に至る経路上の各点を中心として、図示のような円領域（半径の決定法は以下の項で説明する）を設定し、これらの円領域内の黒画素を追加削除する。追加削除においても、Ｈｉｌｄｉｔｃｈの削除禁止条件を守ることとし、終了は削除可能な点がなくなったときとする。
【００１９】  以上に述べた輪郭部の角の伝搬を正確に行えば、線図形の交点、３分岐点、複雑分岐点、鋭角屈曲点における心線の歪みが激減する。
【発明の効果】
【００２０】  本細線化方式は、細線化過程で生じる心線の歪みの原因を数学的にとらえ、その原因を直接取り除くというアプローチで得られたものであり、汎用性及び発展性が高いと思われる。長年画像処理・認識の広い分野で需要が強かったにもかかわらず、心線歪みのため応用範囲が著しく限定されてきた状況を基礎レベルから打開するものである。
【発明を実施するための最良の形態】
【００２１】  上述した輪郭線の角を保存した黒画素の除去技術の代表的な実施例は以下の通りである。ここでは、図形領域の輪郭追跡を行う例を示すが、背景領域の輪郭追跡を行う場合も、アルゴリズムの軽微な変更があるに過ぎない。処理の流れは、図３のようであるが、各処理の詳細は以下のようである。【００２２】（１）角の検出
図４に示すように、輪郭線の各画素について、その画素から輪郭線に沿ってｋ画素離れた２つの画素を選び、それらとの間の線分のなす角θを計算する（図５）。θが閾値（本例では１４０°）より小さくかつ極小になっている点を角点とし、図６に示す結果を得る。【００２３】  実際のデジタル画像では、厳密な意味での輪郭線ははっきりしないが、ここでは輪郭画素の列（以下の説明では８連結）をその近似表現として用いる。【００２４】（２）角点を端点とする背景の細線化
角点を残して、Ｈｉｌｄｉｔｃｈの方法で第１層の黒画素（ここでは８連結の輪郭画素列）を除去する。角点を端点（除去禁止点）に指定して白画素領域を細線化すると、図７（ｂ）に示すように、すべての角点から心線（４連結）が出る（同図中の丸印参照）。なお角点を求めずに直接背景領域を細線化すると、図７（ａ）に示すように、角点から心線が必ずしも出ない。また背景領域を周知のいろいろな方法で限定すれば細線化処理はさらに速くなる。
なお本実施例において、８連結と４連結とを入れ替えても同様な結果を得ることができる。【００２５】（３）ノイズ枝除去
図８（ｂ）に示すように、まず端点から分岐点までの心線だけを残し、さらに図９に示すように、端点が図形領域にない心線（図中丸印内）はノイズ枝として除去する。以上の処理によって、背景領域の角点付近の距離値付心線だけが残る。【００２６】（４）次に、端点から心線に沿って、例えば２０画素分だけを残し、図１０に示すように、各心線について、次に定義する量ΔＬの計算を行う。ここで、２０画素という値は、処理の大域性を表すもので、処理対象あるいは用途によってある程度は変えることが望ましい。【００２７】  また、図１１（ｂ）では、心線上の距離値を表示してある。ここでいうΔＬは、背景領域の距離値付心線を端点から心線形状を使って外挿し（簡単には心線の両端点Ｐ１及びＰ２を結ぶ直線を利用する）、端点Ｐ１から距離値が外挿法において１だけ減少する点までの距離である。簡単には、図１２に示されている画素Ｐ１から画素Ｐ２間での距離をＬ，点Ｐにおける背景の距離値をＤ（Ｐ）とし、式（１）から求める。
ΔＬ＝Ｌ／｜Ｄ（Ｐ１）−Ｄ（Ｐ２）｜                                    （１）【００２８】  図１２に、心線を画素Ｐ１から延長した心線に沿ってΔＬ（ユークリッド距離）だけ離れた点を求めた様子を示す。この点の座標は連続量であるから、特定の画素に対応させるためには、最近傍の画素を選ぶことになる。具体的には、例えば画素の座標を、連続値の少数点以下を切り捨てることによって得る。【００２９】  同様に、心線の延長に沿って距離値が外挿法でさらに１だけ下がる点を求めるという操作を続けていくと、当初の角点は、図１３に示すように図形領域内部に移動していく。本例では、図形領域（文字画像）の線幅が１６画素程度であり、７〜８ステップ目で互いに非常に接近する。求めた点の近傍に他の点が入るようになったら、新たな点を求める操作を止める。【００３０】  なお、上記（１）の角点の判定閾値を小さく取ると角点が多く生じ、（４）以降の処理量は増えるが、細線化の結果には原理上影響しないので、閾値の選択に神経質になる必要はない。処理時間が重要なときは、（４）において、距離値こう配（心線の両端点における距離値の差を心線長で割ったもの）の大きい心線を除外すればよい。このような心線は残しておいても影響力がほとんどないので、よほど大胆な除去を行わないかぎり、除外のための閾値設定もクリティカルなものではない。【００３１】（５）図形領域の輪郭画素の除去
Ｈｉｌｄｉｔｃｈの方法により、原２値図形に戻って、１ステップずつ図形領域の画素を除去していき、除去可能な点がなくなれば修了するという原則はそのままであるが、Ｈｉｌｄｉｔｃｈの輪郭点除去の１ステップが終了するごとに、心線の延長部分の各画素を中心にその距離値に等しい半径の円領域を設定し（ただし距離値が正の場合だけ行う）、その円領域に入る黒画素を追加除去する。次いで、延長線上のすべての距離値を１だけ増やす。なお追加除去においても、Ｈｉｌｄｉｔｃｈの除去禁止条件は守る。以上の操作を除去できる黒画素がなくなるまで続ける。【００３２】  以上は原理にかなり忠実な処理を述べたが、実用的には、追加削除のアルゴリズムを以下のように簡単化しても十分な結果が得られることが多い。それは、Ｈｉｌｄｉｔｃｈの方法における各ステップの削除の不足分はすぐ後の追加削除で補われるので削除不足は累積せず、追加削除される黒画素はＨｉｌｄｉｔｃｈの方法における１ステップ分の削除不足分だけで済むことによる。【００３３】（１）Ｈｉｌｄｉｔｃｈの方法で第１ステップ（第１層の黒画素を削除する処理）の後、角点の４近傍の黒画素を追加削除する（半径１画素の円領域の近似）。
（２）Ｈｉｌｄｉｔｃｈの方法の第２ステップ終了後には、背景画素の延長線上で角点からΔＬ以内にある最遠の画素Ｅ１を求め、この画素までの延長線上の画素を追加削除する。
（３）Ｈｉｌｄｉｔｃｈの方法の第３ステップ終了後には、背景画素の延長線上で画素Ｅ１からΔＬ以内にある最遠の画素Ｅ２を求め、延長線に沿ってこの画素までの黒画素を追加削除する。【００３４】（４）以下、原則として、延長線上にＥ３，Ｅ４，・・・を求めて同様の処理を行うのであるが、Ｅｎ（ｎ＝１，２，３，・・・）の近傍に他の同様な点（他の背景心線の延長上の同種の点）が見っかったときは、ここで延長を停止し、それより後の追加削除は行わない。【００３５】  本方式で細線化した例を、Ｈｉｌｄｉｔｃｈの方法による結果と比較して、図１４〜２１に示す。ただし、ここでは追加削除のアルゴリズムとして、上記簡易版を用いている。  本手法によれば、交点だけでなく、鋭角屈曲部、３分岐点、複雑分岐点などでも歪みが生じないか、生じても非常に小さいことが分かる。【００３６】  細線化処理で生じた心線の歪みのうち、交点付近の歪みを除去するアルゴリズムを申請者は以前に学会発表し、その簡略版ともいえる方法の発表も見られるが、過補正の不安があるとともに、図２０のような複雑分岐点の場合は、補正のアルゴリズムの設定が困難である。図２１は、本手法でも歪みが幾分目立つ例であるが、小さい歪みは簡単なアルゴリズムで正確に除去できる。また本手法を用いてもなお発生する小さいノイズ枝（ヒゲ状ノイズ）も距離値こう配と枝の長さを使って容易に除去できる。
【産業上の利用可能性】
【００３７】  前述したように、線としての意味を持つ画像すなわち線図形は無数に存在し、本発明により画像処理研究の当初からの念願であった根本的課題が解決されたわけであるから、細線化処理の発展に寄与するとともに、その応用範囲が非常に大きく広がるものと期待される。
【図面の簡単な説明】
【００３８】
【図１】本細線化方式の原理を連続モデルで説明したものである。
【図２】従来の細線化法の代表的方法であるＨｉｌｄｉｔｃｈの方法において、ユークリッド距離を用いるときに、細線化図形に歪みが出る理由を説明した図である。（ａ）入力画像例  （ｂ）中間結果１  （ｃ）中間結果２  （ｄ）最終結果
【００３９】
【図３】本方式に従ってデジタル２値図形を細線化するときの処理の流れを示したものである。
【図４】図形領域の輪郭点の角を検出するアルゴリズムを説明した図である。
【図５】輪郭線に沿って検出した輪郭点の角度の分布を示したものである。
【図６】角点の検出法を説明する図である。（ａ）入力画像  （ｂ）検出された角点
【００４０】
【図７】角点を端点とした白画素領域（図形領域の輪郭画素を除去した画像の背景領域）の心線抽出を図示したものである。（ａ）角点を考慮しないで白画素領域を細線化した場合  （ｂ）角点を端点に指定して白画素領域を細線化した場合
【図８】端点から分岐点までの心線だけを残した画像を示した図である。（ａ）処理前の画像  （ｂ）処理後の画像
【００４１】
【図９】ノイズ枝の除去処理を示した図である。（ａ）ノイズ枝除去前の画像  （ｂ）ノイズ枝除去後の画像
【００４２】
【図１０】端点から背景領域の心線に沿って２０画素だけ離れた画素までで構成される線分を残す処理を示した図である。（ａ）処理前の画像  （ｂ）処理後の画像
【００４３】
【図１１】図１０（ｂ）及び図１１（ａ）に示す心線に背景領域の距離値（距離変換画像の値）を付加しものを３次元表示したものである。
【図１２】角点付近の拡大画像及び角点からΔＬだけ離れた延長線上の画素を示す図である。
【図１３】角点を次々にΔＬだけ移動させた場合のその位置を示す図である。
【図１４】実験結果１（交点を持つ図形の例）を示した図である。
【００４４】
【図１５】実験結果２（３分岐点を持つ図形の例）を示した図である。
【図１６】実験結果３（やや複雑な図形の例）を示した図である。
【図１７】実験結果４（カタカナ文字の例）を示した図である。
【図１８】実験結果５（漢字の例）を示した図である。
【図１９】実験結果６（ひらがな文字の例）を示した図である。
【図２０】実験結果７（複雑な分岐を持つ木偏の例）を示した図である。
【図２１】実験結果８（細線化ひずみが大きい例）を示した図である。
【符号の説明】
【００４５】１  図形領域の輪郭線
２  角点
３  背景領域の距離値付き心線
４  図形領域の距離値ｄの等距離線
５  図形領域の距離値２ｄの等距離線
６  図形領域の距離値３ｄの等距離線
【００４６】７  背景領域の心線３を数学的に延長した線
８  背景領域心線３の上の距離値の分布から外挿計算により距離値−ｄが与えられる個所
９  背景領域心線３の上の距離値の分布から外挿計算により距離値−２ｄが与えれる個所
１０  背景領域心線３の上の距離値の分布から外挿計算により距離値−３ｄが与えられる個所
【００４７】１１  距離値３ｄの輪郭線上の画素の削除過程で、角点を中心として追加削除領域を定義する円領域
１２  距離値３ｄの輪郭線上の画素の削除過程で、点８を中心として追加削除領域を定義する円領域
１３  距離値３ｄの輪郭線上の画素の削除過程で、点９を中心として追加削除領域を定義する円領域
【図１】
2006268804.tif 000003
【図２】
2006268804.tif 000004
【図３】
2006268804.tif 000005
【図４】
2006268804.tif 000006
【図５】
2006268804.tif 000007
【図６】
2006268804.tif 000008
【図７】
2006268804.tif 000009
【図８】
2006268804.tif 000010
【図９】
2006268804.tif 000011
【図１０】
2006268804.tif 000012
【図１１】
2006268804.tif 000013
【図１２】
2006268804.tif 000014
【図１３】
2006268804.tif 000015
【図１４】
2006268804.tif 000016
【図１５】
2006268804.tif 000017
【図１６】
2006268804.tif 000018
【図１７】
2006268804.tif 000019
【図１８】
2006268804.tif 000020
【図１９】
2006268804.tif 000021
【図２０】
2006268804.tif 000022
【図２１】
2006268804.tif 000023