(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-07
(45)【発行日】2023-11-15
(54)【発明の名称】線分検出装置、及び線分検出プログラム
(51)【国際特許分類】
G06T 7/60 20170101AFI20231108BHJP
【FI】
G06T7/60 200G
(21)【出願番号】P 2020039271
(22)【出願日】2020-03-06
【審査請求日】2023-02-06
(73)【特許権者】
【識別番号】000003609
【氏名又は名称】株式会社豊田中央研究所
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】佐藤 範和
(72)【発明者】
【氏名】山口 晃一郎
(72)【発明者】
【氏名】城殿 清澄
(72)【発明者】
【氏名】河田 順平
【審査官】小太刀 慶明
(56)【参考文献】
【文献】特開2019-132686(JP,A)
【文献】特開2002-259950(JP,A)
【文献】特開2015-49099(JP,A)
【文献】特開2019-67004(JP,A)
【文献】特開2019-96027(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
フィラーが複合された複合材料を撮像した画像を二値化する二値化演算部と、
前記二値化演算部が二値化した画像を細線化し、細線化後の画像から特徴点を抽出する細線化演算部と、
前記特徴点を探索し、連結すべき前記特徴点の集合を検出する連結領域検出演算部と、
前記連結領域検出演算部が検出した前記特徴点の集合から、前記特徴点の連続性と直線性とを評価して複数の線分を当てはめる線分当てはめ演算部と、
前記線分当てはめ演算部が当てはめた前記複数の線分に対し、線分同士の連続性と直線性とを評価して、統合可能なものを1つの線分に統合する線分統合演算部と、
を備える、線分検出装置。
【請求項2】
前記線分統合演算部が統合した後の前記画像における各前記線分の長さを測定する線分長測定部をさらに備える、請求項1に記載の線分検出装置。
【請求項3】
前記線分当てはめ演算部は、直前に線分に登録された特徴点と隣接する特徴点を候補点とし、前記線分の始点と前記候補点とを結ぶ直線と、前記線分の各特徴点との最短距離が、前記線分の全特徴点において全て所定の閾値以下である場合に、前記候補点を線分の新しい特徴点に登録する、請求項1又は請求項2に記載の線分検出装置。
【請求項4】
前記線分当てはめ演算部は、直前に線分に登録された特徴点と隣接する特徴点を候補点とし、直前に線分に登録された特徴点と前記候補点とからなるベクトルに対して、直前までに判定された線分のベクトルがなす角が所定の閾値以下である場合に、前記候補点を線分の新しい特徴点に登録する、請求項1又は請求項2に記載の線分検出装置。
【請求項5】
前記線分統合演算部は、2本の線分のベクトルのなす角が所定の閾値以下であり、かつ前記2本の線分の端点の距離が所定の閾値以下である場合に、統合可能な線分と判定して1つの線分に統合する、請求項1~請求項4のいずれか1項に記載の線分検出装置。
【請求項6】
前記線分統合演算部は、2本の線分のベクトルのなす角が所定の閾値以下であり、かつ前記2本の線分の間に存在する特徴点の数が、前記2本の線分の間のそれぞれの端点の距離に、所定の閾値を掛けた値以上である場合に、統合可能な線分と判定して1つの線分に統合する、請求項1~請求項4のいずれか1項に記載の線分検出装置。
【請求項7】
前記フィラーは、無機フィラー又は有機フィラーである、請求項1~請求項6のいずれか1項に記載の線分検出装置。
【請求項8】
コンピュータを、
フィラーが複合された複合材料を撮像した画像を二値化する二値化演算部と、
前記二値化演算部が二値化した画像を細線化し、細線化後の画像から特徴点を抽出する細線化演算部と、
前記特徴点を探索し、連結すべき前記特徴点の集合を検出する連結領域検出演算部と、
前記連結領域検出演算部が検出した前記特徴点の集合から、前記特徴点の連続性と直線性とを評価して複数の線分を当てはめる線分当てはめ演算部と、
前記線分当てはめ演算部が当てはめた前記複数の線分に対し、線分同士の連続性と直線性とを評価して、統合可能なものを1つの線分に統合する線分統合演算部と、
を備える線分検出装置として機能させるための、線分検出プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、線分検出装置、及び線分検出プログラムに関する。
【背景技術】
【0002】
フィラーが複合された材料、例えば、炭素繊維強化樹脂、ガラス繊維強化樹脂等の、繊維で強化した樹脂成形品は、繊維長が力学特性に大きく影響し、繊維が長くなるほど力学特性が向上することが知られている。従って、成形品の性能向上、及び信頼性の向上のために、樹脂中の繊維長を効率的に正しく計測できる評価技術が求められている。
【0003】
特許文献1には、2本または3本の繊維が交差して存在する繊維画像について、それぞれの繊維の外形を構成する直線を求め、得られた直線の式から直線同士の交点を解析的に求めることで繊維の交点を特定し、交点情報から各繊維の長さを算出する技術が開示されている。
【0004】
特許文献2には、複数の繊維が重なり合っている画像に対して、繊維の太さ及び交差の角度に応じて繊維同士の交差部分を画像から削除し、残された繊維像から同じ方向を向いている繊維同士を連結し直すことで、重なり合った繊維を分離する技術が開示されている。
【0005】
特許文献3には、繊維補強コンクリートのX線撮影画像について、繊維の状態に相関する指標に基づいて繊維の状態を表す代表値を算出し、X線画像に対して繊維部分を判別可能になるように二値化処理し、得られた二値化画像を複数の領域に分割した後に、各分割領域に存在する繊維を線分として認識し、線分の総和から繊維の分散状態を求めるとともに、正弦長と余弦長の総和から繊維の配向状態を求める技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2019-132686号公報
【文献】特開2002-259950号公報
【文献】特開2015-49099号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1に記載の技術は、繊維の外形線の情報から直線を定義して交点を求めるため、多数の繊維が交差している場合には、交点判定と交点座標の算出に要する演算量が膨大となり、繊維長の測定に時間がかかる。また特許文献1に記載の技術は、繊維が分断して検出された場合は、分断した繊維を統合して一本の繊維として再定義することはできない。
【0008】
特許文献2に記載の技術は、繊維の交差部分を画像から意図的に除去し、残された繊維の情報から再連結をするため、交差箇所の検出精度が低下する可能性がある。また特許文献2に記載の技術は、繊維の位置関係によっては再連結の正確性が低くなり、繊維長の測定精度が低下する可能性がある。
【0009】
特許文献3に記載の技術は、繊維を線分として認識する際に、両端点を結ぶ素線化処理及び輪郭線を追跡する輪郭線処理等の一般的な画像処理技術を用いるため、交差した繊維又は曲がった繊維が存在する場合、繊維の端部を抽出することができない。従って、特許文献3に記載の技術は、1本の繊維を1本の線分で正しく認識できず、繊維長を正確に測定できない。
【0010】
本発明は、上記の点に鑑みてなされたものであり、画像中に複数のフィラーが交差している場合、又は曲がったフィラーが存在する場合にも、個々のフィラーとして正しく検出することができる線分検出装置、及び線分検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明の第1態様の線分検出装置は、フィラーが複合された複合材料を撮像した画像を二値化する二値化演算部と、前記二値化演算部が二値化した画像を細線化し、細線化後の画像から特徴点を抽出する細線化演算部と、前記特徴点を探索し、連結すべき前記特徴点の集合を検出する連結領域検出演算部と、前記連結領域検出演算部が検出した前記特徴点の集合から、前記特徴点の連続性と直線性とを評価して複数の線分を当てはめる線分当てはめ演算部と、前記線分当てはめ演算部が当てはめた前記複数の線分に対し、線分同士の連続性と直線性とを評価して、統合可能なものを1つの線分に統合する線分統合演算部と、を備える。
【0012】
本発明の第1態様によれば、特徴点の連続性と直線性とを評価して複数の線分を当てはめ、線分同士の連続性と直線性とを評価して、統合可能なものを1つの線分に統合することで、画像中に複数の線分が交差している場合、又は曲がった線分が存在する場合にも、個々の線分を正しく検出することができる。
【0013】
本発明の第2態様の線分検出装置は、本発明の第1態様の線分検出装置において、前記線分統合演算部が統合した後の前記画像における各前記線分の長さを測定する線分長測定部をさらに備える。
【0014】
本発明の第2態様によれば、線分統合演算部が統合した後の画像における各線分の長さを測定することで、画像中に複数の線分が交差している場合、又は曲がった線分が存在する場合にも、個々の線分の長さをより精確に測定することができる。
【0015】
本発明の第3態様の線分検出装置は、本発明の第1態様又は第2態様の線分検出装置において、前記線分当てはめ演算部は、直前に線分に登録された特徴点と隣接する特徴点を候補点とし、前記線分の始点と前記候補点とを結ぶ直線と、前記線分の各特徴点との最短距離が、前記線分の全特徴点において全て所定の閾値以下である場合に、前記候補点を線分の新しい特徴点に登録する。
【0016】
本発明の第3態様によれば、画像中に曲がった線分が存在する場合に、線分として認識すべきものを正しく認識することができる。
【0017】
本発明の第4態様の線分検出装置は、本発明の第1態様又は第2態様の線分検出装置において、前記線分当てはめ演算部は、直前に線分に登録された特徴点と隣接する特徴点を候補点とし、直前に線分に登録された特徴点と前記候補点とからなるベクトルに対して、直前までに判定された線分のベクトルがなす角が所定の閾値以下である場合に、前記候補点を線分の新しい特徴点に登録する。
【0018】
本発明の第4態様によれば、画像中に複数の線分が交差している場合、又は曲がった線分が存在する場合に、それらを複数の線分として認識することができる。
【0019】
本発明の第5態様の線分検出装置は、本発明の第1態様~第4態様のいずれかの線分検出装置において、前記線分統合演算部は、2本の線分のベクトルのなす角が所定の閾値以下であり、かつ前記2本の線分の端点の距離が所定の閾値以下である場合に、統合可能な線分と判定して1つの線分に統合する。
【0020】
本発明の第5態様によれば、線分が離れている場合であっても連続性があれば1本の線分として認識することができる。
【0021】
本発明の第6態様の線分検出装置は、本発明の第1態様~第4態様のいずれかの線分検出装置において、前記線分統合演算部は、2本の線分のベクトルのなす角が所定の閾値以下であり、かつ前記2本の線分の間に存在する特徴点の数が、前記2本の線分の間のそれぞれの端点の距離に、所定の閾値を掛けた値以上である場合に、統合可能な線分と判定して1つの線分に統合する。
【0022】
本発明の第6態様によれば、線分が離れている場合であっても連続性があれば1本の線分として認識することができる。
【0023】
本発明の第7態様の線分検出装置は、本発明の第1態様~第6態様のいずれかの線分検出装置において、前記フィラーは、無機フィラー又は有機フィラーである。
【0024】
本発明の第7態様によれば、無機フィラー又は有機フィラーを含んだ材料を撮像した画像から、各フィラーの長さを精確に検出することができる。
【0025】
本発明の第8態様の線分検出プログラムは、コンピュータを、フィラーが複合された複合材料を撮像した画像を二値化する二値化演算部と、前記二値化演算部が二値化した画像を細線化し、細線化後の画像から特徴点を抽出する細線化演算部と、前記特徴点を探索し、連結すべき前記特徴点の集合を検出する連結領域検出演算部と、前記連結領域検出演算部が検出した前記特徴点の集合から、前記特徴点の連続性と直線性とを評価して複数の線分を当てはめる線分当てはめ演算部と、前記線分当てはめ演算部が当てはめた前記複数の線分に対し、線分同士の連続性と直線性とを評価して、統合可能なものを1つの線分に統合する線分統合演算部と、を備える線分検出装置として機能させる。
【0026】
本発明の第8態様によれば、特徴点の連続性と直線性とを評価して複数の線分を当てはめ、線分同士の連続性と直線性とを評価して、統合可能なものを1つの線分に統合することで、画像中に複数の線分が交差している場合、又は曲がった線分が存在する場合にも、個々の線分を正しく検出することができる。
【発明の効果】
【0027】
本発明によれば、画像中に複数のフィラーが交差している場合、又は曲がったフィラーが存在する場合にも、個々のフィラーを線分として正しく検出することができる線分検出装置、及び線分検出プログラムを提供することができる。
【図面の簡単な説明】
【0028】
【
図1】本実施形態に係る線分検出装置のハードウェア構成を示すブロック図である。
【
図2】線分検出装置の機能構成の例を示すブロック図である。
【
図3】線分検出装置による線分長測定処理の流れを示すフローチャートである。
【
図4】線分当てはめ処理について説明するフローチャートである。
【
図6】線分統合処理について説明するフローチャートである。
【
図8】線分統合処理について説明するフローチャートである。
【
図9】線分検出装置に入力される画像の例を示す図である。
【
図10】線分検出装置が検出した線分の例を示す図である。
【
図11】線分検出装置の効果を説明するグラフである。
【発明を実施するための形態】
【0029】
以下、本開示の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一または等価な構成要素および部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0030】
図1は、本実施形態に係る線分検出装置10のハードウェア構成を示すブロック図である。線分検出装置10は、フィラーが複合された複合材料を、マイクロスコープ等を用いて撮像した画像から、画像中の線分、すなわちフィラーを検出し、線分の長さを算出する装置である。
【0031】
図1に示すように、線分検出装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16及び通信インタフェース(I/F)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。
【0032】
CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12またはストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12またはストレージ14に記録されているプログラムにしたがって、上記各構成の制御および各種の演算処理を行う。本実施形態では、ROM12またはストレージ14には、フィラーが複合された材料を撮像した画像から線分を検出し、検出した線分の長さを測定する線分検出プログラムが格納されている。
【0033】
ROM12は、各種プログラムおよび各種データを格納する。RAM13は、作業領域として一時的にプログラムまたはデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)、SSD(Solid State Drive)またはフラッシュメモリ等の記憶装置により構成され、オペレーティングシステムを含む各種プログラム、および各種データを格納する。
【0034】
入力部15は、マウス等のポインティングデバイス、およびキーボードを含み、各種の入力を行うために使用される。
【0035】
表示部16は、たとえば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能しても良い。
【0036】
通信インタフェース17は、他の機器と通信するためのインタフェースであり、たとえば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
【0037】
上記の線分検出プログラムを実行する際に、線分検出装置10は、上記のハードウェア資源を用いて、各種の機能を実現する。線分検出装置10が実現する機能構成について説明する。
【0038】
図2は、線分検出装置10の機能構成の例を示すブロック図である。
【0039】
図2に示すように、線分検出装置10は、機能構成として、二値化演算部101、細線化演算部102、連結領域検出演算部103、線分当てはめ演算部104、線分統合演算部105、及び線分長測定部106を有する。各機能構成は、CPU11がROM12またはストレージ14に記憶された線分検出プログラムを読み出し、実行することにより実現される。
【0040】
二値化演算部101は、線分検出装置10に入力された、フィラーが複合された複合材料を撮像した画像を二値化する処理を実行する。本実施形態では、フィラーとして、例えば金属繊維、炭素繊維、又はガラス繊維が複合された複合材料を撮像した繊維画像に対して、二値化演算部101は二値化する処理を実行する。二値化は、繊維画像から、複合された繊維と背景とを分離するための処理である。二値化には、適応型しきい値処理等の既知の処理が用いられる。
【0041】
細線化演算部102は、二値化演算部101によって二値化された画像に対し細線化処理を実行し、細線化後の画像から特徴点を抽出する。細線化は、二値化された画像における繊維の中心線を検出するための処理である。細線化には、Zhang-Suenの細線化アルゴリズム等の既知の処理が用いられる。
【0042】
連結領域検出演算部103は、細線化後の画像から抽出された特徴点を探索し、連結すべき特徴点の集合を検出する。連結領域検出演算部103は、連結した特徴点群ごとにラベリングする。線分検出装置10は、連結領域検出演算部103によって連結した特徴点群ごとにラベリングすることで、以降の処理をラベリングされた点群ごとに処理し、計算効率を向上させることができる。
【0043】
線分当てはめ演算部104は、連結領域検出演算部103が検出した特徴点の集合(特徴点群)から、特徴点の連続性と直線性とを評価して線分を当てはめる。特徴点群に対する線分当てはめ処理の詳細については後に詳述する。
【0044】
線分統合演算部105は、線分当てはめ演算部104が当てはめた複数の線分に対し、線分同士の連続性と直線性とを評価して、統合可能なものを1つの線分に統合する。複数の繊維が重なっている場合、又は繊維が湾曲して直線状ではない場合に、1本の繊維に対して複数の線分が分断して当てはめられることが起こりうる。そこで、線分統合演算部105は、線分当てはめ演算部104が当てはめた線分の集合について、線分同士の連続性と直線性とから、1つの線分とすべきものを検出し、それら検出した複数の線分を1つの線分に統合する。線分統合処理の詳細については後に詳述する。
【0045】
線分長測定部106は、線分統合演算部105が統合した後の画像における各線分の長さを測定する。線分長測定部106により測定された線分の長さの情報は、線分検出装置10から出力される。
【0046】
次に、線分検出装置10の作用について説明する。
【0047】
図3は、線分検出装置10による線分長測定処理の流れを示すフローチャートである。CPU11がROM12又はストレージ14から線分検出プログラムを読み出して、RAM13に展開して実行することにより、線分長測定処理が行なわれる。
【0048】
CPU11は、まず、フィラーとして無機フィラー又は有機フィラーが複合された複合材料を撮像した繊維画像を線分検出装置10に入力する繊維画像入力処理を実行する(ステップS11)。無機フィラーの種類は特に限定されない。具体的には、タルク、シリカ、クレー、モンモリロナイト又はカオリン等の珪酸塩(珪酸塩鉱物)、炭酸カルシウム、炭酸リチウム又は炭酸マグネシウム等の炭酸塩、水酸化アルミニウム又は水酸化マグネシウム等の水酸化物、硫酸バリウム等の硫化物、アルミナ、酸化チタン又は酸化亜鉛等の金属酸化物、チタン酸カリウム又はチタン酸バリウム等のチタン化物、アルミニウム、鉄、銀又は銅等の金属、ガラス粉末又はガラス繊維等のガラス類、木炭又は竹炭等の炭化物、フラーレン、カーボンナノチューブ又は炭素繊維等のカーボン類、等が挙げられる。これらの無機フィラーは、天然物であってもよく、人工物であってもよい。また、これらの無機フィラーの中から1種のみが用いられてもよく、2種以上が併用されてもよい。有機フィラーの種類は特に限定されない。有機繊維として、芳香族ポリエステル繊維、芳香族ポリアミド繊維、フッ素樹脂繊維、ポリイミド繊維、植物性繊維等が挙げられる。これらの有機フィラーは、天然物であってもよく、人工物であってもよい。また、これらの有機フィラーの中から1種のみが用いられてもよく、2種以上が併用されてもよい。
【0049】
ステップS11に続いて、CPU11は、入力した繊維画像に対する二値化処理を実行する(ステップS12)。この二値化処理は、上述したように繊維画像から、複合された繊維と背景とを分離するための処理である。CPU11は、適応型しきい値処理等の既知の処理を用いて二値化処理を実行する。
【0050】
ステップS12に続いて、CPU11は、二値化処理後の繊維画像に対する細線化処理を実行する(ステップS13)。この細線化処理は、上述したように、二値化された画像における繊維の中心線を検出するための処理である。CPU11は、Zhang-Suenの細線化アルゴリズム等の既知の処理を用いて細線化処理を実行する。
【0051】
ステップS13に続いて、CPU11は、細線化後の画像から抽出された特徴点を探索し、連結すべき特徴点の集合を検出する連結領域抽出処理を実行する(ステップS14)。
【0052】
ステップS14に続いて、CPU11は、ステップS14で検出した特徴点の集合から、特徴点の連続性と直線性とを評価して複数の線分を当てはめる線分当てはめ処理を実行する(ステップS15)。線分当てはめ処理の詳細な内容については後述する。
【0053】
ステップS15に続いて、CPU11は、ステップS15で当てはめた複数の線分に対し、線分同士の連続性と直線性とを評価して、統合可能なものを1つの線分に統合する線分統合処理を実行する(ステップS16)。線分統合処理の詳細な内容については後述する。
【0054】
ステップS16に続いて、CPU11は、ステップS16で線分統合処理を実行した後の、繊維画像中の線分の長さを算出する線分長算出処理を実行する(ステップS17)。
【0055】
ステップS17に続いて、CPU11は、ステップS17で算出した線分の座標及び長さの合計を出力する(ステップS18)。
【0056】
CPU11が、
図3に示した一連の処理を実行することで、画像中に複数の線分が交差している場合、又は曲がった線分が存在する場合にも、個々の線分を正しく検出し、検出した線分の長さを算出することができる。
【0057】
続いて、
図3のステップS15の線分当てはめ処理の詳細について説明する。
【0058】
図4は、
図3のステップS15の線分当てはめ処理について説明するフローチャートである。また、
図5A及び
図5Bは、線分当てはめ処理を説明する図である。
【0059】
CPU11は、最初に、細線化後の画像から抽出され、ラベリングされた特徴点を座標でソートする(ステップS101)。特徴点を座標でソートする際には、CPU11は、例えば、細線化後の画像の左上を原点としてもよい。
【0060】
ステップS101に続いて、CPU11は、残りの特徴点があるかどうか判定する(ステップS102)。残りの特徴点がないと判定した場合は(ステップS102;No)、CPU11は、一連の線分当てはめ処理を終了する。ステップS102に続いて、一方、残りの特徴点があると判定した場合は(ステップS102;Yes)、CPU11は、ソート後の最初の特徴点、例えば最も左上にある特徴点を始点に設定する(ステップS103)。
図5Aに示した例では、CPU11は、最も左上にある1番の特徴点を始点に設定する。
【0061】
ステップS103に続いて、CPU11は、線分の終点に隣接する点から候補点を選択する(ステップS104)。
【0062】
ステップS104に続いて、CPU11は、候補点があるかどうか、つまり、ステップS104で候補点を選択できたかどうか判定する(ステップS105)。候補点を選択できたと判定した場合は(ステップS105;Yes)、CPU11は、続いて、ステップS104で選択した候補点が線分に追加可能であるかどうか判定する(ステップS106)。候補点が線分に追加可能であると判定した場合は(ステップS106;Yes)、CPU11は、ステップS104で選択した候補点を線分に追加する(ステップS107)。CPU11は、候補点を線分に追加すると、ステップS104の処理に戻る。
【0063】
ステップS105の判定の結果、候補点を選択できないと判定した場合は(ステップS105;No)、又は、ステップS106の判定の結果、候補点が線分に追加可能でないと判定した場合は(ステップS106;No)、CPU11は、ここまでの処理で特徴点から生成した線分を登録し、登録した線分を構成する特徴点を特徴点群から除去する(ステップS108)。線分を登録し、登録した線分の特徴点を特徴点群から除去すると、CPU11は、ステップS102に戻り、残りの特徴点があれば、残りの特徴点群の中から最初の特徴点、例えば最も左上にある特徴点を始点に設定する。
【0064】
このように、CPU11は、隣接点が直線性の条件を満たす限りにおいて、特徴点の探索を繰り返す。直線性を満たさなくなるか、最後に追加した点に隣接点がなければ、CPU11は探索を終了し、それまでに辿った点の始点と終点とから線分を決定する。CPU11は、残った特徴点に対して同じ処理を繰り返すことで、複数の線分を検出する。
【0065】
図5Aに示した例を用いると、CPU11は、最初に1番の特徴点を始点に設定すると、続いて、1番の特徴点と右下に隣接する2番の特徴点を線分に追加し、さらに、2番の特徴点と右下に隣接する3番の特徴点を線分に追加する。そしてCPU11は、3番の特徴点と右下に隣接する4番の特徴点を線分に追加する。
【0066】
4番の特徴点まで追加すると、4番の特徴点に隣接するのは5番及び6番の特徴点となる。始点である1番の特徴点を基準として、直前に線分に登録された4番の特徴点に向かうベクトルをaとする。一方、4番の特徴点に隣接する5番及び6番の特徴点を候補点とし、4番の特徴点を基準に5番及び6番の特徴点に向かうベクトルをそれぞれb、cとする。2点以上の候補点が存在する場合には、CPU11は、それまでに登録された線分に対する候補点の方向に基づき、候補点を1つに絞り込む。ベクトルaとbとのなす角θab及びベクトルaとcとのなす角θacは下記の数式(1)で求められる。
【0067】
【0068】
直線性を満足する臨界角度をθthrと定義すると、θab≦θthrまたはθac≦θthrを満足する場合に、CPU11は、5番又は6番の特徴点を線分の新たな特徴点の候補点として登録する。ただし、2点以上の候補点が上記条件を満たす場合には、CPU11は、それらの候補点のうち、より直線性を満たす点、すなわちベクトルaとのなす角が最も小さい特徴点を、線分の新たな特徴点の候補点として登録する。
【0069】
CPU11は、線分の候補点の絞り込みが終わると、線分の直線性から、候補点が線分の特徴点であるかを判定する。
図5Bに示す特徴点と候補点との位置関係を例に直線性の判定方法を説明する。まず、CPU11は、始点と候補点とを結ぶ直線を定義する。
図5Bにおいて破線で示したのが、始点と候補点とを結ぶ直線である。そして、CPU11は、既に線分として登録されている全特徴点に対して、定義した直線との最短距離l
dを求め、それら全てがある所定の閾値内である場合に、その候補点を線分の新たな特徴点として登録する。
【0070】
ここで、CPU11が5番の特徴点を線分の新たな特徴点として登録したとする。この場合、ベクトルaは始点である1番の特徴点から、5番の特徴点を向いたベクトルとなる。そして、CPU11は、5番の特徴点に隣接する7番の特徴点、及び7番の特徴点に隣接する9番の特徴点を線分として登録する。
【0071】
続いて、
図3のステップS16の線分統合処理の詳細について説明する。
【0072】
図6は、
図3のステップS16の線分統合処理について説明するフローチャートである。また、
図7は、線分統合処理を説明する図である。
図7において、統合候補となる線分のベクトルをd、e、とし、ベクトルd、eの端点間を結ぶベクトル、すなわちベクトルdの終点からベクトルeの始点へのベクトルをfとする。
【0073】
CPU11は、まず、統合候補の線分のベクトルdとベクトルeとのなす角θdeが、直線性を満足する臨界角度θthr1以下であるかどうか、すなわち、θde≦θthr1を満たすかどうか判定する(ステップS111)。
【0074】
ステップS111の判定の結果、θde≦θthr1を満たす場合は(ステップS111;Yes)、続いてCPU11は、ベクトルfの大きさ|f|が統合判定の臨界長さlthr以下であるかどうか、すなわち、|f|≦lthrを満たすかどうか判定する(ステップS112)。一方、ステップS111の判定の結果、θde≦θthr1を満たさない場合は(ステップS111;No)、CPU11は、2つの線分は統合不可と判定する(ステップS117)。
【0075】
ステップS112の判定の結果、|f|≦lthrを満たす場合は(ステップS112;Yes)、CPU11は、2つの線分は統合可と判定する(ステップS116)。一方、ステップS112の判定の結果、|f|≦lthrを満たさない場合は(ステップS112;No)、続いてCPU11は、ベクトルdとベクトルeの大きさの小さい方に所定の比率r1(0<r1≦1)を掛けた値と、ベクトルfの大きさ|f|とを比較し、|f|の方が大きくなるか、すなわち、|f|>min(|d|,|e|)×r1を満たすかどうか判定する(ステップS113)。
【0076】
ステップS113の判定の結果、|f|>min(|d|,|e|)×r
1を満たすと判定した場合は(ステップS113;Yes)、CPU11は、2つの線分は統合不可と判定する(ステップS117)。一方、ステップS113の判定の結果、|f|>min(|d|,|e|)×r
1を満たさないと判定した場合は(ステップS113;No)、続いてCPU11は、ベクトルf上の特徴点の占める割合から、2つの線分が統合可能かどうか判定する。すなわち、CPU11は、ベクトルfに近接する特徴点のそれぞれについてベクトルfとの最短距離を求め、ある所定の閾値以内に存在する特徴点群の長さの総和(ピクセル数)l
onlineがl
online≦|f|×r
2(0<r
2≦1)を満たすかどうか判定する(ステップS114)。
図7の例では、ベクトルfと特徴点との最短距離l
fが所定の閾値以下の特徴点の数がl
onlineである。
【0077】
ステップS114の判定の結果、lonline≦|f|×r2を満たすと判定した場合は(ステップS114;Yes)、CPU11は、ベクトルf上の特徴点の占める割合が低いので、2つの線分は統合不可と判定する(ステップS117)。一方、ステップS114の判定の結果、lonline≦|f|×r2を満たさないと判定した場合は(ステップS114;No)、CPU11は、ベクトルf上の特徴点の占める割合が高いので、2つの線分は統合可と判定する(ステップS116)。
【0078】
このように、CPU11は、2本の線分同士の連続性と直線性とを評価して、統合可能なものを1つの線分に統合することができる。
【0079】
CPU11は、2本の線分の統合の可否を判定する際に、さらに、ベクトルdとベクトルfのなす角θdfと、ベクトルeとベクトルfのなす角θefとが、ともに閾値以下になるかどうかで、2本の線分の統合の可否を判定してもよい。
【0080】
図8は、
図3のステップS16の線分統合処理について説明するフローチャートである。
図8に示したフローチャートは、
図6に示したフローチャートのステップS114の後段に処理が1つ追加されたものである。
【0081】
ステップS114の判定の結果、lonline≦|f|×r2を満たさないと判定した場合は(ステップS114;No)、続いてCPU11は、ベクトルdとベクトルfのなす角θdfと、ベクトルeとベクトルfのなす角θefとが、ともに閾値θthr2以下となるかどうかを判定する。すなわち、CPU11は、θdf≦θthr2、かつθef≦θthr2を満たすかどうか判定する(ステップS115)。
【0082】
ステップS115の判定の結果、θdf≦θthr2、かつθef≦θthr2を満たす場合は(ステップS115;Yes)、CPU11は、2つの線分は統合可と判定する(ステップS116)。一方、ステップS115の判定の結果、θdf≦θthr2とθef≦θthr2とのいずれかを満たさない場合は(ステップS115;No)、CPU11は、2つの線分は統合不可と判定する(ステップS117)。
【0083】
炭素繊維(Carbon Fiber;CF)の分散画像を対象に、本実施形態に係る線分検出装置10の効果を説明する。
【0084】
図9は、繊維分散画像の一例を示す図である。
図9に示す画像は、炭素繊維強化樹脂(Carbon Fiber Reinforced Plastic;CFRP)の射出成形品を加熱処理し、炭素繊維のみを抽出した後に、シャーレに分散及び固定し、マイクロスコープで撮像して得られた画像である。画像において黒く写っている部分が炭素繊維であり、長さの異なる多数の繊維が存在する。
【0085】
図10は、本実施形態に係る線分検出装置10によって検出された線分を示す図である。
図10では、線分検出装置10によって検出された線分を太線で示している。
図10に示したように、線分検出装置10は、交差した繊維、及び長い繊維を正しく検出していることがわかる。
【0086】
精度を検証するため、線分検出装置10が検出した線分に基づいて重量平均繊維長Lwを調べ、手動測定の結果と比較した。重量平均繊維長Lwは、長さで重み付けした繊維長の平均値であり、下記の数式(2)で算出される。
【0087】
【0088】
数式(2)で、liは繊維長であり、Nは計測した繊維の本数である。
【0089】
手動測定では、まず市販の画像処理ソフトウェアを用いてノイズ除去、色調補正、二値化の前処理を手動で行った後に、同一のソフトウェアの自動測定機能で繊維長を自動測定し、得られた結果のうち、検出不良の繊維データを手動で補正し、比較用のデータとした。
【0090】
図11は、手動測定と、本実施形態との比較結果を示すグラフである。本検証では0.05mm以下の繊維はカウントから除外した。また本検証での繊維の総数は約4000本であった。
【0091】
図11に示すように、本実施形態に係る線分検出装置10による測定値と手動測定値の差は5%以下であった。従って、本実施形態に係る線分検出装置10は、精度良く繊維長を測定できていることがわかる。
【0092】
本実施形態に係る線分検出装置10は、画像中に複数の線分が交差している場合、又は曲がった線分が存在する場合にも、線分の直線性及び連続性を評価し、統合可能な線分を統合することで、個々の線分を正しく検出することができる。
【0093】
なお、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した線分長測定処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、線分長測定処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0094】
また、上記各実施形態では、線分長測定処理のプログラムがROMまたはストレージに予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【符号の説明】
【0095】
10 線分検出装置
101 二値化演算部
102 細線化演算部
103 連結領域検出演算部
104 線分当てはめ演算部
105 線分統合演算部
106 線分長測定部