(57)【要約】【課題】画素推定と特徴推定との両方を用いて、高い精度の画像セグメンテーションを実現するプログラムを提供する。【解決手段】画素クラスを抽出する複数の画素推定手段を直列に実行する画素推定ストリームと、物体特徴を抽出する複数の特徴推定手段を直列に実行する特徴推定ストリームとを並列に実行する。画素推定ストリームの中で、前段の画素推定手段から出力された画素マップと、前段の特徴推定手段から出力された特徴マップとを入力し、画素マップに特徴マップを連結又は加算し、当該画素マップを次段の画素推定手段へ出力する画素統合手段と、特徴推定ストリームの中で、前段の画素推定手段から出力された画素マップと、前段の特徴推定手段から出力された特徴マップとを入力し、特徴マップに画素マップを連結又は加算し、当該特徴マップを次段の特徴推定手段へ出力する特徴統合手段とを有する。【選択図】図２
2019101519.tif 000002
【特許請求の範囲】
【請求項１】
画素に基づく画像セグメンテーションとしてコンピュータを機能させるプログラムにおいて、
入力画像に対して、画素クラスを抽出する複数の画素推定手段を直列に実行する画素推定ストリームと、
同一の前記入力画像に対して、物体特徴を抽出する複数の特徴推定手段を直列に実行する特徴推定ストリームと
を並列に実行すると共に、
前記画素推定ストリームの中で、前段の画素推定手段から出力された画素マップと、前段の特徴推定手段から出力された特徴マップとを入力し、画素マップに特徴マップを連結又は加算し、当該画素マップを次段の画素推定手段へ出力する画素統合手段と、
前記特徴推定ストリームの中で、前段の画素推定手段から出力された画素マップと、前段の特徴推定手段から出力された特徴マップとを入力し、特徴マップに画素マップを連結又は加算し、当該特徴マップを次段の特徴推定手段へ出力する特徴統合手段と、
前記画素推定ストリーム及び前記特徴推定ストリームを、最終段で連結又は加算するストリーム統合手段と
してコンピュータを機能させることを特徴とするプログラム。
【請求項２】
前記画素統合手段は、画素マップのサイズに合わせて、特徴マップをアップ／ダウンサンプリングした後、当該特徴マップを当該画素マップに連結又は加算し、
前記特徴統合手段は、特徴マップのサイズに合わせて、画素マップをアップ／ダウンサンプリングした後、当該画素マップを当該特徴マップに連結又は加算する
ようにコンピュータを機能させることを特徴とする請求項１に記載のプログラム。
【請求項３】
前記画素推定ストリームに、少なくとも１つ以上の前記画素統合手段を含み、
前記特徴推定ストリームに、少なくとも１つ以上の前記特徴統合手段を含む
ようにコンピュータを機能させることを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
前記画素推定手段及び前記特徴推定手段はそれぞれ、畳み込みニューラルネットワークによって構成される
ようにコンピュータを機能させることを特徴とする請求項１から３のいずれか１項に記載のプログラム。
【請求項５】
前記ストリーム統合手段は、前記画素推定ストリーム及び前記特徴推定ストリームを最終段で連結又は加算した後に、更に畳み込み層を実行する
ようにコンピュータを機能させることを特徴とする請求項４に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、深層学習(deep learning)を用いた、画素に基づく画像セグメンテーションの技術に関する。
【背景技術】
【０００２】
画像に映る物体を認識するために、画像セグメンテーションの技術がある。この技術は、画像の各画素が、何の物体に属するのかを検出するものであり、従来、ランダムフォレスト(random forest)や、サポートベクターマシン(support vector machine)、エイダブースト(adaboost)等が用いられてきた。
【０００３】
近年、画像セグメンテーションに、深層学習における畳み込みニューラルネットワーク(convolutional neural network)が適用されてきている。畳み込みニューラルネットワークに画像を入力することによって、特徴を抽出し、その特徴が現れた位置・輪郭・領域を検出することができる。
【０００４】
「ニューラルネットワーク」とは、生体の脳における特性を計算機上のシミュレーションによって表現することを目指した数学モデルをいう。シナプスの結合によってネットワークを形成した人工ニューロン（ユニット）が、学習によってシナプスの結合強度を変化させ、問題解決能力を持つようなモデル全般をいう。
また、「畳み込みニューラルネットワーク」とは、狭義には、複数のユニットを持つ層が入力段から出力段へ向けて一方向に連結されており、出力層側のユニットが、隣接する入力層側の特定のユニットに結合された「畳み込み層」を有する順伝播型ネットワークをいう。
【０００５】
前方層のユニットから後方層のユニットへつなぐ関数のパラメータを、「重み(weight)」と称す。学習とは、この関数のパラメータとして、適切な「重み」を算出することにある。教師データの入力データに対する出力層からの出力データと、教師データの正解ラベルとの誤差を用いて、各層の重みが最適に更新される。誤差は、「誤差逆伝播法」によって、出力層側から入力層側へ向けて次々に伝播し、各層の重みを少しずつ更新していく。最終的に、誤差が小さくなるように、各層の重みを適切な値に調整する収束計算を実行する。尚、本発明における「畳み込みニューラルネットワーク」には、ＲＮＮ(Recurrent Neural Network)やＬＳＴＭ(Long short-term memory)に代表される単層内循環型の畳み込みニューラルネットワークや、複数層間循環型の畳み込みニューラルネットワーク等も含まれるものとする。
【０００６】
画像認識と比較して、画像セグメンテーションでは、画像に「何が」映り込んでいるか、だけではなく、「何処に」あるか、及び、「その輪郭」はどうなっているか、まで認識しなければならない。
ニューラルネットワークは、「何が」を認識するために、画像のダウンサンプリングを実行する必要がある。一方で、ダウンサンプリングによって、画像のサイズが縮小し、輪郭が不明となる。
【０００７】
従来、画像の物体認識用の畳み込みニューラルネットワークとして、エンコーダデコーダ(encoder-decoder)構造を用いた技術がある（例えば非特許文献１参照）。この技術によれば、エンコーダは、物体検出における位置検出処理を実行し、デコーダは、その特徴を物体の位置にマッピングする。これは、ニューラルネットワークの浅い層の位置情報と深い層の特徴情報とを、スキップ構造によって統合している。
【０００８】
図１は、画像セグメンテーションに適用したエンコーダデコーダ畳み込みニューラルネットワークの概説図である。
【０００９】
図１によれば、エンコーダデコーダ畳み込みニューラルネットワークは、複数の人が映る写真画像を入力し、入力画像と同じサイズの物体認識画像を出力する。図１によれば、出力された物体認識画像からは、人や、テーブル、椅子のような物体が検出されると共に、その物体の位置が特定されている。
【００１０】
また、他の従来技術として、完全畳み込み構造を用いた技術もある（例えば非特許文献２参照）。この技術によれば、画像をエンコードし、スキップ構造によってある層を統合して位置を推測する。これは、ニューラルネットワークをPoolingストリームとResidualストリームとに分けており、一方は位置情報を統合させ、他方は判別させている。
【００１１】
更に、スキップ構造の後に連結させる技術もある（例えば非特許文献３参照）。これは、DenseNet構造を用いて、画像をダウンサンプリングした後、アップサンプリングして、元の解像度に復元している。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】Fully Convolutional Networks for Semantic Segmentation、[online]、［平成２９年１１月２５日検索］、インターネット＜URL:https://arxiv.org/pdf/1605.06211.pdf＞
【非特許文献２】“Full-Resolution Residual Networks for Semantic Segmentation in Street Scenes”、[online]、［平成２９年１１月２５日検索］、インターネット＜http://openaccess.thecvf.com/content_cvpr_2017/papers/Pohlen_Full-Resolution_residual_networks_CVPR_2017_paper.pdf＞
【非特許文献３】“The One Hundred Layers Tiramisu: Fully Convolutional DenseNets for Semantic Segmentation”、[online]、［平成２９年１１月２５日検索］、インターネット＜http://openaccess.thecvf.com/content_cvpr_2017_workshops/w13/papers/Jegou_The_One_Hundred_CVPR_2017_paper.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【００１３】
非特許文献１及び３に記載された技術によれば、１つのネットワークで、物体特徴の推定と、画素の位置特徴の推定とを同時に学習させるために、画像を合成する（例えばリサイズする）必要がある。そのために、画素クラス情報（認識対象のクラス）が損失する可能性がある。
また、非特許文献２に記載された技術によれば、Residualストリームの部分もFull-Resolutionを持たすことができるが、画素クラス情報を学習せず、単なる加算によって統合させている。
【００１４】
これに対し、本願の発明者らは、画素推定ストリームと特徴推定ストリームとの両方の流れの中で、画像をリサイズすることなく、Full-Resolutionを保ったまま、高い精度の画像セグメンテーションを実現することができないか、と考えた。
【００１５】
そこで、本発明は、画素推定と特徴推定との両方を用いて、高い精度の画像セグメンテーションを実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明によれば、画素に基づく画像セグメンテーションとしてコンピュータを機能させるプログラムにおいて、
入力画像に対して、画素クラスを抽出する複数の画素推定手段を直列に実行する画素推定ストリームと、
同一の入力画像に対して、物体特徴を抽出する複数の特徴推定手段を直列に実行する特徴推定ストリームと
を並列に実行すると共に、
画素推定ストリームの中で、前段の画素推定手段から出力された画素マップと、前段の特徴推定手段から出力された特徴マップとを入力し、画素マップに特徴マップを連結又は加算し、当該画素マップを次段の画素推定手段へ出力する画素統合手段と、
特徴推定ストリームの中で、前段の画素推定手段から出力された画素マップと、前段の特徴推定手段から出力された特徴マップとを入力し、特徴マップに画素マップを連結又は加算し、当該特徴マップを次段の特徴推定手段へ出力する特徴統合手段と、
画素推定ストリーム及び特徴推定ストリームを、最終段で連結又は加算するストリーム統合手段と
してコンピュータを機能させることを特徴とする。
【００１７】
本発明のプログラムにおける他の実施形態によれば、
画素統合手段は、画素マップのサイズに合わせて、特徴マップをアップ／ダウンサンプリングした後、当該特徴マップを当該画素マップに連結又は加算し、
特徴統合手段は、特徴マップのサイズに合わせて、画素マップをアップ／ダウンサンプリングした後、当該画素マップを当該特徴マップに連結又は加算する
ようにコンピュータを機能させることも好ましい。
【００１８】
本発明のプログラムにおける他の実施形態によれば、
画素推定ストリームに、少なくとも１つ以上の画素統合手段を含み、
特徴推定ストリームに、少なくとも１つ以上の特徴統合手段を含む
ようにコンピュータを機能させることも好ましい。
【００１９】
本発明のプログラムにおける他の実施形態によれば、
画素推定手段及び特徴推定手段はそれぞれ、畳み込みニューラルネットワークによって構成される
ようにコンピュータを機能させることも好ましい。
【００２０】
本発明のプログラムにおける他の実施形態によれば、
ストリーム統合手段は、画素推定ストリーム及び特徴推定ストリームを最終段で連結又は加算した後に、更に畳み込み層を実行する
ようにコンピュータを機能させることも好ましい。
【発明の効果】
【００２１】
本発明のプログラムによれば、画素推定と特徴推定との両方を用いて、高い精度の画像セグメンテーションを実現することができる。特に、画素推定ストリームと特徴推定ストリームとの両方の流れの中で、画像をリサイズすることなく、Full-Resolutionを保ったまま、高い精度の画像セグメンテーションを実現することができる。
【図面の簡単な説明】
【００２２】
【図１】画像セグメンテーションに適用したエンコーダデコーダ畳み込みニューラルネットワークの概説図である。
【図２】本発明におけるニューラルネットワークの機能構成図である。
【図３】本発明における各機能の内部構造を表す構造図である。
【図４】画素統合部における画素マップの第１のフローを表す説明図である。
【図５】画素統合部における画素マップの第２のフローを表す説明図である。
【図６】本発明におけるストリーム統合部の内部構造を表す構造図である。
【図７】本発明における推定結果を表す画像図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００２４】
図２は、本発明におけるニューラルネットワークの機能構成図である。
【００２５】
図２によれば、ニューラルネットワークは、画素推定部１１と、画素統合部１２と、特徴推定部２１と、特徴統合部２２と、ストリーム統合部３とを有する。これら機能構成部は、コンピュータを機能させるプログラムとして実現される。
【００２６】
ニューラルネットワークには、例えばカメラで撮影された画像（映像）が入力される。この画像は、勿論、ＣＧ(Computer Graphics)画像であってもよい。これに対し、画素クラスやその位置、輪郭、領域が特定された画像セグメンテーションの推定結果が出力される。
【００２７】
図２によれば、画素に基づく画像セグメンテーションのために、＜画素推定ストリーム１＞と＜特徴推定ストリーム２＞とが並列に実行されている。
＜画素推定ストリーム１＞
画素推定ストリーム１は、入力画像に対して、画素クラスを抽出する複数の「画素推定部１１」を直列に実行する。
＜特徴推定ストリーム２＞
特徴推定ストリーム２は、同一の入力画像に対して、物体特徴を抽出する複数の「特徴推定部２１」を直列に実行する。
【００２８】
図２（ａ）によれば、画素推定ストリーム１の中で、各画素推定部１１の間に「画素統合部１２」を含み、特徴推定ストリーム２の中で、各特徴推定部２１の間に「特徴統合部２２」を含む。
画素統合部１２は、画素推定ストリーム１の中で、前段の画素推定部１１nから出力された画素マップと、前段の特徴推定部２１から出力された特徴マップとを入力し、処理した画素マップを、次段の画素推定部１１n+1へ出力する。
また、特徴統合部２２は、特徴推定ストリーム２の中で、前段の特徴推定部２１nから出力された特徴マップと、前段の画素推定部１１nから出力された画素マップとを入力し、処理した特徴マップを、次段の特徴推定部２１n+1へ出力する。
そして、画素推定ストリーム１と特徴推定ストリーム２とは、出力段のストリーム統合部３で統合される。
【００２９】
このように、画素推定ストリーム１と特徴推定ストリーム２との相補的な関係性を持つ構造にすることによって、高精度な画素クラス情報の推定と、高解像度な位置情報の推定とを両立させる。
【００３０】
図２（ｂ）によれば、画素推定ストリーム１の中で、最終段の画素推定部１１の間のみに画素統合部１２を含み、特徴推定ストリーム２の中で、最終段の特徴推定部２１の間のみに特徴統合部２２を含む。
このように、画素統合部１２の数及び特徴統合部２２の数は、少なくとも１つだけを備えるものであってもよく、メモリの使用量や計算量的コストに基づいて増減させることができる。
【００３１】
図３は、本発明における各機能の内部構造を表す構造図である。
【００３２】
［画素推定部１１］
画素推定部１１は、入力画像における各画素の正解クラスを算出するために、畳み込みニューラルネットワークによって構成される。
図３によれば、画素推定部１１は、Ｕ字型のショートカット構造（入れ子状構造）を有する。Ｕ字型ネットワークによれば、畳み込み層、正規化層及び活性化層によって要素数（画素数）を減少させながら画素マップ(pixel map)を作成していく。ここでは、画素推定部１１は、例えばResNet(Residual Network)やU-Netと類似する構造を有する。
【００３３】
畳み込み層(Convolutional Layer)は、入力データに重みフィルタを充て、その各要素の積の和を、画素マップの１個の要素値とする。そして、入力データに対して重みフィルタをスライディングさせながら、局所特徴を増強した画素マップを生成する。畳み込み層から出力される画素マップについて、サイズはS×Sとなり、その枚数はNとなる。画素マップの枚数Nは、重みフィルタの個数Nと一致する。
そして、同じ重みフィルタを、入力データに対して移動させて、１枚の画素マップを生成する。ここで、移動させる要素の数（移動量）を「ストライド(stride)」と称す。
【００３４】
正規化層は、領域内の濃淡値の平均を０とする減算正規化や、分散を正規化する除算正規化を実行する。
【００３５】
活性化層は、例えばＲｅＬＵ(Rectified Linear Unit)を用いて、信号の強いニューロンを増強し、弱いニューロンを抑圧する。活性化層から出力されたデータは、各画素に物体がマッピングされた画像データとなる。
【００３６】
最後に、異なる段層のストリームを、加算(add)ではなく、線形の連結(concatenate)によって統合する。即ち、画素マップのサイズをS×S×2Nとする。これによって異なる段層の差を混ぜて、ネットワークのオーバーフィット(overfitting, 過剰適合)を防ぐことができる。
尚、Ｕ字型ネットワークの段層を深くすることによって、演算量は増加するが、表現力の高い特徴に対する位置を検出することができる。
【００３７】
［画素統合部１２］
画素統合部１２は、画素推定ストリーム１の中で、前段の画素推定部１１nから出力された画素マップと、前段の特徴推定部２１nから出力された特徴マップとを入力とする。そして、当該特徴マップを当該画素マップに連結又は加算し、当該画素マップを次段の画素推定部１１n+1へ出力する。
【００３８】
これによって、次段の画素推定部１１n+1は、前段の画素推定部１１nの推定結果（画素クラス情報）だけでなく、前段の特徴推定部２１nの推定結果（物体特徴）も反映した画素マップが入力される。これによって、次段の画素推定部１１n+1では、より正確な画素クラスの推定が期待される。一方で、前段の画素推定部１１nから出力された画素マップ（画素クラス情報）を直接的に入力するために、学習処理にかかる計算量的コストを削減することもできる。
【００３９】
ここで、他の実施形態として、特徴推定部２１nから出力される特徴マップのサイズが、画素推定部１１nから出力される画素マップのサイズと異なる場合、特徴マップのサイズを、画素マップのサイズにリサイズした後、両方の特徴マップを統合する。そのために、画素統合部１２は、特徴マップを、画素マップのサイズに合わせて、アップ／ダウンサンプリングする。その後、画素マップと特徴マップとを、連結又は加算によって統合する。
【００４０】
図４は、画素統合部における画素マップの第１のフローを表す説明図である。
【００４１】
画素統合部１２は、画素推定ストリーム１（前段の画素推定部１１n）からの、S×S×Nのサイズの画素マップを入力とする。ここで、特徴推定ストリーム２（前段の特徴推定部２１n）からの、例えばS/2×S/2×Nのサイズの特徴マップを入力とする。この場合、特徴マップを、縦2倍・横2倍のS×S×Nのサイズにアップサンプリングする。これによって、アップサンプリング層から出力された特徴マップと、画素推定ストリーム１の画素マップとは、同じサイズとなり、線形に連結することができる。そして、S×S×2Nのサイズの画素マップを、次段の画素推定部１１n+1へ出力することができる。
【００４２】
逆に、画素推定ストリーム１の画素マップのサイズが、特徴推定ストリーム２の特徴マップのサイズよりも小さい場合、特徴マップを、逆にダウンサンプリングする。これによって、ダウンサンプリング層から出力された特徴マップと、画素推定ストリーム１の画素マップとは、同じサイズとなり、線形に連結することができる。
【００４３】
図５は、画素統合部における画素マップの第２のフローを表す説明図である。
【００４４】
図５によれば、図４と比較して、統合部分が「連結」ではなく、「加算」となっている。これは、同じサイズの画素マップ及び特徴マップについて、要素毎に加算して、Nとしたものである。S×S×Nのサイズの画素マップを、次段の画素推定部１１n+1へ出力することができる。
【００４５】
抽象的な画素推定をするため、画素推定部１１及び画素統合部１２を少なくとも１回以上繰り返すことによって、画素推定ストリーム１に、特徴推定ストリーム２の推定結果を反映することができる。尚、画素推定ストリーム１の流れの中には、アップ／ダウンサンプリングの処理が挿入されないために、Full-Resolutionを保つことができ、入力画像の全画素について推定することができる。
【００４６】
［特徴推定部２１］
特徴推定部２１も、物体の特徴をエンコードするべく、畳み込みニューラルネットワークによって構成される。
図３によれば、特徴推定部２１は、畳み込み層、プーリング層(pooling layerやaverage pooling)及び活性化層によって、要素数を減少させながら特徴マップを作成していく。
畳み込み層は、前述した画素数推定部１１と同じものである。
プーリング層は、入力された特徴マップから重要な特徴要素のみに縮小した特徴マップを生成し、逆に、非重要な情報を排除する。
活性化層も、前述した画素数推定部１１と同じものであり、例えばＲｅＬＵやsoftmax関数、sigmoid関数に基づくものであってもよい。
高度に抽象的な特徴を抽出するために、これら３つの層を繰り返すことによって、より表現力の高い特徴を抽出することが期待できる。
【００４７】
［特徴統合部２２］
特徴統合部２２は、特徴推定ストリーム２の中で、前段の画素推定部１１nから出力された画素マップと、前段の特徴推定部２１nから出力された特徴マップとを入力する。そして、特徴マップに画素マップを連結又は加算し、当該特徴マップを次段の特徴推定部２１n+1へ出力する。
また、特徴統合部２２も、前述した画素統合部２１と全く同様に、特徴マップのサイズに合わせて、画素マップをアップ／ダウンサンプリングした後、当該画素マップを当該特徴マップに連結又は加算する。
【００４８】
これによって、次段の特徴推定部２１n+1は、前段の特徴推定部２１nの推定結果（物体特徴）だけでなく、前段の画素推定部１１nの推定結果（画素クラス情報）も反映した特徴マップが入力される。これによって、次段の特徴推定部２１n+1では、より正確な物体認識の推定が期待される。一方で、前段の特徴推定部２１nから出力された特徴マップ（物体特徴）を直接的に入力するために、学習処理にかかる計算量的コストを削減することもできる。
【００４９】
［ストリーム統合部３］
ストリーム統合部３は、画素推定ストリーム及び特徴推定ストリームを、最終段で連結又は加算する。
【００５０】
図６は、本発明におけるストリーム統合部の内部構造を表す構造図である。
【００５１】
図６によれば、ストリーム統合部３は、同一のサイズに合わせた画素マップと特徴マップとを、連結又は加算によって統合している。この場合、その後段に、畳み込み層を挿入することも好ましい。
【００５２】
図７は、本発明における推定結果を表す画像図である。
【００５３】
図７によれば、入力画像及び正解データに対して、従来技術の画像セグメンテーション結果と、本発明の画像セグメンテーションの結果とが表されている。
従来技術と比較して、本発明は、セグメンテーションの全体的なばらつきが少ないことが理解できる。また、特に、左側面の欄干部分のセグメンテーションも、比較的明確になっていることが理解できる。
【００５４】
以上、詳細に説明したように、本発明のプログラムによれば、画素推定と特徴推定との両方を用いて、高い精度の画像セグメンテーションを実現することができる。特に、画素推定ストリームと特徴推定ストリームとの両方の流れの中で、画像をリサイズすることなく、Full-Resolutionを保ったまま、高い精度の画像セグメンテーションを実現することができる。
【００５５】
本発明によれば、画素推定ストリームと特徴推定ストリームとの間で、画素マップ及び特徴マップの相互利用を繰り返す中で、高い精度の画像セグメンテーションや物体検出をすることが期待できる。
例えば、人物が映り込む入力画像について、特徴推定ストリームの中で検出できた人物のおおよその位置情報を、画素推定ストリームに与えることによって、より正確な人物の輪郭や領域を得ることができる。一方で、画素推定ストリームの中で検出できた人物のおおよその輪郭や領域を、特徴推定ストリームに与えることによって、より正確に人物の位置を得ることができる。
また、画素推定ストリームや特徴推定ストリームそれぞれについて、画素マップや特徴マップのリサイズが生じることがなく、full-resolutionを保つことで、マップの統合によって解像度の変化で発生した画素クラスや位置・輪郭・領域の学習が必要なくなる。
【００５６】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００５７】
１  画素推定ストリーム
１１  画素推定部
１２  画素統合部
２  特徴推定ストリーム
２１  特徴推定部
２２  特徴統合部
３  ストリーム統合部
【図１】
2019101519.tif 000003
【図２】
2019101519.tif 000004
【図３】
2019101519.tif 000005
【図４】
2019101519.tif 000006
【図５】
2019101519.tif 000007
【図６】
2019101519.tif 000008
【図７】
2019101519.tif 000009