
AIカメラで収集した人流データを分析してみる
1.仙台市人流データ調査
仙台市がAI付きカメラを街中に設置し、人流データを取得する取り組みを行っていました。
街中で歩いている人についてAIカメラで性別と年齢層を推測し、データ化してくれています。
オープンデータとして公開されており、ライセンスはCCBYなので出典を明記すれば自由度高く使えるデータとなっております。
2.Code InterPreterでデータを可視化してみる
今回はいくつか公開されたデータの中で藤崎前という百貨店前のデータを使ってみたいと思います。
データの可視化にはChatGPTのCode Interpreterを使ってみます。
2-1.初手でxlxsのファイルをアップしデータの概要を聞いてみる
まずCode Interpreterに対象となるxlxsファイルをアップロードします。
ファイルをアップしたらまずはデータの概要について聞いてみます。
Q1.データの概要を訪ねるプロンプト

A1.データの概要に関する回答
ファイル「oomachi_fujisakimae.xlsx」がアップロードされました。このエクセルファイルの内容を分析して概要を提供します。
まず、このファイルに含まれるシートの一覧と、各シートに含まれるデータの行と列の数を取得しますね。
Finished working
Show work
このExcelファイルには、「データシート」という名前のシートが1つ含まれています。このシートには、合計738行と20列のデータがあります。
次に、シート「データシート」の最初の数行を表示して、データの内容を確認しましょう。
Finished working
Show work
「データシート」には、以下のカラムが含まれています:
計測時間: 計測した日時
入場者: 入場した人数
退場者: 退場した人数
人数: 合計人数
10代未満男性, 10代未満女性, 10代男性, 10代女性, 20代男性, 20代女性, 30代男性, 30代女性, 40代男性, 40代女性, 50代男性, 50代女性, 60代以上男性, 60代以上女性: 各年齢層と性別ごとの人数
男性: 男性の合計人数
女性: 女性の合計人数
このデータは、特定の場所での人々の流れや年齢層・性別による分布を記録したものと推測されます。
何か特定の分析や質問があれば、お知らせください!
2-2.来場者数が多い年齢・属性の順に並び替えてみる
色々分析の観点はあると思いますが、今回はシンプルにどの属性の来場者が一番多いか可視化してみましょう。
Q2.来場者が多い順に並べる来場者数
来場者数が多い属性順に並べ替えてください。
合計来場者数も記載してください。
A2.各年齢層と性別の属性ごとの合計来場者数
各年齢層と性別の属性ごとに合計来場者数を計算し、多い順に並べ替えて表示します。
以下は、来場者数が多い属性順に並べ替えた各年齢層と性別の合計来場者数です:
1. **30代女性**: 24,971人
2. **20代女性**: 18,217人
3. **30代男性**: 11,322人
4. **40代女性**: 7,573人
5. **20代男性**: 7,287人
6. **40代男性**: 7,287人
7. **50代男性**: 3,481人
8. **10代女性**: 3,215人
9. **50代女性**: 2,463人
10. **60代以上男性**: 2,148人
11. **10代男性**: 1,428人
12. **60代以上女性**: 1,187人
13. **10代未満女性**: 259人
14. **10代未満男性**: 144人
この情報がお役に立てれば幸いです。何か他に質問があれば、お知らせください!
2-3.グラフにしてみる
数字が出たのでグラフ化してみたいと思います。
Q3.グラフにするためにデータ形式を変更する

A3.Excelが出力されました。
指定されたデータをExcelファイルに挿入するための手順は以下のとおりです:データの準備: まず、データをPythonのリストやデータフレームに変換します。データは「:」で分割され、数値部分から「人」を削除します。
Excelファイルの作成: Pandasライブラリを使用して、データフレームを新しいExcelファイルに書き込みます。
以下は具体的なコードの手順です。
Finished working
Show work
データをExcelファイルに挿入しました。以下のリンクからファイルをダウンロードできます。
sorted_age_groups.xlsx
このファイルには、指定されたデータがA列とB列に分類されています。何か他にお手伝いできることがあれば、お知らせください!

この後xlxsファイルをグラフにしてもらう指示を出しましたが、日本語だと文字化けするようなので、xlxsのグラフ化機能を使いました。
2-4.グラフが出来ました。

思ったよりも20代30代が多いという結果でした。
百貨店前だと50代以上が多いという先入観があったので、興味深い結果となりました。
3.検討事項
3.1.属性判定の精度はどのくらいか?
以前顔認証サービスの企業に居たことがありますが、性別を当てられても年齢を正確に当てることはなかなか難しいという実感がありました。
どこまで年齢を正確に当てられるカメラなのかは気になりました。
※私が顔認証に携わっていたのが3年ほど前の話なので最近は精度がかなり向上している可能性はあります。
3-2.時間帯別等の別の視点での分析が必要
深夜の時間帯の人流を調べる等の時間帯を区切った分析も面白そうです。
今後時間ある時やってみようと思います。