yanconglin / Deep-Hough-Transform-Line-Priors

Official implementation for Deep-Hough-Transform-Line-Priors (ECCV 2020)
MIT License
164 stars 31 forks source link

some question about the paper #10

Closed iifeve closed 2 years ago

iifeve commented 2 years ago

Dr Lin, thanks for your excellent work, but there is something I can't understand. May I ask for some favors?

As I interpreted, This paper introduced a net structure to improve performance for detecting lines, which could be used in any net-work as a beside branch.

for first step, this branch take feature map extracted by net into hough-transform, and then conduct conv and inverse hough transform. at last , we get the feature map and cat it on the main branch.

but I noticed that the function hough-transform didn't take the image as a input, and in training progress, vote_index is calculated by hough-transform, dose that mean vote_index won't different from the input feature map.

And I try to use this architecture in my work to detect the line segment which is a lightweight net, I wonder would you mind giving me some advice.

yanconglin commented 2 years ago

HT-IHT module takes as input a feature map of size [B, C, H, W], and outputs another feature map of the same dimensions. In the paper, H = 128, W=128. As long as the feature size is the same, you do not need to change the vote_index.

To run the HT module on a new dataset with a different size, you need to re-calculate the vote_index matrix.

iifeve commented 2 years ago

thank you for your reply,I will try to interprete…

On Tue, Jun 7, 2022, 5:44 PM CVisioner @.***> wrote:

HT module takes as input a feature map of size [B, C, H, W], and outputs another feature map of the same dimensions. In the paper, H = 128, W=128. As long as the feature size is the same, you do not need to change the vote_index.

To run the HT module on a new dataset with a different size, you need to re-calculate the vote_index matrix.

— Reply to this email directly, view it on GitHub https://github.com/yanconglin/Deep-Hough-Transform-Line-Priors/issues/10#issuecomment-1148443069, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFOK4IT2IYFSLB4F2J7XMXTVN4KY7ANCNFSM5XU4SXTQ . You are receiving this because you authored the thread.Message ID: @.*** com>

toshi2k2 commented 2 years ago

Does the size of the vote index matrix depend on the feature map size or the input image size? If we are using the HT-IHT module at different depths in the network with different sizes, do we need to calculate vote_index matrices for all of them?

iifeve commented 2 years ago

it depends on the feature map size and yes with different channel size, different ht-iht layer should be applied

toshi2k2 commented 2 years ago

Thanks. I thought the vote_index calculation only requires the height and width of the feature map (and not the channel depth/size)? Also, I didn't understand the usage of the vote_index in the calculation of hough transform (and then doing the dot product of the relu(feature map) with it. In the paper, it is mentioned that the Hough transform is done on greyscale feature maps instead of binary feature maps akin to Radon transform. Is there any special modifications w.r.t this? In the paper, there is a binary mask which defines the relationship between feature pixels and hough transform array. can you point me to where that is in the code?

iifeve commented 2 years ago

yes. it didn't calculate the channel depth, I mean different channel come with different feature map size, which results in different ht-iht dot product, as I interpreted, was used to calculate vote score for every pixel in feature map I have no clues about Radon Transform In ht.py I hope this could be helpful, And I'm not sure I interpret this paper correctly.

toshi2k2 @.***> 于2022年7月21日周四 11:47写道:

Thanks. I thought the vote_index calculation only requires the height and width of the feature map (and not the channel depth/size)? Also, I didn't understand the usage of the vote_index in the calculation of hough transform (and then doing the dot product of the relu(feature map) with it. In the paper, it is mentioned that the Hough transform is done on greyscale feature maps instead of binary feature maps akin to Radon transform. Is there any special modifications w.r.t this? In the paper, there is a binary mask which defines the relationship between feature pixels and hough transform array. can you point me to where that is in the code?

— Reply to this email directly, view it on GitHub https://github.com/yanconglin/Deep-Hough-Transform-Line-Priors/issues/10#issuecomment-1191005442, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFOK4IWCG5G5KXSJZEUJXNDVVDB3ZANCNFSM5XU4SXTQ . You are receiving this because you authored the thread.Message ID: @.*** com>

yanconglin commented 2 years ago

thank you for the explanation @iifeve . You might want to check this paper which highlights the relation between the two transforms. Actually, the idea of initialization comes from the Radon Transform. "van Ginkel, Michael, CL Luengo Hendriks, and Lucas J. van Vliet. "A short introduction to the Radon and Hough transforms and how they relate to each other." Delft University of Technology (2004)."