図面 (/)

技術 演算装置、画像処理システム、演算方法、及びプログラム

出願人 パナソニックIPマネジメント株式会社
発明者 堀井俊嗣
出願日 2018年3月1日 (2年2ヶ月経過) 出願番号 2018-036891
公開日 2019年9月12日 (7ヶ月経過) 公開番号 2019-153001
状態 未査定
技術分野 画像処理 複合演算
主要キーワード 初期基準値 更新閾値 抽出ベクトル 回数パラメータ 波長特定 判定ベクトル カウントパラメータ 各濃淡値
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2019年9月12日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (11)

課題

複数の数値中央値を求める演算処理に要する演算負荷を低減することができる演算装置画像処理システム演算方法、及びプログラムを提供する。

解決手段

演算装置1aにおいて、判定部111は、N個の数値と基準値P1(m)(基準パラメータP1の値)とのそれぞれの大小関係を判定する判定処理を行う。更新部112は、判定処理の判定結果に基づいて基準値P1(m)を更新する更新処理を行う。繰り返し制御部113は、更新後の基準値P1(m)の値を用いた判定処理を判定部111に実行させ、更新部112に基準値P1(m)を繰り返し更新させる。そして、繰り返し制御部113は、所定回数Z繰り返し更新した後の基準値P1(m)を中央値とする。

概要

背景

従来、メディアンフィルタを用いた画像処理が行われている。特許文献1に記載の画素データ処理装置は、所定方向に沿って並ぶ複数の画素を有する画素列ごとに、画素データの中央値を求める。そして、画素データ処理装置は、複数の画像列の各中央値を並べた行の中央値を擬似的な中央値としている。

概要

複数の数値の中央値を求める演算処理に要する演算負荷を低減することができる演算装置画像処理システム演算方法、及びプログラムを提供する。 演算装置1aにおいて、判定部111は、N個の数値と基準値P1(m)(基準パラメータP1の値)とのそれぞれの大小関係を判定する判定処理を行う。更新部112は、判定処理の判定結果に基づいて基準値P1(m)を更新する更新処理を行う。繰り返し制御部113は、更新後の基準値P1(m)の値を用いた判定処理を判定部111に実行させ、更新部112に基準値P1(m)を繰り返し更新させる。そして、繰り返し制御部113は、所定回数Z繰り返し更新した後の基準値P1(m)を中央値とする。

目的

本発明の目的は、複数の数値の中央値を求める場合に演算負荷を低減することができる演算装置、画像処理システム、演算方法、及びプログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

2以上の整数をNとし、前記N個の数値データがそれぞれ表す数値に基づいて、前記N個の数値の中央値を求める演算装置であって、前記N個の数値がとり得る上限値と下限値との間の値に設定されたパラメータ基準パラメータとし、前記N個の数値と前記基準パラメータの値とのそれぞれの大小関係を判定する判定処理を行う判定部と、前記判定処理の判定結果に基づいて前記基準パラメータの値を更新する更新処理を行う更新部と、更新後の前記基準パラメータの値を用いた前記判定処理を前記判定部に実行させ、前記更新部に前記基準パラメータの値を繰り返し更新させる繰り返し制御部と、を備え、前記繰り返し制御部は、所定回数繰り返し更新した後の前記基準パラメータの値を前記中央値とすることを特徴とする演算装置。

請求項2

前記判定部は、前記判定処理において、前記N個の数値データのうち前記基準パラメータの値より大きい数値を表す数値データの個数カウントパラメータの値として求め、前記更新部は、前記更新処理において、前記Nの半値、または当該半値を丸めた値を更新閾値とし、前記カウントパラメータの値が前記更新閾値より大きければ、前記基準パラメータの値より小さいステップパラメータの値を前記基準パラメータの値に加算して前記更新後の前記基準パラメータの値を求め、前記カウントパラメータの値が前記更新閾値より小さければ、前記ステップパラメータの値を前記基準パラメータの値から減算して前記更新後の基準パラメータの値を求めることを特徴とする請求項1記載の演算装置。

請求項3

前記N個の数値がとり得る前記上限値と前記下限値との和の半値、または当該半値を丸めた値を、前記基準パラメータの初期値として記憶している初期値記憶部をさらに備え、前記ステップパラメータの初期値は、前記基準パラメータの初期値から前記下限値を減算した値の半値、または当該半値を丸めた値であり、前記判定部は、1回目の前記判定処理において、前記N個の数値データのうち前記基準パラメータの初期値より大きい数値を表す数値データの個数を前記カウントパラメータの値として求め、前記更新部は、1回目の前記更新処理において、前記カウントパラメータの値が前記更新閾値より大きければ、前記ステップパラメータの初期値を前記基準パラメータの初期値に加算して前記更新後の前記基準パラメータの値を求め、前記カウントパラメータの値が前記更新閾値より小さければ、前記ステップパラメータの初期値を前記基準パラメータの初期値から減算して前記更新後の基準パラメータの値を求め、前記更新部は、2回目以降の前記更新処理における前記ステップパラメータの値として、前回の前記更新処理におけるステップパラメータの値の半値、または当該半値を丸めた値を用いることを特徴とする請求項2記載の演算装置。

請求項4

前記判定部は、前記N個の前記数値で前記N個の各成分が表された数値ベクトルと前記基準パラメータの値で前記N個の各成分が表された基準ベクトルとから、成分毎の最大値を抽出し、前記成分毎の最大値で前記N個の各成分が表された抽出ベクトルを求め、前記数値ベクトルと前記抽出ベクトルとの互いに対応する成分同士を比較して、前記N個の各成分が、前記成分同士の各値が等しい場合に第1値で表され、前記成分同士の各値が異なる場合に第2値で表された判定ベクトルを求め、前記判定ベクトルにおいて前記第1値で表された成分の数を前記カウントパラメータの値として求めることを特徴とする請求項2または3記載の演算装置。

請求項5

前記判定部は、前記判定処理において、前記N個の数値データのうち前記基準パラメータの値より小さい数値を表す数値データの個数をカウントパラメータの値として求め、前記更新部は、前記更新処理において、前記Nの半値、または当該半値を丸めた値を更新閾値とし、前記カウントパラメータの値が前記更新閾値より大きければ、前記基準パラメータの値より小さいステップパラメータの値を前記基準パラメータの値から減算して前記更新後の前記基準パラメータの値を求め、前記カウントパラメータの値が前記更新閾値より小さければ、前記ステップパラメータの値を前記基準パラメータの値に加算して前記更新後の基準パラメータの値を求めることを特徴とする請求項1記載の演算装置。

請求項6

前記N個の数値がとり得る前記上限値と前記下限値との和の半値、または当該半値を丸めた値を、前記基準パラメータの初期値として記憶している初期値記憶部をさらに備え、前記ステップパラメータの初期値は、前記基準パラメータの初期値から前記下限値を減算した値の半値、または当該半値を丸めた値であり、前記判定部は、1回目の前記判定処理において、前記N個の数値データのうち前記基準パラメータの初期値より小さい数値を表す数値データの個数を前記カウントパラメータの値として求め、前記更新部は、1回目の前記更新処理において、前記カウントパラメータの値が前記更新閾値より大きければ、前記ステップパラメータの初期値を前記基準パラメータの初期値から減算して前記更新後の前記基準パラメータの値を求め、前記カウントパラメータの値が前記更新閾値より小さければ、前記ステップパラメータの初期値を前記基準パラメータの初期値に加算して前記更新後の基準パラメータの値を求め、前記更新部は、2回目以降の前記更新処理における前記ステップパラメータの値として、前回の前記更新処理におけるステップパラメータの値の半値、または当該半値を丸めた値を用いることを特徴とする請求項5記載の演算装置。

請求項7

前記判定部は、前記N個の前記数値で前記N個の各成分が表された数値ベクトルと前記基準パラメータの値で前記N個の各成分が表された基準ベクトルとから、成分毎の最小値を抽出し、前記成分毎の最小値で前記N個の各成分が表された抽出ベクトルを求め、前記数値ベクトルと前記抽出ベクトルとの互いに対応する成分同士を比較して、前記N個の各成分が、前記成分同士の各値が等しい場合に第1値で表され、前記成分同士の各値が異なる場合に第2値で表された判定ベクトルを求め、前記判定ベクトルにおいて前記第1値で表された成分の数を前記カウントパラメータの値として求めることを特徴とする請求項5または6記載の演算装置。

請求項8

請求項1乃至7のいずれか一項に記載の演算装置と、濃淡画像の情報を受け取る画像取得部と、を備え、前記N個の数値は、前記濃淡画像の複数の画素のうち、注目画素を含む所定領域の前記N個の画素のそれぞれの濃淡値であり、前記演算装置は、前記繰り返し制御部が求めた前記中央値を前記注目画素の濃淡値に設定することで、前記濃淡画像の平滑処理を行うことを特徴とする画像処理システム

請求項9

前記演算装置は、前記濃淡画像の前記平滑処理を行うメディアンフィルタとして機能することを特徴とする請求項8記載の画像処理システム。

請求項10

2以上の整数をNとし、前記N個の数値データがそれぞれ表す数値に基づいて、前記N個の数値の中央値を求める演算方法であって、前記N個の数値がとり得る上限値と下限値との間の値に設定されたパラメータを基準パラメータとし、前記N個の数値と前記基準パラメータの値とのそれぞれの大小関係を判定する判定処理を行う判定ステップと、前記判定処理の判定結果に基づいて前記基準パラメータの値を更新する更新処理を行う更新ステップと、更新後の前記基準パラメータの値を用いた前記判定処理を前記判定ステップに実行させ、前記更新ステップに前記基準パラメータの値を繰り返し更新させる制御ステップと、を備え、前記制御ステップは、所定回数繰り返し更新した後の前記基準パラメータの値を前記中央値とすることを特徴とする演算方法。

請求項11

コンピュータシステムに、請求項10記載の演算方法を実行させることを特徴とするプログラム

技術分野

0001

本発明は、一般に演算装置画像処理システム演算方法、及びプログラムに関する。

背景技術

0002

従来、メディアンフィルタを用いた画像処理が行われている。特許文献1に記載の画素データ処理装置は、所定方向に沿って並ぶ複数の画素を有する画素列ごとに、画素データの中央値を求める。そして、画素データ処理装置は、複数の画像列の各中央値を並べた行の中央値を擬似的な中央値としている。

先行技術

0003

特開2001−45507号公報

発明が解決しようとする課題

0004

上述の特許文献1の画素データ処理装置は、画素列毎に画素データ(数値データ)の中央値を求めている。すなわち、画素データ処理装置は、複数の数値データがそれぞれ表す複数の数値から中央値を求める。

0005

しかし、複数の数値の中央値を求める演算処理では、複数の数値を昇順または降順ソートする処理(ソート処理)のための演算負荷が比較的大きくなり、演算処理に要する時間が比較的長くなっていた。

0006

本発明の目的は、複数の数値の中央値を求める場合に演算負荷を低減することができる演算装置、画像処理システム、演算方法、及びプログラムを提供することにある。

課題を解決するための手段

0007

本発明の一態様に係る演算装置は、2以上の整数をNとし、前記N個の数値データがそれぞれ表す数値に基づいて、前記N個の数値の中央値を求める演算装置である。演算装置は、判定部と、更新部と、繰り返し制御部と、を備える。前記判定部は、前記N個の数値がとり得る上限値と下限値との間の値に設定されたパラメータ基準パラメータとし、前記N個の数値と前記基準パラメータの値とのそれぞれの大小関係を判定する判定処理を行う。前記更新部は、前記判定処理の判定結果に基づいて前記基準パラメータの値を更新する更新処理を行う。前記繰り返し制御部は、更新後の前記基準パラメータの値を用いた前記判定処理を前記判定部に実行させ、前記更新部に前記基準パラメータの値を繰り返し更新させる。前記繰り返し制御部は、所定回数繰り返し更新した後の前記基準パラメータの値を前記中央値とする。

0008

本発明の一態様に係る画像処理システムは、上述の演算装置と、濃淡画像の情報を受け取る画像取得部と、を備える。前記N個の数値は、前記濃淡画像の複数の画素のうち、注目画素を含む所定領域の前記N個の画素のそれぞれの濃淡値である。前記演算装置は、前記繰り返し制御部が求めた前記中央値を前記注目画素の濃淡値に設定することで、前記濃淡画像の平滑処理を行う。

0009

本発明の一態様に係る演算方法は、2以上の整数をNとし、前記N個の数値データがそれぞれ表す数値に基づいて、前記N個の数値の中央値を求める演算方法である。前記演算方法は、判定ステップと、更新ステップと、制御ステップと、を備える。前記判定ステップは、前記N個の数値がとり得る上限値と下限値との間の値に設定されたパラメータを基準パラメータとし、前記N個の数値と前記基準パラメータの値とのそれぞれの大小関係を判定する判定処理を行う。前記更新ステップは、前記判定処理の判定結果に基づいて前記基準パラメータの値を更新する更新処理を行う。前記制御ステップは、更新後の前記基準パラメータの値を用いた前記判定処理を前記判定ステップに実行させ、前記更新ステップに前記基準パラメータの値を繰り返し更新させる。前記処理制御ステップは、所定回数繰り返し更新した後の前記基準パラメータの値を前記中央値とする。

0010

本発明の一態様に係るプログラムは、コンピュータシステムに、上述の演算方法を実行させる。

発明の効果

0011

以上説明したように、本発明は、複数の数値の中央値を求める場合に演算負荷を低減することができるという効果がある。

図面の簡単な説明

0012

図1は、実施形態の画像処理システムの構成を示すブロック図である。
図2は、同上の画像処理システムの演算装置が実行するクロスメディアフィルタの処理を説明するための図である。
図3は、同上の演算装置のMAX演算を説明するための図である。
図4は、同上の演算装置のEQ演算を説明するための図である。
図5は、同上の演算装置の処理を示すフローチャートである。
図6は、同上の画像処理システムを備える検査ステムの構成を示すブロック図である。
図7は、同上の検査システムの対象物を示す斜視図である。
図8は、同上の検査システムの画像処理を説明するための図である。
図9は、同上の変形例の演算装置のMIN演算を説明するための図である。
図10は、同上の変形例の演算装置のEQ演算を説明するための図である。

実施例

0013

以下の実施形態は、一般に演算装置、画像処理システム、演算方法、及びプログラムに関する。より詳細に、以下の実施形態は、複数の数値データがそれぞれ表す複数の数値の中央値を求める演算装置、画像処理システム、演算方法、及びプログラムに関する。

0014

本実施形態の画像処理システムは、コンピュータを用いた画像処理技術により、対象物を撮像した濃淡画像に画像処理を施して、対象物の検査(汚れの有無、キズの有無、欠けの有無、良品判定など)を行う。

0015

図1は、本実施形態の検査システムA1の一部を示す。検査システムA1は、画像処理システム1と、表示装置2とを備える。

0016

画像処理システム1(画像処理装置)は、演算装置1a、及び画像取得部1bを備えており、濃淡画像の情報を取得し、画像処理用のプログラムを実行することで、濃淡画像の情報に対して画像処理を施す。

0017

演算装置1aは、コンピュータシステムであり、ハードウェアとしてのプロセッサ及びメモリ主構成とする。メモリに記録されたプログラム(画像処理用のプログラム)をプロセッサが実行することによって、本開示における演算装置1aの機能が実現される。プログラムは、コンピュータシステムのメモリに予め記録されていてもよいが、電気通信回線を通じて提供されてもよいし、コンピュータシステムで読み取り可能なメモリカード光学ディスクハードディスクドライブ等の非一時的記録媒体に記録されて提供されてもよい。コンピュータシステムのプロセッサは、半導体集積回路(IC)又は大規模集積回路(LSI)を含む1乃至複数の電子回路で構成される。複数の電子回路は、1つのチップ集約されていてもよいし、複数のチップに分散して設けられていてもよい。複数のチップは、1つの装置に集約されていてもよいし、複数の装置に分散して設けられていてもよい。

0018

画像取得部1bは、撮像装置データ記憶装置サーバなどのいずれかから有線伝送路または無線伝送路を介して、対象物が写っている濃淡画像の情報を受け取る。または、画像取得部1bは、メモリカード、光学ディスクなどの携行型の非一時的記録媒体から対象物が写っている濃淡画像の情報を受け取ってもよい。画像取得部1bによって取得された濃淡画像の情報は、演算装置1aに引き渡される。

0019

濃淡画像は複数の画素(ピクセル)で構成されており、各画素に対応して濃淡データ(数値データ)がそれぞれ設定されている。濃淡データは濃淡値(数値)を表しており、濃淡値は8ビットのデータで表される。すなわち、濃淡値は256段階に分類されており、各画素の濃淡値は、0−255の範囲のいずれかの値に設定される。なお、本実施形態において、暗い画素は濃淡値が低く、明るい画素は濃淡値が高くなる。

0020

演算装置1aは、フィルタ11、検査部12、結果出力部13を備える。

0021

フィルタ11は、クロスメディアンフィルタとして機能し、画像取得部1bから受け取った濃淡画像に平滑化処理を施す。

0022

クロスメディアンフィルタとして機能するフィルタ11は、濃淡画像の複数の画素から注目画素を選択し、注目画素及び注目画素の周囲の複数の画素の各濃淡値の中央値(濃淡中央値)を求める。そして、フィルタ11は、注目画素の濃淡データを濃淡中央値に設定し直す。フィルタ11は、濃淡画像の複数の画素のそれぞれを注目画素として順に選択し、複数の画素のそれぞれの濃淡データを濃淡中央値に設定し直すことで、濃淡画像に平滑化処理を施す。

0023

図2は濃淡画像の一部を示しており、濃淡画像では、複数の画素Eがマトリクス状に配置されている。

0024

クロスメディアンフィルタとして機能するフィルタ11は、画素E(1)を注目画素とした場合、注目画素E(1)を中心とする行方向及び列方向に位置する計10個の画素E(2),E(3),………,E(10),E(11)を、注目画素E(1)の周囲の複数の画素として抽出する。画素E(2)−E(4)及び画素E(5)−E(7)は、注目画素E(1)を挟んで列方向に並んで配置されている。画素E(8),E(9)及び画素E(10),E(11)は、注目画素E(1)を挟んで行方向に並んで配置されている。すなわち、画素E(1)−E(7)は列方向に延びる第1画素列L1を構成し、画素E(1),E(8)−E(11)は行方向に延びる第2画素列L2を構成する。第1画素列L1と第2画素列L2との交点が注目画素E(1)になる。そして、フィルタ11は、11個の画素E(1)−E(11)の濃淡中央値(各濃淡値の中央値)を求め、注目画素E(1)の濃淡値として濃淡中央値を設定することで、注目画素E(1)の濃淡データを設定し直す。

0025

一方、本実施形態とは異なる比較例では、11個の画素E(1)−E(11)の濃淡中央値を求める中央値抽出処理のために、11個の画素E(1)−E(11)の各濃淡値を降順または昇順にソートしてから、濃淡中央値を求めていた。この場合、ソート処理用のプログラムが画像処理用のプログラムに実装されており、ソート処理用のプログラムは分岐命令を用いる。そして、ソート処理用のプログラムが分岐命令を実行することによって、演算負荷が比較的大きくなってしまう。この結果、11個の画素E(1)−E(11)のソート処理のための演算負荷が比較的大きくなり、平滑化処理に要する時間が比較的長くなってしまう。

0026

そこで、本実施形態のフィルタ11は、中央値抽出処理に要する演算負荷を低減させるために、以下の中央値抽出処理を行って、11個の画素E(1)−E(11)の濃淡中央値を求める。また、11個の画素E(1)−E(11)の各濃淡値は、D(1)−D(11)で表される。

0027

なお、11個の画素E(1)−E(11)にそれぞれ設定されている11個の濃淡データが、本開示におけるN個の数値データに相当する。また、11個の濃淡データが表す濃淡値D(1)−D(11)が、本開示におけるN個の数値に相当する。Nは2以上の整数であり、本実施形態ではN=11である。また、11個の濃淡値D(1)−D(11)を、D(n)と表すこともある(n=1,2,………,11)。

0028

演算装置1aが実行する画像処理用のプログラムには、平滑処理用のプログラムが含まれており、演算装置1aが平滑処理用のプログラムを実行することで、フィルタ11の機能が実現される。なお、演算装置1aは、1つの命令を複数のデータに適用して、1サイクルで複数のデータを並列処理する命令、所謂SIMD(Single Instruction Multiple Data)の命令(SIMD命令)を実行することができる。

0029

フィルタ11は、判定部111、更新部112、繰り返し制御部113、初期値記憶部114、平滑部115を有する。

0030

判定部111は、11個の濃淡値D(1)−D(11)と基準パラメータP1の値P1(m)とのそれぞれの大小関係を判定する判定処理を行う(なお、mは、1回の中央値抽出処理における判定処理(または後述の更新処理)の累積回数を表す回数パラメータであり、1以上の整数をとる)。このとき、判定部111は、判定処理でSIMD命令を実行することによって、11個の濃淡値D(1)−D(11)と基準パラメータP1の値P1(m)とのそれぞれの大小関係を1サイクルで並列的に判定することができる。なお、以降の説明では、基準パラメータP1の値P1(m)を基準値P1(m)と呼ぶ。

0031

図3図4は、SIMD命令を用いた判定処理の概略を示す。なお、図3図4では、(m)と表記しているが、mは判定処理の回数を表す回数パラメータであるので、以下では、m=定数M(1以上の整数)として説明を行う。

0032

まず、図3に示すように、判定部111は、11個の濃淡値D(1)−D(11)のそれぞれを11個の成分として有する11次元列ベクトルを、数値ベクトルV1として求める。また、判定部111は、基準値P1(M)を11個の成分として有する11次元の列ベクトルを、基準ベクトルV2(M)として求める。

0033

そして、判定部111は、数値ベクトルV1と基準ベクトルV2(M)とのMAX演算を行う。MAX演算はSIMD命令の一つである。この場合、MAX演算は、数値ベクトルV1及び基準ベクトルV2(M)の互いに対応する成分の各値を比較して、各成分の最大値を抽出し、11次元の抽出ベクトルV3(M)を生成する処理である。すなわち、MAX演算では、濃淡値D(1)と基準値P1(M)とが比較され、濃淡値D(2)と基準値P1(M)とが比較され、………、濃淡値D(11)と基準値P1(M)とが比較される。そして、判定部111は、濃淡値D(1)と基準値P1(M)のいずれか大きい方、濃淡値D(2)と基準値P1(M)のいずれか大きい方、………、濃淡値D(11)と基準値P1(M)のいずれか大きい方で11個の成分が表された抽出ベクトルV3(M)を求める。言い換えると、抽出ベクトルV3(M)は、数値ベクトルV1と基準ベクトルV2(M)とから、成分毎の最大値を抽出し、成分毎の最大値で11個の各成分が表された列ベクトルである。このとき、判定部111は、SIMD命令であるMAX演算を実行することによって、抽出ベクトルV3(M)の11個の成分の各値を1サイクルで並列的に求めることができる。なお、数値ベクトルV1及び基準ベクトルV2(M)の互いに対応する成分の各値が等しい場合、抽出ベクトルV3(M)の当該成分の値は濃淡値D(n)または基準値P1(M)になる。

0034

次に、図4に示すように、判定部111は、数値ベクトルV1と抽出ベクトルV3(M)とのEQ演算を行う。EQ演算はSIMD命令の一つである。この場合、EQ演算は、数値ベクトルV1と抽出ベクトルV3(M)との互いに対応する成分の各値を比較して、11次元の判定ベクトルV4(M)を求める処理である。具体的に、EQ演算は、数値ベクトルV1と抽出ベクトルV3(M)との互いに対応する成分の各値を比較して、数値ベクトルV1と抽出ベクトルV3(M)の成分毎に対応する各値が等しいか否かを判定し、判定ベクトルV4(M)はこの判定結果として求められる。判定ベクトルV4(M)の11個の各成分は、数値ベクトルV1及び抽出ベクトルV3(M)の互いに対応する成分の各値が同じ値である場合に「1」(第1値)を設定される。また、判定ベクトルV4(M)の11個の各成分は、数値ベクトルV1及び抽出ベクトルV3(M)の互いに対応する成分の各値が異なる値である場合に「0」(第2値)を設定される。このとき、判定部111は、SIMD命令であるEQ演算を実行することによって、判定ベクトルV4(M)の11個の成分の各値を1サイクルで並列的に求めることができる。

0035

判定ベクトルV4(M)の各成分は、数値ベクトルV1及び基準ベクトルV2(M)の互いに対応する成分の各値を比較した結果を表している。数値ベクトルV1の所定成分の濃淡値D(n)が基準値P1(M)以上であれば、判定ベクトルV4(M)の所定成分の値は「1」になる。数値ベクトルV1の所定成分の濃淡値D(n)が基準値P1(M)未満であれば、判定ベクトルV4(M)の所定成分の値は「0」になる。したがって、判定ベクトルV4(M)において値が「1」である成分の個数は、数値ベクトルV1において基準値P1(M)以上になる濃淡値D(n)の個数になる。言い換えると、判定ベクトルV4(M)において値が「1」である成分の個数は、11個の画素E(1)−E(11)の各濃淡データのうち、濃淡値D(n)が基準値P1(M)以上になる濃淡データの個数になる。

0036

判定部111は、判定ベクトルV4(M)の11個の成分のうち、値が「1」である成分の個数をカウントすることで、濃淡値D(n)が基準値P1(M)以上になる濃淡データの個数をカウントできる。判定部111は、濃淡値D(n)が基準値P1(M)以上になる濃淡データの個数を、カウントパラメータP2の値P2(M)に設定する。以降、カウントパラメータP2の値P2(m)をカウント値P2(m)と呼ぶ。

0037

そして、更新部112は、カウント値P2(M)に基づいて基準パラメータP1の値を更新する更新処理を行う。

0038

具体的に、更新部112は、更新処理において、濃淡データの個数Nの半値、または当該半値を丸めた値を更新閾値K1とする。本開示では、N=11であり、更新閾値K1は5.5に設定されている。そして、更新部112は、カウント値P2(M)が更新閾値K1より大きければ、後述のステップパラメータP3の値P3(M)を基準値P1(M)に加算し、この加算値が、更新後の基準値P1(M+1)になる。また、更新部112は、カウント値P2(M)が更新閾値K1より小さければ、ステップパラメータP3の値P3(M)を基準値P1(M)から減算し、この減算値が、更新後の基準値P1(M+1)になる。なお、以降、ステップパラメータP3の値P3(m)をステップ値P3(m)と呼ぶ。

0039

また、更新部112は、更新後の基準値P1(M+1)を求めた後、ステップ値P3(M)の半値、または当該半値を丸めた値を、次回のステップ値P3(M+1)とする。

0040

次に、繰り返し制御部113は、基準値P1(M)に代えて更新後の基準値P1(M+1)を用いた上述の判定処理を判定部111に実行させ、判定部111は、カウント値P2(M+1)を求める。そして、繰り返し制御部113は、カウント値P2(M)に代えてカウント値P2(M+1)を用いた上述の更新処理を更新部112に実行させる。すなわち、更新部112は、カウント値P2(M+1)と更新閾値K1との大小関係に基づいて、基準値P1(M+1)とステップ値P3(M+1)との加算または減算を行い、基準値P1(M+2)を求める。また、更新部112は、更新後の基準値P1(M+2)を求めた後、ステップ値P3(M+1)の半値、または当該半値を丸めた値を、次回のステップ値P3(M+2)とする。

0041

ステップ値P3(m)は、上述の基準値P1(m)の更新処理が行われる毎に徐々に小さくなる。そして、繰り返し制御部113は、ステップ値P3(m)が予め決められた所定値Rになるまで、基準値P1(m)の更新処理を繰り返させる。そして、繰り返し制御部113は、ステップ値P3(m)が所定値Rになった場合、そのときの基準値P1(m)を、11個の画素E(1)−E(11)の濃淡中央値の近似値とする。

0042

言い換えると、繰り返し制御部113は、回数パラメータmが予め決められた所定回数Zになるまで、基準値P1(m)の更新処理を繰り返させる。そして、繰り返し制御部113は、回数パラメータmが所定回数Zになった場合、そのときの基準値P1(Z)を、11個の画素E(1)−E(11)の濃淡中央値の近似値とする。

0043

以下、図5のフローチャートを用いて、フィルタ11の中央値抽出処理について説明する。ここでは、所定値Rは「1」であり、所定回数Zが「8」になる。

0044

初期値記憶部114には、中央値抽出処理で用いられる基準パラメータP1の初期値P1(1)のデータ、及びステップパラメータP3の初期値P3(1)のデータが予め格納されている。以降、基準パラメータP1の初期値P1(1)を初期基準値P1(1)と呼び、ステップパラメータP3の初期値P3(1)を初期ステップ値P3(1)と呼ぶ。

0045

初期基準値P1(1)は、濃淡値がとり得る値の上限値と下限値との和の半値、または当該半値を丸めた値に予め設定されている。この場合、濃淡値がとり得る値の上限値は255であり、下限値は0であり、[255+0]/2=127.5になる。本実施形態では、初期基準値P1(1)は、127.5の小数点以下を切り上げた値(丸めた値)、すなわち「128」に設定される。

0046

初期ステップ値P3(1)は、初期基準値P1(1)から、濃淡値がとり得る値の下限値を減算した値の半値、または当該半値を丸めた値である。この場合、初期基準値P1(1)は128であり、下限値は0であり、[128−0]/2=64になる。すなわち、初期ステップ値P3(1)は、「64」に設定される。

0047

まず、繰り返し制御部113は、判定部111による1回目の判定処理(m=1)を開始させる。判定部111は、初期値記憶部114から初期基準値P1(1)のデータ、及び初期ステップ値P3(1)のデータを読み出す(ステップS1)。

0048

そして、判定部111は、11個の濃淡値D(1)−D(11)を対象とする1回目の判定処理を行う(ステップS2)。判定部111は、1回目の判定処理を開始すると、数値ベクトルV1及び基準ベクトルV2(1)に基づいて、抽出ベクトルV3(1)を求める。数値ベクトルV1は、濃淡値D(1)−D(11)のそれぞれで各成分が構成された11次元の列ベクトルである。基準ベクトルV2(1)は、初期基準値P1(1)で各成分が構成された11次元の列ベクトルである。判定部111は、数値ベクトルV1及び抽出ベクトルV3(1)に基づいて、判定ベクトルV4(1)を求める。判定部111は、判定ベクトルV4(1)に基づいて、カウント値P2(1)を求める。

0049

更新部112は、1回目の更新処理を行う(ステップS3)。更新部112は、1回目の更新処理を開始すると、カウント値P2(1)に基づいて更新後の基準値P1(2)を求め、基準パラメータP1の値(基準値P1(m))を更新する。すなわち、更新部112は、カウント値P2(1)と更新閾値K1との大小関係に基づいて、初期基準値P1(1)と初期ステップ値P3(1)との加算または減算を行い、基準値P1(2)を求める。

0050

繰り返し制御部113は、ステップ値P3(1)の値「128」の半値である「64」を、変更後のステップ値P3(2)とする(ステップS4)。そして、繰り返し制御部113は、ステップ値P3(m)が所定値「1」であるか否かを判定する(ステップS5)。この場合、ステップ値P3(2)は「64」であり、ステップ値P3(2)は「1」ではない。

0051

そこで、繰り返し制御部113は、判定部111による2回目の判定処理(m=2)を開始させる(ステップS2)。判定部111は、基準値P1(2)を用いた判定処理を実行し、カウント値P2(2)を求める。そして、繰り返し制御部113は、カウント値P2(2)を用いた2回目の更新処理を更新部112に実行させる(ステップS3)。すなわち、更新部112は、カウント値P2(2)と更新閾値K1との大小関係に基づいて、基準値P1(2)とステップ値P3(2)との加算または減算を行い、基準値P1(3)を求める。

0052

繰り返し制御部113は、ステップ値P3(2)の値「64」の半値である「32」を、変更後のステップ値P3(3)とする(ステップS4)。そして、繰り返し制御部113は、ステップ値P3(m)が所定値「1」であるか否かを判定する(ステップS5)。この場合、ステップ値P3(3)は「32」であり、ステップ値P3(3)は「1」ではない。

0053

そこで、繰り返し制御部113は、判定部111による3回目の判定処理(m=3)を開始させる(ステップS2)。判定部111は、基準値P1(3)を用いた判定処理を実行し、カウント値P2(3)を求める。そして、繰り返し制御部113は、カウント値P2(3)を用いた3回目の更新処理を更新部112に実行させる(ステップS3)。すなわち、更新部112は、カウント値P2(3)と更新閾値K1との大小関係に基づいて、基準値P1(3)とステップ値P3(3)との加算または減算を行い、基準値P1(4)を求める。

0054

繰り返し制御部113は、ステップ値P3(3)の値「32」の半値である「16」を、ステップ値P3(4)とする(ステップS4)。そして、繰り返し制御部113は、ステップ値P3(m)が所定値「1」であるか否かを判定する(ステップS5)。この場合、ステップ値P3(4)は「16」であり、ステップ値P3(3)は「1」ではない。

0055

そこで、繰り返し制御部113は、判定部111による4回目の判定処理(m=4)を開始させる(ステップS2)。以降、4回目の判定処理及び更新処理、5回目の判定処理及び更新処理、6回目の判定処理及び更新処理、7回目の判定処理及び更新処理が、上記同様に順次行われる。このとき、判定処理及び更新処理の回数が増えるにつれて、ステップ値P3(m)は、ステップ値P3(5)=「8」、ステップ値P3(6)=「4」、ステップ値P3(7)=「2」となる。

0056

そして、繰り返し制御部113は、判定部111による8回目の判定処理(m=8)を開始させる(ステップS2)。判定部111は、基準値P1(8)を用いた判定処理を実行し、カウント値P2(8)を求める。そして、繰り返し制御部113は、カウント値P2(8)を用いた8回目の更新処理を更新部112に実行させる(ステップS3)。すなわち、更新部112は、カウント値P2(8)と更新閾値K1との大小関係に基づいて、基準値P1(8)とステップ値P3(8)との加算または減算を行い、基準値P1(8)を求める。

0057

繰り返し制御部113は、ステップ値P3(7)の値「2」の半値である「1」を、ステップ値P3(8)とする(ステップS4)。そして、繰り返し制御部113は、ステップ値P3(m)が所定値「1」であるか否かを判定する(ステップS5)。この場合、ステップ値P3(8)は「1」であるので、繰り返し制御部113は、基準値P1(8)を、11個の画素E(1)−E(11)の濃淡中央値の近似値とする(ステップS6)。

0058

平滑部115は、濃淡画像の全ての画素のそれぞれを注目画素に順次設定し、全ての画素のそれぞれの濃淡データの濃淡値を濃淡中央値に置き換え平滑画像を生成する。

0059

検査部12は、濃淡画像と平滑画像との差分画像(または差分二値化画像)を生成し、差分画像(または差分二値化画像)に基づいて対象物の検査処理を行う。

0060

結果出力部13は、検査部12の検査結果検査経過などの各情報を含む画像データを作成し、表示装置2へ出力する。表示装置2は、受信した画像データに基づいて、検査部12の検査結果、検査経過などの各情報を表示する。

0061

上述のように、演算装置1aは、MAX演算、EQ演算などのSIMD命令を実行することによって、複数の濃淡値の濃淡中央値(の近似値)を求めることができる。演算装置1aは、SIMD命令を実行することによって、複数の濃淡データ(数値データ)を1サイクルで並列的に処理することができ、中央値抽出処理に要する時間を比較例に比べて短縮できる。また、演算装置1aは、ソート処理を行わないので、分岐命令を用いる必要がなく、中央値抽出処理に要する演算負荷を比較例に比べて低減することができる。

0062

また、本実施形態の所定値Rは「1」に限定されない。例えば、所定値Rは「2」、「4」、「8」、「16」、「32」、「64」、「128」のいずれであってもよい。この場合、所定値Rの各値に対応する所定回数Zは、「7」、「6」、「5」、「4」、「3」、「2」、「1」になる。

0063

また、数値ベクトルV1、基準ベクトルV2(m)、抽出ベクトルV3(m)、判定ベクトルV4(m)は、列ベクトルに限定されず、行ベクトルであってもよい。

0064

また、フィルタ11は、メディアンフィルタとして機能してもよい。この場合、注目画素を中心とする所定領域(矩形領域、円形領域など)の複数の画素の各濃淡値から濃淡中央値を求めて、注目画素の濃淡データに濃淡中央値を設定する。

0065

図6は、検査システムA1の全体の概略構成を示す。検査システムA1は、上述の画像処理システム1、表示装置2に加えて、照明装置3、撮像装置4、搬送装置5をさらに備える。

0066

検査システムA1は、図7に示す照明カバー9を対象物とする。照明カバー9は、照明器具カバーであり、照明器具のLEDなどの光源から発せられた光を拡散させて照明器具の外部へ照射する光拡散性を有する。照明カバー9は、例えば光拡散性を有する材料(例えば乳白色のアクリル樹脂)により形成されている。照明カバー9のカバー本体91は、長尺の半楕円筒状外形形状をしている。そして、カバー本体91の表面は、カバー本体91の幅方向(カバー本体91の短手方向)の両端のそれぞれから中央に進むにつれて裏面側から表面側への突出量が大きくなる弧状の曲面に形成されている。

0067

照明カバー9は、搬送装置5によって、照明装置3及び撮像装置4の下方を、後方から前方に向かう進行方向X1に移動し、照明装置3による照明処理、撮像装置4による撮像処理が行われる。

0068

搬送装置5は、例えばベルトコンベア装置で構成されている。搬送装置5は、モータプーリコンベアベルトなどを備えており、モータの回転駆動力がプーリなどを介してコンベアベルトに伝達される。搬送装置5の上面にはコンベアベルトが露出しており、コンベアベルト上に載置された照明カバー9は、後方から前方に向かう進行方向X1に一定速度で進む。コンベアベルト上の照明カバー9の長さ方向(照明カバー9の長手方向)は前後方向に沿っており、照明カバー9の幅方向(照明カバー9の短手方向)は左右方向に沿っており、照明カバー9の曲面は上方向を向いている。

0069

照明装置3は、搬送装置5の上方に配置されている。照明装置3は、照明カバー9に対して上方から照明光を照射する。すなわち、照明装置3は、検査対象となる照明カバー9の表面に照明光を照射する。なお、照明装置3の種類は、特定の種類に限定されず、バータイプの照明装置、リング照明装置などのいずれであってもよい。また、照明光の波長特定波長に限定されない。

0070

撮像装置4は、白黒静止画を撮像するカメラであり、搬送装置5の上方に配置されている。そして、撮像装置4は、照明カバー9の表面で反射した照明光(反射光)を受光して、照明カバー9の表面を撮像する。撮像装置4が撮像した画像は、濃淡値が256段階に設定された濃淡画像G1である(図8参照)。撮像装置4は、濃淡画像G1の情報を画像処理システム1へ出力する。なお、撮像装置4は、カラー画像を撮像するカメラであってもよい。

0071

ここで、濃淡画像G1に写っている照明カバー9の前後方向は、第1画素列L1(図2参照)が延びている方向(列方向)に沿っている。また、濃淡画像G1に写っている照明カバー9の左右方向は、第2画素列L2(図2参照)が延びている方向(行方向)に沿っている。

0072

画像処理システム1では、画像取得部1bが濃淡画像G1の情報を受け取り、濃淡画像G1の情報を演算装置1aへ引き渡す。演算装置1aでは、フィルタ11が濃淡画像G1に対して上述の平滑処理を施して、平滑画像を生成する。検査部12は、濃淡画像G1と平滑画像との差分をとって、さらに二値化処理を施した差分二値化画像G2を生成し(図8参照)、差分二値化画像G2に基づいて照明カバー9の検査処理を行う。

0073

図8に示す濃淡画像G1には、照明カバー9が写っているカバー撮像領域71が存在する。カバー撮像領域71には、照明カバー9の表面のキズに対応する欠陥撮像領域72が存在している。欠陥撮像領域72は、列方向に長いカバー撮像領域71において、行方向に線状に形成されている。しかしながら、照明カバー9の表面が曲面であることから、カバー撮像領域71には、列方向(照明カバー9の長手方向)に沿って濃淡値が変化するグラデーションが発生しやすい。このグラデーションは、列方向(照明カバー9の長手方向)に沿って変化する縞模様のように見える。

0074

一方、平滑画像は、濃淡画像G1に平滑処理を施した濃淡画像であるので、照明カバー9の表面の線状の汚れ、キズなどの欠陥撮像領域が目立たなくなり、カバー撮像領域のグラデーションが殆ど残った画像になる。

0075

そこで、検査部12は、濃淡画像G1と平滑画像との差分をとって、さらに二値化処理を施した差分二値化画像G2を生成する。差分二値化画像G2では、カバー撮像領域81のグラデーションを含む背景成分がほぼキャンセルされて、照明カバー9の表面のキズに対応する欠陥撮像領域82が強調される。したがって、検査部12は、差分二値化画像G2に基づいて照明カバー9の検査処理を行うことで、検査精度を向上させることができる。

0076

濃淡画像G1に生じるグラデーションのように、列方向に沿って濃淡値が変化するグラデーションをキャンセルする場合には、フィルタ11の中央値抽出処理における第1画素列L1を第2画素列L2より長くすることが好ましい(図2参照)。例えば、第1画素列L1を構成する画素数を100とし、第2画素列L2を構成する画素数を30とする。なお、第1画素列L1及び第2画素列L2を構成するそれぞれの画素の数は、特定の値に限定されない。

0077

また、演算装置1aは、SIMD命令を実行することができるプロセッサとして、ベクトル演算ユニット具備するCPU(Central Processing Unit)、またはGPU(Graphics Processing Unit)を有することが好ましい。例えば、演算装置1aのプロセッサとして、インテル(Intel Corporation)製のCore i5 3340Mを用いた場合、画素数が5Mpixの濃淡画像に対して、上述の中央値抽出処理を約0.2秒で完了させることができた。一方、上述の比較例のように、演算装置がソート処理用のプログラムを実行した場合、画素数が5Mpixの濃淡画像に対して、中央値抽出処理を完了させるのに約20秒を要した。このように、演算装置1aによる上述の中央値抽出処理は、ソート処理用のプログラムを実行する比較例よりも、演算負荷を低減することができ、演算時間も短縮できる。

0078

(変形例)
変形例のフィルタ11は、図9図10に示す処理を行う。なお、図9図10では、(m)と表記しているが、mは判定処理の回数を表す回数パラメータであるので、以下では、m=定数Mとして説明を行う。

0079

フィルタ11の判定部111は、図9に示すように、数値ベクトルV1と基準ベクトルV2(M)とのMIN演算を行う。MIN演算はSIMD命令の一つである。この場合、MIN演算は、数値ベクトルV1及び基準ベクトルV2(M)の互いに対応する成分の各値を比較して、各成分の最小値を抽出し、11次元の抽出ベクトルV30(M)を生成する処理である。すなわち、MIN演算では、濃淡値D(1)と基準値P1(M)とが比較され、濃淡値D(2)と基準値P1(M)とが比較され、………、濃淡値D(11)と基準値P1(M)とが比較される。そして、判定部111は、濃淡値D(1)と基準値P1(M)のいずれか小さい方、濃淡値D(2)と基準値P1(M)のいずれか小さい方、………、濃淡値D(11)と基準値P1(M)のいずれか小さい方で11個の成分が表された抽出ベクトルV30(M)を求める。言い換えると、抽出ベクトルV30(M)は、数値ベクトルV1と基準ベクトルV2(M)とから、成分毎の最小値を抽出し、成分毎の最小値で11個の各成分が表された列ベクトルである。このとき、判定部111は、SIMD命令であるMIN演算を実行することによって、抽出ベクトルV30(M)の11個の成分の各値を1サイクルで並列的に求めることができる。なお、数値ベクトルV1及び基準ベクトルV2(M)の互いに対応する成分の各値が等しい場合、抽出ベクトルV30(M)の当該成分の値は濃淡値D(n)または基準値P1(M)になる。

0080

そして、図10に示すように、判定部111は、数値ベクトルV1と抽出ベクトルV30(M)とのEQ演算を行う。EQ演算は、数値ベクトルV1と抽出ベクトルV30(M)との互いに対応する成分の各値を比較して、数値ベクトルV1と抽出ベクトルV30(M)の成分毎に対応する各値が等しいか否かを判定し、判定ベクトルV4(M)はこの判定結果として求められる。判定ベクトルV4(M)の各成分は、数値ベクトルV1及び基準ベクトルV2(M)の互いに対応する成分の各値を比較した結果を表している。数値ベクトルV1の所定成分の濃淡値D(n)が基準値P1(M)以下であれば、判定ベクトルV4(M)の所定成分の値は「1」になる。数値ベクトルV1の所定成分の濃淡値D(n)が基準値P1(M)より大きければ、判定ベクトルV4(M)の所定成分の値は「0」になる。したがって、判定ベクトルV4(M)において値が「1」である成分の個数は、数値ベクトルV1において基準値P1(M)以下になる濃淡値D(n)の個数になる。言い換えると、判定ベクトルV4(M)において値が「1」である成分の個数は、11個の画素E(1)−E(11)の各濃淡データのうち、濃淡値D(n)が基準値P1(M)以下になる濃淡データの個数になる。

0081

判定部111は、判定ベクトルV4(M)の11個の成分のうち、値が「1」である成分の個数をカウントすることで、濃淡値D(n)が基準値P1(M)以下になる濃淡データの個数をカウントできる。判定部111は、濃淡値D(n)が基準値P1(M)以下になる濃淡データの個数を、カウントパラメータP2の値P2(M)に設定する。

0082

更新部112は、カウント値P2(M)に基づいて基準パラメータP1の値を更新する更新処理を行う。

0083

具体的に、更新部112は、カウント値P2(M)が更新閾値K1より大きければ、ステップ値P3(M)を基準値P1(M)から減算し、この減算値が、更新後の基準値P1(M+1)になる。また、更新部112は、カウント値P2(M)が更新閾値K1より大きければ、ステップ値P3(M)を基準値P1(M)に加算し、この加算値が、更新後の基準値P1(M+1)になる。また、更新部112は、更新後の基準値P1(M+1)を求めた後、ステップ値P3(M)の値の半値、または当該半値を丸めた値を、次回のステップ値P3(M+1)とする。

0084

次に、繰り返し制御部113は、基準値P1(M)に代えて更新後の基準値P1(M+1)を用いた判定処理を判定部111に実行させ、判定部111は、カウント値P2(M+1)を求める。そして、繰り返し制御部113は、カウント値P2(M)に代えてカウント値P2(M+1)を用いた上述の更新処理を更新部112に実行させる。すなわち、更新部112は、カウント値P2(M+1)と更新閾値K1との大小関係に基づいて、基準値P1(M+1)とステップ値P3(M+1)との加算または減算を行い、基準値P1(M+2)を求める。また、更新部112は、更新後の基準値P1(M+2)を求めた後、ステップ値P3(M+1)の値の半値、または当該半値を丸めた値を、次回のステップ値P3(M+2)とする。

0085

ステップ値P3(m)は、上述の基準値P1(m)の更新処理が行われる毎に徐々に小さくなる。そして、繰り返し制御部113は、ステップ値P3(m)が予め決められた所定値Rになるまで、基準値P1(m)の更新処理を繰り返させる。そして、繰り返し制御部113は、ステップ値P3(m)が所定値Rになった場合、そのときの基準値P1(m)を、11個の画素E(1)−E(11)の濃淡中央値の近似値とする。

0086

(まとめ)
上述の実施形態に係る第1の態様の演算装置1aは、2以上の整数をNとし、前記N個の数値データ(濃淡データ)がそれぞれ表すN個の数値(濃淡値)の中央値(濃淡中央値)を求める演算装置である。演算装置1aは、判定部111と、更新部112と、繰り返し制御部113と、を備える。判定部111は、N個の数値がとり得る上限値と下限値との間の値P1(m)に設定されたパラメータを基準パラメータP1とし、N個の数値と基準値P1(m)(基準パラメータP1の値)とのそれぞれの大小関係を判定する判定処理を行う。更新部112は、判定処理の判定結果に基づいて基準値P1(m)を更新する更新処理を行う。繰り返し制御部113は、更新後の基準値P1(m)の値を用いた判定処理を判定部111に実行させ、更新部112に基準値P1(m)を繰り返し更新させる。そして、繰り返し制御部113は、所定回数Z繰り返し更新した後の基準値P1(m)を中央値とする。

0087

したがって、演算装置1aは、ソート処理を行わないので、分岐命令を用いる必要がなく、複数の数値の中央値(の近似値)を求める場合に演算負荷を低減することができる。

0088

また、実施形態に係る第2の態様の演算装置1aでは、第1の態様において、判定部111は、判定処理において、N個の数値データのうち基準値P1(m)より大きい数値を表す数値データの個数をカウント値P2(m)(カウントパラメータP2の値)として求めることが好ましい。そして、更新部112は、更新処理において、Nの半値、または当該半値を丸めた値を更新閾値K1とする。更新部112は、カウント値P2(m)が更新閾値K1より大きければ、基準値P1(m)より小さいステップ値P3(m)(ステップパラメータP3の値)を基準値P1(m)に加算して更新後の基準値P1(m)を求める。更新部112は、カウント値P2(m)が更新閾値K1より小さければ、ステップ値P3(m)を基準値P1(m)から減算して更新後の基準値P1(m)を求める。

0089

したがって、演算装置1aは、複数の数値の中央値(の近似値)を求める場合に演算負荷を低減することができる。

0090

また、実施形態に係る第3の態様の演算装置1aは、第2の態様において、初期値記憶部114をさらに備えることが好ましい。初期値記憶部114は、N個の数値がとり得る上限値と下限値との和の半値、または当該半値を丸めた値を、初期基準値P1(1)(基準パラメータP1の初期値)として記憶している。初期ステップ値P3(1)(ステップパラメータP3の初期値)は、初期基準値P1(1)から前記下限値を減算した値の半値、または当該半値を丸めた値である。判定部111は、1回目の判定処理において、N個の数値データのうち初期基準値P1(1)より大きい数値を表す数値データの個数をカウント値P2(m)として求める。更新部112は、1回目の更新処理において、カウント値P2(m)が更新閾値K1より大きければ、初期ステップ値P3(1)を初期基準値P1(1)に加算して更新後の基準値P1(2)を求める。また、更新部112は、カウント値P2(m)が更新閾値K1より小さければ、初期ステップ値P3(1)を初期基準値P1(1)から減算して更新後の基準値P1(2)を求める。更新部112は、2回目以降の更新処理におけるステップ値P3(m)として、前回の更新処理におけるステップ値P3(m)の半値、または当該半値を丸めた値を用いる。

0091

したがって、初期基準値P1(1)及び初期ステップ値P3(1)は容易に求められる。この結果、演算装置1aは、初期基準値P1(1)を予め記憶することで、複数の数値の中央値(の近似値)を求める場合に演算負荷をより低減することができる。

0092

また、実施形態に係る第4の態様の演算装置1aは、第2または第3の態様において、判定部111は、N個の数値でN個の各成分が表された数値ベクトルV1と基準値P1(m)でN個の各成分が表された基準ベクトルV2(m)とから、成分毎の最大値を抽出する。そして、判定部111は、成分毎の最大値でN個の各成分が表された抽出ベクトルV3(m)を求めることが好ましい。さらに、判定部111は、数値ベクトルV1と抽出ベクトルV3(m)との互いに対応する成分同士を比較する。判定部111は、N個の各成分が、成分同士の各値が等しい場合に第1値で表され、成分同士の各値が異なる場合に第2値で表された判定ベクトルV4(m)を求める。そして、判定部111は、判定ベクトルV4(m)において第1値で表された成分の数をカウント値P2(m)として求める。

0093

したがって、演算装置1aは、SIMD演算を利用して中央値を求めることができ、複数の数値の中央値(の近似値)を求める場合に演算負荷及び演算時間をさらに低減することができる。

0094

また、実施形態に係る第5の態様の演算装置1aでは、第1の態様において、判定部111は、判定処理において、N個の数値データのうち基準値P1(m)より小さい数値を表す数値データの個数をカウント値P2(m)(カウントパラメータP2の値)として求めることが好ましい。そして、更新部112は、更新処理において、Nの半値、または当該半値を丸めた値を更新閾値K1とする。更新部112は、カウント値P2(m)が更新閾値K1より大きければ、基準値P1(m)より小さいステップ値P3(m)(ステップパラメータP3の値)を基準値P1(m)から減算して更新後の基準値P1(m)を求める。また、更新部112は、カウント値P2(m)が更新閾値K1より小さければ、ステップ値P3(m)を基準値P1(m)に加算して更新後の基準値P1(m)を求める。

0095

したがって、演算装置1aは、複数の数値の中央値(の近似値)を求める場合に演算負荷を低減することができる。

0096

また、実施形態に係る第6の態様の演算装置1aは、第5の態様において、初期値記憶部114をさらに備えることが好ましい。初期値記憶部114は、N個の数値がとり得る上限値と下限値との和の半値、または当該半値を丸めた値を、初期基準値P1(1)(基準パラメータP1の初期値)として記憶している。初期ステップ値P3(1)(ステップパラメータP3の初期値)は、初期基準値P1(1)から前記下限値を減算した値の半値、または当該半値を丸めた値である。判定部111は、1回目の判定処理において、N個の数値データのうち初期基準値P1(1)より小さい数値を表す数値データの個数をカウント値P2(m)として求める。更新部112は、1回目の更新処理において、カウント値P2(m)が更新閾値K1より大きければ、初期ステップ値P3(1)を初期基準値P1(1)から減算して更新後の基準値P1(2)を求める。また、更新部112は、カウント値P2(m)が更新閾値K1より小さければ、初期ステップ値P3(1)を初期基準値P1(1)に加算して更新後の基準値P1(2)を求める。更新部112は、2回目以降の更新処理におけるステップ値P3(m)として、前回の更新処理におけるステップ値P3(m)の半値、または当該半値を丸めた値を用いる。

0097

したがって、初期基準値P1(1)及び初期ステップ値P3(1)は容易に求められる。この結果、演算装置1aは、初期基準値P1(1)を予め記憶することで、複数の数値の中央値(の近似値)を求める場合に演算負荷をより低減することができる。

0098

また、実施形態に係る第7の態様の演算装置1aは、第5または第6の態様において、判定部111は、N個の数値でN個の各成分が表された数値ベクトルV1と基準値P1(m)でN個の各成分が表された基準ベクトルV2(m)とから、成分毎の最小値を抽出する。そして、判定部111は、成分毎の最小値でN個の各成分が表された抽出ベクトルV3(m)を求めることが好ましい。さらに、判定部111は、数値ベクトルV1と抽出ベクトルV3(m)との互いに対応する成分同士を比較する。判定部111は、N個の各成分が、成分同士の各値が等しい場合に第1値で表され、成分同士の各値が異なる場合に第2値で表された判定ベクトルV4(m)を求める。そして、判定部111は、判定ベクトルV4(m)において第1値で表された成分の数をカウント値P2(m)として求める。

0099

したがって、演算装置1aは、SIMD演算を利用して中央値を求めることができ、複数の数値の中央値(の近似値)を求める場合に演算負荷及び演算時間をさらに低減することができる。

0100

また、実施形態に係る第8の態様の画像処理システム1は、第1乃至第7の態様のいずれか一つの演算装置1aと、濃淡画像G1の情報を受け取る画像取得部1bと、を備える。N個の数値は、濃淡画像G1の複数の画素のうち、注目画素E(1)を含む所定領域のN個の画素E(1)−E(11)のそれぞれの濃淡値D(1)−D(11)である。演算装置1aは、繰り返し制御部113が求めた濃淡中央値(中央値)を注目画素E(1)の濃淡値に設定することで、濃淡画像G1の平滑処理を行う。

0101

したがって、画像処理システム1は、濃淡画像G1の平滑処理を行う際に、ソート処理を行わないので、分岐命令を用いる必要がなく、複数の数値の中央値(の近似値)を求める演算処理に要する演算負荷を低減することができる。

0102

また、実施形態に係る第9の態様の画像処理システム1は、第8の態様において、演算装置1aは、濃淡画像G1の平滑処理を行うメディアンフィルタとして機能することが好ましい。

0103

したがって、画像処理システム1は、濃淡画像G1に写っている線状の汚れ、キズなどを目立たなくして、濃淡画像G1に写っている汚れ、キズなどの背景(グラデーションなど)を主に残した平滑画像を生成できる。

0104

また、実施形態に係る第10の態様の演算方法は、2以上の整数をNとし、前記N個の数値データ(濃淡データ)がそれぞれ表すN個の数値(濃淡値)の中央値(濃淡中央値)を求める演算方法である。演算方法は、判定ステップ(ステップS2)と、更新ステップ(ステップS3)と、制御ステップ(ステップS5,S6)と、を備える。判定ステップは、N個の数値がとり得る上限値と下限値との間の値P1(m)に設定されたパラメータを基準パラメータP1とし、N個の数値と基準値P1(m)(基準パラメータP1の値)とのそれぞれの大小関係を判定する判定処理を行う。更新ステップは、判定処理の判定結果に基づいて基準値P1(m)を更新する更新処理を行う。制御ステップは、更新後の基準値P1(m)の値を用いた判定処理を判定ステップに実行させ、更新ステップに基準値P1(m)を繰り返し更新させる。そして、制御ステップは、所定回数Z繰り返し更新した後の基準値P1(m)を中央値とする。

0105

したがって、演算方法は、ソート処理を行わないので、分岐命令を用いる必要がなく、複数の数値の中央値(の近似値)を求める場合に演算負荷を低減することができる。

0106

また、実施形態に係る第11の態様のプログラムは、コンピュータシステムに、第10の態様の演算方法を実行させる。

0107

したがって、プログラムを実行したコンピュータシステムは、ソート処理を行わないので、分岐命令を用いる必要がなく、複数の数値の中央値(の近似値)を求める場合に演算負荷を低減することができる。

0108

なお、上述の実施の形態は本発明の一例である。このため、本発明は、上述の実施形態に限定されることはなく、この実施の形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論である。

0109

A1検査システム
1画像処理システム
1a演算装置
1b画像取得部
11フィルタ
111 判定部
112更新部
113 繰り返し制御部
114初期値記憶部
P1(m)基準値(基準パラメータP1の値)
P1(1)初期基準値(基準パラメータP1の初期値)
P2(m)カウント値(カウントパラメータP2の値)
P3(m)ステップ値(ステップパラメータP3の値)
P3(1)初期ステップ値(ステップパラメータP3の初期値)
K1更新閾値
V1数値ベクトル
V2(m)基準ベクトル
V3(m)抽出ベクトル
V4(m)判定ベクトル
G1濃淡画像
E(1)−E(11)画素
E(1)注目画素
D(1)−D(11) 濃淡値

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • ジャパンモード株式会社の「 メイクアップ支援システム、及びメイクアップ支援方法」が 公開されました。( 2020/02/13)

    【課題】 ユーザ端末と接続した状態でメイクアップの施術に関するアドバイスを行い、施術すべきメイクアップに応じたメイクアップ支援システムを提供する。【解決手段】ユーザ端末5と専門員装置3とを接続した状... 詳細

  • 株式会社デンソーテンの「 画像処理装置及び画像処理方法」が 公開されました。( 2020/02/13)

    【課題】障害物が存在する場所を自車両が通過しようとするときに、事前に通過可能かをユーザが容易に把握できる画像処理技術を提供する。【解決手段】画像処理装置は、撮影画像取得部と、表示画像生成部と、を備える... 詳細

  • エイアイビューライフ株式会社の「 情報処理装置」が 公開されました。( 2020/02/13)

    【課題】被介護者を適切かつ迅速に介護することができないこと。【解決手段】本発明の情報処理装置は、所定領域の距離画像を取得する距離画像取得手段と、距離画像に基づいて当該距離画像内の第一人物を検出する検出... 詳細

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ