(57)【要約】【課題】ノッキングの検出精度を向上させることができるノック制御装置、ノック適合方法およびノック適合プログラムを提供すること。【解決手段】実施形態に係るノック制御装置は、取得部と、画像生成部と、モデル生成部と、判定部とを備える。取得部は、内燃機関に発生するノッキングに応じて波形が変化するノック信号を取得する。画像生成部は、取得部によって取得されたノック信号を一定周期毎に周波数領域に変換することでノック画像を生成する。モデル生成部は、画像生成部によって生成されたノック画像に基づいてノッキングの特徴を示すノックモデルを生成する。判定部は、モデル生成部によって生成されたノックモデルに基づいてノッキングの有無を判定する。【選択図】図２
2018178810.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関に発生するノッキングに応じて波形が変化するノック信号を取得する取得部と、
前記取得部によって取得された前記ノック信号を一定周期毎に周波数領域に変換することでノック画像を生成する画像生成部と、
前記画像生成部によって生成された前記ノック画像に基づいて前記ノッキングの特徴を示すノックモデルを生成するモデル生成部と、
前記モデル生成部によって生成された前記ノックモデルに基づいて前記ノッキングの有無を判定する判定部と
を備えることを特徴とするノック制御装置。
【請求項２】
前記モデル生成部は、
畳み込みニューラルネットワークを用いた識別器の重み値を前記ノックモデルとして生成し、
前記判定部は、
前記重み値を用いた前記識別器に基づいて前記ノッキングの有無を判定すること
を特徴とする請求項１に記載のノック制御装置。
【請求項３】
前記取得部は、
前記内燃機関の気筒毎に前記ノック信号を取得し、
前記判定部は、
前記気筒毎に前記ノッキングの有無を判定すること
を特徴とする請求項１または２に記載のノック制御装置。
【請求項４】
前記取得部は、
前記ノッキングに伴って発生するノック音を前記ノック信号として取得すること
を特徴とする請求項１〜３のいずれか一つに記載のノック制御装置。
【請求項５】
前記取得部によって取得された前記ノック信号のうち、前記ノッキングに相当するノック周波数帯の信号を選択的に通過させるバンドパスフィルタをさらに備え、
前記画像生成部は、
前記バンドパスフィルタを通過した前記ノック周波数帯の信号を変換することで前記ノック画像を生成すること
を特徴とする請求項１〜４のいずれか一つに記載のノック制御装置。
【請求項６】
内燃機関に発生するノッキングに応じて波形が変化するノック信号を取得する取得工程と、
前記取得工程によって取得された前記ノック信号を一定周期毎に周波数領域に変換することでノック画像を生成する画像生成工程と、
前記画像生成工程によって生成された前記ノック画像に基づいて前記ノッキングの特徴を示すノックモデルを生成するモデル生成工程と、
前記モデル生成工程によって生成された前記ノックモデルに基づいて前記ノッキングの判定に用いる識別器の重み値を更新する更新工程と
を含むことを特徴とするノック適合方法。
【請求項７】
内燃機関に発生するノッキングに応じて波形が変化するノック信号を取得する取得手順と、
前記取得手順によって取得された前記ノック信号を一定周期毎に周波数領域に変換することでノック画像を生成する画像生成手順と、
前記画像生成手順によって生成された前記ノック画像に基づいて前記ノッキングの特徴を示すノックモデルを生成するモデル生成手順と、
前記モデル生成手順によって生成された前記ノックモデルに基づいて前記ノッキングの判定に用いる識別器の重み値を更新する更新手順と
をコンピュータに実行させることを特徴とするノック適合プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ノック制御装置、ノック適合方法およびノック適合プログラムに関する。
【背景技術】
【０００２】
従来、車両のエンジン等の内燃機関に発生するノッキングを検出し、ノッキングの検出状態に基づいてエンジンの点火時期を制御するノック制御装置がある。ノック制御装置は、ノッキングを示すノック信号の波形形状の特徴をモデル化したノックモデルに基づいてノックの有無を判定する（たとえば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２０３８４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術は、ノックモデルの作成工程が作業者に委ねられていたため、生成されるノックモデルの適合精度が低下する場合がある。したがって、かかるノックモデルを用いてノッキングの有無を判定した場合、ノッキングの検出精度が低下するおそれがあった。
【０００５】
本発明は、上記に鑑みてなされたものであって、ノッキングの検出精度を向上させることができるノック制御装置、ノック適合方法およびノック適合プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明に係るノック制御装置は、取得部と、画像生成部と、モデル生成部と、判定部とを備える。取得部は、内燃機関に発生するノッキングに応じて波形が変化するノック信号を取得する。画像生成部は、前記取得部によって取得された前記ノック信号を一定周期毎に周波数領域に変換することでノック画像を生成する。モデル生成部は、前記画像生成部によって生成された前記ノック画像に基づいて前記ノッキングの特徴を示すノックモデルを生成する。判定部は、前記モデル生成部によって生成された前記ノックモデルに基づいて前記ノッキングの有無を判定する。
【発明の効果】
【０００７】
本発明によれば、ノッキングの検出精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係るノック制御装置が行う処理の概要を示す図である。
【図２】図２は、実施形態に係るノック制御装置の構成を示すブロック図である。
【図３】図３は、モデル生成部の処理内容を示す図である。
【図４】図４は、重み値決定処理の処理内容を示す図である。
【図５】図５は、第１処理の処理内容を示す図である。
【図６】図６は、第２処理の処理内容を示す図である。
【図７】図７は、識別器情報の説明図である。
【図８】図８は、実施形態に係るノック制御装置が実行する適合処理の処理手順を示すフローチャートである。
【図９】図９は、実施形態に係るノック制御装置が実行する判定処理の処理手順を示すフローチャートである。
【図１０】図１０は、実施形態の変形例に係るノック制御装置の構成を示すブロック図である。
【図１１】図１１は、変形例に係る識別器情報の説明図である。
【図１２】図１２は、実施形態の変形例に係るノック制御装置の構成を示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本願の開示するノック制御装置、ノック適合方法およびノック適合プログラムの実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【００１０】
まず、図１を用いて実施形態に係るノック制御装置が行う処理の概要について説明する。図１は、実施形態に係るノック制御装置１が行う処理の概要を示す図である。図１には、内燃機関１０と、内燃機関１０のノッキングを検出するノックセンサ１１とを示している。
【００１１】
内燃機関１０は、例えば車両等のエンジンであり、ガソリン等の燃料をシリンダー内で燃焼させることで発生した燃焼ガスによって動力を得る装置である。ノックセンサ１１は、内燃機関１０の駆動により発生する振動を検出するセンサであり、内燃機関１０に発生するノッキングに応じて波形が変化するノック信号を出力するセンサである。なお、ノッキングとは、例えば燃焼後にシリンダー内に残った燃料の燃えカスが、次の点火タイミングで異常燃焼することで異常振動や異常音が出る状態を指す。
【００１２】
また、図１には、ノック信号を一定周期毎（例えば、１サイクル毎）の周波数領域に変換したノック画像Ｐａ，Ｐｂを示している。なお、ノック画像Ｐａは、ノック制御装置１のノックモデル生成処理に用いられ、例えば、内燃機関１０の動作試験時に得られるセンサ信号を画像化したものである。
【００１３】
また、ノック画像Ｐｂは、ノック制御装置１のノッキングの判定処理に用いられ、例えば、実際に公道などを車両が走行する際に内燃機関１０から検出されるセンサ信号を画像化したものである。なお、以下では、ノック画像Ｐａを学習画像Ｐａと記載し、ノック画像Ｐｂを判定画像Ｐｂと記載する場合がある。
【００１４】
実施形態に係るノック制御装置１は、学習画像Ｐａを用いて、ノッキングの特徴を示すノックモデルを生成するとともに、かかるノックモデルを用いて、判定画像Ｐｂにおけるノッキングの有無を判定する。
【００１５】
ここで、従来のノック制御装置について説明する。従来のノック制御装置は、ノックモデルの作成工程が作業者に委ねられていた。具体的には、従来は、ノック画像からノック信号の波形形状の特徴を作業者が抽出し、ノックモデルの作成に用いていた。
【００１６】
このため、従来は、作業者の熟練度等によって抽出されるノッキングの特徴がばらつくため、ノックモデルの適合精度が低下するおそれがあった。したがって、従来は、かかるノックモデルを用いてノッキングの有無を判定した場合、ノッキングの検出精度が低下するおそれがあった。また、各ノック画像からノッキングの特徴を抽出しなければならないため、作業者の工数が増加してしまう。
【００１７】
そこで、実施形態に係るノック制御装置１は、例えば機械学習等によりノック画像Ｐａ（学習画像Ｐａ）から自動でノックモデルを生成することとした。
【００１８】
具体的には、図１に示すように、実施形態に係るノック制御装置１は、まず、学習フェーズにおいて、ノック画像Ｐａに基づいてノッキングの特徴を示すノックモデルを予め生成する（ステップＳ１）。ノックモデルの生成は、例えば畳み込みニューラルネットワークのアルゴリズムを有する識別器を用いて行うことができるが、かかる点については、図３〜図６を用いて後述する。
【００１９】
つづいて、実施形態に係るノック制御装置１は、ノックモデルを生成後、識別フェーズに移行し、学習フェーズで生成したノックモデルに基づいてノッキングの有無を判定する（ステップＳ２）。具体的には、図１に示すように、ノック制御装置１は、まず、生成したノックモデルを識別器に適用する。つづいて、ノック制御装置１は、かかる識別器を用いて判定画像Ｐｂにおけるノッキングの有無を判定する。なお、識別フェーズで使用する識別器のアルゴリズムは、例えば畳み込みニューラルネットワークであり、学習フェーズで使用したアルゴリズム（ノックモデルを適用）と同じものを使用する。
【００２０】
つまり、実施形態に係るノック制御装置１は、機械学習等によってノックモデルを自動で生成することで、従来のような作業者毎のノックモデルのばらつきがなくなるため、ノックモデルの適合精度を向上させることができる。すなわち、実施形態に係るノック制御装置１によれば、ノッキングの検出精度を向上させることができる。
【００２１】
さらに、実施形態に係るノック制御装置１は、機械学習によってノッキングの特徴を抽出するため、作業者の工数を削減することができる。つまり、ノックモデルの適合作業の効率化を図ることができる。
【００２２】
なお、実施形態に係るノック制御装置１は、ノックモデルとして畳み込みニューラルネットワークを用いた識別器の重み値ωを生成するが、かかる点については、図３〜図６を用いて後述する。
【００２３】
また、実施形態に係るノック制御装置１は、例えば、ＣＰＳ（Cylinder  Pressure  Sensor）を用いて内燃機関１０の気筒毎にノックモデルを生成することができるが、かかる点については、図１０および図１１を用いて後述する。
【００２４】
次に、図２を参照して、実施形態に係るノック制御装置１の構成について詳細に説明する。図２は、実施形態に係るノック制御装置１の構成を示すブロック図である。
【００２５】
図２に示すように、実施形態に係るノック制御装置１は、ノックセンサ１１と、制御装置１００とに接続される。なお、図２では、ノック制御装置１と制御装置１００とは、別体で２つの装置として構成されることとしたが、ノック制御装置１と制御装置１００とが一体的に１つの装置として構成されてもよい。まず、ノック制御装置１以外の構成について説明する。
【００２６】
ノックセンサ１１は、内燃機関１０に取り付けられ、例えば内燃機関１０に生じる振動に基づいてノック信号を生成する。ノック信号とは、内燃機関１０に発生するノッキングに応じて波形が変化する信号である。ノックセンサ１１は、生成したノック信号をノック制御装置１へ出力する。
【００２７】
なお、ノックセンサ１１として、例えばマイクを用いることができる。かかる場合、マイクは、ノッキングに伴って発生するノック音をノック信号として生成する。これにより、ノック音によるノックモデルを生成できるため、人の聴感を捉えたノッキング判定が可能となる。
【００２８】
制御装置１００は、内燃機関１０に取り付けたセンサ（図示せず）を基に内燃機関１０のエンジン回転速度や空気負荷率（充填効率）を演算し、それらの情報をノック制御装置１に出力する。なお、図２では、制御装置１００からエンジン回転数や空気負荷率（充填効率）等を出力したが、例えば上記センサの検出信号をノック制御装置１に直接出力し、ノック制御装置１でエンジン回転速度や空気負荷率（充填効率）を演算してもよい。
【００２９】
制御装置１００は、ノック制御装置１から通知されるノッキングの有無の判定結果に基づいて内燃機関１０の次回以降の点火タイミングを決定するとともに、かかる点火タイミングに応じて内燃機関１０に点火を指示する点火信号を出力する。
【００３０】
次に、実施形態に係るノック制御装置１について説明する。ノック制御装置１は、制御部２と、記憶部３とを備える。制御部２は、取得部２１と、画像生成部２２と、モデル生成部２３と、判定部２４とを備える。記憶部３は、画像情報３１と、識別器情報３２とを記憶する。
【００３１】
ここで、ノック制御装置１は、たとえば、ＣＰＵ（Central  Processing  Unit）、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）、ＨＤＤ（Hard  Disk  Drive）、入出力ポートなどを有するコンピュータや各種の回路を含む。
【００３２】
コンピュータのＣＰＵは、たとえば、ＲＯＭに記憶されたプログラムを読み出して実行することによって、制御部２の取得部２１、画像生成部２２、モデル生成部２３および判定部２４として機能する。
【００３３】
また、制御部２の取得部２１、画像生成部２２、モデル生成部２３および判定部２４の少なくともいずれか一つまたは全部をＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）、ＧＰＵ（Graphics  Processing  Unit）等のハードウェアで構成することもできる。
【００３４】
また、記憶部３は、たとえば、ＲＡＭやＨＤＤに対応する。ＲＡＭやＨＤＤは、画像情報３１や識別器情報３２、各種プログラムの情報等を記憶することができる。なお、ノック制御装置１は、有線や無線のネットワークで接続された他のコンピュータや可搬型記録媒体を介して上記したプログラムや各種情報を取得することとしてもよい。
【００３５】
制御部２は、ノック画像Ｐａ（学習画像Ｐａ）を用いて、ノッキングの特徴を示すノックモデルを生成するとともに、かかるノックモデルを用いて、ノック画像Ｐｂ（判定画像Ｐｂ）におけるノッキングの有無を判定する。
【００３６】
取得部２１は、内燃機関１０に発生するノッキングに応じて波形が変化するノック信号を取得する。取得部２１は、取得したノック信号を画像生成部２２へ出力する。
【００３７】
画像生成部２２は、取得部２１によって取得されたノック信号を一定周期毎に周波数領域に変換することでノック画像Ｐａ，Ｐｂを生成する。具体的には、画像生成部２２は、ノック信号を内燃機関１０の１サイクル毎に周波数領域にウェーブレット変換することで学習画像Ｐａおよび判定画像Ｐｂを生成する。なお、学習画像Ｐａおよび判定画像Ｐｂは、例えばＲＧＢ値の３次元によって表されるカラー画像である。
【００３８】
また、画像生成部２２は、ウェーブレット変換に限らず、例えば短時間フーリエ変換やメル周波数ケプストラム係数を用いてもよく、一定周期毎に周波数領域に変換できる手法であればよい。
【００３９】
また、画像生成部２２は、学習画像Ｐａおよび判定画像Ｐｂのうち、まず、後述するモデル生成部２３によって用いられる学習画像Ｐａを生成する。そして、画像生成部２２は、モデル生成部２３によってノックモデルが生成された後は、判定画像Ｐｂを生成する。
【００４０】
なお、画像生成部２２は、例えば実験室で内燃機関１０を試験的に駆動させた時の振動によるノック信号を用いて学習画像Ｐａを生成してもよい。このとき、意図的に内燃機関１０にノッキングを発生させた時のノック信号を用いてもよい。これにより、後述するモデル生成部２３が生成するノックモデルの精度を高めることができる。
【００４１】
また、画像生成部２２は、車両が実際に走行中の内燃機関１０から検出されたノック信号を用いてもよい。画像生成部２２は、生成した学習画像Ｐａを画像情報３１として記憶部３に記憶し、判定画像Ｐｂを判定部２４へ出力する。
【００４２】
モデル生成部２３は、画像生成部２２によって生成されたノック画像Ｐａ（学習画像Ｐａ）に基づいてノッキングの特徴を示すノックモデルを生成する。具体的には、モデル生成部２３は、ノックモデルとして畳み込みニューラルネットワークを用いた識別器の重み値ω（図５参照）を生成する。ここで、図３および図４を用いて、モデル生成部２３の処理内容について具体的に説明する。
【００４３】
図３は、モデル生成部２３の処理内容を示す図である。図４は、識別器の重み値ωの決定処理を示す図である。図３に示すように、モデル生成部２３は、複数（例えば数千枚）の学習画像Ｐａが入力されると平均化処理、重み値決定処理を行うことで、畳み込みニューラルネットワークを用いた識別器の重み値ωを更新する。
【００４４】
なお、モデル生成部２３は、複数（例えば数千枚）の学習画像Ｐａすべてを一度に取得して処理を行ってもよく、例えば、繰り返しループで複数の学習画像Ｐａを少しずつ取得（ミニバッチ処理）してもよい。
【００４５】
まず、平均化処理について説明する。平均化処理は、学習画像Ｐａの各画素の値を平均化した平均値画像を生成する処理である。具体的には、まず、モデル生成部２３は、学習画像Ｐａの任意の画素を中心画素とし、かかる中心画素における周辺画素を含む小領域（例えば３×３の領域）を設定する。モデル生成部２３は、設定した小領域に含まれる複数の画素の平均値を中心画素の画素値として平均値画像にプロットする。
【００４６】
そして、モデル生成部２３は、学習画像Ｐａの全画素について同様に平均値を算出することで平均値画像を生成する。そして、モデル生成部２３は、後段の処理に合わせて、かかる平均値画像を減算正規化し、重み値決定処理に渡す。なお、平均値画像の正規化は、減算正規化に限定されず、除算正規化や白色化等の他の正規化パターンを用いてもよい。
【００４７】
次に、重み値決定処理について説明する。重み値決定処理は、正規化された平均値画像が入力されると、初期値設定処理、順伝播処理、損失誤差計算処理、逆伝播処理の順に処理を行い、判定部２４が用いる識別器の重み値を更新する処理である。
【００４８】
具体的には、モデル生成部２３は、畳み込みニューラルネットワークの識別器を用いて損失誤差を算出するとともに、かかる損失誤差が最小となるような重み値ωを決定する処理行う。なお、識別器のアルゴリズムは、畳み込みニューラルネットワークに限定されるものではなく、例えばリカレントニューラルネットワーク等の他の機械学習のアルゴリズムであってもよい。ここで、図４〜図６を用いて、モデル生成部２３が行う重み値決定処理について具体的に説明する。
【００４９】
図４は、重み値決定処理を示す図である。図４には、モデル生成部２３が行う重み値決定処理の流れを示している。図４に示すように、重み値決定処理は、第１処理および第２処理に大別される。
【００５０】
また、図４に示すように、モデル生成部２３は、平均値画像が入力されると、まず、第１処理の前に識別器の重み値ω（図５参照）やバイアスｂ（図５参照）の値を初期化する初期値設定処理（図３参照）を行う。
【００５１】
なお、モデル生成部２３は、初期値設定処理において、予め定められた値を初期値としてもよく、例えば、プリトレーニングやファインチューニングを行うことで初期値を決定してもよい。
【００５２】
モデル生成部２３は、初期値設定処理の後、第１処理を行う。第１処理は、畳み込み層、活性化関数およびプーリング層のセットを１層とし、複数層（図４では３層）を繰り返す処理である。なお、第１処理の詳細については、図５を用いて後述する。
【００５３】
つづいて、モデル生成部２３は、第１処理の後、第２処理を行う。第２処理は、全結合層、活性化関数、全結合層およびソフトマックス関数を含む処理である。なお、第２処理の詳細については、図６を用いて後述する。
【００５４】
図４に示すように、モデル生成部２３は、まず、順伝播により、第１処理、第２処理の順に処理を行うことで損失誤差を算出する。つづいて、モデル生成部２３は、順伝播によって算出した損失誤差に基づき、逆伝播処理を行うことでかかる損失誤差が最小となる重み値ωを決定する。
【００５５】
ここで、図５および図６を用いて、第１処理および第２処理について具体的に説明する。図５は、第１処理の処理内容を示す図である。図６は、第２処理の処理内容を示す図である。
【００５６】
まず、図５を用いて、第１処理について説明する。なお、図５には、第１処理における１層目の処理内容を示している。また、図５において、平均値画像の画素数は、２５６×２５６とする。なお、図５に示す平均値画像や、後述する畳み込み画像、プーリング画像の画素数は、一例であって、任意の画素数であってよい。
【００５７】
図５に示すように、モデル生成部２３は、平均値画像を、畳み込み層、活性化関数の順に入力することで、画素数を圧縮した畳み込み画像を生成する。具体的には、モデル生成部２３は、所定画素数（例えば２×２）の畳み込みフィルタ、重み値ωおよびバイアスｂを用いて平均値画像を圧縮する。
【００５８】
例えば、図５に示すように、モデル生成部２３は、畳み込みフィルタによって、平均値画像における所定の４画素ｘ１〜ｘ４の特徴量を抽出し、各画素ｘ１〜ｘ４の特徴量それぞれに重み値ωを積算する。つづいて、モデル生成部２３は、重み値ωが積算された画素ｘ１〜ｘ４それぞれの値を合計し、合計した値にバイアスｂを加算する。
【００５９】
モデル生成部２３は、バイアスｂが加算された値を活性化関数に代入し、活性化関数から得られた値を畳み込み画像の画素ｙ１の値（以下、畳み込み値と記載する場合がある）として決定する。なお、活性化関数は、例えばランプ関数を用いることができるが、これに限定されず、例えば、シグモイド関数や、マックスアウト関数、ドロップアウト関数を用いることができる。
【００６０】
つづいて、モデル生成部２３は、生成した畳み込み画像をプーリング層に入力することで画素数がさらに圧縮されたプーリング画像を生成する。具体的には、モデル生成部２３は、所定画素数（例えば２×２）のプーリングフィルタを用いて畳み込み画像全体を走査することでプーリング画像を生成する。
【００６１】
例えば、図５に示すように、モデル生成部２３は、プーリングフィルタに基づいて、畳み込み画像における所定の４画素ｙ１〜ｙ４を抽出し、抽出した４画素のうち、畳み込み値の最大値をプーリング画像における画素ｚ１の値として決定する。
【００６２】
なお、モデル生成部２３は、抽出した複数（図５では、４画素）の画素のうち、畳み込み値の最大値をプーリング画像における画素ｚ１の値としたが、例えば、複数の画素における畳み込み値の平均値を画素ｚ１の値としてもよい。
【００６３】
これにより、例えばノックセンサ１１の検出値のズレやノイズ重畳による周波数のズレの影響をプーリング画像において除去することができる。モデル生成部２３は、生成したプーリング画像を次の層である２層目の畳み込み層（図４参照）へ入力する。
【００６４】
次に、図６を用いて、第２処理について説明する。図６は、第２処理を示す図である。図６では、最後の層のプーリング層（図４では、３層目）によって生成されたプーリング画像を示している。
【００６５】
図６に示すように、モデル生成部２３は、プーリング画像に対して全結合層、活性化関数、全結合層の順に処理を行う。全結合層は、例えばアフィン変換等の線形変換を用いることができる。また、活性化関数は、ランプ関数や、シグモイド関数や、マックスアウト関数、ドロップアウト関数等を用いることができる。
【００６６】
モデル生成部２３は、全結合層、活性化関数を用いて、プーリング画像を結合することで、所定画素数（図６では、２×２）の結合画像を生成する。なお、結合画像の画素数は、ソフトマックス関数に合わせて任意に設定可能である。
【００６７】
つづいて、図６に示すように、モデル生成部２３は、生成した結合画像をソフトマックス関数に入力する。これにより、結合画像の各画素Ａ１〜Ａ４の値は、各画素Ａ１〜Ａ４がノッキングを示す確率（あるいは、ノッキングを示す画素ではない確率）を示すとともに、各画素Ａ１〜Ａ４の値の総和が１となる。
【００６８】
そして、モデル生成部２３は、各画素Ａ１〜Ａ４の値に基づいて損失誤差を算出する。例えば、ノッキングの特徴を含む学習画像Ｐａが入力された場合に、図６に示す画素Ａ１にノッキングの特徴が表れるとする。
【００６９】
かかる場合、本来であれば、画素Ａ１の値は「１」となり、他の画素Ａ２〜Ａ４の値は「０」となるはずである。ところが、図６に示すように、画素Ａ１の値が「０．６４」であったとする。
【００７０】
かかる場合、モデル生成部２３は、１から０．６４を減算した値である「０．３６」を損失誤差として算出する。そして、モデル生成部２３は、算出した損失誤差に基づいて逆伝播処理を行う。
【００７１】
具体的には、モデル生成部２３は、バイアスｂと重み値ωとの組み合わせを逆伝播処理により繰り返し学習することで、損失誤差が最小となるようなバイアスｂおよび重み値ωを最終的な学習結果として決定する。なお、逆伝播処理における重み値ωの最適化関数は、例えばＡｄａｍ法や、確率的勾配降下法（ＳＧＤ）、Ｍｏｍｅｎｔｕｍ、Ａｄａｇｒａｄ等を用いることができる。
【００７２】
このように、畳み込みニューラルネットワークによってノックモデルを自動で作成することで作業者の工数を削減することができるとともに、人では網羅できないノッキングの特徴（例えば、飛び飛びのパターン等）を捉えることも可能となる。
【００７３】
モデル生成部２３は、決定したバイアスｂおよび重み値ωを識別器情報３２として記憶部３に記憶する。ここで、図７を用いて、識別器情報３２について説明する。
【００７４】
図７は、識別器情報３２の説明図である。図７に示すように、識別器情報３２は、「エンジンタイプ」、「センサ種別」、「エンジン回転速度」、「空気負荷率（充填効率）」、「重み値」、「バイアス」といった項目を含む。
【００７５】
「エンジンタイプ」は、内燃機関１０の型式に関する情報であり、例えば車種毎に分類される。「センサ種別」は、ノックセンサ１１の種別を示す。具体的には、「ノックセンサ」は、内燃機関１０の振動自体をノック信号として出力するセンサである。「マイク」は、内燃機関１０の振動音やノッキング音をノック信号として出力するセンサである。「ＣＰＳ」は、内燃機関１０内部の燃焼圧をノック信号として出力するセンサである。
【００７６】
「エンジン回転速度」は、内燃機関１０の回転速度を示す。「空気負荷率（充填効率）」は、内燃機関１０の空気充填効率を示す。「重み値」は、判定部２４が用いる識別器の重み値ωを示す。「バイアス」は、判定部２４が用いる識別器のバイアスｂを示す。
【００７７】
つまり、モデル生成部２３は、センサ種別毎、エンジン回転速度、空気負荷率（充填効率）毎の重み値ω、バイアスｂを決定する。これにより、後述する判定部２４によりノッキングの判定精度を向上させることができる。
【００７８】
図２に戻って、判定部２４について説明する。判定部２４は、モデル生成部２３によって生成されたノックモデルに基づいてノッキングの有無を判定する。具体的には、判定部２４は、画像生成部２２によって生成されたノック画像Ｐｂ（判定画像Ｐｂ）に対して、順伝播処理を行い、ノッキングを示す確率を算出する。
【００７９】
判定部２４は、順伝播処理（第１処理および第２処理）において、識別器情報３２の重み値ωおよびバイアスｂを用いることでノッキングを示す確率を算出する。判定部２４は、ノッキングを示す確率が所定の閾値以上である場合に、ノッキングが発生したと判定し、判定結果を制御装置１００へ通知する。これにより、制御装置１００が次回以降のサイクルにおいてノッキングを考慮した点火タイミングを設定することができる。
【００８０】
次に、図８を用いて、実施形態に係るノック制御装置１が実行する適合処理の処理手順について説明する。図８は、実施形態に係るノック制御装置１が実行する適合処理の処理手順を示すフローチャートである。
【００８１】
図８に示すように、まず、取得部２１は、内燃機関１０に発生するノッキングに応じて波形が変化するノック信号を取得する（ステップＳ１０１）。つづいて、画像生成部２２は、取得部２１によって取得されたノック信号を一定周期毎に周波数領域に変換することでノック画像Ｐａ（学習画像Ｐａ）を生成する（ステップＳ１０２）。
【００８２】
つづいて、モデル生成部２３は、画像生成部２２によって生成された学習画像Ｐａに基づいてノッキングの特徴を示すノックモデルを生成する（ステップＳ１０３）。
【００８３】
つづいて、モデル生成部２３は、生成したノックモデルに基づいて、記憶部３に記憶された識別器情報３２に含まれる重み値であり、判定部２４が用いる識別器の重み値を更新し（ステップＳ１０４）、処理を終了する。
【００８４】
次に、図９を用いて、実施形態に係るノック制御装置１が実行する判定処理の処理手順について説明する。図９は、実施形態に係るノック制御装置１が実行する判定処理の処理手順を示すフローチャートである。
【００８５】
図９に示すように、まず、取得部２１は、内燃機関１０に発生するノッキングに応じて波形が変化するノック信号を取得する（ステップＳ２０１）。つづいて、画像生成部２２は、取得部２１によって取得されたノック信号を一定周期毎に周波数領域に変換することでノック画像Ｐｂ（判定画像Ｐｂ）を生成する（ステップＳ２０２）。
【００８６】
つづいて、判定部２４は、モデル生成部２３によって生成されたノックモデルに基づいてノッキングの有無を判定する（ステップＳ２０３）。つづいて、判定部２４は、判定結果を制御装置１００へ通知し（ステップＳ２０４）、処理を終了する。
【００８７】
上述してきたように、実施形態に係るノック制御装置１は、取得部２１と、画像生成部２２と、モデル生成部２３と、判定部２４とを備える。取得部２１は、内燃機関１０に発生するノッキングに応じて波形が変化するノック信号を取得する。画像生成部２２は、取得部２１によって取得されたノック信号を一定周期毎に周波数領域に変換することでノック画像Ｐａ，Ｐｂを生成する。モデル生成部２３は、画像生成部２２によって生成されたノック画像Ｐａ，Ｐｂに基づいてノッキングの特徴を示すノックモデルを生成する。判定部２４は、モデル生成部２３によって生成されたノックモデルに基づいてノッキングの有無を判定する。これにより、ノックモデルの適合精度を向上させることができるため、ノッキングの検出精度を向上させることができる。
【００８８】
なお、上述した実施形態では、内燃機関１０にノッキングが発生したか否かを判定したが、例えば、内燃機関１０のいずれの気筒でノッキングが発生したかを判定してもよい。かかる点について、図１０および図１１を用いて説明する。
【００８９】
図１０は、実施形態の変形例に係るノック制御装置１の構成を示すブロック図である。図１１は、変形例に係る識別器情報３２の説明図である。なお、以下においては、上記の実施形態と共通の構成については、同一の符号を付して説明を省略する。
【００９０】
図１０に示すように、４つのＣＰＳ１１ａ〜１１ｄは、内燃機関１０（例えば４気筒）の各気筒に設けられ、気筒内の燃焼圧を計測する。取得部２１は、各ＣＰＳセンサ１１ａ〜１１ｄの検出値に基づいて気筒毎の複数（図１０では４つ）のノック信号を取得する。
【００９１】
画像生成部２２は、複数のノック信号それぞれを一定周期毎に周波数領域に変換することで複数（図１０では４枚）のノック画像Ｐａ，Ｐｂを生成する。モデル生成部２３は、複数のノック画像Ｐａ，Ｐｂに基づいて複数のノックモデルを生成し、識別器情報３２として記憶する。
【００９２】
図１１に示すように、識別器情報３２は、「エンジンタイプ」、「気筒ＩＤ」、「センサＩＤ」、「エンジン回転速度」、「空気負荷率（充填効率）」、「重み値」、「バイアス」といった項目を含む。「気筒ＩＤ」は、各気筒を識別する情報である。「センサＩＤ」は、各気筒に設けられたＣＰＳセンサ１１ａ〜１１ｄを識別する情報である。なお、「気筒ＩＤ」、「センサＩＤ」以外の項目については上記で説明しているため、省略する。
【００９３】
つまり、判定部２４は、複数のノックモデルに基づいて内燃機関１０の気筒毎にノッキングの有無を判定する。これにより、内燃機関１０のいずれの気筒でノッキングが発生したかを検出することができる。また、制御装置１００が気筒毎に点火タイミングを制御することで燃費を向上させることができる。
【００９４】
また、上述した実施形態では、画像生成部２２は、ノイズ信号をそのまま用いてノック画像Ｐａ，Ｐｂを生成したが、例えば、ノイズ信号をバンドパスフィルタに通過させ、通過後の信号を用いてノック画像Ｐａ，Ｐｂを生成してもよい。かかる点について図１２を用いて説明する。
【００９５】
図１２は、実施形態の変形例に係るノック制御装置１の構成を示すブロック図である。なお、以下においては、上記の実施形態と共通の構成については、同一の符号を付して説明を省略する。
【００９６】
図１２に示すように、変形例に係るノック制御装置１の制御部２は、バンドパスフィルタ２５（ＢＰＦ２５）をさらに備える。ＢＰＦ２５は、取得部２１から入力されるノック信号のうち、特定のノック周波数帯のみを通過させ、通過後の信号を画像生成部２２へ出力する。
【００９７】
具体的には、ＢＰＦ２５は、ノック信号のうち、例えば内燃機関１０（図２参照）の正常時の振動成分のみを減衰させるようなノック周波数帯（例えば５〜２０ｋＨｚ）が設定される。
【００９８】
つまり、ＢＰＦ２５は、ノイズ信号のうち、内燃機関１０（図２参照）の正常時の振動成分をノイズとして除去するとともに、ノッキングに相当する成分のノック周波数帯のみを通過させる。
【００９９】
これにより、画像生成部２２は、ノッキングに相当する成分のみを含む信号からノック画像Ｐａ，Ｐｂを生成できる。つまり、後段のモデル生成部２３による高精度なノックモデルの生成および判定部２４によるノッキングの判定精度向上を実現することができる。
【０１００】
なお、上述した実施形態では、判定部２４は、畳み込みニューラルネットワークの識別器を用いてノッキング判定のみを行ったが、例えば、ノッキング判定時に算出した損失誤差に基づいて重み値ωを再更新してもよい。つまり、判定部２４は、識別器を繰り返し学習させ続ける（逐次学習やオンライン学習）ことで、常に最新の識別器を使用して判定処理を行うようにしてもよい。
【０１０１】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【０１０２】
１    ノック制御装置
２    制御部
３    記憶部
１０    内燃機関
１１    ノックセンサ
２１    取得部
２２    画像生成部
２３    モデル生成部
２４    判定部
３１    画像情報
３２    識別器情報
１００    制御装置
Ｐａ，Ｐｂ  ノック画像
【図１】
2018178810.tif 000003
【図２】
2018178810.tif 000004
【図３】
2018178810.tif 000005
【図４】
2018178810.tif 000006
【図５】
2018178810.tif 000007
【図６】
2018178810.tif 000008
【図７】
2018178810.tif 000009
【図８】
2018178810.tif 000010
【図９】
2018178810.tif 000011
【図１０】
2018178810.tif 000012
【図１１】
2018178810.tif 000013
【図１２】
2018178810.tif 000014