2021年1月アーカイブ

サーバーの踏み台目的の不正アクセスの件

サーバーの踏み台目的の不正アクセスの件 です。

cgi への不正アクセスの発見から、それへの対策をまとめてみました。

今年に入ってから、 1つの cgi へのアクセスが急に増えたので、Apache のログを調べて対応しています。
かなり前に、自前のサーバーを導入して数年後に、レンタルサーバーの公開機能として、Apache ログを解析しやすいように、
Perl でCGI を組んで置いたのが、今、大変役立っています。コッホ!!

Apacheアクセスログの機能としては、
1) 日別のアクセス数の一覧
2) 1日内での、ページ (html,cgi,php) 毎のアクセス数の一覧
3) さらに、その1ページに関して、
   - アクセス元 ip 毎のアクセス数の一覧
   - 参照元および参照内容 の一覧
   - 生ログの表示
があれば、不自然なアクセスを見つけやすいです。

それは、さて置き、どうやら、cgi の不備をついて、別のサイトへリダイレクトさせる、URL をしきりに送りつけているようです。
当初、cgi の簡単な修正で、外部の URL へのリンクを出さないで、'/' の出力のみにして、様子を見ました。
それでもアクセスが減らないので、それならと cgi をリネームして、http エラーで返すようにしました。

なので、エラーが表示されて、リダイレクトされないので、送りつけてきても意味が無いのですが、
それでも、旧 cgi名称 でしきりにアクセスしてきます。
数日様子をみていましたが、サーバーへの不正アクセスのトラフィックが一向に減らないので、
これでは、いけないと思い、次の対策をこうじました。

Pytorch PVCNN:Point-Voxel CNN for Efficient 3D Deep Learning #4

Pytorch PVCNN:Point-Voxel CNN for Efficient 3D Deep Learning #4 です。

Pytorch PVCNN:Point-Voxel CNN for Efficient 3D Deep Learning #3 で、S3DIS の学習ができたので、
今回は、予測(Predict) を試してみました。

開発環境
OS: Windows10
言語: Python 3.7.9
Pytorch 1.7.1 gpu
開発ツール: Eclipse
その他ツール:
VisualStudio 2017 community
MYSY2: ./data/shapenet/download.sh でのみ使用。
PCメモリー: 16G ( 9.5G 位使うみたい。)
注) オリジナルの、datasets/s3dis.py だと、チョットずつファイルから持ってくるので、メモリー消費は、少ないと思います。
GPU: GTX 1070 8G

前回同様、今回も、S3DISのデータアクセスは、オリジナルの datasets/s3dis.py では無くて、カスタマイズ版 (datasets/s3dis_nishi.py)を使います。
詳しくは、前回の Pytorch PVCNN:Point-Voxel CNN for Efficient 3D Deep Learning #3 をご覧ください。

評価用のオリジナルプログラムは、evaluate/s3dis/eval.py ですが、やはりこちらも、
データセットが用意出来ないので、コピーして、少し改造してやります。

Pytorch PVCNN:Point-Voxel CNN for Efficient 3D Deep Learning #3

Pytorch PVCNN:Point-Voxel CNN for Efficient 3D Deep Learning #3 です。

mit-han-lab/pvcnn

前回までで、shapenet データでの確認ができたので、今回は、KITTI と行きたいところですが、
KITTI のラベルデータの入手が、面倒なので、先に、S3DIS を試してみました。

開発環境
OS: Windows10
言語: Python 3.7.9
Pytorch 1.7.1 gpu
開発ツール: Eclipse
その他ツール:
VisualStudio 2017 community
MYSY2: ./data/shapenet/download.sh でのみ使用。
PCメモリー: 16G ( 9.5G 位使うみたい。)
注) オリジナルの、datasets/s3dis.py だと、チョットずつファイルから持ってくるので、メモリー消費は、少ないと思います。
GPU: GTX 1070 8G

S3DISの方も、オリジナルの datasets/s3dis.py のままでは、オリジナルデータのText ZIP
(http://buildingparser.stanford.edu/dataset.html) が必要なので使えません。

なので、今回は、'https://shapenet.cs.stanford.edu/media/indoor3d_sem_seg_hdf5_data.zip' を
ダウンロード And Unzip した、h5 ファイル版を使います。

Pytorch PVCNN:Point-Voxel CNN for Efficient 3D Deep Learning #2

Pytorch PVCNN:Point-Voxel CNN for Efficient 3D Deep Learning #2 です。

mit-han-lab/pvcnn

Pytorch PVCNN:Point-Voxel CNN for Efficient 3D Deep Learning で学習ができたので、結果確認をしてみます。

開発環境
OS: Windows10
言語: Python 3.7.9
Pytorch 1.7.1 gpu
開発ツール: Eclipse
その他ツール:
VisualStudio 2017 community
MYSY2: ./data/shapenet/download.sh でのみ使用。

1. 評価
オリジナルでは、下記、スクリプトを実行します。
> python train.py configs/shapenet/pvcnn/c1.py --devices 0 --evaluate

但し、これでは、面白くありません。
第一、通常のアプリケーションで使えるような代物ではありません。
たとえは、1件の画像 (Point Cloudデータ) を入力して、その結果を利用する。
には、使えません。
なので、今回少し改造をしてみました。

Pytorch PVCNN:Point-Voxel CNN for Efficient 3D Deep Learning

Pytorch PVCNN:Point-Voxel CNN for Efficient 3D Deep Learning を試してみました。

mit-han-lab/pvcnn

開発環境
OS: Windows10
言語: Python 3.7.9
Pytorch 1.7.1 gpu
開発ツール: Eclipse
その他ツール:
VisualStudio 2017 community
MYSY2: ./data/shapenet/download.sh でのみ使用。

1. Data
Data は、ShapeNet にしました。

2. Pytorch 実行環境
Anaconda で、 Pytorch 1.7.1用のチャネルだけ作成して、後は、全て
pip install で、必要パッケージを追加します。
毎回、環境を設定するのが、結構大変なので、batch ファイルを用意して、DOS プロンプトで起動します。

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 ファイルを使うように、変更してみました。

Tensorflow1.15 pointnet sem_seg

Tensorflow1.15 pointnet sem_seg を試してみました。

Tensorflow1.15 pointnet part_seg で part_seg を試したので、
今回は、 sem_seg を試してみました。

charlesq34/pointnet
上記ページの sem_seg の部分です。

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

学習は、下記を実行するだけですが、
> cd sem_seg
> python train.py

例に習って、オリジナルのままの、 train.py では、
長い時間、学習が終わるまで待たなければいけないので、不便です。
epoch=4 とか、少しずつ出来るように、手を加えてみました。
また、 Tensorboard での表示が少し変なので、変更してみました。

Tensorflow1.15 pointnet part_seg #1

Tensorflow1.15 で pointnet part_seg を試してみました。 #1

Tensorflow1.15 pointnet part_seg で学習ができたので、今回は、part_seg/test.py を試してみました。

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

下記を実行するだけです。
> cd part_seg
> python test.py

そうすると、part_seg/test_results の結果が出力されました。
0_diff.obj 0_gt.obj 0_pred.obj 0.log 等、ファイルが一杯作成されました。

xxx. obj とは、なんぞね?
どうやら、text file の様なので、Text Editer で中を見てみると。

Tensorflow1.15 pointnet part_seg

Tensorflow1.15 で pointnet part_seg を試してみました。

ROS を使って、草刈りロボットの開発を目指していますが、畑の境界をどの様に認識させるかで、止まっています。
やはり、ここは、機械学習でどうにか出来ないか思案しています。
そんな折、Depthカメラでの、PointCloud データを入力にした、モデルがあったので、
今回試してみました。

charlesq34/pointnet
上記ページの part_seg の部分です。

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

学習は、下記を実行するだけですが、
> cd part_seg
> python train.py

どうも、オリジナルのままの、 train.py では、
長い時間、学習が終わるまで待たなければいけないので、不便です。
epoch=10 とか、少しずつ出来るように、手を加えてみました。

但し、最初に断って置きますが、なかなか、 label_acc (test and trainning label accuracy) の値が上がってきません。
これで、良いのか? ちょっと疑問です。

このアーカイブについて

このページには、2021年1月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2020年12月です。

次のアーカイブは2021年3月です。

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

カテゴリ

ウェブページ

サイトナビ