JP4669993B2 - Extreme value detection method and extreme value detection program using optimal smoothing spline - Google Patents

Extreme value detection method and extreme value detection program using optimal smoothing spline Download PDF

Info

Publication number
JP4669993B2
JP4669993B2 JP2005319646A JP2005319646A JP4669993B2 JP 4669993 B2 JP4669993 B2 JP 4669993B2 JP 2005319646 A JP2005319646 A JP 2005319646A JP 2005319646 A JP2005319646 A JP 2005319646A JP 4669993 B2 JP4669993 B2 JP 4669993B2
Authority
JP
Japan
Prior art keywords
derivative
optimal
spline
curve
curved surface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005319646A
Other languages
Japanese (ja)
Other versions
JP2007128237A (en
Inventor
弘之 狩野
寛之 藤岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Denki University
Original Assignee
Tokyo Denki University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Denki University filed Critical Tokyo Denki University
Priority to JP2005319646A priority Critical patent/JP4669993B2/en
Publication of JP2007128237A publication Critical patent/JP2007128237A/en
Application granted granted Critical
Publication of JP4669993B2 publication Critical patent/JP4669993B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、離散データ点や関数に関する極値検出方法及び極値検出プログラムに関し、特に、離散データ点や関数に関する最適平滑化スプラインを設計することにより、すべての極値を検出する極値検出方法及び極値検出プログラム、およびその極値検出方法及び極値検出プログラムを利用したデジタル画像のエッジ検出方法及びエッジ検出プログラムに関する。   The present invention relates to an extremum detection method and an extremum detection program for discrete data points and functions, and more particularly to an extremum detection method for detecting all extremums by designing an optimal smoothing spline for discrete data points and functions. The present invention relates to an extreme value detection program, an extreme value detection method thereof, and an edge detection method and an edge detection program of a digital image using the extreme value detection program.

離散データ点や関数に関する極値検出の問題は、工学を始めとする様々な分野で現れ、いわゆる「数理計画法」あるいは「最適化法」という分野の中で重要な問題として知られている。離散データ点や関数に関する極値検出の方法は、山登り法(山下り法)に代表されるような数値的な極値探索法が一般的であり、従って局所的な方法である。   The problem of extreme value detection concerning discrete data points and functions appears in various fields including engineering, and is known as an important problem in the field of so-called “mathematical programming” or “optimization method”. As a method for detecting extreme values related to discrete data points and functions, a numerical extreme value search method represented by a hill-climbing method (hill-descent method) is generally used, and is therefore a local method.

しかしながら、このような局所的な方法による極値探索は、離散データ点の局部のノイズの影響を受けやすく、極値を精度良く安定的に検出することが困難である。したがって、離散データ点に関して大域的に評価することが可能な極値検出方法が求められている。   However, the extreme value search by such a local method is easily influenced by local noise of discrete data points, and it is difficult to detect the extreme value accurately and stably. Therefore, there is a need for an extreme value detection method that can be globally evaluated for discrete data points.

離散データ点に関して大域的に評価することが可能な極値検出方法に関しては、例えば、特許文献1に記載の方法がある。この方法によれば、1組のデータ点について大域的にサンプリングを行い、この1組のデータ点に基づいて単一のポリラインを生成し、このポリラインの極値を求める方法が開示されている。
特開2005−222554号公報
As an extreme value detection method capable of globally evaluating discrete data points, for example, there is a method described in Patent Document 1. According to this method, a method of globally sampling a set of data points, generating a single polyline based on the set of data points, and obtaining an extreme value of the polyline is disclosed.
JP 2005-222554 A

特許文献1に記載の方法においては、曲線を作成する際に使用する「特定の点」や「分割点」の選択に、曲率(2次導関数)が用いられている。特に「特定の点」は,曲率が極値(極小値,極大値)をとる点あるいは0になる点として選ばれている。一方、「分割点」は曲率の積分値に基づいて選択されている。   In the method described in Patent Document 1, curvature (second derivative) is used to select “specific points” and “dividing points” used when creating a curve. In particular, the “specific point” is selected as a point where the curvature takes an extreme value (minimum value, maximum value) or becomes zero. On the other hand, the “division point” is selected based on the integral value of the curvature.

しかしながら、曲率の極値や,曲率が0になる点の計算法は何ら具体的に示されていない。曲率の値を幾つかの点で計算し,得られた値から極大や極小,さらに0になる点を選んでいるのではないかと推測されるが、定かではない。   However, the calculation method for the extreme value of the curvature and the point at which the curvature becomes zero is not specifically shown. It is estimated that the curvature value is calculated at several points, and the maximum, minimum, and zero points are selected from the obtained values, but this is not certain.

また、特許文献1に記載の方法は、曲線設計に関する高い技術を有していないユーザを対象として、ユーザの希望する曲線を描き、それを修正することを支援するものに過ぎず、離散データ点に関して大域的に評価することが可能ではない。   In addition, the method described in Patent Document 1 is intended only for a user who does not have a high level of skill in curve design and assists in drawing and correcting a curve desired by the user. It is not possible to evaluate globally.

本発明は、このような極値に関する従来の問題も解決するもので、離散データ点や関数に関する最適平滑化スプラインを設計することにより、最適平滑化スプラインに対する極値を精度良く安定的に検出する方法を提供しようとするものである。また、すべての極値が求まることから、最大値や最小値も得られる方法を提供しようとするものである。   The present invention solves such a conventional problem relating to extreme values, and by designing an optimal smoothing spline for discrete data points and functions, the extreme value for the optimal smoothing spline can be detected accurately and stably. Is to provide a method. In addition, since all the extreme values are obtained, a method for obtaining the maximum value and the minimum value is to be provided.

本発明は、データが入力される入力手段と、プログラムを格納する記憶手段と、プログラムを実行しデータを処理する演算手段と、演算手段の処理結果を出力する出力手段とを備える処理装置で実行される極値検出方法であって、入力手段から入力された平面における離散データ群又は関数から、演算手段が複数の節点を有する最適平滑化スプライン曲線を生成するステップと、演算手段が、前記最適平滑化スプライン曲線又はその導関数隣接する前記節点により区分された一区間である各節点区間の各々について各々極値を求めることにより、最適平滑化スプライン曲線又はその導関数の極値のすべてを求め、極値を出力手段へ出力するステップとを有することを特徴とする最適平滑化スプライン曲線による極値検出方法である。
The present invention is executed by a processing apparatus comprising input means for inputting data, storage means for storing a program, arithmetic means for executing a program and processing data, and output means for outputting a processing result of the arithmetic means. An extreme value detection method, wherein the calculation means generates an optimal smoothing spline curve having a plurality of nodes from a discrete data group or function in a plane input from the input means, and the calculation means includes the optimum by each determining an extreme value for each of the nodes section is smoothed spline curve or on a section which is divided by the nodes adjacent on its derivatives, the optimum smoothing spline curve or extremes of its derivatives And an extreme value detecting method using an optimal smoothing spline curve, characterized in that the method includes a step of obtaining all and outputting the extreme value to an output means.

また、本発明は、データが入力される入力手段と、プログラムを格納する記憶手段と、プログラムを実行しデータを処理する演算手段と、演算手段の処理結果を出力する出力手段とを備える処理装置で実行される極値検出方法であって、入力手段から入力された空間における離散データ群又は関数から演算手段が複数の節点を有する最適平滑化スプライン曲面を生成するステップと、演算手段が最適平滑化スプライン曲面又はその偏導関数前記節点により格子上に区画された一領域である各節点領域の各々について各々極値を求めることにより、最適平滑化スプライン曲面又はその偏導関数の極値のすべてを求め、極値を前記出力手段へ出力するステップとを有することを特徴とする最適平滑化スプライン曲面による極値検出方法である。
Further, the present invention provides a processing apparatus comprising input means for inputting data, storage means for storing a program, arithmetic means for executing a program and processing data, and output means for outputting a processing result of the arithmetic means. In the extreme value detection method executed in step (b), the calculation unit generates an optimal smoothing spline surface having a plurality of nodes from a discrete data group or function in a space input from the input unit, and the calculation unit performs optimal smoothing. by each determining an extreme value for each of the node regions of one region partitioned on a grid by the nodes on the spline curved surface on or partial derivative, optimal smoothing spline surface or electrode of the partial derivatives An extreme value detection method using an optimal smoothing spline curved surface, comprising: calculating all of the values and outputting the extreme values to the output means. .

また、本発明は、ピクセルデータが入力される入力手段と、プログラムを格納する記憶手段と、プログラムを実行しピクセルデータを処理する演算手段と、演算手段の処理結果を出力する出力手段とを備える画像処理装置で実行されるデジタル画像のエッジ検出方法であって、入力手段から入力されたピクセルの座標及び輝度値からなるピクセルデータから、演算手段が複数の節点を有する最適平滑化スプライン曲面を生成するステップと、演算手段が最適平滑化スプライン曲面を第1の座標軸上の複数の座標で固定した複数の曲線からなる第1の曲線群を生成し、該第1の曲線群を構成する複数の曲線の1次導関数隣接する前記節点により区分された一区間である各節点区間の各々について各々極値を求めることにより、第1の曲線群の1次導関数の極値のすべてを求めるステップと、演算手段が最適平滑化スプライン曲面を第2の座標軸上の複数の座標で固定した複数の曲線からなる第2の曲線群を生成し、第2の曲線群を構成する複数の曲線の1次導関数隣接する前記節点により区分された一区間である各節点区間の各々について各々極値を求めることにより、第2の曲線群の1次導関数の極値のすべてを求めるステップと、演算手段が第1の曲線群の1次導関数の極値又は第2の曲線群の1次導関数の極値の絶対値が所定のしきい値より大きい箇所を、デジタル画像のエッジ部分と判定し、判定結果を出力手段へ出力するステップとを有することを特徴とするデジタル画像のエッジ検出方法である。
The present invention also includes an input means for inputting pixel data, a storage means for storing a program, an arithmetic means for executing the program and processing the pixel data, and an output means for outputting a processing result of the arithmetic means. An edge detection method for a digital image executed by an image processing apparatus, wherein an arithmetic means generates an optimal smoothed spline curved surface having a plurality of nodes from pixel data including pixel coordinates and luminance values input from an input means. And a step of generating a first curve group comprising a plurality of curves obtained by fixing the optimal smoothing spline curved surface with a plurality of coordinates on the first coordinate axis, and a plurality of components constituting the first curve group by each determining an extreme value for each of the nodes a certain section in a section which is divided by the nodes adjacent on the first derivative of the curve, the first group of curves Determining all of the extreme values of the first derivative, and generating a second curve group comprising a plurality of curves in which the computing means fixes the optimal smoothed spline curved surface at a plurality of coordinates on the second coordinate axis; By obtaining an extreme value for each node section , which is one section divided by adjacent nodes on the first derivative of a plurality of curves constituting two curve groups, 1 of the second curve group is obtained. The step of obtaining all of the extreme values of the second derivative, and the computing means is configured to determine whether the extreme value of the first derivative of the first curve group or the absolute value of the extreme value of the first derivative of the second curve group is predetermined. A digital image edge detection method comprising: determining a portion greater than the threshold value as an edge portion of the digital image and outputting the determination result to an output means.

また、本発明は、データが入力される入力手段と、プログラムを格納する記憶手段と、プログラムを実行しデータを処理する演算手段と、演算手段の処理結果を出力する出力手段とを備える処理装置に、入力手段から入力された平面における離散データ群又は関数から、演算手段が複数の節点を有する最適平滑化スプライン曲線を生成するステップと、演算手段が最適平滑化スプライン曲線又はその導関数隣接する前記節点により区分された一区間である各節点区間の各々について各々極値を求めることにより、最適平滑化スプライン曲線又はその導関数の極値のすべてを求め、極値を出力手段に出力するステップとを実行させるための最適平滑化スプライン曲線による極値検出プログラムである。
Further, the present invention provides a processing apparatus comprising input means for inputting data, storage means for storing a program, arithmetic means for executing a program and processing data, and output means for outputting a processing result of the arithmetic means. to, from the discrete data group or function in the a plane input from the input means, calculation means and generating an optimal smoothing spline having a plurality of nodes are computing means optimal smoothing spline curve or on its derivatives The extreme values are obtained for each of the node sections , which are one section divided by the adjacent nodes of each other , to obtain all of the extreme values of the optimal smoothed spline curve or its derivative, and the extreme values are output to the output means. An extreme value detection program using an optimal smoothing spline curve for executing an output step.

また、本発明は、データが入力される入力手段と、プログラムを格納する記憶手段と、プログラムを実行しデータを処理する演算手段と、演算手段の処理結果を出力する出力手段とを備える処理装置に、入力手段から入力された空間における離散データ群又は関数から、演算手段が複数の節点を有する最適平滑化スプライン曲面を生成するステップと、演算手段が最適平滑化スプライン曲面又はその偏導関数前記節点により格子上に区画された一領域である各節点領域の各々について各々極値を求めることにより、最適平滑化スプライン曲面又はその偏導関数の極値のすべてを求め、極値を出力手段に出力するステップとを実行させるための最適平滑化スプライン曲面による極値検出プログラムである。
Further, the present invention provides a processing apparatus comprising input means for inputting data, storage means for storing a program, arithmetic means for executing a program and processing data, and output means for outputting a processing result of the arithmetic means. to, from the discrete data group or function in inputted space from the input means, step a, calculating means on optimal smoothing spline surface or its partial derivatives to generate optimal smoothing spline curved surface calculating means comprises a plurality of nodes by obtaining the respective extremum for each of the node regions of one region partitioned on a grid by the nodes of the upper, seeking all the optimal smoothing spline surface or extremes of its partial derivatives, extrema An extreme value detection program using an optimal smoothing spline curved surface for executing the step of outputting to the output means.

また、本発明は、ピクセルデータが入力される入力手段と、プログラムを格納する記憶手段と、プログラムを実行しピクセルデータを処理する演算手段と、演算手段の処理結果を出力する出力手段とを備える画像処理装置に、入力手段から入力されたピクセルの座標及び輝度値からなるピクセルデータから演算手段が複数の節点を有する最適平滑化スプライン曲面を生成するステップと、演算手段が最適平滑化スプライン曲面を第1の座標軸上の複数の座標で固定した複数の曲線からなる第1の曲線群を生成し、第1の曲線群を構成する複数の曲線の1次導関数隣接する前記節点により区分された一区間である各節点区間の各々について各々極値を求めることにより、第1の曲線群の1次導関数の極値のすべてを求めるステップと、演算手段が最適平滑化スプライン曲面を第2の座標軸上の複数の座標で固定した複数の曲線からなる第2の曲線群を生成し、第2の曲線群を構成する複数の曲線の1次導関数隣接する前記節点により区分された一区間である各節点区間の各々について各々極値を求めることにより、第2の曲線群の1次導関数の極値のすべてを求めるステップと、演算手段が第1の曲線群の1次導関数の極値又は第2の曲線群の1次導関数の極値の絶対値が所定のしきい値より大きい箇所を、デジタル画像のエッジ部分と判定し、判定結果を出力手段へ出力するステップとを実行させるためのデジタル画像のエッジ検出プログラムである。 The present invention also includes an input means for inputting pixel data, a storage means for storing a program, an arithmetic means for executing the program and processing the pixel data, and an output means for outputting a processing result of the arithmetic means. In the image processing apparatus, the calculation means generates an optimal smoothing spline surface having a plurality of nodes from pixel data composed of the pixel coordinates and luminance values input from the input means; Generate a first curve group composed of a plurality of curves fixed at a plurality of coordinates on the first coordinate axis, and classify by adjacent nodes on the first derivative of the plurality of curves constituting the first curve group by each determining an extreme value for each of the nodes section it is has been a section, a step of obtaining all the extrema of the first derivative of the first group of curves, calculation Stage generates a second curve group composed of a plurality of curves and fixed by a plurality of coordinates on the second coordinate axis optimal smoothing spline surface, the first derivative of a plurality of curves that constitute the second group of curves by each determining an extreme value for each of the nodes section which is adjacent a section which is divided by the nodal point of the upper, and determining all the extrema of the first derivative of the second group of curves, arithmetic means Where the absolute value of the first derivative of the first curve group or the absolute value of the first derivative of the second curve group is greater than a predetermined threshold is determined as the edge portion of the digital image. , A digital image edge detection program for executing the step of outputting the determination result to the output means.

本発明の最適平滑化スプラインによる極値検出方法によれば、設計されたスプラインを対象とするため、各節点ごとに定義された多項式の極値(極小値、極大値)を求めれば良い。これによりすべての極値が求まり、最小値や最大値を求めることが可能となる。   According to the extreme value detection method using the optimum smoothing spline of the present invention, since the designed spline is targeted, the extreme values (minimum value, maximum value) of the polynomial defined for each node may be obtained. As a result, all extreme values are obtained, and the minimum value and the maximum value can be obtained.

(第1実施形態)
以下、本発明の第1実施形態である最適平滑化スプライン曲線による極値検出方法及び極値検出プログラムについて、図を参照して詳細に説明をする。
(First embodiment)
Hereinafter, an extreme value detection method and an extreme value detection program using an optimal smoothed spline curve according to a first embodiment of the present invention will be described in detail with reference to the drawings.

よく知られるように、スプライン関数は様々な工学分野で用いられており、これまで幅広い研究がなされてきている。特に、最適制御理論に基づいた「動的スプライン」の理論が提案されており、そのようなアプローチは、Bスプライン関数の解析や、最適平滑化曲線の設計に利用されている。さらには、最適内挿および平滑化スプラインの枠組みが日本の書道で見られるような文字や文字列の設計および再設計を行うために利用されている。   As is well known, spline functions are used in various engineering fields, and extensive research has been conducted so far. In particular, the theory of “dynamic splines” based on optimal control theory has been proposed, and such an approach is used for analysis of B-spline functions and design of optimal smoothing curves. In addition, an optimal interpolation and smoothing spline framework is used to design and redesign characters and strings as found in Japanese calligraphy.

本実施形態では、まず、与えられた離散データの集合に対して最適平滑化スプライン曲線の設計を行う。そのような曲線の設計には、正規化された一様なBスプライン関数を基底関数として用いる。まず、最適平滑化曲線の設計について、簡潔な計算手順が得られる基本的な結果を示す。次に、最適曲線のすべての極値、すなわち極小値、極大値を計算するためのアルゴリズムを示す。その際、スプラインが区分的多項式であり、連続かつ微分可能であるということを利用するものである。スプライン曲線は、区分的多項式であり制御点によって表すことができるので、その極値を検出し計算するアルゴリズムは簡潔かつ数値計算に対しても利用しやすいものとなっている。   In this embodiment, first, an optimal smoothing spline curve is designed for a given set of discrete data. In designing such a curve, a normalized uniform B-spline function is used as a basis function. First, the basic results for obtaining a simple calculation procedure for the design of the optimal smoothing curve are shown. Next, an algorithm for calculating all the extreme values, that is, the minimum value and the maximum value of the optimum curve will be described. In so doing, the fact that splines are piecewise polynomials and are continuous and differentiable is utilized. Since the spline curve is a piecewise polynomial and can be represented by control points, the algorithm for detecting and calculating its extreme values is simple and easy to use for numerical calculations.

Bk(・)を、整数値の節点をもつk次の正規化された一様なBスプライン関数とし、一定間隔でシフトし重みづけしたBスプライン関数の和としてスプライン曲線x(t)を生成する。すなわち、k次スプライン曲線x(t)は、 Let B k (·) be a k-order normalized uniform B-spline function with integer nodes, and generate a spline curve x (t) as the sum of B-spline functions shifted and weighted at regular intervals. To do. That is, the k-th order spline curve x (t) is

のように表現される。 It is expressed as

ここで、mは、整数であって、予め定めうる設計パラメータである。τi∈Rは制御点と呼ばれる重み係数である。α(>0)は、予め定めうる設計パラメータであり、等間隔に配置された節点tiの間隔(節点区間)を、ti+1−ti=1/αに従って調整するための定数である。 Here, m is an integer and is a design parameter that can be determined in advance. τ i ∈R is a weighting factor called a control point. α (> 0) is a design parameter that can be determined in advance, and is a constant for adjusting the interval (node interval) of nodes t i arranged at equal intervals according to t i + 1 −t i = 1 / α. is there.

数式1によってスプライン曲線x(t)が構成される様子を図1に示す。各つり鐘状の波形は適宜シフトされたk次BスプラインBk(・)に対応する制御点τi(「×」印で示す)によって重み付けされた関数を表し,スプライン曲線x(t)はこれらをすべて加え合わせて構成されている。制御点τi∈Rを適切に選ぶことによって,任意のk次スプライン曲線x(t)を区間[t0,tm]で設計することができる。 FIG. 1 shows a state in which the spline curve x (t) is formed by Equation 1. Each bell-shaped waveform represents a function weighted by control points τ i (indicated by “x” marks) corresponding to appropriately shifted k-th order B-splines B k (•), and the spline curve x (t) is All of these are added together. By appropriately selecting the control point τ i ∈R, an arbitrary k-th order spline curve x (t) can be designed in the interval [t 0 , t m ].

k次B−スプライン関数Bk(t)は、次式 The k-order B-spline function B k (t) is given by

で定義されている。Bk(t)は整数値の節点をもち,j=0,…,kに対する各節点区間[j,j+1]で基底関数Nj,k(t−j)によって指定され,[0,k+1]以外の区間では恒等的に0である。 Defined in B k (t) has integer-valued nodes and is specified by basis functions N j, k (t−j) in each node interval [j, j + 1] for j = 0,. In the interval other than k + 1], it is uniformly 0.

ここで基底関数Nj,k(t)は、 Where the basis functions N j, k (t) are

によって,初期関数N0,0(t)=1から順次生成することができる。 Can be generated sequentially from the initial function N 0,0 (t) = 1.

実際上、k=3、すなわち3次のスプライン関数を選定した場合、基底関数Nj,3(t)は次式 In practice, when k = 3, that is, when a cubic spline function is selected, the basis function N j, 3 (t) is

のように、4つ(すなわちk+1個)の関数を含むことになる。 Thus, four functions (that is, k + 1) are included.

このことは、各tにおけるk次スプライン関数の値は、tが含まれる区間におけるk+1個の基底関数(従って対応するk+1個の制御点)の影響を受けるだけで、その範囲外の基底関数(従って対応する制御点)の影響を受けないことを意味している。   This means that the value of the kth-order spline function at each t is only affected by k + 1 basis functions (and thus corresponding k + 1 control points) in the interval containing t, and is outside that range. Is not affected by the basis function (and hence the corresponding control point).

(最適化過程)
次に、離散データDの集合が
(Optimization process)
Next, the set of discrete data D is

によって与えられているとし、また、τ∈RM(M=m+k)を以下のように定義される制御点ベクトルとする。 And are given by, Also, the control point vector defined Tau∈R M a (M = m + k) as follows.

そのとき、最適平滑化スプライン曲線の設計の基本問題は、評価関数   Then, the basic problem of designing an optimal smoothing spline curve is the evaluation function

を最小にするスプライン曲線x(t)もしくは等価的に制御点ベクトルτ∈RMを見つける問題となる。ただし、λ>0、wi∈(0,1]∀iである。 A spline curve x (t) or equivalently find control point vector Tau∈R M problem to minimize. However, λ> 0 and w i ε (0,1] ∀i.

この問題に対する最適解τは以下の線形方程式の解として得られる。 The optimal solution τ for this problem is obtained as the solution of the following linear equation.

ここで、Q∈RM×MWhere Q∈R M × M is

によって定義されるグラミアンで、与えられる離散データDとは無関係に予め計算しておくことができる。 And can be calculated in advance regardless of the given discrete data D.

またW∈RN×N、d∈RNおよびB∈RM×NAnd W∈R N × N , d∈R N and B∈R M × N are

である。 It is.

ただし数式9,12におけるb(t)∈RMは、 B (t) ∈R M is in equation 9, 12 However,

なるベクトルである。 Is a vector.

数式8は可解であり、従って解τは常に存在する。もちろんλQ+BWBT>0のときに限り唯一となる。この解τを数式1に用いることによって、区間[t0,tm]におけるk次の最適平滑化スプラインx(t)が設計される。 Equation 8 is solvable, so there is always a solution τ. Of course, only when λQ + BWB T > 0. By using this solution τ in Equation 1, a k-th order optimal smoothing spline x (t) in the interval [t 0 , t m ] is designed.

このように、制御点ベクトルτに関する最適化解を求め、数式1を用いることによって、k次最適平滑化スプライン曲線x(t)が生成される。   In this way, by obtaining an optimization solution related to the control point vector τ and using Equation 1, the k-th order optimal smoothing spline curve x (t) is generated.

(スプライン曲線の極値)
次に、最適平滑化スプライン曲線x(t)の極値を検出する方法を説明する。具体的には、x(1)(t)=0とx(2)(t)>0もしくはx(2)(t)<0を満たしている点t∈(t0,tm)を見つければ良い。
(Extreme value of spline curve)
Next, a method for detecting the extreme value of the optimal smoothing spline curve x (t) will be described. Specifically, find the point t∈ (t 0 , t m ) that satisfies x (1) (t) = 0 and x (2) (t)> 0 or x (2) (t) <0. It ’s fine.

区間[t0,tm]で設計されたk次最適平滑化スプラインx(t)は、各区間[tj,tj+1)(k=0,1,2,・・・,m−1)で各々k次多項式である。従って、区間毎に極値を検出することによって、x(t)の最大値、最小値を含むすべての極値が求まる。 The k-th order optimal smoothing spline x (t) designed in the interval [t 0 , t m ] is represented by each interval [t j , t j + 1 ) (k = 0, 1, 2,..., M− Each is a k-th order polynomial in 1). Therefore, by detecting extreme values for each section, all extreme values including the maximum value and the minimum value of x (t) can be obtained.

x(t)は区間[tj,tj+1)において、 x (t) is in the interval [t j , t j + 1 )

となり、k+1個の制御点τj-k、τj-k+1、・・・、τjによって決まるk次多項式である。 Next, k + 1 control points τ jk, τ jk + 1, ···, a k-th order polynomial, which is determined by τ j.

tからδへの変数変換を次のように行う。   Variable conversion from t to δ is performed as follows.

このとき変数tの区間[tj,tj+1)は変数δに対する単位区間[0,1)に正規化され、関数x(t)はδの関数 At this time, the interval [t j , t j + 1 ) of the variable t is normalized to the unit interval [0, 1) for the variable δ, and the function x (t) is a function of δ.

に変換される。x(δ)はδに関するk次多項式であり、これを Is converted to x (δ) is a kth order polynomial for δ,

とする。 And

なお、以下に使用される数式に関して、δを変数とする関数xには、すべて‘ハット(^)’がつくものであるが、明細書本文中では省略するものとする。   In addition, regarding the mathematical formulas used below, all the functions x having δ as a variable have “hat (^)”, but they are omitted in the specification text.

明らかにx(t)=x(δ)、またx(1)(t)=αx (1)(δ)、x(2)(t)=α2x(2)(δ)かつα>0より、x(t)の区間[tj,tj+1)における極値はx(δ)の単位区間[0,1)における極値として得ることができる。x(δ)がδ=δ(0≦δ<1)で極値x(δ)を持てばx(t)はt=(1/α)δ+tで極値x(t)=x(δ)を持つ。 Obviously x (t) = x (δ), and x (1) (t) = αx (1) (δ), x (2) (t) = α 2 x (2) (δ) and α> 0 Thus, the extreme value in the interval [t j , t j + 1 ) of x (t) can be obtained as the extreme value in the unit interval [0, 1) of x (δ). If x (δ) is δ = δ i (0 ≦ δ i <1) and has an extreme value x (δ i ), x (t) will be an extreme value x (t at t = (1 / α) δ i + t j ) = X (δ i ).

x(δ)の単位区間[0,1)における極値の求め方は、後述する図3のステップ103〜ステップ105の通りである。その際、1次導関数x(1)(δ)の根の計算は、既存の多項式の根の計算プログラムを用いることができる。 The method of obtaining the extreme value in the unit interval [0, 1) of x (δ) is as described in Step 103 to Step 105 in FIG. At that time, the root of the first derivative x (1) (δ) can be calculated using an existing polynomial root calculation program.

(3次スプライン)
実際に良く用いられている3次スプライン(すなわちk=3)の場合には、以下の仮定1を置くことによって、上のステップはより詳細なアルゴリズムとして書くことができる。これはx(1)(δ)が2次多項式となり、その根が陽的に表現できるからである。
(Cubic spline)
In the case of cubic splines that are often used in practice (ie, k = 3), the above steps can be written as a more detailed algorithm by making the following assumption 1. This is because x (1) (δ) is a quadratic polynomial and its root can be expressed explicitly.

ここでは、実用的な目的上、次の仮定を導入する。 Here, the following assumptions are introduced for practical purposes.

(仮定1)各節点区間[tj,tj+1)のx(t)の極値の個数は、多くても1つである。ただし、j=0, 1,2,・・・,m−1 (Assumption 1) The number of extreme values of x (t) in each node interval [t j , t j + 1 ) is at most one. However, j = 0, 1, 2, ..., m−1

x(t)が、最適平滑化スプライン曲線であることに注意すると、節点区間[tj,tj+1)が小さければ仮定1は妥当なものである。 Note that x (t) is an optimal smoothing spline curve, assumption 1 is valid if the node interval [t j , t j + 1 ) is small.

3次スプライン(すなわちk=3)の場合には、多項式x(δ)は4つの重み係数τj-3,τj-2,τj-1,τjだけに依存し、δの変域[0,1)に対して次式のように表現することができる。 In the case of a cubic spline (ie k = 3), the polynomial x (δ) depends only on the four weighting factors τ j−3 , τ j−2 , τ j−1 , τ j and the domain of δ [0, 1) can be expressed as follows.

すなわち、係数pj、qj、rj、sjは、上記最適化過程ですでに得られている重み係数(ベクトル)τのうち、τj-3、τj-2、τj-1、τjの4つから唯一に決定される。 That is, the coefficients p j , q j , r j , s j are τ j−3 , τ j−2 , τ j−1 among the weighting coefficients (vectors) τ already obtained in the optimization process. , Τ j is uniquely determined.

前述のように、x(δ)がδ=δe∈[0,1)で極値をもつことがわかれば、そのときx(t)は、te=tje(1/α)∈[tj,tj+1)で極値をもち、その値は、x(te)= x(δe)により得られることとなる。 As described above, if it is found that x (δ) has an extreme value when δ = δ e ∈ [0, 1), then x (t) becomes t e = t j + δ e (1 / α ) ∈ [t j , t j + 1 ) and has an extreme value, and the value is obtained by x (t e ) = x (δ e ).

δeを得るためには、数式18のx(δ)の1次導関数、すなわち
が重要な役割をはたす。pj≠0である場合には、x(1)(δ)の2つの根は、
In order to obtain [delta] e, the first derivative of x ([delta]) of Equation 18, i.e.
Plays an important role. If p j ≠ 0, the two roots of x (1) (δ) are

のように表すことができる。そのとき、x(1)(0)=rj/2およびx(1)(1)=rj+1/2となるので、極値が存在するかどうかはrjとrj+1の符号により調べることができる。具体的には、仮定1のもとでの幾何学的な観察により、以下の3つの場合が得られる。 It can be expressed as At that time, x (1) (0) = r j / 2 and x (1) (1) = Since the r j + 1/2, whether extreme exists for r j and r j + 1 It can be examined by the sign. Specifically, the following three cases are obtained by geometric observation under Assumption 1.

(P1) rj・rj+1<0であれば、極値は[0,1)に存在する。 (P1) If r j · r j + 1 <0, the extremum exists at [0, 1).

(P2) rj・rj+1=0であれば、極値はいくつかの付加的な条件のもとで[0,1)に存在する。 (P2) If r j · r j + 1 = 0, the extremum exists at [0, 1) under some additional conditions.

(P3) rj・rj+1>0であれば、極値は[0,1)には存在しない。 (P3) If r j · r j + 1 > 0, there is no extrema in [0, 1).

(P1)と(P2)の場合について、以下の結果が得られる。   The following results are obtained for the cases of (P1) and (P2).

(命題1)rj・rj+1<0と仮定する。そのとき、rj>0かつrj+1<0(rj<0かつrj+1>0)ならば、関数x(δ)はδ=δe∈(0,1)で極大(極小)をもつ。ただし、 (Proposition 1) Assume that r j · r j + 1 <0. Then, if r j > 0 and r j + 1 <0 (r j <0 and r j + 1 > 0), the function x (δ) is maximal (minimum) with δ = δ e ∈ (0,1) ) However,

(命題2)rj・rj+1=0と仮定するとき、以下の2つの場合が生じる。 (Proposition 2) When r j · r j + 1 = 0, the following two cases occur.

(i)rj=0の場合: qj<0 (qj>0)であれば、そのときx(δ)はδ=0で極大(極小)をもつ。qj=0である場合には、極値は存在しない。 (i) When r j = 0: If q j <0 (q j > 0), then x (δ) has a maximum (minimum) at δ = 0. If q j = 0, there is no extreme value.

(ii)rj≠0かつrj+1=0の場合: rj>0かつqj+1>0(rj<0かつqj+1<0)であれば、そのときx(δ)はδ=rj/pj∈(0,1)で極大(極小)をもつ。また、rj・qj+1≦0であれば極値は存在しない。 (ii) If r j ≠ 0 and r j + 1 = 0: If r j > 0 and q j + 1 > 0 (r j <0 and q j + 1 <0) then x (δ ) Has a maximum (minimum) at δ = r j / p j ∈ (0, 1). If r j · q j + 1 ≦ 0, there is no extreme value.

したがって、3次最適平滑化スプライン関数x(t)の極値を検出し計算するアルゴリズムは、以下のようにまとめることができる。   Therefore, the algorithm for detecting and calculating the extreme value of the cubic optimal smoothing spline function x (t) can be summarized as follows.

重み係数τ-3,τ-2,τ-1,・・・,τm-1が与えられ、rjとrj+1を、j=0, 1,2,・・・,m-1に対して計算し、そのときrj・rj+1<0およびrj・rj+1=0の場合には、それぞれ命題1および2を使う。δ=δeで極値x(δ)が見つかれば、te=tj+(1/α)δeで極値x(te)を計算する。 Weight coefficients τ −3 , τ −2 , τ −1 ,..., Τ m−1 are given, and r j and r j + 1 are set to j = 0, 1, 2,. If r j · r j + 1 <0 and r j · r j + 1 = 0, then propositions 1 and 2 are used, respectively. [delta] = [delta] if found extreme x ([delta]) at e, calculates an extreme value x (t e) at t e = t j + (1 / α) δ e.

図2は、本実施形態のk次最適平滑化スプライン曲線による極値検出方法及び極値検出プログラムに用いられる処理装置を示すブロック図である。本実施形態の最適平滑化スプラインによる極値検出方法に用いられる処理装置1は、CPU5(演算手段)とメモリ装置4(RAMやROM等:記憶手段)を有し、このメモリ装置4に格納されたプログラムを実行し、図3、4のフローチャートに記載した動作を実行することにより、図2のブロック図に示すように、CPU5と、メモリ装置4とマウス、キーボード、スキャナ、データロガー等の入力装置6(入力手段)とバス3と、ディスプレイ装置7(出力手段)と、プリンタ装置8(出力手段)と、外部ネットワーク10と接続するネットワーク装置9(入力手段・出力手段)を備えた処理装置として機能する。   FIG. 2 is a block diagram showing a processing device used in the extreme value detection method and extreme value detection program based on the kth-order optimal smoothing spline curve of this embodiment. The processing device 1 used in the extreme value detection method using the optimal smoothing spline of this embodiment has a CPU 5 (calculation means) and a memory device 4 (RAM, ROM, etc .: storage means), and is stored in this memory device 4. 3 and 4, and the operations described in the flowcharts of FIGS. 3 and 4 are executed, as shown in the block diagram of FIG. 2, the CPU 5, the memory device 4, the mouse, keyboard, scanner, data logger, etc. A processing apparatus comprising a device 6 (input means), a bus 3, a display device 7 (output means), a printer device 8 (output means), and a network device 9 (input means / output means) connected to an external network 10. Function as.

図3は、本実施形態の一般のk次最適平滑化スプラインによる極値検出方法の処理の流れを示すフローチャートである。   FIG. 3 is a flowchart showing a processing flow of an extreme value detection method using a general kth-order optimal smoothing spline according to this embodiment.

ステップ101(図ではステップをSと略す)は、離散データDについて重み係数τiを求め入力する工程である。すなわち、CPU5は、入力した離散データD(ui,di),i=1,・・・,Nについて、最適な重み係数τi,i=−k, −k+1,・・・,m−1を決定し、最適平滑化スプライン曲線x(t)を設計する。 Step 101 (step is abbreviated as S in the figure) is a step of obtaining and inputting the weighting coefficient τ i for the discrete data D. That is, the CPU 5 sets the optimum weighting factors τ i , i = −k, −k + 1,... For the input discrete data D (u i , d i ), i = 1,. Determine m−1 and design an optimal smoothing spline curve x (t).

ステップ102では、CPU5は、節点区間[tj,tj+1)での最適平滑化スプライン曲線x(t)を正規化して得られる、単位区間[0,1 )でのk次多項式x(δ)を生成する。すなわち、x(δ)の各係数a0,・・・,akの計算を行う。 In step 102, the CPU 5 normalizes the optimal smoothing spline curve x (t) in the node interval [t j , t j + 1 ), and obtains the k-order polynomial x (in the unit interval [0, 1). δ) is generated. That is, each coefficient a 0 ,..., A k of x (δ) is calculated.

x(δ)は、数式16で定義されている。ここで、基底関数(多項式)N0,k(δ)、N1,k(δ)、・・・、Nh,k(δ)は、数式3の逐次式から計算機を用いて予め求めておくことができ、いずれもk次多項式である。いま、 x (δ) is defined by Equation 16. Here, the basis functions (polynomials) N 0, k (δ), N 1, k (δ),..., N h, k (δ) are obtained in advance from a sequential expression of Equation 3 using a computer. Both are k-order polynomials. Now

とし、求めるx(δ)の多項式表現を数式17とすると、その係数a0,・・・,akは数式17、数式22によって次式から求められる。 And then, when Equation 17 the polynomial representation of x ([delta]) to obtain, the coefficients a 0, ···, a k is determined from the following equation according to Equation 17, Equation 22.

ステップ103では、CPU5は、ステップ102で求めた多項式x(δ)の1次導関数x(1)(δ)の根を求める。 In step 103, the CPU 5 obtains the root of the first derivative x (1) (δ) of the polynomial x (δ) obtained in step 102.

ステップ104では、CPU5は、多項式x(δ)が単位区間[0,1)で実根を有するか否か判定する。実根を有する場合にはステップ105へ進み、実根を有しない場合にはステップ106へ進む。   In step 104, the CPU 5 determines whether or not the polynomial x (δ) has a real root in the unit interval [0, 1). If it has a real root, the process proceeds to step 105, and if it does not have a real root, the process proceeds to step 106.

ステップ105では、CPU5は、x(δ)の2次導関数x (2)(δ)へ、ステップ103で求めた多項式x(δ)の実根δeを代入し、x(2)e)>0の場合には、te=tj+(1/α)δeで極小値x(δe)をもつものとし、x(2)e)<0の場合には、te=tj+(1/α)δeで極大値x(δe)をもつものとする。これにより、最適平滑化スプライン関数x(t)の所定の節点区間[tj,tj+1)における、極大値または極小値が求まることとなる。 In step 105, CPU 5 is the x ([delta]) 2 derivative x (2) of ([delta]), by substituting the real roots [delta] e of the polynomial determined in step 103 x (δ), x ( 2) (δ e )> 0, t e = t j + (1 / α) δ e and a minimum value x (δ e ), and if x (2)e ) <0, t Let e = t j + (1 / α) δ e and have a maximum value x (δ e ). As a result, the maximum value or the minimum value in the predetermined node interval [t j , t j + 1 ) of the optimum smoothing spline function x (t) is obtained.

ステップ106では、jが、m−1より小さい場合にはステップ102へ戻り、jが、m−1の場合にはステップ107へ進み、区間[t0,tm]のすべての節点区間[tj,tj+1)についての極値検出手続きが終了するまで、ステップ102からステップ105を繰り返す。 In step 106, when j is smaller than m−1, the process returns to step 102, and when j is m−1, the process proceeds to step 107, and all the node intervals [t t [t 0 , t m ] Steps 102 to 105 are repeated until the extreme value detection procedure for j , t j + 1 ) is completed.

ステップ107では、CPU5は、最適平滑化スプライン関数x(t)の全区間[t0,tm]に存在するすべての極値から、すべての極値の大小を判別することにより、最適平滑化スプライン関数x(t)の最大値及び最小値を求める。そして、最適平滑化スプライン関数x(t)の極大値、極小値、最大値及び最小値を、ディスプレイ装置7やプリンタ装置8に出力する。 In step 107, the CPU 5 discriminates the magnitude of all the extreme values from all the extreme values existing in the entire interval [t 0 , t m ] of the optimum smoothing spline function x (t), thereby performing the optimal smoothing. Find the maximum and minimum values of the spline function x (t). Then, the maximum value, the minimum value, the maximum value, and the minimum value of the optimal smoothing spline function x (t) are output to the display device 7 and the printer device 8.

図4は、本実施形態の最適平滑化スプラインによる極値検出方法の処理の流れにおいて、3次スプライン(k=3)を用いた場合を示すフローチャートである。なお、図3のフローチャートとはステップ102〜104のみ相違するため、対応する部分を、ステップ102a及び103aとして記載している。   FIG. 4 is a flowchart showing a case where a cubic spline (k = 3) is used in the processing flow of the extreme value detection method using the optimal smoothing spline of this embodiment. Since only the steps 102 to 104 are different from the flowchart of FIG. 3, the corresponding portions are described as steps 102a and 103a.

ステップ102aは、図3のフローチャートのステップ102に対応する部分である。ステップ102aでは、CPU5は、3次多項式であるx(δ)について、各係数pj、qj、rj、sjを算出する。上述したように、各係数pj、qj、rj、sjは、τj-3、τj-2、τj-1、τjの4つから唯一に決定される。 Step 102a corresponds to step 102 in the flowchart of FIG. In step 102a, the CPU 5 calculates coefficients p j , q j , r j , and s j for x (δ) that is a cubic polynomial. As described above, each coefficient p j , q j , r j , s j is uniquely determined from four of τ j−3 , τ j−2 , τ j−1 and τ j .

ステップ103aは、図3のフローチャートのステップ103及び104に対応する部分である。ステップ103aでは、CPU5は、ステップ102aで求めた多項式x(δ)の1次導関数x(1)(δ)の根を求める。qj 2−pjrj≧0の場合には図3のステップ105ヘ進み、qj 2−pjrj<0の場合には図3のステップ106へ進む。 Step 103a corresponds to steps 103 and 104 in the flowchart of FIG. In step 103a, the CPU 5 obtains the root of the first derivative x (1) (δ) of the polynomial x (δ) obtained in step 102a. When q j 2 −p j r j ≧ 0, the process proceeds to step 105 in FIG. 3, and when q j 2 −p j r j <0, the process proceeds to step 106 in FIG.

なお、本実施形態においては、離散データDが与えられた場合について極値をもとめたが、関数f(t),t0≦t≦tmが入力データとして与えられた場合についても、同様な方法で極値を求めることが可能である。この場合にも、まずf(t)を近似する最適スプラインを以下のように設計する。 In the present embodiment, the extreme value is obtained when the discrete data D is given, but the same applies when the function f (t), t 0 ≦ t ≦ t m is given as input data. It is possible to obtain extreme values by the method. Also in this case, first, an optimal spline that approximates f (t) is designed as follows.

関数f(t)が与えられたとき、評価関数は、数式7の代わりに   When the function f (t) is given, the evaluation function is

を用いる。この最適解τは線形方程式 Is used. This optimal solution τ is a linear equation

の解として得られる。ここで、Qは、数式9で定義される行列、QIs obtained as a solution of Here, Q is a matrix defined by Equation 9, and Q 0 is

で定義される行列で、いずれもf(t)とは無関係に予め計算しておくことができる。右辺は、f(t)が与えられると適当な数値積分法を用いて計算できる。 Any of these matrices can be calculated in advance regardless of f (t). The right hand side can be calculated using an appropriate numerical integration method, given f (t).

一旦、最適なベクトルτが決まると、極値の検出等、後の扱いは離散データの場合と同様である。ただし、既存の最適化アルゴリズムとの併用によって以下のような有効性がある。一般に関数f(t)が与えられたとき、ある区間(一般性を失わずに[t0,tm]と考えてよい)での最大値や最小値を求める方法は繰り返しによる数値的探索法によるのが通常である。 Once the optimal vector τ is determined, the subsequent handling such as detection of extreme values is the same as in the case of discrete data. However, it is effective as follows by using it together with the existing optimization algorithm. In general, when a function f (t) is given, a method of finding a maximum value and a minimum value in a certain interval (which can be considered as [t 0 , t m ] without losing generality) is a numerical search method by iteration. It is normal.

その際、繰り返し式の初期値の取り方が問題となり、それによって多峰性関数の場合は到達する極値が異なる。最大値や最小値が得られる保証は全くない。本方法によれば、f(t)を近似する最適スプラインが得られ、その最大値や最小値が得られる。さらに対応するtの値を初期値として数値的探索法を適用すればf(t)の最大値や最小値をより正確に求めることができる。   In that case, how to take the initial value of the iterative formula becomes a problem, and in the case of a multimodal function, the extreme values reached are different. There is no guarantee that maximum or minimum values can be obtained. According to this method, an optimal spline that approximates f (t) is obtained, and the maximum value and the minimum value thereof are obtained. Further, if a numerical search method is applied with the corresponding value of t as an initial value, the maximum value and the minimum value of f (t) can be obtained more accurately.

(数値実験例)
図5は、本発明の第1実施形態の最適平滑化スプライン曲線とその極値を示す図である。図5は、最適平滑化スプライン曲線x(t)(図中の実線で示された関数)から極値を抽出する性能を示す図である。図5は、k=3,α=1, t0=1およびtm=m=50の場合での結果を示している。ただし、三角形と逆三角形はそれぞれ検出された極大値および極小値を示す。ここで、データdi(図中の*印)は、関数f(t)= ea(t−1)cos(b(t−1))+1(図中の点線で示された関数)をサンプリングすることにより生成されている。ただし、a=1/(m−1) log1/4, b=2π×3/(m−1)である。 データの個数はN=30とし、uiは区間[t0,tm]=(1,50)においてランダムに配置されたデータ点であり、またデータに加えるノイズの大きさはσ=0.02とする。さらに、平滑化パラメータλを推定するためにいわゆるcross-validation手法を採用し、その最適値はλ=0.1585のように得られた。
(Numerical experiment example)
FIG. 5 is a diagram showing an optimal smoothing spline curve and its extreme value according to the first embodiment of the present invention. FIG. 5 is a diagram showing the performance of extracting extreme values from the optimal smoothing spline curve x (t) (function indicated by the solid line in the figure). FIG. 5 shows the results when k = 3, α = 1, t 0 = 1 and t m = m = 50. However, the triangle and the inverted triangle indicate the detected maximum value and minimum value, respectively. Here, data d i (marked with * in the figure) is a function f (t) = e a (t−1) cos (b (t−1)) + 1 (function indicated by a dotted line in the figure) Is generated by sampling. However, a = 1 / (m−1) log1 / 4, b = 2π × 3 / (m−1). The number of data is N = 30, u i are data points randomly arranged in the interval [t 0 , t m ] = (1, 50), and the magnitude of noise added to the data is σ = 0.02. To do. Furthermore, a so-called cross-validation method was employed to estimate the smoothing parameter λ, and the optimum value was obtained as λ = 0.1585.

図からわかるように、データノイズがかなり大きいにもかかわらず、元の関数であるf(t)のすべての極値がかなり精度よく検出されていることがわかる。特に極値を与えるtの値はほぼ正確に得られていることがわかる。   As can be seen from the figure, it can be seen that all the extreme values of the original function f (t) are detected with high accuracy even though the data noise is considerably large. In particular, it can be seen that the value of t giving an extreme value is obtained almost accurately.

なお、上記実施形態では、最適平滑化スプライン関数x(t)の極値を求めたが、同様な方法で、x(t)の第i導関数x(i)(t)の極値を求めることが可能である。 In the above embodiment, the extreme value of the optimal smoothing spline function x (t) is obtained, but the extreme value of the i-th derivative x (i) (t) of x (t) is obtained by the same method. It is possible.

区間[t1,tm]で設計された最適スプラインx(t)の第i導関数x(i)(t)(i=1,2,・・・,k)も各節点区間[tj,tj+1) (k=0, 1,・・・,m−1)毎に考えれば良い。すなわち、節点区間[tj,tj+1 )においては数式14と数式15の変数変換によって、x(i)(t)=αix(i)(δ)の関係が成立する。またα>0よりx(i)(t)の節点区間[tj,tj+1 ) における極値は、x (i)(δ)の単位区間[0,1 )における極値となる。この第i導関数x (i)(δ)は、数式17と数式23の結果を用いて、 The i-th derivative x (i) (t) (i = 1, 2,..., K) of the optimal spline x (t) designed in the interval [t 1 , t m ] is also applied to each node interval [t j , T j + 1 ) (k = 0, 1,..., M−1). That is, in the node interval [t j , t j + 1 ), the relationship of x (i) (t) = α i x (i) (δ) is established by the variable transformation of Equation 14 and Equation 15. Since α> 0, the extreme value in the node interval [t j , t j + 1 ) of x (i) (t) is the extreme value in the unit interval [0, 1) of x (i) (δ). This i th derivative x (i) (δ) is obtained by using the results of Equations 17 and 23.

によって計算できる。 Can be calculated by

x(i)(δ)(ただしi≦k−2)の極値の検出は、図3のステップ102における多項式x(δ)をx(i)(δ)に置き換え、これに伴いx(1)(δ), x(2)(δ)をそれぞれx(i+i)(δ)、x(i+2)(δ) に置き換えて、ステップ103以降に同様な方法を適用すれば良い。ここで、i≦k−2に限定されるのは、k−(i+2)次の多項式であるi+2次導関数が必要であるからで、k−(i+2)≧0が必要なためである。 The extreme value of x (i) (δ) (where i ≦ k−2) is detected by replacing the polynomial x (δ) in step 102 in FIG. 3 with x (i) (δ), and accordingly, x (1 ) (δ), x (2) (δ) may be replaced with x (i + i) (δ) and x (i + 2) (δ), respectively, and a similar method may be applied after step 103. Here, i ≦ k−2 is limited because an i + second derivative that is a k− (i + 2) order polynomial is required, and therefore k− (i + 2) ≧ 0 is satisfied. This is necessary.

以上説明したように、本実施形態の最適平滑化スプラインによる極値検出方法によれば、設計されたスプラインを対象とするため、各節点区間ごとに定義された多項式の極値(極小値、極大値)を求めれば良い。これによりすべての極値が求まり、最小値や最大値を求めることが可能となる。   As described above, according to the extreme value detection method using the optimal smoothing spline of the present embodiment, since the designed spline is targeted, the extreme value (minimum value, maximum value) of the polynomial defined for each node interval is used. Value). As a result, all extreme values are obtained, and the minimum value and the maximum value can be obtained.

また、基底関数としてBスプライン関数を用いているため、設計されたスプラインの表現が簡潔であり、その導関数も容易に求めることができる。   In addition, since the B-spline function is used as the basis function, the expression of the designed spline is simple and the derivative thereof can be easily obtained.

そして、極値計算の対象は、離散データでも関数でも良い。いずれの場合にも最適平滑化スプラインが設計でき、その際、節点の間隔やBスプラインの次数を調整することによって十分な精度で近似でき、ノイズの影響を受けにくい数値的に非常に安定した方法といえる。もちろん、この極値検出法は最適平滑化スプライン曲線に限らず、数式1で表現されるスプライン曲線であれば適用できるものである。   The target of extreme value calculation may be discrete data or a function. In any case, an optimal smoothing spline can be designed, and at that time, it can be approximated with sufficient accuracy by adjusting the node spacing and the order of the B-spline, and it is a numerically very stable method that is not easily affected by noise. It can be said. Of course, this extreme value detection method is not limited to the optimal smoothed spline curve, but can be applied to any spline curve expressed by Equation 1.

特に、3次Bスプライン関数を用いた場合には、各区間毎に3次多項式となり、極値は解析的に得ることができる。   In particular, when a cubic B-spline function is used, a cubic polynomial is obtained for each section, and the extreme value can be obtained analytically.

(第2実施形態)
以下、本発明の第2実施形態である最適平滑化スプライン曲面による極値検出方法及び極値検出プログラムについて、図を参照して詳細に説明をする。
(Second Embodiment)
Hereinafter, an extreme value detection method and an extreme value detection program using an optimal smoothing spline curved surface according to a second embodiment of the present invention will be described in detail with reference to the drawings.

(最適平滑化スプライン曲面)
本発明の第1実施形態では、平面における離散データについて最適平滑化スプライン曲線を生成し極値の検出を行ったが、本実施形態は、空間における離散データを近似する最適平滑化スプライン曲面を生成し極値の検出を行うものである。また、本実施形態は、本発明の第1実施形態の最適平滑化スプライン曲線の極値検出方法を最適平滑化スプライン曲面に素直に拡張した方法を提供するものである。
(Optimal smoothing spline surface)
In the first embodiment of the present invention, an optimal smoothing spline curve is generated for discrete data in a plane and extreme values are detected. However, in this embodiment, an optimal smoothing spline curved surface that approximates discrete data in space is generated. The extreme value is detected. In addition, the present embodiment provides a method in which the method for detecting the extreme value of the optimal smoothing spline curve according to the first embodiment of the present invention is straightforwardly extended to the optimal smoothing spline curved surface.

図6は、本実施形態の最適平滑化スプライン曲面を概略的に示す図である。図6Aは、空間における離散データから求められた最適な制御点(重み係数)の分布を示す図であり、図6Bは、空間における離散データに基づいて生成された最適平滑化スプライン曲面x(s,t)を示す図である。   FIG. 6 is a diagram schematically showing the optimal smoothing spline curved surface of the present embodiment. FIG. 6A is a diagram showing a distribution of optimal control points (weighting factors) obtained from discrete data in space, and FIG. 6B is an optimal smoothed spline curved surface x (s) generated based on the discrete data in space. , T).

(曲面の生成)
本実施形態の最適平滑化スプライン曲面x(s,t)は、k次Bスプライン関数Bk(・)を用いて、数式1の自然な拡張である以下の数式28で表すことが可能である。
(Curved surface generation)
The optimal smoothing spline curved surface x (s, t) of the present embodiment can be expressed by the following formula 28, which is a natural extension of formula 1, using a k-th order B spline function B k (•). .

ここで、α、β(>0)は定数、m、m(>2)は整数、si、tjは以下のように等間隔に配置された節点を表す。 Here, α and β (> 0) are constants, m 1 and m 2 (> 2) are integers, and s i and t j represent nodes arranged at equal intervals as follows.

このとき、制御点τi,jを適切に選ぶことによって、任意のk次スプライン曲面を(s,t)の領域 At this time, by appropriately selecting the control points τ i, j , an arbitrary k-th order spline curved surface can be represented in the region (s, t).

上で設計することができる。この制御点をまとめて行列τ∈RM1×M2(ただしM1=m1+k、M2=m2+k)で表すことにする。 Can be designed above. These control points are collectively expressed as a matrix τ∈RM 1 × M 2 (where M 1 = m 1 + k, M 2 = m 2 + k).

いま、空間内に離散データが   Now, discrete data in space

のように与えられたとする。このとき最適平滑化スプライン曲面を、下記の評価関数J(τ)が最小となるように設計する。 Suppose that At this time, the optimal smoothing spline curved surface is designed so that the following evaluation function J (τ) is minimized.

この問題に対する解、すなわち最適な制御点は次の線形方程式の解として得られる。   The solution to this problem, ie the optimal control point, is obtained as the solution of the following linear equation.

以下で数式34において現れる各行列、ベクトルを示す。まず、Qは次式で与えられる M1M2×M1M2の行列である。 The matrixes and vectors that appear in Equation 34 are shown below. First, Q is an M 1 M 2 × M 1 M 2 matrix given by the following equation.

ここで、Ql (ij)∈RM1×M2Where Q l (ij) ∈ R M1 × M2 is


によって定義される。ただし、ベクトルb1(t)∈RM1、b2(t)∈RM2 は、Bスプライン関数から構成されている。 Defined by However, the vector b 1 (t) ∈R M1, b 2 (t) ∈R M2 is composed of B-spline function.

数式36に示す各行列、従ってQは与えられるデータとは独立にBスプラインから予め計算しておくことができる。   Each matrix shown in Equation 36, and thus Q, can be calculated in advance from the B-spline independently of the given data.

行列W∈RN×Nは、数式33に示す評価関数における重みから構成される対角行列である The matrix W∈RN × N is a diagonal matrix composed of the weights in the evaluation function shown in Equation 33.

行列B∈RM1M2×N、 およびベクトルd∈RNは与えられるデータによって以下のように定められる。 Matrix B∈R M1M2 × N, and vector D∈R N are defined as follows by the given data.

以上によって、数式34に現れる各行列、ベクトルが定まる。この方程式を解くことによって最適なτ、従って最適な制御点行列τが求められ、最適平滑化曲面x(s,t)が数式28によって構成できる。   As described above, each matrix and vector appearing in Equation 34 is determined. By solving this equation, the optimum τ, and hence the optimum control point matrix τ, is obtained, and the optimum smoothed curved surface x (s, t) can be constructed by Equation 28.

(曲面の極値)
次に、上記の方法により求めた最適平滑化曲面x(s,t)の極値を求める方法について説明する。
(Extreme value of curved surface)
Next, a method for obtaining the extreme value of the optimum smoothed curved surface x (s, t) obtained by the above method will be described.

(対象とする曲面)
数式28のk次スプライン曲面の極値を求める。ここでパラメータk、α、β、m、mは設定済みで,制御点τi,jは前述の方法等によってすでに与えられているとする。なお、(s,t) の定義域はS=[s0,sm1]×[t0,tm2]⊂R2である。
(Target curved surface)
The extreme value of the k-th order spline curved surface of Expression 28 is obtained. Here, it is assumed that the parameters k, α, β, m 1 and m 2 have been set, and the control points τ i, j have already been given by the above-described method or the like. Note that the domain of (s, t) is S = [s 0 , sm 1 ] × [t 0 , t m2 ] ⊂R 2 .

(極値)
曲面x(s,t)の極値は
(Extreme value)
The extreme value of the surface x (s, t) is

をみたす点(s,t)∈Sとして得られる。 Is obtained as a point (s, t) ∈S that satisfies

曲面x(s,t)のヘッセ行列が正定値となる場合が極小値、曲面x(s,t)のヘッセ行列が負定値となる場合が極大値を与える。x(s,t)の領域Sでの極値を求める問題は、節点間の部分領域Sκ,μ=[sκ,sκ+1)×[tκ,tκ+1 )における極値を求める問題を全領域κ=0,1,・・・,m1−1;μ=0,1,・・・,m2−1に渡って繰り返せば良い。 The minimum value is given when the Hessian of the surface x (s, t) is positive definite, and the maximum is given when the Hessian of the surface x (s, t) is negative definite. The problem of finding the extrema in the region S of x (s, t) is the extrema in the subregion S κ, μ = [s κ , s κ + 1 ) × [t κ , t κ + 1 ) All regions of the problem of obtaining κ = 0,1, ···, m 1 -1; μ = 0,1, ···, may be repeated over m 2 -1.

(部分領域の正規化)
領域Sκ,μに注目し、u=α(s−sκ),v=β(t−tμ)なる変数変換を行うと、u,vの変域はいずれも[0,1)と正規化される。すなわち、(s,t)の領域Sκ,μは、κ、μにかかわらず、(u,v)の単位領域ε=[0,1)×[0,1)になる。このとき、Sκ,μにおける関数x(s,t)は、
(Normalization of partial area)
Focusing on the region S κ, μ and performing variable transformation such that u = α (s−s κ ), v = β (t−t μ ), both of the domains of u and v are [0, 1) and Normalized. That is, the region S κ, μ of (s, t) becomes the unit region ε = [0, 1) × [0, 1) of (u, v) regardless of κ, μ. At this time, the function x (s, t) in S κ, μ is

と表すことができる。なお、以下に使用される数式に関して、u、vを変数とする関数xには、すべて‘ハット(^)’がつくものであるが、明細書本文中では省略するものとする。 It can be expressed as. In addition, regarding the mathematical expressions used below, all the functions x having u and v as variables have “hat (^)”, but they are omitted in the specification text.

さらにx(s,t)の偏導関数とx(u,v)の偏導関数の間の関係は   Furthermore, the relationship between the partial derivative of x (s, t) and the partial derivative of x (u, v) is

となる。α、β>0より、x(s,t)の領域Sκ,μ上での極値はx(u,v)の領域ε上での極値と一致する。 It becomes. Since α and β> 0, the extreme value on the region S κ, μ of x (s, t) coincides with the extreme value on the region ε of x (u, v).

(部分領域での極値)
数式40に示す、曲面x(s,t)の勾配ベクトルが0、かつ、曲面x(s,t)のヘッセ行列が正定値となるか、又は、曲面x(s,t)のヘッセ行列が負定値となる点(u,v)∈εを検出すればよい。このときx(s,t)は、点(s,t)=((1/α) u+sκ,(1/β) v+tμ)で極値x(s,t)=x(u,v)をもつ。
(Extreme value in partial area)
The gradient vector of the curved surface x (s, t) shown in Equation 40 is 0 and the Hessian of the curved surface x (s, t) is a positive definite value, or the Hessian of the curved surface x (s, t) is A point (u * , v * ) ∈ε that becomes a negative definite value may be detected. At this time, x (s, t) is an extreme value x (s * , t * ) at the point (s * , t * ) = ((1 / α) u * + , (1 / β) v * + ). t * ) = x (u * , v * ).

(x(u,v)の極値の求め方)
(関数x(u,v)の表現)
x(u,v)はu,vについてそれぞれk次の2変数多項式であり、以下のように簡潔に表すことができる。
(How to find the extreme value of x (u, v))
(Expression of function x (u, v))
x (u, v) is a k-order bivariate polynomial for u and v, respectively, and can be simply expressed as follows.

(k+1)×(k+1)行列Aは   The (k + 1) × (k + 1) matrix A is

で定義される。また、S,Tκ,μは次のようにして得られる(k+1)×(k+1)行列である。 Defined by S, Tκ, and μ are (k + 1) × (k + 1) matrices obtained as follows.

行列Sは、その各行がBスプラインの基底関数Ni,k(t),i=0,1,・・・,kの各係数から構成される行列である。すなわち、 The matrix S is a matrix in which each row is composed of coefficients of B-spline basis functions N i, k (t), i = 0, 1,..., K. That is,

としたとき、Nk(t)=Shk+1(t)となる行列Sであり、例えばk=3の場合、数式4よりSはつぎのようになる。 Is a matrix S such that N k (t) = Sh k + 1 (t). For example, when k = 3, S in Equation 4 is as follows.

行列Tκ,μは、曲面x(u,v)の定義式に現れる(k+1)2個の制御点から次のように構成される。 The matrix T κ, μ is composed of (k + 1) two control points appearing in the definition formula of the curved surface x (u, v) as follows.

すなわち、曲面x(s,t)を構成する全体の制御点行列τ(数式31)のうちの、要素Tκ,μから左上の(k+1)×(k+1)のブロックとして得られるτの部分行列である。 That is, it is obtained as a block of (k + 1) × (k + 1) in the upper left from the elements T κ and μ in the entire control point matrix τ (formula 31) constituting the curved surface x (s, t). It is a submatrix of τ.

(勾配ベクトルとヘッセ行列)
x(u,v)の勾配ベクトルおよびヘッセ行列は以下のように表現される。
(Gradient vector and Hessian)
The gradient vector and Hessian of x (u, v) are expressed as follows:

ただしCkは次のように定義される(k+1)×k行列である。 C k is a (k + 1) × k matrix defined as follows.

(極値の候補点)
曲面x(u,v)の勾配ベクトルが0となる点(u,v)∈εを求める。曲面x(u,v)の勾配ベクトルの各要素は、次のように与えられる。
(Candidate points for extreme values)
A point (u, v) ∈ ε at which the gradient vector of the curved surface x (u, v) becomes 0 is obtained. Each element of the gradient vector of the curved surface x (u, v) is given as follows.

ただし、   However,

は次式で定義されている。 Is defined by the following equation.

xu(u,v)=0、xv(u,v)=0が同時に成り立つためには、これらをuに関する多項式とみなしたときの終結式が0となる必要がある。すなわち、 In order for x u (u, v) = 0 and x v (u, v) = 0 to hold simultaneously, the final expression when these are regarded as polynomials concerning u needs to be zero. That is,

ただしR(v)は以下の(2k−1)×(2k−1)行列である。   However, R (v) is the following (2k−1) × (2k−1) matrix.

|R(v)|はvに関する多項式であり、この多項式の根を求め、0≦v<1をみたす根をv=vとする。なお、このような根がない場合にはx(u,v)は、単位領域εに極値をもたない。このvに対応するuは、uに関する連立方程式xu(u,v)=0、xv(u,v)=0の解として求められる。具体的には、qi(バー)=qi(v)、ri(バー)=ri(v)として得られる2つの多項式 | R (v) | is a polynomial related to v. The root of this polynomial is obtained, and the root satisfying 0 ≦ v <1 is defined as v = v * . When there is no such root, x (u, v) has no extreme value in the unit region ε. The v u corresponding to * is obtained as the solution of simultaneous equations relating u x u (u, v * ) = 0, x v (u, v *) = 0. Specifically, two polynomials obtained as q i (bar) = q i (v * ) and r i (bar) = r i (v * )

の共通因子f0(u)を求める。その際、例えばユークリッド互助法を適用することができる。なお、f1(u)、f2(u)が共通因子をもつことは保証されており、もちろん、f0(u)はuに関する次数1以上の多項式である。f0(u)の根uが0≦u<1をみたすとき、u=uとおく。みたさないときはx(u,v)は領域εに極値をもたない。 Find the common factor f 0 (u). At that time, for example, the Euclidean mutual assistance method can be applied. Note that f 1 (u) and f 2 (u) are guaranteed to have a common factor, and of course, f 0 (u) is a polynomial of degree 1 or higher with respect to u. When the root u of f 0 (u) satisfies 0 ≦ u <1, u = u * . When not observed, x (u, v) has no extreme value in the region ε.

(極値の判定)
得られた点(u,v)∈εが関数x(u,v)の極値の候補となる点であり、この点に対するヘッセ行列が正定(極小)あるいは負定(極大)の極値条件をみたすかどうか判定すればよい。なお、ヘッセ行列の計算の際、次のように定義される多項式
(Determination of extreme values)
The obtained point (u * , v * ) ∈ε is a candidate for the extreme value of the function x (u, v), and the Hessian matrix for this point is a positive definite (local minimum) or negative definite (local maximum) pole It may be determined whether or not the value condition is satisfied. When calculating the Hessian matrix, a polynomial defined as follows:

を導入し、さらにq(v)、r(v)を用いることによって得られる次式を用いるのがよい。 It is preferable to use the following equation obtained by introducing q and then using q (v) and r (v).

図7は、本実施形態の最適平滑化スプラインによる極値検出方法及び極値検出プログラムに用いられる処理装置を示すブロック図である。本実施形態の極値検出処理装置11は、CPU15(演算手段)とメモリ装置14(RAMやROM等:記憶手段)を有し、このメモリ装置14に格納されたプログラムを実行し、図8〜11のフローチャートに記載した動作を実行することにより、図7のブロック図に示すように、CPU15(演算手段)と、メモリ装置14(記憶手段)と、マウス、キーボード、スキャナ、データロガー等の入力装置16(入力手段)と、バス13と、ディスプレイ装置17(出力手段)と、プリンタ装置18(出力手段)と、外部ネットワーク20と接続するネットワーク装置19(入力手段・出力手段)を備えた処理装置として機能する。   FIG. 7 is a block diagram showing a processing device used in the extreme value detection method and the extreme value detection program using the optimal smoothing spline of this embodiment. The extreme value detection processing apparatus 11 of the present embodiment includes a CPU 15 (calculation means) and a memory device 14 (RAM, ROM, etc .: storage means), executes a program stored in the memory device 14, As shown in the block diagram of FIG. 7, by executing the operation described in the flowchart of FIG. Processing provided with device 16 (input means), bus 13, display device 17 (output means), printer device 18 (output means), and network device 19 (input means / output means) connected to external network 20 Functions as a device.

図8は、本実施形態の最適平滑化スプラインによる極値検出方法及び極値検出プログラムの処理の概要を示すフローチャートである。図9は、図8のフローチャートのステップ203の処理の詳細を示すフローチャートであり、図10は、図8のフローチャートのステップ206の処理の詳細を示すフローチャートであり、図11は、図8のフローチャートのステップ211の処理の詳細を示すフローチャートである。   FIG. 8 is a flowchart showing an outline of the processing of the extreme value detection method and the extreme value detection program by the optimum smoothing spline of this embodiment. 9 is a flowchart showing details of the process of step 203 in the flowchart of FIG. 8, FIG. 10 is a flowchart showing details of the process of step 206 in the flowchart of FIG. 8, and FIG. 11 is a flowchart of FIG. It is a flowchart which shows the detail of a process of step 211 of.

ステップ201では、極値検出処理装置11に曲面の最適設計に用いられたパラメータκ、α、β、m、mおよび得られた最適制御点τi,j、i=−k,−k+1,・・・,m1−1、j=−k,−k+1,・・・,m2−1を入力する。 In step 201, the parameters κ, α, β, m 1 , m 2 and the obtained optimum control points τ i, j , i = −k, −k used for the optimum design of the curved surface in the extreme value detection processing device 11. +1, ···, m 1 -1, j = -k, -k + 1, ···, inputs a m 2 -1.

ステップ202では、CPU15は、(k+1)×(k+1)行列S、(k+1)×k行列Ckおよびk×(k−1)行列Ck-1を準備する。 In step 202, the CPU 15 prepares a (k + 1) × (k + 1) matrix S, a (k + 1) × k matrix C k and a k × (k−1) matrix C k−1 .

以下、すべての(κ,μ)、κ=1,2,・・・,m1−1、μ=1,2,・・・,m2−1、の組み合わせに対して、以下の手順に従って領域Sκ,μでのx(s,t)の極値の検出、計算を行う。 Hereinafter, for all combinations of (κ, μ), κ = 1, 2,..., M 1 −1, μ = 1, 2 ,. Detection and calculation of the extreme value of x (s, t) in the region S κ, μ .

CPU15は、(k+1)×(k+1)行列A(ステップ203a)、多項式qi(v),i=1,2,・・・,k、 多項式ri(v),i=1,2,・・・,k+1(ステップ203b)、および終結式|R(v)|を求め(ステップ203c)、vの多項式である終結式の根を求める(ステップ203)。この終結式|R(v)|の計算には、数式処理を援用することができる。0≦v<1をみたす根vが存在しない場合には、次の(κ,μ)の組に移る(ステップ204)。 The CPU 15 calculates a (k + 1) × (k + 1) matrix A (step 203a), a polynomial q i (v), i = 1, 2,..., K, a polynomial r i (v), i = 1 , 2,..., K + 1 (step 203b) and a termination expression | R (v) | are obtained (step 203c), and the root of the termination expression which is a polynomial of v is obtained (step 203). Formula calculation can be used for the calculation of the termination formula | R (v) |. If there is no root v satisfying 0 ≦ v <1, the process proceeds to the next set of (κ, μ) (step 204).

CPU15は、得られたv(0≦v<1)をvとおき(ステップ205)、さらに、qi(バー)=qi(v),i=1,2,・・・,k、およびri(バー)=ri(v),i=1,2,・・・,k+1を計算する。それぞれqi(バー)、ri(バー)を係数とするuの多項式f1(u)、f2(u)を定め(ステップ206a)、例えば、ユークリッド互助法を適用するなどして、f1(u)とf2(u)の共通因子f0(u)を求める(ステップ206b)。f0(u)の根u(ステップ206c)が、0≦u<1をみたすとき(ステップ207)、u=uとおく(ステップ208)。そのような根uが存在しない場合には、次の(κ,μ)の組に移る。 The CPU 15 sets the obtained v (0 ≦ v <1) as v * (step 205), and further, q i (bar) = q i (v * ), i = 1, 2,. , And r i (bar) = r i (v * ), i = 1, 2,..., K + 1. By defining the polynomials f 1 (u) and f 2 (u) of u with coefficients q i (bar) and r i (bar) respectively (step 206a), for example, by applying the Euclidean mutual assistant method, f A common factor f 0 (u) between 1 (u) and f 2 (u) is obtained (step 206b). When the root u of f 0 (u) (step 206c) satisfies 0 ≦ u <1 (step 207), u = u * is set (step 208). If there is no such root u, the process proceeds to the next set of (κ, μ).

CPU15は、点(u,v)におけるヘッセ行列を計算し(ステップ209)、点(u,v)におけるヘッセ行列が正定となる場合には極小、点(u,v)におけるヘッセ行列が負定となる場合には極大と判断し(ステップ210)、対応する極値x(u,v)を計算する(ステップ211a)。これら両ケース以外の場合は、次の(κ,μ)の組に移る。 The CPU 15 calculates the Hessian matrix at the point (u * , v * ) (step 209), and if the Hessian matrix at the point (u * , v * ) becomes positive definite, the minimum (u * , v * ) When the Hessian matrix at is negative, it is determined that it is a maximum (step 210), and the corresponding extreme value x (u * , v * ) is calculated (step 211a). In cases other than these two cases, the process proceeds to the next set of (κ, μ).

CPU15は、x(s,t)の極値をとる点(s,t)を、(s,t)=((1/α)u+sκ,(1/β)v+tμ)で計算し(ステップ211b)、その値x(s,t)=x(u,v)とともに出力する(ステップ211c)。 The CPU 15 determines the point (s * , t * ) having the extreme value of x (s, t) as (s * , t * ) = ((1 / α) u * + , (1 / β) v. * + T μ ) (step 211b) and output together with the value x (s * , t * ) = x (u * , v * ) (step 211c).

(2変数関数に対する最適曲面の設計)
なお、本実施形態においては、離散データDが与えられた場合について極値をもとめたが、関数f(s,t)が入力データとして与えられた場合についても、同様な方法で極値を求めることが可能である。関数f(s,t)が与えられたときのk次最適スプライン曲面x(s,t)の設計方法は以下の通りである。評価関数は、数式33の代わりに次式を用いる。
(Design of optimal surface for bivariate function)
In this embodiment, the extreme value is obtained when the discrete data D is given. However, the extreme value is obtained by the same method when the function f (s, t) is given as input data. It is possible. The design method of the kth-order optimal spline curved surface x (s, t) when the function f (s, t) is given is as follows. The evaluation function uses the following equation instead of Equation 33.

この評価関数を最小にするτ(=vecτ)は、数式34の代わりに線形方程式   Τ (= vecτ) that minimizes the evaluation function is a linear equation instead of the equation 34.

を解けばよい。この右辺のベクトルは、数値積分を用いて求めることができる。なお、行列Q,Q1 (00),Q2 (00)は数式35、ベクトルb1(s)、b2(t)は数式37で定義されている。 Can be solved. The vector on the right side can be obtained using numerical integration. The matrices Q, Q 1 (00) and Q 2 (00) are defined by Equation 35, and the vectors b 1 (s) and b 2 (t) are defined by Equation 37.

(数値実験例)
極値検出の数値例を示す。極値検出の対象となる最適平滑化スプライン曲面x(s,t)は、次式をサンプルして得られたデータに対して設計した。
(Numerical experiment example)
A numerical example of extreme value detection is shown. The optimal smoothed spline curved surface x (s, t) that is the target of extreme value detection was designed for the data obtained by sampling the following equation.

ここでのパラメータの値を次の表に示す。   The parameter values here are shown in the following table.





















曲面の設計の際に用いた各パラメータは、k=3、α=β=1、 s0=t0=0、m1=m2=10 である。従って、3次スプライン曲面を領域S=[0,10]×[0,10]で設計した。設計に用いたデータは、上記d(s,t)をs,t方向とも0.5間隔の格子点でサンプリングして生成した。設計された曲面x(s,t)に上述の極値検出法を適用して得られた結果を図12に示す。図では、検出された極大値(△印)と極小値(▽印)を、曲面x(s,t)の3次元表示に重ねて示した。また、st平面上には曲面の等高線表示と極値点とを示した。いずれの図からもすべての極値が検出されていることが確認できる。 The parameters used in designing the curved surface are k = 3, α = β = 1, s 0 = t 0 = 0, and m 1 = m 2 = 10. Therefore, a cubic spline curved surface was designed with a region S = [0, 10] × [0, 10]. The data used for the design was generated by sampling the above d (s, t) at grid points with 0.5 intervals in both the s and t directions. FIG. 12 shows the result obtained by applying the above-described extreme value detection method to the designed curved surface x (s, t). In the figure, the detected maximum value (Δ mark) and minimum value ((mark) are shown superimposed on the three-dimensional display of the curved surface x (s, t). In addition, the contour display of the curved surface and the extreme points are shown on the st plane. It can be confirmed from all the figures that all extreme values have been detected.

以上説明したように、本実施形態の最適平滑化スプライン曲面による極値検出方法及び極値検出プログラムによれば、与えられたk次スプライン曲面x(s,t)のすべての極値(極小値、極大値)を求めることが可能となる。従って、最小値や最大値も求まったことになる。曲面x(s,t)の設計は、与えられた離散空間データD(数式32)に基づく既述の方法でも良いし、あるいは与えられた関数f(s,t)を近似する曲面の設計によっても良い。後者の場合、設計されたスプライン曲面x(s,t)の最大値や最小値を求め、これらを与える点を初期値として、関数f(s,t)にさらに山登り法等の数値的探索法を適用することによって、f(s,t)の最大値や最小値がより正確、かつ系統だった方法で求められることになる。   As described above, according to the extreme value detection method and the extreme value detection program using the optimal smoothing spline curved surface of the present embodiment, all extreme values (local minimum values) of a given k-th order spline curved surface x (s, t) are obtained. , The maximum value). Therefore, the minimum value and the maximum value are also obtained. The design of the curved surface x (s, t) may be the above-described method based on the given discrete space data D (Equation 32), or the design of the curved surface approximating the given function f (s, t). Also good. In the latter case, the maximum and minimum values of the designed spline curved surface x (s, t) are obtained, and the numerical search method such as the hill-climbing method is further added to the function f (s, t) using the given points as initial values. By applying, the maximum and minimum values of f (s, t) can be obtained in a more accurate and systematic manner.

なお、上記実施形態では、最適平滑化スプライン関数x(s,t)の極値を求めたが、同様な方法で、x(s,t) の任意の偏導関数の極値を求めることが可能である。   In the above embodiment, the extreme value of the optimal smoothing spline function x (s, t) is obtained. However, the extreme value of an arbitrary partial derivative of x (s, t) can be obtained by a similar method. Is possible.

(偏導関数の極値)
いま記号の簡単化のためにx(s,t)とx(u,v)の偏導関数を以下のようにおく。
(Extreme value of partial derivative)
For simplification of symbols, the partial derivatives of x (s, t) and x (u, v) are set as follows.

また、問題が意味をもつためにi,j≦k−2とする。このとき、数式42の関係は、xi,j(s,t)=αiβjxi,j(u,v)となり、偏導関数xi,j(s,t)の極値は、xi,j(u,v)の極値から求めることができる。すなわち、xi,j(u,v)が点(u,v)∈εで極値をとれば、xi,j(s,t)は点(s,t)=((1/α)u+sκ,(1/β)v+tμ)で、極値xi,j(s,t)=αiβjxi,j(u,v)をもつことが分かる。 In addition, i, j ≦ k−2 is set because the problem has a meaning. At this time, the relationship of Equation 42 is x i, j (s, t) = α i βj x i, j (u, v), and the extreme value of the partial derivative x i, j (s, t) is , X i, j (u, v). That is, if x i, j (u, v) takes an extreme value at the point (u * , v * ) ∈ε, x i, j (s, t) is the point (s * , t * ) = (( 1 / α) u * + s κ , (1 / β) v * + t μ ), and extrema x i, j (s, t) = α i β j x i, j (u * , v * ) It can be seen that

(関数xi,j(u,v)の表現)
xi,j(u,v)は,数式43から
(Expression of function x i, j (u, v))
x i, j (u, v) is obtained from Equation 43.

と表される。ここで、 It is expressed. here,

である。このxi,j(u,v)は、数式43のx(u,v)と同形式であることから、その極値もx(u,v)の極値の検出、計算の場合と同様な手順に従って求めることができる。もちろん、偏導関数xi,j(s,t)のすべての極値(極小値、極大値)を求めることができ、従って、その最小値や最大値も求まったことになる。 It is. Since this x i, j (u, v) has the same format as x (u, v) in Equation 43, its extreme value is the same as in the case of detection and calculation of the extreme value of x (u, v). Can be determined according to simple procedures. Of course, all extreme values (minimum value, maximum value) of the partial derivatives x i, j (s, t) can be obtained, and therefore the minimum value and maximum value thereof have also been obtained.

(第3実施形態)
以下、本発明の第3実施形態である最適平滑化スプラインによる極値検出方法及び極値検出プログラムについて、図を参照して詳細に説明をする。
(Third embodiment)
Hereinafter, an extreme value detection method and an extreme value detection program using an optimal smoothing spline according to a third embodiment of the present invention will be described in detail with reference to the drawings.

本発明の第2実施形態では、空間における離散データを近似する最適平滑化スプライン曲面を生成し極値の検出を行ったが、本実施形態では、離散データとしてデジタル画像の各ピクセルの輝度値データについて極値の検出を行う。さらに、ここでは、最適平滑化スプライン曲面x(s,t)のs方向およびt方向の1次偏導関数の極値を検出することにより、デジタル画像のエッジ検出を行う。   In the second embodiment of the present invention, an optimum smoothing spline curved surface that approximates discrete data in space is generated and extreme values are detected, but in this embodiment, luminance value data of each pixel of a digital image is used as discrete data. Detect extreme values for. Further, here, edge detection of the digital image is performed by detecting extreme values of the first-order partial derivatives in the s direction and t direction of the optimal smoothed spline curved surface x (s, t).

(曲面の生成)
デジタル画像のエッジ検出に上記の極値検出法を適用した。対象としたのは256×256(pixel)のモノクロ画像であり、各ピクセルの輝度値をデータとして、まず、最適平滑化スプライン曲面x(s,t)を設計し、画像のエッジは、輝度値の変化率が急激に変化する部分(つまり、最適平滑化スプライン曲面x(s,t)のs方向およびt方向の1次偏導関数の極値が存在する部分)に存在するとの考えに基づき検出する。
(Curved surface generation)
The above extreme value detection method was applied to edge detection of digital images. The target is a 256 × 256 (pixel) monochrome image, and the optimal smoothed spline surface x (s, t) is first designed using the luminance value of each pixel as data, and the edge of the image is the luminance value. Based on the idea that the rate of change of sigma exists in the part where the rate of change changes abruptly (that is, the part where the extreme value of the first-order partial derivative in the s direction and t direction of the optimal smoothing spline curved surface x (s, t) exists) To detect.

本実施形態では、最適平滑化スプライン曲面x(s,t)をライン毎に(たとえばsをs=pに固定し)処理している。その場合、エッジは変数tに関するスプライン曲線x(p,t)の1次導関数の極値として求めればよい。   In the present embodiment, the optimal smoothed spline curved surface x (s, t) is processed for each line (for example, s is fixed to s = p). In that case, the edge may be obtained as the extreme value of the first derivative of the spline curve x (p, t) with respect to the variable t.

図6は、本実施形態の最適平滑化スプライン曲面を概略的に示す図である。図6Aは、各ピクセルの位置(座標)及びその輝度の分布から求められた最適な制御点(重み係数)の分布を示す図であり、図6Bは、各ピクセルの空間における離散データに基づいて生成された最適平滑化スプライン曲面x(s,t)及びライン毎に生成された関数x(s,q)、x(p,t)を示す図である。   FIG. 6 is a diagram schematically showing the optimal smoothing spline curved surface of the present embodiment. FIG. 6A is a diagram showing the distribution of optimum control points (weighting factors) obtained from the position (coordinates) of each pixel and its luminance distribution, and FIG. 6B is based on discrete data in the space of each pixel. It is a figure which shows the produced | generated optimal smoothing spline curved surface x (s, t) and the function x (s, q), x (p, t) produced | generated for every line.

図13は、本実施形態の最適平滑化スプラインによる極値検出方法及び極値検出プログラムを用いたデジタル画像のエッジ検出処理装置を示すブロック図である。   FIG. 13 is a block diagram showing an edge detection processing apparatus for a digital image using the extreme value detection method and the extreme value detection program using the optimum smoothing spline according to this embodiment.

本実施形態の画像のエッジ検出処理装置21は、CPU25(演算手段)とメモリ装置24(RAMやROM等:記憶手段)を有し、このメモリ装置24に格納されたプログラムを実行し、図14〜16のフローチャートに記載した動作を実行することにより、図13のブロック図に示すように、CPU25(演算手段)と、メモリ装置24(記憶手段)と、マウス、キーボード、スキャナ、データロガー等の入力装置26(入力手段)と、バス23と、ディスプレイ装置27(出力手段)と、プリンタ装置28(出力手段)と、外部ネットワーク30と接続するネットワーク装置29(入力手段・出力手段)を備えた処理装置として機能する。   The image edge detection processing device 21 of the present embodiment includes a CPU 25 (calculation means) and a memory device 24 (RAM, ROM, etc .: storage means), executes a program stored in the memory device 24, and FIG. As shown in the block diagram of FIG. 13, by executing the operations described in the flowcharts ˜16, the CPU 25 (arithmetic means), the memory device 24 (storage means), a mouse, a keyboard, a scanner, a data logger, etc. An input device 26 (input means), a bus 23, a display device 27 (output means), a printer device 28 (output means), and a network device 29 (input means / output means) connected to an external network 30 are provided. Functions as a processing device.

図14は、本実施形態の最適平滑化スプラインによるデジタル画像のエッジ検出方法の処理の概要を示すフローチャートである。   FIG. 14 is a flowchart showing an outline of processing of the edge detection method of a digital image by the optimal smoothing spline of this embodiment.

ステップ301では、ピクセルデータ(i,j,fi,j)、i= 1,2,・・・,I、j= 1,2,・・・,J、を、画像のエッジ検出処理装置21に入力する工程である。ここで、fi,jは、ピクセルの座標(i,j)におけるピクセルの輝度値を示す。ピクセルデータは、例えば、不図示の光学的読取手段にてデータとして取得されうるものである。また、ピクセルデータは、ネットワーク装置29を介して不図示の外部装置から取得してもよい。そして、しきい値ρをメモリ装置24に格納する。しきい値ρは、極値がエッジ部分かどうか判別するためのパラメータである。x(1)(s,t)の極値(極大、極小)の絶対値がある程度以上の大きさの箇所をエッジとみなす。その程度は、画像の状態やエッジ検出条件により異なるため、エッジ検出においてしきい値ρを設定する。しきい値ρよりも極値の絶対値が大きければ、その箇所をエッジ部分としてみなし、それ以外の場合は、極値であってもエッジ部分とはみなさない。 In step 301, pixel data (i, j, fi , j ), i = 1, 2,..., I, j = 1, 2,. It is the process of inputting to. Here, f i, j represents the luminance value of the pixel at the coordinates (i, j) of the pixel. The pixel data can be acquired as data by an optical reading unit (not shown), for example. Further, the pixel data may be obtained from an external device (not shown) via the network device 29. Then, the threshold value ρ is stored in the memory device 24. The threshold value ρ is a parameter for determining whether an extreme value is an edge portion. x (1) A point where the absolute value of the extreme value (maximum, minimum) of (s, t) is larger than a certain level is regarded as an edge. Since the degree varies depending on the state of the image and edge detection conditions, a threshold value ρ is set in edge detection. If the absolute value of the extreme value is larger than the threshold value ρ, the portion is regarded as an edge portion. In other cases, the extreme value is not regarded as an edge portion.

ステップ302では、CPU25は、上記入力ピクセルデータ(i,j,fi,j)に基づいて、最適平滑化スプライン曲面を生成する。具体的には、CPU25は、最適な重み係数τij(i=−k, −k+1,・・・,I−1、j=−k, −k+1,・・・,J−1)を求め、数式28に示す最適平滑化スプライン曲面を生成する。最適平滑化スプライン曲面を生成する方法については、本発明の第2実施形態で説明した通りである。その際のパラメータはα=β=1,s0=t0=1、m1=I−1,m2=J−1とする。 In step 302, the CPU 25 generates an optimal smoothed spline curved surface based on the input pixel data (i, j, fi , j ). Specifically, the CPU 25 determines the optimum weighting factor τ ij (i = −k, −k + 1,..., I−1, j = −k, −k + 1,. ) And an optimal smoothed spline curved surface represented by Equation 28 is generated. The method for generating the optimal smoothed spline curved surface is as described in the second embodiment of the present invention. The parameters at that time are α = β = 1, s 0 = t 0 = 1, m 1 = I−1, and m 2 = J−1.

最適平滑化スプライン曲面を生成したのち、その曲面をライン毎に(たとえばsをs=qに固定し)処理する。図6のs軸方向に対する処理をするために、ステップ303へ進み、図6のt軸方向の処理をするためにステップ304へ進む。   After generating the optimal smoothed spline curved surface, the curved surface is processed for each line (for example, s is fixed to s = q). In order to perform the process for the s-axis direction in FIG. 6, the process proceeds to step 303, and to perform the process in the t-axis direction in FIG. 6, the process proceeds to step 304.

ステップ303では、CPU25は、ステップ302で生成された最適平滑化スプライン曲面x(s,t)について、t座標をq(q=1,2,・・・,J)で固定した複数の曲線x(s,q)(図6B参照)を生成し、曲線x(s,q)の1次導関数x(1)(s,q)について極値を検出する(ステップ303a)。そして、CPU25は、この極値に基づいて、各々エッジの判定の処理を行う(ステップ303b)。 In step 303, the CPU 25 determines a plurality of curves x with the t coordinate fixed at q (q = 1, 2,..., J) for the optimal smoothed spline curved surface x (s, t) generated in step 302. (s, q) (see FIG. 6B) is generated, and an extreme value is detected for the first derivative x (1) (s, q) of the curve x (s, q) (step 303a). Then, the CPU 25 performs edge determination processing based on the extreme values (step 303b).

ステップ304では、CPU25は、ステップ302で生成された最適平滑化スプライン曲面x(s,t)について、s座標をp(p=1,2,・・・,I)で固定した複数の曲線x(p,t)(図6B参照)を生成し、曲線x(p,t)の1次導関数x(1)(p,t)について極値を検出する(ステップ304a)。そして、CPU25は、この極値に基づいて、各々エッジの判定の処理を行う(ステップ304b)。 In step 304, the CPU 25 determines a plurality of curves x with the s coordinate fixed at p (p = 1, 2,..., I) for the optimum smoothed spline curved surface x (s, t) generated in step 302. (p, t) (see FIG. 6B) is generated, and extreme values are detected for the first derivative x (1) (p, t) of the curve x (p, t) (step 304a). Then, the CPU 25 performs edge determination processing based on the extreme values (step 304b).

ステップ305では、CPU25は、ステップ303とステップ304で得られた判定により検出されたエッジ箇所を総和としてまとめる。すなわちs方向、t方向のうち少なくとも一方でエッジと判定された箇所をエッジと判定する。   In step 305, the CPU 25 summarizes the edge portions detected by the determinations obtained in steps 303 and 304 as a sum. That is, at least one of the s direction and the t direction is determined as an edge.

ステップ306では、CPU25は、ステップ305の結果に基づいて、入力画像に対するエッジ検出結果を画像に変換し、ディスプレイ装置27やプリンタ装置28に出力する。   In step 306, the CPU 25 converts the edge detection result for the input image into an image based on the result of step 305, and outputs the image to the display device 27 and the printer device 28.

図15は、ステップ303における処理の詳細を示すフローチャートである。ステップ401〜403が、図14のステップ303aに相当し、ステップ404〜407が、図14のステップ303bに相当する。   FIG. 15 is a flowchart showing details of the processing in step 303. Steps 401 to 403 correspond to step 303a in FIG. 14, and steps 404 to 407 correspond to step 303b in FIG.

ステップ401は、CPU25に、図14のステップ301で求めたピクセルデータ(i,j,fi,j)について重み係数τi,j(i=−k, −k+1,・・・,I−1、j= −k, −k+1,・・・,J−1)を入力する工程である。 In step 401, the CPU 25 calculates a weight coefficient τ i, j (i = −k, −k + 1,..., I) for the pixel data (i, j, fi , j ) obtained in step 301 of FIG. −1, j = −k, −k + 1,..., J−1).

なお、以下に使用される数式に関して、δを変数とする関数xには、すべて‘ハット(^)’がつくものであるが、明細書本文中では省略するものとする。   In addition, regarding the mathematical formulas used below, all the functions x having δ as a variable have “hat (^)”, but they are omitted in the specification text.

ステップ402では、CPU25は、ステップ302で生成された最適平滑化スプライン曲面x(s,t)を、t座標をq(q= 1,2,・・・,J)で固定して生成された複数の曲線x(s,q)について、節点区間[sj,sj+1)において正規化を行う。そして、単位区間[0,1)における正規化された曲線x(δs,q)を生成し、1次導関数x(1)s,q)を求め、多項式であるx(1)s,q)について、各係数a0,・・・,ak-1の計算を行う。 In step 402, the CPU 25 generates the optimum smoothed spline curved surface x (s, t) generated in step 302 with the t coordinate fixed at q (q = 1, 2,..., J). Normalization is performed in the nodal interval [s j , s j + 1 ) for a plurality of curves x (s, q). Then, a normalized curve x (δ s , q) in the unit interval [0, 1) is generated to obtain a first derivative x (1)s , q), and a polynomial x (1) For (δ s , q), the coefficients a 0 ,..., a k−1 are calculated.

ステップ403では、CPU25は、多項式x(1)s,q)の極値点δs1、δs2、・・・、δsm (m≦k−1)の検出を行う。多項式x(1)s,q)の極値点δs1、δs2、・・・、δsmは、x(2)s,q)の根のうち、単位区間[0,1)にある実根を検出して求めることができる。 In step 403, the CPU 25 detects extreme points δ s1 , δ s2 ,..., Δ sm (m ≦ k−1) of the polynomial x (1)s , q). The extreme points δ s1 , δ s2 , ..., δ sm of the polynomial x (1)s , q) are unit intervals [0, 1 among the roots of x (2)s , q). ) Can be found and detected.

ステップ404、405では、CPU25は、すべての各極値点δs1、δs2、・・・、δsmについて、x(1)sl,q)・x(3)sl,q)<0、かつ、|x(1)sl,q)|>ρ(0≦l≦m)か否かを判断する。x(1)sl,q)・x(3)sl,q)<0、かつ、|x(1)sl,q)|>ρ(0≦l≦m)の場合には、ステップ406へ進む。そうでない場合には、ステップ404に戻る。 In steps 404 and 405, the CPU 25 determines x (1)sl , q) · x (3)sl , q) for all the extreme points δ s1 , δ s2 ,. It is determined whether <0 and | x (1)sl , q) |> ρ (0 ≦ l ≦ m). If x (1)sl , q) · x (3)sl , q) <0 and | x (1)sl , q) |> ρ (0 ≦ l ≦ m) Advances to step 406. Otherwise, return to step 404.

ステップ406では、CPU25は、x(1)sl,q)・x(3)sl,q)<0、かつ、|x(1)sl,q)|>ρ(0≦l≦m)の場合には、点(p+(1/α)δsl ,q)においてエッジがあるものと判断する。これは、x(1)(t,q)の極値の箇所が必ずしもエッジの位置に対応しないことがあり、x(1)sl,q)・x(3)sl,q)<0を満たす箇所が、実際のエッジに対応するからである。 In step 406, the CPU 25 determines that x (1)sl , q) · x (3)sl , q) <0 and | x (1)sl , q) |> ρ (0 ≦ When l ≦ m), it is determined that there is an edge at the point (p + (1 / α) δ sl , q). This is because the location of the extreme value of x (1) (t, q) does not necessarily correspond to the position of the edge, and x (1)sl , q) ・ x (3)sl , q) This is because a location satisfying <0 corresponds to an actual edge.

ステップ407では、CPU25は、p<I−1の場合には、ステップ402〜ステップ406の各工程を繰り返し、ステップ408では、q<Jの場合には、ステップ402〜ステップ407の各工程を繰り返し、ステップ302で生成された最適平滑化スプライン曲面x(s,t)のt座標をq(q=1,2,・・・,J)で固定して生成された複数の曲線x(s,q)のすべてについてエッジを判断する。   In step 407, the CPU 25 repeats steps 402 to 406 if p <I−1, and in step 408 repeats steps 402 to 407 if q <J. , A plurality of curves x (s, t, generated by fixing the t-coordinate of the optimal smoothed spline curved surface x (s, t) generated in step 302 with q (q = 1, 2,..., J). Judge edges for all of q).

図16は、ステップ304における処理の詳細を示すフローチャートである。   FIG. 16 is a flowchart showing details of the process in step 304.

ステップ501は、CPU25に、図14のステップ301で求めたピクセルデータ(i,j,fi,j)について重み係数τi,j(i=−k, −k+1,・・・,I−1、j=−k, −k+1,・・・,J−1)を入力する工程である。 In step 501, a weight coefficient τ i, j (i = −k, −k + 1,..., I) is obtained for the pixel data (i, j, f i, j ) obtained in step 301 of FIG. −1, j = −k, −k + 1,..., J−1).

ステップ502では、CPU25は、ステップ302で生成された最適平滑化スプライン曲面x(s,t)を、s座標をp(p=1,2,・・・,I)で固定して生成された複数の曲線x(p,t)について、区間[tj,tj+1)において正規化を行う。そして、単位区間[0,1)における正規化された曲線x(p,δt)を生成し、1次導関数x(1)(p,δt)を求め、多項式であるx(1)(p,δt)について、各係数b0,・・・,bk-1の計算を行う。 In step 502, the CPU 25 generates the optimal smoothed spline curved surface x (s, t) generated in step 302 with the s coordinate fixed at p (p = 1, 2,..., I). Normalization is performed in the interval [t j , t j + 1 ) for a plurality of curves x (p, t). Then, a normalized curve x (p, δ t ) in the unit interval [0, 1) is generated to obtain a first derivative x (1) (p, δ t ), and a polynomial x (1) For (p, δ t ), the coefficients b 0 ,..., b k−1 are calculated.

ステップ503では、CPU25は、多項式x(1)(p,δt)の極値点δt1、δt2、・・・、δtn (n≦k−1)の検出を行う。多項式x(1)(p,δt)の極値点δt1、δt2、・・・、δtnは、x(2)(p, δt)の根のうち、単位区間[0,1)にある実根を検出して求めることができる。 In step 503, the CPU 25 detects extreme points δ t1 , δ t2 ,..., Δ tn (n ≦ k−1) of the polynomial x (1) (p, δ t ). The extreme points δ t1 , δ t2 , ..., δ tn of the polynomial x (1) (p, δ t ) are the unit intervals [0, 1 among the roots of x (2) (p, δ t ) ) Can be found and detected.

ステップ504、505では、CPU25は、すべての各極値点δt1、δt2、・・・、δtnについて、x(1)(p,δtl)・x(3)(p,δtl)<0、かつ、|x(1)(p,δtl)|>ρ(0≦l≦n)か否かを判断する。x(1)(p,δtl)・x(3)(p,δtl)<0、かつ、|x(1)(p,δtl)|>ρ(0≦l≦n)の場合には、ステップ506へ進む。そうでない場合には、ステップ504に戻る。 In step 504 and 505, CPU 25, all the extreme point of the [delta] t1, [delta] t2, · · ·, for δ tn, x (1) ( p, δ tl) · x (3) (p, δ tl) It is determined whether <0 and | x (1) (p, δ tl ) |> ρ (0 ≦ l ≦ n). When x (1) (p, δ tl ) · x (3) (p, δ tl ) <0 and | x (1) (p, δ tl ) |> ρ (0 ≦ l ≦ n) Advances to step 506. Otherwise, the process returns to step 504.

ステップ506では、CPU25は、x(1)(p,δtl)・x(3)(p,δtl)<0、かつ、|x(1)(p,δtl)|>ρ(0≦l≦n)の場合には、点(p,q+(1/α)δtl)においてエッジがあるものと判断する。 In step 506, the CPU 25 determines that x (1) (p, δ tl ) · x (3) (p, δ tl ) <0 and | x (1) (p, δ tl ) |> ρ (0 ≦ In the case of l ≦ n), it is determined that there is an edge at the point (p, q + (1 / α) δ tl ).

ステップ507では、q<J−1の場合には、CPU25は、ステップ502〜ステップ506の各工程を繰り返し、ステップ508では、p<Iの場合には、ステップ502〜ステップ507の各工程を繰り返し、ステップ302で生成された最適平滑化スプライン曲面x(s,t)を、s座標をp(p=1,2,・・・,I)で固定して生成された複数の曲線x(p,t)のすべてについてエッジを検出する。   In step 507, when q <J−1, the CPU 25 repeats the processes in steps 502 to 506, and in step 508, repeats the processes in steps 502 to 507 when p <I. , The optimal smoothed spline curved surface x (s, t) generated in step 302, and a plurality of curves x (p generated by fixing the s coordinates at p (p = 1, 2,..., I). , T) detect edges for all.

(デジタル画像のエッジ検出例)
図17及び図18は、本発明の第3実施形態の最適平滑化スプラインによる極値検出方法に用いたデジタル画像のエッジ検出方法を用いて、実際にエッジ検出を行った例を示す図である。図17は、原画像(a)にノイズが含まれない例を示し、図18は、原画像(a)にノイズが含まれる例を示す。
(Example of edge detection for digital images)
FIGS. 17 and 18 are diagrams illustrating an example in which edge detection is actually performed using the edge detection method of the digital image used in the extreme value detection method using the optimum smoothing spline according to the third embodiment of the present invention. . FIG. 17 illustrates an example in which noise is not included in the original image (a), and FIG. 18 illustrates an example in which noise is included in the original image (a).

図17(b)と図18(b)は、本実施形態のエッジ検出法を適用して生成した画像である。また、比較例として、cannyフィルタ及びsobelフィルタを用いてエッジ検出した画像を、図17(c)と図18(c)(cannyフィルタ)及び図17(d)と図18(d)(sobelフィルタ)に示した。   FIGS. 17B and 18B are images generated by applying the edge detection method of the present embodiment. Further, as a comparative example, images detected by using a canny filter and a sobel filter are obtained as shown in FIGS. 17 (c) and 18 (c) (canny filter) and FIGS. 17 (d) and 18 (d) (sobel filter). )Pointing out toungue.

図からもわかるように、特に、原画像(a)にノイズが含まれる場合において、他のフィルタと比較して、精度良くエッジの検出ができることがわかる。よって、本発明の最適平滑化スプラインによる極値検出方法に用いたデジタル画像のエッジ検出方法の有効性が証明された。   As can be seen from the figure, it can be seen that the edge can be detected with higher accuracy than other filters, particularly when the original image (a) contains noise. Therefore, the effectiveness of the edge detection method of the digital image used in the extreme value detection method by the optimum smoothing spline of the present invention was proved.

以上説明したように、本実施形態の最適平滑化スプラインによる極値検出方法によれば、スプライン曲面の設計が画像情報全体の情報に基づいた曲面近似となるため、デジタル画像のエッジ検出は大域的な方法となる。従来の局所的な(画像の一部の情報に基づいた)方法とはまったく異なる方法であるといえ、本実施形態の最適平滑化スプラインによる極値検出方法は、結果的に画像のノイズの影響を受けにくい。   As described above, according to the extreme value detection method using the optimal smoothing spline of the present embodiment, since the design of the spline curved surface is a curved surface approximation based on the information of the entire image information, the edge detection of the digital image is performed globally. Method. Although this method is completely different from the conventional local method (based on partial information of the image), the extreme value detection method using the optimal smoothing spline according to the present embodiment results in the influence of image noise. It is hard to receive.

なお、上記各実施形態においては、スプライン曲線(1次元)の場合、スプライン曲面(2次元)の場合について説明をしたが、本発明はこれに限られず、さらなる高次元の場合に拡張して適用することが可能である。   In each of the above-described embodiments, the case of a spline curve (one-dimensional) and the case of a spline curved surface (two-dimensional) have been described. However, the present invention is not limited to this, and is extended and applied to cases of higher dimensions. Is possible.

最適平滑化スプライン曲線を概略的に示す図である。It is a figure which shows the optimal smoothing spline curve roughly. 本発明の第1実施形態の最適平滑化スプラインによる極値検出方法に用いられる処理装置を示すブロック図である。It is a block diagram which shows the processing apparatus used for the extreme value detection method by the optimal smoothing spline of 1st Embodiment of this invention. 本発明の第1実施形態の最適平滑化スプラインによる極値検出方法の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process of the extreme value detection method by the optimal smoothing spline of 1st Embodiment of this invention. 本発明の第1実施形態の最適平滑化スプラインによる極値検出方法の処理の流れにおいて、最適平滑化スプラインが3次である場合を示すフローチャートである。It is a flowchart which shows the case where an optimal smoothing spline is cubic in the processing flow of the extreme value detection method by the optimal smoothing spline of 1st Embodiment of this invention. 本発明の第1実施形態の最適平滑化スプライン曲線とその極値を示す図である。It is a figure which shows the optimal smoothing spline curve of 1st Embodiment of this invention, and its extreme value. 空間における離散データから求められた最適な制御点(重み係数)の分布を示す図である。It is a figure which shows distribution of the optimal control point (weighting coefficient) calculated | required from the discrete data in space. 最適平滑化スプライン曲面を概略的に示す図である。It is a figure which shows schematically the optimal smoothing spline curved surface. 本発明の第2実施形態の最適平滑化スプラインによる極値検出方法に用いたデジタル画像のエッジ検出処理装置を示すブロック図である。It is a block diagram which shows the edge detection processing apparatus of the digital image used for the extreme value detection method by the optimal smoothing spline of 2nd Embodiment of this invention. 本発明の第2実施形態の最適平滑化スプラインによる極値検出方法及び極値検出プログラムの処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the process of the extreme value detection method by the optimal smoothing spline of 2nd Embodiment of this invention, and an extreme value detection program. 図8のフローチャートのステップ203における処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the process in step 203 of the flowchart of FIG. 図8のフローチャートのステップ206における処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the process in step 206 of the flowchart of FIG. 図8のフローチャートのステップ211における処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the process in step 211 of the flowchart of FIG. 本発明の第2実施形態の最適平滑化スプラインによる極値検出方法及び極値検出プログラムを用いて、実際に極値検出を行った例を示す図である。It is a figure which shows the example which actually performed the extreme value detection using the extreme value detection method and the extreme value detection program by the optimal smoothing spline of 2nd Embodiment of this invention. 本発明の第3実施形態の最適平滑化スプラインによる極値検出方法及び極値検出プログラムを用いたデジタル画像のエッジ検出処理装置を示すブロック図である。It is a block diagram which shows the edge detection processing apparatus of the digital image using the extreme value detection method by the optimal smoothing spline of 3rd Embodiment of this invention, and an extreme value detection program. 本発明の第3実施形態の最適平滑化スプラインによるデジタル画像のエッジ検出方法の処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of a process of the edge detection method of the digital image by the optimal smoothing spline of 3rd Embodiment of this invention. 図14のフローチャートのステップ303における処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the process in step 303 of the flowchart of FIG. 図14のフローチャートのステップ304における処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the process in step 304 of the flowchart of FIG. 本発明の第3実施形態の最適平滑化スプラインによる極値検出方法を用いたデジタル画像のエッジ検出方法を用いて、実際にエッジ検出を行った例を示す図である。It is a figure which shows the example which actually performed edge detection using the edge detection method of the digital image using the extreme value detection method by the optimal smoothing spline of 3rd Embodiment of this invention. 本発明の第3実施形態の最適平滑化スプラインによる極値検出方法を用いたデジタル画像のエッジ検出方法を用いて、実際にエッジ検出を行った例を示す図である。It is a figure which shows the example which actually performed edge detection using the edge detection method of the digital image using the extreme value detection method by the optimal smoothing spline of 3rd Embodiment of this invention.

符号の説明Explanation of symbols

1:最適平滑化スプラインによる極値検出処理装置
3:バス
4:メモリ装置
5:CPU
6:入力装置
7:ディスプレイ装置
8:プリンタ装置
9:ネットワーク装置
1: Extreme value detection processing device with optimum smoothing spline 3: Bus 4: Memory device 5: CPU
6: input device 7: display device 8: printer device 9: network device

Claims (20)

データが入力される入力手段と、プログラムを格納する記憶手段と、前記プログラムを実行し前記データを処理する演算手段と、前記演算手段の処理結果を出力する出力手段とを備える処理装置で実行される極値検出方法であって、
前記入力手段から入力された平面における離散データ群又は関数から、前記演算手段が複数の節点を有する最適平滑化スプライン曲線を生成するステップと、
前記演算手段が、前記最適平滑化スプライン曲線又はその導関数隣接する前記節点により区分された一区間である各節点区間の各々について各々極値を求めることにより、前記最適平滑化スプライン曲線又はその導関数の極値のすべてを求め、該極値を前記出力手段へ出力するステップと、
を有することを特徴とする最適平滑化スプライン曲線による極値検出方法。
Executed by a processing device comprising: input means for inputting data; storage means for storing a program; arithmetic means for executing the program and processing the data; and output means for outputting a processing result of the arithmetic means. An extreme value detection method,
A step of generating an optimal smoothing spline curve having a plurality of nodes by the computing means from a discrete data group or function in a plane inputted from the input means;
The calculating means, by each determining an extreme value for each of the optimal smoothing spline curve or on each node interval is the nodal one section which is partitioned by neighboring on its derivatives, the optimum smoothing spline curve Or determining all of the extreme values of the derivative and outputting the extreme values to the output means;
An extreme value detection method using an optimal smoothing spline curve.
前記最適平滑化スプライン曲線又はその導関数の極値のすべてを求め、該極値を前記出力手段へ出力するステップは、
前記演算手段が、前記最適平滑化スプライン曲線又はその導関数の各節点区間について各々正規化して、単位区間における正規化された多項式関数又はその導関数を生成するステップと、
前記演算手段が、前記単位区間における正規化された多項式関数又はその導関数について極値を求めることにより、前記最適平滑化スプライン曲線又はその導関数の極値のすべてを求めるステップと、
を有することを特徴とする請求項1に記載の最適平滑化スプライン曲線による極値検出方法。
Obtaining all of the extreme values of the optimal smoothed spline curve or its derivative and outputting the extreme values to the output means,
The arithmetic means normalizing each nodal section of the optimal smoothed spline curve or its derivative to generate a normalized polynomial function or its derivative in a unit section;
The computing means obtains all extreme values of the optimal smoothed spline curve or derivative thereof by obtaining extreme values for the normalized polynomial function or derivative thereof in the unit interval;
The method of detecting an extreme value using an optimal smoothed spline curve according to claim 1, wherein:
前記演算手段が前記最適平滑化スプライン曲線を生成するステップは、
前記演算手段が前記平面における離散データ群又は関数から節点ごとの最適重み係数を求めるステップと、
前記演算手段が前記節点ごとの正規化された一様なBスプライン関数を、前記節点ごとの最適重み係数により重みづけして加え合わせて構成することにより、最適平滑化スプライン曲線を生成するステップと、
を有することを特徴とする請求項1または2に記載の最適平滑化スプライン曲線による極値検出方法。
The step of generating the optimum smoothed spline curve by the computing means includes:
The computing means obtaining an optimal weighting factor for each node from a discrete data group or function in the plane;
A step of generating an optimal smoothed spline curve by configuring the arithmetic means to add a normalized uniform B-spline function for each node weighted by an optimal weighting factor for each node; ,
The method of detecting an extremum using an optimal smoothing spline curve according to claim 1 or 2, wherein:
前記スプライン関数は、3次のスプライン関数であることを特徴とする請求項3に記載の最適平滑化スプライン曲線による極値検出方法。   4. The method of detecting extreme values using an optimal smoothed spline curve according to claim 3, wherein the spline function is a cubic spline function. データが入力される入力手段と、プログラムを格納する記憶手段と、前記プログラムを実行し前記データを処理する演算手段と、前記演算手段の処理結果を出力する出力手段とを備える処理装置で実行される極値検出方法であって、
前記入力手段から入力された空間における離散データ群又は関数から前記演算手段が複数の節点を有する最適平滑化スプライン曲面を生成するステップと、
前記演算手段が前記最適平滑化スプライン曲面又はその偏導関数前記節点により格子上に区画された一領域である各節点領域の各々について各々極値を求めることにより、前記最適平滑化スプライン曲面又はその偏導関数の極値のすべてを求め、該極値を前記出力手段へ出力するステップと、
を有することを特徴とする最適平滑化スプライン曲面による極値検出方法。
Executed by a processing device comprising: input means for inputting data; storage means for storing a program; arithmetic means for executing the program and processing the data; and output means for outputting a processing result of the arithmetic means. An extreme value detection method,
Generating an optimal smoothed spline curved surface having a plurality of nodes by the computing means from a discrete data group or function in the space inputted from the input means;
By obtaining the respective extremum for each of the nodes a region where the calculating means is in a region partitioned on a grid by the nodes on the optimal smoothing spline surface on or partial derivatives, the optimum smoothing spline Obtaining all of the extreme values of the curved surface or its partial derivative, and outputting the extreme values to the output means;
An extreme value detection method using an optimally smoothed spline curved surface.
前記最適平滑化スプライン曲面又はその偏導関数の極値のすべてを求め、該極値を前記出力手段へ出力するステップは、
前記演算手段が前記最適平滑化スプライン曲面又はその偏導関数の各節点領域について各々正規化して、単位領域における正規化された多項式関数又はその偏導関数を生成するステップと、
前記演算手段が前記単位領域における正規化された多項式関数又はその偏導関数について極値を求めることにより、前記最適平滑化スプライン曲面又はその偏導関数の極値のすべてを求めるステップと、
を有することを特徴とする請求項5に記載の最適平滑化スプライン曲面による極値検出方法。
Obtaining all of the extreme values of the optimal smoothed spline curved surface or its partial derivative, and outputting the extreme values to the output means,
The computing means normalizing the optimal smoothing spline curved surface or each nodal region of the partial derivative thereof to generate a normalized polynomial function or a partial derivative thereof in a unit region;
Obtaining the extreme values of the normalized polynomial function or its partial derivative in the unit region by the computing means to obtain all the extreme values of the optimal smoothed spline curved surface or the partial derivative;
The extreme value detection method by the optimal smoothing spline curved surface of Claim 5 characterized by the above-mentioned.
前記演算手段が前記最適平滑化スプライン曲面を生成するステップは、
前記演算手段が前記空間における離散データ群又は関数から節点ごとの最適重み係数を求めるステップと、
前記演算手段が前記節点ごとの正規化された一様なBスプライン関数を、前記節点ごとの最適重み係数により重みづけして加え合わせて構成することにより、最適平滑化スプライン曲面を生成するステップと、
を有することを特徴とする請求項5または6に記載の最適平滑化スプライン曲面による極値検出方法。
The step of generating the optimum smoothed spline curved surface by the computing means includes:
The computing means obtaining an optimal weighting factor for each node from a discrete data group or function in the space;
A step of generating an optimal smoothed spline curved surface by the arithmetic means comprising a normalized uniform B-spline function for each node, weighted by an optimal weighting factor for each node, and added together; ,
The method of detecting an extremum using the optimal smoothed spline curved surface according to claim 5 or 6, wherein:
ピクセルデータが入力される入力手段と、プログラムを格納する記憶手段と、前記プログラムを実行し前記ピクセルデータを処理する演算手段と、前記演算手段の処理結果を出力する出力手段とを備える画像処理装置で実行されるデジタル画像のエッジ検出方法であって、
前記入力手段から入力されたピクセルの座標及び輝度値からなるピクセルデータから、前記演算手段が複数の節点を有する最適平滑化スプライン曲面を生成するステップと、
前記演算手段が前記最適平滑化スプライン曲面を第1の座標軸上の複数の座標で固定した複数の曲線からなる第1の曲線群を生成し、該第1の曲線群を構成する複数の曲線の1次導関数隣接する前記節点により区分された一区間である各節点区間の各々について各々極値を求めることにより、前記第1の曲線群の1次導関数の極値のすべてを求めるステップと、
前記演算手段が前記最適平滑化スプライン曲面を第2の座標軸上の複数の座標で固定した複数の曲線からなる第2の曲線群を生成し、該第2の曲線群を構成する複数の曲線の1次導関数隣接する前記節点により区分された一区間である各節点区間の各々について各々極値を求めることにより、前記第2の曲線群の1次導関数の極値のすべてを求めるステップと、
前記演算手段が前記第1の曲線群の1次導関数の極値又は前記第2の曲線群の1次導関数の極値の絶対値が所定のしきい値より大きい箇所を、デジタル画像のエッジ部分と判定し、該判定結果を前記出力手段へ出力するステップと、
を有することを特徴とするデジタル画像のエッジ検出方法。
An image processing apparatus comprising: input means for inputting pixel data; storage means for storing a program; arithmetic means for executing the program and processing the pixel data; and output means for outputting a processing result of the arithmetic means An edge detection method of a digital image executed in
A step of generating an optimal smoothing spline curved surface having a plurality of nodes by the computing means from pixel data comprising pixel coordinates and luminance values inputted from the input means;
The computing means generates a first curve group composed of a plurality of curves in which the optimal smoothed spline curved surface is fixed at a plurality of coordinates on a first coordinate axis, and a plurality of curves constituting the first curve group are generated. Obtain all extrema of the first derivative of the first curve group by obtaining extrema for each of the nodal sections , which are one section segmented by adjacent nodes on the first derivative. Steps,
The computing means generates a second curve group composed of a plurality of curves in which the optimum smoothing spline curved surface is fixed at a plurality of coordinates on a second coordinate axis, and a plurality of curves constituting the second curve group are generated. by each obtaining an extreme value for each of the nodes a certain section in the first derivative on the adjacent said nodes a section which is divided by, finding all extrema of the first derivative of the second group of curves Steps,
A point where the computing means has an absolute value of the first derivative of the first curve group or an absolute value of the first derivative of the second curve group greater than a predetermined threshold value. Determining an edge portion and outputting the determination result to the output means;
A method for detecting an edge of a digital image, comprising:
前記第1の曲線群の1次導関数の極値のすべてを求めるステップは、
前記演算手段が前記第1の曲線群を構成する複数の曲線の1次導関数の各節点区間について各々正規化して、単位区間における正規化された第1の曲線群を構成する複数の曲線の1次導関数の極値を求めることにより、前記第1の曲線群の1次導関数の極値のすべてを求めるステップと、を有し、
前記第2の曲線群の1次導関数の極値のすべてを求めるステップは、
前記演算手段が前記第2の曲線群を構成する複数の曲線の1次導関数の各節点区間について各々正規化して、単位区間における正規化された第2の曲線群を構成する複数の曲線の1次導関数の極値を求めることにより、前記第2の曲線群の1次導関数の極値のすべてを求めるステップと、
を有することを特徴とする請求項8に記載のデジタル画像のエッジ検出方法。
Determining all of the extreme values of the first derivative of the first group of curves,
The arithmetic means normalizes each nodal section of the first derivative of the plurality of curves constituting the first curve group, and the plurality of curves constituting the first curve group normalized in the unit section Determining all of the extreme values of the first derivative of the first curve group by determining the extreme value of the first derivative,
Determining all of the extreme values of the first derivative of the second group of curves,
The computing means normalizes each node section of the first derivative of the plurality of curves constituting the second curve group, and the plurality of curves constituting the second curve group normalized in the unit section Determining all of the extreme values of the first derivative of the second group of curves by determining the extreme value of the first derivative;
The edge detection method for a digital image according to claim 8, comprising:
前記演算手段が前記最適平滑化スプライン曲面を生成するステップは、
前記演算手段が前記ピクセルの座標及び輝度値からなるピクセルデータから節点ごとの最適重み係数を求めるステップと、
前記演算手段が前記節点ごとの正規化された一様なBスプライン関数を、前記節点ごとの最適重み係数により重みづけして加え合わせて構成することにより、最適平滑化スプライン曲面を生成するステップと、
を有することを特徴とする請求項8または9に記載のデジタル画像のエッジ検出方法。
The step of generating the optimum smoothed spline curved surface by the computing means includes:
A step of obtaining an optimum weighting factor for each node from pixel data comprising the coordinates and luminance values of the pixels;
A step of generating an optimal smoothed spline curved surface by the arithmetic means comprising a normalized uniform B-spline function for each node, weighted by an optimal weighting factor for each node, and added together; ,
10. The method for detecting an edge of a digital image according to claim 8 or 9, characterized by comprising:
データが入力される入力手段と、プログラムを格納する記憶手段と、前記プログラムを実行し前記データを処理する演算手段と、前記演算手段の処理結果を出力する出力手段とを備える処理装置に、
前記入力手段から入力された平面における離散データ群又は関数から、前記演算手段が複数の節点を有する最適平滑化スプライン曲線を生成するステップと、
前記演算手段が前記最適平滑化スプライン曲線又はその導関数隣接する前記節点により区分された一区間である各節点区間の各々について各々極値を求めることにより、前記最適平滑化スプライン曲線又はその導関数の極値のすべてを求め、該極値を前記出力手段に出力するステップと、
を実行させるための最適平滑化スプライン曲線による極値検出プログラム。
A processing apparatus comprising: input means for inputting data; storage means for storing a program; arithmetic means for executing the program and processing the data; and output means for outputting a processing result of the arithmetic means;
A step of generating an optimal smoothing spline curve having a plurality of nodes by the computing means from a discrete data group or function in a plane inputted from the input means;
By obtaining the respective extremum for each of the nodes interval the arithmetic means is in the optimum smoothing spline curve or on a section which is divided by the nodes adjacent on its derivatives, the optimum smoothing spline curve or Obtaining all of the extreme values of the derivative and outputting the extreme values to the output means;
Program for detecting extreme values using an optimal smoothing spline curve.
前記最適平滑化スプライン曲線又はその導関数の極値のすべてを求め、該極値を前記出力手段に出力するステップは、
前記演算手段が前記最適平滑化スプライン曲線又はその導関数の各節点区間について各々正規化して、単位区間における正規化された多項式関数又はその導関数を生成するステップと、
前記演算手段が前記単位区間における正規化された多項式関数又はその導関数について極値を求めることにより、前記最適平滑化スプライン曲線又はその導関数の極値のすべてを求めるステップと、
を有することを特徴とする請求項11に記載の最適平滑化スプライン曲線による極値検出プログラム。
Finding all of the extreme values of the optimal smoothed spline curve or its derivative, and outputting the extreme values to the output means,
The computing means normalizing each nodal interval of the optimal smoothing spline curve or its derivative to generate a normalized polynomial function or its derivative in a unit interval;
Obtaining the extreme values of the normalized polynomial function or derivative thereof in the unit interval by the computing means to obtain all the extreme values of the optimal smoothed spline curve or derivative thereof;
The extreme value detection program by the optimal smoothing spline curve of Claim 11 characterized by the above-mentioned.
前記演算手段が前記最適平滑化スプライン曲線を生成するステップは、
前記演算手段が前記平面における離散データ群又は関数から節点ごとの最適重み係数を求めるステップと、
前記演算手段が前記節点ごとの正規化された一様なBスプライン関数を、前記節点ごとの最適重み係数により重みづけして加え合わせて構成することにより、最適平滑化スプライン曲線を生成するステップと、
を有することを特徴とする請求項11または12に記載の最適平滑化スプライン曲線による極値検出プログラム。
The step of generating the optimum smoothed spline curve by the computing means includes:
The computing means obtaining an optimal weighting factor for each node from a discrete data group or function in the plane;
A step of generating an optimal smoothed spline curve by configuring the arithmetic means to add a normalized uniform B-spline function for each node weighted by an optimal weighting factor for each node; ,
The extreme value detection program by the optimal smoothing spline curve according to claim 11 or 12, characterized by comprising:
前記スプライン関数は、3次のスプラインであることを特徴とする請求項13に記載の最適平滑化スプライン曲線による極値検出プログラム。   14. The extreme value detection program using an optimal smoothed spline curve according to claim 13, wherein the spline function is a cubic spline. データが入力される入力手段と、プログラムを格納する記憶手段と、前記プログラムを実行し前記データを処理する演算手段と、前記演算手段の処理結果を出力する出力手段とを備える処理装置に、
前記入力手段から入力された空間における離散データ群又は関数から、前記演算手段が複数の節点を有する最適平滑化スプライン曲面を生成するステップと、
前記演算手段が前記最適平滑化スプライン曲面又はその偏導関数前記節点により格子上に区画された一領域である各節点領域の各々について各々極値を求めることにより、前記最適平滑化スプライン曲面又はその偏導関数の極値のすべてを求め、該極値を前記出力手段に出力するステップと、
を実行させるための最適平滑化スプライン曲面による極値検出プログラム。
A processing apparatus comprising: input means for inputting data; storage means for storing a program; arithmetic means for executing the program and processing the data; and output means for outputting a processing result of the arithmetic means;
A step of generating an optimal smoothing spline curved surface having a plurality of nodes by the computing means from a discrete data group or function in the space inputted from the input means;
By obtaining the respective extremum for each of the nodes a region where the calculating means is in a region partitioned on a grid by the nodes on the optimal smoothing spline surface on or partial derivatives, the optimum smoothing spline Obtaining all of the extreme values of the curved surface or its partial derivative, and outputting the extreme values to the output means;
Program for detecting extreme values with optimal smoothing spline curved surface.
前記最適平滑化スプライン曲面又はその偏導関数の極値のすべてを求め、該極値を前記出力手段に出力するステップは、
前記演算装置が前記最適平滑化スプライン曲面又はその偏導関数の各節点領域について各々正規化して、単位領域における正規化された多項式関数又はその導関数を生成するステップと、
前記演算装置が前記単位領域における正規化された多項式関数又はその偏導関数について極値を求めることにより、前記最適平滑化スプライン曲面又はその偏導関数の極値のすべてを求めるステップと、
を有することを特徴とする請求項15に記載の最適平滑化スプライン曲面による極値検出プログラム。
Obtaining all of the extreme values of the optimal smoothed spline curved surface or its partial derivative, and outputting the extreme values to the output means,
The arithmetic device normalizing each optimally-spline curved surface or each nodal region of its partial derivative to generate a normalized polynomial function or its derivative in a unit region;
Obtaining the extreme values of the normalized polynomial function or the partial derivative thereof in the unit region by the arithmetic unit to obtain all the extreme values of the optimal smoothed spline curved surface or the partial derivative thereof;
The extreme value detection program by the optimal smoothing spline curved surface according to claim 15, characterized by comprising:
前記演算手段が前記最適平滑化スプライン曲面を生成するステップは、
前記演算手段が空間における離散データ群又は関数から節点ごとの最適重み係数を求めるステップと、
前記演算手段が前記節点ごとの正規化された一様なBスプライン関数を、前記節点ごとの最適重み係数により重みづけして加え合わせて構成することにより、最適平滑化スプライン曲面を生成するステップと、
を有することを特徴とする請求項15または16に記載の最適平滑化スプライン曲面による極値検出プログラム。
The step of generating the optimum smoothed spline curved surface by the computing means includes:
A step of calculating an optimal weighting factor for each node from a discrete data group or function in space;
A step of generating an optimal smoothed spline curved surface by the arithmetic means comprising a normalized uniform B-spline function for each node, weighted by an optimal weighting factor for each node, and added together; ,
The extreme-value detection program by the optimal smoothing spline curved surface of Claim 15 or 16 characterized by the above-mentioned.
ピクセルデータが入力される入力手段と、プログラムを格納する記憶手段と、前記プログラムを実行し前記ピクセルデータを処理する演算手段と、前記演算手段の処理結果を出力する出力手段とを備える画像処理装置に、
前記入力手段から入力されたピクセルの座標及び輝度値からなるピクセルデータから前記演算手段が複数の節点を有する最適平滑化スプライン曲面を生成するステップと、
前記演算手段が前記最適平滑化スプライン曲面を第1の座標軸上の複数の座標で固定した複数の曲線からなる第1の曲線群を生成し、該第1の曲線群を構成する複数の曲線の1次導関数隣接する前記節点により区分された一区間である各節点区間の各々について各々極値を求めることにより、前記第1の曲線群の1次導関数の極値のすべてを求めるステップと、
前記演算手段が前記最適平滑化スプライン曲面を第2の座標軸上の複数の座標で固定した複数の曲線からなる第2の曲線群を生成し、該第2の曲線群を構成する複数の曲線の1次導関数隣接する前記節点により区分された一区間である各節点区間の各々について各々極値を求めることにより、前記第2の曲線群の1次導関数の極値のすべてを求めるステップと、
前記演算手段が前記第1の曲線群の1次導関数の極値又は前記第2の曲線群の1次導関数の極値の絶対値が所定のしきい値より大きい箇所を、デジタル画像のエッジ部分と判定し、該判定結果を前記出力手段へ出力するステップと、
を実行させるためのデジタル画像のエッジ検出プログラム。
An image processing apparatus comprising: input means for inputting pixel data; storage means for storing a program; arithmetic means for executing the program and processing the pixel data; and output means for outputting a processing result of the arithmetic means In addition,
Generating an optimal smoothing spline curved surface having a plurality of nodes by the computing means from pixel data consisting of pixel coordinates and luminance values inputted from the input means;
The computing means generates a first curve group composed of a plurality of curves in which the optimal smoothed spline curved surface is fixed at a plurality of coordinates on a first coordinate axis, and a plurality of curves constituting the first curve group are generated. Obtain all extrema of the first derivative of the first curve group by obtaining extrema for each of the nodal sections , which are one section segmented by adjacent nodes on the first derivative. Steps,
The computing means generates a second curve group composed of a plurality of curves in which the optimum smoothing spline curved surface is fixed at a plurality of coordinates on a second coordinate axis, and a plurality of curves constituting the second curve group are generated. by each obtaining an extreme value for each of the nodes a certain section in the first derivative on the adjacent said nodes a section which is divided by, finding all extrema of the first derivative of the second group of curves Steps,
A point where the computing means has an absolute value of the first derivative of the first curve group or an absolute value of the first derivative of the second curve group greater than a predetermined threshold value. Determining an edge portion and outputting the determination result to the output means;
Digital image edge detection program to execute.
前記第1の曲線群の1次導関数の極値のすべてを求めるステップは、
前記演算手段が前記第1の曲線群を構成する複数の曲線の1次導関数の各節点区間について各々正規化して、単位区間における正規化された前記第1の曲線群を構成する複数の曲線の1次導関数の極値を求めることにより、前記第1の曲線群の1次導関数の極値のすべてを求めるステップと、を有し、
前記第2の曲線群の1次導関数の極値のすべてを求めるステップは、
前記演算手段が前記第2の曲線群を構成する複数の曲線の1次導関数の各節点区間について各々正規化して、単位区間における正規化された前記第2の曲線群を構成する複数の曲線の1次導関数の極値を求めることにより、前記第2の曲線群の1次導関数の極値のすべてを求めるステップと、
を有することを特徴とする請求項18に記載のデジタル画像のエッジ検出プログラム。
Determining all of the extreme values of the first derivative of the first group of curves,
The computing means normalizes each nodal section of the first derivative of the plurality of curves constituting the first curve group, and the plurality of curves constituting the normalized first curve group in the unit section Determining all the extreme values of the first derivative of the first curve group by determining the extreme values of the first derivative of
Determining all of the extreme values of the first derivative of the second group of curves,
A plurality of curves constituting the second curve group normalized in the unit interval by the arithmetic means normalizing each node interval of the first derivative of the plurality of curves constituting the second curve group. Obtaining all extrema of the first derivative of the second curve group by obtaining extrema of the first derivative of
19. The digital image edge detection program according to claim 18, further comprising:
前記演算手段が前記最適平滑化スプライン曲面を生成するステップは、
前記演算手段が前記ピクセルの座標及び輝度値からなるピクセルデータから節点ごとの最適重み係数を求めるステップと、
前記演算手段が前記節点ごとの正規化された一様なBスプライン関数を、前記節点ごとの最適重み係数により重みづけして加え合わせて構成することにより、最適平滑化スプライン曲面を生成するステップと、
を有することを特徴とする請求項18または19に記載のデジタル画像のエッジ検出プログラム。
The step of generating the optimum smoothed spline curved surface by the computing means includes:
A step of obtaining an optimum weighting factor for each node from pixel data comprising the coordinates and luminance values of the pixels;
A step of generating an optimal smoothed spline curved surface by the arithmetic means comprising a normalized uniform B-spline function for each node, weighted by an optimal weighting factor for each node, and added together; ,
21. The digital image edge detection program according to claim 18 or 19, characterized by comprising:
JP2005319646A 2005-11-02 2005-11-02 Extreme value detection method and extreme value detection program using optimal smoothing spline Expired - Fee Related JP4669993B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005319646A JP4669993B2 (en) 2005-11-02 2005-11-02 Extreme value detection method and extreme value detection program using optimal smoothing spline

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005319646A JP4669993B2 (en) 2005-11-02 2005-11-02 Extreme value detection method and extreme value detection program using optimal smoothing spline

Publications (2)

Publication Number Publication Date
JP2007128237A JP2007128237A (en) 2007-05-24
JP4669993B2 true JP4669993B2 (en) 2011-04-13

Family

ID=38150853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005319646A Expired - Fee Related JP4669993B2 (en) 2005-11-02 2005-11-02 Extreme value detection method and extreme value detection program using optimal smoothing spline

Country Status (1)

Country Link
JP (1) JP4669993B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003509748A (en) * 1999-09-03 2003-03-11 チェン,ティー.シー. Fast and efficient calculation method of cubic spline interpolation for data compression
JP2005326977A (en) * 2004-05-12 2005-11-24 Sanyo Electric Co Ltd Image magnification device and program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3033512B2 (en) * 1997-03-24 2000-04-17 日本電気株式会社 EEG processing device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003509748A (en) * 1999-09-03 2003-03-11 チェン,ティー.シー. Fast and efficient calculation method of cubic spline interpolation for data compression
JP2005326977A (en) * 2004-05-12 2005-11-24 Sanyo Electric Co Ltd Image magnification device and program

Also Published As

Publication number Publication date
JP2007128237A (en) 2007-05-24

Similar Documents

Publication Publication Date Title
Hoeltgen et al. An optimal control approach to find sparse data for Laplace interpolation
RU2540829C2 (en) Interactive iterative closest point algorithm for organ segmentation
Molina et al. Bayesian multichannel image restoration using compound Gauss-Markov random fields
JP6320649B1 (en) Machine learning device and image recognition device
Mangasarian et al. Nonlinear knowledge in kernel approximation
WO2020003434A1 (en) Machine learning method, machine learning device, and machine learning program
JPWO2019053835A1 (en) Arithmetic circuits, arithmetic methods, and programs
JP6499647B2 (en) Keypoint identification
EP1760636B1 (en) Ridge direction extraction device, ridge direction extraction method, ridge direction extraction program
Manni et al. Local hierarchical h-refinements in IgA based on generalized B-splines
Brandt et al. Optimal Spline Approximation via ℓ0‐Minimization
JP2011103036A (en) Design model practical use type design search method and device
Bustos et al. Spatial ARMA models and its applications to image filtering
JP4669993B2 (en) Extreme value detection method and extreme value detection program using optimal smoothing spline
JP2005326977A (en) Image magnification device and program
JP5396977B2 (en) Data processing apparatus, data processing method and program
Díez et al. Analysis of the average efficiency of an error estimator
JP5949002B2 (en) Image matching method, and image matching apparatus and program using the method
JP4460277B2 (en) Corresponding point search method of image, corresponding point search device, and corresponding point search program
Liew et al. Searching for the optimum value of the smoothing parameter for a radial basis function surface with feature area by using the bootstrap method
JP7169768B2 (en) Image processing device, image processing method
Zhou et al. Image denoising based on mixed total variation regularization with decision-making scheme
Robles et al. Choosing a Takagi-Sugeno model for improved performance
Hyde et al. On obtaining sparse semantic solutions for inverse problems, control, and neural network training
Bosner et al. Non-uniform exponential tension splines

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101221

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees