AI_ML_DL’s diary

人工知能、機械学習、ディープラーニングの日記

Kaggleに挑戦-5

Kaggleに挑戦-5

課題1:GitHubのexperiencor / image-to-3d-bboxのプログラムコードを理解すること

課題2:3D Bounding Box Estimation Using Deep Learning and Geometry, A. Mousavian et.al., arXiv:1612.00496v2 [cs.CV] 10 Apr 2017を理解すること

 

課題1は課題2の内容をアプリケーションプログラムとして実装したもので、車に対して3次元のbounding boxを正しく設定しようとするものである。

README.mdには、This is an implementation in Keras of the paper "3D Bounding Box Estimation Using Deep Learning and Geometry"と明記されている。

 

*プログラムは、作成者が次のように機能を分類している。

最初のCell:tensorflow, keras, numpy, cv2等のimportや定数の定義など

2番目のCell:Preprocessing stuff:前処理(各種の機能を有する関数の定義)

3番目のCell:Construct the regression network :回帰ネットワークの構築

4、5、6番目のCell:Kick off the training:トレーニング開始

7番目のCell:Regress 3D boxes on a video:ビデオ画像への回帰3Dバウンディングボックス表示

 

*入力データ:データベースは、KITTI

KITTIは、Kaggleのデータセットからダウンロードした。

image_2とlabel_2の内容を確認した。

KITTIのアップデート情報は、www.cvlibs.netにあるとのことだが、サイトにアクセスできない。今は必要ない。

Kaggleでは、今回と類似したコンペ「Lyft 3D Object Detection for Autonomous Vehicl」をやってたんだな。1か月ほど前に終了したようだが。the measure of intelligenceとbioinfomaticsに熱中していて気づかなかった。いや、違ったかな。気づいていたけど、レベルが高すぎて、参加してもどうにもならないと判断したように思う。それもそうだが、自動運転に興味がわかなかったのかもしれない。今は、とにかく、人工知能について深く考え、主体的にかかわっていくためには、自分が、すごいな、どうなっているのだろう、どうやっているのだろうと思る技術を、身に着けたいと考えている。

KITTIは、Karlsruhe Institute of TechnologyとToyota Technological Institute at Chikagoによって作られたのかな。KIT+TTI=KITTIか。遺伝子コードみたいだな。

 

前処理:

* def compute_anchors(angle)

なんのこっちゃさっぱりわからん。lとrは、leftとrightのことか。左を向いてるか、右を向いてるかということか。次のセクションで呼び出されて、anchorsが計算されて、その値を返しているようだが・・・

*def parse_annotation(label_dir, image_dir)

データベースKITTIのラベルのalpha : Observation angle of object, ranging [-pi..pi]を読み込んで、前のセクションのanchorsを呼び出して、・・・、orientationとconfidenceを、・・・

 

*前処理は、データベースに対して行うものだから、データベースについての知識が重要である。データの前処理は、実用上は非常に重要だが、テクニカルな問題なので、論文などには、殆ど書かれていないので、プログラミングの達人たちに学ぶしかない。

 

KITTIに関する説明:

ラベルファイルには、物体のタイプの後に、空白で区切られた、小数または整数、が次の順に並んでいる。 

0.type : Car, Van, Truck, Pedestrian, Person_sitting, Cyclist, Tram, Misc or DontCare

  Tramは路面電車かそれに類するものだな。

1.truncated : Froat from 0 (non-truncated) to 1 (truncated)

2.occluded :  Integer (0, 1, 2, 3) indicating occlution state : 0 = fully visible, 1 = partly occluded, 2 = largely occluded, 3 = unknown

3、alpha : Observation angele of object, ranging [-pi. .pi]

4.bbox : 2D bounding box of object in the image (0-based index) : contains left, top,      right, bottom pixel coordinates

5.dimensions : 3D object dimensions : height, width, length (in meters)

6.location : 3D object location x, y, z in camera coordinates (in meters)

7.rotation_y : Rotation ry around Y-axis in camera coordinates [-pi. .pi]

8.score : Only for results:train data には何も入力されていない。

 

*急がず、あわてず、着実に、日々、前進したいものだ。

 

つづく 

 

  

f:id:AI_ML_DL:20191214231730p:plain

style 047

f:id:AI_ML_DL:20191214231817p:plain

DeepDream