コンビニのモデルを開く(登録なしで開けます。シミュレーションを動かすにはProが要ります)。防犯カメラを何台、どこに付ければ、売場の死角が減り、レジや入口がしっかり映るのか。この記事では、模擬のコンビニで、AIがカメラの置き場所を提案させ、台数ごとにどこまで映るかと、昼のピークに客で隠れるとどうなるかを数えました。AIがMCPで呼ぶのと同じ道具を動かしました。以下の数字と図は、すべてその結果です。

1. 何を確かめたか

角地のコンビニ(敷地26 × 24 m、店の建物は20 × 14 m)です。AIは suggest_cameras に次の条件を渡しました。

  • 映すべき場所:売場の区画(通路4本、冷蔵ケース前、弁当・惣菜、雑誌コーナー、イートイン、レジの待ち列)は1倍。レジ2台とそのまわり1 m、自動ドアとそのまわり2 m、ATMの前に立つ場所(0.9 × 1.2 m)は3倍に数えます。
  • 付けられる場所:店の中の壁と柱の、床から2.7 mの高さ(店の外の駐車場・裏の搬入場には付けない)。向きは15°ごと、下向きの傾きは15・30・45・60°を試します。候補の位置は113か所です。
  • カメラ:水平の画角90°・縦60°、25 mまで見える(仮定)。
  • 数え方:床の0.25 mの格子の点ごとに、カメラの視野に入り、間に棚や壁がない(視線が通る)かを確かめます。棚・冷蔵ケース・壁は視線をさえぎり、ガラスの店先は通します。

suggest_cameras は、いちばん多く映る1台から順に足し(貪欲法)、そのあと入れ替えて増えるなら入れ替えます。最適の証明ではありません。

2. 台数と映る割合

台数映すべき場所が映る割合(重み付き)映る面積
1台37%20.3 m²
2台54.7%45.9 m²
3台68.3%61.2 m²
4台76.4%73.8 m²
5台84.3%85.4 m²
6台90.3%88.6 m²
台数ごとの、映すべき場所が映る割合
1台ずつ足したときの、映すべき場所が映る割合(重み付き)
  • 1台目は、店先の上から西(入口・ATM・レジの方)を見下ろし、重みの大きい場所を一度に映します。2台目からは、1台ごとに増える割合が小さくなります。
  • 6台を選んだあと、2回入れ替えて 91.9%(面積では100 m²のうち92.1 m²、92%) になりました。

3. 6台の置き場所と、残る死角

映すべき場所面積映る割合
通路4本29.8 m²92%
冷蔵ケース前19.3 m²96.1%
弁当・惣菜7.1 m²100%
雑誌コーナー8.3 m²84.8%
イートイン6.9 m²80.9%
レジの待ち列5.6 m²96.7%
レジ2台とまわり1 m7.9 m²92.1%
自動ドアとまわり2 m18.3 m²92.2%
ATMの前1.3 m²80%
  • 6台のうち4台は店先(ガラスの上)に付き、1台は西の入口の方を、3台は店の中を向きます。1台は奥のバックルームの壁から斜めに売場を、1台はレジの奥の壁からレジを見ます。
  • 映らずに残るのは8.0 m²(32か所)です。いちばん大きいのは、通路4の棚に沿った幅0.5 m・長さ2.5 mの帯(1.3 m²)と、店先のカメラのすぐ下(雑誌コーナーの店先側)の幅0.25 mの帯です。死角は、棚の陰とカメラの真下に残ります。
6台のカメラが映す範囲と死角(平面図)
6台のカメラが映す範囲(濃いほど多くのカメラ)と死角(破線)。数字は敷地全体(駐車場・裏の搬入場を含む)の値

get_view_image の visibility で、同じ計算を平面図に描きました。上の帯の数字は、駐車場と裏の搬入場まで含めた敷地全体の値です。

4. 昼のピークに客で隠れると

保存されている昼のピーク(客は1時間150人の割合で35分)を走らせ、get_visibility の crowd で、1分ごとに、そのとき敷地にいる人(客・店員・配送)のうち、どれかのカメラに頭が映る人を数えました。人は、その大きさの柱として、ほかの人や床を隠します。

  • 1分ごとの平均で87%の人が映りました。 いちばん少ないのは始まって4分のときで、8人のうち4人(50%)です。
  • 人がいちばん多いとき(始まって18分、19人)は、16人(84%)が映りました。

5. 使い方と、分からないこと

  • 台数を決める前に、どこを何倍に数えるかを決める。 レジ・入口・ATMのように必ず映したい場所の重みを上げると、そこを優先した置き場所が出ます。
  • 今あるカメラを確かめる。 付けてあるカメラをカメラの部品として置けば(suggest_cameras の count: 0、get_visibility)、今の死角が分かります。現場の写真からカメラの位置と向きを解く道具(solve_photo_camera)は、カメラの部品として置く入力も返します。
  • 掲示も忘れずに。 個人情報保護委員会のQ&A(Q1-13)は、防犯カメラで特定の個人を識別できる画像を撮るなら、利用目的をできる限り特定してその範囲で使い、カメラで撮られていることを本人が容易に分からないときは「防犯カメラ作動中」の掲示などの措置を講じるとしています(個人情報保護法第20条第1項)。

分からないこと:

  • 映るかどうかは、視野と視線だけで数えています。画質、明るさ、逆光、顔や手元が見分けられるかは計算していません(suggest_cameras には、画素の密度で見える距離を絞る pixelsPerMetre もあります)。
  • カメラの画角と届く距離は仮定です。実際の機種の値で確かめてください。
  • 模擬の店で、寸法と人数は例です。

使った道具

  • suggest_cameras:映すべき場所と重み、付けられる場所、カメラの画角から、置き場所と台数ごとの映る割合、死角を出す
  • edit_space:提案した6台をカメラの部品として置く
  • run_process_scenario・get_visibility(crowd):昼のピークを走らせ、1分ごとに、人に隠れてもカメラに映る人を数える
  • get_view_image(visibility):カメラが映す範囲と死角を平面図に描く