Giter Site home page Giter Site logo

deephoughtransform's Introduction

DeepHoughTransform

Add training codes into Hanqer/deep-hough-transform.

Brief

  • Since there are no training codes in the original repo, I decided to add some training codes.
  • I considered to use the architecture of deep-hough-transform to train on my own task. The task is not actually similar to the task of Semantic Line Detection.
  • This repo is just an attempt of writing the training codes. No plan to open my dataset or evaluate the model.
  • (In Chinese): 这条用中文再啰嗦叙述一下,因为我个人目前的工作想要考虑看一下这个deep hough transform的方法能不能用在我的数据集上,但是他这个没有训练代码啊,自己试着写一下。
  • 多说一句,看代码的时候我发现trainset的设置(数据读取、transform)作者闭源了,另外label和loss计算也都闭源了,所以我考虑这两个点是有比较重点的tricks。

Requirements

  • Developed under Pytorch1.3 Python3.6

Remarks

  • 看了一下作者的代码,forward.py里面写的很清楚了,网络前向输出的是keypoints。 这个keypoints就是HoughLineTransform之后的那个参数空间的map, 因为HoughLineTransform其实本质上就是在一个二维图上面, 每个点表示一根直线,原图片上有点在这个直线上的话就给这根线“投票”一次, 所以最后的这个map,最大值可能有几百上千。因此前向输出后再接了一个sigmoid映射到1以内。
  • 我看了作者的c_dht的实现,似乎是没有进行参数学习的,只是写成了深度网络的层, 所以测试了一下如果直接输入一个二值化的图,上面只有一根直线,输出的结果上确实有一个“能量最大”的点,这个点可以作为学习的对象; 但我的工作其实是想语义性的识别圆,如果输入的是圆的二值化的图,输出的结果图就会是:

data/circle.png

这样的图片没法学啊。后来想了一下因为映射方法固定了,作者原始的课题就是做直线,那就是映射到Hough直线变换后的空间,这个空间不是给圆设计的。 因此如果我要进行类似的圆的检测,必须自己设计一个参数空间,然后自己设计一个c_dhct(deep hough circle transform)嵌到网络中进行训练。 (所以这个项目的后续开发可能不会有了,目前已经写了的可以po出来看看有没有人需要的) P.S.原文说可以扩展做arbitrary shapes的课题,其实还是有局限性吧……

TODOs

  • Not finished yet

deephoughtransform's People

Contributors

unanan avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

drzhoukarl

deephoughtransform's Issues

Training code

你好,我是Deep Hough Transform论文的作者,感谢你对我们的工作感兴趣。
关于训练代码,如有任何非商业用途需要,可以直接Email我获取。 有关论文方法的任何问题和拓展,欢迎一起讨论。

Qi Han
[email protected]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.