Files
Photovoltaic_Fault_Detector/Example_prediction.ipynb

312 lines
1.4 MiB
Plaintext
Raw Normal View History

2020-02-25 22:18:56 -03:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
2020-02-26 16:05:21 -03:00
"# Example of load model for detections\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [],
"source": [
"import time\n",
"import os\n",
"import argparse\n",
"import json\n",
"import cv2\n",
"import sys\n",
"sys.path += [os.path.abspath('keras-yolo3-master')]\n",
"\n",
"from utils.utils import get_yolo_boxes, makedirs\n",
"from utils.bbox import draw_boxes\n",
2020-04-16 14:11:33 -04:00
"from tensorflow.keras.models import load_model\n",
2020-02-26 16:05:21 -03:00
"from tqdm import tqdm\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
2020-04-16 18:29:03 -04:00
"from panel_disconnect import disconnect\n",
2020-02-26 16:05:21 -03:00
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Load Trained Model Soiling Fault"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/dlsaavedra/anaconda3/envs/model/lib/python3.6/site-packages/keras/engine/saving.py:292: UserWarning: No training configuration found in save file: the model was *not* compiled. Compile it manually.\n",
" warnings.warn('No training configuration found in save file: '\n"
]
}
],
"source": [
"## Config of trained model, change this for use different trained model\n",
"config_path = 'config_full_yolo_fault_1_infer.json' \n",
"\n",
"with open(config_path) as config_buffer:\n",
" config = json.load(config_buffer)\n",
" \n",
"\n",
"###############################\n",
"##### Load the model ######\n",
"###############################\n",
"os.environ['CUDA_VISIBLE_DEVICES'] = config['train']['gpus']\n",
"infer_model = load_model(config['train']['saved_weights_name'])\n",
"\n",
"## Parameters of detection\n",
"net_h, net_w = 416, 416 # a multiple of 32, the smaller the faster\n",
"obj_thresh, nms_thresh = 0.5, 0.45\n",
"\n",
"\n",
"#infer_model.summary()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Detection Soling Fault"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Elapsed time = 3.9897632598876953\n"
]
},
{
"data": {
"text/plain": [
"(-0.5, 639.5, 511.5, -0.5)"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1152x1152 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1152x1152 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"image_path = 'images/Mision 23_DJI_0061.jpg' \n",
"\n",
"\n",
"image = cv2.imread(image_path)\n",
"\n",
"## Show original image\n",
"fig, ax = plt.subplots(figsize=(16, 16))\n",
"ax.set_title('Original Image')\n",
"plt.imshow(image, cmap='gray')\n",
"ax.axis('off') \n",
"\n",
"start = time.time()\n",
"## predict the bounding boxes\n",
"boxes = get_yolo_boxes(infer_model, [image], net_h, net_w, config['model']['anchors'], obj_thresh, nms_thresh)[0]\n",
"print('Elapsed time = {}'.format(time.time() - start))\n",
"## draw bounding boxes on the image using labels\n",
"draw_boxes(image, boxes, config['model']['labels'], obj_thresh)\n",
"\n",
"\n",
"## Show Detection Fault\n",
"fig, ax = plt.subplots(figsize=(16, 16))\n",
"ax.set_title('Detection Fault')\n",
"plt.imshow(image, cmap='gray')\n",
"ax.axis('off') \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Load Trained Model Diode Fault"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/dlsaavedra/anaconda3/envs/model/lib/python3.6/site-packages/keras/engine/saving.py:292: UserWarning: No training configuration found in save file: the model was *not* compiled. Compile it manually.\n",
" warnings.warn('No training configuration found in save file: '\n"
]
}
],
"source": [
"## Config of trained model, change this for use different trained model\n",
"config_path = 'config_full_yolo_fault_4_infer.json' \n",
"\n",
"with open(config_path) as config_buffer:\n",
" config = json.load(config_buffer)\n",
" \n",
"\n",
"###############################\n",
"##### Load the model ######\n",
"###############################\n",
"os.environ['CUDA_VISIBLE_DEVICES'] = config['train']['gpus']\n",
"infer_model = load_model(config['train']['saved_weights_name'])\n",
"\n",
"#infer_model.summary()\n",
"\n",
"## Parameters of detection\n",
"net_h, net_w = 416, 416 # a multiple of 32, the smaller the faster\n",
"obj_thresh, nms_thresh = 0.5, 0.45"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Detection Diode Fault"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Elapsed time = 4.417239665985107\n"
]
},
{
"data": {
"text/plain": [
"(-0.5, 639.5, 511.5, -0.5)"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1152x1152 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1152x1152 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"image_path = 'images/Mision 23_DJI_0061.jpg' \n",
"\n",
"\n",
"image = cv2.imread(image_path)\n",
"\n",
"## Show original image\n",
"fig, ax = plt.subplots(figsize=(16, 16))\n",
"ax.set_title('Original Image')\n",
"plt.imshow(image, cmap='gray')\n",
"ax.axis('off') \n",
"\n",
"start = time.time()\n",
"## predict the bounding boxes\n",
"boxes = get_yolo_boxes(infer_model, [image], net_h, net_w, config['model']['anchors'], obj_thresh, nms_thresh)[0]\n",
"print('Elapsed time = {}'.format(time.time() - start))\n",
"## draw bounding boxes on the image using labels\n",
"draw_boxes(image, boxes, config['model']['labels'], obj_thresh)\n",
"\n",
"\n",
"## Show Detection Fault\n",
"fig, ax = plt.subplots(figsize=(16, 16))\n",
"ax.set_title('Detection Fault')\n",
"plt.imshow(image, cmap='gray')\n",
"ax.axis('off') "
2020-02-25 22:18:56 -03:00
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
2020-04-16 14:11:33 -04:00
"version": "3.7.7"
2020-02-25 22:18:56 -03:00
}
},
"nbformat": 4,
"nbformat_minor": 2
}