class_docstr: Differentiable Binarization (DB) for text detection:
      see https://arxiv.org/abs/1911.08947
  args:
      params(dict): super parameters for build DB network
class_docstr_tok: ["Differentiable","Binarization","(","DB",")","for","text","detection",":","see","https",":","\/\/arxiv.org\/abs\/1911.08947","args",":","params","(","dict",")",":","super","parameters","for","build","DB","network"]
code: def forward(self, x, targets=None):
      shrink_maps = self.binarize(x)
      if not self.training:
          return {"maps": shrink_maps}
  
      threshold_maps = self.thresh(x)
      binary_maps = self.step_function(shrink_maps, threshold_maps)
      y = paddle.concat(
          [shrink_maps, threshold_maps, binary_maps], axis=1
      )
      return {"maps": y}
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import math
  import paddle
  from paddle import nn
  import paddle.nn.functional
  from paddle import ParamAttr
  from ppocr.modeling.backbones.det_mobilenet_v3 import ConvBNLayer
label_desc: Use image node_id 3 for calling the DBHead obj's underlying member method code with example usage: obj.forward(x, targets) and returns: dict, dict