PUTvision / qgis-plugin-deepness

Deepness is a remote sensing plugin that enables deep learning inference in QGIS
https://www.buymeacoffee.com/deepness
Apache License 2.0
106 stars 24 forks source link

QGIS plugin deepness devel "This plugin is broken Missing metadata file" #191

Open udaf-mcq opened 3 days ago

udaf-mcq commented 3 days ago

I have attempted to install the Deepness plugin in QGIS. After installation I get "qgis-plugin-deepness-devel" below the Deepness: Deep Neural Remote Sensing listing. It is in RED. After clicking on the "qgis-plugin-deepness-devel" the large screen to the right states "This plugin is broken, Missing metadata file qgis-plugin-deepness-devel"

What is needed to get this plugin installed and working?

bartoszptak commented 3 days ago

Hi @udaf-mcq, Please describe your workflow and the goal you want to reach.

udaf-mcq commented 3 days ago

I use drone imagery to map invasive plant species and other agricultural scenarios. I am hoping that Deepness will help locate specific weeds and other objects (types of irrigation systems, crop type, soil conditions etc.). The drone imagery is loaded into WebODm to make orthomosaics of area of interest (usually 2cm or less pixel resolution). The orthomosaic is then loaded into QGIS for evaluation for the subject of interest. I am hoping to be able to have Deepness locate the subject of interest in QGIS. I anticipate that models will need to be produced to train Deepness. I will need help to build these models and libraries.

Mark Quilter | Salinity Program Manager / Licensed UAV Pilot

801.201.4397 MOBILE

UTAH DEPARTMENT OF AGRICULTURE AND FOOD

https://ag.utah.gov/ https://www.facebook.com/utahagriculture https://www.instagram.com/utagandfood/ https://twitter.com/UTagandfood https://www.youtube.com/user/UtahAgriculture

How was your experience with the Utah Department of Agriculture and Food? Tell us about your experience through this 2-minute survey!

Follow this link to the survey:

Take the Survey https://utconcierge.qualtrics.com/jfe/form/SV_cUTRcsmWFFj4rjg

Or copy and paste the URL below into your internet browser:

https://utconcierge.qualtrics.com/jfe/form/SV_cUTRcsmWFFj4rjg

On Fri, Nov 1, 2024 at 7:00 AM Bartosz Ptak @.***> wrote:

Hi @udaf-mcq https://github.com/udaf-mcq, Please describe your workflow and the goal you want to reach.

— Reply to this email directly, view it on GitHub https://github.com/PUTvision/qgis-plugin-deepness/issues/191#issuecomment-2451833758, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJCILXIMS4I7Q4DWXZE6XYLZ6N3N7AVCNFSM6AAAAABQ7BQXIKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJRHAZTGNZVHA . You are receiving this because you were mentioned.Message ID: @.***>

przemyslaw-aszkowski commented 2 days ago

Hi @udaf-mcq, You would need to train a model tailored to your needs. In the plugin documentation, you can find a document describing how to do it without programming knowledge.

Regarding the issue you are having with installing the plugin - please describe what operating system are you using, what QGIS version and how you are installing the plugin.

udaf-mcq commented 2 days ago

Since my post that you replied to I have been trying to reinstall. The plugin loads but give error failed to load model. I was trying to load Detector.

I am on a Windows 10 machine with QGIS 3.34.12-Prizren

Here is the error message from the log file: traceback: File "C:\Users/mquilter/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\deepness\deepness_dockwidget.py", line 258, in _browse_model_path self._load_model_and_display_info() File "C:\Users/mquilter/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\deepness\deepness_dockwidget.py", line 363, in _load_model_and_display_info self._model = self._load_model_with_type_from_metadata( File "C:\Users/mquilter/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\deepness\deepness_dockwidget.py", line 334, in _load_model_with_type_from_metadata model_type_str_from_metadata = ModelBase.get_model_type_from_metadata(file_path) File "C:\Users/mquilter/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\deepness\processing\models\model_base.py", line 65, in get_model_type_from_metadata model = cls(model_file_path) File "C:\Users/mquilter/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\deepness\processing\models\model_base.py", line 37, in init self.sess = ort.InferenceSession(self.model_file_path, options=options, providers=providers) File "C:\Users\mquilter\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\deepness\python3.12\onnxruntime\capi\onnxruntime_inference_collection.py", line 419, in init self._create_inference_session(providers, provider_options, disabled_optimizers) File "C:\Users\mquilter\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\deepness\python3.12\onnxruntime\capi\onnxruntime_inference_collection.py", line 463, in _create_inference_session providers, provider_options = check_and_normalize_provider_args( File "C:\Users\mquilter\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\deepness\python3.12\onnxruntime\capi\onnxruntime_inference_collection.py", line 103, in check_and_normalize_provider_args set_provider_options(provider, dict()) File "C:\Users\mquilter\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\deepness\python3.12\onnxruntime\capi\onnxruntime_inference_collection.py", line 69, in set_provider_options warnings.warn(

2024-11-01T15:18:46 WARNING warning:UserWarning: Specified provider 'CUDAExecutionProvider' is not in available provider names.Available providers: 'AzureExecutionProvider, CPUExecutionProvider'

         traceback: File "C:\Users/mquilter/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\deepness\deepness_dockwidget.py", line 258, in _browse_model_path
          self._load_model_and_display_info()
          File "C:\Users/mquilter/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\deepness\deepness_dockwidget.py", line 363, in _load_model_and_display_info
          self._model = self._load_model_with_type_from_metadata(
          File "C:\Users/mquilter/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\deepness\deepness_dockwidget.py", line 334, in _load_model_with_type_from_metadata
          model_type_str_from_metadata = ModelBase.get_model_type_from_metadata(file_path)
          File "C:\Users/mquilter/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\deepness\processing\models\model_base.py", line 65, in get_model_type_from_metadata
          model = cls(model_file_path)
          File "C:\Users/mquilter/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\deepness\processing\models\model_base.py", line 37, in __init__
          self.sess = ort.InferenceSession(self.model_file_path, options=options, providers=providers)
          File "C:\Users\mquilter\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\deepness\python3.12\onnxruntime\capi\onnxruntime_inference_collection.py", line 419, in __init__
          self._create_inference_session(providers, provider_options, disabled_optimizers)
          File "C:\Users\mquilter\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\deepness\python3.12\onnxruntime\capi\onnxruntime_inference_collection.py", line 463, in _create_inference_session
          providers, provider_options = check_and_normalize_provider_args(
          File "C:\Users\mquilter\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\deepness\python3.12\onnxruntime\capi\onnxruntime_inference_collection.py", line 103, in check_and_normalize_provider_args
          set_provider_options(provider, dict())
          File "C:\Users\mquilter\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\deepness\python3.12\onnxruntime\capi\onnxruntime_inference_collection.py", line 69, in set_provider_options
          warnings.warn(
przemyslaw-aszkowski commented 2 days ago

What model are you trying to load? "Detector" is just a class of models, so I meant the model file path you selected. Can you share the model you used?

udaf-mcq commented 2 days ago

C:\Users\mquilter\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\deepness\processing\models\detector.py

The models in the models directory are: init.py, detector.py, model_base.py, model_base.py, model_types.py, prepocessing_utils.py, recognition.py, regressor.py, segmentor.py, and superresolution.py.

przemyslaw-aszkowski commented 2 days ago

But you need to select a file with the model in the plugin, here: image