Files
Photovoltaic_Fault_Detector/GPS_Panel/ClassifierPanel_KML.ipynb
Daniel Saavedra f3cc29234e Change Enumeration
2020-12-17 18:46:01 -03:00

384 lines
33 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/dlsaavedra/anaconda3/envs/new/lib/python3.7/site-packages/pysal/explore/segregation/network/network.py:16: UserWarning: You need pandana and urbanaccess to work with segregation's network module\n",
"You can install them with `pip install urbanaccess pandana` or `conda install -c udst pandana urbanaccess`\n",
" \"You need pandana and urbanaccess to work with segregation's network module\\n\"\n",
"/home/dlsaavedra/anaconda3/envs/new/lib/python3.7/site-packages/pysal/model/spvcm/abstracts.py:10: UserWarning: The `dill` module is required to use the sqlite backend fully.\n",
" from .sqlite import head_to_sql, start_sql\n"
]
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"from matplotlib import path\n",
"import matplotlib.patches as patches\n",
"from skimage import draw\n",
"import scipy.ndimage as ndimage\n",
"import Utils\n",
"import georasters as gr\n",
"import cv2\n",
"from Utils import doubleMADsfromMedian\n",
"from skimage.transform import resize\n",
"import pickle\n",
"import simplekml\n",
"\n",
"from sklearn.preprocessing import LabelEncoder\n",
"from sklearn.svm import SVC\n",
"from sklearn.neighbors import KNeighborsClassifier\n",
"import time\n",
"import tensorflow as tf\n",
"\n",
"\n",
"def classifier(base_model, recognizer, labels, image_input):\n",
" weight, height, dim = base_model.input.shape[1], base_model.input.shape[2], base_model.input.shape[3]\n",
" Im_resize = cv2.resize(image_input, (weight, height), interpolation = cv2.INTER_AREA)\n",
" vec = base_model.predict(tf.keras.backend.expand_dims(Im_resize,0)).flatten()\n",
" prob = recognizer.predict_proba([vec])[0]\n",
" return labels.classes_[np.argmax(prob)], prob[np.argmax(prob)]\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Parameters"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"path_T = \"Los_Loros/TH_02_index_thermal_ir.tif\"\n",
"path_String = \"Los_Loros/Raster_Test.tif\"\n",
"ZonaPV = 'Test'\n",
"path_kml_panel = 'Los_Loros/KML/Paneles_' + ZonaPV +'.kml'\n",
"path_kml_mesa ='Los_Loros/KML/Mesa_' + ZonaPV +'.kml'\n",
"path_dict = 'Los_Loros/KML/Mesa_' + ZonaPV + '.pickle'\n",
"path_new_dict = 'Los_Loros/KML/Mesa_' + ZonaPV + '_classifier.pickle'\n",
"\n",
"\n",
"GR_String = gr.from_file(path_String)\n",
"GR_T = gr.from_file(path_T)\n",
"geot_T = GR_T.geot\n",
"## Load List in coordinate latitud and longitude ###\n",
"with open(path_dict, \"rb\") as fp:\n",
" L_strings_coord = pickle.load(fp)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Load Classifier"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"path_dataset = './Classifier/Data_set_2/Data_prueba_0/' \n",
"output_recognizer = path_dataset + \"model_SVM/recognizer.pickle\"\n",
"output_label = path_dataset + \"model_SVM/le.pickle\"\n",
"\n",
"\n",
"img_width, img_height = 224, 224\n",
"base_model = tf.keras.applications.Xception(input_shape=(img_height, img_width, 3), weights='imagenet', include_top=False)\n",
"\n",
"x = base_model.output\n",
"x = tf.keras.layers.GlobalAveragePooling2D()(x)\n",
"base_model = tf.keras.models.Model(inputs=base_model.input, outputs=x)\n",
"recognizer_SVM = pickle.loads(open(output_recognizer, \"rb\").read())\n",
"le = pickle.loads(open(output_label, \"rb\").read())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Classifier each panel"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1\n",
"2\n",
"3\n",
"4\n",
"5\n",
"6\n",
"7\n",
"8\n"
]
},
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f1bb41e4b90>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"\n",
"epsilon = -2\n",
"matrix_expand_bounds = [[-epsilon, -epsilon],[+epsilon, -epsilon], [+epsilon, +epsilon], [-epsilon, +epsilon]]\n",
"\n",
"for string_key in L_strings_coord.keys():\n",
" print(string_key)\n",
" string = L_strings_coord[string_key]\n",
" for panel_key in string['panels'].keys():\n",
" panel = string['panels'][panel_key]\n",
" Points = Utils.gps2pixel(panel['points'], geot_T) + matrix_expand_bounds\n",
" \n",
" if not GR_T.raster.data[Points[0][1] : Points[2][1], Points[0][0]: Points[2][0]].size == 0:\n",
" Im = np.zeros((img_height, img_width, 3))\n",
" Im[:,:,0] = cv2.resize(GR_T.raster.data[Points[0][1] : Points[2][1], Points[0][0]: Points[2][0]], (img_width, img_height))\n",
" Im[:,:,1] = Im[:,:,0].copy()\n",
" Im[:,:,2] = Im[:,:,0].copy()\n",
" panel['status'], panel['prob'] = classifier(base_model, recognizer_SVM, le, Im)\n",
" else:\n",
" print('problem with coords panel: ', string_key, '_', panel_key)\n",
"\n",
"plt.figure(figsize=(6, 6))\n",
"plt.imshow(Im)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f1bb41cbb10>"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"epsilon = 10\n",
"matrix_expand_bounds = [[-epsilon, -epsilon],[+epsilon, -epsilon], [+epsilon, +epsilon], [-epsilon, +epsilon]]\n",
"\n",
"\n",
"panel = string['panels']['2']\n",
"Points = Utils.gps2pixel(panel['points'], geot_T) + matrix_expand_bounds\n",
"plt.figure(figsize=(6, 6))\n",
"plt.imshow(GR_T.raster.data[Points[0][1] : Points[2][1], Points[0][0]: Points[2][0]],cmap = 'gray')\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Save KML Panels"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Listo\n"
]
}
],
"source": [
"\n",
"kml=simplekml.Kml()\n",
"\n",
"\n",
"for string_key in L_strings_coord.keys():\n",
" \n",
" string = L_strings_coord[string_key]\n",
" points = string['points']\n",
" \n",
" for panel_key in string['panels'].keys():\n",
" panel = string['panels'][panel_key]\n",
" points = panel['points']\n",
" \n",
" pmt = kml.newpolygon(outerboundaryis = points)\n",
" pmt.extendeddata.newdata(name= 'Id integer', value= str(string_key).zfill(3) + '_' + str(panel['id']).zfill(3))\n",
" pmt.extendeddata.newdata(name= 'Id panel', value= str(panel['id']).zfill(3))\n",
" pmt.extendeddata.newdata(name='Zona PV', value= ZonaPV)\n",
" pmt.extendeddata.newdata(name='Cód. Fall', value= 0)\n",
" pmt.extendeddata.newdata(name= 'Tipo falla', value= panel['status'])\n",
" pmt.extendeddata.newdata(name= 'Mesa', value= string['id'])\n",
" pmt.extendeddata.newdata(name= 'T°', value= panel['T'])\n",
" \n",
"kml.save(path_kml_panel)\n",
"## Save List in coordinate latitud and longitude ###\n",
"with open(path_new_dict, 'wb') as handle:\n",
" pickle.dump(L_strings_coord, handle, protocol=pickle.HIGHEST_PROTOCOL)\n",
"print('Listo')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f1ba07d3a90>"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.imshow(GR_T.raster.data[Points[0][1] : Points[2][1], Points[0][0]: Points[2][0]].astype(int), cmap = 'gray')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"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",
"version": "3.7.7"
}
},
"nbformat": 4,
"nbformat_minor": 4
}