当前位置:网站首页>Training method of grasping angle in grasping detection
Training method of grasping angle in grasping detection
2022-07-03 05:17:00 【Qianyu QY】
I've been looking at the data related to crawl detection during this period , Notice a detail , No matter what kind of grab representation , Both include the grasping rotation angle φ, That is, when the gripper approaches the target vertically , Along the z Angle of axis rotation , The scope is [-π/2,π/2]. In order to train the conversion relationship from the input image to the rotation angle , Generally, the angle value is encoded as the point coordinates on the unit circle (sin2φ, cos2φ) Methods , The purpose is to eliminate the discontinuity of the original angle in the training process . At first, I couldn't understand the meaning of doing this , Later, the source of this method was found according to the references of a certain paper 《Kota Hara, Raviteja Vemulapalli, and Rama Chellappa. Designing Deep Convolutional Neural Networks for Continuous Object Orientation Estimation. arXiv preprint arXiv:1702.01499, 2017》, Summarize the following .
1、 Why not predict directly φ value
At present, the commonly used training model is convolutional neural network , After a series of multiplications, weights and offsets , In the end, I get a value , Calculate the derivative of the loss function with the marked value , Then back propagation updates weights and offsets , Until the loss is minimized . But the angle value is different from the general image classification , The final output of image classification is a set of numbers ( The quantity is the same as the number of labels ), The subscript where the maximum value is found is the prediction label ; But the final output of angle estimation is a value , It is not based on the relationship between multiple values to get the predicted value ( If the maximum 、 Subscript of minimum value, etc ), Our angular dimension value is generally [-π/2,π/2], And the predicted value is generally unbounded , And we can't use a unified scale to scale to the range of marked values to calculate the loss , Therefore, it is impossible to predict radian directly .
2、 Thesis method 1 : Encode the angle value as the point coordinates on the unit circle (sin2φ, cos2φ)
The final output value is not directly used as radian to calculate the loss , But as the coordinates of points on the unit circle (sin2φ, cos2φ)( The angle estimated in the paper is [-π,π], So it is sinφ and cosφ, Here, because the prediction point may be any point on the unit circle , So use sin2φ and cos2φ). Corresponding ,groundTruth It is also changed to the corresponding sin2φ and cos2φ. Because in the grab detection , Angle estimation and gripper width 、 Grasping coordinates and so on are trained at the same time , So the loss function is L2 Or cross entropy . So when it's running , The predicted value of the network is sin2φ and cos2φ, We'll pass it again
Reverse the arc . In this way , It avoids the problem of directly predicting radian , Because no matter what the predicted value is , He can exit a radian value through the above formula .
however , use L2 Norm or similar functions have a disadvantage in finding losses , The loss is not only related to the angle difference , It is also related to the predicted radius of the circle . It's related to the angle difference. It's easy to understand , How to understand it related to the predicted radius of the circle , This goes back to the previous paragraph , Dimensioned sin2φ and cos2φ Add the squares and the result is 1, That is, all dimension values are the coordinates of points on the unit circle with the center of the unit circle as the origin ; But the predicted result does not necessarily satisfy the sum of squares 1, Even if the radian deduced from the predicted value is the same as the marked value , Also, because of the difference in the sum of squares, the loss will not be 0, As shown in the figure below .


3、 Thesis method 2 : The loss function is modified in method 1 , The other is constant
The loss function is as follows :

here , If the angle between the predicted value and the marked value is the same , Even if the radius of the circle is different , Loss is also 0.
But if you want to use two loss functions in the crawl detection network , It's more troublesome to implement , And even if you do , It's hard to say whether to improve accuracy while reducing speed or other advantages , But it's worth trying .
At the same time, the paper also introduces a better method than the first two methods , The general principle is to discretize the continuous angle estimation , Use the network to predict the probability in each discrete interval , Finally, reverse the arc . Because time is limited , I didn't study it carefully , I'll see it later .
边栏推荐
- Pan details of deep learning
- (subplots用法)matplotlib如何绘制多个子图(轴域)
- leetcode406. Rebuild the queue based on height
- Go practice -- use redis in golang (redis and go redis / redis)
- Go practice -- gorilla/rpc (gorilla/rpc/json) used by gorilla web Toolkit
- Redis expiration elimination mechanism
- Redis 入門和數據類型講解
- Gbase8s composite index (I)
- Configure and use Anaconda environment in pycharm
- cookie session jwt
猜你喜欢

How to connect the network: Chapter 2 (Part 1): a life cycle of TCP connection | CSDN creation punch in

Primary school campus IP network broadcasting - Design of primary school IP digital broadcasting system based on campus LAN

cookie session jwt

Gbase8s composite index (I)

2022-02-12 daily clock in: problem fine brush

Technical analysis of qianyuantong multi card aggregation router

College campus IP network broadcasting - manufacturer's design guide for college campus IP broadcasting scheme based on campus LAN

es7创建索引容易犯的错误
![[set theory] relationship properties (common relationship properties | relationship properties examples | relationship operation properties)](/img/af/8dfa783c87363a9d75c52e7680d508.jpg)
[set theory] relationship properties (common relationship properties | relationship properties examples | relationship operation properties)

ES7 easy mistakes in index creation
随机推荐
Go practice -- use redis in golang (redis and go redis / redis)
音频焦点系列:手写一个demo理解音频焦点与AudioMananger
Botu uses peek and poke for IO mapping
Self introduction and objectives
Yolov5 network structure + code + application details | CSDN creation punch in
最大连续子段和(动态规划,递归,递推)
[research materials] 2021 China's game industry brand report - Download attached
【批处理DOS-CMD命令-汇总和小结】-CMD窗口的设置与操作命令-关闭cmd窗口、退出cmd环境(exit、exit /b、goto :eof)
1119 pre- and post order traversals (30 points)
How to connect the network: Chapter 1 CSDN creation punch in
JS scope
乾元通多卡聚合路由器的技术解析
XML Configuration File
Intégration profonde et alignement des séquences de protéines Google
Redis expiration elimination mechanism
聊聊如何利用p6spy进行sql监控
[clock 223] [binary tree] [leetcode high frequency]: 102 Sequence traversal of binary tree
BTC-密码学原理
编译GCC遇到的“pthread.h” not found问题
Redis 击穿穿透雪崩