(57)【要約】【課題】可動部分を含むために様々な形状で撮像された物体の画像から規格外の物体を検出する。【解決手段】異常物体検出装置１００は、撮影画像から抽出した複数の物体の曲率をそれぞれ算出する。異常物体検出装置１００は、複数の物体の曲率を基にして、曲率の大きさの差が所定の範囲以内となる物体の特徴を比較することで、複数の物体を複数のグループに分類する。異常物体検出装置１００は、所属する物体の数が所定数未満となるグループを判定し、判定したグループに属する物体を出力する。【選択図】図２
2018156449.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
撮影画像から抽出した複数の物体の曲率をそれぞれ算出し、
算出した前記複数の物体の曲率を基にして、曲率の大きさの差が所定の範囲以内となる物体の特徴を比較することで、前記複数の物体を複数のグループに分類し、
所属する物体の数が所定数未満となるグループを判定し、判定したグループに属する物体を出力する
処理を実行させることを特徴とする異常物体検出プログラム。
【請求項２】
前記分類する処理は、前記複数の物体を、前記複数の物体から第１の物体を選択し、前記第１の物体の曲率の大きさとの差が所定の範囲以内の曲率の大きさとなり、かつ、前記第１の物体の特徴に類似する第２の物体を、前記第１の物体と同じグループに分類することを特徴とする請求項１に記載の異常物体検出プログラム。
【請求項３】
前記分類する処理は、比較対象となる各物体の両端の方向、凸方向を揃えた後に、物体間の特徴が類似するか否かを判定することを特徴とする請求項２に記載の異常物体検出プログラム。
【請求項４】
前記分類する処理は、グループに属する各物体の曲率および特徴を記憶部に記憶しておき、前記判定する処理は、撮影画像から新たに物体を検出した場合に、前記記憶部に記憶された各物体の曲率および特徴と、新たに検出した物体の曲率および特徴とを基にして、新たに検出した物体を出力するか否かを判定する処理を更に実行することを特徴とする請求項１に記載の異常物体検出プログラム。
【請求項５】
コンピュータが実行する異常物体検出方法であって、
撮影画像から抽出した複数の物体の曲率をそれぞれ算出し、
算出した前記複数の物体の曲率を基にして、曲率の大きさの差が所定の範囲以内となる物体の特徴を比較することで、前記複数の物体を複数のグループに分類し、
所属する物体の数が所定数未満となるグループを判定し、判定したグループに属する物体を出力する
処理を実行することを特徴とする異常物体検出方法。
【請求項６】
撮影画像から抽出した複数の物体の曲率をそれぞれ算出する算出部と、
算出した前記複数の物体の曲率を基にして、曲率の大きさの差が所定の範囲以内となる物体の特徴を比較することで、前記複数の物体を複数のグループに分類する分類部と、
所属する物体の数が所定数未満となるグループを判定し、判定したグループに属する物体を出力する判定部と
を有することを特徴とする異常物体検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常物体検出プログラム等に関する。
【背景技術】
【０００２】
人体の異常の検査、作業中の姿勢の調査、製造物の検査、材料検査等の各種検査では、見た目が他の物体の外観に基づく正常と見なされる範囲から外れている異常な物体を検出することが行われている。
【０００３】
一般的に、画像認識技術を用いて異常な物体を検出する場合には、予め正解データ（正常な物体の画像、異常な物体の画像）を集めておき、正解データから特徴量を抽出し、抽出した特徴量を用いて、正常な物体・異常な物体を判別することが行われる。しかし、正解データから異常な物体を判別するためには、多くの正解データを利用することになるが、用途によっては多くの正解データを集めることが難しい場合がある。
【０００４】
一方、正解データの代わりに異常な物体を定義して、異常な物体を検出することも考えられるが、異常な物体には、奇形、変色等、バリエーションが様々であり、異常な物体を定義することも難しい。
【０００５】
上記のように、正解データを用いて判別することや、異常な物体を定義することが難しい場合には、作業員が目視で異常な物体を判断することになる。しかし、目視で異常な物体を判断することは、作業員の負担となるため、自動的に異常な物体を検出することが求められている。
【０００６】
図１２は、従来技術の一例を説明するための図である。例えば、上記のように、正解データを用いて判別することや、異常な物体を定義して、異常な物体を直接検出することは困難であるため、異常な物体が正常な物体よりも少数であることを利用する。例えば、従来技術では、類似する物体をまとめ、類似する物体の数が少ない物体を、異常な物体として検出する。
【０００７】
図１２に示す例では、物体１ａ〜１ｅを比較すると、物体１ａ〜１ｄが互いに類似しており、物体１ｅが他の物体１ａ〜１ｄと類似していない。この場合には、従来技術では、物体１ｅを異常な物体として検出する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１３−３０７８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した従来技術では、様々な形状で撮像された物体の画像から規格外の物体を検出することができないという問題がある。
【００１０】
従来技術では、物体が変形しなければ、異常な物体を検出することが可能であるが、物体に可動部分が含まれると、物体自体が変形し、異常な物体を誤検出する場合がある。従来技術では、物体の類似性を判定する場合に、形や色が類似しているものを類似していると判定するため、曲がり具合が異なっていると、正常な物体同士であっても類似していないと判定してしまう。すなわち、折れ曲がっていること自体が異常性として検出されることになる。
【００１１】
一例として、人や動物の肘や膝・背骨・腰、ロボットアーム、多体節の生物などが、可動部分が含まれる物体となる。曲がり具合については、関節などの一方向に曲がるもので、基本的に１８０度以内の曲がり具合を想定している。また、外殻構造のように、複数構造が連結した部分で折れ曲がり、全体的に曲面状に曲がっているものも想定する。
【００１２】
１つの側面では、本発明は、様々な形状で撮像された物体の画像から規格外の物体を検出することができる異常物体検出プログラム、異常物体検出方法および異常物体検出装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
第１の案では、コンピュータに下記の処理を実行させる。コンピュータは、撮影画像から抽出した複数の物体の曲率をそれぞれ算出する。コンピュータは、複数の物体の曲率を基にして、曲率の大きさの差が所定の範囲以内となる物体の特徴を比較することで、複数の物体を複数のグループに分類する。コンピュータは、所属する物体の数が所定数未満となるグループを判定し、判定したグループに属する物体を出力する。
【発明の効果】
【００１４】
様々な形状で撮像された物体の画像から規格外の物体を検出することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本実施例１に係る異常物体検出装置の処理の一例を説明するための図である。
【図２】図２は、本実施例１に係る異常物体検出装置の構成を示す機能ブロック図である。
【図３】図３は、実施例１に係る管理テーブルのデータ構造の一例を示す図である。
【図４】図４は、スケルトンから曲率を算出する処理を説明するための図である。
【図５】図５は、分類部の処理を説明するための図である。
【図６】図６は、本実施例１に係る異常物体検出装置の処理手順を示すフローチャートである。
【図７】図７は、物体の曲率と特徴量とを抽出する処理を示すフローチャートである。
【図８】図８は、本実施例２に係る異常物体検出装置の構成を示す機能ブロック図である。
【図９】図９は、画像リストのデータ構造の一例を示す図である。
【図１０】図１０は、本実施例２に係る異常物体検出装置の処理手順を示すフローチャートである。
【図１１】図１１は、異常物体検出装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図１２】図１２は、従来技術の一例を説明するための図である。
【発明を実施するための形態】
【００１６】
以下に、本願の開示する異常物体検出プログラム、異常物体検出方法および異常物体検出装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１７】
図１は、本実施例１に係る異常物体検出装置の処理の一例を説明するための図である。例えば、異常物体検出装置は、下記のステップＳ１０〜Ｓ１４の処理を行う。
【００１８】
ステップＳ１０について説明する。異常物体検出装置は、カメラが撮影した物体の画像を基にして、シルエットを作成する。図１に示す例では、物体のシルエット１０〜１５が検出される。以下の説明では、物体のシルエット１０〜１５を、便宜的に、物体１０〜１５と表記する。
【００１９】
ステップＳ１１について説明する。異常物体検出装置は、物体１０〜１５の曲率をそれぞれ算出する。
【００２０】
ステップＳ１２について説明する。異常物体検出装置は、物体１０〜１５の曲率に応じて、物体１０〜１５の並べ替えを行う。図１に示す例では、異常物体検出装置は、曲率の小さい順に、物体１０〜１５を並べると、順序は、物体１０，１１，１２，１３，１４，１５の順となる。また、異常物体検出装置は、物体１０〜１５を並べる際に、物体の両端（先端、根本等）の判別を行い、物体の両端、凸方向が同一方向となるように合わせる。図１に示す例では、上側が物体の先端であり、下側が物体の根本となり、凸方向が右側となる。本実施例では一例として、両端の一方を先端とし、他方を根本として説明を行う。
【００２１】
ステップＳ１３について説明する。異常物体検出装置は、曲率が類似した物体間で、物体の特徴量が類似するか否かを判定する。例えば、異常物体検出装置は、物体の特徴量を、ＡＲＴ（Angular  Radial  Transform）変換を用いて求めても良いし、Wavelet変換を用いて求めても良い。例えば、物体１０，１１の特徴量が類似し、物体１１，１２の特徴量が類似するものとする。また、物体１２，１３の特徴量が類似しないが、物体１２，１４の特徴量が類似するものとする。物体１４，１５の特徴量が類似するものとする。
【００２２】
ステップＳ１４について説明する。ステップＳ１３の処理により、物体１０，１１，１２，１４，１５は、曲率が類似した物体間で、かつ、特徴量が類似する物体となり、物体１３は、曲率が類似した物体間で、特徴量が類似しない物体となる。このため、異常物体検出装置は、物体１３を、異常な物体として出力する。
【００２３】
上述したように、異常物体検出装置は、図１のステップＳ１０〜Ｓ１４の処理を実行することで、可動部分を含むために様々な形状で撮像された物体の画像から規格外の物体（異常な物体）を検出することができる。
【００２４】
次に、本実施例１に係る異常物体検出装置の構成の一例について説明する。図２は、本実施例１に係る異常物体検出装置の構成を示す機能ブロック図である。図２に示すように、この異常物体検出装置１００は、カメラ１１０と、通信部１２０と、入力部１３０と、表示部１４０と、記憶部１５０と、制御部１６０とを有する。
【００２５】
カメラ１１０は、検査の対象となる物体の画像を撮影する装置である。カメラ１１０は、撮影した画像のデータを、制御部１６０に出力する。以下の説明では、画像のデータを、単に画像データと表記する。カメラ１１０は、ネットワークを介して、異常物体検出装置１００に接続されていても良い。
【００２６】
通信部１２０は、ネットワークを介して外部装置とデータ通信を実行する装置である。通信部１２０は、ネットワークカード等の通信装置に対応する。
【００２７】
入力部１３０は、各種の情報を異常物体検出装置１００に入力するための入力装置である。例えば、入力部１３０は、キーボードやマウス、タッチパネル等に対応する。
【００２８】
表示部１４０は、制御部１６０から出力される情報を表示する表示装置である。例えば、表示部１４０は、液晶ディスプレイやタッチパネルに対応する。
【００２９】
記憶部１５０は、画像テーブル１５１と、管理テーブル１５２とを有する。記憶部１５０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００３０】
画像テーブル１５１は、カメラ１１０によって撮影された画像データを格納するテーブルである。
【００３１】
管理テーブル１５２は、画像データに含まれる物体の曲率や特徴量を保持するテーブルである。図３は、実施例１に係る管理テーブルのデータ構造の一例を示す図である。図３に示すように、この管理テーブル１５２は、物体識別情報と、曲率と、特徴量とを対応付ける。物体識別情報は、物体を一意に識別する情報である。曲率は、物体の曲率である。特徴量は、物体の特徴量である。
【００３２】
制御部１６０は、登録部１６１と、算出部１６２と、分類部１６３と、判定部１６４とを有する。制御部１６０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１６０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００３３】
登録部１６１は、カメラ１１０から画像データを取得し、取得した画像データを画像テーブル１５１に登録する処理部である。登録部１６１は、カメラ１１０から画像データを取得する度に、画像データを、画像テーブル１５１に登録する。
【００３４】
算出部１６２は、画像テーブル１５１から画像データを取得し、画像データに含まれる物体の曲率を算出する処理部である。例えば、算出部１６２は、物体のシルエットを抽出する処理を行った後に、物体の曲率を算出する。
【００３５】
算出部１６２が、物体のシルエットを抽出する処理について説明する。算出部１６２は、画像データを基にして、物体部分の画素を「黒」、背景部分の画素を「白」で塗りつぶしたマスク画像を生成する。かかるマスク画像がシルエットに対応するものとなる。なお、物体部分の画素を「白」、背景部分の画素を「黒」で塗りつぶしたマスク画像を生成しても良い。
【００３６】
シルエットの抽出には、背景画像を指定して抽出する手法や、動き抽出による物体のシルエット抽出がある。背景画像を用いてシルエットを抽出する場合には、カメラ１１０は、予め物体が存在しない状態で撮影された背景画像を生成し、同じ背景上に存在する物体の撮影を行う。算出部１６２は、撮影された画像データの各画素について、背景画像で決められた画素の色との差異を求め、差異が大きい部分を、物体の領域として抽出する。背景画像としては単色の画像を用いて、決められた背景色のシート上に物体を置いて撮影してもかまわない。
【００３７】
背景色は物体の色の補色に設定する場合に効果が高くなる。例えば、赤い物体を撮影する場合には、青い背景等を用いるとシルエットの抽出精度が高くなる。なお、背景色は、物体の色と異なる色であれば、どのような背景色であっても良い。
【００３８】
動き抽出によるシルエット抽出は、物体が動く場合に、動きのある領域を抽出することで、物体の背景を抽出する。例えば、算出部１６２は、画像テーブル１５１から、時刻ｔの画像データと、時刻ｔ−１の画像データとを取得し、各画像データの画素値の差分を画素毎に算出することで、差分画像を生成する。算出部１６２は、差分画像の差分を参照し、差分値が閾値以上となる領域を、物体の領域として判定する。
【００３９】
本実施例１では、折れ曲がる物体として、基本的に一本の棒状の物を変形したような形状を想定する。例えば、人や動物の肘や膝・背骨・腰、ロボットアーム、多体節の生物等は、一部細かい凹凸はあっても、ほとんどの場合は、一本の棒状として扱うことができる。従って、算出部１６２は、下記に説明する距離変換を更に実行することで、シルエットの細かい部分を削除しても良い。
【００４０】
距離変換は、黒い物体の画像と白い背景の画像とで構成された画像があった場合において、それぞれの黒い物体の画像から、一番近い白い背景の画素への距離を検出する方法である。具体的に、算出部１６２は、以下の手順１〜４を実行する。手順１〜３が、距離変換に相当する処理である。
【００４１】
手順１：算出部１６２は、各画素の距離を求めるため、各画素と同じ数のメモリ領域を、記憶部１５０に用意する。
【００４２】
手順２：算出部１６２は、シルエットの各画素を左上からスキャンして、白画素（背景）の場合は距離値を０に設定する。算出部１６２は、黒画素（物体）の場合は左側の画素の距離値と上の画素の距離値の大きい方に１を加えたものを距離値として、現在の画素に設定する。算出部１６２は、係る処理を、左上から右下に対して行う。
【００４３】
手順３：算出部１６２は、シルエットの各画素を右下からスキャンして、黒画素の場合は、一つ下の距離値、一つ右の距離値のうち小さい方に１を加えたものを距離値として、現在の画素に設定する。算出部１６２は、係る処理を、右下から左上に対して行う。
【００４４】
手順４：算出部１６２は、手順１〜３を実行した後に、各画素の距離値を参照し、距離値が閾値未満となる画素の領域を、物体の領域から除外し、物体の領域を特定する。算出部１６２は、特定した各物体に対して、ユニークな物体識別情報を割り振る。
【００４５】
算出部１６２は、手順１〜４を実行して抽出した物体の領域の情報と、物体識別情報とを対応付けて、分類部１６３に出力する。
【００４６】
続いて、算出部１６２が、物体の曲率を算出する処理について説明する。算出部１６２は、曲率を求める物体のシルエットからスケルトンを抽出する。スケルトンは、棒状の物体に沿うように存在する骨格に相当する線分である。スケルトンの抽出方法はいくつかあるが、以下では距離変換による手法を説明する。
【００４７】
算出部１６２は、上記の手順１〜３をシルエットに対して実行することで、距離変換を実行する。距離値がピークになる部分が、棒状の物体の中心線になるため、算出部１６２は、距離値がピークとなる部分を線で結ぶことで、スケルトンを抽出する。算出部１６２は、スケルトンを結ぶ場合には、各スケルトンの距離が所定距離未満であり、かつ、各スケルトンの距離値のピーク値が、所定値以上となるスケルトン同士を結ぶ。スケルトンはグラフ構造を持つことができるが、算出部１６２は、スケルトンを一本の曲線として抽出するものとする。算出部１６２は、曲線を構成しない距離値のピークを、スケルトンとして抽出しない。
【００４８】
算出部１６２は、距離変換を用いる以外にも、細線化手法などを用いてスケルトンを抽出しても良い。細線化手法は、参考文献（安居院猛、長尾智晴（共著)、「C言語による画像処理入門」、ダイイチ書房(2000)）に記載されている。算出部１６２は、細線化により、枝葉ができてしまう場合には、短い線を除外する。
【００４９】
算出部１６２は、スケルトンから曲率を算出する。算出部１６２は、スケルトンで一本の曲線を抽出した場合には、スケルトンの曲がり具合（角度）を曲率として算出する。図４は、スケルトンから曲率を算出する処理を説明するための図である。図４に示す例では、物体（シルエット）２０からスケルトン２１が抽出されている。
【００５０】
算出部１６２は、スケルトン２１上の座標における第１〜第４座標を基準にして、二つのベクトルを算出する。座標（ｘ（ｄ），ｙ（ｄ））について、ｄは、スケルトンの基準座標からの距離を示すパラメータである。一例として、基準座標を、スケルトンの上端とする。各座標において、ｎは、基準座標からの距離の長さを示し、ｗは重みを示す。ｗの値を０．５未満の値とする。
第１座標：（ｘ（０），ｙ（０））
第２座標：（ｘ（ｎ×ｗ），ｙ（ｎ×ｗ））
第３座標：（ｘ（ｎ），ｙ（ｎ））
第４座標：（ｘ（ｎ×（１−ｗ）），ｙ（（ｎ×（１−ｗ））
【００５１】
第１ベクトル２１ａおよび第２ベクトル２１ｂは下記に示すものとなる。算出部１６２は、ベクトルの内積の関係から、第１ベクトルと第２ベクトルとのなす角を算出し、算出したなす角を、物体の曲率とする。
第１ベクトル２１ａ：（ｘ（０）−ｘ（ｎ×ｗ），ｙ（０）−ｙ（ｎ×ｗ））
第２ベクトル２１ｂ：（ｘ（ｎ）−ｘ（ｎ×（１−ｗ）），ｙ（ｎ）−ｙ（ｎ×（１−ｗ）））
【００５２】
算出部１６２は、各物体のシルエットについて、上記処理を繰り返し実行することで、各物体の曲率を算出する。算出部１６２は、物体の物体識別情報と、曲率とを対応付けて、管理テーブル１５２に登録する。
【００５３】
分類部１６３は、複数の物体の曲率を基にして、曲率の大きさの差が所定の範囲以内となる物体の特徴量を比較することで、複数の物体を複数のグループに分類する処理部である。例えば、分類部１６３は、物体の両端の違いを判定する処理、画像の特徴量を抽出する処理、物体を分類する処理を実行する。
【００５４】
分類部１６３が、物体の両端の違いを判定する処理について説明する。例えば、分類部１６３は、スケルトンで求めた両端が、物体の先端であるのか根本であるのかを判定する。分類部１６３は、予め典型的なテンプレート画像を用意し、両端の画像との比較を実施し、一番距離が近い組み合わせを基に、どちらが先端でどちらが根本であるかを判定する。
【００５５】
分類部１６３は、一般的な先端の画像特徴量を用いて、この特徴量との類似度が高い方の端を、先端として判定しても良い。画像の特徴量としてはどのような特徴量を用いても良く、例えば、画像自体を特徴量として用いる。また、形状の特徴量としては、MPEG（Moving  Picture  Experts  Group）-7で規定されているART（Angular  Radial  Transform）変換を用いた特徴量や、Wavelet変換を用いた形状の特徴量等を用いても良い。
【００５６】
図５は、分類部の処理を説明するための図である。図５において、画像３０ａは、物体の画像であり、画像３０ａ’は、反転した物体の画像である。Ａは、物体の先端と推定される領域である。領域Ｂは、根本と推定される領域である。領域Ｂ-は、物体の先端と推定される領域である。領域Ａ-は、根本と推定される領域である。
【００５７】
画像４０ａは、先端と根本が既知の物体のテンプレートであり、画像４０ａ’は、反転したテンプレートである。領域Ｃは、物体の先端の領域である。領域Ｄは、物体の根本の領域である。領域Ｃ-は、物体の根本の領域である。領域Ｄ-は、物体の先端の領域である。
【００５８】
分類部１６３は、式（１）、式（２）に基づいて第１の距離と、第２の距離を算出する。第１の距離の方が、第２の距離よりも小さい場合には、初めの推定が正しいことを意味する。第２の距離の方が、第１の距離よりも小さい場合には、初めの推定が間違っていることを示すので、物体の両端との関係を反転させる。
第１の距離＝Distance（Ａ，Ｃ）＋Distance（Ｂ，Ｄ）・・・（１）
第２の距離＝Distance（Ａ，Ｃ-）＋Distance（Ｂ，Ｄ-）・・・（２）
【００５９】
分類部１６３は、各物体に対して上記処理を実行し、物体の両端を判定する。
【００６０】
続いて、分類部１６３が、画像の特徴量を抽出する処理について説明する。分類部１６３は、各物体の両端、凸方向が揃えつつ、各物体を、曲率の小さいものから大きいものとなるように、並べ替えを行う。例えば、分類部１６３は、図１のステップＳ１２で説明したように、各物体１０〜１５の並べ替えを行う。分類部１６３は、各物体の曲率の情報を、管理テーブル１５２から取得する。
【００６１】
分類部１６３は、上記の並べ替えを行った後に、各物体の特徴量を抽出する。例えば、分類部１６３は、形状の特徴量として、ART（Angular  Radial  Transform）変換を用いた特徴量や、Wavelet変換を用いた特徴量を抽出する。分類部１６３は、各物体の特徴量を、物体識別情報と対応付けて、管理テーブル１５２に登録する。
【００６２】
続いて、分類部１６３が、物体を分類する処理について説明する。分類部１６３は、管理テーブル１５２を参照し、互いの物体の曲率の差が所定の範囲以内となり、かつ、互いの特徴量が類似する物体を、同じグループに分類する処理を行う。例えば、分類部１５３は、各物体の特徴量の差分値が閾値未満である場合に、各物体が類似すると判定する。
【００６３】
分類部１５３は、分類結果を、判定部１６４に出力する。図１で説明した例では、分類部１５３は、物体１０，１１，１２，１４，１５を同一グループに分類し、物体１３を同一グループに分類する。
【００６４】
判定部１６４は、分類部１５３の分類結果を基にして、異常な物体を判定する処理部である。例えば、判定部１６４は、同一のグループに属する物体の数をカウントし、カウントした数が規定数未満である場合に、係るグループに属する物体を、異常な物体として判定する。例えば、図１で説明した例では、物体１３を、異常な物体として判定する。判定部１６４は、判定結果を、表示部１４０に出力しても良いし、通信部１２０を介して、ネットワークに接続された外部装置に通知しても良い。
【００６５】
次に、本実施例１に係る異常物体検出装置１００の処理手順について説明する。図６は、本実施例１に係る異常物体検出装置の処理手順を示すフローチャートである。図６に示すように、異常物体検出装置１００の算出部１６２および分類部１６３は、未解析の画像データを取得する（ステップＳ１０１）。算出部１６２および分類部１６３は、物体から物体の曲率と特徴量とを抽出する（ステップＳ１０２）。算出部１６２および分類部１６３は、曲率と特徴量とを管理テーブル１５２に登録する（ステップＳ１０３）。
【００６６】
異常物体検出装置１００は、全ての画像データを解析していない場合には（ステップＳ１０４，Ｎｏ）、ステップＳ１０１に移行する。異常物体検出装置１００は、全ての画像データを解析した場合には（ステップＳ１０４，Ｙｅｓ）、ステップＳ１０５に移行する。
【００６７】
分類部１６３は、解析済みで未判定の画像データを取得する（ステップＳ１０５）。分類部１６３は、曲率の差が一定値以内の物体の特徴量の類似性を基にして、物体をグループに分類する（ステップＳ１０６）。
【００６８】
異常物体検出装置１００の判定部１６４は、類似した物体のグループに属する物体の数が規定数未満であるか否かを判定する（ステップＳ１０７）。判定部１６４は、類似した物体のグループに属する物体の数が規定数未満である場合には（ステップＳ１０７，Ｙｅｓ）、規定数未満となるグループに属する物体を、異常な物体と判定し（ステップＳ１０８）、ステップＳ１０９に移行する。
【００６９】
一方、判定部１６４は、類似した物体のグループに属する物体の数が規定数未満でない場合には（ステップＳ１０７，Ｎｏ）、ステップＳ１０９に移行する。全ての画像データを判定したか否かを判定する（ステップＳ１０９）。
【００７０】
異常物体検出装置１００は、全ての画像データを判定していない場合には（ステップＳ１０９，Ｎｏ）、ステップＳ１０５に移行する。異常物体検出装置１００は、全ての画像データを判定した場合には（ステップＳ１０９，Ｙｅｓ）、処理を終了する。
【００７１】
次に、図６のステップＳ１０２の物体の曲率と特徴量とを抽出する処理について説明する。図７は、物体の曲率と特徴量とを抽出する処理を示すフローチャートである。図７に示すように、異常物体検出装置１００の算出部１６２は、画像データから物体の領域を抽出する（ステップＳ２０１）。算出部１６２は、物体の領域のスケルトンを抽出する（ステップＳ２０２）。
【００７２】
算出部１６２は、スケルトンから曲率を算出する（ステップＳ２０３）。異常物体検出装置１００の分類部１６３は、スケルトンの両端の領域の画像を取得する（ステップＳ２０４）。算出部１６２は、スケルトンの端の画像とテンプレートとを比較することで、端を判定する（ステップＳ２０５）。
【００７３】
異常物体検出装置１００の分類部１６３は、物体の両端、凸方向を揃え、曲率に応じてソートする（ステップＳ２０７）。分類部１６３は、画像データから各物体の特徴量を抽出する（ステップＳ２０８）。
【００７４】
次に、本実施例１に係る異常物体検出装置１００の効果について説明する。異常物体検出装置１００は、複数の物体の曲率をそれぞれ算出し、曲率の大きさが近い物体間で特徴量が類似する物体同士を同一のグループに分類し、同一のグループに属する物体が少ないものを、異常な物体として検出する。これにより、特定箇所で折れ曲がるような物体においても、異常な物体を検出することができる。例えば、正常な物体であっても、曲率が異なっていると、他の正常な物体との特徴量が異なってしまうが、曲率が類似する物体の特徴量を比較することで、かかる問題を解消できる。
【００７５】
異常物体検出装置１００は、比較対象となる各物体の両端、凸方向を揃えた後に、物体間の特徴量が類似するか否かを判定する。これにより、各物体の特徴量が類似するか否かを適切に判定することができる。例えば、正常な物体であっても、両端、凸方向が異なっていると、他の正常な物体との特徴量が異なってしまうが、両端、凸方向を揃えることで、かかる問題を解消できる。
【実施例２】
【００７６】
図８は、本実施例２に係る異常物体検出装置の構成を示す機能ブロック図である。図８に示すように、異常物体検出装置２００は、カメラ２１０と、通信部２２０と、入力部２３０と、表示部２４０と、記憶部２５０と、制御部２６０とを有する。このうち、カメラ２１０、通信部２２０、入力部２３０、表示部２４０に関する説明は、図２で説明したカメラ１１０、通信部１２０、入力部１３０、表示部１４０に関する説明と同様である。
【００７７】
記憶部２５０は、画像テーブル２５１、管理テーブル２５２、画像リスト２５３を有する。記憶部２５０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。画像テーブル２５１、管理テーブル２５２に関する説明は、図２で説明した画像テーブル１５１、管理テーブル１５２に関する説明と同様である。
【００７８】
画像リスト２５３は、分類部２６３の分類結果を格納するリストである。実施例１で説明したように、同一のグループに属する各物体は、互いの物体の曲率の差が所定の範囲以内となり、かつ、互いの特徴量が類似する物体である。
【００７９】
図９は、画像リストのデータ構造の一例を示す図である。図９に示すように、この画像リスト２５３は、グループ識別情報と、物体情報とを対応付ける。グループ識別情報は、グループを一意に識別する情報である。物体情報は、同一のグループに属する物体の曲率、特徴量、画像を含む。また、物体情報は、各物体の両端の情報を更に含んでいても良い。
【００８０】
制御部２６０は、登録部２６１、算出部２６２、分類部２６３、判定部２６４を有する。制御部２６０は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部２６０は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。
【００８１】
登録部２６１は、カメラ２１０から画像データを取得し、取得した画像データを画像テーブル２５１に登録する処理部である。登録部２６１は、カメラ２１０から画像データを取得する度に、画像データを、画像テーブル２５１に登録する。
【００８２】
算出部２６２は、画像テーブル２５１から画像データを取得し、画像データに含まれる物体の曲率を算出する処理部である。算出部２６２は、画像テーブル２５１に新たな画像データが登録される度に、物体の曲率を算出する。その他の算出部２６２の処理は、算出部１６２の処理と同様である。
【００８３】
分類部２６３は、複数の物体の曲率を基にして、曲率の大きさの差が所定の範囲以内となる物体の特徴量を比較することで、複数の物体を複数のグループに分類する処理部である。分類部２６３は、分類結果を、画像リスト２５３に登録する。例えば、分類結果は、グループ識別情報と、物体情報とを含む。分類部２６３のその他の処理は、分類部１６３の処理と同様である。
【００８４】
また、分類部２６３は、画像リスト２５３に複数の分類結果が蓄積された後に、下記の処理を新たに実行しても良い。例えば、分類部２６３は、カメラ２１０から新たな画像データが撮影された場合に、新たな画像データに含まれる物体の曲率、特徴量と、画像リスト２５３に含まれる各グループの物体の曲率、特徴量とを比較し、いずれかのグループに属するかを判定しても良い。この場合には、分類部２６３は、新たな画像データに含まれる物体が、いずれのグループに属するかを示す情報を、判定部２６４に出力する。
【００８５】
判定部２６４は、分類部２６３の分類結果を基にして、異常な物体を判定する処理部である。例えば、判定部２６４は、同一のグループに属する物体の数をカウントし、カウントした数が規定数未満である場合に、係るグループに属する物体を、異常な物体として判定する。
【００８６】
また、判定部２６４は、分類部２６３から新たな画像データに含まれる物体の属するグループの分類結果を取得した場合には、かかる物体が属するグループに含まれる物体の数をカウントする。判定部２６４は、カウントした数が規定数未満である場合に、新たな画像データに含まれる物体を、異常な物体として判定する。
【００８７】
次に、本実施例２に係る異常物体検出装置２００の処理手順について説明する。図１０は、本実施例２に係る異常物体検出装置の処理手順を示すフローチャートである。図１０に示すように、異常物体検出装置２００は、画像リスト２５３を生成する（ステップＳ３０１）。例えば、ステップＳ３０１は、図６で説明したステップＳ１０１〜ステップＳ１０９に示す処理を実行することで生成される。
【００８８】
異常物体検出装置２００の算出部２６２および分類部２６３は、新たな画像データを一枚取得する（ステップＳ３０２）。算出部２６２および分類部２６３は、物体から曲率および特徴量を抽出する（ステップＳ３０３）。算出部２６２および分類部２６３は、物体の曲率と特徴量とを管理テーブル２５２に登録する（ステップＳ３０４）。
【００８９】
分類部２６３は、画像リスト２５３を基にして、新たな画像データに含まれる物体を分類する（ステップＳ３０５）。異常物体検出装置２００の判定部２６４は、新たな画像データの物体が属するグループについて、物体の数が規定数未満であるか否かを判定する（ステップＳ３０６）。
【００９０】
判定部２６４は、物体の数が規定数未満である場合には（ステップＳ３０６，Ｙｅｓ）、新たな画像データに含まれる物体を異常な物体と判定する（ステップＳ３０７）。一方、判定部２６４は、物体の数が規定数未満でない場合には（ステップＳ３０６，Ｎｏ）、物体の物体情報を画像リスト２５３に登録する（ステップＳ３０８）。
【００９１】
次に、本実施例２に係る異常物体検出装置２００の効果について説明する。異常物体検出装置２００は、予め複数の画像データを分析しておき、画像リスト２５３を生成しておく。そして、異常物体検出装置２００は、新たに画像データを取得した場合には、画像データに含まれる物体の曲率および特徴量と、画像リスト２５３とを比較することで、新たな画像データに含まれる物体が異常な物体であるか否かを判定する。これにより、一旦画像リスト２５３を生成しておけば、単一の画像データを取得した時点で、かかる単一の画像データに含まれる物体が異常であるか否かを判定することができる。
【００９２】
次に、上記実施例に示した異常物体検出装置１００，２００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図１１は、異常物体検出装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【００９３】
図１１に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、ディスプレイ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る読み取り装置３０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置３０５とを有する。コンピュータ３００は、カメラ３０６を有する。また、コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０７と、ハードディスク装置３０８とを有する。そして、各装置３０１〜３０８は、バス３０９に接続される。
【００９４】
ハードディスク装置３０８は、算出プログラム３０８ａ、分類プログラム３０８ｂ、判定プログラム３０８ｃを有する。ＣＰＵ３０１は、算出プログラム３０８ａ、分類プログラム３０８ｂ、判定プログラム３０８ｃを読み出してＲＡＭ３０７に展開する。
【００９５】
算出プログラム３０８ａは、算出プロセス３０７ａとして機能する。分類プログラム３０８ｂは、分類プロセス３０７ｂとして機能する。判定プログラム３０８ｃは、判定プロセス３０７ｃとして機能する。
【００９６】
算出プロセス３０７ａの処理は、算出部１６２，２６２の処理に対応する。分類プロセス３０７ｂの処理は、分類部１６３，２６３の処理に対応する。判定プロセス３０７ｃの処理は、判定部１６４，２６４の処理に対応する。
【００９７】
なお、各プログラム３０８ａ〜３０８ｃについては、必ずしも最初からハードディスク装置３０８に記憶させておかなくても良い。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ３００が各プログラム３０８ａ〜３０８ｃを読み出して実行するようにしても良い。
【００９８】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９９】
（付記１）コンピュータに、
撮影画像から抽出した複数の物体の曲率をそれぞれ算出し、
算出した前記複数の物体の曲率を基にして、曲率の大きさの差が所定の範囲以内となる物体の特徴を比較することで、前記複数の物体を複数のグループに分類し、
所属する物体の数が所定数未満となるグループを判定し、判定したグループに属する物体を出力する
処理を実行させることを特徴とする異常物体検出プログラム。
【０１００】
（付記２）前記分類する処理は、前記複数の物体を、前記複数の物体から第１の物体を選択し、前記第１の物体の曲率の大きさとの差が所定の範囲以内の曲率の大きさとなり、かつ、前記第１の物体の特徴に類似する第２の物体を、前記第１の物体と同じグループに分類することを特徴とする付記１に記載の異常物体検出プログラム。
【０１０１】
（付記３）前記分類する処理は、比較対象となる各物体の両端の方向、凸方向を揃えた後に、物体間の特徴が類似するか否かを判定することを特徴とする付記２に記載の異常物体検出プログラム。
【０１０２】
（付記４）前記分類する処理は、グループに属する各物体の曲率および特徴を記憶部に記憶しておき、前記判定する処理は、撮影画像から新たに物体を検出した場合に、前記記憶部に記憶された各物体の曲率および特徴と、新たに検出した物体の曲率および特徴とを基にして、新たに検出した物体を出力するか否かを判定する処理を更に実行することを特徴とする付記１に記載の異常物体検出プログラム。
【０１０３】
（付記５）コンピュータが実行する異常物体検出方法であって、
撮影画像から抽出した複数の物体の曲率をそれぞれ算出し、
算出した前記複数の物体の曲率を基にして、曲率の大きさの差が所定の範囲以内となる物体の特徴を比較することで、前記複数の物体を複数のグループに分類し、
所属する物体の数が所定数未満となるグループを判定し、判定したグループに属する物体を出力する
処理を実行することを特徴とする異常物体検出方法。
【０１０４】
（付記６）前記分類する処理は、前記複数の物体を、前記複数の物体から第１の物体を選択し、前記第１の物体の曲率の大きさとの差が所定の範囲以内の曲率の大きさとなり、かつ、前記第１の物体の特徴に類似する第２の物体を、前記第１の物体と同じグループに分類することを特徴とする付記５に記載の異常物体検出方法。
【０１０５】
（付記７）前記分類する処理は、比較対象となる各物体の両端の方向、凸方向を揃えた後に、物体間の特徴が類似するか否かを判定することを特徴とする付記６に記載の異常物体検出方法。
【０１０６】
（付記８）前記分類する処理は、グループに属する各物体の曲率および特徴を記憶部に記憶しておき、前記判定する処理は、撮影画像から新たに物体を検出した場合に、前記記憶部に記憶された各物体の曲率および特徴と、新たに検出した物体の曲率および特徴とを基にして、新たに検出した物体を出力するか否かを判定する処理を更に実行することを特徴とする付記５に記載の異常物体検出方法。
【０１０７】
（付記９）撮影画像から抽出した複数の物体の曲率をそれぞれ算出する算出部と、
算出した前記複数の物体の曲率を基にして、曲率の大きさの差が所定の範囲以内となる物体の特徴を比較することで、前記複数の物体を複数のグループに分類する分類部と、
所属する物体の数が所定数未満となるグループを判定し、判定したグループに属する物体を出力する判定部と
を有することを特徴とする異常物体検出装置。
【０１０８】
（付記１０）前記分類部は、前記複数の物体を、前記複数の物体から第１の物体を選択し、前記第１の物体の曲率の大きさとの差が所定の範囲以内の曲率の大きさとなり、かつ、前記第１の物体の特徴に類似する第２の物体を、前記第１の物体と同じグループに分類することを特徴とする付記９に記載の異常物体検出装置。
【０１０９】
（付記１１）前記分類部は、比較対象となる各物体の両端の方向、凸方向を揃えた後に、物体間の特徴が類似するか否かを判定することを特徴とする付記１０に記載の異常物体検出装置。
【０１１０】
（付記１２）前記分類部は、グループに属する各物体の曲率および特徴を記憶部に記憶しておき、判定部は、撮影画像から新たに物体を検出した場合に、前記記憶部に記憶された各物体の曲率および特徴と、新たに検出した物体の曲率および特徴とを基にして、新たに検出した物体を出力するか否かを判定する処理を更に実行することを特徴とする付記９に記載の異常物体検出装置。
【符号の説明】
【０１１１】
１００，２００  異常物体検出装置
１１０，２１０  カメラ
１２０，２２０  通信部
１３０，２３０  入力部
１４０，２４０  表示部
１５０，２５０  記憶部
１６０，２６０  制御部
【図１】
2018156449.tif 000003
【図２】
2018156449.tif 000004
【図３】
2018156449.tif 000005
【図４】
2018156449.tif 000006
【図５】
2018156449.tif 000007
【図６】
2018156449.tif 000008
【図７】
2018156449.tif 000009
【図８】
2018156449.tif 000010
【図９】
2018156449.tif 000011
【図１０】
2018156449.tif 000012
【図１１】
2018156449.tif 000013
【図１２】
2018156449.tif 000014