コードはGitHubページ(リンク)からダウンロードできます。
認識に関する記事へようこそ。私は仕事のほとんどを各場所に番号が付けられたオープンスペースのオフィススペースで過ごすので、職場番号の付いた通常のプレートの例を使用してコンピュータビジョンについて説明することにしました。ここでは、選択したプレートを検出するためにニューラルネットワークを再トレーニングします。
私はpython3.7を使用しており、バージョン管理されたすべてのモジュールの名前はrequirements.txtファイルに保存されています。
.
:
500 , — 100, 1000 , , 2.
/ . 80%, - 20%.
TF .
. config ( , ).
.
.
.
TensorFlow , , 1000 . , , . , , - .
, ().
. , . LabelImg- , GitHub , .
LabelImg, GUI. — dir , . create rectbox. , . , ! w, , ctrl+s, . 1 100 , , . , !
LabelImg xml-, . xml- TFRecords, TensorFlow. , , \test \train xml-.
, . , 20% XML- test, train.
, , TFRecords, TensorFlow.
-, image .xml csv-, . , : python xml_to_csv.py.
train_labels.csv test_labels.csv CSGO_images. cmd, .bat xml_to_csv.bat.
generate_tfrecord.py . , . labelmap.pbtxt.
, , generate_tfrecord.py:
# TO-DO label map
def class_text_to_int(row_label):
if row_label == 'table':
return 1
else:
return None
TFRecord, generate_tfrecord.bat.
train.record test.record training. .
, — . , , . labelmap.pbtxt CSGO_training. . , generate_tfrecord.py.
item {
id: 1
name: 'table'
}
, . , . .
TensorFlow research\ object_detection\ samples\ configs faster_rcnn_ inception_v2_ coco.config CSGO_training. . .config , , . 10. num_classes , . :
num_classes : 1
107. fine_tune_checkpoint :
fine_tune_checkpoint : "faster_rcnn_inception_v2_coco_2018_01_28 / model.ckpt"
122 124. train_input_reader input_path label_map_path :
input_path: "CSGO_images / train. record"
label_map_path: "CSGO_training / labelmap.pbtxt"
128. num_examples , CSGO_images\test. 113 , :
num_examples: 113
( )
136 138. eval_input_reader input_path label_map_path :
input_path: "CSGO_images / test. record"
label_map_path: "CSGO_training / labelmap.pbtxt"
. ! . .
, train.bat.
. . 1.5 . , 0,05, ( , ). , . , , .
.
, , — ( ). graph export_inference_graph.py, , “XXXX” ” model.ckpt-XXXX » .ckpt :
python export_inference_graph.py --input_type image_tensor --pipeline_config_path CSGO_training/faster_rcnn_inception_v2_coco.config --trained_checkpoint_prefix CSGO_training/model.ckpt-XXXX --output_directory CSGO_inference_graph
frozen_inference_graph.pb /coco_v3/ CSGO_inference_ graph. .pb . frozen_inference_graph.pb . coco_v3 predict.py 39 .
PATH_TO_FROZEN_GRAPH = 'graph/frozen_inference_graph.pb'
41 labelmap.
PATH_TO_LABELS = 'graph/labelmap.pbtxt'
最後に、Pythonスクリプトを実行する前に、スクリプト内のNUM_CLASSES変数を、検出するクラスの数と等しくなるように変更する必要があります。使用するクラスは1つだけなので、1に変更しました
。NUM_CLASSES= 1
65行目で、検出が行われる画像を設定する必要があります。
開始後、ウィンドウと認識されたプレートが表示されます。
以上、ご清聴ありがとうございました。