柔軟剤の匂いに基づく機械学習を用いた人の存在識別○片田喜章 森将哉 （摂南大学）
概要 人の存在をシステムが検出する技術は人とシステムが相互作用する環境において今後ますます重要になると予想される．本研究では，複数のガスセンサを用いて柔軟剤の匂いデータを取得し，柔軟剤の匂いの有無を学習させた識別器を用いて，人の存在を識別できるか検証することを目的とする．
キーワード: 匂い，機械学習，サポートベクトルマシン，深層ニューラルネットワーク

1

はじめに

2.1

サポートベクトルマシン (以下，SVM)5) は，多次元空間におけるデータのクラス間に超平面を引くことでデータを分類するアルゴリズムである．分類クラスの境界に 1 番近いサンプルデータをサポートベクトルとよび，サポートベクトルと分類クラスの境界の距離 (マージン) を最大化することで境界を決定する．サポートベ
クトルが構成するマージン境界間にデータが存在する，つまり，誤認識を許容する考え方をソフトマージンとよぶ．ソフトマージンは，マージン境界間および誤認識のデータにはペナルティを与える．本研究では，線形 SVM として，ソフトマージンを用いたサポートベクトルマシンを用いる．
ソフトマージンを用いたサポートベクトルマシンでは，線形な境界しか定めることができない．非線形な境界を定めるためにカーネルトリックという手法が提案されている．これはクラス分類を行うべきデータ空間を非線形関数により変換し，写像された空間上のデータに SVM を適用する手法である．本研究では，非線形 SVM として，ラジアル基底関数カーネルを用いる非線形サポートベクトルマシンを用いる．

発展が予想される Society5.01) やサイバーフィジカ
ルシステム 2) ・IoT において，人とシステムとの間に能動的・受動的な相互作用が生じると考えられる．それにはシステム側からすると，システムが人の存在を検出できる必要がある．人の存在を検出するセンサシ
ステムとして人から放射される赤外線を検出する赤外線センサや，カメラ画像から顔輪郭・肌色情報を画像処理技術により抽出する視覚情報処理システムがある．
前者では他の熱源が近傍に存在すれば誤認識する可能性があり，後者では照明条件により色情報が取得できない場合がある．このように，ある特定の状況が整った場合に特定のセンサで人の存在が検出できる．このことからもわかるように，あらゆる状況で人の存在を検出できる万能な単一のセンサデバイスを開発することは困難であると考えられる．したがって，複数のセンサシステムをそれぞれ要素として捉え，それらを統合するセンサシステム (センサフュージョン) の開発は自然な流れであろう．それには人の存在を検出するさまざまなセンサシステムを要素として開発しておくことが重要である．

2.2

上述の要素の 1 つとして，匂いに基づく人の存在検出システムが考えられる．一般的に，匂いを検出するガスセンサは特定の匂い物質に強く反応するが，他の匂い物質に対しても少なからず反応する．そこで複数のガスセンサを用いて得られるデータ群から人の存在を識別する技術が必要とされている．機械学習は近年注目されている人工知能技術の一つであり，それらを活用することで ，画像処理や音声認識の精度が向上している．そこで，機械学習を活用することで多様な匂いを識別することができると期待されている 3)4) ．

ディープラーニング

ディープラーニングは，4 層以上の多層なニューラルネ
ットワーク (深層ニューラルネットワーク (以下 DNN))6)に対し，Dropout などの学習性能を向上させる仕組みを取り入れた機械学習手法である 7) ．
本研究では，DNN の中間層の活性化関数としてReLU 関数を使用し，出力層にはソフトマックス関数を使用する．損失関数として交差エントロピー誤差を用いる．ニューラルネットワークの学習は，この損失関数を最小化するような重みを求める最適化問題として扱われる．その最適化手法に勾配降下法が多く用いられ，
本研究では Adam を用いる．学習過程における重みの更新としてミニバッチ学習を用いる．また，Dropoutを適用する．

本研究では，複数のガスセンサを用いて，柔軟剤の匂いデータを取得し，機械学習により柔軟剤の匂いの有無を学習する．得られた識別器を人の存在識別に適用し，その性能を検証することを目的とする．

2 節では，本研究で用いる機械学習手法であるサポートベクトルマシンとディープラーニングについて概説する．3 節では，本研究で用いる匂い測定システムの構成について述べる．4 節では，匂いデータの取得について述べる．5, 6 節では，柔軟剤の匂いデータの学習実験を行い，得られた識別器を用いて人の匂いデータの識別実験を行う．

2

サポートベクトルマシン

3

匂い測定システムの構成

本研究で用いたガスセンサモジュールを Fig. 1 に示す．本研究では，匂いデータを測定するためにガスセンサと Arduino マイコンを用いた．1 節で述べたようにガスセンサは特定の匂い物質に強く反応するが，他の匂い物質に対しても少なからず反応する．そこで，文献 3) の匂い識別実験を参考に，そこで使用されている
4 つの半導体ガスセンサ (フィガロ技研社製: TGS2602,TGS2603, TGS2610, TGS2620)8) を採用した．本ガスセンサは抵抗変化型センサであり，モジュール基板 (フィガロ技研社製: SR-D1A) によりガスセンサの出力を 0

機械学習

本研究では，機械学習の手法であるサポートベクト
ルマシンとディープラーニングを用いる．

システム・情報部門学術講演会 2019（2019 年 11 月 23 日–25 日・千葉）

908

SY0008/19/0000-0908 © 2019 SICE

Fig. 1: Gas sensor module

Fig. 2: Experimental setup for getting fragrance data

〜5V の電圧値として出力する．この電圧値をマイコンに搭載された 16 ビット AD コンバータにより一定時間ごとに量子化した後に，シリアル通信を用いてパソコンに送信し，データを取得・蓄積 (ファイル出力) する．

d4

匂いデータの取得

本研究では，人の存在検出の手がかりとして匂いに注目する．人の存在を表す匂いとして，まず体臭が考えられる．人の体臭の要因は汗，皮脂，皮膚に住む常在細菌の 3 つである．時間が経つにつれて汗が皮脂と混ざり合い，それを細菌が分解し匂い物質が発生する．
体臭は体の部位によって異なり，年齢層によっても匂いの種類が変わるため，すべての年齢層の体臭を採取するのは難しい．そこで，人は日常的に服を着ていることに着目する．服には柔軟剤および洗剤の匂いが付着している．そこで，機械学習を用いて柔軟剤の匂いデータを学習データとして学習させ，(服を着た) 人の匂いをテストデータとし，人の存在を識別できるか検証する．

4.1 柔軟剤の匂いデータ (学習データ) の取得
本実験では，4 種類の柔軟剤 (ソフター (花王社製)，ソフラン (ライオン社製)，レノア (P&G 社製)，アロマジェル (P&G 社製)) を使用した．これらの柔軟剤は
4.2 節で述べる被験者が自宅で実際に使用しているものであり，一般的に日本の家庭で使用されているものと考えられる．
洗濯時の柔軟剤と水の比率は，水 45 L に対して柔軟剤 20ml とされている．本実験では，水 2 L に対して柔軟剤 0.9 ml で希釈した柔軟剤 (以降，希釈液とよぶ) および希釈しない柔軟剤 (以降，原液) を用いる．服の代わりに，柔軟剤を染み込ませたコットンを匂いの発生源とし，そこから発生する匂い物質をガスセンサの測定対象とする．コットンに染み込ませる柔軟剤の量は原液・希釈液ともに 20 ml とする．また，柔軟剤を染み込ませたコットンを，Fig. 2 に示すトレイにのせて匂いデータを収集した．本トレイはガスセンサモジュー
ル (Fig. 1) の上方に設置されており，トレイから各センサまでの距離は約 0.03 m である．原液 (4 種類) および希釈液 (4 種類) の匂いデータをそれぞれ，2400 個取得した．本研究では，人が存在する場合と存在しない場合を識別できることを目指す．したがって，上述の柔軟剤が存在しない状態の匂いデータとして，周囲空気の匂いデータを 2400 個取得した．先述したように，これらのデータは学習データとして使用する．
4.2 人の匂いデータ (テストデータ) の取得
本研究は，摂南大学 人を対象とする研究論理審査委員会の承認 (承認番号 2018-045) を得て実施した．研究に参加する被験者には書面と口頭による説明を行い，書909

Fig. 3: Experimental setup for getting human smelldata
面にてインフォームドコンセントを得た後に実験を実施した．また，実験は摂南大学寝屋川キャンパス 1 号
館 4 階進化ロボティックス研究室 (4200mm × 9600mm× 2800mm) で行った．
Fig. 3 に示すように，被験者とガスセンサモジュー
ルとの距離を d ∈ {0.1, 0.5, 1.0} [m] として匂いデータを測定する．被験者数は 20 名とした．なお，うち 4 名
は 4.1 節で述べた柔軟剤を自宅で使用している (1 名につき 1 種類)．測定時間は，各 d に対し 7 分間とした．
人がいない状態のデータは研究室内に誰もいない状態で測定を行う．人がいる状態の匂いデータ (20 名分) および人がいない状態の匂いデータをそれぞれ，3000 個取得した．先述したように，これらのデータはテストデータとして使用する．

5

SVM を用いた識別実験

5.1 計算機実験設定
SVM のソースプログラムではライブラリである sikitlearn9) の svm モジュールを利用している．2 節で説明
した線形 SVM と非線形 SVM について，誤認識されたデータやマージン境界間のデータへのペナルティの大きさを決めるパラメータ C およびラジアル基底関数の急峻さを決めるパラメータ γ について，C ∈ {0.01, 0.1, 1.0},γ ∈ {0.01, 0.1, 1.0} のように変化させた各組合せ (C, γ)を用いて識別実験を行う．
本実験では，4.1 節の原液，希釈液の匂いデータおよび柔軟剤が存在しない状態の匂いデータに関するデータセットを用いる．ここで，それぞれの匂いデータ各2400 個から各 1920 個をランダムに取り出し学習データとする．この学習データを 20 セット用意する．学習データに対する識別率は 20 セットの平均値を算出する．
また，テストデータとして，4.2 節の人がいる状態の匂いデータおよび人がいない状態の匂いデータに関するデータセットを用いる．
5.2 実験結果
実験結果を Table 1-4 に示す．ここで，表中の識別率は (学習データの識別率｜テストデータの識別率) を表し，太字の数字は d に対しテストデータの識別率が最も高い結果を示し，テストデータの識別率が同じ値を示すときは学習データの識別率が最も高い結果を示す．
原液を学習データとした場合の線形 SVM を用いた結果 (Table 1) では C が大きい方が学習データとテストデータの識別率が若干上がる傾向が見られ，希釈液を学習データとした場合 (Table 2) では C が小さい方が学習データの識別率が下がり，テストデータの識別率が上がることを確認した．最もテストデータに対する識別率が高い設定は，原液を学習データとした場合はC = 1.0 のときであり，希釈液を学習データとした場合は C = 0.01 のときであった．
原液を学習データとした場合の非線形 SVM を用いた結果 (Table 3) では，C と γ を変えてもあまり識別率は変わらず，希釈液を学習データとした場合 (Table 4)
では C が小さい方が識別率が上がり，γ が小さい方が識別率が上がることを確認した．最もテストデータに対する識別率が高い設定は，原液を学習データとした
場合は (C, γ) = (1.0, 1.00) のときであり，希釈液を学習データとした場合は (C, γ) = (0.01, 0.10) のときであった．また，最良の結果で比較すると，柔軟剤の原液を用いて学習した識別器のテストデータに対する識別率は 50〜57%であるのに対し，希釈液を用いた場合のテストデータに対する識別率は 87〜99%という結果が得られた．このことから柔軟剤を希釈することによりテストデータに対する識別率が向上することがわかる．その理由として，人が着ている服は洗濯時に原液の柔軟剤ではなく，希釈した柔軟剤を使用しているからだと考える．
テストデータに対する識別率はセンサから距離が離れるにつれて下がるが，希釈液を用いた場合では最遠距離である d = 1.0 でもすべての設定で 90%近くの識別率が得られている．たとえば，非線形 SVM を用いた(C, γ) = (0.01, 0.10) の場合では，d = 1.0 であっても，97.25%の非常に高い識別率を示している．d = 1.0 のときに最も高い識別率を示したパラメータを用いたときの結果を比較したグラフを Fig. 4 に示す．希釈液を学習データとした非線形 SVM が最も良い性能を示す．

6DNN を用いた識別実験

6.1

計算機実験設定

DNN のソースプログラムではライブラリであるkeras10) とバックエンドである TensorFlow11) をそれぞれ利用している．
5 節における SVM を用いた識別実験で希釈した柔軟剤を学習データとして用いた方が，テストデータの識別率が向上することがわかった．この傾向は DNN でも変わらないであろうという仮定のもと，本実験では，4.1 節の希釈液の匂いデータおよび柔軟剤が存在しない状態の匂いデータに関するデータセットを用いる．ここで，希釈液の匂いデータと何もない状態の匂いデー
タ各 2400 個から各 1920 個をランダムに取り出し学習データとする．この学習データを 20 セット用意する．
学習データを全て使って学習し終えたときを 1 エポッ
クとし，60 エポック繰り返す．学習データに対する識別率は 20 セットの平均値を算出する．5 節と同様にテストデータとして，4.2 節の人がいる状態の匂いデー
タおよび人がいない状態の匂いデータに関するデータセットを用いる．また，パラメータについて，次のように変化させた各組合せを用いて識別実験を行う．ノー910

ド数: N ∈ {8, 16, 32}，中間層数: Nh ∈ {2, 3}，バッチ
サイズ: BS ∈ {32, 128}，Dropout: 20%．

6.2 実験結果
実験結果を Table 5 に示す．学習データに対する識別率はすべてのパラメータセットに対して 100%となった．テストデータに対する識別率は 82〜97%という結果が得られた．N が大きくなるにつれて，テストデータに対する識別率が上がる傾向にあることがわかった．
Nh , BS に関して顕著な傾向は見られない．多くの設定でセンサから距離が離れるにつれて識別率が下がる結果が得られている．
d = 1.0 の と き に 最 も 高 い 識 別 率 を 示 し た((N, Nh , BS) = (32, 3, 128)) のときの結果を線形SVM(C = 0.01)，非線形 SVM((C, γ) = (0.01, 0.1))と比較すると，DNN のテストデータに対する識別率はわずかに劣っていることがわかる (Fig. 5)．

7

おわりに

本研究では，機械学習手法であるサポートベクトルマ
シンとディープラーニングを用いて柔軟剤の匂いデータを学習データとして学習させ，服を着た人の匂いをテストデータとし，人の存在を識別できるか検証することを目的に実験を行った．本実験において最も高い識別率を示した非線形サポートベクトルマシンでは，ガスセンサと人の距離を 1.0 m まで離しても約 97%の識別率が得られ，柔軟剤の匂いをもとに人の識別が可能であることを確認した．また，被験者 20 名中，自宅で使用している柔軟剤を実験に提供した者は 4 名，提供しなかった者は 16 名であり，そこで高い識別率が得られたことから，柔軟剤の提供者以外の人でも識別可能であることを確認した．つまり，一般的に販売され広く使用されている柔軟剤を希釈して得られる匂いデー
タを学習データとして使用し機械学習で識別学習することで，人の存在有無を識別できるようになる可能性を示したと考えられる．
今後の展望として，ガスセンサから 1.0 m 以上離れた場合でも識別が可能か検証する．また，本実験では室内で実験を行ったため，風などの外乱の影響は受けにくかった．窓やドアを開けた状態での室内や廊下でも識別が可能か検証していきたい．

参考文献
1) https://www.gov-online.go.jp/cam/s5/2) 潮，小林：「サイバーフィジカルシステム」特集号を企画して，計測と制御，53-12，1075/1075（2014）3) 酒井，峰本，磯川，松井：ニューラルネットワークを用いた臭い識別システム，計測自動制御学会 システム情報部門学術講演会 2016 講演論文集，283/286（2016）4) 福山，松井，大松：深層学習を用いたニオイの特徴量抽
出と識別，第 62 回システム制御情報学会研究発表講演
会講演論文集，62（2018）5) N. Cristianini, J. Shawe-Taylor：サポートベクターマ
シン入門，共立出版（2005）
6) 斉藤：ゼロから作る Deep Learning，オライリー・ジャパン（2017）7) 金丸：Raspberry Pi ではじめる機械学習，講談社（2018）8) https://www.figaro.co.jp/
9) https://scikit-learn.org/
10) https://keras.io/ja/
11) https://www.tensorflow.org/

Table 1: Recognition rate [%] for linear SVM based on stock solution
d0.10.51.0

C = 0.01
99.84 | 50.00
99.84 | 50.00
99.84 | 50.00

C = 0.1
99.98 | 50.23
99.98 | 50.00
99.98 | 50.00

C = 1.0
100.0 | 52.96
100.0 | 50.13
100.0 | 50.00

Table 2: Recognition rate [%] for linear SVM based on dilute solution
d0.1
0.5
1.0

C = 0.01
99.18 | 99.91
99.18 | 96.63
99.18 | 95.23

C = 0.1
100.0 | 96.48
100.0 | 92.20
100.0 | 89.55

C = 1.0
100.0 | 91.16
100.0 | 91.91
100.0 | 87.23

Table 3: Recognition rate [%] for non-linear SVM based on stock solution
γ0.010.10

1.00

d0.1
0.5
1.0
0.1
0.5
1.0
0.1
0.5
1.0

C = 0.01
98.94 | 50.00
98.94 | 50.00
98.94 | 50.00
99.58 | 50.00
99.58 | 50.00
99.58 | 50.00
100.0 | 50.00
99.91 | 50.00
99.95 | 50.00

C = 0.1
99.58 | 50.00
99.56 | 50.00
99.58 | 50.00
99.91 | 50.00
99.91 | 50.00
99.91 | 50.00
99.98 | 50.63
99.98 | 50.00
99.58 | 50.00

C = 1.0
99.91 | 50.00
99.91 | 50.00
99.91 | 50.00
100.0 | 50.65
99.98 | 50.00
100.0 | 50.00
100.0 | 57.78
100.0 | 52.50
100.0 | 51.15

Table 4: Recognition rate [%] for non-linear SVM based on dilute solution
γ0.01

0.10

1.00

d0.1
0.5
1.0
0.1
0.5
1.0
0.1
0.5
1.0

C = 0.01
99.54 | 99.73
99.75 | 97.23
96.54 | 97.23
99.54 | 99.75
100.0 | 97.25
96.54 | 97.25
99.75 | 98.90
100.0 | 94.85
99.75 | 94.85

C = 0.1
96.54 | 99.70
96.54 | 97.23
96.54 | 97.23
99.75 | 98.90
99.75 | 94.85
99.75 | 94.85
100.0 | 96.05
100.0 | 94.03
100.0 | 88.13

C = 1.099.75 | 98.90
99.75 | 94.85
99.75 | 94.85
100.0 | 96.95
100.0 | 94.68
100.0 | 88.73
100.0 | 91.53
100.0 | 91.61
100.0 | 87.63

Table 5: Recognition rate [%] for DNN based on dilute solution
BS32

128

d0.1
0.5
1.0
0.1
0.5
1.0

N =8Nh = 2
Nh = 3
100 | 95.77 100 | 97.40
100 | 92.45 100 | 92.38
100 | 82.27 100 | 92.81
100 | 96.39 100 | 85.65
100 | 93.63 100 | 93.75
100 | 90.61 100 | 83.65

N = 16
Nh = 2
Nh = 3100 | 95.08 100 | 97.55
100 | 92.15 100 | 94.55
100 | 92.88 100 | 92.51
100 | 97.52 100 | 95.84
100 | 94.43 100 | 93.17
100 | 92.45 100 | 91.45

911

N = 32
Nh = 2
Nh = 3
100 | 96.34 100 | 97.42
100 | 94.32 100 | 92.77
100 | 93.79 100 | 93.81
100 | 97.31 100 | 96.75
100 | 92.75 100 | 94.22
100 | 93.94 100 | 94.58

100

Recognition rate [%]

8060

40

200
0.1

0.5

1.0

d [m]
linear SVM (C=1.0) on stock solution
linear SVM (C=0.01) on dilute solution
nonlinear SVM (C=1.0, γ=1.0) on stock solution
nonlinear SVM (C=0.01, γ=0.1) on dilute solution

Fig. 4: Recognition rates for SVMs with the best performance parameter

Recognition rate [%]10090800.1

0.51.0d [m]linear SVM (C=0.01) on dilute solution
nonlinear SVM (C=0.01, γ=0.1) on dilute solution
DNN (N=32, Nh=3, BS=128) on dilute solution

Fig. 5: Recognition rates for SVMs and DNN with the best performance parameter

912