Fork of the codebase for "Surveilling Surveillance: Estimating the Prevalence of Surveillance Cameras with Street View Data" - https://github.com/stanford-policylab/surveilling-surveillance/
Find a file
2021-05-20 13:22:04 -07:00
.github/image init 2021-05-20 13:22:04 -07:00
analysis init 2021-05-20 13:22:04 -07:00
data init 2021-05-20 13:22:04 -07:00
detection init 2021-05-20 13:22:04 -07:00
plot init 2021-05-20 13:22:04 -07:00
streetview init 2021-05-20 13:22:04 -07:00
util init 2021-05-20 13:22:04 -07:00
.gitignore init 2021-05-20 13:22:04 -07:00
LICENSE init 2021-05-20 13:22:04 -07:00
main.py init 2021-05-20 13:22:04 -07:00
README.md init 2021-05-20 13:22:04 -07:00
requirements.txt init 2021-05-20 13:22:04 -07:00

Surveilling Surveillance: Estimating the Prevalence of Surveillance Cameras with Street View Data

Project page | Paper

detections Locations of verified cameras in 10 large U.S. cities for the period 20162020. Densely clustered areas of points indicate regions with high camera density in each city. Camera density varies widely between neighborhoods. Note: Scale varies between cities.

This is the code base of the Surveillance Camera paper:

@article{sheng2021surveilling,
  title={Surveilling Surveillance: Estimating the Prevalence of Surveillance Cameras with Street View Data},
  author={Sheng, Hao and Yao, Keniel and Goel, Sharad},
  journal={arXiv e-prints},
  pages={arXiv--2105},
  year={2021}
}

Camera Detection

Requirements

  • Linux or macOS with Python ≥ 3.6
  • PyTorch ≥ 1.6 and torchvision that matches the PyTorch installation. Install them together at pytorch.org to make sure of this
  • Detection2. The installation instruction of Detection2 can be found here

Install Python dependencies by running:

pip install -r requirements.txt

Download street-view images

python main.py download_streetview_image --key GOOGLE_API_KEY --sec GOOGLE_API_SECRET

Model training

cd detection && python main.py train --exp_name EXPERIMENT_NAME --[hyparameter] [value]

Model inference

cd detection && python main.py test --deploy --deploy_meta_path [DEPLOY_META_PATH]

, where DEPLOY_META_PATH is a path to a csv file of the following format:

save_path panoid heading downloaded
/dY/5I/l8/4NW89-ChFSP71GiA/344.png dY5Il84NW89-ChFSP71GiA -105.55188877562128 True
...

Here, panoid and heading refer to the ID and heading of each street-view image.

Analysis

To reproduce the figures and tables in our paper, run the analysis/results.Rmd script.

You'll need to download our camera and road network data available here into a data directory in the root of this repository.

Artifacts

Annotations

Our collected camera annotations can be downloaded as follows:

#images # cameras link md5
3,155 1,696 download b2340143c6af2d1e6bfefd5001fd94c1
  • 2021-5-20: This dataset is larger than the one reported in the paper as we include verified examples from our pilot.
  • 2021-5-18: The metadata can also be found in this repo as ./data/meta.csv.

Pre-trained Models

Our pre-trained camera detection model can be downloaded as follows:

architecture Size link md5
FasterRCNN 472 Mb download dba44ad36340d3291102e72b340568a0
  • 2021-5-20: We updated the model architecture (FasterRCNN).

Detection and Road Network Data

Size link md5
97 Mb download 6ceab577c53ba8dbe60b0ff1c8d5069a