簡體   English   中英

opencv :: dnn中的神經網絡輸入大小

[英]Neural network input size in opencv::dnn

我想確定(動態地)作為opencv的dnn模塊加載的深度神經網絡模型的輸入所期望的圖像大小。 例如,如果我加載caffe模型,則首先需要:

cv::Mat img = imread("my_image.jpg");
cv::dnn::Net m_net;
m_net = cv::dnn::readNetFromCaffe("my_prototxt","my_model");

int img_size; // TODO how to determine it ?

cv::Mat blob =  cv::dnn::blobFromImage(img, 1.0, cv::Size(img_size, img_size));
m_net.setInput(blob);
cv::Mat res = m_net.forward("layer_name");

我的問題是從此處從m_net確定img_size 我想用dnn::getLayersShapes應該是可行的,但我不明白在我的情況下應該是第一個參數。

我在這里給出了caffe模型的示例,但我也對能夠使用tensorflow,darknet或火炬模型執行相同操作感興趣。

如果您打開caffe模型隨附的“ .prototext”文件,則將說明所需的輸入大小。 (除咖啡模型外,未使用其他模型)

設置正確的輸入大小是用戶的責任,例如某些網絡體系結構。 完全連接的前饋網絡需要精確大小的輸入,而CNN這樣的體系結構則不需要,並且可以在任意大小的輸入圖像上工作。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM