(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-27
(45)【発行日】2023-05-10
(54)【発明の名称】情報処理装置、船舶および情報処理方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20230428BHJP
B63B 43/20 20060101ALI20230428BHJP
B63B 49/00 20060101ALN20230428BHJP
【FI】
G06T7/00 350C
B63B43/20
B63B49/00 Z
(21)【出願番号】P 2019204657
(22)【出願日】2019-11-12
【審査請求日】2022-04-25
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和元年度、国立研究開発法人新エネルギー・産業技術総合開発機構、「高効率・高速処理を可能とするAIチップ・次世代コンピューティングの技術開発/革新的AIエッジコンピューティング技術の開発/ソフトテンソルプロセッサによる超広範囲センシングAIエッジ技術の研究開発」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】502116922
【氏名又は名称】ジャパンマリンユナイテッド株式会社
(74)【代理人】
【識別番号】110001461
【氏名又は名称】弁理士法人きさ特許商標事務所
(72)【発明者】
【氏名】天谷 一朗
(72)【発明者】
【氏名】比留井 仁
【審査官】小池 正彦
(56)【参考文献】
【文献】特開2005-031789(JP,A)
【文献】小林充,外3名,深層学習による景観画像からの船影の検出,日本船舶海洋工業会講演会論文集,日本,日本船舶海洋工業会,2018年05月22日,第26号,p121-124
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
B63B 43/20
B63B 49/00
(57)【特許請求の範囲】
【請求項1】
長手方向よりも前記長手方向に直交する短手方向の長さが短い形状を有する物体の画像を含む画像データが入力されると、前記画像データを前記短手方向に拡大した拡大画像データを生成する前処理手段と、
前記前処理手段によって生成された前記拡大画像データに対して、特徴マップを生成する畳み込み処理および前記特徴マップを縮小するプーリング処理の組み合わせ処理を行って前記画像データが示す画像に含まれる前記物体を検出する物体検出手段と、
を有する情報処理装置。
【請求項2】
前記画像データの基準画像データとして、前記物体の画像を含まない参照画像データを記憶する記憶手段をさらに有し、
前記前処理手段は、
前記参照画像データと前記画像データとの差分を求め、求めた差分画像データを用いて前記拡大画像データを生成する、請求項1に記載の情報処理装置。
【請求項3】
前記物体は船であり、
前記画像データは、水に浮かぶ前記船の画像を含むものである、
請求項1または2に記載の情報処理装置。
【請求項4】
前記前処理手段は、
前記画像データにおいて、水平線を検出し、前記水平線を基準にして前記短手方向の予め決められた幅の画像データに対して前記拡大画像データを生成する、
請求項3に記載の情報処理装置。
【請求項5】
請求項1~4のいずれか1項に記載の情報処理装置を備えた船舶。
【請求項6】
情報処理装置が行う情報処理方法であって、
長手方向よりも前記長手方向に直交する短手方向の長さが短い形状を有する物体の画像を含む画像データが入力されると、前記画像データを前記短手方向に拡大した拡大画像データを生成するステップと、
生成された前記拡大画像データに対して、特徴マップを生成する畳み込み処理および前記特徴マップを縮小するプーリング処理の組み合わせ処理を行って前記画像データが示す画像に含まれる前記物体を検出するステップと、
を有する情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像から物体を検出する情報処理装置、その情報処理装置を備えた船舶、および情報処理方法に関する。
【背景技術】
【0002】
航行中の船舶において、船員は、水面に浮かぶブイ等の浮遊物、岩礁、および他の船などの障害物に自船が衝突しないように、自船の周囲を監視する作業を、航行中、休みなく行っている。監視作業は船員への負担が大きく、衝突事故の大半は、障害物の見逃しなど船員に起因する。船員の負荷を低減するとともに、衝突事故の防止を目的として、カメラの撮影画像から周囲の物体を自動的に検出する監視システムの開発が行われている。
【0003】
画像認識による船舶検出システムの一例が知られている(非特許文献1参照)。非特許文献1に開示されたシステムは、畳み込みニューラルネットワークを応用した物体検出技術を浦賀水道が撮影された景観画像に適用し、浦賀水道を航行する船舶を検出する。将来、普及が予想される自律運航船において、周囲を監視するシステムは必須であり、画像認識による船舶検出システムの実用化が期待されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】小林充、外3名、「深層学習による景観画像からの船影の検出」日本船舶海洋工学会講演会論文集、2018年、第26号、pp.121-124
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1に開示されたシステムにおいて、観測地点から2~3km離れた航路を航行する船舶の検出率が低い。これは、風景画像における船影のサイズが、物体検出技術の検出限界よりも小さいことが原因である。非特許文献1においては、船舶の特有な形状により、船影の幅方向の検出サイズよりも高さ方向の検出サイズが小さいことが報告されている。非特許文献1に開示されたシステムは、船舶に限らず、長手方向の長さと短手方向の長さとの比が大きい物体を検出する際、長手方向の特徴を検出できたとしても、短手方向の特徴を検出できない場合があり、物体の検出率が低下してしまう。
【0006】
本発明は、上記のような課題を解決するためになされたもので、画像から長手方向の長さと短手方向の長さとの比が大きい物体を検出する精度を向上させる情報処理装置、その情報処理装置を備えた船舶、および情報処理方法を得るものである。
【課題を解決するための手段】
【0007】
本発明に係る情報処理装置は、長手方向よりも前記長手方向に直交する短手方向の長さが短い形状を有する物体の画像を含む画像データが入力されると、前記画像データを前記短手方向に拡大した拡大画像データを生成する前処理手段と、前記前処理手段によって生成された前記拡大画像データに対して、特徴マップを生成する畳み込み処理および前記特徴マップを縮小するプーリング処理の組み合わせ処理を行って前記画像データが示す画像に含まれる前記物体を検出する物体検出手段と、を有するものである。
【0008】
本発明に係る船舶は、上記の情報処理装置を備えたものである。
【0009】
本発明に係る情報処理方法は、情報処理装置が行う情報処理方法であって、長手方向よりも前記長手方向に直交する短手方向の長さが短い形状を有する物体の画像を含む画像データが入力されると、前記画像データを前記短手方向に拡大した拡大画像データを生成するステップと、生成された前記拡大画像データに対して、特徴マップを生成する畳み込み処理および前記特徴マップを縮小するプーリング処理の組み合わせ処理を行って前記画像データが示す画像に含まれる前記物体を検出するステップと、を有するものである。
【発明の効果】
【0010】
本発明によれば、特徴量を抽出する処理が行われる前の画像データにおいて、検出対象の物体の短手方向の長さが拡大されるため、プーリング処理において物体の短手方向の特徴が消失することが抑制される。そのため、長手方向の長さと短手方向の長さとの比が大きい物体を検出する精度を向上させることができる。
【図面の簡単な説明】
【0011】
【
図1】本実施の形態1に係る情報処理装置の一構成例を示すブロック図である。
【
図2】
図1に示した処理部の一構成例を示す機能ブロック図である。
【
図3】
図2に示した物体検出手段に入力される画像データの一例を説明するための模式図である。
【
図4】比較例の情報処理装置の一構成例を示すブロック図である。
【
図5】
図4に示した処理部の一構成例を示す機能ブロック図である。
【
図6】
図4に示した比較例の情報処理装置による画像認識モデル作成処理および物体検出処理のそれぞれの手順の一例を示すフロー図である。
【
図7】
図5に示した物体検出手段の動作手順を説明するための模式図である。
【
図8】
図5に示した畳み込み処理手段が行う畳み込み処理の一例を説明するための模式図である。
【
図9】
図5に示したプーリング手段が行うプーリング処理の一例を説明するための模式図である。
【
図10】船の種類が客船の場合の学習画像の一例を示す模式図である。
【
図11】船の種類が自動車運搬船の場合の学習画像の一例を示す模式図である。
【
図12】船の種類が石油タンカーの場合の学習画像の一例を示す模式図である。
【
図13】船の種類がコンテナ船の場合の学習画像の一例を示す模式図である。
【
図14】船の種類がLNG運搬船の場合の学習画像の一例を示す模式図である。
【
図15】検出処理対象の画像データの一例を示す模式図である。
【
図16】比較例の物体検出処理の過程において、船体の特徴が消失してしまった場合の一例を示す画像のイメージ図である。
【
図17】
図1に示した情報処理装置による画像認識モデル作成処理および物体検出処理のそれぞれの手順の一例を示すフロー図である。
【
図18】
図2に示した前処理手段が生成した拡大画像データが示す画像の一例を示すイメージ図である。
【
図19】変形例1において、入力される画像データが示す画像の一例を示す模式図である。
【
図20】変形例1において、基準画像データである参照画像データが示す画像の一例を示す模式図である。
【
図21】
図19に示した画像と
図20に示した画像との差分の画像のデータである差分画像データが示す画像の一例を示す模式図である。
【
図22】変形例2において、入力される画像データが示す画像の一例を示す模式図である。
【
図23】
図22に示す画像データを用いて、
図2に示した前処理手段が生成した拡大画像データが示す画像の一例を示す模式図である。
【発明を実施するための形態】
【0012】
実施の形態1.
本実施の形態1の情報処理装置の構成を説明する。
図1は、本実施の形態1に係る情報処理装置の一構成例を示すブロック図である。情報処理装置1は、入力される画像データによって表される画像に含まれる物体を検出する処理部2と、処理部2が実行する演算に必要な情報および処理部2による演算の結果を記憶する記憶部3とを有する。本実施の形態1においては、検出対象の物体が船の場合で説明する。記憶部3は、例えば、ハードディスクである。記憶部3は、2次記憶装置の役目を果たす。
【0013】
処理部2は、プログラムを記憶するメモリ31と、プログラムにしたがって処理を実行するGPU(Graphics Processing Unit)32とを有する。メモリ31は、フラッシュメモリ等の不揮発性メモリを有する。メモリ31は、不揮発性メモリの他に、SRAM(Static Rnd)等の揮発性メモリを有していてもよい。メモリ31は、プログラムを記憶するだけでなく、GPU32による演算の結果を一時的に記憶するキャッシュメモリおよび入力される画像データを記憶するフレームメモリとしての役目も果たす。メモリ31および記憶部3は記憶手段の一例である。
【0014】
なお、本実施の形態1においては、処理部2にGPU31が設けられている場合で説明するが、GPUの代わりにCPU(Central Processing Unit)が設けられていてもよい。また、GPUの代わりに、ASIC(Application Specific Integrated Circuit)およびFPGA(Field-Programmable Gate Array)等の専用回路が処理部2に設けられていてもよい。
【0015】
図2は、
図1に示した処理部の一構成例を示す機能ブロック図である。処理部2は、モデル作成手段21と、前処理手段10と、物体検出手段22とを有する。モデル作成手段21は、教師データとして入力される複数のデータセットを用いて、画像認識モデルを生成する。本実施の形態1の画像認識モデルは、海上を撮影した画像に含まれる船を検出するものである。なお、本実施の形態1においては、情報処理装置1が画像データから船の有無を検出するだけでなく、船の種類も検出する場合で説明するが、船の種類まで検出しなくてもよい。
【0016】
船の種類は、例えば、コンテナを運搬するコンテナ船、石油を運搬する石油タンカー、自動車を運搬する自動車運搬船、旅客を乗せて運ぶ客船、および液化天然ガス(LNG)を運搬するLNG運搬船などである。本実施の形態1においては、船の種類が、コンテナ船、石油タンカー、自動車運搬船、客船およびLNG運搬船の5種類の場合で説明するが、船の種類は5種類に限定されない。
【0017】
物体検出手段22は、モデル作成手段21によって作成された画像認識モデルを用いて、画像データに対して画像認識処理を行って特徴量を抽出し、船の有無および船の種類を判定する。例えば、物体検出手段22は、畳み込みニューラルネットワークを用いて、画像データが示す画像に含まれる船を検出する。前処理手段10は、物体検出手段22による物体検出精度を向上させるために、入力される画像データを加工して、加工した画像データを物体検出手段22に提供する。
【0018】
情報処理装置1の画像認識処理の対象となる画像データは、例えば、カメラ60から入力される。カメラ60は、陸上に固定されていてもよく、船などの移動手段に設置されていてもよい。画像データの一例を、
図3を参照して説明する。
図3は、
図2に示した物体検出手段に入力される画像データの一例を説明するための模式図である。
図3に示すように、カメラ60は、レンズ61と、撮像部62と、A/D(アナログ/デジタル)変換部63とを有する。撮像部62は、マトリクス状に配置された複数の受光素子(不図示)を有する。撮像部62は、例えば、CCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semiconductor)イメージセンサである。
【0019】
レンズ61は、船および水面等で反射した光を撮像部62に集光する。撮像部62は、複数の受光素子によって検出される光の強度を電気信号に変換し、変換した複数の電気信号を出力する。A/D変換部63は、撮像部62から受信する複数の電気信号を、順次、標本化および量子化してアナログ信号からデジタル信号に変換して情報処理装置1に送信する。複数のデジタル信号は、2次元の画像データとして、カメラ60から情報処理装置1に入力される。カメラ60から情報処理装置1に入力される2次元の画像データのイメージを、
図3に示す。
【0020】
カメラ60によって撮影される風景の画像には、船以外のものが含まれていてもよい。船以外のものは、例えば、島、ブイ、および船が接岸する岸壁などである。また、カメラ60によって撮影される風景の画像に、船が被写体として含まれない場合もある。また、カメラ60によって撮影される風景の画像は、2次元の静止画像であってもよく、2次元の動画像であってもよい。以下では、説明を簡単にするために、情報処理装置1による情報処理の対象画像が静止画像の場合で説明する。静止画像の各画素のデータは、白黒表示における明るさのレベルを示す値であってもよく、R(赤色)、G(緑色)およびB(青色)の各成分の明るさのレベルを示す値であってもよい。
【0021】
本実施の形態1の情報処理装置1を詳しく説明する前に、比較例の情報処理装置について説明する。
図4は、比較例の情報処理装置の一構成例を示すブロック図である。
図5は、
図4に示した処理部の一構成例を示す機能ブロック図である。
【0022】
図4に示すように、比較例の情報処理装置100は、処理部120および記憶部130を有する。処理部120のハードウェア構成は
図1を参照して説明した処理部2と同様な構成であるため、その詳細な説明を省略する。また、記憶部130のハードウェア構成は
図1を参照して説明した記憶部3と同様な構成であるため、その詳細な説明を省略する。
図5に示すように、処理部120は、モデル作成手段21と、物体検出手段22とを有する。物体検出手段22は、畳み込み処理手段11と、プーリング手段12と、結合手段13と、出力手段14とを有する。
【0023】
次に、
図4に示した比較例の情報処理装置100の動作手順を説明する。
図6は、
図4に示した比較例の情報処理装置による画像認識モデル作成処理および物体検出処理のそれぞれの手順の一例を示すフロー図である。モデル作成手段21が行う画像認識モデル作成処理を説明する前に、モデル作成手段21によって作成された画像認識モデルを用いて、物体検出手段22が行う物体検出処理について説明する。
【0024】
物体検出手段22は、カメラ60から画像データが入力されると(ステップS201)、画像データに対して画像認識モデルを適用し、画像データで表される画像に含まれる船の検出処理を行う(ステップS202)。以下に、ステップS202で行われる情報処理方法について、詳しく説明する。
【0025】
図7は、
図5に示した物体検出手段の動作手順を説明するための模式図である。畳み込み処理手段11は、画像データにフィルタをかけて特徴マップを生成する畳み込み処理を行う。例えば、畳み込み処理手段11は、画像データの各画素におけるRGBの3つの成分の明るさのレベルに対して特徴マップを生成する。プーリング手段12は、畳み込み処理手段11によって生成された特徴マップのサイズを縮小する。さらに、畳み込み処理手段11は、プーリング手段12によって縮小された特徴マップに対して畳み込み処理を行う。続いて、プーリング手段12は、畳み込み処理手段11によって生成された特徴マップのサイズをさらに縮小する。
【0026】
結合手段13は、複数の2次元の特徴マップを1次元の特徴マップに変換し、船の種類毎に特徴量の総和Skを求める。本実施の形態1においては、船の種類は5種類なので、kを0~4のいずれかの整数とする。出力手段14は、5種類の船の特徴量の総和Skの合計値Sumを分母とし、船の種類毎の特徴量の総和Skを分子として、船の種類毎の検出確率を算出する。出力手段14は、算出した各船の検出確率のうち、最も大きい値を示す検出確率に対応する船の種類を出力する。その際、出力手段14は、算出した各船の検出確率の結果の全てをリスト化して出力してもよい。
【0027】
なお、
図7は、畳み込み処理およびプーリング処理の組み合わせ処理が2回の場合を示しているが、この組み合わせ処理の回数は2回に限らない。組み合わせ処理の回数は1回でもよく、3回以上であってもよい。
【0028】
次に、畳み込み処理手段11が行う畳み込み処理について、
図8を参照して説明する。
図8は、
図5に示した畳み込み処理手段が行う畳み込み処理の一例を説明するための模式図である。ここでは、説明を簡単にするために、2次元の画像データの水平方向(X軸矢印方向)および垂直方向(Y軸矢印方向)のそれぞれの画素数が10個であるものとする。水平方向にL列(Lは正の整数)および垂直方向にL行でマトリクス状に配置されるデータを「L×L」と表記する。また、各画素の位置を、
図8に示すX軸およびY軸を座標軸とした座標で表す。最上段の左端の座標を原点(0,0)とし、最下段の右端の座標を(9,9)とする。画像データには、画素毎に光の強度を示すデータが記録されている。例えば、座標(0,0)の画素のデータはa
00である。ここでは、画素のデータa
00~a
99は、白黒表示における明るさのレベルを示す値の場合で説明するが、RGBの各成分の明るさのレベルを示す値であってもよい。
【0029】
w(w<L)を正の整数とするとき、畳み込み処理手段11は、L×Lの画像データに対して、w×wの画素のデータを抜き出し、抜き出したw×wの画素のデータに対してw×wの重みフィルタwfの内積を求める。そして、畳み込み処理手段11は、内積の結果を活性化関数f1に入力することで、特徴マップを求める。
図8は、L=10、w=3の場合を示す。重みフィルタwfおよび活性化関数f1は、後述する画像認識モデル作成処理によって画像認識モデルに設定される。
【0030】
図8に示すように、畳み込み処理手段11は、10×10の画像データにおいて、基準となる原点側から3×3の画像データを抜き出し、抜き出した画像データに対して3×3の重みフィルタwfの内積を求める。重みフィルタwfは、例えば、エッジ検出フィルタである。例えば、畳み込み処理手段11は、
図8の画像データに示す破線枠で囲まれた3×3の画像データに対して重みフィルタwfの内積を求める。内積の結果Ri00は、Ri00=a
00×(-1)+a
10×(-1)+a
20×(-1)+a
01×(-1)+a
11×8+a
21×(-1)+a
02×(-1)+a
12×(-1)+a
22×(-1)の式によって算出される。そして、畳み込み処理手段11は、内積の結果Ri00を活性化関数f1に入力することで、8×8の特徴マップの破線枠で示す特徴量b
00を算出する。
【0031】
続いて、畳み込み処理手段11は、10×10の画像データにおいて、3×3の破線枠をX軸矢印方向に1画素分だけシフトさせ、特徴量b
00と同様にして、特徴量b
10を算出する。畳み込み処理手段11は、3×3の破線枠を右端の座標(9,0)に到達する位置まで1画素分ずつシフトさせる度に特徴量を算出する。畳み込み処理手段11は、特徴量b
70を算出した後、3×3の破線枠を原点側に戻すとともに、Y軸矢印方向に1画素分シフトさせ、特徴量b
01を算出する。このようにして、畳み込み処理手段11は、特徴量の算出処理を繰り返し、
図8の右側下段に示す、8×8の特徴マップを生成する。ここでは、シフト量が1画素分の場合を説明したが、シフト量は1画素分に限らない。
【0032】
次に、
図5に示したプーリング手段12が行うプーリング処理について、
図9を参照して説明する。
図9は、
図5に示したプーリング手段が行うプーリング処理の一例を説明するための模式図である。プーリング手段12が
図8に示した8×8の特徴マップに対してプーリング処理する場合を説明する。
【0033】
プーリング手段12は、
図8で求められた8×8の特徴マップに対して、4×4の特徴マップに縮小するプーリング処理を行う。具体的には、プーリング手段12は、8×8の特徴マップに対して、2×2の特徴量のグループ毎に縮小処理を行う。ここでは、プーリングサイズが2×2の場合で説明するが、プーリングサイズは2×2に限らない。プーリング処理の種類として、例えば、最大値プーリング、平均値プーリングおよびLpプーリングがある。Lpプーリングのpは指数を表す。
【0034】
各プーリング処理について、
図9の8×8の特徴マップに示す、2×2の破線枠で囲まれた4つの特徴量の場合で説明する。最大値プーリングの場合、プーリング手段12は、b
00、b
10、b
01およびb
11のうち、最大値を特徴量c
00とする。平均値プーリングの場合、プーリング手段12は、特徴量c
00として、c
00=(b
00+b
10+b
01+b
11)/4を算出する。p=2のL2プーリングの場合、プーリング手段12は、特徴量c
00として、c
00=(b
00
2+b
10
2+
b01
2+b
11
2)
1/2を算出する。
【0035】
このようにして、8×8の特徴マップのサイズが4×4の特徴マップに縮小される。つまり、プーリング処理が、1回、行われることにより、特徴マップのサイズが1/4に縮小される。ここでは、説明のために、画像データが10×10のデータの場合で説明したが、画像データは、例えば、720×480のサイズである。そのため、畳み込み処理およびプーリング処理の組み合わせ処理は、1回に限らず、複数、行われることが多い。
【0036】
結合手段13は、4×4の特徴マップを1次元の特徴マップに変換し、船の種類毎に特徴量の総和Skを求める。出力手段14は、5種類の船の特徴量の総和Skの合計値Sumと、船の種類毎の特徴量の総和Skとを用いて、船の種類毎の検出確率を算出する。そして、出力手段14は、算出した各船の検出確率のうち、最も大きい値を示す検出確率に対応する船の種類を出力する。ユーザは、出力手段14の出力結果から、検出された船の種類がわかる。また、出力手段14は、算出した各船の検出確率の結果の全てをリスト化して出力してもよい。この場合、ユーザは、船の種類毎の検出確率を示すリストから、各船の検出確率を比較することができる。なお、結合手段13および出力手段14の動作は畳み込みニューラルネットワークの全結合層および出力層の処理と同様なため、その詳細な説明を省略する。
【0037】
次に、
図6を参照して、モデル作成手段21が画像認識モデルを作成する画像認識モデル作成処理について説明する。モデル作成手段21は、教師データを用いて、重みフィルタwfおよび活性化関数f1の最適値を求め、求めた最適値を予め決められた画像認識モデルに反映させる。はじめに、画像認識モデル作成処理に用いられる学習画像の具体例を説明する。
【0038】
図10~
図14は学習画像の例を示す模式図である。
図10~
図14においては、説明のために、X軸方向とZ軸方向とを定義している。
図10~
図14に示す各画像は、船がX軸矢印方向に船尾を向け、X軸矢印と反対方向に船首を向けている場合の画像である。
図10は、船の種類が客船の場合の学習画像の一例を示す模式図である。また、空と海との境界は「水平線」と称され、船体が水に浮かんでいるときの水面ぎわの線は「喫水線」と称されるが、以下では、どちらも水平線の用語を使用する。
【0039】
図10を参照して説明すると、一般的に、船は、船首から船尾までの長手方向(X軸矢印方向)の長さに対して、水面から垂直な方向(Z軸矢印方向)の長さが短い形状を有する。また、船は、船体と船体の上に設けられた上部構造物の、大きく2つの構造に分けられる。
図10の画像81に示すように、客船は、船体71aと、上部構造物72aとに分けられる。客船は、上部構造物72aとして、複数の客室を含む客室棟74と、客室棟74の上に設けられたブリッジ73aとを有する。客船は、船体71aのうち、水平線70から上の部分のZ軸方向の長さと、客室棟74のZ軸方向との長さとがほぼ同じという特徴がある。
【0040】
図11は、船の種類が自動車運搬船の場合の学習画像の一例を示す模式図である。
図11の画像82に示す自動車運搬船は、多くの自動車を格納するために空間の大きい船倉を船体71bに有している。
図11に示す画像82の例では、目立つ上部構造物は、ブリッジ73bだけである。自動車運搬船は、水平線70よりもZ軸方向に長い船体71bを有するという特徴がある。
【0041】
図12は、船の種類が石油タンカーの場合の学習画像の一例を示す模式図である。石油タンカーは、自動車運搬船と同様に、目立つ上部構造物がブリッジ73cだけであり、かつ、空間の大きい船倉を船体71cに有している。しかし、
図12の画像83に示すように、石油タンカーは船体71cの大部分が水平線70よりも下にある。石油タンカーは、船体71cの水平線70からZ軸方向の長さと船首から船尾までの長さとのアスペクト比が、客船および自動車運搬船と比べて大きいという特徴がある。
【0042】
図13は、船の種類がコンテナ船の場合の学習画像の一例を示す模式図である。コンテナ船の場合、
図13の画像84に示すように、船体71dの甲板の上には複数のコンテナ75が山積みされる。コンテナ船には、上部構造物として、山積みされたコンテナ75の最上面よりも高い位置にブリッジが配置されたブリッジ棟73dが設けられている。これは、船員が船首の前方を見られるようにするためである。コンテナ船は、水平線70からZ軸方向の船体の長さよりも、長いブリッジ棟73dを有する特徴がある。
【0043】
図14は、船の種類がLNG運搬船の場合の学習画像の一例を示す模式図である。LNG運搬船の場合、
図14の画像85に示すように、船体71eの甲板の上に、半球状のタンク76が露出している。画像85の例においては、タンク76の数は4つである。また、LNG運搬船には、タンク76の最上面よりも高い位置にブリッジが配置されたブリッジ棟73eが甲板の上に設けられている。LNG運搬船は、船体71eの上に半球状のタンク76が露出している特徴がある。
【0044】
図6に示したステップSg101において、モデル作成手段21に、
図10~
図14に示す学習画像の画像データが入力される。続いて、モデル作成手段21は、図に示さない入力部を介して、
図10~
図14に示す学習画像に対応して各画像が示す船の種類が入力されると、学習画像と船の種類とを対応づけたデータセットを作成する(ステップSg102)。この場合、モデル作成手段21は、5つデータセットを作成する。そして、モデル作成手段21は、誤差逆伝播法により、船の種類の誤検出率が小さくなるように、予め決められた画像認識モデルに含まれる重みフィルタおよび活性化関数の最適値を算出する。続いて、モデル作成手段21は、算出した最適値を反映させた画像認識モデルを作成する(ステップSg103)。モデル作成手段21は、作成した画像認識モデルを物体検出手段22に渡す。
【0045】
なお、データセットは
図10~
図14に示す学習画像に対応する5つの教師データの場合に限らない。モデル作成手段21は、準備された学習画像に対して、画像のサイズ、角度、色調および輝度等をランダムに変更してデータセットの数を増やすデータオーギュメンテーション(データ拡張)を行ってもよい。例えば、モデル作成手段21は、
図10~
図14に示した各学習画像に対して左右反転させた画像を生成して、データセットを増やしてもよい。モデル作成手段21は、教師データのデータ拡張を行うことで、ロバスト性を高めた学習を行うことができる。
【0046】
次に、比較例の情報処理装置100が行う物体検出処理の課題を説明する。
図15は、検出処理対象の画像データの一例を示す模式図である。
図15は、石油タンカーをカメラ60が撮影した画像であるが、
図12に示した石油タンカーと比べて、船体71cのうち、水平線70から水中に隠れてしまう部分が大きくなっている。
図15に示す画像90は、例えば、石油タンカーが船倉に石油を満載したときの状態である。
【0047】
図10~
図14の画像に示された船と比べると、画像90が示す石油タンカーは、船体71cのうち、水面から露出している部分が少ない。そのため、物体検出手段22が船体71cと水平線70とを区別できないおそれがある。原因の1つとして、プーリング処理が考えられる。
図9を参照して説明したように、プーリング処理において、特徴マップがダウンサイジングされる。
図9に示した例においては、特徴マップが1/4に縮小される。
図15に示すように、目立った上部構造物を有していない船体71cが水平線70に平行な細長い形状であるため、プーリング処理により水面より露出している船体71cのZ軸方向の特徴が早い段階で消失してしまうことが考えられる。
【0048】
図16は、比較例の物体検出処理の過程において、船体の特徴が消失してしまった場合の一例を示す画像のイメージ図である。
図16に示す画像91の場合、物体検出手段22は、ブリッジ73cを、例えば、船以外の島またはブイと判定し、船が存在しないという結果を出力してしまう。
【0049】
検出対象の船が石油タンカーの場合について説明したが、石油タンカーの場合に限らず、長手方向に対して短手方向が短い形状を有する物体を検出する場合であれば、同じ課題が発生する。そこで、本実施の形態1の情報処理装置1は、物体検出処理の過程で特徴が消失してしまうことを抑制する前処理手段10を有する。
【0050】
図2に示した前処理手段10の構成を説明する。
図2に示した構成のうち、モデル作成手段21および物体検出手段22の構成は、比較例の情報処理装置100について説明した構成と同様であるため、その詳細な説明を省略する。
図2に示した前処理手段10は、画像データが入力されると、画像データを船の短手方向に拡大した拡大画像データを生成する。前処理手段10は、生成した拡大画像データを物体検出手段22に提供する。
【0051】
次に、本実施の形態1の情報処理装置1の動作手順を説明する。
図17は、
図1に示した情報処理装置による画像認識モデル作成処理および物体検出処理のそれぞれの手順の一例を示すフロー図である。なお、画像認識モデル作成処理は比較例の情報処理装置100が行う画像認識モデル作成処理と同様であるため、その説明を省略する。また、ステップS103の処理は
図6に示したステップS202と同様な処理であるため、その詳細な説明を省略する。
【0052】
前処理手段10は、カメラ60から画像データが入力されると(ステップS101)、入力された画像データを拡大する処理を行う(ステップS102)。具体的には、前処理手段10は、検出される船の船首から船尾の方向に平行な長手方向に対して垂直方向(Z軸矢印方向)に画像データを拡大した拡大画像データを生成する。
【0053】
図18は、
図2に示した前処理手段が生成した拡大画像データが示す画像の一例を示すイメージ図である。
図18に示す画像92は、前処理手段10が
図15に示した画像90による画像データをZ軸方向に2倍に拡大したものである。前処理手段10は、生成した拡大画像データを物体検出手段22に渡す。物体検出手段22は、前処理手段10から拡大画像データを受け取ると、拡大画像データに対して画像認識モデルを適用し、画像データで表される画像に含まれる船の検出処理を行う(ステップS103)。
【0054】
本実施の形態1においては、
図15に示した船体71cの水平線70から露出した部分のZ軸方向の長さが2倍になっている。そのため、ステップS102において、畳み込み処理およびプーリング処理の組み合わせ処理が複数回行われても、船体71cの特徴が消失してしまうことが抑制される。その結果、石油タンカーのように横長の船体71cが特徴として抽出され、船の存在が検出される。
【0055】
(変形例1)
変形例1では、検出対象の画像に、船以外に、長手方向に対して長手方向に直交する短手方向の長さが短い形状を有するものが含まれている場合について説明する。長手方向に対して短手方向の長さが短い形状を有するものとして、例えば、船を接岸させる岸壁がある。
【0056】
図19は、変形例1において、入力される画像データが示す画像の一例を示す模式図である。
図20は、変形例1において、基準画像データである参照画像データが示す画像の一例を示す模式図である。
図21は、
図19に示した画像と
図20に示した画像との差分の画像のデータである差分画像データが示す画像の一例を示す模式図である。
【0057】
カメラ60が陸上に固定されている場合、カメラ60が撮影する風景の画像に、常に、船以外の構造物が含まれることがある。
図20に示す画像102を参照すると、カメラ60の視野角に船が入っていないときに、岸壁150がカメラ60の被写体として撮影されている。画像102のように船の画像を含まない画像データを、物体検出対象の画像データの基準画像データとして、メモリ31が予め記憶している。このような基準画像データを、参照画像データと称する。参照画像データが複数ある場合、記憶部3が複数の参照画像データを記憶してもよい。
【0058】
図19に示す画像101には、被写体として、石油タンカーの他に岸壁150が含まれている。前処理手段10は、
図19に示す画像101の画像データが入力されると、画像データと参照画像データと差分を求め、求めた差分の画像を示すデータである差分画像データを用いて拡大画像データを生成する。前処理手段10は、生成した拡大画像データを物体検出手段22に渡す。物体検出手段22が差分画像データの拡大画像データを用いて物体検出処理を行ったとき、船体71cの特徴が消失してしまうことが抑制されるとともに、岸壁150が船と誤検出されてしまうことを防ぐことができる。
【0059】
変形例1によれば、検出処理対象の画像データが示す画像に、船体の形状に近似した横長の構造物が含まれていても、その構造物が差分画像データから除かれるため、船の検出精度が向上する。
【0060】
(変形例2)
変形例2では、入力される画像データに対して拡大対象の範囲を小さくする場合について説明する。
図22は、変形例2において、入力される画像データが示す画像の一例を示す模式図である。
図23は、
図22に示す画像データを用いて、
図2に示した前処理手段が生成した拡大画像データが示す画像の一例を示す模式図である。
【0061】
前処理手段10は、
図22に示す画像111の画像データにおいて、水平線70を検出する。前処理手段10は、画像データから水平線70を検出する際、例えば、エッジ検出フィルタを用いる。前処理手段10は、エッジ検出フィルタを画像データにかける際、垂直方向(Z軸矢印方向)に隣接する複数の画素に対してフィルタ処理を行えばよい。
図22に示すように、水平線70は水平方向(X軸方向)と平行に伸びているので、水平線70を跨ぐ方向にフィルタ処理をかければ、より検出されやすくなる。この場合、水平方向のフィルタ処理を行わなくてすむので、前処理手段10は、水平線70の検出処理を早く行うことができる。
【0062】
前処理手段10は、水平線70を検出すると、水平線70を基準にして船体71cの短手方向の一定の幅の画像データに対して、
図23に示す画像113の拡大画像データを生成する。破線枠112に示す範囲が拡大対象の画像である。破線枠112は、水平線70を基準にして垂直上方向(Z軸矢印方向)および垂直下方向(Z軸矢印と反対方向)のそれぞれの距離が同じになる幅を有する。水平線70は拡大対象の範囲の基準線の役目を果たす。
図22に示す例では、画像111の垂直方向の長さをZ0とすると、破線枠112の垂直方向の幅Z1は、Z1=(1/2)×Z0で表される。画像111全体のうち、破線枠112で囲まれる面積は画像111の半分の面積である。この場合、画像データのうち、拡大する画像データの範囲が1/2で済む。
【0063】
変形例2によれば、物体検出処理の対象となる画像データに対して水平線70を基準にして短手方向の予め決められた幅の画像データが拡大されるので、画像データを一時的に保存するためのフレームメモリの使用容量を増やさずに済む。
図22および
図23を参照して説明した例の場合、
図18に示した画像92の場合に比べて、フレームメモリの使用容量を1/2に削減できる。
【0064】
なお、変形例2において、画像データの拡大範囲の基準となる基準線が水平線70の場合で説明したが、基準線は水平線70に限らない。例えば、
図22に示した画像111において、垂直方向(Z軸矢印方向)の長さZ0の中心を通り、水平方向(X軸矢印方向)に平行な線を基準線としてもよい。通常、カメラ60の画角の中心付近に水平線70が位置するからである。この場合、前処理手段10は水平線70の検出処理を行う必要がない。
【0065】
また、上述の実施の形態1においては、物体検出処理の対象となる画像データがカメラ60から入力される場合で説明したが、画像データは、データサーバ等の外部装置(不図示)からネットワークを介して情報処理装置1に入力されてもよい。
【0066】
さらに、上述の実施の形態1においては、情報処理装置1がモデル作成手段21を備えている場合で説明したが、情報処理装置1は必ずしもモデル作成手段21を備えていなくてもよい。例えば、モデル作成手段21がサーバ等の外部装置(不図示)に設けられ、外部装置と情報処理装置1とが通信できるように接続されていればよい。
【0067】
本実施の形態1の情報処理装置1は、長手方向よりも長手方向に直交する短手方向の長さが短い形状を有する物体の画像を含む画像データから物体を検出する物体検出手段22と、前処理手段10とを有する。前処理手段10は、長手方向よりも短手方向の長さが短い形状を有する物体の画像を含む画像データが入力されると、画像データを短手方向に拡大した拡大画像データを生成する。物体検出手段22は、前処理手段10によって生成された拡大画像データに対して、特徴マップを生成する畳み込み処理および特徴マップを縮小するプーリング処理の組み合わせ処理を行って画像データが示す画像に含まれる物体を検出する。
【0068】
比較例の情報処理装置100は、多段の畳み込み処理により船の特徴を抽出する画像認識モデルを画像認識モデル作成処理により作成し、作成した画像認識モデルを用いて、海上で撮影された風景の画像に対して船を検出している。この場合、石油タンカーのように船体の露出部分が薄く、横の長さと縦の長さとのアスペクト比が大きな物体は、畳み込みニューラルネットワークによる演算処理において、早い段階でプーリング処理の画像縮小により物体のサイズが小さくなってしまう。そのため、アスペクト比の大きい物体は、十分な特徴量を持つと判断されず、船として検出されない。
【0069】
これに対し、本実施の形態1によれば、特徴量を抽出する処理が行われる前の画像データにおいて、検出対象の物体の短手方向の長さが拡大されるため、プーリング処理において物体の短手方向の特徴が消失することが抑制される。そのため、長手方向の長さと短手方向の長さとの比が大きい物体を検出する精度を向上させることができる。
【0070】
本実施の形態1において、検出対象の物体が船である場合、船は水平線に平行な横長な形状を有するが、水平線から船の露出部分の垂直方向の長さが拡大されるため、プーリング処理において船の露出部分の特徴が消失することが抑制される。その結果、船の検出精度を大幅に改善することができる。
【0071】
一方、画像認識モデル作成処理において、船体の露出部分について水平線から垂直方向の長さを種々変更した学習画像を有するデータセットを追加して、石油タンカーのような船の検出率を向上させることも考えられる。しかし、検出精度を上げようとすると、多くの学習画像を準備しなければならない。
【0072】
これに対して、本実施の形態1の情報処理装置1においては、船の検出対象の画像を船体の短手方向に引き伸ばすだけで検出精度が向上するため、船体の水平線から垂直方向の長さが異なる多くの学習画像を用いて画像認識モデル作成処理を行う必要がない。
【0073】
また、本実施の形態1において、メモリ31が画像データの基準画像データとして、船の画像を含まない参照画像データを記憶し、前処理手段10は、参照画像データと画像データとの差分を求め、求めた差分画像データを用いて拡大画像データを生成してもよい。この場合、検出処理対象の画像データが示す画像に、船体の形状に近似した横長の構造物が含まれていても、その構造物が差分画像データから除かれるため、船の検出精度が向上する。
【0074】
また、本実施の形態1において、前処理手段10は、画像データに対して、水平線を検出し、水平線を基準にして短手方向の予め決められた幅の画像データに対して拡大画像データを生成してもよい。この場合、画像データを一時的に保存するためのフレームメモリの使用容量を増やさずに済む。
【0075】
さらに、本実施の形態1で説明した情報処理装置1を船舶が備えていてもよい。情報処理装置1を備える船舶は、例えば、コンテナ船、石油タンカー、自動車運搬船、客船およびLNG運搬船である。情報処理装置1を備える船舶の種類は限定されない。船舶が情報処理装置1を備えている場合、船員の監視負荷を低減するとともに、衝突事故の防止を図ることができる。
【0076】
なお、本実施の形態1において、重力方向に垂直な長手方向に対して重力方向に平行な短手方向の形状を有する場合について説明したが、重力方向に垂直な短手方向に対して重力方向に平行な長手方向の形状を有する場合にも本実施の形態1を適用できる。
【0077】
例えば、コンピュータが道路の状況を認識して自動車を運転する自動運転技術に、本実施の形態1の情報処理方法を適用してもよい。電信柱および歩行者に比べて、標識およびミラーを支持するポールは直径が小さい。本実施の形態1の情報処理方法を適用した自動運転技術によって、標識およびミラーを支持するポールのように細い物体も検出できるようになる。
【0078】
また、本実施の形態1において
図17を参照して説明した情報処理方法をコンピュータに実行させるためのプログラムを、記録媒体に記録してもよく、ネットワークを介して他の情報処理装置にインストールしてもよい。記録媒体は、例えば、磁気ディスクおよび光学ディスクである。光学ディスクは、例えば、CD(Compact Disc)およびDVD(Digital Versatile Disc)である。記録媒体は、フラッシュメモリ等の半導体メモリが搭載されたUSB(Universal Serial Bus)メモリであってもよい。
【符号の説明】
【0079】
1 情報処理装置、2 処理部、3 記憶部、10 前処理手段、11 畳み込み処理手段、12 プーリング手段、13 結合手段、14 出力手段、21 モデル作成手段、22 物体検出手段、31 メモリ、32 GPU、60 カメラ、61 レンズ、62 撮像部、63 A/D変換部、70 水平線、71a~71e 船体、72a 上部構造物、73a~73c ブリッジ、73d、73e ブリッジ棟、74 客室棟、75 コンテナ、76 タンク、81~85 画像、90~92 画像、100 情報処理装置、111 画像、112 破線枠、113 画像、120 処理部、130 記憶部、150 岸壁。