The Google Colaboratory notebooks within are intended to provide a way to generate synthetic low-light images with bounding box information, so that a network can be trained to detect boxes in extremely low light. The synthetic images are of 3D objects which are of random size and aspect ratio, and rotated and translated before transformation to 2D. After the 2D transformation, temporal and fixed pattern noise is added, which includes signal shot noise, electrical read noise, column FPN, and hot pixels.
-
Colaboratory notebooks - One notebook is for generating synthetic images. The other is for training and detection
-
Python_code - Holds various modified versions of Yolov3 code modules, along with utilities to prepare data and configuration files for use with Yolo.
-
data - Training and validation datasets.
-
output_images - Saved images from earlier runs.
-
saved_weights - Saved weights from earlier runs.
The code and utilities will be expecting a file structure like this on Google Drive:
- My Drive
- yolov3
-
__checkpoints__
-
__test__
-
__output__
-
__samples__
-
__bbox__
- CS231A_project
- Data
-
__test_3D_yolov3__
-
__train_3D_yolov3__
To use the model for training or prediction:
- Create a directory structure that includes the above
- download the Colaboratory notebook for training and utilize.
- for training, download the Python code, and data files.
- for detection, download the Python code and the saved weights
- to generate more clean/noisy images, download the training notebook (syn_create_3D_yolov3_training.ipynb)
### Detection Outputs
There will be images created during detection which include bounding boxes. These will be placed in the yolov3/test/samples/bbox directory: