JP6800901B2 - 物体領域識別装置、物体領域識別方法およびプログラム - Google Patents

物体領域識別装置、物体領域識別方法およびプログラム Download PDF

Info

Publication number
JP6800901B2
JP6800901B2 JP2018039979A JP2018039979A JP6800901B2 JP 6800901 B2 JP6800901 B2 JP 6800901B2 JP 2018039979 A JP2018039979 A JP 2018039979A JP 2018039979 A JP2018039979 A JP 2018039979A JP 6800901 B2 JP6800901 B2 JP 6800901B2
Authority
JP
Japan
Prior art keywords
cost
pixel
image
transition
area identification
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.)
Active
Application number
JP2018039979A
Other languages
English (en)
Other versions
JP2019153235A (ja
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2018039979A priority Critical patent/JP6800901B2/ja
Priority to US16/117,891 priority patent/US10853657B2/en
Publication of JP2019153235A publication Critical patent/JP2019153235A/ja
Application granted granted Critical
Publication of JP6800901B2 publication Critical patent/JP6800901B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle

Description

本発明の実施形態は、物体領域識別装置、物体領域識別方法およびプログラムに関する。
画像の画素毎に物体種別をラベリングすることは、セマンティックセグメンテーションと呼ばれ、幅広い応用がある。例えば、自動車の自動運転では、車載カメラの映像から自動車、道路、歩行者などの領域を識別することで自動車の走路を決定できる。また、監視カメラの映像から人物の領域を識別することで、不審者の検出や人数カウント等に利用できる。セマンティックセグメンテーションによるラベリングが高精度なほど、その後の処理の信頼性も上がる。
セマンティックセグメンテーションの手法としては、画素毎に独立して物体ラベルを求める方法が広く知られている。しかし、物体ラベルは画素毎に大きく変化しないため、画像の大域的な情報を用いることで、ラベリング精度の向上が期待できる。そこで、大域的な情報を用いて画素毎の物体ラベルを決定する方法も提案されている。しかし、大域的な情報を用いて画素毎の物体ラベルを決定する従来の方法は、各画素の物体ラベルを周辺画素との関係から試行錯誤的に求めるものであるため、高精度のラベリングを行うためには計算を繰り返し行う必要がある。このため、特に解像度の高い画像に対しては計算時間が長くかかってしまうという問題があり、大域的な情報を用いた高精度なラベリングをより少ない計算量で実現できるようにすることが求められている。
特開2008−217706号公報
Vijay Badrinarayanan et al.,"SegNet:A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation",IEEE Transactions on Pattern Analysis and Machine Intelligence,2017. Shuai Zheng et al.,"Conditional Random Field as Recurrent Neural Networks",International Conference on Computer Vision,2015. H.Hirschmuller,"Stereo Processing by Semiglobal Matching and Mutual Information",IEEE Transactions on Pattern Analysis and Machine Intelligence,2008. Akihito Seki and Marc Pollefeys,"SGM-Nets:Semi-global matching with neural networks",IEEE CVPR,July,2017.
本発明が解決しようとする課題は、大域的な情報を用いた高精度なラベリングをより少ない計算量で実現できる物体領域識別装置、物体領域識別方法およびプログラムを提供することである。
実施形態の物体領域識別装置は、画像の各画素が予め定めた複数の物体クラスのいずれに属するかを識別して画素毎に物体種別のラベリングを行う物体領域識別装置であって、ベースコスト算出部と、遷移コスト推定部と、累積コスト算出部と、クラス決定部と、を備える。ベースコスト算出部は、前記各画素において前記複数の物体クラス毎のベースコストを算出する。遷移コスト推定部は、前記画像上の隣接する画素間で物体クラスが遷移する際に要する遷移コストを推定する。累積コスト算出部は、前記画像上に設定した走査方向に沿って、前記ベースコストと前記遷移コストを前記複数の物体クラス毎に累積して、前記各画素における前記複数の物体クラス毎の累積コストを算出する。クラス決定部は、前記累積コストに基づいて、前記各画素の物体クラスを決定する。
実施形態に係る物体領域識別装置の機能的な構成例を示すブロック図。 遷移コストの概要を説明する図。 画像上に4つの走査方向を設定する例を説明する図。 画像上に8つの走査方向を設定する例を説明する図。 累積コストを計算する過程を説明する図。 実施形態に係る物体領域識別装置の処理手順を示すフローチャート。 遷移コスト推定部を学習する際の構成例を示すブロック図。 学習用データの一例を示す図。 遷移コスト推定部を学習する際の処理手順を示すフローチャート。 第1ロスを説明する図。 第2ロスを説明する図。 遷移コスト推定部の具体的な構造の一例を示す図。 走査方向と遷移コストとの関係を説明する図。 遷移コスト推定部の具体的な構造の他の例を示す図。 図13に示す構造の遷移コスト推定部を用いた場合の物体領域識別装置の構成例を示す図。 実施形態に係る物体領域識別装置のハードウェア構成例を示すブロック図。
以下、添付図面を参照しながら、実施形態の物体領域識別装置、物体領域識別方法およびプログラムについて詳細に説明する。本実施形態は、画像の各画素が予め定めた複数の物体クラスのいずれに属するかを識別して画素毎に物体種別のラベリングを行うものであり、特に、大域的な情報を用いた高精度なラベリングをより少ない計算量で実現する、新規なセマンティックセグメンテーションの手法を提案するものである。
大域的な情報を用いたセマンティックセグメンテーションのエネルギー関数は、下記式(1)のように表すことができる。
Figure 0006800901
ここで、xは画像における画素位置、yはxに隣接する画素位置、c,cはそれぞれ画素位置x,yにおける物体クラスcである。Uは画素位置x毎・物体クラスc毎のコストであり、pは画素位置xと画素位置yとの間で物体クラスcが変化(遷移)する際に要するペナルティである。Cは画像全体の物体クラスを表し、大域的な情報を用いたセマンティックセグメンテーションは、上記式(1)により最もエネルギーの小さいC^を求める問題である。
上記式(1)の右辺第2項のペナルティp(ペアワイズ項と呼ばれることもある)が0の場合、右辺第1項のコストUが最小となる物体クラスcが画素位置x毎に決定される。これは、画素毎に独立して物体ラベルを求めるセマンティックセグメンテーションの手法(例えば、非特許文献1に開示される手法)と同様である。上記式(1)では、右辺第1項のコストUに対して、右辺第2項のペナルティpが加算されることで、画素毎の急激なラベルの変化が抑制される。
大域的な情報を用いたセマンティックセグメンテーションの従来手法(例えば、特許文献1に開示される手法や非特許文献2に開示される手法)では、上記式(1)を解いて高精度なラベリングを行うためには、c(画素位置xにおける物体クラスc)を更新しながら安定するまで繰り返し計算を行う必要があり、計算時間が長くなる。これに対し本実施形態では、後述の「累積コスト」の概念を導入し、動的計画法を用いて上記式(1)を近似的に解くことで、1回の操作で画像の各画素の物体クラスを決定する。これにより、繰り返しの計算を行う従来手法と比較して計算時間を大幅に短縮することができる。
図1は、本実施形態に係る物体領域識別装置10の機能的な構成例を示すブロック図である。この物体領域識別装置10は、図1に示すように、ベースコスト算出部11と、遷移コスト推定部12と、累積コスト算出部13と、クラス決定部14と、を備える。
ベースコスト算出部11は、処理対象となる画像を入力とし、この画像の各画素において複数の物体クラス毎のベースコストを算出する。ここで、複数の物体クラスは、用途に応じて予め定められる。上述の自動運転向けの用途では、一例として、「自動車」、「道路」、「歩行者」、「その他」の4つの物体クラスが予め定められる。以下では、この事例を適宜想定して説明するが、この例に限定されるものではない。
ベースコスト算出部11により算出されるベースコストは、上記式(1)のコストUに相当する。ベースコスト算出部11は、例えば、非特許文献1に開示されるニューラルネットワーク(SegNet)などを利用して実現できる。ただし、非特許文献1のニューラルネットワークは、物体クラス毎に計算した値が最大値を取る物体クラスをその画素の物体クラスとして決定するため、非特許文献1のニューラルネットワークにより計算される値sを、下記式(2)により、ベースコストUに変換する。
Figure 0006800901
ここでは、非特許文献1のニューラルネットワークで計算される値sがシグモイド関数などを施すことで0〜1に正規化されていることを想定し、上記式(2)によりベースコストUに変換している。ただし、ベースコスト算出部11は、真の物体クラスで値が小さくなるようなベースコストUを算出できればよく、その実現方法は上述の例に限らない。なお、非特許文献1のニューラルネットワークは、事前に大量の画像を使って学習(ネットワークパラメータが更新)されるが、その学習方法については説明を省略する。
遷移コスト推定部12は、画像上の隣接する画素間で物体クラスが遷移する際に要する遷移コストを推定する。遷移コストは、同一の物体クラスでは0、異なる物体クラス間では非負となるようにし、遷移が容易な物体クラスほど0に近い値を持つようにする。遷移コスト推定部12により推定される遷移コストは、上記式(1)のペナルティpに相当する。
遷移コストの概要を図2を使って説明する。ここでは、自動車の自動運転向けの用途を想定し、物体クラスとして、「自動車」、「道路」、「歩行者」、「その他」の4つの物体クラスが予め定められているものとする。図2に示す画像例は、自動車110が道路120上を走行している様子を撮影した画像100であり、自動車110に属する画素101と道路120に属する画素102とが図2に示す位置で隣接している。なお、図2では説明のため、画素101と画素102を実際の画素の大きさよりも大きく描いている。
図2に示す画像100において、画素101と画素102の位置では、画素101から画素102への方向で真の物体クラスが「自動車」から「道路」に変化している。よって、画素101から画素102への方向では、物体クラスが「自動車」から「道路」に遷移する遷移コストは0に近くなり、その他の物体クラスの遷移、例えば「自動車」→「歩行者」や、「その他」→「自動車」などの遷移コストは大きな値が推定されることが望ましい。また、図2の画像100では、画素103と画素104がともに道路120に属するため、これら画素103と画素104の位置では、物体クラスが「道路」から他の物体クラスに遷移する遷移コストをはじめ、あらゆる物体クラスの遷移に対する遷移コストは大きな値が推定されることで、画素103と画素104の間で物体クラスが変わってしまうのを防ぐ。
遷移コスト推定部12は、処理対象となる画像の位置と方向に応じて上述の遷移コストを推定する。この遷移コスト推定部12は、処理対象となる画像の各画素における後述の累積コストが真の物体クラスで最小となるような遷移コストを推定するように、学習用データを用いて事前に学習される。遷移コスト推定部12は、例えば、ニューラルネットワークとして構築することができる。この場合、事前の学習によりニューラルネットワークのパラメータ(各層の重みやバイアス)が更新される。なお、遷移コスト推定部12の具体的な学習方法については、詳細を後述する。
累積コスト算出部13は、処理対象となる画像上に設定した走査方向に沿って、上述のベースコストと遷移コストを複数の物体クラス毎に累積して、処理対象となる画像の各画素における複数の物体クラス毎の累積コストを算出する。クラス決定部14は、累積コスト算出部13により算出された累積コストに基づいて、処理対象となる画像の各画素の物体クラスを決定する。
本実施形態に係る物体領域識別装置10は、上述のように、動的計画法を用いて上記式(1)を近似的に解くことで、処理対象となる画像の各画素の物体クラスを決定する。つまり、累積コスト算出部13による累積コストの算出およびクラス決定部14による物体クラスの決定が、動的計画法を用いて行われる。
動的計画法を用いた累積コストの算出および物体クラスの決定の概要は、以下の通りである。すなわち、画像上の任意の画素位置Aに対し、画像上に設定した走査方向に対して1つ戻った画素位置を画素位置Bとする。このとき、画素位置Aの物体クラス毎のベースコストに、画素位置Bにおける遷移コストと累積コストの最小の組み合わせを加算したものを、画素位置Aの累積コストとして算出する。この操作を、画素位置Aを走査方向に沿って1画素ずつずらしながら行って、画像の全画素について物体クラス毎の累積コストを算出する。画像に複数の走査方向を設定した場合は、上述の操作を走査方向毎に行い、走査方向毎に算出した累積コストを物体カテゴリ毎に加算して統合累積コストとする。そして、画像の各画素において、累積コスト(走査方向が複数の場合は統合累積コスト)が最も小さい値をとる物体クラスを、その画素の物体クラスとして決定する。
動的計画法を用いた画像処理の技術としては、非特許文献3に開示される技術が知られている。上述の動的計画法を用いた累積コストの算出および物体クラスの決定は、例えば、この非特許文献3に開示される技術を応用することで実現できる。ただし、非特許文献3に開示される技術はステレオ画像を利用した視差画像の生成に関するものであり、これをそのまま適用することはできない。このため、新たに定式化を行う。以下では、非特許文献3に開示される技術を応用した累積コストの算出および物体クラスの決定の具体例について詳しく説明する。
まず、処理対象となる画像上に走査方向を設定する。走査方向は複数設定することができる。走査方向の数が多いほど、セマンティックセグメンテーションのラベリング精度の向上が期待できる反面、計算量が多くなる。このため、用途に応じて要求される精度と装置の演算処理能力とに応じて、最適な数の走査方向を設定することが望ましい。図3−1は、画像200上に4つの走査方向を設定した例を示しており、画素位置xに向かって、水平に左から右への走査方向201と、水平に右から左への走査方向202と、垂直に上から下への走査方向203と、垂直に下から上への走査方向204とが設定されている。また、図3−2は、画像200上に8つの走査方向を設定した例を示しており、図3−1で示した4つの走査方向に加えて、画素位置xに向かって、左下から右上へ45度の走査方向205と、右上から左下へ45度の走査方向206と、左上から右下へ45度の走査方向207と、右下から左上へ45度の走査方向208とが設定されている。
次に、処理対象となる画像上に設定した走査方向毎に、画像の各画素における累積コストを算出する。走査方向毎に行う処理は同一であるため、以下では1つの走査方向に着目して説明する。
図4は、画素位置xに向かって累積コストを計算する過程を説明する図である。図4の横軸は画素位置、縦軸は物体クラスをそれぞれ示している。画素位置xは、画素位置xから走査方向に対してn画素分戻った画素位置を示している。物体クラスの数は固定であり、ここでは4つの物体クラスc〜c(自動車・道路・歩行者・その他)があるものとしている。図4の例では、画素位置xと画素位置xの間と、画素位置xと画素位置xとの間で物体クラスが変化しており、それぞれ遷移コストp’,p”が生じている。図中のEVは、画素位置xと画素位置xとの間を拡大したものである。P2→1は、物体クラスcから物体クラスcへの遷移コストである。
累積コスト算出部13は、下記式(3)に従って、走査方向r毎に、画像の各画素における物体クラスc毎の累積コストLrを算出する。下記式(3)は、画素位置xにおける物体クラスcの累積コストL(x,c)を求める式である。
Figure 0006800901
ただし、U(x,c)は画素位置xにおける物体クラスcのベースコスト、L(x,c)は画素位置xにおける物体クラスcの累積コスト、L(x,c)は画素位置xにおける物体クラスcの累積コスト、Pi→k(x)は画素位置xと画素位置xとの間で物体クラスがcからcに遷移する際に要する遷移コストである。
上記式(3)に示すように、画像の各画素における走査方向毎の累積コストは、走査方向に対して1つ戻った画素位置における累積コストと遷移コストを比較して最小になる物体クラスの累積コストを当該画素のベースコストに加算することで求められる。累積コスト算出部13は、画像上に設定した走査方向に沿って各画素の累積コストをベースコストに順次加算していくことで、画像の各画素における物体クラス毎の累積コストを算出する。
なお、この計算方法では、走査方向に沿って隣接画素間で累積コストを加算していくため、装置の演算処理能力によっては値がオーバーフローする懸念もある。このような場合には、下記式(4)に示すように、走査方向に対して1つ戻った画素位置における累積コストの最小値を減算したL’をLの代わりに用いてもよい。
Figure 0006800901
走査方向毎に累積コストを求める上述の処理は他の走査方向との相互作用がないため、複数方向で並列して計算することが可能である。さらに、走査方向と平行な画素位置では相互作用がないため、位置に関しても並列に計算可能である。例えば、図3−1に示した例のように4つの走査方向を設定した場合には、走査方向201〜204で並列に計算でき、かつ、例えば走査方向201については、画像200の縦方向の画素分だけ並列に計算可能である。
次に、累積コスト算出部13は、以上のように走査方向毎に算出した累積コストLを下記式(5)に従って加算し、画像の各画素における物体クラス毎の統合累積コストLを求める。下記式(5)は、画素位置xにおける物体クラスcの統合累積コストL(x,c)を求める式である。なお、画像上に設定された走査方向が1つのみであれば、統合累積コストL=累積コストLである。
Figure 0006800901
累積コスト算出部13により物体クラス毎の統合累積コストLが求められると、クラス決定部14が、画像の各画素において、下記式(6)に従って、統合累積コストLの値が最も小さい物体クラスを選択し、これを当該画素の物体クラスとして決定する。下記式(6)は、画素位置xの物体クラスcx0を決定する式である。
Figure 0006800901
以上のようにして、処理対象となる画像の各画素の物体クラスが決定されることにより、処理対象となる画像は画素毎に物体種別のラベリングが行われる。例えば、上述の自動運転の事例では、処理対象となる画像の各画素が「自動車」、「道路」、「歩行者」、「その他」のいずれかの物体ラベルでラベリングされ、画像における物体領域が識別される。
図5は、本実施形態に係る物体領域識別装置10の処理手順を示すフローチャートである。なお、図5の各ステップの具体的な内容は上述した通りであるので、詳細な説明は適宜省略する。
処理対象となる画像が入力されると(ステップS101)、まず、ベースコスト算出部11が、ステップS101で入力された画像の各画素において予め定めた複数の物体クラス毎のベースコストを算出する(ステップS102)。
次に、遷移コスト推定部12が、ステップS101で入力された画像上の隣接する画素間で物体クラスが遷移する際に要する遷移コストを推定する(ステップS103)。
次に、累積コスト算出部13が、ステップS101で入力された画像上に設定した走査方向毎に、各画素の物体クラス毎の累積コストを算出する(ステップS104)。そして、累積コスト算出部13は、ステップS104で走査方向毎に算出した累積コストを加算して、統合累積コストを算出する(ステップS105)。
次に、クラス決定部14が、ステップS101で入力された画像の各画素について、複数の物体クラスのうち、ステップS105で算出された統合累積コストの値が最も小さい物体クラスを、その画素の物体クラスとして決定する(ステップS106)。
以上説明したように、本実施形態に係る物体領域識別装置10は、大域的な情報を用いたセマンティックセグメンテーションを実現するにあたり、処理対象となる画像上に設定した走査方向毎に上記式(3)に従って各画素の物体クラス毎の累積コストを算出する。そして、複数の走査方向を設定した場合は、走査方向毎の累積コストを加算して統合累積コストを算出する。そして、画像の各画素において統合累積コスト(走査方向が1つの場合は累積コスト)の値が最も小さい物体クラスを、その画素の物体クラスとして決定する。したがって、従来技術のように繰り返しの計算を行うことなく1回の操作で各画素の物体クラスを決定することができ、大域的な情報を用いた高精度なラベリングをより少ない計算量で実現することができる。
次に、上述の遷移コストを推定する遷移コスト推定部12がニューラルネットワークにより構成されている場合を想定し、この遷移コスト推定部12の具体的な学習方法について説明する。遷移コスト推定部12の学習時には、図6に示すように、クラス決定部14の代わりに更新部15が設けられ、累積コスト算出部13の出力が更新部15に入力される。更新部15は、累積コスト算出部13の出力が教示データに近づくように、遷移コスト推定部12を学習(ニューラルネットワークのネットワークパラメータを更新)する。
教示データとは、画像に対応する正しいラベリング結果を示すデータである。画像と教示データとの組み合わせが学習用データである。学習用データの一例を図7に示す。図7に例示する学習用データは、図2で例示した画像100と、この画像100に対応する教示データ300とを含む。教示データ300は、画像100の自動車110が映る領域310内の各画素が「自動車」の物体ラベルでラベリングされ、画像100の道路120が映る領域320内の各画素が「道路」の物体ラベルでラベリングされ、その他の領域330内の各画素が「その他」の物体ラベルでラベリングされていることを示している。更新部15が遷移コスト推定部12を適切に学習するには、多数の学習用データが必要となる。
遷移コスト推定部12は、画素が隣接する方向に対して画像全体で固定値の遷移コストを推定するタイプと、画素位置の周辺のパタンに応じて変動する遷移コストを推定するタイプとの2つのタイプに大別される。前者のタイプの遷移コスト推定部12は、推定する遷移コストが固定値であるため、任意の正値を設定すればよい。遷移コストの決め方の1つの指針として、教示データに含まれる物体ラベル数に応じて決めればよい。すなわち、隣接する画素間で物体クラスが遷移する態様についてヒストグラムを作成し、出現頻度が大きい遷移に関しては相対的に小さい遷移コストを割り当て、出現頻度が小さい遷移に関しては相対的に大きい遷移コストを割り当てればよい。このため、前者のタイプの遷移コスト推定部12は、事前の学習が容易である。
しかし、実際には、画像パタンによって異なる遷移コストを与えるべきであると考えられる。例えば図2に示した画像例の画素103,104は典型的な道路に属する画像パタンとなっている。このような場合には、自動車から歩行者に遷移する際の遷移コストなど、最もらしからぬ遷移に対する遷移コストは大きくするべきである。後者のタイプの遷移コスト推定部12は、このような要求に応えるものであり、例えばニューラルネットワークを用いて実現することができる。
以下では、後者のタイプの遷移コスト推定部12の具体的な学習方法について説明する。なお、遷移コスト推定部12を学習する際は、多数の学習用データを用いて、以下に示す遷移コスト推定部12の学習を繰り返し行う。
遷移コスト推定部12の学習は、例えば、非特許文献4に開示される技術を応用して実施することができる。ただし、非特許文献4に開示される技術はステレオ画像を利用した視差画像の生成に関するものであり、これをそのまま適用することはできない。このため、新たに定式化を行う。この例の場合、まず、遷移コストの更新を行う画素位置を複数個選び出す。続いて、それらの画素位置を使って第1ロスおよび第2ロスを算出する。そして、これらの第1ロスおよび第2ロスに基づいて、遷移コスト推定部12を学習する。
図8は、遷移コスト推定部12を学習する際の処理手順を示すフローチャートである。以下、このフローチャートに沿って、遷移コスト推定部12の具体的な学習方法について詳しく説明する。
ステップS201では、遷移コストの更新を行う画素位置を画像から複数個選び出す。これらの画素位置は、画像内のすべての画素位置を選択してもよいが、現実的な計算速度で遷移コスト推定部12の学習を行うには、画像内から離散的に一部の画素位置を選び出せば十分である。
ステップS202では、第1ロスを算出する。さらに、遷移コスト推定部12は、ニューラルネットワークで構築されるため、一般的な学習手法である誤差逆伝播法(Backpropagation)に必要な微分も求める。
第1ロスは、下記式(7)に従って算出することができる。下記式(7)は、画素位置xにおける走査方向rに対応する第1ロスH(x,r)を求める式である。
Figure 0006800901
上記式(6)により、統合累積コストの値が最小となる物体クラスをその画素位置の物体クラスとして決定するため、真の物体クラスcgtはそれ以外の物体クラスcよりマージンm以上小さくなるように、ヒンジロスの形式で設計された上記式(7)に従って、第1ロスを算出する。なお、画素位置xはステップS202で選択された画素位置である。上記式(7)では、走査方向rも考慮している。例えば、自動車はほとんどの場合、道路上に存在することから、例えば走査方向が下から上であるとき、物体クラスが自動車からその他に変わることはあるが、走査方向が上から下であるときに、物体クラスが自動車からその他になることはまれなはずである。走査方向rを考慮することにより、こうした傾向を遷移コスト推定部12の学習に反映させることができる。
続いて、上記式(7)から、遷移コストに対する微分を求める。物体クラスの遷移の一例を図9に示す。図9に示す例では、画素位置xで物体クラスcが真の物体クラスcgtとなっている。ここで、画素位置xから画素位置xまでの間で、物体クラスcが物体クラスc(=cgt)に遷移するパス401と、物体クラスcが物体クラスc(=c)に遷移するパス402とを考える。これらのパス401,402の累積コストを上記式(3)に従って求める。すると、パス401の累積コストは下記式(8)、パス402の累積コストは下記式(9)でそれぞれ記述できる。
Figure 0006800901
Figure 0006800901
上記式(8)および上記式(9)を上記式(7)を代入し、下記式(10)の条件を満たす場合、遷移コストに対する微分は下記式(11)のように求めることができる。下記式(10)の条件を満たさない場合は、遷移コストに対する微分はすべて0である。
Figure 0006800901
Figure 0006800901
よって、微分が非0となる画素位置およびその遷移を保持しておき、後述のステップS204において遷移コスト推定部12を誤差逆伝播法により学習する際に、微分の値を利用することができる。
ステップS203では、第2ロスを算出する。第1ロスは累積コストを計算する際の途中の画素位置における真の物体クラスを考慮していない。よって、遷移コストによっては、例えば図9に示すパス403のように、パス401とは異なるパスを通って真の物体クラスcgtに到達することもありえる。この場合、パス403の累積コストは下記式(12)のようになる。
Figure 0006800901
上記式(12)と上記式(8)とを比べると、右辺第3項と第5項が異なっていることが分かる。これによって正しく遷移コストが求められないため、本ステップで第2コストを算出する。第2ロスの算出には2つの条件が必要である。1つめは、画素位置xと画素位置xの両方で真の物体クラスcgtが既知であること、2つめは、画素位置xで累積コストが最小値をとる物体クラスが真の物体クラスcgtと一致していることである。これら2つの条件が満たされた画素位置に対して、下記式(13)により第2ロスを計算する。下記式(13)は、画素位置xにおける走査方向rに対応する第2ロスH(x,r)を求める式である。
Figure 0006800901
上記式(13)において、S(・)は、図10に示すパス501のように、画素位置xにおける真の物体クラスcgtから画素位置xで真の物体クラスcgtに到達するパスである。また、N(・)はそれ以外のパスであり、図10に示すパス群502のように、画素位置xにおける真でない物体クラスcから画素位置xで真の物体クラスcgtに到達するパス群と、図10に示すパス群503のように、画素位置xで真でない物体クラスcに到達するパス群である。図10に示す例では、S(・)とN(・)はそれぞれ下記式(14)、下記式(15)のように記述できる。
Figure 0006800901
Figure 0006800901
上記式(15)の*と♯は画素位置xと画素位置xとの物体クラスの組み合わせであり、両画素位置で真の物体クラスcgtとなる組み合わせは除く。
第2ロスを求める上記式(13)から、第1ロスと同様に、遷移コストに対する微分を求めることができる。
ステップS204では、ステップS202とステップS203で計算される第1ロスと第2ロスの双方を用いて、遷移コスト推定部12を学習する。例えば、第1ロスと第2ロスから、下記式(16)に示すようにロスHを作成する。そして、このロスHが小さくなるように、遷移コスト推定部12を学習する。
Figure 0006800901
上記式(16)で示されるロスHは、第1ロスと第2ロスの組み合わせである。したがって、上述の第1ロスに関する遷移コストに対する微分の値と、第2ロスに関する遷移コストに対する微分の値とを用いて、遷移コスト推定部12を構成するニューラルネットワークを誤差逆伝播法により適切に学習(ネットワークパラメータを更新)することができる。
遷移コスト推定部12の学習は、入力する学習用データを順次切り替えながら、累積コスト算出部13による累積コストの算出および図8のフローチャートに従った処理を繰り返す。学習の終了条件としては、例えば、所定回数以上の繰り返し回数を設定してもよいし、Validationデータを用いた検証によりセマンティックセグメンテーションのエラーが収束したと判断される場合に終了してもよい。
次に、遷移コスト推定部12の具体的な構造例について説明する。図11は、遷移コスト推定部12の具体的な構造の一例を示す図である。図11に示す遷移コスト推定部12は、画像パッチ601を入力とするニューラルネットワークである。画像パッチ601は、画素位置x(注目画素)とその周辺の画像小領域である。画像パッチ601はマルチスケール化したり、カラー画像を入力したりしてもよい。また、画像パッチ601に加えて、画像全体における画像パッチ601の位置(注目画素の位置)を特定する位置情報602を遷移コスト推定部12の入力として用いてもよい。
例えば車載カメラにより撮影された画像では、画像の下方は道路の領域が多く、自動車は画像の中央付近に映るなど、分布に偏りがある。この情報を有効に利用するために、位置情報602をニューラルネットワークの入力の1つとして用いることが望ましい。
ニューラルネットワークの最終段603では、出力604を正値とするため、ELU(Exponential Linear Unit)と定数を足している。出力604が正値となるレイヤであればELUに限定されない。出力604は、物体クラスの遷移コストである。例えばN個の物体クラスがあり、M個の方向で遷移コストを推定する場合(走査方向がM個ある場合)の出力数は、N×(N−1)×Mである。
なお、図12に示すように、物体クラスcに属する画素701と物体クラスcに属する画素702がある場合、走査方向703に沿って物体クラスがcからcに遷移する際の遷移コストと、走査方向703と逆方向である走査方向704に沿って物体クラスがcからcに遷移する際の遷移コストとが同じになるように学習することで、出力604の数を半分に減らしてもよい。出力604の数を減らすことにより、計算時間をさらに短縮したり、学習に用いる学習用データの数を削減したりすることが期待できる。
図13は、遷移コスト推定部12の具体的な構造の他の例を示す図である。図13に示す遷移コスト推定部12は、ニューラルネットワークとして構成されることは図11の例と同様であるが、図11に示した画像パッチ601の代わりに別のニューラルネットワーク801の特徴量を入力として用いる。ニューラルネットワーク801として、例えばベースコスト算出部11として非特許文献1のニューラルネットワークを用いる場合は、このニューラルネットワークの特徴量をエンコードする部分(解像度を下げて畳み込み演算をすることにより計算された特徴量マップ)を用いることができる。すなわち、ベースコスト算出部11の中間出力である特徴量を、遷移コスト推定部12の入力として用いることができる。遷移コスト推定部12の入力は、画素位置ごとに異なる特徴量となっていることが望ましい。非特許文献1のニューラルネットワークでは、低解像度から高解像度までマルチスケールの情報を用いることができる。
また、図11の例と同様に、画像全体における画素位置を特定する位置情報802を特徴量と併せて遷移コスト推定部12に入力するようにしてもよい。さらに、これ以外にも遷移コスト推定部12の入力として、画像が撮影された場所、地域、時間、天候、カメラの種類などの情報を用いたり、RGB画像以外にも深度を加えたRGBDや深度画像のみや、赤外画像などを用いたりしてもよい。ニューラルネットワークの最終段803は、図11の例と同様であり、物体クラスの遷移コストを出力804とする。
図14は、図13に示す構造の遷移コスト推定部12を用いた場合の物体領域識別装置10の構成例を示す図である。図14に示す物体領域識別装置10は、入力画像901の各画素における物体クラス毎のベースコストをベースコスト算出部11で算出する。また、大域的な情報を用いるため、ベースコスト算出部11の中間出力である特徴量を用いて、遷移コスト推定部12において物体クラス間の遷移コストを推定する。そして、ベースコスト算出部11の出力と遷移コスト推定部12の出力とを用いて、累積コスト算出部13において各画素における物体クラス毎の累積コストを算出する。走査方向が複数ある場合は、走査方向毎の累積コストを加算して統合累積コストを算出する。そして、累積コスト算出部13の出力を用いて、クラス決定部14において入力画像901の各画素の物体クラスを決定し、入力画像901に対応するラベリング結果(セマンティックセグメンテーションの結果)902を出力する。
上述の特許文献1や非特許文献2で開示される従来の手法により推定されるペナルティ(ペアワイズ項)は、ガウス関数にRGBで表現される画素値や画素位置の距離などを入力し、その標準偏差や複数のガウス関数の重みで調整した後、画像特徴に関係なく決まっている物体クラス間の重みであるCompatibilityを最後に掛け合わせ算出したものである。ところが物体クラス間の重みは画像特徴と相関があるため、従来手法により推定されるペナルティは十分な表現能力がない。これに対し、本実施形態に係る物体領域識別装置10の遷移コスト推定部12は、入力された画像パッチやニューラルネットワークの中間出力である特徴量に対して、特徴量を改めて自動で学習し、学習された特徴量から遷移コスト(ペナルティに相当)を直接推定するため、十分な表現能力を持つ。すなわち、本実施形態では、従来手法のようにCompatibilityを分離する必要がなく、画素値ではなく画像のパタンも同時に考慮されるため、従来手法よりも遷移コストを適切に推定することができる。
上述した本実施形態に係る物体領域識別装置10は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることで実現することが可能である。すなわち、上述の物体領域識別装置10の各部の機能は、汎用のコンピュータ装置に搭載された1以上のプロセッサにプログラムを実行させることにより実現することができる。このとき、物体領域識別装置10は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。
図15は、本実施形態に係る物体領域識別装置10のハードウェア構成例を示すブロック図である。物体領域識別装置10は、例えば図15に示すように、CPU(Central Processing Unit)などのプロセッサ21と、RAM(Random Access Memory)やROM(Read Only Memory)などのメモリ22と、HDD(Hard Disk Drive)やSSD(Solid State Drive)などのストレージデバイス23と、液晶パネルなどの表示装置26や画像を撮影するカメラ27といった機器を接続するための機器I/F24と、装置外部と通信を行う通信I/F25と、これら各部を接続するバス28とを備えた一般的なコンピュータとしてのハードウェア構成を有する。
物体領域識別装置10が図15のようなハードウェア構成を有する場合、例えば、プロセッサ21がメモリ22を利用して、ストレージデバイス23などに格納されたプログラムを読み出して実行することにより、上述の各部(ベースコスト算出部11、遷移コスト推定部12、累積コスト算出部13、クラス決定部14(更新部15))の機能を実現することができる。
なお、上述の物体領域識別装置10の各部の機能は、その一部または全部を、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)などの専用のハードウェア(汎用のプロセッサではなく専用のプロセッサ)により実現することもできる。また、複数のプロセッサを用いて上述した各部の機能を実現する構成であってもよい。
また、本実施形態に係る物体領域識別装置10は、複数台のコンピュータ装置を用い、上述の各部の機能を複数台のコンピュータ装置に分散して実現した物体領域識別システムとして構成してもよい。また、本実施形態に係る物体領域識別装置10は、クラウドシステム上で動作する仮想マシンであってもよい。
以上、本発明の実施形態を説明したが、ここで説明した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。ここで説明した新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。ここで説明した実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10 物体領域識別装置
11 ベースコスト算出部
12 遷移コスト推定部
13 累積コスト算出部
14 クラス決定部
15 更新部

Claims (10)

  1. 画像の各画素が予め定めた複数の物体クラスのいずれに属するかを識別して画素毎に物体種別のラベリングを行う物体領域識別装置であって、
    前記各画素において前記複数の物体クラス毎のベースコストを算出するベースコスト算出部と、
    前記画像上の隣接する画素間で物体クラスが遷移する際に要する遷移コストを推定する遷移コスト推定部と、
    前記画像上に設定した走査方向に沿って、前記ベースコストと前記遷移コストを前記複数の物体クラス毎に累積して、前記各画素における前記複数の物体クラス毎の累積コストを算出する累積コスト算出部と、
    前記累積コストに基づいて、前記各画素の物体クラスを決定するクラス決定部と、
    を備える物体領域識別装置。
  2. 前記累積コスト算出部は、前記画像上に設定した複数の走査方向毎に前記複数の物体クラス毎の前記遷移コストを推定し、
    前記クラス決定部は、前記各画素において、前記複数の物体クラスのうち、前記複数の走査方向毎に算出した前記累積コストを加算した統合累積コストの値が最も小さい物体クラスを、当該画素の物体クラスとして決定する
    請求項1に記載の物体領域識別装置。
  3. 前記累積コスト算出部による前記累積コストの算出および前記クラス決定部による物体クラスの決定は、動的計画法を用いて行われる
    請求項1または2に記載の物体領域識別装置。
  4. 前記遷移コスト推定部は、前記各画素における前記累積コストが真の物体クラスで最小となるような前記遷移コストを推定するように、学習用データを用いて学習される
    請求項1乃至3のいずれか一項に記載の物体領域識別装置。
  5. 前記遷移コスト推定部は、ニューラルネットワークにより構成される
    請求項4に記載の物体領域識別装置。
  6. 前記遷移コスト推定部は、前記画像の注目画素とその周辺の画像小領域を入力とし、前記注目画素における前記遷移コストを推定して出力する
    請求項1乃至5のいずれか一項に記載の物体領域識別装置。
  7. 前記遷移コスト推定部は、別のニューラルネットワークによって算出された特徴量を入力とし、前記画像の注目画素における前記遷移コストを推定して出力する
    請求項1乃至5のいずれか一項に記載の物体領域識別装置。
  8. 前記遷移コスト推定部は、前記画像上で前記注目画素を特定する位置情報をさらに入力とする
    請求項6または7に記載の物体領域識別装置。
  9. 画像の各画素が予め定めた複数の物体クラスのいずれに属するかを識別して画素毎に物体種別のラベリングを行う物体領域識別方法であって、
    前記各画素において前記複数の物体クラス毎のベースコストを算出し、
    前記画像上の隣接する画素間で物体クラスが遷移する際に要する遷移コストを推定し、
    前記画像上に設定した走査方向に沿って、前記ベースコストと前記遷移コストを前記複数の物体クラス毎に累積して、前記各画素における前記複数の物体クラス毎の累積コストを算出し、
    前記累積コストに基づいて、前記各画素の物体クラスを決定する
    物体領域識別方法。
  10. コンピュータを、画像の各画素が予め定めた複数の物体クラスのいずれに属するかを識別して画素毎に物体種別のラベリングを行う物体領域識別装置として機能させるためのプログラムであって、
    前記コンピュータに、
    前記各画素において前記複数の物体クラス毎のベースコストを算出する機能と、
    前記画像上の隣接する画素間で物体クラスが遷移する際に要する遷移コストを推定する機能と、
    前記画像上に設定した走査方向に沿って、前記ベースコストと前記遷移コストを前記複数の物体クラス毎に累積して、前記各画素における前記複数の物体クラス毎の累積コストを算出する機能と、
    前記累積コストに基づいて、前記各画素の物体クラスを決定する機能と、
    を実現させるためのプログラム。
JP2018039979A 2018-03-06 2018-03-06 物体領域識別装置、物体領域識別方法およびプログラム Active JP6800901B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018039979A JP6800901B2 (ja) 2018-03-06 2018-03-06 物体領域識別装置、物体領域識別方法およびプログラム
US16/117,891 US10853657B2 (en) 2018-03-06 2018-08-30 Object region identifying apparatus, object region identifying method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018039979A JP6800901B2 (ja) 2018-03-06 2018-03-06 物体領域識別装置、物体領域識別方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2019153235A JP2019153235A (ja) 2019-09-12
JP6800901B2 true JP6800901B2 (ja) 2020-12-16

Family

ID=67843363

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018039979A Active JP6800901B2 (ja) 2018-03-06 2018-03-06 物体領域識別装置、物体領域識別方法およびプログラム

Country Status (2)

Country Link
US (1) US10853657B2 (ja)
JP (1) JP6800901B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021056571A (ja) * 2019-09-27 2021-04-08 国立大学法人 東京大学 情報処理装置、情報処理システム、情報処理方法及びプログラム
WO2022070574A1 (ja) * 2020-09-29 2022-04-07 富士フイルム株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787274A (en) * 1995-11-29 1998-07-28 International Business Machines Corporation Data mining method and system for generating a decision tree classifier for data records based on a minimum description length (MDL) and presorting of records
DE69721913T2 (de) * 1996-03-13 2004-05-13 Koninklijke Philips Electronics N.V. Filterverfahren und dazugehöriges filtersystem
US5870735A (en) * 1996-05-01 1999-02-09 International Business Machines Corporation Method and system for generating a decision-tree classifier in parallel in a multi-processor system
JP2002500795A (ja) * 1998-04-03 2002-01-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 輪郭検出段階を含む画像処理方法及びシステム
US6363319B1 (en) * 1999-08-31 2002-03-26 Nortel Networks Limited Constraint-based route selection using biased cost
AUPQ921800A0 (en) * 2000-08-04 2000-08-31 Canon Kabushiki Kaisha A method for automatic segmentation of image data from multiple data sources
US6661842B1 (en) * 2000-09-22 2003-12-09 General Dynamics Decision Systems, Inc. Methods and apparatus for error-resilient video coding
IL161342A0 (en) * 2001-10-11 2004-09-27 Exscientia Llc Methods and apparatus for learning to classify patterns and assess the value of decisions
GB2399245B (en) * 2003-03-03 2005-07-27 Motorola Inc Method for segmenting an image and an image transmission system and image transmission unit therefor
GB0502369D0 (en) * 2005-02-04 2005-03-16 British Telecomm Classifying an object in a video frame
GB0502371D0 (en) * 2005-02-04 2005-03-16 British Telecomm Identifying spurious regions in a video frame
JP2008217706A (ja) 2007-03-07 2008-09-18 Tokyo Institute Of Technology ラベリング装置、ラベリング方法及びプログラム
EP2105874A1 (en) * 2008-03-27 2009-09-30 British Telecommunications Public Limited Company Multi-site service charging protocol

Also Published As

Publication number Publication date
US10853657B2 (en) 2020-12-01
JP2019153235A (ja) 2019-09-12
US20190278998A1 (en) 2019-09-12

Similar Documents

Publication Publication Date Title
US11816991B2 (en) Vehicle environment modeling with a camera
Vaudrey et al. Differences between stereo and motion behaviour on synthetic and real-world stereo sequences
WO2020151167A1 (zh) 目标跟踪方法、装置、计算机装置及可读存储介质
CN110415277B (zh) 基于光流和卡尔曼滤波的多目标追踪方法、系统、装置
US8712096B2 (en) Method and apparatus for detecting and tracking vehicles
CN110386142A (zh) 用于自动驾驶车辆的俯仰角校准方法
Sucar et al. Bayesian scale estimation for monocular slam based on generic object detection for correcting scale drift
JP2018097807A (ja) 学習装置
CN104517275A (zh) 对象检测方法和系统
CN113377888B (zh) 训练目标检测模型和检测目标的方法
US20210398301A1 (en) Camera agnostic depth network
JP2019139420A (ja) 立体物認識装置、撮像装置および車両
US20240077331A1 (en) Method of predicting road attributers, data processing system and computer executable code
JP6800901B2 (ja) 物体領域識別装置、物体領域識別方法およびプログラム
CN111126327B (zh) 车道线检测方法、系统、车载系统及车辆
Rawashdeh et al. Camera–Lidar sensor fusion for drivable area detection in winter weather using convolutional neural networks
JP6946255B2 (ja) 学習装置、推定装置、学習方法およびプログラム
CN114119749A (zh) 一种基于密集关联的单目3d车辆检测方法
CN110211190B (zh) 相机自运动参数估计模型的训练方法、装置及存储介质
CN111899277A (zh) 运动目标检测方法及装置、存储介质、电子装置
CN116129386A (zh) 可行驶区域检测方法、系统及计算机可读介质
CN113902047B (zh) 图像元素匹配方法、装置、设备以及存储介质
CN113807407B (zh) 目标检测模型训练方法、模型性能检测方法及装置
Hehn et al. Instance stixels: Segmenting and grouping stixels into objects
US20230154198A1 (en) Computer-implemented method for multimodal egocentric future prediction

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190816

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201009

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: 20201027

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201125

R151 Written notification of patent or utility model registration

Ref document number: 6800901

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151