teoge / dmpr-ps Goto Github PK
View Code? Open in Web Editor NEWDMPR-PS: A Novel Approach for Parking-Slot Detection Using Directional Marking-Point Regression
License: GNU General Public License v3.0
DMPR-PS: A Novel Approach for Parking-Slot Detection Using Directional Marking-Point Regression
License: GNU General Public License v3.0
我用训练好的权重文件去预测,得到的averaget_precision都是0,这是什么原因
1、判断两点之间是否有第三点的代码看懂了,但是这么做的原理是什么没想明白,虽然我验证了几组数据这么做是对的。代码在process.py的pass_through_third_point函数
2、struct.py的detemine_point_shape函数,我从代码里读的意思是根据角点倾斜角和两点的倾斜角差来判断角点的类型,但是config里的两个ANGLE_DIFF取值我有点不太懂,请问这块的原理依据是什么呢。
你好,
图片大小有什么限制吗,一定要resize到512吗?
代码centralied_marks[:, 0:4] -= 300.5含义是什么?
Hello Teoge
Thanks for your code.
When I took the step of inference,I found that the plot of marking points on the image can display.However,it can‘t display the plot of parking slots on the image.So i write you here for help to slove this problem.
Hi Teoge, what is the meaning of the 3rd and 4th value of a single vector in 'marks'. The json file describes the 'mark' as {x,y,coordinate,direction,type}, and in the paper {x,y,s,theta}. So the 3rd and 4th value form a vector that describe the direction vector theta?
readme中https://drive.google.com/open?id=1OuyF8bGttA11-CKJ4Mj3dYAl5q4NL5IT这个链接貌似没法访问。目前想问下除了自己训练以外detector_weights在哪里能够获取吗?想随便有一版的detector_weights,试下代码能否跑通
Hi,
I believe there's an issue with the get_confidence_list() function.
When I used your pre-trained model, I couldn't achieve the same performance metrics as you reported.
I think the else clause should be removed because it calculates values that should not be considered.
The function should only handle cases where the prediction is a true positive and matches well with the ground truth (GT).
If a prediction does not match well with a ground truth, it should not append 0 to the same list (true_positive_list).
Appending 0 incorrectly includes non-matching predictions in the calculation, which creates problems when calculating precision and recall.
I will wait your reply.
Thanks
What does the "slots" of json label in PS2.0 dataset mean? For example, "slots": [[1,2,1,90], [2,3,1,90]], what does it mean?
在运行readme.md文件中的evaluate.py时,出现问题
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
之前的准备和扩充数据集是没有问题的,到了评估阶段出现这个问题,想问一下作者,这个是什么原因导致的?
Thanks for your work!
I wonder to know how to generate the json label file?
I notice that the marks parameters in json label files are added 2 value relative to the .mat label file. What are those parameters mean and how to calculate this extra parameters?
Looking forward for your response.
Hello Teoge,
I want to add on more type of OPEN Slot parking type, following steps done
I'm unable to differentiate the shapes between L and Open Shape parking slots.
I kindly request you to provide information, how to differentiate between the shape types from model, do we need to change config parameter during training itself so that we get different shape values for different parking shapes.
I request you to provide some information for above regards.
Thanks,
Anil.
process.py中有pair_marking_points函数,这其中我枚举了一下是有以下12种情况能够返回1或者-1,进而组成slot:
但是看一些解读以及论文中的Fig.5看确实有16种组合情况。请问下是我在哪里遗漏了吗?
def pair_marking_points(point_a, point_b):
"""See whether two marking points form a slot."""
vector_ab = np.array([point_b.x - point_a.x, point_b.y - point_a.y])
vector_ab = vector_ab / np.linalg.norm(vector_ab)
point_shape_a = detemine_point_shape(point_a, vector_ab)
point_shape_b = detemine_point_shape(point_b, -vector_ab)
if point_shape_a.value == 0 or point_shape_b.value == 0:
return 0
if point_shape_a.value == 3 and point_shape_b.value == 3:
return 0
if point_shape_a.value > 3 and point_shape_b.value > 3:
return 0
if point_shape_a.value < 3 and point_shape_b.value < 3:
return 0
if point_shape_a.value != 3:
if point_shape_a.value > 3:
return 1
if point_shape_a.value < 3:
return -1
if point_shape_a.value == 3:
if point_shape_b.value < 3:
return 1
if point_shape_b.value > 3:
return -1
Excuse me! I annotated the parking slot marking according to the marking tools, but the result is not same as your provided. The difference is that yours have the direction and the type of parking slot marking point, but i only have the coordinate of marking point. If i need to calculate the orientation of that? or how do you get it through the annotation tool?
Thanks, Teoge.
yifei
Hello, I noticed the line 56 of prepare_dataset.py "generalized_marks.append([xval, yval, direction, mark[4]])" . How do I generate the current json format file from the original mat file?
Hi , Teoge. I want to train it use n(n>1) GPUS? if , need to change the code.
hi, thank you for your good job. could you tell us what "slots" means in the json file?
您好,能请问您代码里config.py里的先验值SHORT_SEPARATOR_LENGTH = 0.199519231、
LONG_SEPARATOR_LENGTH = 0.46875是如何得到的吗?
Hello, Can you provide a download link for this paper?
Follow your approach to PS2 0 data set, the training set and test set obtained, and the weight file obtained after training are used for parking point detection and evaluation. The evaluation data of parking point detection is shown in the figure below:
In addition, the same data set is tested, and the weight file is modified to the author's. The evaluation data are as follows:
The effect given in the original paper is
So you need to explain to me why this happens? Or is there something wrong with my experiment?
Hello, I am interested in working with this algorithm, however, the parking spaces I want to detect do not correspond to either the L or T type. In fact, the parking spaces I want to detect are rather straight lines that do not have significant intersections. I would like to know why this case has not been considered in your algorithm. If I add an output to the network to classify this new type of parking space, taking into account annotation and inference, do you think it could work?
Hi, Teoge!
Thanks for your contribution about parking slot, I'm appreciated for it. But I have an question about your result:
The paper said the result of DMPR has recalls of 99.37% and precisions of 99.42%, But I test you released pre-trained weights only achieved the recalls of 49.6% and precisions of 99.5%, the evaluation in code I used:
So, What can I do to re-implement the result about your paper said?
Hello Teoge,
I want to use my data training the model, but I do not understand the parameter in the config.py, how to calculate?
the parameter:
BOUNDARY_THRESH = 0.05##=3 pixel in 512 or 600????
SQUARED_DISTANCE_THRESH = 0.000277778 #????????,paper is 10 pixel,but not, whether in 512 or 600.
DIRECTION_ANGLE_THRESH = 0.5235987755982988 # 30 degree in rad in paper
###?what stand by and how to calculate?
VSLOT_MIN_DIST = 0.044771278151623496 #????
VSLOT_MAX_DIST = 0.1099427457599304#?????
HSLOT_MIN_DIST = 0.15057789144568634#?????
HSLOT_MAX_DIST = 0.44449496544202816#?????
####what stand by and how to calculate?
SHORT_SEPARATOR_LENGTH = 0.199519231##?????
LONG_SEPARATOR_LENGTH = 0.46875##?????
BRIDGE_ANGLE_DIFF = 0.09757113548987695 + 0.1384059287593468 #0.09757113548987695-->5.59
SEPARATOR_ANGLE_DIFF = 0.284967562063968 + 0.1384059287593468 #0.284967562063968-->16.32, 0.1384059287593468-->7.93 degree to rad
I request you to provide some information for above regards.
Thanks,
Shuai.
我用的pytorch1.7版本测试,出现的上述问题,不知道应该怎么解决,
作者您好,
1、请问符合条件(距离阈值,中间没有穿过第三个marking-point)的两个marking-point,各自怎么对应Fig. 5中的五种marking-point
2、T形状和L形状的marking-point确定了方向后,对停车位推断有何帮助?
您好,請問是否有人使用c++實現?
您好,请问用监控摄像头里的图片制作数据集从而代替AVM环视图以及PS2.0的数据集,然而我发现我这样提取出来的图片不是垂直的停车位,这样的话用您的标注工具手动输入一些信息的话,能用您这个网络训练吗?
或者说我现在将摄像头仅仅垂直的放在若干个停车位的上方,这样的话采集过来的图片能用该网络跑吗?
Hello @Teoge,
first of all, thank you for sharing your research together with your code here!
I tried to execute your code and the inference ran flawlessly. Unfortunately, the training is not running due to the following error at location
Lines 73 to 79 in 88b77e3
Exception has occurred: AttributeError Can't pickle local object 'train_detector.<locals>.<lambda>'
I executed your code with python 3.7.0 and torch 1.7.0.
I would appreciate any hint you have for me :)
Best,
Johannes
1、判断两点之间是否有第三点的代码看懂了,但是这么做的原理是什么没想明白,虽然我验证了几组数据这么做是对的。代码在process.py的pass_through_third_point函数
2、struct.py的detemine_point_shape函数,我从代码里读的意思是根据角点倾斜角和两点的倾斜角差来判断角点的类型,但是config里的两个ANGLE_DIFF取值我有点不太懂,请问这块的原理依据是什么呢。
Ps2.0 dataset and the PSV dataset can't be downloaded from the Internet, can you share it?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.