第133号
トップ  > 科学技術トピック>  第133号 >  ディープラーニングに基づく産業用仕分けロボットの迅速な視覚的識別と位置測定アルゴリズム(その2)

ディープラーニングに基づく産業用仕分けロボットの迅速な視覚的識別と位置測定アルゴリズム(その2)

2017年10月31日

伍 錫如:桂林電子科技大学電子工程与自動化学院准教授、桂林電子科技大学広西自動検出重点実験室、蘇州大学機電工程学院

研究分野は非線形システム制御、ニューラルネットワーク、ロボット制御。

黄 国明:桂林電子科技大学電子工程与自動化学院修士生、桂林電子科技大学広西自動検出重点実験室

研究分野は機械学習、マシンビジョン、ディープラーニング。

孫 立寧:蘇州大学機電工程学院教授

研究分野はナノスケールマイクロドライブおよびマイクロマニピュレータ、産業用ロボット技術、医療ロボット、ヒューマノイドアームおよびロボットの構成と制御。

その1よりつづき)

2 仕分けロボットのための迅速な視覚アルゴリズムモデル(Fast visual algorithm model for the sorting robot)

 本稿では、比較的複雑な文様を持つ中国将棋の駒の識別を行うアルゴリズムを設計した。仕分け作業のニーズに基づき、アルゴリズムは識別・位置測定により目標物の座標、偏向角、カ テゴリー情報を得ることを目的としており、アルゴリズムの速度、位置測定の精度および識別の適合率などの各方面に配慮している。迅速な視覚的識別と位置測定アルゴリズムのアーキテクチャは図 1に示す通り。同 アルゴリズムは目標物の位置測定アルゴリズムと目標物の識別アルゴリズムの2つの部分から構成される。アルゴリズムの具体的なステップは以下の通り。

図1

図 1 迅速な視覚的識別と位置測定のアルゴリズムアーキテクチャ

Fig.1 The architecture of the fast visual identification and location algorithm

ステップ 1:レーザーセンサーが作動し、ベルトコンベアの動きが止まる。同時に、産業用カメラが指定エリアの画像を取得する。

ステップ 2:画像をグレースケール化し、均等化処理を行い、画像のコントラストを高める。

ステップ 3:大津の手法に基づき画像を二値化する。

ステップ 4:収縮処理を通じて画像中のグレイン・ノイズを除去する。

ステップ 5:膨張処理により、収縮処理を施された目標物のエッジを適度に復元する。

ステップ 6:境界画素検出により、中国将棋の駒の境界を確定する。

ステップ 7:画像中から中国将棋の駒のみが含まれる局所画像を分割・抽出し、駒の中心座標を確定する。

ステップ 8:画像サイズを変更し、識別の準備をする。

ステップ 9:CNNが目標物の識別と分類を行う。

ステップ 10:識別に成功したら結果を出力する。識別できなければ左周りに 10°旋回し、ステップ 9に戻る。

2.1 境界画素の検出による位置測定アルゴリズム

 目標物を運ぶベルトコンベアは通常、白いラバーベルトである。目標物の位置測定のスピードを上げるため、本稿では境界画素の検出という手法を採用した。位置測定アルゴリズムのアーキテクチャは図 2のとおり。

図2

図 2 境界画素の検出による位置測定のアルゴリズムアーキテクチャ

Fig.2 The architecture of the boundary pixel detection algorithm for localization

 このアルゴリズムはまず、入力画像の前処理を行い、ベルトコンベア上のその他のグレインのノイズを取り除き、得られた二値画像に中国将棋の駒のみが含まれていることを保証する。その後、迅 速な画素検出を行い、駒の 4方向の境界を確定し、中国将棋の駒が丸い形をしているという特徴に基づいて境界点補正を行い、最後に位置測定および分割を行う。

2.2 CNN による視覚的識別

 CNNは多層パーセプトロンを起源とし、動物の視覚が局所的に情報を抽出するメカニズムを模倣して、入力画像の特徴を抽出する。こ の原理はFukushimaらが猫の視覚野の研究の際に発見したものである [21] 。畳み込みニューラルネットワークにおいて、畳み込み演算子(フィルター)は入力画像の局所とのみ接続し、畳み込み演算を通じて入力画像の特徴情報を抽出する [22-23] 。CNNは一般的に多層構造モデルである。図 3は 8層構造の CNN モデルで、入力層、中間層、フル接続層という3つの部分からなる。 

図3

図 3 CNN の構造モデル

Fig.3 The architecture of CNN

 (1) 入力層は通常、二値画像あるいはRGB カラー画像を入力する。一般的に、入力前に画像のフィルタリング、サイズ変更といった前処理を行い、ネットワークの識別効果を高める。

 (2) 中間層は畳み込み層とプーリング層が交互に入れ替わる構造である。CNNはディープラーニングモデルであり、そ の深度は主に中間層中の畳み込み層とプーリング層の繰り返しの回数によって体現される。CNN が識別する画像の複雑度が高まれば高まるほど、中間層の繰り返しの回数も多くなる。G oogLeNetのような大型の畳み込みネットワークでは、カテゴリーが非常に多い画像を学習する際に十数層の畳み込み層とプーリング層を使用する。

 畳み込みの操作は図 4の通り。うち、畳み込み演算子Wは入力画像 Xの局所と接続し、この部分をX smallと定義する。すなわち、出力は f = σ (WX small +b)となる。σ は一般的にシグモイド関数を選択する。畳み込み演算子は一種のフィルターに相当し、画像のフィルタリングおよびエッジ強調などの操作を実現できる。入 力画像は複数のサブ画像に分けられた後、同じ畳み込み演算子によって処理される。このように、重み共有方式をフル接続から局所接続に変えたことによって、ネ ットワークトレーニングの難度を引き下げることに成功した。

図4

図 4 畳み込み演算

Fig.4 Convolutional operation

 高解像度画像を入力する際は、ネットワークの運用に大量のコンピューティングリソースを占用することになり、ネットワークのリアルタイム性が下がる。また、入力画像に多くの特徴が含まれていると、ネ ットワーク学習に過剰適合現象が生じやすい。これらの問題を解決するため、本稿では畳み込みをベースとしてプーリング操作(図 5)を行うことで、特徴の次元を効果的に下げ、データ量を圧縮し、ネ ットワークの学習効率およびリアルタイム性能を高めた。

図5

図 5 プーリング操作

Fig.5 Pooling operation

 (3) フル接続層は一般的に三層構造からなる浅い分類器であり(SVM、SoftMax分類器など)、入力層、隠れ層、出力層からなる。入力層はCNNの中間層のうち、最 後のプーリング層が取得した特徴マップを引き延ばして得られた列ベクトル。隠れ層は非線形マッピング層。出力層も CNN の結果出力層であり、一般的に目標物の分類の分数値を出力し、最 も高い値を識別結果とする。

2.3 ディープCNNのトレーニング

 ネットワーク識別スピードを高め、精度を上げるために、構造サンプルの段階でまずサンプルに加工を施し、サンプル中の無関係な特徴を排除した。異なる環境光下においてサンプルの写真を取得し、エ ッジ画素検出アルゴリズムによって画像中の中国将棋の駒をロックし、画素エリアの選択を通じて駒の文字の外側の輪を取り除き、サンプルを 250×250ピクセルの二値画像に整理した。C NNを通じて人為的に正則化されたサンプルの教師あり学習を行い、最も識別度の高い特徴情報を取得した。

 トレーニングの過程においては、教師付きの平均二乗誤差の逆伝播学習アルゴリズムにより、ネットワークパラメータを修正した [24-25] 。これはすなわち、最小平均二乗誤差の手法(MMSE)である。サ ンプルデータがD = (x i , y i ) 1≦i≦mのネットワークにおいて、平均二乗誤差(MSE)は以下のように表すことができる。

 うち、 hw,b(x) はネットワーク出力値、hは活性化関数。シグモイド関数を選択する。Wはネットワークの重み行列。bは每層のオフセット bが構成するオフセット行列、xは入力サンプル行列、y ∗ は期待される出力。非凹状関数J( W,b;x,y∗) の最小化によりネットワークの最適解を取得できる。通常は勾配降下の手法を用いてネットワーク反復演算を行い、重みを更新する。

 このうち、 α は学習率。従来の勾配降下の手法は、ネットワークが局所最適解に収束しやすく、またトレーニングの速度が遅かった。理想的な収束結果を得るため、本 稿ではランダムな勾配降下アルゴリズムを採用した。このアルゴリズムは収束が速く、反復によってグローバル最適解を得られるという特徴を持つ。ラ ンダムな勾配降下の誤差逆伝播アルゴリズムに基づくネットワークのトレーニングのプロセスについては図 6を参照のこと。うち、演算子◎は相互相関演算、演算子○は要素の乗算演算を表す。

図6

図 6 MMSEに基づくCNNのトレーニング

2.4 識別アルゴリズムの実現

 本稿で設計したアルゴリズムモデルのCNNは 12 層構造である。それぞれ、入力層(250×250×1)、第一畳み込み層 C1(3×3×1)、第一プーリング層 P1(2×2)、第二畳み込み層 C2(5×5×1)、第二プーリング層 P2(2×2)、第三畳み込み層 C3(5×5×1)、第三プーリング層 P3(2×2)、第四畳み込み層 C4(5×5×1)、第四プーリング層 P4(2×2)、S oftmax 分類器の入力層、隠れ層、出力層からなる。画像の前処理および位置測定においては、Matlab 画像処理ライブラリ関数を用い、Deep Learning Toolboxの操作関数によって CNNを実現し、CPUがIntel® Core TM i3-2100 CPU @3.10 GHz、メモリが12Gのデスクトップコンピュータでネットワークのトレーニングを行った。ア ルゴリズムのトレーニングの過程においては、中 国将棋の5種類の駒の識別を行った。それぞれの駒あたり240枚、計1200枚のサンプル画像を用い、ビジュアライゼーションによりネットワーク性能を分析した。図 7、8では、「馬」と「炮」(訳注:い ずれも中国将棋の駒)の学習を例に、入力層と中間層の特徴画像を示した。CNNのトレーニングは、異なる学習率 αによって行った。MSEの下降曲線は、図 9に示す通りである。うち、横 軸はネットワークのトレーニングにおいて反復されたサンプル数(反復回数は 10 回)、縦軸はMSEを表す。図 9では、異なる学習率αにおけるトレーニングの効果を示している。 

図7

図 7 「馬」のトレーニング特徴マップ

Fig.7 The feature map of MA

図8

図 8 「炮」のトレーニング特徴マップ

Fig.8 The feature map of PAO

図9

図 9 平均二乗誤差の下降曲線

Fig.9 The decline graph of MSE

 MSEの下降に伴い、特徴マップ中の文字のエッジはますます鮮明になった。ネットワークが最適に収束した時(誤差0.1 以下になった時)、サンプル画像中の文字の特徴は大幅に強調された。図 7(d)では、特徴マップの立体感が増し、エッジが突出している。これは、第二畳み込み演算子が重み調整後、効果的な特徴の抽出を実現したことを意味する。図 9からわかるように、ト レーニングの過程におけるMSE の局所最小値は約0.4であり、α = 0.8の場合、ネットワークは最も早く局所最小値に到達すると同時に(約1700のサンプル反復)、迅速にグローバル最小値に収束する。ま た、サンプルの反復数が2100個に達すると、ほぼ0に近づき(MSE < 0.01)、理想的なトレーニング効果を得ることができた。

その3へつづく)

主要参考文献:

[21]. Fukushima K, Miyake S. Neocognitron: Self-organizing network capable of position-invariant recognition of patterns[C]//5th International Conference on Pattern Recognition. Piscataway, USA: IEEE, 1980: 459-461.

[22]. Kavukcuoglu K, Sermanet P, Boureau Y L, et al. Learning convolutional feature hierarchies for visual recognition[C]//24th Annual Conference on Neural Information Processing Systems. Red Hook, USA: Curran Associates Inc., 2010.

[23]. Jaderberg M, Simonyan K, Vedaldi A, et al. Reading text in the wild with convolutional neural networks[J]. International Journal of Computer Vision, 2016, 116(1): 1-20.

[24]. LeCun Y, Bottou L, Orr G, et al. Efficient backProp[M]//Neural Networks: Tricks of the Trade. Berlin, Germany: Springer, 2012: 9-48.

[25]. 謝建斌.視覚機器学習 20 講[M].北京:清華大学出版社,2015:170-184.

※本稿は伍錫如、黄国明、孫立寧「基于深度学習的工業分揀機器人快速視覚識別与定位算法」(『機器人』2016年第38巻第6期、pp.711-719)を『機器人』編集部の許可を得て日本語訳・転 載したものである。記事提供:同方知網(北京)技術有限公司