diff --git a/src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp b/src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp
index 994843b1326ddc559656d15804f1c60565ddc9d6..3b4dfc040e920cef97670cb5ea6d5f991cf3717b 100644
--- a/src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp
+++ b/src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp
@@ -21,13 +21,16 @@ static ParamsBasePtr createParamsBRUTEFORCEMatcher(const std::string & _filename
     if (!yaml_params.IsNull())
     {
         Node d_yaml = yaml_params["matcher"];
-
         if(d_yaml["type"].as<string>() == "BRUTEFORCE")
         {
-        	params_ptr->match_type	= d_yaml["match type"].as<int>();
-        	params_ptr->roi_width   = d_yaml["roi"]["width"].as<unsigned int>();
-        	params_ptr->roi_height  = d_yaml["roi"]["height"].as<unsigned int>();
-        	params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>();
+            if (d_yaml["match type"])
+                params_ptr->match_type  = d_yaml["match type"].as<int>();
+            if (d_yaml["min normalized score"])
+                params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>();
+            if (d_yaml["roi"]["width"])
+                params_ptr->roi_width   = d_yaml["roi"]["width"].as<unsigned int>();
+            if (d_yaml["roi"]["height"])
+                params_ptr->roi_height  = d_yaml["roi"]["height"].as<unsigned int>();
         }else
         {
             std::cerr << "Bad configuration file. Wrong type " << d_yaml["type"].as<string>() << std::endl;
diff --git a/src/matchers/bruteforce_hamming/matcher_bruteforce_hamming_load_yaml.cpp b/src/matchers/bruteforce_hamming/matcher_bruteforce_hamming_load_yaml.cpp
index 3b59654239a52ce0a5153d045ad596fd63485010..002b3bde11080991cd812a556ababffeeb69ff37 100644
--- a/src/matchers/bruteforce_hamming/matcher_bruteforce_hamming_load_yaml.cpp
+++ b/src/matchers/bruteforce_hamming/matcher_bruteforce_hamming_load_yaml.cpp
@@ -23,10 +23,14 @@ static ParamsBasePtr createParamsBRUTEFORCE_HAMMINGMatcher(const std::string & _
         Node d_yaml = yaml_params["matcher"];
         if(d_yaml["type"].as<string>() == "BRUTEFORCE_HAMMING")
         {
-        	params_ptr->match_type	= d_yaml["match type"].as<int>();
-        	params_ptr->roi_width   = d_yaml["roi"]["width"].as<unsigned int>();
-        	params_ptr->roi_height  = d_yaml["roi"]["height"].as<unsigned int>();
-        	params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>();
+            if (d_yaml["match type"])
+                params_ptr->match_type  = d_yaml["match type"].as<int>();
+            if (d_yaml["min normalized score"])
+                params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>();
+            if (d_yaml["roi"]["width"])
+                params_ptr->roi_width   = d_yaml["roi"]["width"].as<unsigned int>();
+            if (d_yaml["roi"]["height"])
+                params_ptr->roi_height  = d_yaml["roi"]["height"].as<unsigned int>();
         }else
         {
             std::cerr << "Bad configuration file. Wrong type " << d_yaml["type"].as<string>() << std::endl;
diff --git a/src/matchers/bruteforce_hamming_2/matcher_bruteforce_hamming_2_load_yaml.cpp b/src/matchers/bruteforce_hamming_2/matcher_bruteforce_hamming_2_load_yaml.cpp
index a5b878f04bc6bba3b59cd840b7332cbdcbae01dc..0d8c913c6d5ecfe18e6768c0e0cea0bf0dedba25 100644
--- a/src/matchers/bruteforce_hamming_2/matcher_bruteforce_hamming_2_load_yaml.cpp
+++ b/src/matchers/bruteforce_hamming_2/matcher_bruteforce_hamming_2_load_yaml.cpp
@@ -23,10 +23,14 @@ static ParamsBasePtr createParamsBRUTEFORCE_HAMMING_2Matcher(const std::string &
         Node d_yaml = yaml_params["matcher"];
         if(d_yaml["type"].as<string>() == "BRUTEFORCE_HAMMING_2")
         {
-        	params_ptr->match_type	= d_yaml["match type"].as<int>();
-        	params_ptr->roi_width   = d_yaml["roi"]["width"].as<unsigned int>();
-        	params_ptr->roi_height  = d_yaml["roi"]["height"].as<unsigned int>();
-        	params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>();
+            if (d_yaml["match type"])
+                params_ptr->match_type  = d_yaml["match type"].as<int>();
+            if (d_yaml["min normalized score"])
+                params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>();
+            if (d_yaml["roi"]["width"])
+                params_ptr->roi_width   = d_yaml["roi"]["width"].as<unsigned int>();
+            if (d_yaml["roi"]["height"])
+                params_ptr->roi_height  = d_yaml["roi"]["height"].as<unsigned int>();
         }else
         {
             std::cerr << "Bad configuration file. Wrong type " << d_yaml["type"].as<string>() << std::endl;
diff --git a/src/matchers/bruteforce_l1/matcher_bruteforce_l1_load_yaml.cpp b/src/matchers/bruteforce_l1/matcher_bruteforce_l1_load_yaml.cpp
index 8d8b5576aa6a9cdc2ed1e1f47a230671e1f12f9e..bd10edb030611e926a957d632dfe2a0718bf8be4 100644
--- a/src/matchers/bruteforce_l1/matcher_bruteforce_l1_load_yaml.cpp
+++ b/src/matchers/bruteforce_l1/matcher_bruteforce_l1_load_yaml.cpp
@@ -23,10 +23,14 @@ static ParamsBasePtr createParamsBRUTEFORCE_L1Matcher(const std::string & _filen
         Node d_yaml = yaml_params["matcher"];
         if(d_yaml["type"].as<string>() == "BRUTEFORCE_L1")
         {
-        	params_ptr->match_type	= d_yaml["match type"].as<int>();
-        	params_ptr->roi_width   = d_yaml["roi"]["width"].as<unsigned int>();
-        	params_ptr->roi_height  = d_yaml["roi"]["height"].as<unsigned int>();
-        	params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>();
+            if (d_yaml["match type"])
+                params_ptr->match_type  = d_yaml["match type"].as<int>();
+            if (d_yaml["min normalized score"])
+                params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>();
+            if (d_yaml["roi"]["width"])
+                params_ptr->roi_width   = d_yaml["roi"]["width"].as<unsigned int>();
+            if (d_yaml["roi"]["height"])
+                params_ptr->roi_height  = d_yaml["roi"]["height"].as<unsigned int>();
         }else
         {
             std::cerr << "Bad configuration file. Wrong type " << d_yaml["type"].as<string>() << std::endl;
diff --git a/src/matchers/flannbased/matcher_flannbased_load_yaml.cpp b/src/matchers/flannbased/matcher_flannbased_load_yaml.cpp
index d17c0482b79bee6fe53aafbd7a863dfa6f209986..1c6f8dd3d038c9c5eca01d3d24610cfdd80deccf 100644
--- a/src/matchers/flannbased/matcher_flannbased_load_yaml.cpp
+++ b/src/matchers/flannbased/matcher_flannbased_load_yaml.cpp
@@ -23,10 +23,14 @@ static ParamsBasePtr createParamsFLANNBASEDMatcher(const std::string & _filename
         Node d_yaml = yaml_params["matcher"];
         if(d_yaml["type"].as<string>() == "FLANNBASED")
         {
-        	params_ptr->match_type	= d_yaml["match type"].as<int>();
-        	params_ptr->roi_width   = d_yaml["roi"]["width"].as<unsigned int>();
-        	params_ptr->roi_height  = d_yaml["roi"]["height"].as<unsigned int>();
-        	params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>();
+            if (d_yaml["match type"])
+                params_ptr->match_type	= d_yaml["match type"].as<int>();
+            if (d_yaml["min normalized score"])
+                params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>();
+        	if (d_yaml["roi"]["width"])
+        	    params_ptr->roi_width   = d_yaml["roi"]["width"].as<unsigned int>();
+        	if (d_yaml["roi"]["height"])
+        	    params_ptr->roi_height  = d_yaml["roi"]["height"].as<unsigned int>();
         }else
         {
             std::cerr << "Bad configuration file. Wrong type " << d_yaml["type"].as<string>() << std::endl;