(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022185632
(43)【公開日】2022-12-15
(54)【発明の名称】画像処理装置、画像処理方法及びプログラム
(51)【国際特許分類】
C10B 41/02 20060101AFI20221208BHJP
F27D 21/00 20060101ALI20221208BHJP
【FI】
C10B41/02
F27D21/00 A
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2021093369
(22)【出願日】2021-06-03
(71)【出願人】
【識別番号】000006655
【氏名又は名称】日本製鉄株式会社
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】小杉 聡史
【テーマコード(参考)】
4K056
【Fターム(参考)】
4K056FA19
(57)【要約】
【課題】撮像画像に写り込んでいる火の粉によって生じる不鮮明さを軽減し、より鮮明な炉内画像を得る。
【解決手段】炉内部を観察するための炉壁観察画像を生成する画像処理装置であって、炉内部を移動する撮像装置が炉壁を順次撮像した複数の斜視画像の各々の少なくとも一部の領域を正視画像にそれぞれ変換して得られた複数の炉壁正視画像に対し、互いに重複する部分を含む2つの炉壁正視画像である第1の炉壁正視画像と第2の炉壁正視画像とのずれ量を、フレーム間移動量として算出するフレーム間移動量算出部と、フレーム間移動量に基づいて、炉壁観察画像の横方向の各位置における、炉壁正視画像から切り出される連結用画像の重複数を算出する重複数算出部と、連結用画像の重複数に基づいて、連結用画像の重複部分における画素値の代表値を算出し、代表値を用いて炉壁観察画像を生成する炉壁観察画像生成部と、を有する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
炉内部を観察するための炉壁観察画像を生成する画像処理装置であって、
前記炉内部を移動する撮像装置が炉壁を順次撮像した複数の斜視画像の各々の少なくとも一部の領域を正視画像にそれぞれ変換して得られた複数の炉壁正視画像に対し、互いに重複する部分を含む2つの前記炉壁正視画像である第1の炉壁正視画像と第2の炉壁正視画像とのずれ量を、フレーム間移動量として算出するフレーム間移動量算出部と、
前記フレーム間移動量に基づいて、炉壁観察画像の横方向の各位置における、前記炉壁正視画像から切り出される連結用画像の重複数を算出する重複数算出部と、
前記連結用画像の重複数に基づいて、前記連結用画像の重複部分における画素値の代表値を算出し、前記代表値を用いて前記炉壁観察画像を生成する炉壁観察画像生成部と、
を有する、画像処理装置。
【請求項2】
前記炉壁観察画像生成部は、前記連結用画像の重複部分における画素値の代表値として、中央値を算出する、請求項1に記載の画像処理装置。
【請求項3】
前記炉壁観察画像生成部は、前記連結用画像の重複部分における画素値の代表値として、平均値を算出する、請求項1に記載の画像処理装置。
【請求項4】
前記炉壁観察画像生成部は、前記連結用画像の重複数に応じて、前記画素値の代表値として算出する値を決定する、請求項1に記載の画像処理装置。
【請求項5】
前記フレーム間移動量算出部は、テンプレートマッチング処理により前記フレーム間移動量を算出する、請求項1~4のいずれか1項に記載の画像処理装置。
【請求項6】
前記フレーム間移動量を補正するためのフレーム間移動量推定値を算出するフレーム間移動量推定部をさらに備え、
前記フレーム間移動量算出部は、算出した前記フレーム間移動量が予め設定された閾値の範囲外であるとき、前記フレーム間移動量推定部により算出された前記フレーム間移動量推定値を、前記フレーム間移動量とする、請求項5に記載の画像処理装置。
【請求項7】
前記フレーム間移動量算出部は、前記炉壁正視画像に対応する前記斜視画像が撮像されたときの押出ラムの押出位置に基づいて、前記フレーム間移動量を算出する、請求項1~4のいずれか1項に記載の画像処理装置。
【請求項8】
前記フレーム間移動量算出部は、前記炉壁正視画像に対応する前記斜視画像が撮像されたときの撮影時間に基づいて、前記フレーム間移動量を算出する、請求項1~4のいずれか1項に記載の画像処理装置。
【請求項9】
前記フレーム間移動量算出部は、前記炉壁正視画像に対応する前記斜視画像が撮像されたときの押出ラムの押出速度に基づいて、前記フレーム間移動量を算出する、請求項1~4のいずれか1項に記載の画像処理装置。
【請求項10】
前記フレーム間移動量算出部は、1回のコークス押出しにおける押出ラムの押出速度パターンに基づいて、前記フレーム間移動量を算出する、請求項1~4のいずれか1項に記載の画像処理装置。
【請求項11】
炉内部を観察するための炉壁観察画像を生成する画像処理方法であって、
前記炉内部を移動する撮像装置が炉壁を順次撮像した複数の斜視画像の各々の少なくとも一部の領域を正視画像にそれぞれ変換して得られた複数の炉壁正視画像に対し、互いに重複する部分を含む2つの前記炉壁正視画像である第1の炉壁正視画像と第2の炉壁正視画像とのずれ量を、フレーム間移動量として算出するフレーム間移動量算出ステップと、
前記フレーム間移動量に基づいて、炉壁観察画像の横方向の各位置における、前記炉壁正視画像から切り出される連結用画像の重複数を算出する重複数算出ステップと、
前記連結用画像の重複数に基づいて、前記連結用画像の重複部分における画素値の代表値を算出し、前記代表値を用いて前記炉壁観察画像を生成する炉壁観察画像生成ステップと、
を含む、画像処理方法。
【請求項12】
炉内部を撮像した画像を画像処理するためのプログラムであって、
コンピュータを、
前記炉内部を移動する撮像装置が炉壁を順次撮像した複数の斜視画像の各々の少なくとも一部の領域を正視画像にそれぞれ変換して得られた複数の炉壁正視画像に対し、互いに重複する部分を含む2つの前記炉壁正視画像である第1の炉壁正視画像と第2の炉壁正視画像とのずれ量を、フレーム間移動量として算出するフレーム間移動量算出部と、
前記フレーム間移動量に基づいて、炉壁観察画像の横方向の各位置における、前記炉壁正視画像から切り出される連結用画像の重複数を算出する重複数算出部と、
前記連結用画像の重複数に基づいて、前記連結用画像の重複部分における画素値の代表値を算出し、前記代表値を用いて前記炉壁観察画像を生成する炉壁観察画像生成部と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【0002】
コークス炉の炭化室をはじめとする高温の炉室においては、炉壁が耐火物で構成されており、耐火物の劣化状況を的確に把握することはコークス炉などの炉操業管理上重要である。特に、コークス炉の炭化室は、過酷な条件下で通常30年以上の長期間にわたって連続操業される。炭化室を構成する耐火煉瓦は、熱的、化学的及び機械的要因によって徐々に劣化する。このため、炉壁の損傷や付着カーボン不良に起因するコークスの押し詰まりが生じ、発生した押し詰まりによってさらなる炉壁の損傷、生産スケジュール遅延、復旧作業のための作業負荷増大を招く。したがって、炭化室内の、特に炉壁を構成する耐火煉瓦の劣化状況を常時把握しておくことは、コークス炉操業管理上極めて重要である。
【0003】
コークス炉の炭化室の炉壁を観察するための方法として、例えば特許文献1には、コークス炉炭化室の窯口よりカメラを内部に挿入し、内壁の撮像をもとに炉壁状況を観察するに際し、カメラの視野を斜めとし、炉壁を斜視像として順次撮影して、カメラで少なくとも炉長方向のほぼ全域を撮影し、斜視像の撮像位置情報(炉長方向位置)と、斜視像を正面像に変換した画像情報をもとに、炭化室内の炉壁状況を観察する、コークス炉炭化室の内壁観察方法が開示されている。
【0004】
また、特許文献2には、炭化室の両壁面を、これらの法線方向に対して傾斜した方向から各別のカメラにより撮像し、これらの壁面の斜視画像として与えられる画像データを参照して、両壁面に発生している損傷の種類を認識する技術が開示されている。さらに、特許文献3には、レーザ距離計が計測したコークス炉炭化室の内壁面までの距離に応じた出力電圧を信号変換器によって音声帯域信号に周波数変調し、ビデオカメラが撮影した内壁面の画像とともに記録することにより、内壁面の画像と撮像位置の窯幅とを対応付ける技術が開示されている。
【0005】
このように、熱対策したカメラを炉内に挿入し、炉壁を撮影した映像を用いて炭化室の炉壁を観察することで、炉内中心部においても炉壁を観察することができ、作業員にとっても確認作業を安全に行うことができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平3-105195号公報
【特許文献2】特開2001-3058号公報
【特許文献3】特開2001-11465号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
コークスの押出しは十数分に1回という高い頻度で行われ、カメラ等は高温の炭化室内に挿入される。コークスの押出し毎に炭化室を観察する場合、炭化室内では、撮影中に火の粉が舞い、撮像画像に火の粉が写り込むことが多々ある。このため、斜視像である撮像画像を画像処理して炉壁を正面視した炉壁観察画像を生成したときに、カメラの視野に入り込んだ火の粉が炉壁観察画像に写り込み、炉壁観察画像の鮮明さが失われることがある。より鮮明な炉壁観察画像を得るためには、画像に写り込む火の粉の影響を軽減する必要がある。
【0008】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、撮像画像に写り込んでいる火の粉によって生じる不鮮明さを軽減し、より鮮明な炉内画像を得ることが可能な、画像処理装置、画像処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明のある観点によれば、炉内部を観察するための炉壁観察画像を生成する画像処理装置であって、炉内部を移動する撮像装置が炉壁を順次撮像した複数の斜視画像の各々の少なくとも一部の領域を正視画像にそれぞれ変換して得られた複数の炉壁正視画像に対し、互いに重複する部分を含む2つの炉壁正視画像である第1の炉壁正視画像と第2の炉壁正視画像とのずれ量を、フレーム間移動量として算出するフレーム間移動量算出部と、フレーム間移動量に基づいて、炉壁観察画像の横方向の各位置における、炉壁正視画像から切り出される連結用画像の重複数を算出する重複数算出部と、連結用画像の重複数に基づいて、連結用画像の重複部分における画素値の代表値を算出し、代表値を用いて炉壁観察画像を生成する炉壁観察画像生成部と、を有する、画像処理装置が提供される。
【0010】
炉壁観察画像生成部は、連結用画像の重複部分における画素値の代表値として、中央値を算出してもよい。
【0011】
また、炉壁観察画像生成部は、連結用画像の重複部分における画素値の代表値として、平均値を算出してもよい。
【0012】
炉壁観察画像生成部は、連結用画像の重複数に応じて、画素値の代表値として算出する値を決定してもよい。
【0013】
フレーム間移動量算出部は、テンプレートマッチング処理によりフレーム間移動量を算出してもよい。
【0014】
ここで、画像処理装置は、フレーム間移動量を補正するためのフレーム間移動量推定値を算出するフレーム間移動量推定部をさらに備えてもよい。このとき、フレーム間移動量算出部は、算出したフレーム間移動量が予め設定された閾値の範囲外であるとき、フレーム間移動量推定部により算出されたフレーム間移動量推定値を、フレーム間移動量としてもよい。
【0015】
フレーム間移動量算出部は、炉壁正視画像に対応する斜視画像が撮像されたときの押出ラムの押出位置に基づいて、フレーム間移動量を算出してもよい。
【0016】
また、フレーム間移動量算出部は、炉壁正視画像に対応する斜視画像が撮像されたときの撮影時間に基づいて、フレーム間移動量を算出してもよい。
【0017】
フレーム間移動量算出部は、炉壁正視画像に対応する斜視画像が撮像されたときの押出ラムの押出速度に基づいて、フレーム間移動量を算出してもよい。
【0018】
フレーム間移動量算出部は、1回のコークス押出しにおける押出ラムの押出速度パターンに基づいて、フレーム間移動量を算出してもよい。
【0019】
また、上記課題を解決するために、本発明の別の観点によれば、炉内部を観察するための炉壁観察画像を生成する画像処理方法であって、炉内部を移動する撮像装置が炉壁を順次撮像した複数の斜視画像の各々の少なくとも一部の領域を正視画像にそれぞれ変換して得られた複数の炉壁正視画像に対し、互いに重複する部分を含む2つの炉壁正視画像である第1の炉壁正視画像と第2の炉壁正視画像とのずれ量を、フレーム間移動量として算出するフレーム間移動量算出ステップと、フレーム間移動量に基づいて、炉壁観察画像の横方向の各位置における、炉壁正視画像から切り出される連結用画像の重複数を算出する重複数算出ステップと、連結用画像の重複数に基づいて、連結用画像の重複部分における画素値の代表値を算出し、代表値を用いて炉壁観察画像を生成する炉壁観察画像生成ステップと、を含む、画像処理方法が提供される。
【0020】
さらに、上記課題を解決するために、本発明の別の観点によれば、炉内部を撮像した画像を画像処理するためのプログラムであって、コンピュータを、炉内部を移動する撮像装置が炉壁を順次撮像した複数の斜視画像の各々の少なくとも一部の領域を正視画像にそれぞれ変換して得られた複数の炉壁正視画像に対し、互いに重複する部分を含む2つの炉壁正視画像である第1の炉壁正視画像と第2の炉壁正視画像とのずれ量を、フレーム間移動量として算出するフレーム間移動量算出部と、フレーム間移動量に基づいて、炉壁観察画像の横方向の各位置における、炉壁正視画像から切り出される連結用画像の重複数を算出する重複数算出部と、連結用画像の重複数に基づいて、連結用画像の重複部分における画素値の代表値を算出し、代表値を用いて炉壁観察画像を生成する炉壁観察画像生成部として機能させるプログラムが提供される。
【発明の効果】
【0021】
以上説明したように本発明によれば、炉壁正視画像の重複部分における画素値の代表値を算出し、代表値を用いて炉壁観察画像を生成することで、撮像画像に写り込んでいる火の粉によって生じる不鮮明さを軽減し、より鮮明な炉内画像を得ることができる。
【図面の簡単な説明】
【0022】
【
図1】本発明の一実施形態に係る炉壁観察装置の一構成例を示す模式図である。
【
図2】同実施形態に係る画像処理方法の概要を説明する説明図である。
【
図3】同実施形態に係る画像処理装置の一構成例を示す機能ブロック図である。
【
図5】同実施形態に係る画像処理方法の全体の流れを示すフローチャートである。
【
図6】時間平均画像生成処理の一例を示すフローチャートである。
【
図7】左右領域算出処理の一例を示すフローチャートである。
【
図9】時間平均画像におけるテンプレートマッチング処理を説明する説明図である。
【
図10】テンプレートマッチング処理を用いたフレーム間移動量算出処理の一例を示すフローチャートである。
【
図11】炉壁斜視画像を透視変換して炉壁正視画像とする処理を説明する説明図である。
【
図12】現フレームにおける探索領域とテンプレート画像との関係を示す説明図である。
【
図13】
図12の炉壁正視画像を、前フレームと現フレームそれぞれに分けて示した図である。
【
図14】フレーム間移動量推定処理の一例を示すフローチャートである。
【
図15】押出ラムの押出位置を用いたフレーム間移動量算出処理の一例を示すフローチャートである。
【
図16】撮影時間を用いたフレーム間移動量算出処理の一例を示すフローチャートである。
【
図17】押出ラムの押出速度を用いたフレーム間移動量算出処理の一例を示すフローチャートである。
【
図18】押出ラムの押出速度パターンを用いたフレーム間移動量算出処理の一例を示すフローチャートである。
【
図19】押出速度パターンの一例を示す説明図である。
【
図20】フレーム重複数算出処理の一例を示すフローチャートである。
【
図21】フレーム重複数算出処理を説明するための説明図である。
【
図22】炉壁観察画像生成処理の全体の流れを示すフローチャートである。
【
図23】炉壁観察画像生成用の記憶領域を確保するための処理を示すフローチャートである。
【
図24】代表値算出用画像の概要を示す説明図である。
【
図25】代表値算出用画像生成処理の一例を示すフローチャートである。
【
図26】代表値を算出するための画像データの再配置を説明する説明図である。
【
図27】炉壁観察画像を構成する連結用画像を示す説明図である。
【
図28】炉壁観察画像用配列への格納処理の一例を示すフローチャートである。
【
図29】炉壁観察画像用配列への格納処理を説明する説明図である。
【
図31】同実施形態に係る画像処理装置として機能する情報処理装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【0023】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0024】
[1.コークス炉の炭化室の観察]
まず、
図1に基づいて、コークス炉の炭化室の炉壁画像を取得する炉壁観察装置の一構成例を説明する。
図1は、本発明の一実施形態に係る炉壁観察装置の一構成例を示す模式図である。
【0025】
コークス炉1は、コークスを生成するための窯炉である。コークス炉1の炉体の上部には炭化室と燃焼室とが交互に配列され、下部には蓄熱室が設けられる。コークスは、蓄熱室でそれぞれ予熱された燃焼ガスと燃焼用空気とを燃焼室で燃焼させ、発生した熱によって炭化室に装入された石炭を乾留することによって生成される。
【0026】
図1は、コークス炉1の炭化室10の内部を炭化室幅方向(X方向)から見た状態を示している。炭化室10は炭化室幅方向に対向する2つの炉壁11により構成されており、
図1には紙面奥側にある1つの炉壁11のみが示されている。炭化室10に装入された石炭を乾留して生成されたコークスは、押出ラムビーム20の一端に設けられている押出ラム21が押出方向(Y方向)に移動されることにより炭化室10のコークス排出側へ押し出され、炭化室10から排出される。
【0027】
図1の押出ラムビーム20には、炭化室10の幅中央に、高さ方向(Z方向)に並列された2つの撮像装置31、33が設けられている。撮像装置31、33は、炭化室10の炉壁11の炉壁画像を取得する炉壁観察装置として機能する。撮像装置31、33は、炭化室10内の高温環境にも耐え得るように、冷却機構または耐熱機構を備えている。
図1に示す撮像装置31、33は、コークス排出側と反対側の押出機側を撮像方向として、押出ラムビーム20が押出機側からコークス排出側に移動される際に、または、コークス排出側から押出機側に移動される際に、順次炉壁11の画像を撮像する。これにより、コークスの押出毎に炭化室10内を観察することができる。撮像装置31、33により取得された画像は、後述する画像処理装置へ出力される。
【0028】
なお、
図1では2つの撮像装置31、33が設置されているが、本発明はかかる例に限定されず、撮像装置は1つでもよく、3つ以上でもよい。また、撮像装置31、33は、押出ラムビーム20以外の、炭化室10内を押出方向に沿って移動可能な移動機構に設けてもよい。
【0029】
[2.画像処理装置]
図1に示した撮像装置31、33により取得された画像は、本実施形態に係る画像処理装置100へ出力される。本実施形態に係る画像処理装置100は、コークス炉1の炭化室10内部の炉壁11の斜視画像を透視変換して得られた複数の炉壁正視画像を連結して、炉壁観察画像を生成する装置である。
【0030】
撮像装置31、33にて取得された画像は、撮像装置31、33を炉壁11に正対させて設置する等して撮影方向を炉壁11の正面に向けることで得られる正視画像ではなく、撮影方向を押出方向として撮像装置31、33を設置すること等によって斜視の状態で炉壁11を撮像して得られる斜視画像である。また、撮像装置31、33を炭化室10の押出方向に移動させながら取得された各斜視画像においては、各斜視画像の撮像時の撮像装置31、33の位置から離れた部分ほど不明瞭になるため、各斜視画像に写っている炉壁11全体を明瞭に確認することは難しい。しかし、各斜視画像を撮像したときの押出方向の位置近傍での炉壁11は、各斜視画像から明瞭に確認することができる。
【0031】
そこで、本実施形態に係る画像処理装置100は、撮像装置31、33により撮像された斜視画像から炉壁を明瞭に確認できる部分を抽出するとともに、抽出した部分画像(炉壁斜視画像)を透視変換して炉壁正視画像を生成する。そして、複数の炉壁正視画像から切り出された連結用画像を連結して、炉壁11全体を表す炉壁観察画像を生成する。
【0032】
ここで、撮像装置31、33により撮像された斜視画像には、火の粉が写り込んでいる場合がある。火の粉が写り込んだ撮像画像を画像処理して炉壁観察画像を生成すると、炉壁観察画像にも火の粉が写り込み、炉壁観察画像の鮮明さが失われてしまう。そこで、本実施形態に係る画像処理装置100では、複数の炉壁正視画像において同一位置を撮像している部分(重複部分)の画素値の代表値を用いて、炉壁観察画像を生成する。
【0033】
図2は、本実施形態に係る炉壁観察画像Iの生成処理の概要を示す。なお、以降の説明において、炉壁観察画像I等の画像については、炭化室10の炉壁11の押出方向(Y方向)に対応する方向を「横方向」、炭化室10の炉壁11の高さ方向(Z方向)に対応する方向を「縦方向」とする。炉壁観察画像Iは、複数の連結用画像Fを連結することにより構成されている。1回のコークスの押出しでは、複数の撮像画像が撮像される。連結用画像Fは、撮像画像を画像処理して得られた炉壁正視画像を、所定のサイズに切り出して生成される。1回のコークスの押出しにおいて、撮像画像は連続して撮像されることから、一部の連結用画像Fには、炉壁11の同一位置を撮像した部分が含まれ得る。
【0034】
例えば、
図2において連結用画像F1~F7には、炉壁11の同一位置を撮像した部分(重複部分)Poが含まれている。例えば、連結用画像F1~F7の重複部分Poのうち、連結用画像F7の重複部分Poに火の粉が写り込んでいた場合、連結用画像F7の重複部分Poの画素値は、他の連結用画像F1~F6の重複部分の画素値と大きく異なる。その結果、撮影順に連結用画像を連結する場合に、生成される炉壁観察画像Iの画素値となる連結用画像F7の重複部分Poの画素値が炉壁観察画像I上ではノイズとなって、炉壁観察画像Iが不鮮明となる場合がある。そこで、本実施形態に係る画像処理装置100は、重複部分Poを持つ連結用画像F1~F7のうち最後の連結用画像F7の画素値を用いる代わりに、連結用画像F1~F7の重複部分Poの画素値の代表値を用いて、炉壁観察画像Iを生成する。これにより、画像に写り込む火の粉の影響が軽減され、より鮮明な炉壁観察画像を得ることができる。
【0035】
図3に、本実施形態に係る画像処理装置100の一構成例を示す。本実施形態に係る画像処理装置100は、
図3に示すように、画像取得部110と、前処理部120と、フレーム間移動量算出部130と、フレーム間移動量推定部140と、炉壁観察画像生成部150と、重複数算出部160とを有する。
【0036】
画像取得部110は、撮像装置31、33により撮像された炉壁斜視画像Ipを、記憶装置300の撮像画像記憶部310から取得する。撮像画像記憶部310は、撮像装置31、33により撮像された炉壁斜視画像Ipを記憶する記憶部であり、例えばサーバ等により構成された記憶装置300に設けられる。なお、記憶装置300は画像処理装置100が備えていてもよい。
【0037】
撮像装置31、33は、押出機側からコークス排出側への1回の移動において、炉壁11を連続的に撮像する。これにより、撮像装置31、33は、炉壁11を斜視状態で撮像した複数の炉壁斜視画像Ip(フレーム)からなる、例えば炉壁11全体等の炉壁11の撮像対象部分を撮像した動画を得る。各炉壁斜視画像Ipには炉壁11の一部が写っており、炉壁斜視画像Ipに写っている炉壁11の一部は、他の炉壁斜視画像Ipに写っている炉壁11の一部と重複する部分を含んでいる。なお、少なくとも撮像順に連続する2つの炉壁斜視画像Ipが重複する部分を有していればよく、1または複数のフレームを挟んだ不連続の2つの炉壁斜視画像Ipが重複する部分を有していてもよい。
【0038】
撮像装置31、33により撮像された複数の炉壁斜視画像Ipは、撮像画像記憶部310に順次記録される。具体的には、撮像装置31、33と記憶装置300とが無線または有線により通信可能に接続されることで、撮像装置31、33から記憶装置300に送信される。画像取得部110は、撮像画像記憶部310から取得した炉壁斜視画像Ipを、前処理部120、フレーム間移動量算出部130及び炉壁観察画像生成部150へ出力する。
【0039】
前処理部120は、撮像装置31、33を押出機側からコークス排出側へ移動させる間に当該撮像装置31、33により撮像された複数の炉壁斜視画像Ipから、それぞれ炉壁正視画像Isを生成するために必要な前処理を行う。前処理部120は、画像取得部110から炉壁斜視画像Ipを受け取ると、炉壁斜視画像Ipそれぞれにおいて、撮像された炭化室10の2つの炉壁11を表す部分を適切に切り出すための処理を行う。具体的には、前処理部120は、炉壁斜視画像Ipから、炭化室10の左右2つの炉壁11を表す領域(以下、炉壁の「右領域」、「左領域」、あるいはまとめて「左右領域」ともいう。)を特定するための対称軸C(
図9の対称軸C)を求める。前処理部120により対称軸Cを求める処理の詳細は後述する。前処理部120は、求めた対称軸Cを設定するための情報を、フレーム間移動量算出部130及び炉壁観察画像生成部150へ出力する。
【0040】
フレーム間移動量算出部130は、前処理部120による前処理結果を用いて複数の炉壁正視画像Isを生成する。そして、フレーム間移動量算出部130は、生成した複数の炉壁正視画像Isに対し、重複する部分を含む2つの炉壁正視画像Isである第1の炉壁正視画像Is
1と第2の炉壁正視画像Is
2とについて、第1の炉壁正視画像Is
1と第2の炉壁正視画像Is
2とのずれ量を、フレーム間移動量Lとして算出する。
図4は、フレーム間移動量Lを示す図である。
【0041】
フレーム間移動量算出部130は、例えば、テンプレートマッチング処理によりフレーム間移動量Lを算出してもよい。また、フレーム間移動量算出部130は、例えば、炉壁正視画像Isに対応する炉壁斜視画像Ipが撮像されたときの押出ラム21の押出位置または撮影時間に基づいて、フレーム間移動量Lを算出してもよい。さらに、フレーム間移動量算出部130は、例えば、炉壁正視画像Isに対応する炉壁斜視画像Ipが撮像されたときの押出ラム21の押出速度、もしくは、1回のコークス押出しにおける押出ラム21の押出速度パターンに基づいて、フレーム間移動量Lを算出してもよい。フレーム間移動量算出部130によるフレーム間移動量Lの算出方法については、後述する。
【0042】
フレーム間移動量算出部130は、算出したフレーム間移動量Lを、炉壁観察画像生成部150及び重複数算出部160へ出力する。また、フレーム間移動量算出部130は、テンプレートマッチング処理によりフレーム間移動量Lを補正する場合には、フレーム間移動量Lの代わりに、フレーム間移動量推定部140において算出された補正後のフレーム間移動量(後述のフレーム間移動量推定値)L’を出力する。
【0043】
フレーム間移動量推定部140は、フレーム間移動量算出部130にて算出されたフレーム間移動量Lを補正するためのフレーム間移動量推定値L’を算出する。フレーム間移動量Lは、撮影画像に写り込んだ煙等のノイズの影響により、正しく算出できない場合もある。フレーム間移動量推定部140は、フレーム間移動量算出部130にて算出されたフレーム間移動量Lが閾値の範囲外である場合に尤もらしい値に補正するための補正値として、フレーム間移動量推定値を算出する。フレーム間移動量推定部140は、算出したフレーム間移動量推定値L’を、フレーム間移動量算出部130へ出力する。なお、画像処理装置100は、テンプレートマッチング処理によりフレーム間移動量Lを補正する場合にのみ、フレーム間移動量推定部140を設けていればよい。
【0044】
炉壁観察画像生成部150は、画像取得部110から出力された炉壁斜視画像Ipを用いて炉壁正視画像Isを生成し、生成した複数の炉壁正視画像Isからそれぞれ連結用画像Fを切り出して、連結することにより炉壁観察画像Iを生成する。炉壁観察画像生成部150は、後述する重複数算出部160により算出された連結用画像Fの重複数に基づいて、連結用画像Fの重複部分における画素値の代表値を算出し、代表値を用いて炉壁観察画像Iを生成する。これにより、重複部分を有する複数の連結用画像Fから炉壁観察画像Iを生成する際に、火の粉が写り込んでいる一部の領域の影響を軽減することができ、より鮮明な炉壁観察画像Iを得ることができる。炉壁観察画像生成部150による炉壁観察画像生成処理の詳細は後述する。炉壁観察画像生成部150は、生成した炉壁観察画像Iを、画像処理装置100と通信可能に接続された表示装置500へ出力してもよい。あるいは、炉壁観察画像生成部150は、生成した炉壁観察画像Iを、記憶装置300の炉壁観察画像記憶部320に記録してもよい。
【0045】
重複数算出部160は、フレーム間移動量算出部130またはフレーム間移動量推定部140により算出されたフレーム間移動量Lまたは補正後のフレーム間移動量L’に基づいて、炉壁観察画像Iの横方向(すなわち、炭化室の押出方向(Y方向))の各位置における連結用画像Fの重複数を算出する。連結用画像Fの重複数は、炉壁観察画像生成部150により炉壁観察画像Iを生成する際に用いられる。重複数算出部160による重複数算出処理の詳細は後述する。重複数算出部160は、算出した炉壁正視画像Isの重複数を、炉壁観察画像生成部150へ出力する。
【0046】
以上、本実施形態に係る画像処理装置100について説明した。なお、本実施形態に係る画像処理装置100では、炉壁斜視画像Ipから炉壁正視画像Isへの変換は、フレーム間移動量算出部130及び炉壁観察画像生成部150でそれぞれ行われているが、本発明は係る例に限定されない。例えば、フレーム間移動量算出部130で生成された炉壁正視画像Isを炉壁観察画像生成部150に渡すなど、特定の1つの機能部で生成された炉壁正視画像Isを他の機能部に渡すように構成してもよい。
【0047】
[3.画像処理方法]
以下、
図5~
図30に基づいて、本実施形態に係る画像処理装置100による画像処理方法について、詳細に説明する。
図5は、本実施形態に係る画像処理方法の全体の流れを示しており、
図6~
図30を用いて各処理の詳細を説明する。なお、以下では、押出機側からコークス排出側への1回の移動において、1つの撮像装置(例えば撮像装置31)により取得された複数の炉壁斜視画像Ipから1つの炉壁観察画像Iを得る場合について説明する。複数の撮像装置により炭化室内の画像を取得可能な場合には、以下に説明する画像処理方法を、撮像装置毎に実施すればよい。
【0048】
[3-1.炉壁斜視画像取得処理]
本実施形態に係る画像処理方法では、
図5に示すように、まず、画像取得部110は、記憶装置300の撮像画像記憶部310に記録された複数の炉壁斜視画像Ipを取得する(S0)。例えば押出機側からコークス排出側への1回の移動において、撮像装置(例えば撮像装置31)は複数の炉壁斜視画像Ipを取得する。炉壁斜視画像Ipは、動画を構成するフレームともいえる。画像取得部110は、1回の押出ラムビーム20の移動時に撮像装置(例えば撮像装置31)が炉壁11を連続的に撮像して得られた複数の炉壁斜視画像Ip(フレーム)を、撮像画像記憶部310から取得する。画像取得部110は、取得した複数の炉壁斜視画像Ipを、前処理部120、フレーム間移動量算出部130、及び炉壁観察画像生成部150へ出力する。
【0049】
[3-2.前処理(時間平均画像生成処理、左右領域算出処理)]
次いで、前処理部120は、時間平均画像生成処理(S10)及び左右領域算出処理(S20)を前処理として実施する。
【0050】
撮像装置31、33が押出方向に正確に正対していれば、炉壁11は炉壁斜視画像Ipの縦の中心軸に炭化室窯口の中心があるように撮影されるため、炉壁斜視画像Ipにおける炉壁11の右領域及び左領域を予め設定することができる。しかし、撮像装置31、33を正確に押出方向に正対させることはハードウェア的に難しい。そこで、本実施形態では、前処理部120によって時間平均画像生成処理及び左右領域算出処理を実施することで、炉壁斜視画像Ipの縦の中心軸と炭化室窯口の中心とが多少ずれていてもソフトウェア的にそのずれを吸収する。
【0051】
(時間平均画像生成処理)
時間平均画像生成処理では、左右領域算出処理にて用いる時間平均画像が生成される。左右領域算出処理にて左右領域を同定するために、ある特定の炉壁斜視画像Ipを用いずに時間平均画像を用いるのは、時間平均画像の炭化室窯口付近の部分画像の左右対称性が、ある特定の炉壁斜視画像Ipのそれよりも高いからである。ある特定の炉壁斜視画像Ipの炭化室窯口付近の部分画像には、火の粉などの炉壁以外の映り込みや、左右対称でない目地などの映り込みがある。このため、ある特定の炉壁斜視画像Ipの炭化室窯口付近の部分画像は、後述する左右領域算出処理における左右反転画像(テンプレート画像A1)を用いたマッチングによる対称軸推定に用いるには適さない場合がある。そこで、本実施形態では、時間平均画像を生成して、後述の左右領域算出処理を実施する。
【0052】
時間平均画像生成処理の一例を
図6に示す。
図6に示すように、前処理部120は、まず、時間平均画像の画素値を格納する2次元配列である時間平均画像用配列の各要素及びフレームの数をカウントするカウンタをゼロに設定する(S101)。時間平均画像用配列の各要素には、読み込まれた複数のフレームについて、各フレームを構成する複数の画素の各位置における画素値の和が格納される。そして、前処理部120は、画像取得部110により取得された炉壁斜視画像Ipの読み込み(取得)を開始する(S103)。ステップS103では、フレームは、時系列順に(例えば、押出機側からコークス排出側に向かって順に)読み込まれる。
【0053】
前処理部120は、ステップS103にてフレームの読み込みを実行し、フレームの読み込みに成功したか否かを判定する(S105)。フレーム読み込みが成功した場合には(S105:YES)、当該フレームの各画素値を、各画素に対応する時間平均画像用配列の要素へ加算する(S107)。そして、前処理部120は、カウンタの値に1を加算して(S109)、ステップS103の処理に戻り、次のフレームを読み込む。ステップS103~S109の処理は、すべてのフレームの読み込みが完了するまで繰り返し実行される。
【0054】
一方、ステップS105にてフレームを読み込めなかった場合には(S105:NO)、最終フレームまで読み込みが完了したことから、時間平均画像用配列の各要素に格納された画素値の和をカウンタの値で除算し、時間平均画像を生成する(S111)。カウンタの値は、読み込まれたフレームの数に相当する。こうして、押出機側からコークス排出側への1回の移動において取得された複数の炉壁斜視画像Ipの平均画像である時間平均画像が取得される。
【0055】
(左右領域算出処理)
次いで、前処理部120は、左右領域算出処理を実施する。左右領域算出処理では、各炉壁斜視画像Ip(フレーム)から、炭化室10の左右2つの炉壁11を表す領域(以下、炉壁の「右領域」、「左領域」、あるいはまとめて「左右領域」ともいう。)を特定する。左右領域算出処理の一例を
図7に示す。
【0056】
前処理部120は、まず、
図6の時間平均画像生成処理にて得られた時間平均画像から、テンプレート画像A1となる部分領域A0を設定し、切り取る(S201)。時間平均画像Iaには、例えば
図8に示すように、撮像された炭化室10内の左右2つの炉壁11R、11Lが表れている。また、炭化室の炉底13、及び、炭化室10の押出機側にある炭化室窯口15も表れることもある。時間平均画像Iaの部分領域A0は、時間平均画像Iaよりも小さいサイズの、ユーザが任意に設定可能な炉壁の一部分を含む領域である。
【0057】
次いで、前処理部120は、ステップS201にて時間平均画像Iaから切り取られた部分領域A0を左右反転させて、
図9右側に示すようなテンプレート画像A1とする(S203)。テンプレート画像A1は、例えば、
図9上側に示すように、時間平均画像Iaの横幅Wから、時間平均画像Iaの左端及び右端からそれぞれ長さx1だけ横幅Wを小さくした幅に設定される。長さx1は、時間平均画像Iaの横幅Wと炭化室窯口15の中央付近位置との対応関係から予め求めることができる。なお、テンプレート画像A1の縦幅は、左右領域算出処理にほとんど影響しないことから適宜設定すればよい。
【0058】
そして、前処理部120は、テンプレート画像A1が合致する画像領域を特定するテンプレートマッチング処理を行う(S205)。
【0059】
テンプレートマッチング処理は、探索対象画像中において、テンプレート画像と最も類似度の高い画像領域を求める画像処理方法である。具体的には、探索対象画像のサイズがN[ピクセル]×M[ピクセル]、テンプレート画像のサイズがn[ピクセル]×m[ピクセル](0<n≦N,0<m≦M)であるとき、テンプレートマッチング処理により、(N-n+1)×(M-m+1)の2次元配列がテンプレートマッチング結果として得られる。テンプレートマッチング結果の(i,j)要素(0≦i<N-n+1,0≦j<M-m+1)には、探索対象画像の画像領域(画像サイズ:n×m、左上頂点の画素位置(i,j))とテンプレート画像との類似度を表す数値が格納される。テンプレートマッチング結果の各要素において最も類似度の高い数値が格納されている要素が(ig,jh)要素(0≦ig<N-n+1,0≦jh<M-m+1)であれば、探索対象画像において左上頂点の画素位置が(ig,jh)であって画像サイズがn×mである画像領域が、テンプレート画像との類似度が最も高い画像領域として得られる。
【0060】
前処理部120は、テンプレートマッチング処理によって得られた、時間平均画像Iaにおいてテンプレート画像A1との類似度が最も高い画像領域の位置から、時間平均画像Iaを横方向(すなわち、炭化室の幅方向(X方向))に分割したときに左右領域が対称となる対称軸Cを決定する(S207)。例えば
図9下側に示すように、対称軸Cの位置は、下記式(1)で表される。
【0061】
x=(s+W-x1)/2 ・・・(1)
【0062】
なお、長さsは、時間平均画像Ia内においてテンプレート画像A1が合致する画像領域の位置が特定されたときの、時間平均画像Iaの横方向の一端(例えば左端)からテンプレート画像A1が合致する画像領域の一端までの長さである。上記式(1)は、x=s+(W-x-x1)の関係より得ることができる。
【0063】
ステップS207にて決定された対称軸Cは、炉壁斜視画像Ip(フレーム)を左右領域に分割する際に用いられる。このように対称軸Cを求めることで、炉壁斜視画像Ip(フレーム)をより正確に左領域と右領域とに区分することができる。また、時間平均画像Iaから切り取られた部分領域A0を左右反転させてテンプレート画像A1とし、テンプレートマッチング処理を実施することで、簡便なアルゴリズムで対称軸Cを推定することができる。前処理部120は、推定した対称軸Cの位置xを、フレーム間移動量算出部130及び炉壁観察画像生成部150に出力する。
【0064】
[3-3.フレーム間移動量算出処理]
図5の説明に戻り、時間平均画像生成処理(S10)及び左右領域算出処理(S20)を終えると、フレーム間移動量算出部130は、フレーム間移動量算出処理を実施し、フレーム間移動量Lを算出する(S30)。フレーム間移動量算出処理は、様々な手法により行うことができる。以下、フレーム間移動量算出処理の例として、(1)テンプレートマッチング処理を用いた手法、(2)押出ラムの押出位置に基づく手法、(3)撮影時間に基づく手法、(4)押出ラムの押出速度に基づく手法、(5)押出ラムの押出速度パターンに基づく手法について説明する。
【0065】
(1)テンプレートマッチング処理を用いた手法
まず、
図10~
図14に基づいて、テンプレートマッチング処理を用いたフレーム間移動量算出処理を説明する。
図10は、テンプレートマッチング処理を用いたフレーム間移動量算出処理の一例を示すフローチャートである。
図11は、炉壁斜視画像を透視変換して炉壁正視画像とする処理を説明する説明図である。
図12は、現フレームにおける探索領域とテンプレート画像A2との関係を示す説明図である。
図13は、
図12のテンプレート画像A2の位置を、前フレームと現フレームそれぞれに分けて示した図である。
図14は、フレーム間移動量推定処理の一例を示すフローチャートである。
【0066】
本手法では、
図10に示すテンプレートマッチング処理を用いたフレーム間移動量算出処理によりフレーム間移動量Lを求めた後、求めたフレーム間移動量Lを
図14に示すフレーム間移動量推定処理によって尤もらしい値に補正することで、後続の処理で用いるフレーム間移動量L’を求める。以下、テンプレートマッチング処理を用いたフレーム間移動量算出処理及びフレーム間移動量推定処理について説明する。
【0067】
(1-1)テンプレートマッチング処理を用いたフレーム間移動量算出処理
まず、
図10に示すテンプレートマッチング処理を用いたフレーム間移動量算出処理によりフレーム間移動量Lを求める。
図10に示すように、フレーム間移動量算出部130は、まず、算出されるフレーム間移動量Lを格納するための2次元配列である移動量格納配列に初期値を設定する(S301a)。初期値として、例えば「0」の値が格納される。移動量格納配列は、炉壁斜視画像Ipを分割した左領域用と右領域用とが用意される。
【0068】
上述したように、フレーム間移動量Lは、第1の炉壁正視画像Is
1と第2の炉壁正視画像Is
2とのずれ量である。すなわち、フレーム間移動量Lは、
図4に示したように、同一の画像サイズを有する第1の炉壁正視画像Is
1と第2の炉壁正視画像Is
2とが重ね合わせられた状態から、これらの炉壁正視画像Is
1、Is
2に重複して写っている炉壁の部分がぴったり重なるまで第2の炉壁正視画像Is
2を移動させる量である。フレーム間移動量Lは、2つの炉壁正視画像Is
1、Is
2のずれを表す量であることから、画素数で表すことができる。炉壁正視画像Isの左右(横)方向は、炭化室の押出方向に一致するため、フレーム間移動量Lは、第2の炉壁正視画像Is
2を第1の炉壁正視画像Is
1から相対的に左右にずらす画素数により表される。移動量格納配列には、少なくとも左右(横)方向の移動量が格納されればよいが、上下(縦)方向の移動量も格納してもよい。左右方向の移動量及び上下方向の移動量を格納する場合には、移動量格納配列のサイズは、総フレーム数×2となる。
【0069】
初期値を設定後、フレーム間移動量算出部130は、炉壁斜視画像Ip(フレーム)の読み込みを開始する(S303a)。フレームは、時系列順に(例えば、押出機側からコークス排出側に向かって順に)読み込まれる。
【0070】
フレーム間移動量算出部130は、ステップS303aにてフレームの読み込みを実行し、フレームの読み込みに成功したか否かを判定する(S305a)。ステップS305aにてフレームを読み込めなかった場合には(S305a:NO)、最終フレームまで読み込みが完了したことから、
図10に示す処理を終了する。ステップS305aにてフレーム読み込みが成功すると(S305a:YES)、フレーム間移動量算出部130は、左右領域算出処理にて決定された対称軸Cを用いて、当該フレームを左領域と右領域とに分割する(S307a)。
【0071】
次いで、フレーム間移動量算出部130は、フレームの左領域と右領域それぞれを透視変換し、各領域の炉壁正視画像Isを得る(S309a)。撮像装置により撮像して得られたフレームは、
図11左側に示すように炉壁11L、11Rを斜視した状態で得た炉壁斜視画像Ipである。本実施形態に係る画像処理方法では、炉壁11L、11Rの状態をより詳細に確認できるように、炉壁11L、11Rを正視した状態での炉壁観察画像Iを得る。そこで、ステップS309aでは、炉壁斜視画像Ipを透視変換して炉壁正視画像Isとする。例えば、
図11左側のフレーム(炉壁斜視画像)Ipにおいて炉壁11Rを含む矩形状の右領域IpRは、
図11右側に示すような透視変換後の炉壁正視画像Isにおいては、台形状の右領域IsRとなる。フレーム(炉壁斜視画像)Ipにおける右領域IpRの4つの頂点ABCDは、炉壁正視画像Isにおける右領域IsRの4つの頂点abcdに対応する。
【0072】
そして、フレーム間移動量算出部130は、左領域及び右領域の炉壁正視画像Isから、テンプレートマッチング処理を行うための探索領域を設定する(S311a)。探索領域は、ユーザにより、例えば
図12に示すように、炉壁正視画像Isにおいて、炉壁が明瞭に確認できる部分に適宜設定される。探索領域のサイズは、テンプレートマッチング処理の精度を高めるためにはなるべく大きく設定するのがよい。一方で、炉壁正視画像Is全体を探索領域とするとテンプレートマッチング処理に時間がかかり、テンプレートマッチング処理によって得られるテンプレートマッチング結果のサイズも大きくなる。したがって、探索領域は、なるべくサイズを大きくしつつ、炉壁正視画像Isにおいて炉壁が明瞭に確認できる部分に設定するのがよい。
【0073】
さらに、フレーム間移動量算出部130は、設定した探索領域に前処理を施す(S313a)。前処理としては、例えば、探索領域内の画像に対して平滑化処理を実施してもよい。また、前処理として、例えば、探索領域内の画像から緑画素成分を抽出した画像を生成してもよい。炉壁正視画像Isに表れている炉壁は全体的に赤く、のっぺりとしてぼやけている。このような画像でテンプレートマッチング処理を行った場合、許容される程度の精度でテンプレートマッチング結果を得ることはできるが、特徴部分をより明確にした画像を用いれば、より高い精度でテンプレートマッチング結果を得ることができる。炉壁の画像において、炉壁の目地等の特徴部分は緑画素成分に現れている。そこで、前処理として、探索領域内の画像から緑画素成分を抽出した画像を用意することで、より精度よくテンプレートマッチング処理を実施することができる。
【0074】
その後、フレーム間移動量算出部130は、ステップS303aにて読み込まれたi番目のフレーム(iは正の整数。以下、「現フレーム」ともいう。)が最初のフレームであるか否かを判定する(S315a)。現フレームが最初のフレームである場合には(S315a:YES)、現フレームとマッチングさせるフレームが存在しない。このため、フレーム間移動量算出部130は、炉壁正視画像Isの前処理を施した探索領域からテンプレート画像A2を切り出し(S321a)、ステップS303aからの処理を実施する。
【0075】
なお、テンプレート画像A2としては、現フレームである炉壁正視画像Isに設定された探索領域STの中心Tの位置を中心点とした、探索領域STよりも小さいサイズの矩形領域が切り出される。また、テンプレート画像A2は、上述の左右領域算出処理にて設定されたテンプレート画像A1とは別に設定される。
【0076】
一方、ステップS303aにて読み込んだ現フレームが最初のフレームではない場合には(S315a:NO)、フレーム間移動量算出部130は、現フレームの左右領域それぞれの炉壁正視画像Is2に対して前処理を施した探索領域STにおいて、現フレームの1つ前に読み込こまれたi-1番目のフレーム(前フレーム)の炉壁正視画像Is1に基づくテンプレート画像A2(上記のS321aにて切り出されたテンプレート画像A2)とのテンプレートマッチング処理を行い、フレーム間移動量Lを算出する(S317a)。
【0077】
ここで、
図13に基づいて、テンプレートマッチング処理を説明する。
図13は、
図12の炉壁正視画像を、前フレームと現フレームそれぞれに分けて示した図である。なお、
図13において、炉壁正視画像Is
1は前フレームの炉壁正視画像であり、炉壁正視画像Is
2は現フレームの炉壁正視画像であるとする。
【0078】
図13の右上図に示すように、テンプレートマッチング処理は、ステップS311aにて現フレームの炉壁正視画像Is
2に設定された探索領域S
Tに対して前処理(S313a)を施した画像内を、ステップS321aにて切り出された前フレームの炉壁正視画像Is
1のテンプレート画像A2(
図13の右下図のテンプレート画像A2)を平行移動させて行われる。すなわち、ステップS317aでは、前フレームの炉壁正視画像Is(第1の炉壁正視画像Is
1)のテンプレート画像A2が、次に読み込まれた現フレームの炉壁正視画像Is(第2の炉壁正視画像Is
2)に設定された探索領域S
T内において合致する領域A3を特定する。
【0079】
テンプレートマッチング処理では、前フレームの炉壁正視画像Is1のテンプレート画像A2と、現フレームの炉壁正視画像Is2の探索領域STにおいて前フレームの炉壁正視画像Is1のテンプレート画像A2を平行移動させて切り出した、テンプレート画像A2と同一サイズの画像(領域A3)との類似度が算出される。画像の類似度は、例えば画素値の差の二乗和(Sum of Squared Difference;SSD)あるいは画素値の差の絶対値の和(Sum of Absolute Difference;SAD)等で表すことができる。これらの値が最小である探索領域の画像が、前フレームのテンプレート画像A2と最も類似することになる。
【0080】
テンプレートマッチング処理により得られたテンプレートマッチング結果は、上述したように、探索対象画像とテンプレート画像との類似度を表す数値が格納された2次元配列データである。
【0081】
前フレームの炉壁正視画像Is
1のテンプレート画像A2の中央が現フレームの炉壁正視画像Is
2の探索領域の中央と一致するように設定される場合、仮に、現フレームの炉壁正視画像Is
2が前フレームの炉壁正視画像Is
1と同一の画像であれば(すなわち、第1の炉壁正視画像Is
1と第2の炉壁正視画像Is
2とにずれがなければ)、テンプレートマッチング結果において、最も類似度の高い部分は、テンプレートマッチング結果の中央に表れる。一方、同一の炉壁部分が現フレームの炉壁正視画像Is
2及び前フレームの炉壁正視画像Is
1の中で異なる位置に映り込んでいれば、テンプレートマッチング結果において類似度の高い部分は、
図13の右上図に示すように、テンプレートマッチング結果の中央からずれた位置に表れる。
【0082】
そこで、ステップS317aでは、フレーム間移動量算出部130は、テンプレートマッチング結果の中央位置(
図13の右下図の位置T)から、最も類似度の高い配列要素位置(
図13の右上図の位置T’)までの相対位置、すなわち、第1の炉壁正視画像Is
1と第2の炉壁正視画像Is
2との重複部分(テンプレート画像A2、領域A3)の横方向のずれ量を求める。ここで求めた相対位置(位置Tと位置T’との横方向の距離)は、現フレームの炉壁正視画像Is
2が前フレームの炉壁正視画像Is
1から移動したフレーム間移動量Lに相当する。
【0083】
フレーム間移動量算出部130は、得られたテンプレートマッチング結果に基づき算出されたフレーム間移動量Lを、ステップS301aにて用意した移動量格納配列に格納する(S319a)。そして、次のテンプレートマッチング処理のために、現フレームの炉壁正視画像Is
2内の前処理済み探索領域からテンプレート画像A2を切り出し(S321a)、ステップS303aからの処理を実施する。なお、ここで切り出されるテンプレート画像A2は、現フレームである炉壁正視画像Is
2に設定された探索領域S
Tの中心Tの位置を中心点とした、探索領域S
Tよりも小さいサイズの矩形領域が新たに切り出される。ステップS303a~S321aの処理は、読み込むフレームがなくなるまで繰り返し実施される。
図10に示す処理を終えると、例えば押出機側からコークス排出側への1回の移動において取得された複数のフレームにおいて、2つのフレーム間の移動量(フレーム間移動量L)が得られる。
【0084】
(1-2)フレーム間移動量推定処理
次に、フレーム間移動量推定部140は、
図10に示すテンプレートマッチング処理を用いたフレーム間移動量算出処理により求めたフレーム間移動量Lを、
図14に示すフレーム間移動量推定処理によって尤もらしい値に補正する。
【0085】
フレーム間移動量推定部140は、まず、算出されるフレーム間移動量推定値を格納するための決定移動量格納配列に初期値を設定する(S331a)。初期値として、例えば「0」の値が格納される。決定移動量格納配列は、ステップS105にて読み込まれた総フレーム分のフレーム間移動量推定値を格納可能なサイズに設定され、左領域用と右領域用とが用意される。
図14に示す処理を実行することによって決定移動量格納配列に格納されるフレーム間移動量推定値は、後続の処理で用いる補正後のフレーム間移動量L’となる。
【0086】
また、フレーム間移動量推定部140は、複数のフレーム間移動量Lから平均及び標準偏差を算出する(S333a)。このとき、フレーム間移動量推定部140は、すべてのフレーム間移動量Lのうち、予め設定された基準範囲内のフレーム間移動量Lのみを用いて平均及び標準偏差を算出してもよい。想定される値から外れているフレーム間移動量Lを用いずに平均及び標準偏差を算出することで、ノイズ等の影響を除くことができる。
【0087】
なお、
図14では、後続の処理にて利用される平均及び標準偏差を算出しているが、本発明は係る例に限定されない。ステップS333aでは、フレーム間移動量推定部140は、算出されたフレーム間移動量Lが想定される値から外れている場合に、フレーム間移動量Lの代わりにフレーム間移動量Lの尤もらしい値(すなわち、フレーム間移動量推定値)L’を設定するために必要な値を算出する。したがって、フレーム間移動量推定部140は、フレーム間移動量Lの平均及び標準偏差以外の値を算出してもよく、必ずしもフレーム間移動量Lの平均または標準偏差を算出しなくともよい。
【0088】
そして、フレーム間移動量推定部140は、フレーム間移動量Lが想定される値から外れているか否かを判定するための閾値を設定する(S335a)。閾値は、操業上の経験に基づき設定されればよい。例えば、フレーム間移動量推定部140は、フレーム間移動量Lの正規分布における2σの値(すなわち、平均±2×標準偏差)を閾値としてもよい。
【0089】
次いで、フレーム間移動量推定部140は、移動量格納配列に格納されたフレーム間移動量Lの読み込み数をカウントするためのインデックスiを1に設定し(S337a)、フレーム間移動量Lを時系列順に(例えば、押出機側からコークス排出側に向かって順に)読み込む。フレーム間移動量推定部140は、インデックスiが総フレーム以上であれば(S339a:NO)、すべてのフレーム間移動量Lについて後述のステップS339a~S347aの処理を終えたため、
図14に示す処理を終了する。
【0090】
一方、インデックスiが総フレーム未満の場合(S339a:YES)、フレーム間移動量推定部140は、移動量格納配列のi番目に格納されたフレーム間移動量Lを読み込み、i番目のフレーム間移動量LがステップS335aにて設定された閾値の範囲内であるか否かを判定する(S341a)。ステップS341aにてi番目のフレーム間移動量Lが閾値の範囲内であると判定された場合には(S341a:YES)、フレーム間移動量算出部130により算出されたフレーム間移動量Lは適切であると考えられる。したがって、フレーム間移動量推定部140は、決定移動量格納配列のi番目に当該フレーム間移動量Lを格納する(S343a)。
【0091】
一方、ステップS341aにてi番目のフレーム間移動量Lが閾値の範囲外であると判定された場合には(S341a:NO)、フレーム間移動量算出部130により算出されたフレーム間移動量Lは想定から外れた不適切な値と考えられる。したがって、フレーム間移動量推定部140は、決定移動量格納配列のi番目にフレーム間移動量Lとして尤もらしい値を格納する(S345a)。尤もらしい値としては、例えば、フレーム間移動量Lの平均値や中央値等の、フレーム間移動量Lから統計的に求められる統計値等がある。
【0092】
ステップS343aまたはS345aの処理を終えると、フレーム間移動量推定部140は、インデックスiに1を加算して(S347a)、ステップS339aからの処理を繰り返し実施する。
【0093】
以上、テンプレートマッチング処理を用いてフレーム間移動量を求める手法を説明した。
図14に示す処理を実行することによって決定移動量格納配列に格納された値が、後続の処理で用いるフレーム間移動量(すなわちフレーム間移動量推定値)として用いられる。
【0094】
(2)押出ラムの押出位置に基づく手法
次に、
図15に基づいて、押出ラムの押出位置を用いたフレーム間移動量算出処理を説明する。
図15は、押出ラムの押出位置を用いたフレーム間移動量算出処理の一例を示すフローチャートである。かかる手法では、フレーム間移動量算出部130は、炉壁正視画像Isに対応する炉壁斜視画像Ipが撮像されたときの押出ラム21の押出位置に基づいて、フレーム間移動量Lを算出する。
【0095】
押出ラム21の押出位置は、例えば、押出ラムビーム20を駆動するモータの回転数に基づき算出することができる。例えば、モータの回転数は、モータにロータリーエンコーダを設けることにより検出できる。押出ラム21の押出位置は、モータの回転数の累積値と1回転あたりの押出ラムビーム20の移動量とを積算することにより求めることができる。炉壁斜視画像Ipを撮像したときのモータの回転数の累積値を、炉壁斜視画像Ipと関連付けて撮像画像記憶部310に記録することで、炉壁斜視画像Ipを撮像したときの押出ラム21の押出位置を特定することができる。
【0096】
フレーム間移動量算出部130は、まず、算出されるフレーム間移動量を格納するための決定移動量格納配列に初期値を設定し、直前に読み込まれたフレームが撮像されたときの押出位置を表す位置変数に初期値を設定する(S301b)。決定移動量格納配列には、初期値として、例えば「0」の値が格納される。決定移動量格納配列は、ステップS105にて読み込まれた総フレーム分のフレーム間移動量を格納可能なサイズに設定され、左領域用と右領域用とが用意される。位置変数についても、初期値として、例えば「0」の値が格納される。
【0097】
次いで、フレーム間移動量算出部130は、フレームの読み込み数をカウントするためのインデックスiを1に設定し(S303b)、フレームを時系列順に(例えば、押出機側からコークス排出側に向かって順に)読み込む。そして、フレーム間移動量算出部130は、インデックスiが総フレーム数より小さいか否かを判定する(S305b)。フレーム間移動量算出部130は、インデックスiが総フレーム以上であれば(S305b:YES)、すべてのフレームについて後述のステップS307b~S311bの処理を終えたため、
図15に示す処理を終了する。
【0098】
一方、インデックスiが総フレーム未満の場合(S305b:NO)、フレーム間移動量算出部130は、押出ラム21の押出位置に基づいて、i番目のフレーム間移動量Lを求める(S307b)。i番目のフレーム間移動量Lは、例えば、下記式(2)を用いて求めることができる。
【0099】
i番目のフレーム間移動量L
=(i番目のフレーム撮影時の押出位置-位置変数)×ピクセル変換定数・・・(2)
【0100】
フレーム間移動量算出部130は、i番目のフレーム撮影時の押出位置から、現在位置変数に格納されている値を減ずることにより、i-1番目のフレームとi番目のフレームとの距離を算出する。そして、フレーム間移動量算出部130は、i-1番目のフレームとi番目のフレームとの距離にピクセル変換定数を乗ずることにより、ピクセルで表されたi番目のフレーム間移動量Lを得る。単位を位置からピクセルに変換するピクセル変換定数は、予め設定される、コークス炉に固有の値である。例えば、過去の操業にて取得された炉壁斜視画像を用いて、ピクセル変換定数を変化させて炉壁観察画像を繰り返し作成し、良好な炉壁観察画像が得られたときのピクセル変換定数を採用するようにしてもよい。
【0101】
フレーム間移動量算出部130は、上記式(2)を用いてi番目のフレーム間移動量Lを算出すると、決定移動量格納配列のi番目に当該フレーム間移動量Lを格納する。
【0102】
その後、フレーム間移動量算出部130は、位置変数にi番目のフレーム撮影時の押出位置を代入し(S309b)、インデックスiに1を加算して(S311b)、ステップS305bからの処理を繰り返し実施する。以上、押出ラムの押出位置を用いてフレーム間移動量を求める手法を説明した。
【0103】
(3)撮影時間に基づく手法
次に、
図16に基づいて、撮影時間を用いたフレーム間移動量算出処理を説明する。
図16は、撮影時間を用いたフレーム間移動量算出処理の一例を示すフローチャートである。かかる手法では、フレーム間移動量算出部130は、炉壁正視画像Isに対応する炉壁斜視画像Ipが撮像されたときの撮影時間に基づいて、フレーム間移動量Lを算出する。
【0104】
ここでは、押出速度は等速であると仮定する。押出位置の計測は不要である。この場合、炉壁斜視画像Ipが撮像されたときの撮影時間は、例えば、押出開始から押出終了までの時間を、フレーム番号(すなわち、インデックスi)を総フレーム数で除算した値をかけることにより求めることができる。押出開始から押出終了までの時間は、例えば、押出機側からコークス排出側への1回の移動において、撮像装置31、33が炉壁11を連続的に撮像した動画の時間から得られる。なお、炉壁斜視画像Ipが撮像されたときの撮影時間が、炉壁斜視画像Ipと関連付けて撮像画像記憶部310に記録されている場合には、撮像画像記憶部310に記録されている撮像時間を用いてもよい。
【0105】
フレーム間移動量算出部130は、まず、算出されるフレーム間移動量を格納するための決定移動量格納配列に初期値を設定する(S301c)。決定移動量格納配列には、初期値として、例えば「0」の値が格納される。決定移動量格納配列は、ステップS105にて読み込まれた総フレーム分のフレーム間移動量を格納可能なサイズに設定され、左領域用と右領域用とが用意される。
【0106】
次いで、フレーム間移動量算出部130は、フレームの読み込み数をカウントするためのインデックスiを1に設定し(S303c)、フレームを時系列順に(例えば、押出機側からコークス排出側に向かって順に)読み込む。そして、フレーム間移動量算出部130は、インデックスiが総フレーム数より小さいか否かを判定する(S305c)。フレーム間移動量算出部130は、インデックスiが総フレーム以上であれば(S305c:YES)、すべてのフレームについて後述のステップS307c、S309cの処理を終えたため、
図16に示す処理を終了する。
【0107】
一方、インデックスiが総フレーム未満の場合(S305c:NO)、フレーム間移動量算出部130は、撮影時間に基づいて、i番目のフレーム間移動量Lを求める(S307c)。i番目のフレーム間移動量Lは、例えば、下記式(3)を用いて求めることができる。
【0108】
i番目のフレーム間移動量L
=i番目のフレームの撮影時間×ピクセル変換定数
=(1/総フレーム数)×押出開始から押出終了までの時間×ピクセル変換定数
・・・(3)
【0109】
フレーム間移動量算出部130は、式(3)の第一式に示すように、i番目のフレームの撮影時間に、撮影時間をピクセルに変換するピクセル変換定数を乗ずることにより、i番目のフレーム間移動量Lを得る。撮影時間をピクセルに変換するピクセル変換定数は、予め設定される、コークス炉に固有の値である。例えば、過去の操業にて取得された炉壁斜視画像を用いて、ピクセル変換定数を変化させて炉壁観察画像を繰り返し作成し、良好な炉壁観察画像が得られたときのピクセル変換定数を採用するようにしてもよい。なお、式(3)の第二式に示すように、フレーム間移動量算出部130は、押出開始から押出終了までの時間に、撮影時間をピクセルに変換するピクセル変換定数を乗じで、総フレーム数で除すことにより、i番目のフレーム間移動量Lを求めてもよい。
【0110】
フレーム間移動量算出部130は、上記式(3)を用いてi番目のフレーム間移動量Lを算出すると、決定移動量格納配列のi番目に当該フレーム間移動量Lを格納する。
【0111】
その後、フレーム間移動量算出部130は、インデックスiに1を加算して(S309c)、ステップS305cからの処理を繰り返し実施する。以上、撮影時間を用いてフレーム間移動量を求める手法を説明した。
【0112】
(4)押出ラムの押出速度に基づく手法
次に、
図17に基づいて、押出ラムの押出速度を用いたフレーム間移動量算出処理を説明する。
図17は、押出ラムの押出速度を用いたフレーム間移動量算出処理の一例を示すフローチャートである。かかる手法では、フレーム間移動量算出部130は、炉壁正視画像Isに対応する炉壁斜視画像Ipが撮像されたときの押出ラム21の押出速度に基づいて、フレーム間移動量Lを算出する。
【0113】
押出ラム21の押出速度は、例えば、押出ラムビーム20に速度計を取り付けることにより測定することができる。押出位置の計測は不要である。速度計により取得された押出速度は、例えば撮像された炉壁斜視画像Ipと関連付けて撮像画像記憶部310に記録され、
図17に示すフレーム間移動量算出処理を実施する際に参照される。
【0114】
フレーム間移動量算出部130は、まず、算出されるフレーム間移動量を格納するための決定移動量格納配列に初期値を設定する(S301d)。決定移動量格納配列には、初期値として、例えば「0」の値が格納される。決定移動量格納配列は、ステップS105にて読み込まれた総フレーム分のフレーム間移動量を格納可能なサイズに設定され、左領域用と右領域用とが用意される。
【0115】
次いで、フレーム間移動量算出部130は、フレームの読み込み数をカウントするためのインデックスiを1に設定し(S303d)、フレームを時系列順に(例えば、押出機側からコークス排出側に向かって順に)読み込む。そして、フレーム間移動量算出部130は、インデックスiが総フレーム数より小さいか否かを判定する(S305d)。フレーム間移動量算出部130は、インデックスiが総フレーム以上であれば(S305d:YES)、すべてのフレームについて後述のステップS307d、S309dの処理を終えたため、
図17に示す処理を終了する。
【0116】
一方、インデックスiが総フレーム未満の場合(S305d:NO)、フレーム間移動量算出部130は、押出ラム21の押出速度に基づいて、i番目のフレーム間移動量Lを求める(S307d)。i番目のフレーム間移動量Lは、例えば、下記式(4)を用いて求めることができる。
【0117】
i番目のフレーム間移動量L
=i番目のフレーム撮影時の押出速度×ピクセル変換定数 ・・・(4)
【0118】
フレーム間移動量算出部130は、i番目のフレーム撮影時の押出速度に、押出速度をピクセルに変換するピクセル変換定数を乗ずることにより、i番目のフレーム間移動量Lを得る。押出速度をピクセルに変換するピクセル変換定数は、予め設定される、コークス炉に固有の値である。例えば、過去の操業にて取得された炉壁斜視画像を用いて、ピクセル変換定数を変化させて炉壁観察画像を繰り返し作成し、良好な炉壁観察画像が得られたときのピクセル変換定数を採用するようにしてもよい。
【0119】
フレーム間移動量算出部130は、上記式(4)を用いてi番目のフレーム間移動量Lを算出すると、決定移動量格納配列のi番目に当該フレーム間移動量Lを格納する。
【0120】
その後、フレーム間移動量算出部130は、インデックスiに1を加算して(S309d)、ステップS305dからの処理を繰り返し実施する。以上、押出速度を用いてフレーム間移動量を求める手法を説明した。
【0121】
(5)押出ラムの押出速度パターンに基づく手法
次に、
図18及び
図19に基づいて、押出ラムの押出速度パターンを用いたフレーム間移動量算出処理を説明する。
図18は、押出ラムの押出速度パターンを用いたフレーム間移動量算出処理の一例を示すフローチャートである。
図19は、押出速度パターンの一例を示す説明図である。かかる手法では、フレーム間移動量算出部130は、1回のコークス押出しにおける押出ラム21の押出速度パターンに基づいて、フレーム間移動量Lを算出する。
【0122】
押出ラム21の押出速度パターンは、例えば
図19に示すように、押出開始から押出終了までの各押出位置における押出速度を示している。
図19の例では、押出速度は、押出開始からしばらく増加した後、ほぼ一定となり、その後急激に低下している。このような押出位置における押出速度の変化は、押出ラム21の移動距離の変化として考えることができる。すなわち、押出速度が小さい場合には押出ラム21の移動距離も小さくなり、押出速度が大きい場合には押出ラム21の移動距離も大きくなる。そこで、フレーム番号(すなわち、インデックスi)を総フレーム数で除算した値を押出位置パラメータλとして、押出速度パターンにおいて押出位置パラメータλに対応する押出速度からフレーム間移動量を算出する。
【0123】
なお、押出速度パターンは、コークス炉に固有のものであり、例えば、当該押出し時に押出速度を測定して設定してもよく、過去の操業実績に基づき試行錯誤して設定してもよい。押出位置の計測は不要である。
【0124】
フレーム間移動量算出部130は、まず、算出されるフレーム間移動量を格納するための決定移動量格納配列に初期値を設定する(S301e)。決定移動量格納配列には、初期値として、例えば「0」の値が格納される。決定移動量格納配列は、ステップS105にて読み込まれた総フレーム分のフレーム間移動量を格納可能なサイズに設定され、左領域用と右領域用とが用意される。
【0125】
次いで、フレーム間移動量算出部130は、フレームの読み込み数をカウントするためのインデックスiを1に設定し(S303e)、フレームを時系列順に(例えば、押出機側からコークス排出側に向かって順に)読み込む。そして、フレーム間移動量算出部130は、インデックスiが総フレーム数より小さいか否かを判定する(S305e)。フレーム間移動量算出部130は、インデックスiが総フレーム以上であれば(S305e:YES)、すべてのフレームについて後述のステップS307e~S311eの処理を終えたため、
図18に示す処理を終了する。
【0126】
一方、インデックスiが総フレーム未満の場合(S305e:NO)、フレーム間移動量算出部130は、フレーム番号(すなわち、インデックスi)を総フレーム数で除算した値を押出位置パラメータλを算出する(S307e)。そして、フレーム間移動量算出部130は、押出速度パターンに基づいて、i番目のフレーム間移動量Lを求める(S309e)。i番目のフレーム間移動量Lは、例えば、下記式(5)を用いて求めることができる。
【0127】
i番目のフレーム間移動量L
=押出位置パラメータλにおける押出速度×ピクセル変換定数 ・・・(5)
【0128】
フレーム間移動量算出部130は、フレーム番号(すなわち、インデックスi)を総フレーム数で除算した値を押出位置パラメータλとした際のλにおける押出速度に、押出速度をピクセルに変換するピクセル変換定数を乗ずることにより、i番目のフレーム間移動量Lを得る。押出速度をピクセルに変換するピクセル変換定数は、設定されている押出速度パターンに基づき設定される。フレーム間移動量算出部130は、上記式(5)を用いてi番目のフレーム間移動量Lを算出すると、決定移動量格納配列のi番目に当該フレーム間移動量Lを格納する。
【0129】
その後、フレーム間移動量算出部130は、インデックスiに1を加算して(S311e)、ステップS305eからの処理を繰り返し実施する。以上、押出速度パターンを用いてフレーム間移動量を求める手法を説明した。
【0130】
このように、フレーム間移動量算出部130は、上述したような手法を用いてフレーム間移動量算出処理を実施し、フレーム間移動量Lまたは補正後のフレーム間移動量L’を算出する。
【0131】
[3-4.フレーム重複数算出処理]
図5の説明に戻り、フレーム間移動量算出処理(S30)を終えると、重複数算出部160は、フレームの重複数を算出する(S40)。
図20及び
図21に基づいて、フレーム重複数算出処理を説明する。
図20は、本実施形態に係るフレーム重複数算出処理の一例を示すフローチャートである。
図21は、フレーム重複数算出処理を説明するための説明図である。フレーム重複数算出処理は、
図2に示したように、炉壁11の同一位置を撮像した部分(重複部分)Poを含む連結用画像Fがいくつあるかをカウントする処理である。
【0132】
重複数算出部160は、まず、決定移動量格納配列に格納された値(すなわち、連続するすべての炉壁正視画像Is間でのフレーム間移動量Lまたは補正後のフレーム間移動量L’)と、事前に定められた連結用画像の横サイズ(固定値)とに基づいて、炉壁観察画像I全体の横サイズを求める(S401)。具体的には、決定移動量格納配列に格納された値の総和に1フレーム分の連結用画像の横サイズを加えた値が炉壁観察画像Iの横サイズになる。
【0133】
また、重複数算出部160は、算出される連結用画像の重複数を格納するための重複数格納配列と、平行移動量変数jとに初期値を設定する(S403)。重複数格納配列は、ステップS401にて求めた炉壁観察画像Iの横サイズと同一サイズに設定され、左領域用と右領域用とが用意される。重複数格納配列には、初期値として、例えば「0」の値が格納される。平行移動量変数jは、炉壁観察画像Iにおける各フレームの連結用画像の開始位置を示す値(ピクセル値)である。平行移動量変数jも、左領域用と右領域用とが用意される。
【0134】
次いで、重複数算出部160は、フレームの読み込み数をカウントするためのインデックスiを0に設定し(S405)、フレームを時系列順に(例えば、押出機側からコークス排出側に向かって順に)読み込む。そして、重複数算出部160は、インデックスiが総フレーム数より小さいか否かを判定する(S407)。重複数算出部160は、インデックスiが総フレーム以上であれば(S407:YES)、すべてのフレームについて後述のステップS409~S419の処理を終えたため、
図20に示す処理を終了する。
【0135】
一方、インデックスiが総フレーム未満の場合(S407:NO)、重複数算出部160は、平行移動量変数jに、決定移動量格納配列のi番目に格納された値を加算する(S409)。そして、重複数算出部160は、連結用画像の横方向位置を表すインデックスkを0に設定し(S411)、インデックスkが連結用画像の横サイズ(ピクセル値)より小さいか否かを判定する(S413)。
【0136】
インデックスkが連結用画像の横サイズより小さい場合には(S413:YES)、重複数算出部160は、平行移動量変数jとインデックスkとを加算して重複数格納配列における位置j1を求め(S415)、重複数格納配列のj1番目に1を加算する(S417)。そして、インデックスkに1を加算してステップS413からの処理を繰り返し実施する。
【0137】
一方、ステップS413にて、インデックスjが連結用画像の横サイズ以上と判定されると(S413:NO)、重複数算出部160は、当該フレーム(連結用画像)についてはステップS415、S417の処理を終えたため、インデックスiに1を加算して(S419)、ステップS407からの処理を繰り返し実施する。
【0138】
これらの処理を繰り返すことにより、重複数算出部160は、重複数格納配列に、炉壁観察画像Iの横方向におけるフレーム(連結用画像)の重複数を格納する。
【0139】
重複数算出処理を、
図21に示す簡単な例を用いて説明する。
図21に示す例において、連結用画像の横サイズは6ピクセルである。重複数算出部160は、まず、0番目のフレームの連結用画像について、横方向の画素位置が対応する重複数格納配列の位置に「1」を加算する(
図20のステップS411~S417)。具体的には、0番目のフレームの連結用画像における重複数算出開始時においては、平行移動量変数j=0、インデックスk=0であることから、重複数格納配列への格納を開始する位置j1は0番目となる。そして、重複数算出部160は、インデックスkが5となるまで1つずつ増加させながら、重複数格納配列の0番目~5番目までに格納された値に「1」を加算して格納する。
【0140】
0番目のフレームの連結用画像についての処理を終えると、重複数算出部160は、次のフレームの連結用画像の処理に移る(
図20のステップS419からステップS407~S417の処理を実行する)。1番目のフレームの連結用画像における重複数算出開始時においては、平行移動量変数j=0+決定移動量格納配列の1番目に格納された値(すなわち、1番目のフレームのフレーム間移動量)、インデックスk=0となる。
図21の例では、決定移動量格納配列の1番目に「2」が格納されていたため、1番目のフレームの連結用画像について、重複数格納配列への格納を開始する位置j1は2番目となる。そして、重複数算出部160は、インデックスkが5となるまで1つずつ増加させながら、重複数格納配列の2番目~7番目までに格納された値に「1」を加算して格納する。
【0141】
1番目のフレームの連結用画像についての処理を終えると、重複数算出部160は、2番目のフレームの連結用画像、3番目のフレームの連結用画像、・・・と同様に重複数を算出していく。こうして、重複数算出部160は、重複数格納配列に、炉壁観察画像の横方向におけるフレーム(連結用画像)の重複数を格納する。
【0142】
[3-5.炉壁観察画像生成処理]
図5の説明に戻り、重複数算出処理(S40)を終えると、炉壁観察画像生成部150は、炉壁観察画像生成処理を実施する(S50)。以下、
図22~
図30に基づいて、炉壁観察画像生成処理を説明する。
図22は、炉壁観察画像生成処理の全体の流れを示すフローチャートである。
図23は、炉壁観察画像生成用の記憶領域を確保するための処理を示すフローチャートである。
図24は、代表値算出用画像の概要を示す説明図である。
図25は、代表値算出用画像生成処理の一例を示すフローチャートである。
図26は、代表値を算出するための画像データの再配置を説明する説明図である。
図27は、炉壁観察画像を構成する連結用画像を示す説明図である。
図28は、炉壁観察画像用配列への格納処理の一例を示すフローチャートである。
図29は、炉壁観察画像用配列への格納処理を説明する説明図である。
図30は、炉壁観察画像の一例を示す画像である。
【0143】
炉壁観察画像生成処理では、
図2に基づき説明したように、炉壁11の同一位置を撮像した部分(重複部分)Poを含む連結用画像Fから、重複部分Poの画素値の代表値を算出し、炉壁観察画像Iを生成する。これにより、一部の連結用画像Fに火の粉が写り込んでいた場合にもその影響を軽減することができ、より鮮明な炉壁観察画像を得ることができる。
【0144】
本実施形態に係る炉壁観察画像生成処理では、炉壁観察画像生成部150は、
図22に示すように、炉壁観察画像生成用の記憶領域を確保するための処理(S51)、代表値算出用画像生成処理(S53)、及び、炉壁観察画像用配列への格納処理(S55)を実施する。以下、各処理について詳細に説明する。
【0145】
(1)炉壁観察画像生成用の記憶領域を確保するための処理
まず、炉壁観察画像生成部150は、
図23に示す、炉壁観察画像生成用の記憶領域を確保するための処理を実行する。
【0146】
炉壁観察画像生成部150は、炉壁観察画像用格納配列、代表値算出用配列、重複カウント用配列、及び、平行移動量変数jに対して、初期値を設定する(S510)。炉壁観察画像用格納配列は、最終的に生成される炉壁観察画像に関するデータを格納する配列であり、左領域用と右領域用とが用意される。代表値算出用配列及び重複カウント用配列は、後述する代表値算出用画像生成処理にて用いられる配列である。代表値算出用配列及び重複カウント用配列は、炉壁観察画像の横サイズと同一サイズに設定され、左領域用と右領域用とが用意される。炉壁観察画像用格納配列、代表値算出用配列、及び、重複カウント用配列には、初期値として、例えば「0」の値が格納される。平行移動量変数jは、炉壁観察画像における各フレームの連結用画像の開始位置を示す値(ピクセル値)である。平行移動量変数jも、左領域用と右領域用とが用意される。
【0147】
次いで、炉壁観察画像生成部150は、平行移動量変数jが代表値算出用配列のサイズよりも小さいか否かを判定する(S511)。平行移動量変数jが代表値算出用配列のサイズよりも小さいとき(S511:YES)、炉壁観察画像生成部150は、j番目の代表値算出用画像を確保して、代表値算出用配列のj番目に格納する(S512)。j番目の代表値算出用画像は、縦方向のサイズが炉壁観察画像の縦サイズと同一であり、横方向のサイズが重複数格納配列のj番目に格納された値(ピクセル値)である大きさを有する。
【0148】
例えば、
図24に示すように、代表値算出用配列の0番目には、縦方向のサイズが炉壁観察画像の縦サイズと同一であり、横方向のサイズが重複数格納配列の0番目に格納された値(すなわち、「1」)である大きさを有する画像が格納される。また、例えば、代表値算出用配列の2番目には、縦方向のサイズが炉壁観察画像の縦サイズと同一であり、横方向のサイズが重複数格納配列の2番目に格納された値(すなわち、「2」)である大きさを有する画像が格納される。すなわち、代表値算出用配列の同一位置には、炉壁の押出方向において同一位置を撮像した画像が1または複数格納される。なお、代表値算出用配列には、実際の画像を格納する代わりに、確保した代表値算出用画像を特定するための情報を格納してもよい。そして、炉壁観察画像生成部150は、平行移動量変数jに1を加算して(S513)、ステップS511からの処理を繰り返す。
【0149】
炉壁観察画像生成部150は、平行移動量変数jが代表値算出用配列のサイズよりも小さい間は、ステップS511、S513の処理を繰り返し実施する。そして、ステップS511にて平行移動量変数jが代表値算出用配列のサイズ以上となった判定したとき(S511:NO)、炉壁観察画像生成部150は、
図23に示す処理を終了する。
【0150】
(2)代表値算出用画像生成処理
炉壁観察画像生成部150は、
図23に示した炉壁観察画像生成用の記憶領域を確保するための処理を終えると、
図25に示す代表値算出用画像生成処理を実行する。
【0151】
炉壁観察画像生成部150は、まず、フレームの読み込み数をカウントするためのインデックスiに0を設定し、平行移動量変数jに0を設定し(S530)、インデックスiが総フレーム未満であるか否かを判定する(S531)。インデックスiが総フレーム以上であれば(S531:NO)、すべてのフレームについて後述のステップS532~S544の処理を終えたため、
図25に示す処理を終了する。
【0152】
一方、インデックスiが総フレーム未満の場合(S531:YES)、炉壁観察画像生成部150は、フレーム間移動量算出部130から出力された炉壁正視画像Is(フレーム)を読み込み(S532)、平行移動量変数jに、決定移動量格納配列のi番目の値を加算する(S533)。そして、炉壁観察画像生成部150は、
図10に示したフレーム間移動量算出処理で行ったように、対称軸Cを用いて当該フレームを左領域と右領域とに分割し(S534)、フレームの左領域と右領域それぞれを透視変換して、各領域の正視画像を得る(S534)。その後、炉壁観察画像生成部150は、得られた炉壁正視画像Isから、炉壁観察画像Iを構成する連結用画像Fを切り出す(S535)。例えば、
図26左側に示すように、炉壁正視画像Isから事前に定められた横サイズ分(固定値)の連結用画像Fが切り出される。連結用画像Fの領域は、炉壁正視画像Isにおいて炉壁を明瞭に確認できる領域に予め設定されている。炉壁正視画像Isから連結用画像Fを切り出す位置及びサイズは各フレームにおいて同一とする。
【0153】
その後、炉壁観察画像生成部150は、連結用画像Fの横方向位置を表すインデックスkを0に設定し(S537)、インデックスkが連結用画像の横サイズ(ピクセル値)より小さいか否かを判定する(S538)。
【0154】
インデックスkが連結用画像の横サイズより小さい場合には(S538:YES)、炉壁観察画像生成部150は、平行移動量変数jとインデックスkとを加算して重複数格納配列における位置j1を求める(S539)。そして、炉壁観察画像生成部150は、重複数格納配列におけるj1番目に格納された値をj2とし(S540)、連結用画像Fの横方向位置kの画像データを、
図23に示した炉壁観察画像生成用の記憶領域を確保するための処理によって確保された、代表値算出用配列のj1番目の、代表値算出用画像の横方向位置j2に格納する(S541)。その後、炉壁観察画像生成部150は、重複数格納配列におけるj1番目に1を加算し(S542)、インデックスkに1を加算した後(S543)、ステップS538からの処理を繰り返し実施する。
【0155】
一方、ステップS538にてインデックスkが連結用画像の横サイズ以上と判定すると(S538:NO)、炉壁観察画像生成部150は、インデックスiに1を加算してステップS531からの処理を繰り返し実施する。
【0156】
これらの処理を繰り返すことにより、炉壁観察画像生成部150は、代表値算出用配列に、各フレームの連結用画像から切り出した代表値算出用画像を格納する。すなわち、代表値算出用配列には、各連結用画像において重複する部分からなる代表値算出用画像が格納される。例えば、
図26に示す例では、各連結用画像は、それぞれ、横サイズが6ピクセルであり、横方向にピクセル単位で6つの画像データに分割される。炉壁観察画像生成部150は、
図23に示した処理によって確保された代表値算出用配列の0番目~5番目に、0番目のフレームの連結用画像の画像データをそれぞれ格納する。また、炉壁観察画像生成部150は、代表値算出用配列の2番目~7番目に、1番目のフレームの連結用画像の画像データをそれぞれ格納する。同様に、炉壁観察画像生成部150は、2番目のフレームの連結用画像、3番目のフレームの連結用画像、・・・と、画像データを代表値算出用配列の所定の位置に格納する。こうして、代表値算出用配列に代表値算出用画像が格納される。
【0157】
(3)炉壁観察画像用配列への格納処理
炉壁観察画像生成部150は、
図25に示した代表値算出用画像生成処理を終えると、
図28に示す炉壁観察画像用配列への格納処理を実行する。
【0158】
炉壁観察画像生成部150は、まず、炉壁観察画像の横方向位置jに0を設定し(S550)、炉壁観察画像の横方向位置jが代表値算出用配列のサイズより小さいか否かを判定する(S551)。炉壁観察画像の横方向位置jが代表値算出用配列のサイズ以上であれば(S551:NO)、後述のステップS552~S554の処理を終え、炉壁観察画像Iが生成されたため、
図28に示す処理を終了する。
【0159】
炉壁観察画像の横方向位置jが代表値算出用配列のサイズよりも小さいとき(S551:YES)、代表値算出用画像の縦方向位置を表すインデックスkを0に設定し(S552)、インデックスkが代表値算出用画像の縦サイズ(ピクセル値)より小さいか否かを判定する(S553)。炉壁観察画像生成部150は、インデックスkが代表値算出用画像の縦サイズ以上であれば(S553:NO)、炉壁観察画像の横方向位置jに1を加算した後(S554)、ステップS551からの処理を繰り返し実施する。
【0160】
一方、インデックスkが代表値算出用画像の縦サイズより小さい場合には(S553:YES)、炉壁観察画像生成部150は、代表値算出用配列のj番目に格納された代表値算出用画像について、縦方向位置k番目の画素値についての代表値を算出し、炉壁観察画像配列の縦方向位置k、横方向位置jに、算出した代表値を格納する(S555)。例えば、
図29に示すように、代表値算出用配列のj番目に、重複する3つの画像データからなる代表値算出用画像が格納されているとする。このとき、炉壁観察画像生成部150は、代表値算出用画像のすべての縦方向位置において、炉壁の同一部分を表す3つの画素値の代表値を求め、当該代表値を炉壁観察画像の縦方向位置k、横方向位置jにおける画素値とする。炉壁観察画像生成部150は、ステップS555にて縦方向位置k番目の画素値の代表値を算出すると、インデックスkに1を加算した後(S556)、ステップS553の処理に戻る。
【0161】
代表値は、例えば、炉壁の同一部分を表す複数の画素値の中央値であってもよく、平均値であってもよい。また、炉壁観察画像生成部150は、連結用画像の重複数に応じて、画素値の代表値として算出する値を決定してもよい。
【0162】
例えば、重複数が少ない部分では、代表値として、例えば平均値を用いてもよい。例えば、押出開始直後は、重複数は少ないが、火の粉が生じる可能性も低いため、代表値として平均値を用いても火の粉の影響はないとみなすことができる。火の粉が生じる可能性がある位置においては、例えば、複数の画素値のうち、明るく高い画素値を示すものを除外して、平均値を算出してもよい。これにより、火の粉が写り込むことによって画像が不鮮明となることを抑制できる。
【0163】
一方、押出位置中央付近では、フレームの重複数は10前後であり、火の粉が発生していた場合には、このうち1、2フレームくらいである。これより、代表値として中央値を用いれば、重複する画像データの一部に火の粉が写り込んでいたとしても、火の粉が写り込むことによって画像が不鮮明となることを抑制できる。
【0164】
このように、連結用画像の重複数に応じて、画素値の代表値として算出する値を決定することで、より適切な画素値を得ることができ、鮮明な炉壁観察画像を生成することができる。
【0165】
炉壁観察画像生成部150は、j番目の代表値算出用画像についてステップS551~S554の処理を繰り返し実施して、炉壁観察画像の横方向位置jにおける画像データを生成する。そして、すべての代表値算出用画像から炉壁観察画像の横方向位置jにおける画像データを生成し、ステップS551において炉壁観察画像の横方向位置jが代表値算出用配列のサイズ以上となったとき、炉壁観察画像Iが生成される。
【0166】
一例として、
図30に、本実施形態に係る画像処理方法を適用する前に生成された炉壁観察画像(a.処理前炉壁観察画像)と、本実施形態に係る画像処理方法を適用して生成された処理前の炉壁観察画像(b.処理後炉壁観察画像)とを示す。
図30に示すように、処理前炉壁観察画像の破線で囲まれた部分に表れていた火の粉の影響が、処理後炉壁観察画像では軽減されている。このように、本実施形態に係る画像処理方法を用いることにより、より鮮明な炉壁観察画像を生成することができる。
【0167】
[4.ハードウェア構成]
図31に基づいて、本実施形態に係る画像処理装置100のハードウェア構成について説明する。
図31は、本実施形態に係る画像処理装置100として機能する情報処理装置900のハードウェア構成の一例を示すブロック図である。
【0168】
情報処理装置900は、プロセッサ(
図31ではCPU901)と、ROM903と、RAM905とを含む。また、情報処理装置900は、バス907と、入力I/F909と、出力I/F911と、ストレージ装置913と、ドライブ915と、接続ポート917と、通信装置919とを含む。
【0169】
CPU901は、演算処理装置および制御装置として機能する。CPU901は、ROM903、RAM905、ストレージ装置913、またはリムーバブル記録媒体925に記録された各種プログラムに従って、情報処理装置900内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムあるいは演算パラメータ等を記憶する。RAM905は、CPU901が使用するプログラム、あるいは、プログラムの実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるバス907により相互に接続されている。
【0170】
バス907は、ブリッジを介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バスに接続されている。
【0171】
入力I/F909は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ及びレバー等の、ユーザが操作する操作手段である入力装置921からの入力を受け付けるインタフェースである。入力I/F909は、例えば、ユーザが入力装置921を用いて入力した情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路等として構成されている。入力装置921は、例えば、赤外線あるいはその他の電波を利用したリモートコントロール装置、あるいは、情報処理装置900の操作に対応したPDA等の外部機器927であってもよい。情報処理装置900のユーザは、入力装置921を操作し、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
【0172】
出力I/F911は、入力された情報を、ユーザに対して視覚的または聴覚的に通知可能な出力装置923へ出力するインタフェースである。出力装置923は、例えば、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置およびランプ等の表示装置であってもよい。あるいは、出力装置923は、スピーカ及びヘッドホン等の音声出力装置や、プリンター、移動通信端末、ファクシミリ等であってもよい。出力I/F911は、出力装置923に対して、例えば、情報処理装置900により実行された各種処理にて得られた処理結果を出力するよう指示する。具体的には、出力I/F911は、表示装置に対して情報処理装置900による処理結果を、テキストまたはイメージで表示するよう指示する。また、出力I/F911は、音声出力装置に対し、再生指示を受けた音声データ等のオーディオ信号をアナログ信号に変換して出力するよう指示する。
【0173】
ストレージ装置913は、情報処理装置900の記憶部の1つであり、データ格納用の装置である。ストレージ装置913は、例えば、HDD(Hard Disk Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイスまたは光磁気記憶デバイス等により構成される。ストレージ装置913は、CPU901が実行するプログラム、プログラムの実行により生成された各種データ、及び、外部から取得した各種データ等を格納する。
【0174】
ドライブ915は、記録媒体用リーダライタであり、情報処理装置900に内蔵あるいは外付けされる。ドライブ915は、装着されているリムーバブル記録媒体925に記録されている情報を読み出し、RAM905に出力する。また、ドライブ915は、装着されているリムーバブル記録媒体925に情報を書き込むことも可能である。リムーバブル記録媒体925は、例えば、磁気ディスク、光ディスク、光磁気ディスクまたは半導体メモリ等である。具体的には、リムーバブル記録媒体925は、CDメディア、DVDメディア、Blu-ray(登録商標)メディア、コンパクトフラッシュ(登録商標)(CompactFlash:CF)、フラッシュメモリ、SDメモリカード(Secure Digital memory card)等であってもよい。また、リムーバブル記録媒体925は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)または電子機器等であってもよい。
【0175】
接続ポート917は、機器を情報処理装置900に直接接続するためのポートである。接続ポート917は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポート、RS-232Cポート等である。情報処理装置900は、接続ポート917に接続された外部機器927から、直接各種データを取得したり外部機器927に各種データを提供したりすることができる。
【0176】
通信装置919は、例えば、通信網929に接続するための通信デバイス等で構成された通信インタフェースである。通信装置919は、例えば、有線または無線LAN(Local Area Network)、Bluetooth(登録商標)またはWUSB(Wireless USB)用の通信カード等である。また、通信装置919は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデム等であってもよい。通信装置919は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置919に接続される通信網929は、有線または無線によって接続されたネットワーク等により構成されている。例えば、通信網929は、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信等である。
【0177】
以上、情報処理装置900のハードウェア構成の一例を示した。上述の各構成要素は、汎用的な部材を用いて構成されてもよく、各構成要素の機能に特化したハードウェアにより構成されてもよい。情報処理装置900のハードウェア構成は、本実施形態を実施する時々の技術レベルに応じて適宜変更可能である。
【0178】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0179】
1 コークス炉
10 炭化室
11、11L、11R 炉壁
13 炉底
15 炭化室窯口
20 押出ラムビーム
21 押出ラム
31、33 撮像装置
100 画像処理装置
110 画像取得部
120 前処理部
130 フレーム間移動量算出部
140 フレーム間移動量推定部
150 炉壁観察画像生成部
160 重複数算出部
300 記憶装置
310 撮像画像記憶部
320 炉壁観察画像記憶部
500 表示装置
900 情報処理装置
907 バス
913 ストレージ装置
915 ドライブ
917 接続ポート
919 通信装置
921 入力装置
923 出力装置
925 リムーバブル記録媒体
927 外部機器
929 通信網
A0 部分領域
A1、A2 テンプレート画像
C 対称軸
Ia 時間平均画像
Ip 炉壁斜視画像(フレーム)
IpR 炉壁斜視画像の右領域
Is 炉壁正視画像
Is1 第1の炉壁正視画像
Is2 第2の炉壁正視画像
IsR 炉壁正視画像の右領域
I 炉壁観察画像
F 連結用画像
L フレーム間移動量
R テンプレートマッチング結果
ST 探索領域
W 時間平均画像の横幅