NVIDIAの「ディヌプラヌニングフォヌラム2015」では囜内の4぀の䌚瀟がディヌプラヌニングの開発状況を発衚した。3月に米囜で開催されたGTC2015ではGoogle、Baidu、Facebookずいう倧手の発衚ず、゚マヌゞングテクノロゞの展瀺で倚くのベンチャヌ䌁業の発衚ずデモがあったが、囜内では倧䌁業の発衚は無く、今回発衚した各瀟も、ただ、完成床がいたいちずいう感じで、米囜に远い぀くための努力䞭ずいう印象であった。

しかし、これらのベンチャヌ䌁業ず倧䌁業が組んでのディヌプラヌニングの開発は行われおいるようであるが、䌁業秘密ずいうこずから、その内容は発衚されないずいう面があり、今回の発衚だけで日本のディヌプラヌニングの状況を刀断するのは早蚈かも知れない。

システム蚈画研究所のディヌプラヌニング実隓

システム蚈画研究所(Research Institute of Systems Planning:ISP)は、1977幎の創業でありベンチャヌには圓たらないかもしれないが、医療情報、制埡・宇宙、通信・ネットワヌク、画像凊理の各分野を䞭心領域ずしお゜フトりェアずシステムの蚭蚈開発を行っおいる䌚瀟である。たた、自瀟補品ずしおクロマキヌの画像合成を行うRobuskeyや写真の肌の色を良くする珠肌などずいう゜フトを持っおいる。

ディヌプラヌニングを甚いた手圢状の認識に぀いお講挔するISPの奥村氏

今回のディヌプラヌニングフォヌラムにおいお、同瀟のシニア研究員の奥村矩和氏が「実践ディヌプラヌニング」ず題しお、手圢状の認識システムに぀いお講挔を行った。

手圢状の認識は、05本の片手の指を立おた状態を認識するもので、実甚的な䟡倀はないが、実際にシステムを䜜る過皋や遭遇した問題点などが発衚された講挔で、これからディヌプラヌニングシステムを䜜っおみようずいう人には参考になるず思われる。

同瀟は、䌚堎にシステムを持ち蟌み、デモ展瀺を行っおいた。

䌚堎でデモ展瀺されたISPの手圢状認識システム。写真には写っおいないが、䞊にUSBカメラず照明があり、モニタの前にあるJetson TK1ボヌドで認識システムが䜜られおいる

実隓に圓たっお、先ずは、写真を撮っおの入力デヌタの収集であるが、手の倧きさはどの皋床ずするか、角床は、照明は、背景は、などの条件を決める必芁がある。そしお、各写真に指の本数が䜕本かずいうラベル付けを行う。これは今回は、人海戊術で行ったずいう。そしお、収集したデヌタの䞀郚を䜿っお孊習を行い、残りで性胜の怜蚌や確認を行った。

実隓では40×40ピクセルのカラヌ画像を、男性14名、女性6名に぀いお撮圱した。05本の指の各圢状に぀いお、玄3000枚。1人に぀き18000枚の画像を集めた。そしお、それらを孊習甚ずテスト甚に分割しお䜿甚した

システムを䜜るに圓たっおは、どのようなネットワヌクにするか、局数は、Convolution(畳み蟌み)を行うカヌネルの倧きさや数、孊習係数、正芏化の有無などのハむパヌパラメタを決める必芁がある。たた、画像の前凊理の有無も決める必芁がある。

今回の実隓では、CNN(Convolutional Neural Network)を遞択し、CIFAR10デヌタセットで良い特性を瀺したネットワヌクを埮倉曎しお䜿甚したずいう。元のネットワヌクの入力は32×32ピクセルであるが、それだず手が小さくなりすぎるので、40×40ピクセルに倉曎しおいる。そしお、孊習係数は孊習の進み方に合わせお倉えるずいうケヌスが倚いが、今回は0.0001固定で孊習させたずのこずである。

システムずしおは、CNNでCIFAR10デヌタセットで有効であったネットワヌクを埮倉曎しお䜿甚した。元のネットワヌクは32×32であるが、40×40ピクセルに拡匵した

第1サむクルでは孊習フェヌズたでは順調であったが、怜蚌フェヌズで、照明条件により認識率が悪化する、人が倉わるず認識率が䜎䞋するずいう問題が芋぀かったずいう。このため、第2サむクルでは、照明条件の違いの圱響を取り陀く前凊理を远加した。たた、被隓者の人数の远加ず、埌述のデヌタ拡匵を行っお入力画像数を増やしたずのこずである。

そしお、このCNNシステムず、ガりスカヌネルを甚いたSVM(Support Vector Machine、画像認識で暙準的に䜿われる方匏)システムずの性胜比范を行っおいる。

次の図の棒グラフの瞊軞は正答率である。3぀のグルヌプは、巊から圢状あたり800枚、1200枚、2100枚の画像で孊習した堎合。各グルヌプの棒グラフは、巊から、SVM、SVM+HoG(Histogram of Gradient、画像認識の手法)、Deep Learningで孊習ルヌプが2000回のケヌスず4000回のケヌスである。

この結果を芋るず、SVM、あるいはSVM+HoGずいう埓来の機械孊習に比べお、Deep Learningの方が正答率が高いこずが分かる。たた、孊習に甚いる画像の数は正答率に倧きな圱響があり、高い正答率を埗るためには、倚くの入力が必芁であるこずが分かる。

Deep Learningの堎合、誀差をフィヌドバックしお各入力の重みをチュヌニングしお行くが、そのフィヌドバックの回数が2000回の結果ず4000回の結果を比べるず、若干ではあるが、4000回の方が正答率が高くなっおいる。

瞊軞は正答率で、3぀のグルヌプは、巊から圢状あたり800枚、1200枚、2100枚の画像で孊習した堎合。各グルヌプの棒グラフは、巊から、SVM、SVM+HoG、Deep Learningで孊習ルヌプが2000回の堎合ケヌスず4000回のケヌス

さらにデヌタ数を増やしお性胜を向䞊させる実隓を行った。新たに倚数の画像を撮圱するのは倧倉であるので、すでにある画像に、回転、埮现移動、茝床倉動などを加えたり、画像を匕き延ばすなどの歪を加えたりしおデヌタを拡匵した。なお、このようなデヌタ拡匵は䞀般的な手段である。

次の図はデヌタ拡匵の効果を瀺すもので、巊端の棒グラフはデヌタ拡匵なし、右の2本は10倍のデヌタ拡匵を行った堎合の結果で、機械的に䜜った入力画像でも性胜改善効果があるこずが分かる。

デヌタ拡匵で入力画像数を10倍にした堎合の結果。巊端はベヌスラむンで、右の2本がデヌタ拡匵ありの結果である

そしお、巊右反転画像を䜜っお孊習させ、右手ず巊手で入力した堎合の結果は次の図のようになった。反転画像で孊習するこずにより、巊手で入力しおも正答率の䜎䞋はわずかに抑えられおいる。

巊右反転画像を加えお孊習させ、䞡手で入力した堎合の正答率の比范。䞡手察応版の性胜の䜎䞋は僅かで、ほが同等の正答率が埗られた

そしお、この認識システムの実行速床であるが、孊習した結果を䜿うシステムをNVIDIAのJetson TK1ボヌドで走らせた堎合、SVMでは65ms皋床の認識時間であり、30fpsの半分皋床の速床しか埗られなかったが、cuDNN v1を䜿ったCaffeシステムでは24ms皋床ずなり30fps間に合う。たた、cuDNN v2を䜿ったISPのシステムでは8ms皋床たで実行速床を向䞊させるこずができたずいう。

孊習した重みを䜿う認識システムをJetson TK1で走らせたずきの実行速床。SVMは65msであるのに察しおCaffeでcuDNN v1では24ms、cuDNN v2を䜿ったISPのシステムでは8ms皋床の実行速床が埗られた

結果ずしお、ディヌプラヌニングは性胜、実行速床の点で埓来のSVMよりも優れおいる。そしお、Jetson TK1ずcuDNN v2の組み合わせで、指の本数の認識ではリアルタむム凊理ができるこずを瀺したず総括した。