项目作者: fastforwardlabs

项目描述 :
A library for Automatic Signature Verification
高级语言: Jupyter Notebook
项目地址: git://github.com/fastforwardlabs/signver.git
创建时间: 2021-04-12T15:05:33Z
项目社区:https://github.com/fastforwardlabs/signver

开源协议:MIT License

下载


SignVer [Alpha]: A library for Automatic Offline Signature Verification

SignVer is an experimental library (not under active development) released as part of work on deep learning for offline signature verification. Read more here.

signver logo - a library for automatic signature verification

SignVer applies modern deep learning techniques in addressing the task of offline signature verification -
given a pair (or pairs of) signatures, determine if they are produced by the same user (genuine signatures) or different users (potential forgeries). SignVer addresses this task by providing a set of modules that address subtasks required to implement signature verification in real world environments.

signver architecture

Signver Library Modules

Detector

Returns a list of bounding boxes where signatures are located in an image.

  1. from signver.detector import Detector
  2. detector = Detector()
  3. detector.load(detector_model_path)
  4. boxes, scores, classes, detections = detector.detect(img_tensor)
  5. plot_np_array(annotated_image, plot_title="Document and Extracted Signatures")

localizer

Cleaner

Returns a list of cleaned signature images (removal of background lines and text), given a list of signature images

  1. # Get image crops
  2. signatures = get_image_crops(img_tensor, boxes, scores, threshold = 0.22 )
  3. cleaned_sigs = cleaner.clean(np.array(signatures))

cleaner

Extractor

Returns a list of vector representations, given a list of image tensors/np arrays

  1. from signver.extractor import MetricExtractor
  2. extractor = MetricExtractor()
  3. extractor.load(extractor_model_path)
  4. features = extractor.extract(signature_list)

Matcher

Returns a distance measure given a pair of signatures

  1. from signver.matcher import Matcher
  2. matcher = Matcher()
  3. matcher.cosine_distance(feat1,feat2) # 0.5
  4. matcher.verify(feat1, feat2) # False