コンビニのモデルを開く(登録なしで開けます。シミュレーションを動かすには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台目は、店先の上から西(入口・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 m | 7.9 m² | 92.1% |
| 自動ドアとまわり2 m | 18.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の帯です。死角は、棚の陰とカメラの真下に残ります。
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):カメラが映す範囲と死角を平面図に描く



