Brad Bishop | 316dfdd | 2018-06-25 12:45:53 -0400 | [diff] [blame] | 1 | From e4bf148cddf277834e57c9afeec8daff8378a655 Mon Sep 17 00:00:00 2001 |
| 2 | From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> |
| 3 | Date: Wed, 22 Nov 2017 15:27:07 +0100 |
| 4 | Subject: [PATCH] Fix: File already exists in database: caffe.proto |
| 5 | |
| 6 | Fixes error when importing python cv |
| 7 | |
| 8 | Upstream-status: Backport https://github.com/opencv/opencv/pull/10092 |
| 9 | Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> |
| 10 | --- |
| 11 | modules/dnn/CMakeLists.txt | 6 +++--- |
| 12 | modules/dnn/src/caffe/caffe_importer.cpp | 1 - |
| 13 | modules/dnn/src/caffe/caffe_io.cpp | 1 - |
| 14 | modules/dnn/src/caffe/caffe_io.hpp | 2 +- |
| 15 | modules/dnn/src/caffe/{caffe.proto => opencv-caffe.proto} | 0 |
| 16 | 5 files changed, 4 insertions(+), 6 deletions(-) |
| 17 | rename modules/dnn/src/caffe/{caffe.proto => opencv-caffe.proto} (100%) |
| 18 | |
| 19 | diff --git a/modules/dnn/CMakeLists.txt b/modules/dnn/CMakeLists.txt |
| 20 | index c6329a742263..8ef00ef983ff 100644 |
| 21 | --- a/modules/dnn/CMakeLists.txt |
| 22 | +++ b/modules/dnn/CMakeLists.txt |
| 23 | @@ -55,13 +55,13 @@ ocv_warnings_disable(CMAKE_CXX_FLAGS |
| 24 | |
| 25 | if(PROTOBUF_UPDATE_FILES) |
| 26 | file(GLOB proto_files src/tensorflow/*.proto) |
| 27 | - list(APPEND proto_files src/caffe/caffe.proto) |
| 28 | + list(APPEND proto_files src/caffe/opencv-caffe.proto) |
| 29 | PROTOBUF_GENERATE_CPP(Protobuf_HDRS Protobuf_SRCS ${proto_files}) |
| 30 | else() |
| 31 | file(GLOB fw_srcs ${CMAKE_CURRENT_SOURCE_DIR}/misc/tensorflow/*.cc) |
| 32 | file(GLOB fw_hdrs ${CMAKE_CURRENT_SOURCE_DIR}/misc/tensorflow/*.h) |
| 33 | - list(APPEND fw_srcs ${CMAKE_CURRENT_SOURCE_DIR}/misc/caffe/caffe.pb.cc) |
| 34 | - list(APPEND fw_hdrs ${CMAKE_CURRENT_SOURCE_DIR}/misc/caffe/caffe.pb.h) |
| 35 | + list(APPEND fw_srcs ${CMAKE_CURRENT_SOURCE_DIR}/misc/caffe/opencv-caffe.pb.cc) |
| 36 | + list(APPEND fw_hdrs ${CMAKE_CURRENT_SOURCE_DIR}/misc/caffe/opencv-caffe.pb.h) |
| 37 | list(APPEND Protobuf_SRCS ${fw_srcs}) |
| 38 | list(APPEND Protobuf_HDRS ${fw_hdrs}) |
| 39 | list(APPEND Protobuf_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/misc/caffe) |
| 40 | diff --git a/modules/dnn/src/caffe/caffe_importer.cpp b/modules/dnn/src/caffe/caffe_importer.cpp |
| 41 | index c075651b95b3..2c977c84b0f4 100644 |
| 42 | --- a/modules/dnn/src/caffe/caffe_importer.cpp |
| 43 | +++ b/modules/dnn/src/caffe/caffe_importer.cpp |
| 44 | @@ -42,7 +42,6 @@ |
| 45 | #include "../precomp.hpp" |
| 46 | |
| 47 | #ifdef HAVE_PROTOBUF |
| 48 | -#include "caffe.pb.h" |
| 49 | |
| 50 | #include <iostream> |
| 51 | #include <fstream> |
| 52 | diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp |
| 53 | index 0f46ea77df9a..1d3c518f1328 100644 |
| 54 | --- a/modules/dnn/src/caffe/caffe_io.cpp |
| 55 | +++ b/modules/dnn/src/caffe/caffe_io.cpp |
| 56 | @@ -99,7 +99,6 @@ |
| 57 | #include <fstream> |
| 58 | #include <vector> |
| 59 | |
| 60 | -#include "caffe.pb.h" |
| 61 | #include "caffe_io.hpp" |
| 62 | #include "glog_emulator.hpp" |
| 63 | |
| 64 | diff --git a/modules/dnn/src/caffe/caffe_io.hpp b/modules/dnn/src/caffe/caffe_io.hpp |
| 65 | index 09bc5709a24e..f5912c3bcec1 100644 |
| 66 | --- a/modules/dnn/src/caffe/caffe_io.hpp |
| 67 | +++ b/modules/dnn/src/caffe/caffe_io.hpp |
| 68 | @@ -91,7 +91,7 @@ |
| 69 | #define __OPENCV_DNN_CAFFE_IO_HPP__ |
| 70 | #ifdef HAVE_PROTOBUF |
| 71 | |
| 72 | -#include "caffe.pb.h" |
| 73 | +#include "opencv-caffe.pb.h" |
| 74 | |
| 75 | namespace cv { |
| 76 | namespace dnn { |
| 77 | diff --git a/modules/dnn/src/caffe/caffe.proto b/modules/dnn/src/caffe/opencv-caffe.proto |
| 78 | similarity index 100% |
| 79 | rename from modules/dnn/src/caffe/caffe.proto |
| 80 | rename to modules/dnn/src/caffe/opencv-caffe.proto |
| 81 | diff --git a/modules/dnn/src/layers/detection_output_layer.cpp b/modules/dnn/src/layers/detection_output_layer.cpp |
| 82 | index 0b72326f7e7d..f413bad5b81a 100644 |
| 83 | --- a/modules/dnn/src/layers/detection_output_layer.cpp |
| 84 | +++ b/modules/dnn/src/layers/detection_output_layer.cpp |
| 85 | @@ -44,7 +44,7 @@ |
| 86 | #include "layers_common.hpp" |
| 87 | #include <float.h> |
| 88 | #include <string> |
| 89 | -#include <caffe.pb.h> |
| 90 | +#include <opencv-caffe.pb.h> |
| 91 | |
| 92 | namespace cv |
| 93 | { |
| 94 | diff --git a/modules/dnn/src/caffe/caffe_importer.cpp b/modules/dnn/src/caffe/caffe_importer.cpp |
| 95 | index 2c977c84b0f4..a1827a381117 100644 |
| 96 | --- a/modules/dnn/src/caffe/caffe_importer.cpp |
| 97 | +++ b/modules/dnn/src/caffe/caffe_importer.cpp |
| 98 | @@ -78,8 +78,8 @@ static cv::String toString(const T &v) |
| 99 | |
| 100 | class CaffeImporter : public Importer |
| 101 | { |
| 102 | - caffe::NetParameter net; |
| 103 | - caffe::NetParameter netBinary; |
| 104 | + opencvcaffe::NetParameter net; |
| 105 | + opencvcaffe::NetParameter netBinary; |
| 106 | |
| 107 | public: |
| 108 | |
| 109 | @@ -197,7 +197,7 @@ public: |
| 110 | } |
| 111 | } |
| 112 | |
| 113 | - void blobShapeFromProto(const caffe::BlobProto &pbBlob, MatShape& shape) |
| 114 | + void blobShapeFromProto(const opencvcaffe::BlobProto &pbBlob, MatShape& shape) |
| 115 | { |
| 116 | shape.clear(); |
| 117 | if (pbBlob.has_num() || pbBlob.has_channels() || pbBlob.has_height() || pbBlob.has_width()) |
| 118 | @@ -209,7 +209,7 @@ public: |
| 119 | } |
| 120 | else if (pbBlob.has_shape()) |
| 121 | { |
| 122 | - const caffe::BlobShape &_shape = pbBlob.shape(); |
| 123 | + const opencvcaffe::BlobShape &_shape = pbBlob.shape(); |
| 124 | |
| 125 | for (int i = 0; i < _shape.dim_size(); i++) |
| 126 | shape.push_back((int)_shape.dim(i)); |
| 127 | @@ -218,7 +218,7 @@ public: |
| 128 | CV_Error(Error::StsError, "Unknown shape of input blob"); |
| 129 | } |
| 130 | |
| 131 | - void blobFromProto(const caffe::BlobProto &pbBlob, cv::Mat &dstBlob) |
| 132 | + void blobFromProto(const opencvcaffe::BlobProto &pbBlob, cv::Mat &dstBlob) |
| 133 | { |
| 134 | MatShape shape; |
| 135 | blobShapeFromProto(pbBlob, shape); |
| 136 | @@ -233,7 +233,7 @@ public: |
| 137 | dstData[i] = pbBlob.data(i); |
| 138 | } |
| 139 | |
| 140 | - void extractBinaryLayerParms(const caffe::LayerParameter& layer, LayerParams& layerParams) |
| 141 | + void extractBinaryLayerParms(const opencvcaffe::LayerParameter& layer, LayerParams& layerParams) |
| 142 | { |
| 143 | const std::string &name = layer.name(); |
| 144 | |
| 145 | @@ -247,7 +247,7 @@ public: |
| 146 | if (li == netBinary.layer_size() || netBinary.layer(li).blobs_size() == 0) |
| 147 | return; |
| 148 | |
| 149 | - const caffe::LayerParameter &binLayer = netBinary.layer(li); |
| 150 | + const opencvcaffe::LayerParameter &binLayer = netBinary.layer(li); |
| 151 | layerParams.blobs.resize(binLayer.blobs_size()); |
| 152 | for (int bi = 0; bi < binLayer.blobs_size(); bi++) |
| 153 | { |
| 154 | @@ -289,7 +289,7 @@ public: |
| 155 | |
| 156 | for (int li = 0; li < layersSize; li++) |
| 157 | { |
| 158 | - const caffe::LayerParameter &layer = net.layer(li); |
| 159 | + const opencvcaffe::LayerParameter &layer = net.layer(li); |
| 160 | String name = layer.name(); |
| 161 | String type = layer.type(); |
| 162 | LayerParams layerParams; |
| 163 | @@ -313,7 +313,7 @@ public: |
| 164 | addedBlobs.clear(); |
| 165 | } |
| 166 | |
| 167 | - void addOutput(const caffe::LayerParameter &layer, int layerId, int outNum) |
| 168 | + void addOutput(const opencvcaffe::LayerParameter &layer, int layerId, int outNum) |
| 169 | { |
| 170 | const std::string &name = layer.top(outNum); |
| 171 | |
| 172 | diff --git a/modules/dnn/src/caffe/caffe_io.hpp b/modules/dnn/src/caffe/caffe_io.hpp |
| 173 | index f5912c3bcec1..24cd5fa254eb 100644 |
| 174 | --- a/modules/dnn/src/caffe/caffe_io.hpp |
| 175 | +++ b/modules/dnn/src/caffe/caffe_io.hpp |
| 176 | @@ -98,9 +98,9 @@ namespace dnn { |
| 177 | |
| 178 | // Read parameters from a file into a NetParameter proto message. |
| 179 | void ReadNetParamsFromTextFileOrDie(const char* param_file, |
| 180 | - caffe::NetParameter* param); |
| 181 | + opencvcaffe::NetParameter* param); |
| 182 | void ReadNetParamsFromBinaryFileOrDie(const char* param_file, |
| 183 | - caffe::NetParameter* param); |
| 184 | + opencvcaffe::NetParameter* param); |
| 185 | |
| 186 | } |
| 187 | } |
| 188 | diff --git a/modules/dnn/src/caffe/opencv-caffe.proto b/modules/dnn/src/caffe/opencv-caffe.proto |
| 189 | index 3d23fb48ea6a..df4e1d3269ae 100644 |
| 190 | --- a/modules/dnn/src/caffe/opencv-caffe.proto |
| 191 | +++ b/modules/dnn/src/caffe/opencv-caffe.proto |
| 192 | @@ -48,7 +48,7 @@ |
| 193 | |
| 194 | syntax = "proto2"; |
| 195 | |
| 196 | -package caffe; |
| 197 | +package opencvcaffe; |
| 198 | |
| 199 | // Specifies the shape (dimensions) of a Blob. |
| 200 | message BlobShape { |
| 201 | diff --git a/modules/dnn/src/layers/detection_output_layer.cpp b/modules/dnn/src/layers/detection_output_layer.cpp |
| 202 | index f413bad5b81a..832c257eebf9 100644 |
| 203 | --- a/modules/dnn/src/layers/detection_output_layer.cpp |
| 204 | +++ b/modules/dnn/src/layers/detection_output_layer.cpp |
| 205 | @@ -72,7 +72,7 @@ public: |
| 206 | |
| 207 | int _backgroundLabelId; |
| 208 | |
| 209 | - typedef caffe::PriorBoxParameter_CodeType CodeType; |
| 210 | + typedef opencvcaffe::PriorBoxParameter_CodeType CodeType; |
| 211 | CodeType _codeType; |
| 212 | |
| 213 | bool _varianceEncodedInTarget; |
| 214 | @@ -85,7 +85,7 @@ public: |
| 215 | enum { _numAxes = 4 }; |
| 216 | static const std::string _layerName; |
| 217 | |
| 218 | - typedef std::map<int, std::vector<caffe::NormalizedBBox> > LabelBBox; |
| 219 | + typedef std::map<int, std::vector<opencvcaffe::NormalizedBBox> > LabelBBox; |
| 220 | |
| 221 | bool getParameterDict(const LayerParams ¶ms, |
| 222 | const std::string ¶meterName, |
| 223 | @@ -131,11 +131,11 @@ public: |
| 224 | { |
| 225 | String codeTypeString = params.get<String>("code_type").toLowerCase(); |
| 226 | if (codeTypeString == "corner") |
| 227 | - _codeType = caffe::PriorBoxParameter_CodeType_CORNER; |
| 228 | + _codeType = opencvcaffe::PriorBoxParameter_CodeType_CORNER; |
| 229 | else if (codeTypeString == "center_size") |
| 230 | - _codeType = caffe::PriorBoxParameter_CodeType_CENTER_SIZE; |
| 231 | + _codeType = opencvcaffe::PriorBoxParameter_CodeType_CENTER_SIZE; |
| 232 | else |
| 233 | - _codeType = caffe::PriorBoxParameter_CodeType_CORNER; |
| 234 | + _codeType = opencvcaffe::PriorBoxParameter_CodeType_CORNER; |
| 235 | } |
| 236 | |
| 237 | DetectionOutputLayerImpl(const LayerParams ¶ms) |
| 238 | @@ -215,7 +215,7 @@ public: |
| 239 | GetConfidenceScores(confidenceData, num, numPriors, _numClasses, allConfidenceScores); |
| 240 | |
| 241 | // Retrieve all prior bboxes |
| 242 | - std::vector<caffe::NormalizedBBox> priorBBoxes; |
| 243 | + std::vector<opencvcaffe::NormalizedBBox> priorBBoxes; |
| 244 | std::vector<std::vector<float> > priorVariances; |
| 245 | GetPriorBBoxes(priorData, numPriors, priorBBoxes, priorVariances); |
| 246 | |
| 247 | @@ -272,7 +272,7 @@ public: |
| 248 | for (size_t j = 0; j < indices.size(); ++j, ++count) |
| 249 | { |
| 250 | int idx = indices[j]; |
| 251 | - const caffe::NormalizedBBox& decode_bbox = label_bboxes->second[idx]; |
| 252 | + const opencvcaffe::NormalizedBBox& decode_bbox = label_bboxes->second[idx]; |
| 253 | outputsData[count * 7] = i; |
| 254 | outputsData[count * 7 + 1] = label; |
| 255 | outputsData[count * 7 + 2] = scores[idx]; |
| 256 | @@ -355,7 +355,7 @@ public: |
| 257 | |
| 258 | // Compute bbox size |
| 259 | template<bool normalized> |
| 260 | - static float BBoxSize(const caffe::NormalizedBBox& bbox) |
| 261 | + static float BBoxSize(const opencvcaffe::NormalizedBBox& bbox) |
| 262 | { |
| 263 | if (bbox.xmax() < bbox.xmin() || bbox.ymax() < bbox.ymin()) |
| 264 | { |
| 265 | @@ -388,10 +388,10 @@ public: |
| 266 | // Decode a bbox according to a prior bbox |
| 267 | template<bool variance_encoded_in_target> |
| 268 | static void DecodeBBox( |
| 269 | - const caffe::NormalizedBBox& prior_bbox, const std::vector<float>& prior_variance, |
| 270 | + const opencvcaffe::NormalizedBBox& prior_bbox, const std::vector<float>& prior_variance, |
| 271 | const CodeType code_type, |
| 272 | - const bool clip_bbox, const caffe::NormalizedBBox& bbox, |
| 273 | - caffe::NormalizedBBox& decode_bbox) |
| 274 | + const bool clip_bbox, const opencvcaffe::NormalizedBBox& bbox, |
| 275 | + opencvcaffe::NormalizedBBox& decode_bbox) |
| 276 | { |
| 277 | float bbox_xmin = variance_encoded_in_target ? bbox.xmin() : prior_variance[0] * bbox.xmin(); |
| 278 | float bbox_ymin = variance_encoded_in_target ? bbox.ymin() : prior_variance[1] * bbox.ymin(); |
| 279 | @@ -399,13 +399,13 @@ public: |
| 280 | float bbox_ymax = variance_encoded_in_target ? bbox.ymax() : prior_variance[3] * bbox.ymax(); |
| 281 | switch(code_type) |
| 282 | { |
| 283 | - case caffe::PriorBoxParameter_CodeType_CORNER: |
| 284 | + case opencvcaffe::PriorBoxParameter_CodeType_CORNER: |
| 285 | decode_bbox.set_xmin(prior_bbox.xmin() + bbox_xmin); |
| 286 | decode_bbox.set_ymin(prior_bbox.ymin() + bbox_ymin); |
| 287 | decode_bbox.set_xmax(prior_bbox.xmax() + bbox_xmax); |
| 288 | decode_bbox.set_ymax(prior_bbox.ymax() + bbox_ymax); |
| 289 | break; |
| 290 | - case caffe::PriorBoxParameter_CodeType_CENTER_SIZE: |
| 291 | + case opencvcaffe::PriorBoxParameter_CodeType_CENTER_SIZE: |
| 292 | { |
| 293 | float prior_width = prior_bbox.xmax() - prior_bbox.xmin(); |
| 294 | CV_Assert(prior_width > 0); |
| 295 | @@ -431,7 +431,7 @@ public: |
| 296 | }; |
| 297 | if (clip_bbox) |
| 298 | { |
| 299 | - // Clip the caffe::NormalizedBBox such that the range for each corner is [0, 1] |
| 300 | + // Clip the opencvcaffe::NormalizedBBox such that the range for each corner is [0, 1] |
| 301 | decode_bbox.set_xmin(std::max(std::min(decode_bbox.xmin(), 1.f), 0.f)); |
| 302 | decode_bbox.set_ymin(std::max(std::min(decode_bbox.ymin(), 1.f), 0.f)); |
| 303 | decode_bbox.set_xmax(std::max(std::min(decode_bbox.xmax(), 1.f), 0.f)); |
| 304 | @@ -443,11 +443,11 @@ public: |
| 305 | |
| 306 | // Decode a set of bboxes according to a set of prior bboxes |
| 307 | static void DecodeBBoxes( |
| 308 | - const std::vector<caffe::NormalizedBBox>& prior_bboxes, |
| 309 | + const std::vector<opencvcaffe::NormalizedBBox>& prior_bboxes, |
| 310 | const std::vector<std::vector<float> >& prior_variances, |
| 311 | const CodeType code_type, const bool variance_encoded_in_target, |
| 312 | - const bool clip_bbox, const std::vector<caffe::NormalizedBBox>& bboxes, |
| 313 | - std::vector<caffe::NormalizedBBox>& decode_bboxes) |
| 314 | + const bool clip_bbox, const std::vector<opencvcaffe::NormalizedBBox>& bboxes, |
| 315 | + std::vector<opencvcaffe::NormalizedBBox>& decode_bboxes) |
| 316 | { |
| 317 | CV_Assert(prior_bboxes.size() == prior_variances.size()); |
| 318 | CV_Assert(prior_bboxes.size() == bboxes.size()); |
| 319 | @@ -470,7 +470,7 @@ public: |
| 320 | |
| 321 | // Decode all bboxes in a batch |
| 322 | static void DecodeBBoxesAll(const std::vector<LabelBBox>& all_loc_preds, |
| 323 | - const std::vector<caffe::NormalizedBBox>& prior_bboxes, |
| 324 | + const std::vector<opencvcaffe::NormalizedBBox>& prior_bboxes, |
| 325 | const std::vector<std::vector<float> >& prior_variances, |
| 326 | const int num, const bool share_location, |
| 327 | const int num_loc_classes, const int background_label_id, |
| 328 | @@ -503,10 +503,10 @@ public: |
| 329 | // Get prior bounding boxes from prior_data |
| 330 | // prior_data: 1 x 2 x num_priors * 4 x 1 blob. |
| 331 | // num_priors: number of priors. |
| 332 | - // prior_bboxes: stores all the prior bboxes in the format of caffe::NormalizedBBox. |
| 333 | + // prior_bboxes: stores all the prior bboxes in the format of opencvcaffe::NormalizedBBox. |
| 334 | // prior_variances: stores all the variances needed by prior bboxes. |
| 335 | static void GetPriorBBoxes(const float* priorData, const int& numPriors, |
| 336 | - std::vector<caffe::NormalizedBBox>& priorBBoxes, |
| 337 | + std::vector<opencvcaffe::NormalizedBBox>& priorBBoxes, |
| 338 | std::vector<std::vector<float> >& priorVariances) |
| 339 | { |
| 340 | priorBBoxes.clear(); priorBBoxes.resize(numPriors); |
| 341 | @@ -514,7 +514,7 @@ public: |
| 342 | for (int i = 0; i < numPriors; ++i) |
| 343 | { |
| 344 | int startIdx = i * 4; |
| 345 | - caffe::NormalizedBBox& bbox = priorBBoxes[i]; |
| 346 | + opencvcaffe::NormalizedBBox& bbox = priorBBoxes[i]; |
| 347 | bbox.set_xmin(priorData[startIdx]); |
| 348 | bbox.set_ymin(priorData[startIdx + 1]); |
| 349 | bbox.set_xmax(priorData[startIdx + 2]); |
| 350 | @@ -565,7 +565,7 @@ public: |
| 351 | { |
| 352 | labelBBox[label].resize(numPredsPerClass); |
| 353 | } |
| 354 | - caffe::NormalizedBBox& bbox = labelBBox[label][p]; |
| 355 | + opencvcaffe::NormalizedBBox& bbox = labelBBox[label][p]; |
| 356 | bbox.set_xmin(locData[startIdx + c * 4]); |
| 357 | bbox.set_ymin(locData[startIdx + c * 4 + 1]); |
| 358 | bbox.set_xmax(locData[startIdx + c * 4 + 2]); |
| 359 | @@ -612,7 +612,7 @@ public: |
| 360 | // nms_threshold: a threshold used in non maximum suppression. |
| 361 | // top_k: if not -1, keep at most top_k picked indices. |
| 362 | // indices: the kept indices of bboxes after nms. |
| 363 | - static void ApplyNMSFast(const std::vector<caffe::NormalizedBBox>& bboxes, |
| 364 | + static void ApplyNMSFast(const std::vector<opencvcaffe::NormalizedBBox>& bboxes, |
| 365 | const std::vector<float>& scores, const float score_threshold, |
| 366 | const float nms_threshold, const float eta, const int top_k, |
| 367 | std::vector<int>& indices) |
| 368 | @@ -674,10 +674,10 @@ public: |
| 369 | |
| 370 | // Compute the jaccard (intersection over union IoU) overlap between two bboxes. |
| 371 | template<bool normalized> |
| 372 | - static float JaccardOverlap(const caffe::NormalizedBBox& bbox1, |
| 373 | - const caffe::NormalizedBBox& bbox2) |
| 374 | + static float JaccardOverlap(const opencvcaffe::NormalizedBBox& bbox1, |
| 375 | + const opencvcaffe::NormalizedBBox& bbox2) |
| 376 | { |
| 377 | - caffe::NormalizedBBox intersect_bbox; |
| 378 | + opencvcaffe::NormalizedBBox intersect_bbox; |
| 379 | if (bbox2.xmin() > bbox1.xmax() || bbox2.xmax() < bbox1.xmin() || |
| 380 | bbox2.ymin() > bbox1.ymax() || bbox2.ymax() < bbox1.ymin()) |
| 381 | { |
| 382 | diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp |
| 383 | index 1d3c518f1328..3cf6e255aa60 100644 |
| 384 | --- a/modules/dnn/src/caffe/caffe_io.cpp |
| 385 | +++ b/modules/dnn/src/caffe/caffe_io.cpp |
| 386 | @@ -107,7 +107,7 @@ namespace dnn { |
| 387 | |
| 388 | using std::string; |
| 389 | using std::map; |
| 390 | -using namespace caffe; |
| 391 | +using namespace opencvcaffe; |
| 392 | using namespace ::google::protobuf; |
| 393 | using namespace ::google::protobuf::io; |
| 394 | |