NTTドコモR&Dの技術ブログです。

ドコモR&DでAI技術の商用化を目指してアイデア出しから、論文投稿、実証実験までを実施した話

NTTドコモのクロステック開発部に所属する勝見と申します。 アドベントカレンダーの記事の13日目を担当させていただきます。

はじめに

ようやくコロナ禍も落ち着き、海外旅行に行かれる方も徐々に増えつつありますが、下記の2枚のスポット画像はそれぞれ、どの国のスポットを撮影したものか分かりますでしょうか?

フリがあからさまなのでバレバレかもしれませんが、これらは両者とも日本国内のスポットを撮影した画像です。

さらに、これらは私が2021年8月2日~2022年1月31日の期間で実施したディープラーニングを用いた実証実験 「四国で出会える世界の有名スポットコンテスト」 によって応募者の方から投稿された、四国内に実在するスポットでもあります。それぞれ、アンテロープキャニオン(アメリカ)とマッターホルン(スイス・イタリア)に見た目がよく似ています。

本アドベントカレンダー13日目の記事では、私がドコモで経験した、技術アイデアを0から形にして大規模な実証実験の実施に至るまでの体験を、その過程で学んだことなどを交えながら記事にさせていただきます。 また、読者層として弊社での業務などに興味を持たれている学生さんなども想定されるので、そういった方にも役立つ記事になれば大変幸いです。

技術概要

最初に、以降の説明のため今回実証実験を行った技術の概要を紹介させていただきます。

実は既に、詳細な技術的内容については、弊社のテクニカルジャーナル過去のQiitaアドベントカレンダーにも掲載しているため、詳細については割愛させていただきますが、本記事で取り上げる「四国で出会える世界の有名スポットコンテスト」は、Web上などから収集した大量の日本各地のスポット画像と海外などの有名スポット画像の類似度を算出することで、有名スポットに類似した「ジェネリック観光地(generic POI)」をマイニングするという私のアイデア、実装にもとづいて実施しました。 ちなみに、「ジェネリック観光地」というのは、「ジェネリック医薬品」と「観光地」を組み合わせた造語です。

上記の概要図のように、技術的には非常に単純ではありますが、地方創生に悩む地域などから有名スポットに類似したスポットをAI技術を用いて発掘することができれば、話題づくりやブランディングができ、それにより観光客の誘致などに効果があると考えられます。 例えば、最近だと食品などでも「AIが考えた味」のような枕詞のついた商品などが話題性からヒットするといった事例がありますが、それを観光産業に置き換えたようなブランディングをイメージしています。

また、既存の観光関連のシステムとして主流のスポット推薦システムは、既にある程度観光地として認知されたスポットが候補地になり、それらの中からユーザに最適なスポットを推薦するようなアプローチですが、提案するアプローチはこうしたものと異なり、スポット画像さえあれば全く新たに観光スポットを「創り出す」事もできるため、そもそも観光地になりうるようなスポットが全く存在せず観光客を誘致できずに困っておられるような地域に観光客を呼び込む、といった効果も期待できると考えています。

本記事では、上記のような提案手法、アイデアをベースにした実証実験実施までの過程や実証実験の結果をご紹介させていただきます。

「X-lab」での研究ブレスト

NTTドコモのクロステック開発部は、ドコモのR&D部門の組織の一つで、主にデータ分析技術や機械学習手法などを活用した既存サービスの改善やマーケティングの実施、事業化のネタになる技術の研究開発などを行っています。 さらに、クロステック開発部の中でもゼロベースで技術アイデアを形にすることに興味を持った有志で集まり、定期的に研究に関するブレストや議論、勉強会などを実施するためのグループとして「X-lab」という集まりを開催しています。 上述のテーマはこのX-labでの取り組みとして、雑談レベルでのテーマのブレスト→既存技術のサーベイ→基礎分析のループを繰り返してディスカッションを行って選定したものでした。

ちなみに、このX-labという取り組みはトップカンファレンスに何本も論文を通したり、KDDCUPで入賞などもされている先輩社員方が立ち上げられたもので、最初は数人の小さな集まりでしたが、数年でメンバーも増えて成果も出始め、正式なドコモR&D公認の取り組みにまで大きくなりました。 本アドベントカレンダーの11日目の「ドコモでUIST2022に論文投稿し会議発表してきた話」の記事も同じX-labでの取り組みをご紹介したものなので、気になった方はそちらも是非ご覧いただけますと嬉しいです!

このフェーズでは、今思い返してみても様々なことを学びましたが、特に、アイデア出しの量アイデア出しから簡単な実装と可能性の判断の繰り返しのスピードの重要性を学びました。実際にここでは多くの分析ネタがお蔵入りになり、最終的に残ったのが冒頭のアイデアでした。具体的なところでは、日頃からアイデアの「ネタ帳」をちゃんと作ること、実装は自身のアイデアの主張に必要な最低限の箇所だけを実装して無駄な実装をしないこと等、当たり前のことかもしれませんが、非常に苦労しました。

実装と対外発信

前段のテーマ検討のフェーズである程度勝算のあるテーマを見つけた段階で、次に本格的な実装と論文執筆に取り掛かりました。

私のケースでは、アイデアの有用性から検証する必要があったので、ポスター論文の投稿を目標に設定しましたが、論文執筆に際しても様々なことを学びました。 特に、技術アイデアの主張(=私の場合は「スポットの見た目が類似しているという新しい視点で新たな観光スポットをマイニングすることができる」)に直結するような評価指標を吟味すること、また、その評価指標に直結する実装以外には時間を掛けない、といった点が重要でした。 極端な例を出すと、技術アイデアの主張は精度であるにも関わらず、気づけば(楽しくなって手が動いてしまい)実装を工夫して計算速度の向上に時間を費やしてしまうとか、そういったパターンに陥りがちでした。 また、後から振り返ると、こうしたポイントは論文執筆だけでなく、この論文の評価指標をそのままKPIなどに置き換えると、実際のビジネス的な部分でも役に立つ内容だったように感じます。

また、投稿したポスター論文が採択されたあとには、宣伝的な意味も含めて、冒頭でご紹介させていただいたようにQiitaのアドベントカレンダーなどでアイデアを紹介させていただきました。 これは「せっかくやったんだから、何かしらひと目について欲しい」という下心的なモチベーションもありましたが、発信することで自分が気づきもしなかった様々なユースケースに触れる可能性が高くなるかもしれないというモチベーションがありました。 実際に、Qiitaの記事を書いた後に日経新聞やNHKの朝のニュースのコーナーやネット番組に出演させていただいたり、その他TVのバラエティー番組で取り上げていただいたりと、貴重な経験をさせていただくことができ、これも後から振り返ると非常に大切なアクションだったと実感しました。

実証実験開始の準備

そして、上記のような発信の二次的反響や様々なご縁から、四国を拠点とされている観光団体である四国ツーリズム創造機構様と共同での実証実験(キャンペーン)の検討を開始しました。実証実験の実施の判断にあたっては、技術的な可能性や双方のメリットなどを議論して判断し、最終的にWebサイト上での画像投稿キャンペーンとして実証実験を実施することを決定しました。 また、このフェーズからは四国を拠点にするドコモ四国支社の手厚いサポートを頂き、R&D発の小さな技術アイデアに対しても、実証実験や導入のサポートをしてくれるお客様に近いチームもサポートがあることもドコモのR&Dの恵まれた点だと感じました。

また、実証実験開始が決定したあとは、プレスリリースや、四国ツーリズム創造機構様の会見での技術説明なども実施しました。

特に、技術的な実装やロジックの詳細をリリースや会見説明などに盛り込んでも伝わりづらいため、できるだけ噛み砕きつつ、本質的な部分は誤解なく伝えられるような表現を心がけました。 例えば、記者の方や実証実験に参加していただく方々には、普段自分たちの周囲のメンバーのように畳み込みニューラルネットワークといった単語は伝わりづらいことが多いですが、キャンペーンの趣旨をご理解いただくには、それらが何を処理して何を出力するものなのかは明確にご説明する必要があります。ディープラーニング系のモデルなどは、ブラックボックス的に扱ってしまっていたり、そもそもどのような特徴量が重要視されているかが正確には未解明な部分もありますが、そのような部分をできるだけ曖昧にしないながらも本質が伝わるように気を遣いました。

また、キャンペーンのルール設計についても議論を重ねました。 キャンペーンはWebサイト上への応募者から写真を投稿していただく形式で、ご自身で撮影された四国のスポット画像とそれに類似していると感じる海外の有名スポット画像(もしくはスポット名)を投稿していただく形式で実施しました。 ただし、モデルによって算出するスコアは最終的な結果発表の順位や、さらには、上位入賞作品への商品贈呈なども予定していたため、慎重に議論させていただきました。 例えば、「四国の瀬戸内海の海を一面に撮影した画像」と有名スポット画像として「地中海の海を一面に撮影した画像」の両方を投稿された場合、提案手法では高い類似度が算出されてしまうという懸念などが挙がりました。 こうした「ハック」を防ぐため、今回のキャンペーンでは類似度の算出スコアに加えて、観光分野に関するプロフェッショナルである四国ツーリズム創造機構様の審査員が「新たな観光地になりえるか?」などの判断も得点化も合算し、これらを加えた最終得点をランキングに利用することとしました。

実証実験の結果

上記のような準備期間を経て、実証実験として2021年8月2日~2022年1月31日の期間で画像投稿キャンペーンを実施しました。 結果としては想像以上に多くの投稿をいただくことができ、有名スポットに類似しているという観点で新たな観光スポットを発掘するというアイデアが観光客誘致などに有用である(可能性が高い)ことや、提案手法によって高い類似度が算出されるスポットがこうした新たな観光地になり得ることなどを確認することができました。また、今後の改善方針なども確認することができました。

下記に結果の一部を抜粋して掲載させていただきます。

なお、版権の都合上ここに掲載することのできない画像は、同じスポットの同様の画像で差し替えています。その他の実際に抽出されたスポットなども掲載されていますので、四国ツーリズム創造機構様の実証実験結果発表ページもご覧いただけると幸いです。 また、気になった方は是非実際に足を運んでみて、感想を教えてください。 (個人的には徳島県の「ひの字渓谷」の絶景がお気に入りです!)

考察

さらに、今回の実証実験の入賞作品や応募いただいた画像を考察し、提案手法の特徴量選定のロジックの妥当性などを実際の画像から確認することができました。

例えば、実証実験前の段階では、既に知られている「日本のマチュ・ピチュ」(兵庫県の竹田城跡など)の「ジェネリック観光地」のお手本となる事例を参考にし、観光スポットの見た目の類似性は主に

  • スポット画像の意味的特徴が類似している (e.g., 共通の建造物や地形などの風景要素が共通している)
  • スポット画像の形式的特徴が類似している (e.g., 風景要素の形状や構図などの大局的な特徴が共通している)

の2つに起因するものと仮定していました。 そして、これらの両方が満たされるようなスポットのペアに対して高いスコアが算出されるように、特徴量を選定しており、キャンペーンの結果からこれらのロジックが概ね正しいことや、それらを逸脱する例外などを客観的に確認することができました。 ここでは、キャンペーン時に利用した特徴量の組み合わせなどを詳細にご紹介することはできませんが、実際に上位のスポット画像はこれらの両者の特徴が類似したスポット画像のペアがランクインしていました。

例えば、上位に入賞した南アフリカのテーブルマウンテンと香川県の屋島の例はその分かりやすい例で、スポット画像内に写った風景要素が両者ともに共通し、さらにそれらの構図も類似しています。 (画像の版権の関係上、本記事上ではテーブルマウンテンの画像については類似した画像に差し替えて掲載させていただきます。気になった方は是非、もとのサイト上から御覧ください!!)

一方で、惜しくもランキング外となってしまった画像はこれらの一方の観点のみで類似していたスポットのペアが多く含まれていました。 なお、本記事上では、ランク外のスポット画像についてはご紹介できないため、以降では、実験としてFlickr上から収集した250箇所の有名スポットの画像と関東近郊のスポット画像から、上述の特徴量を用いて「ジェネリック観光地」を抽出し、その例を示してご説明させていただきます。 また、Flickr上の画像については、クリエイティブ・コモンズ・ライセンスに従って利用可能範囲が明示されているものに限定して利用し、さらに、関東近郊の画像については、ジオタグ情報から東京都を含む80km四方のメッシュ(1次メッシュコード5239)内で撮影されたものが確認できるものを対象としました。

例えば、上述のうち、意味的特徴の類似性だけを考慮してスコアを算出してしまうと、下記のように、スポット画像内の物体認識の結果は一致しているにも関わらず、「ジェネリック観光地」とは少し言い難いスポット画像ペアに対して高いスコアが出力されてしまいます。 なお、モデルにはPlaces365データセットで学習したResNetを用いて、そこから出力される風景カテゴリのcos類似度をそのまま類似度として用いています。

これは、入力した有名スポット画像に含まれていたTrafalgar Squareの画像と、東京都の迎賓館赤坂離宮の画像の組み合わせです。 確かに、これらは両者ともに噴水が共通して写されており、類似していますが、「日本のマチュピチュ」と竹田城跡のような「見た目が似ている」という観点からはすこし外れてしまいます。 本キャンペーンでは、こうした事例の類似度が高くなってしまうことを回避するため、上述のように形式的な画像の類似性についても考慮するような設計をしていました。

ちなみに、逆に被写体の形状や構図などの大局的な特徴量だけを考慮してスコアを算出してしまうと下記のようなスポットのペアが多くピックアップされてしまいます。

上記の例では、水平線や太陽の位置などの画像の構図などの特徴が類似していますが、被写体の内容物がビル群と荒野とで大きく異なってしまっています。 ここで、特徴量抽出にはGIST descriptorを用いているため、(ざっくりとGIST descriptorを説明すると、画像を多数の領域に分割し、それらの明暗の分布を特徴とする特徴量手法)こうしたの明暗の分布をもとに大局的特徴が類似した画像は似ているとして高いスコアが出力されてしてしまいます。 構図のように画像の形式的特徴は、スポットの見た目の類似性に重要な特徴ですが、画像の意味的特徴量を使わずに画像の類似性を判断してしまうため、人間の想像とは少し異なる視点からの「類似した」画像を抽出していまうことが分かります。 ちなみに、GIST descriptorのような構図特徴量だけを用いて「ジェネリック観光地」を抽出しようとすると、下記のようなケースが含まれてしまうこともあります。

上記は、富士山を遠くから見た画像と、アメリカ(メイン州)にあるMeteor Craterというスポットの組み合わせが類似しているとして抽出されてしまった例です。 確かに、遠目にみると明暗差のあるラインが富士山のラインと類似していて、形式的には類似していると言えるかもしれませんが、もちろんこれも趣旨と異なります。 こうした例を排除するためにも、キャンペーンでは形式的特徴だけで類似度を判断することはせず、前者の意味的特徴とあわせて考慮できるような特徴量設計をしました。

なお、こうした両方の特徴を捉えられるような特徴量として、ResNetが出力する風景カテゴリの尤度をそのまま利用せず、最終結合層への入力を特徴量として利用し、できるだけ風景要素のより上位レベルの特徴を類似度算出に利用することで、構図と物体認識結果の両方が高い特徴量を採用するなどの方法が考えられます。

実際に、Flickr上から収集した関東近郊のスポット画像に上記の方法を適用すると下記のような面白いスポットを発掘することができました。

ちなみに、左が相模原市にある「下九沢分水池」というスポット、右が有名スポットであるイタリアのコロッセオの組み合わせです。 似た例だと、埼玉県の首都圏外郭放水路がエジプトのカルナック神殿に似ているとして話題になっているので、これも大袈裟に言うと「相模原のコロッセオ」と言えるかもしれません。 観光資源としてどうなのか?という点は一旦置いておくとして、ちょっとした地域の話題作りとか、映画やアニメのロケ地とか、写真を撮ったり、等々には面白いかもしれません。(実際に立ち入れるか等は保証できかねますが。)

また、当初のポスター論文投稿の段階から、本取り組みにおいて「ジェネリック観光地」の正解データが存在せず、手法の評価やモデルのチューニングが困難なことが問題でしたが、今回の実証実験を通してこうした正解データを収集することができました。 さらに、ルールの作成時の議論において「瀬戸内海の海を一面に撮影した画像」と「地中海の海を一面に撮影した画像」の両方を投稿された場合のように、新たな観光地のマイニングとして適していない画像への対処が必要なことなどが具体化しました。 前者については、今回収集された正解データを用いたモデルのfine-tuningなど、後者についてはVisual Rankingなどのフィルタリング手法を用いてスポット抽出結果をフィルタリングするなど、様々な改善方針を具体化することができ、大変有用な機会でした。

まとめ

本アドベントカレンダー13日目の記事では、私がドコモで経験した、論文投稿から実証実験の実施に至るまでのプロセスやその過程で学んだことなどを記事にさせていただきました。 こうしてまとめてみると、アイデア出しや実装、論文執筆などのプロセスで様々な研究だけでなく、ビジネスシーンでも役立つ様々なことを学ぶことができたように感じます。 また、こうして一から技術アイデアを形にし、実世界上での実証実験(や、もっと上手く行けば、商用化)までをサポートしてくれるメンバーが大勢いる環境は大変恵まれた環境だと思います。 今回の記事が、同様の取り組み途上の方やドコモへの就職を考えられている学生さん等の参考になれば幸いです。