数千人を瞬時にカウントする画期的な技術
映像解析ソフトウエア
「People Counter」の
開発秘話
スタジアムや商業施設、交通機関……こうした場所にあるネットワークカメラの映像から人々の数を瞬時にカウントできたとしたら、私たちは長い行列や混雑から解放されるかもしれない。画期的な映像解析技術「People Counter」に、開発者たちはどう挑んだのか?
今回の「語る」開発者
佐川 直嗣(サガワ ナオツグ)
- 担当:商品企画
田島 瑞季(タジマ ミズキ)
- 担当:商品企画
舩城 哲広(フナギ テツヒロ)
- 担当:ソフトウエア開発
戸松 史子(トマツ フミコ)
- 担当:ソフトウエア開発
河林 弥志(カワバヤシ ヒサシ)
- 担当:ソフトウエア開発
金田 雄司(カネダ ユウジ)
- 担当:ソフトウエア開発
世界が待っていた
多人数カウント技術の誕生
キヤノンが培ってきた映像解析技術をベースにして生まれたPeople Counter。ネットワークカメラで撮影した映像から、約1,500人※1までの人数をカウントできるソフトウエアである。製品化に向かうきっかけとなったのは、国際的な展示会での大きな反響だった。
- ※1
- フルHD(2メガピクセル)のネットワークカメラで撮影した映像においてカウントできる人数。また、4K静止画では、最大7,000人までの人数をカウントできる。なお、撮影環境や人物の映り具合などにより、カウントできる人数が増減する場合がある。
佐川 直嗣(サガワ ナオツグ)
担当:商品企画
2003年に入社し、ソフトウエアエンジニアとして画像処理技術・画像認識技術を担当、現在は商品企画に従事している。技術者としてのモットーは「優れた技術は優れた評価環境から」。商品企画としてのモットーは「世の中に驚きと笑顔を与える商品が最高の商品」。
何百人もの人間をPeople Counterでリアルタイムにカウントしているデモを見て驚きました。数千人規模の人数をカウントするだけでなく、人がどちらの方向に向かっているのかも分かるんですね。どういう経緯でPeople Counterは生まれたのでしょうか?
佐川直嗣
街中や駅で、パイプ椅子に座った人が手作業で通行量をカウントしている光景をよく目にすると思います。キヤノンがデジタルカメラの開発で培ってきた顔検出の技術を応用すれば、そうした作業を自動化、効率化できるのではないかということで、要素技術の開発に着手しました。
この当時、人の姿勢やシルエットを認識してカウントする技術は確立していたのでしょうか?
佐川
研究レベルの取り組みは行われていましたが、実用レベルには達していない状況でした。
顔検出技術に関しては、人間の目や口の平均的な位置はだいたい決まっていますから、画像の濃淡情報をもとに顔を検出することはできていたのですが、人体となると見え方がさまざまなため、その手法ではうまくいきません。向き、体格、服装などによって見え方が異なる人体を、どのような特徴を使って画像の中でうまく検出できるのか、試行錯誤を繰り返していきました。
金田 雄司(カネダ ユウジ)
担当:ソフトウエア開発
2002年に入社して以来、一貫して顔・人体画像認識のソフトウエア開発に従事。さまざまな技術に目を向け、それを積極的に取り入れるチャレンジ精神を心がけている。
人体を検出する仕組みはどうなっているのでしょう?
金田雄司
顔や人の検出には、機械学習のアルゴリズム(計算手法)を利用しています。さまざまな特徴を組み合わせて問題解決を行おうというもので、この手法が登場したことによって、デジタルカメラの顔検出機能が世の中でブレークすることになりました。
佐川
画像の中から人を検出するためには、画像に映る人と人以外の被写体を区別するための画像特徴を、機械的に学習する必要があります。例えば頭部や肩のエッジのような人の特徴的な形状が、人と他の被写体を区別する画像特徴として学習されます。精度良く人を検出するためには、この画像特徴が数百から数千個学習され、これらの画像特徴の集合が人を検出するための人モデルとして得られます。
人体を検出する処理では、入力画像に対して「人モデル」の画像特徴と照らし合わせて、頭や肩などである確率のスコアを計算し、スコアを累計することで最終的に人であるか否かの判断を行います。しかし、混雑時などは人と人が重なり、一部が隠れ全身が映っていないため、人であると判断されにくくなってしまいます。そこで、人体の一部が隠れている画像を使って人モデルを用意し、この人モデルと照合した確率のスコアとも組み合わせることで、より精度の高い人体検出を実現しています。
舩城 哲広(フナギ テツヒロ)
担当:ソフトウエア開発
2002年に入社後、ネットワークカメラ向け録画アプリケーションの開発に従事、現在はPeople Counterの製品開発を担当している。モットーは「文章にしろ、和音にしろ、リズムにしろ、美しく、優雅なもの、優れたものはすべて、シンプルである」。
舩城哲広
また、映像の解像度が高い場合や、映像内の人数が増えると人体検出処理にかかる時間が増えるため、ネットワークカメラからの全ての映像をリアルタイムで処理できない場合があります。この課題を解決するために、人体検出処理と追跡処理を並行して行うことでリアルタイムでの処理を実現しました。追跡処理は、検出した人物の動きを予測し、その付近のみに検出処理を行うため、処理する情報が少なくなりリアルタイムで処理できます。またそれだけなく、人の動き情報も得られるようになるので、人の流れる方向やある期間にラインを通過する人数をカウントすることなどもできるようになります。
佐川
2013年ごろになると要素技術は確立してきて、製品開発へとフェーズが移行します。しかし、当時世の中に類似の製品がなかったこともあり、私たちとしても商品仕様や価格設定など、どのように商品化していけばよいのか分からない状況でした。商品化に向けユーザーの声をヒアリングするために、さまざまな展示会に出展しましたが、「この技術はすごいね!」と言ってはいただけるものの、商品化につながるようなフィードバックはなかなか得られませんでした。
転機になったのは、2015年にシンガポールで開催された国際的なセキュリティの展示会「INTERPOL World」です。INTERPOL Worldには、世界各国の捜査機関やセキュリティ部門などの関係者が参加します。この展示会では、課題意識が強く具体的な解決策を早期に望んでいる参加者が多かったこともあり、複数のお客さまからこの技術を試させてほしいという声をいただきました。
どういうお客さまだったのでしょう?
佐川
競技場やパレードなど、大勢の人が集まる場所で人数をカウントし、警備員などスタッフの最適配置に利用したいという要望があるお客さまでした。
当時は日本国内でも実証実験の経験がわずかだったこともあり、本当にうまくいくのか不安はありましたが、お客さまからの強い要望に後押しされて実施することにしました。
実証実験ではどのようなフィードバックがあったのでしょう?
佐川
当初、百人程度をリアルタイムでカウントするような仕様を考えていました。ところがそのお客さまの要望は、リアルタイムでなくても良いので、数千人を一度にカウントしたい、というものでした。
舩城
人ではないモノを人として検出してしまうことを「誤検出」、人を検出できないことを「未検出」というのですが、お客さまからは、誤検出はあってもいいが未検出はできるだけ減らしてほしい、という要望もいただきました。こういうことも、お客さまから言われて初めて分かりました。
佐川
実は私たち以外にも、数社が過去にこのお客さまの実証実験に参加したのですが、いずれも合格基準に達しなかったということでした。約半年間の実証実験の中で、お客さまからのフィードバックに対し何度も改善を行うことで、最終的には合格基準を超えることができ、商品化が実現しました。その結果、お客さまから「ぜひ使いたい」とご要望をいただき、現場でご使用いただいております。
その後の打ち上げでは、半年間のプレッシャーと感動もあり、みんなで涙を流しながら「やったぞ!」とお祝いしました。学生時代の部活動のように、チームで一丸となってソリューション商品を作り上げられたのは、本当によかったと思います。
数千人のCG画像とにらめっこ!?
試行錯誤の製品開発
数百人、数千人を瞬時にカウントできるという前例のない製品だけに、People Counterの開発は試行錯誤の連続だった。その涙ぐましい努力とは?
さまざまな体格や服装の人をきちんと検出する技術を開発するのは、大変だったのではないでしょうか?
佐川
キヤノンとしても初めての試みでしたから、開発や検証のやり方も含めて、みんなで試行錯誤しました。
舩城
撮影する条件によって検出結果が大きく変わってくるんですよ。逆光だと全然ダメだとか、カメラの角度がこれだとダメだとか、床が黒くてうまく検出できなかったりとか。
戸松 史子(トマツ フミコ)
担当:ソフトウエア開発
2005年に入社し、R&D部門を経て、2015年からPeople Counterなどの性能向上検討やCGの作成に携わっている。固定観念にとらわれず幅広い視点をもつことを心がけている。
戸松史子
複数の人が重なると後ろの人が見えなくなってしまうので、設置するネットワークカメラの高さはこれくらい、などさまざまなシチュエーションで撮影しながら、自分たちでノウハウを学んでいきました。近くの人と同じような色の服を着ていると、うまく検出できなかったりということもありましたね。
佐川
日本人以外の人もきちんと認識できるようにしないといけませんから、金髪のカツラや帽子などを購入し、それをかぶって評価を行ったりもしました(笑)。
涙ぐましい努力ですね(笑)。
佐川
社内で数百人の社員や外国人を集めたり、コンビニを貸し切りにして、実験したりもしました。
また、機械学習用にさまざまな角度から見た人の画像が大量に必要になるので、専用撮影装置も開発しました。これは数十台のカメラを配置して、一度に複数の方向からの写真を撮影できるようにしたもので、効率的に大量の画像を取得できるようになりました。
戸松
しかし、社員の皆さんに協力してもらい、何度も一堂に集まる機会は限られるので、評価の方法についても工夫しています。
最初は、7,000人が写っている評価用画像を用意するのが大変でした。あちこちの写真から人の部分を切り抜いて7,000人並べた画像を作ったりして、その見た目に、経緯を知らない周りの方からはびっくりされましたね(笑)。
ある時、CGソフトで作った映像をPeople Counterにかけたところ、ちゃんと検出されることが分かりました。エキストラの人にまったく同じ動きを何度もしてもらうのはなかなか難しいのですが、CGなら同じシチュエーションでカメラや照明の位置を変えたりといったことが簡単に行えます。
佐川
特に海外の実証実験などでは、現場にカメラを設置できないこともあります。そういう場合は、現場の寸法を調べてCGソフト上で環境を再現します。シミュレーションが100%正確というわけではないのですが、だいたいの見え方は分かりますから、そのデータを使ってプログラムのチューニングを行ったりしています。
田島 瑞季(タジマ ミズキ)
担当:商品企画
2013年に入社後、3年間トレーニーとしてカートリッジ部品工場で調達・生産管理・経理を経験。現在は、映像解析ソリューションの商品企画を担当している。「自分の目で見て、自分で確認し、自分の言葉で伝える」ことをモットーとしている。
田島瑞季
実際にお客さまが利用する環境で最適な解析結果が得られるように、開発部門の検証やチューニングを踏まえ、設置するネットワークカメラの高さや角度などのノウハウを、販売会社や現場のエンジニアが活用できるドキュメントとして用意しました。
このような努力を経て、2016年10月に、People Counterを製品として世に出すことができました。
防犯からマーケティングまで
さまざまなビジネスにイノベーションを
People Counterはすでに商業施設などへの導入も始まっている。ラインアップを拡充し、さまざまなシステムと連携することで、今、ビジネスのあり方が大きく変わろうとしている。
河林 弥志(カワバヤシ ヒサシ)
担当:ソフトウエア開発
2015年に入社し、ネットワークカメラの搭載アプリケーション開発に従事した後、People Counter for ACAPの開発に携わる。信条は「常にアンテナを張っていろいろなものに興味をもち吸収すること」「スピードを最重要視し製品化を行うこと」。
People Counterには、どんなラインアップがあるのでしょうか?
河林弥志
「People Counter Library※2」「People Counter for Milestone XProtect※3」「People Counter for ACAP※4」などの映像解析ソフトウエアは、キヤノングループに迎え入れたマイルストーンシステムズ社やアクシス社と連携し、ラインアップを拡充しています。
今回私は、People Counter for ACAPの開発を担当しました。ネットワークカメラ上で動作するACAP版は、PC上で動作するソフトウエアと比較して使えるリソースが少なく、速度向上が課題でした。そこで、人数カウントアルゴリズムと仕様の工夫により、速度向上を実現していきました。
人数カウントアルゴリズムについては、アクシス社や社内のエンジニアと協力し、アクシス社製カメラに最適なチューニングを行い、高速化を実現しました。
仕様については、「キヤノンの動体検出技術を活用した映像内の動きのある部分のみ人数カウントする機能」「人数カウントに必要最低限のエリアと人の大きさ設定」という、お客さまがお使いのシーンごとに速度向上できる機能を追加し、またこれらを簡単に設定できるGUI※5をデザイン部門と作り上げました。このように組織や会社の枠を超えていろいろな方々と試行錯誤しながら製品化できたことは、苦労もありましたが非常に良い経験となりました。
- ※2
- システムインテグレータ向けに、外部システムの機能と連携させるためのAPIを提供。外部システムからPeople Counterを起動し、ライブラリを介して解析結果をリアルタイムに連携することができる。詳しくはこちら。
- ※3
- People Counter をマイルストーンシステムズ社のビデオ管理ソフトウエア「XProtect」のプラグインとして使用できる。詳しくはこちら。
- ※4
- アクシス社製のネットワークカメラ内部で人数をカウントするACAP(Axis Camera Application Platform)アプリケーション。詳しくはこちら。
- ※5
- Graphical User Interfaceの略で、情報の提示に画像や図形を多用し、基礎的な操作の大半を画面上の位置の指示により行うことができるような手法のこと。
People Counterを導入されたお客さまは、どのように活用しているのでしょう?
舩城
人数をカウントするだけというご要望は少なく、カウントしたデータを別のシステムやデータと組み合わせることで、新しい価値を生み出そうとされるお客さまが多いですね。
田島
シンプルな例としては、レジの待ち人数が一定以上になったら、パトランプ点灯やメールでスタッフに通知し、レジスタッフの増員により混雑を解消する、といった活用方法があります。より発展的な使い方としては、エレベーターシステムとPeople Counterを連携させ、各フロアのエレベーターホールの人数をカウントして、待ち人数がより多いフロアへ優先的にエレベーターを止めるという活用事例があります。
佐川
POSシステム※6と連携している例もありますね。ある商業施設では入口にネットワークカメラを設置し、People Counterで利用客をカウントしています。曜日別、時間帯別の人数とPOSのデータを組み合わせることで、顧客の来店傾向と購入金額の相関関係が可視化できます。このデータを活用することにより、「特定の曜日・時間帯を狙って販売促進イベントを行う」といった施策を行い、さらに効果を検証することもできます※7。
田島
People Counterは映像内の人数をカウントする機能だけでなく、映像上に設定した任意のラインを通過した人数をカウントする機能も備えています。
ショッピングセンターなどの大型施設では、出入口ごとの入退店者数を把握することで、施設内の滞在人数を時間帯ごとに見える化したり、通行量の多い出入口を把握することができます。これらの情報をもとにして、警備員やスタッフのシフト計画、さらには効果的なキャンペーンの実施場所や時間の検討にも活用できます。
- ※6
- Point Of Sales systemの略で、店舗で商品を販売するごとに商品の販売情報を記録し、集計結果を在庫管理やマーケティング材料として用いるシステムのこと。
- ※7
- 検証などでお客さまを撮影する際は、カメラ設置付近に利用目的や利用期間などをお客さまに分かりやすいように掲示しています。また撮影映像は保存せず、解析結果のデータ(人数、年齢、性別などの情報)のみ保存するなど、お客さまのプライバシーへの配慮を徹底しています。
ネットワークカメラに映っている人の年齢や性別が分かるソフトウエアもあるのでしょうか?
金田
2017年6月に「Profile Analyzer」という製品を発売しました。これは人物の年齢や性別などの属性を推定するソフトウエアで、私は要素技術の開発を担当しました。
どうやって属性を推定しているのですか?
金田
People Counterと共通のアルゴリズムを使い、顔の検出を行っています。顔を検出したら、顔の特徴点検出という技術で目や鼻といったパーツの位置を特定し、その位置に基づいて抽出した特徴量の統計情報から、年齢層や性別を推定するという仕組みです。キヤノンはこれまでの実証実験などから膨大な画像を収集、蓄積してきましたが、それが今回のProfile Analyzerの開発でも活用できました。
将来的に、People Counterをはじめとした映像解析技術はどういった分野で使われるようになるのでしょうか?
佐川
現在、注力しているのは監視用途やマーケティング分野ですが、今後は医療や介護といった分野にも展開できると考えています。例えば、老人ホームで高齢者が倒れたことを検出して通知することもできるでしょう。
また、解析の対象は人に限りません。農業の分野では、果実の色や形、数を検出して、適切な肥料の量であるとか収穫のタイミングを分析するといったこともできそうですね。
前例のない製品を生み出したカギは
組織を越えたチームワーク
長い開発期間を経て、日の目を見たPeople Counter。製品を完成させたのは、既成概念にとらわれずに、試行錯誤し続けた開発者たちのチームワークだった。
People Counterという前例のない製品の開発は一筋縄ではいかなかったと思いますが、プロジェクトを振り返っていかがでしょう?
佐川
People Counterは、カメラの設置場所や画角などが解析結果に影響を与えます。そのため、お客さまが実際に使用する環境において十分な性能を発揮するために、お客さまに何度もヒアリングを行い、使用環境や使い方などを把握する必要がありました。製品化に向けて実証実験を行ったのが海外のお客さまだったこともあり、海外の販売会社メンバーと毎日のようにコミュニケーションをとったり、英語の資料を短期間で作成したりなどの苦労もありました。
新コンセプトの商品立ち上げならではの経験をして、お客さま視点の商品を作り上げるためのノウハウを多く学べたと思います。また、販売会社のメンバーとの連携も深めることができたので、今後のビジネスに向けて大いに役立つと感じています。
舩城
このPeople Counterは、他のシステムと連携してお客さまの役に立つソフトウエアです。こうしたソフトウエアは私も、そしてキヤノンもあまり手がけてこなかった分野ですが、People Counterの開発に参加したことで、新しいソリューションにどういう切り口で挑めばいいのか見えてきた実感があり、自分でもうれしいですね。
戸松
実をいうと、前の職場ではまったく畑違いなバイオ系の研究をしていたんです。初めて取り組むソフトウエアについて、どうやって評価サンプルを作り、どう評価するか、まったく手探りの状況から始めました。みなさんに助けていただいたおかげで、CGソフトを使った評価の仕組みを作ることができましたが、今後はまた違うアプリケーションもいろいろ出てくるでしょう。そういうアプリケーションを評価するための仕組みをどう開発していくか、考えるのが楽しみです。
河林
People Counterをネットワークカメラ上で動作するアプリケーションに仕上げるにあたり、社内だけでなく、販売会社、アクシス社などの協力が必要不可欠でした。当初、それぞれの価値観や考え方の違いにとまどいもありましたが、自分の視野が広がり、良いものを吸収していくことができました。今後もキヤノングループの多様な価値観や強みを融合させながら連携し、良い製品をつくっていきたいです。
金田
海外のグループ会社と協力して、一緒に新しいアルゴリズムを開発できたのは、刺激的な経験でした。また、私だけ他のメンバーとは違う本部に所属しているのですが、部署間の連携がとてもうまくいったと思います。やはり、組織を超えて連携してこそ、いい製品が生まれると思います。
田島
People Counterに関わるようになってからの毎日は、苦労もありましたが日々とても充実していました。前例がない製品だから、みんな手探りなんですよ。手探り状態の中、みんなで協力して作ったものが商品として市場に出ていき、お客さまに受け入れていただける、この瞬間はとても嬉しいですし、頑張って良かったとやりがいを感じます。
ものづくりの世界は大きな転換点を迎えている。より高性能な製品を、より安くたくさん作る。そういう時代は終わったと言ってもいいだろう。
今求められているのは、これまでにない製品やサービスによって新しい価値を作っていくことであり、そのカギを握るのがソフトウエアだ。
今回紹介したPeople Counterは人の数をカウントすることに特化したソフトウエアだが、用いられている映像解析技術の可能性は極めて大きい。他のソリューションと連携して、人間以外の動物やモノの検出や計測にも使われるようになっていくだろう。
何がどこにどれくらい存在しているのか、どちらの方向に向かって動いているのか。リアルの状況をソフトウエアが把握し、さまざまな情報と結びつくことで、瞬時に最適なリソース配分を割り出してリアルへと指示を出す。
これによって、ビジネスや社会の最適化はさらに加速することが予測される。
例えば、2020年に向けた世界的な大型スポーツイベントでは、世界中からたくさんの人が訪れるだろう。その際に会場で混雑状況を把握し、観客を誘導したり、最適な人数のスタッフや警備員を配置するなど、効率的な会場運営が可能になる。
今、人手不足をはじめとして少子高齢化による弊害がクローズアップされるようになってきた。だが、テクノロジーを活用できれば私たちはまだまだ明るい未来図を描ける People Counterはそんな可能性を感じさせてくれる。
インタビュアー・構成
山路 達也(やまじ たつや)
1970年生まれ。雑誌編集者を経て、フリーのライター/エディターとして独立。IT、科学、環境分野で精力的に取材・執筆活動を行っている。
著書に『アップル、グーグルが神になる日』(共著)、『新しい超伝導入門』、『Googleの72時間』(共著)、『弾言』(共著)など。