def bbox_overlap(bbox_a, bbox_b):
    """
    Returns overlapping AREA of `bbox_a` and `bbox_b`

    Args:
        bbox_a(:class:`numpy.ndarray`): [ymin_a, xmin_a, ymax_a, xmax_a]
        bbox_b(:class:`numpy.ndarray`): [ymin_b, xmin_b, ymax_b, xmax_b]
    Returns:
        int
    """
    ymin_a, xmin_a, ymax_a, xmax_a = bbox_a
    ymin_b, xmin_b, ymax_b, xmax_b = bbox_b

    x_intersection = min(xmax_a, xmax_b) - max(xmin_a, xmin_b) + 1
    y_intersection = min(ymax_a, ymax_b) - max(ymin_a, ymin_b) + 1

    if x_intersection <= 0 or y_intersection <= 0:
        return 0
    else:
        return x_intersection * y_intersection