Tensorflow1.15 pointnet sem_seg #2

Tensorflow1.15 pointnet sem_seg #2 です。

Tensorflow1.15 pointnet sem_seg で、学習ができたので、
今回は、検証用のプログラム、sem_seg/batch_inference.py を試してみました。

開発環境
OS: Windows10
言語: Python3.7
Tensorflow 1.15 GPU
開発ツール: Eclipse

検証は、下記を実行するだけですが、
> cd sem_seg
> python batch_inference.py

実際に試してみると、入力データが、 .npy が必要のようです。
オリジナルの text zipをダウンロードして、sem_seg/collect_indoor3d_data.py を実行すると、
作成される様ですが、肝心のオリジナルの text zip を入手できません。
なので、学習で使った、.h5 ファイルを使うように、変更してみました。

1. 早速修正した、コードを掲載します。
sem_seg/batch_inference_nishi.py

実行は、
> cd sem_seg
> python batch_inference_nishi.py

そうすると、
log6/dump ディレクトリーの下に、
?_gt.obj
?_gt.txt
?_pred.obj
?_pred.txt
等ファイルが作成されます。
特に、?_pred.txt に、predict した結果が残されていました。
ポイント毎に
x,y,z,r,g,b,acc,class
が出力されるので、これを、open3d 等で表示してみると確認できます。

2. 表示プログラム
早速、?_gt.obj , ?_pred.obj , ?_pred.txt を、open3d で表示してみました。
sem_seg/view_obj_nishi2.py


test_id=4
で実行すると、class=8 -> chair
だけを検出しているポイントだけを確認できます。

3. 感想
1) 結局、全ての判定ポイント(num_point=4096) 毎に、それぞれのクラスを判定して
クラス番号を付与するプログラムと言う事らしいです。

つまり、複数の同じ物があれば、それの全てのポイントに、同じクラス番号が付与される事のようです。

2) 入力は、Depth カメラで撮影した PointCloud に近い画像の様なので、
実際のアプリケーションでも、利用できそうです。

次は、独自データで学習しようとした場合、その学習データは、どうやって用意すれば良いのか?
を考えないといかんぞね。
たとえば、インテルの Depth Camera と、表示用のLCD を、Raspi に繋げて、
電池駆動で持ち運び出来るようにして、
スイッチを押したら、その時の RGB-D と Point Cloud データを、保存するプログラムを、動かして、
屋外に持ち出して撮影する。
と、言う事か?

このブログ記事について

このページは、おんちゃんが2021年1月21日 13:47に書いたブログ記事です。

ひとつ前のブログ記事は「Tensorflow1.15 pointnet sem_seg」です。

次のブログ記事は「Pytorch PVCNN:Point-Voxel CNN for Efficient 3D Deep Learning」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

ウェブページ

サイトナビ