Car price predictor using a convolutional neural network. This was for the final assignment for the Neural Networks course.
By s3301419, s3814254, s3593673, s4170237
The car pictures used for this project are from Nicolas Gervais' Car Connection Picture Dataset. This dataset originally consists of roughly 60,000 images which are all tagged with the suggested retail price (MSRP) of the cars.
library | version used | scripts |
---|---|---|
python | 3.7.3 | * |
tensorflow | 2.2.0 | opticar.py |
numpy | 1.16.2 | opticar.py |
opencv-python | 4.1.0 | opticar.py |
matplotlib | 3.0.3 | opticar.py |
tqdm | 4.45.0 | opticar.py |
Pillow | 5.4.1 | sortbg.py |
PyAutoGUI | 0.9.50 | auto.py, autoinfo.py |
pynput | 1.6.8 | autoinfo.py |
To install all of the above:
$ pip install tensorflow numpy opencv-python matplotlib tqdm pillow pyautogui pynput
To train the model, download the dataset, and pass the dataset-directory and number of epochs to train to the script like so:
# example: $ python3 opticar.py train "cars/images/" 30
$ python3 opticar.py train DATASET-DIR NUM-EPOCHS
To use a trained model to predict prices, place the model's weight file model.h5
into the same directory as the script, and place all of the car images that you want to run the model on in another directory. Then run the script like so:
# example: $ python3 opticar.py "cars/images/"
$ python3 opticar.py IMAGES-DIR