人流カウントをAIカメラで自動化|数え方の定義でズレる理由

PR・アフィリエイトについて
当サイトはアフィリエイトプログラムを利用しており、紹介リンク経由での申込により報酬を得る場合があります。記事内で紹介するサービスには筆者が実際に使用しているものと、客観情報として比較掲載しているもの(未使用・PR表記あり)が含まれます。
「この通り、1日に何人通ってるんですか」
補助金の申請でも、出店の判断でも、イベントの効果検証でも、必ず聞かれます。そして多くの現場では、人が立って数えています。手元のカウンターを押しながら、2時間。
これはAIカメラで自動化できます。実際に自作して屋外に設置し、実機2台を動かしています。ただし、最初に返ってくる数字はまず合いません。
結論
現場計測の精度を決めるのは、AIの認識性能ではなく「何を1人と数えるか」の定義です。カメラも推論も同じまま、定義を変えるだけで数字は倍近く動きます。ここを決めずに導入すると、「なんか多い気がする」で終わって誰も見なくなります。
この記事は、ツールの紹介ではなく運用で詰まった場所の記録です。同じことをやろうとしている人が、同じ罠を踏まないために書いています。
何を作ったか(構成と保存するもの)#
小型のコンピュータ(手のひらサイズ)にAI処理用の拡張ボードとUSBカメラを付けて、屋外に置いています。ネット上のAIサービスには送らず、その場で処理して数字だけを残す構成です。
| 項目 | 内容 |
|---|---|
| 処理する場所 | 現地の機材の中(クラウドに映像を送らない) |
| 保存するもの | 通過の記録(時刻・向き・推定の性別/年代区分)のみ |
| 保存しないもの | 映像・顔画像(処理したら破棄) |
| 1件あたりのデータ量 | 約87バイト |
映像を保存しない構成にしているのは、プライバシーの観点と、そもそも保存する必要が無いからです。欲しいのは「何人通ったか」であって、誰が通ったかではありません。
補足(正直に書きます)
精度の突き合わせをする期間だけは、答え合わせ用に短い映像を機材の中に一時保存します。目視の正解と比べたら消す運用で、外部には出しません。「一切保存しない」と「検証もできない」は両立しないので、期間と範囲を決めて例外にしています。
カメラ画像を業務に使う場合は、経済産業省などが出している「カメラ画像利活用ガイドブック」に沿った掲示や運用の整理が必要です。設置の前に一度目を通しておくことを強くおすすめします。カメラを公道側に向ける場合は通行人が映り込むため、「カメラ設置中」の告知板を掲示し、映像を目的外に使わないことが実務上の対応になります。
機材の内訳は、小型コンピュータ本体・AI処理用の拡張ボード・USBカメラ・microSDカード・屋外用の防水ケースが主な構成要素です。防水ケースは市販の防滴ボックスや100均のクリアケースを流用しても十分機能します。全体で1台あたり数万円台(構成や為替で変わる)というのは、この内訳の合計です。
詰まり1:「範囲で数える」をやめた#
最初は素直に、画面の中に「この四角の中に入った人を数える」という範囲を設定していました。直感的です。そして合いませんでした。
理由は、道路の向こう側を歩いている人まで範囲に入るからです。手前の歩道を歩く人と、向かい側の歩道を歩く人が、画面上では同じ高さに並びます。範囲を狭めると今度は手前の人が漏れます。
変えた基準がこれです。
画面上の人の大きさで数える。 遠い人は小さく写るので、大きさが距離の代わりになります。実測すると、こちら側の歩道の人は枠の高さが70px以上、道路の向こう側の人は26〜46pxにしかならず、きれいに分かれました。
つまみは結局この3つに落ち着いています。
| 設定 | 値 | 何を弾くか |
|---|---|---|
| 枠の高さの下限 | 70px | 道路の向こう側の通行人 |
| 追跡できた枚数の下限 | 20枚(約0.67秒) | 一瞬だけ出る誤検出 |
| 移動距離の下限 | 60px | 看板・のぼり旗(動かないので分かる) |
3つ目が地味に効きます。風で揺れるのぼり旗を人と誤検出することがあるのですが、「出現位置からほとんど動いていない」という一点で人と分けられます。人は必ず移動します。
詰まり2:同じ人を2回数える/2人を1人にする#
人物検出は、同じ人に対して枠を2つ出すことがあります。これを1つにまとめる処理が要るのですが、まとめ方の判定基準で2回失敗しました。
| 判定方法 | 何が起きたか |
|---|---|
| 枠の重なり率(一般的なIoU) | 遠くの小さい人の二重枠がすり抜ける(重なり率が低く出る) |
| 枠の中心どうしの距離 | 手前で並んで歩く2人組が1人にまとめられる |
| 小さいほうの枠の何割が重なっているか | 両方とも解消(しきい値 0.38) |
採用したのは3番目です。「大きい枠の中に小さい枠がほぼ収まっているなら同じ人」という考え方で、遠近の差に強くなります。
ただし副作用があります。 人の後ろに半分以上隠れた人は、1人として数えられます。枠の形だけで判定している以上、これは両立しません。水増ししない側に倒す判断をしました。
現場の数字は、多めに出るより少なめに出るほうが安全です。「AIが数えたら人手より多かった」は、それだけで信用を失います。
詰まり3:線の向きと、点を打つ順番#
通過をカウントするには、画面に線を引いて「またいだら1」と数えます。ここに2つ罠があります。
1つめ。横線は、手前と奥に歩く人しか数えません。 左右に歩く人は横線をまたぎません(縦線なら逆)。当たり前のようですが、設置する前に決めようとすると必ず間違えます。実際の通行を見てから決めるのが正解です。
2つめ。線を引く点の順番で、向きの意味が反転します。 どちら側にいるかを座標の計算で判定しているため、線の向きを逆にすると「右向き」の設定が実際には左向きになります。設定を編集したら、必ず1回検算する。これは見た目では絶対に気づけない種類のバグです。
実際に止まった日の話#
2026年8月13日、通過カウントが突然ゼロになりました。機材は動いていて、人は検出できています。通過だけが数えられない。
原因は、新しく設置された広告幕が、横線の上側を覆ってしまったことでした。人は線をまたぐ前に幕の裏に消えるので、「またいだ」が成立しません。
対処は、線を縦向きに引き直すことでした。幕に覆われていない位置に縦線を置けば、左右に歩く人を数えられます。
教訓
現場に置いた機械は、現場の都合で壊れます。コードのバグではなく、看板が増えた・車が停まった・木が茂った。だから「数字が急に変わったら気づく」仕組みのほうが、精度そのものより大事です。
いまはその広告幕自体を監視対象にしています。画面の一部分だけを見て揺れの速さ(px/秒)と往復の回数を測り、強風で危険な揺れ方をしたら通知が飛びます。平常時の実測は揺れ2〜3px/秒・往復0.6〜1.0回/秒だったので、注意6.0・警戒12.0px/秒を目安にしています。往復していることを条件にすると、人の通過や照明の変化では鳴りません。
詰まり4:答え合わせの映像は、秒数が実時間と合わない#
精度を確認するには、映像を見ながら人が数えた「正解」と突き合わせます。ここで数時間溶かしました。
録画した映像の秒数と、記録に残っている時刻が一致しません。
原因は単純で、本番の処理は毎秒29〜30コマで動いているのに、録画は毎秒25コマ想定で書き出していたためです。コマが落ちるぶん、映像の中の時間が実時間より縮んでいました。
この係数を掛けて初めて、記録側のログと一致しました。答え合わせの土台がズレていると、精度の議論そのものが成立しません。
正解の数え方も先に決める#
もう1つ。目視で数える側のルールも決めておく必要があります。
こちらでは「線を横切った人だけを数える」と定義しました。画面の奥(横断歩道側)を歩く人は線の左側にいて一度も横切らないので、正解に含めません。ここを変えると誤差率がまったく別の数字になります。
「精度95%」という言葉には、必ず数え方の定義がくっついています。 定義を書かずに精度だけ出す資料は、実質的に何も言っていません。
詰まり5:ソフトの土台が勝手に消える#
現場に置く機械で一番怖いのは、コードと関係ないところで動かなくなることです。実際に2件ありました。
1件目。本体のシステム更新をして再起動したら、AI処理ボードのドライバが消えていました。厄介なのは、ハードウェアの一覧にはボードが見えていることです。「認識はしている、でも使えない」ので、原因の見当がつきません。対処は、システム更新のたびにドライバを自動で作り直す仕組みに登録することでした。
2件目。使っていたAI処理のフレームワークの提供元が、事業を停止しました。数か月後にサービスが終了するというアナウンスが出て、乗り換えが必須になりました。結果的には、より低レイヤの方式へ移して処理速度が約2倍になったので悪い話ではなかったのですが、選定時点では予測できないリスクです。
現場設置の自動化を検討するなら、「これが止まったら誰がいつ気づくか」を先に決めておいてください。無人で動くものは、無人のまま静かに止まります。
詰まり6:屋外特有の物理トラブル#
コードとは関係ない、設置場所そのものが原因のトラブルもよく起きます。
- 日が傾いて逆光になる時間帯に検知精度が大きく落ちる
- 雨の日に水滴がレンズに付着し、映像がぼやける
- 通行人が傘や大きな荷物を持つと人として認識されにくくなる
対処として効いたのはカメラ角度の見直しです。入口の真上30〜45度から見下ろす角度に変えると、看板や荷物による遮蔽の影響がかなり減ります。横から撮るより上から撮るほうが遮蔽に強くなります。逆光には自作のフードを差し込み、レンズには透明なクリアケースを貼って水滴対策をしています(完全防水ではないため、大雨のときは別途確認が要ります)。
データのバックアップも忘れずに設計しておくべき部分です。機材のローカルにだけ記録を残していると、機器トラブルで全データを失うリスクがあります。通過記録のCSVはクラウドストレージへ自動同期し、集計・グラフ化はスプレッドシートのピボット機能で対応する運用にしています。
費用と、向いている用途#
機材は、小型コンピュータ+AI処理ボード+カメラ+電源・ケース類で1台あたり数万円台です(構成や為替で変わるので、購入前に必ず現在の価格を確認してください)。人を立てて数えるコストと比べると、数日〜数週間で回収できる水準です。
そのうえで、向き不向きははっきりしています。
| 向いている | 向いていない |
|---|---|
| 同じ場所を継続的に数え続ける | 1回だけの調査(人を雇うほうが速い) |
| 時間帯別・曜日別の傾向が欲しい | 誰が来たかの特定が要る(別の話・要配慮) |
| 人手で数え続けるのが現実的でない期間 | 数センチ単位の正確さが要る用途 |
| 数字を毎日ダッシュボードで見たい | 設置場所の電源・ネットが確保できない |
いちばん効くのは「継続して数え続ける」用途です。1日だけなら人が数えたほうが速いし正確です。1か月・1年と続ける前提になった瞬間に、自動化の価値が跳ね上がります。
FAQ#
市販の人数カウンターを買うのでは駄目ですか?#
用途が合うなら、市販品のほうが早いです。自作した理由は、数え方を自分で変えたかったからです。この記事に書いたつまみ(枠の大きさ・追跡枚数・移動距離)は、現場ごとに違う値になります。市販品でこれを触れるかどうかは、購入前に確認してください。
顔や個人を特定していませんか?#
していません。保存しているのは通過の記録と、性別・年代区分の推定値だけで、映像も顔画像も残しません。ただし性別・年代の推定は「推定」なので、個人単位で正しいことを前提にした使い方(特定の人を追う等)には使えませんし、使うべきでもありません。集計として傾向を見る用途に限定しています。
精度はどのくらいですか?#
数え方の定義を決めずにこの質問に答えるのは不誠実です。 「線を横切った人だけを数える」と定義したうえで、目視の正解と突き合わせて調整を続けている段階です。同じ機械でも、範囲で数えるか大きさで数えるかで数字は大きく変わります。導入を検討する際は、ベンダーの提示する精度が「どう数えたときの精度か」を必ず聞いてください。
非エンジニアでも作れますか?#
正直に言うと、この構成は組み立ての知識が要ります。ただしAIに手順を出させながら進めるなら、想像よりは近いです。実際、詰まった箇所の大半はプログラミングではなく、現場の物理(幕が覆う・電源が弱い・線の向き)でした。技術より現場を見る力のほうが要ります。
小型コンピュータの機種にこだわる必要はありますか?#
処理速度が足りて拡張ボードが載せられるなら、機種そのものへのこだわりは薄いです。入手性や国内の情報量を優先するか、より高い処理速度を優先するかはトレードオフで、混雑した環境での検知精度を安定させたい場合は処理性能の高い構成を検討する価値があります。
カメラ設置の法律面は何を確認すればいいですか?#
公道側にカメラを向ける場合、通行人が映り込みます。個人情報保護法の観点から、カメラを設置していることの掲示と、映像データを目的外利用しないことが求められます。告知板を掲示するのが現実的な対応で、判断に迷う場合は自治体の相談窓口や弁護士に確認することをおすすめします。
まとめ#
- 現場計測の精度を決めるのは認識性能ではなく「何を1人と数えるか」の定義
- 数える範囲ではなく画面上の人の大きさで切ると、手前と向かい側が分かれる(実測 70px と 26〜46px)
- 重複した枠は小さいほうの何割が重なっているかで判定する。水増ししない側に倒す
- 線は実際の通行を見てから向きを決める。点の順番で意味が反転するので必ず検算する
- 現場の機械は現場の都合で壊れる(看板・電源・更新)。止まったら気づく仕組みが精度より先
- 答え合わせの映像は秒数が実時間とズレる。土台がズレていると精度の議論が成立しない
- 「精度○%」には必ず数え方の定義が付く。定義の無い精度は情報がゼロ
現場をAIで数えるのは、技術の話に見えて定義と運用の話です。逆に言えば、そこさえ決めれば、あとは毎日勝手に数字が溜まっていきます。
他の自動化をどう組み合わせているかは個人で回している自動化20件の全体像にまとめています。