Skip to main content

An educational module for experimenting with the YOLO logic for multi-instance object detection and for generating region proposals with graph-based algorithms

Project description

Consult the module API page at

https://engineering.purdue.edu/kak/distYOLO/YOLOLogic-2.1.4.html

for all information related to this module, including information related to the latest changes to the code. The page at the URL shown above lists all of the module functionality you can invoke in your own code.

Single-Instance and Multi-Instance Object Detection:

    Say you wish to experiment with YOLO-like logic for multi-instance
    object detection, you would need to construct an instance of the
    YOLOLogic class and invoke the methods shown below on
    this instance:

    rpg = YOLOLogic(
                      dataroot = "./data/",
                      image_size = [128,128],
                      yolo_interval = 20,
                      path_saved_yolo_model = "./saved_yolo_model",
                      momentum = 0.9,
                      learning_rate = 1e-6,
                      epochs = 40,
                      batch_size = 4,
                      classes = ('Dr_Eval','house','watertower'),
                      use_gpu = True,
                  )
    yolo = YOLOLogic.YoloLikeDetector( rpg = rpg )
    yolo.set_dataloaders(train=True)
    yolo.set_dataloaders(test=True)
    model = yolo.NetForYolo(skip_connections=True, depth=8)
    model = yolo.run_code_for_training_multi_instance_detection(model, display_images=False)
    yolo.run_code_for_training_multi_instance_detection(model, display_images = True)


Graph-Based Algorithms for Region Proposals:

    To generate region proposals, you would need to construct an instance
    of the YOLOLogic class and invoke the methods shown below
    on this instance:

    rpg = YOLOLogic(
                   ###  The first 6 options affect only the graph-based part of the algo
                   sigma = 1.0,
                   max_iterations = 40,
                   kay = 0.05,
                   image_normalization_required = True,
                   image_size_reduction_factor = 4,
                   min_size_for_graph_based_blobs = 4,
                   ###  The next 4 options affect only the Selective Search part of the algo
                   color_homogeneity_thresh = [20,20,20],
                   gray_var_thresh = 16000,
                   texture_homogeneity_thresh = 120,
                   max_num_blobs_expected = 8,
          )

    image_name = "images/mondrian.jpg"
    segmented_graph,color_map = rpg.graph_based_segmentation(image_name)
    rpg.visualize_segmentation_in_pseudocolor(segmented_graph[0], color_map, "graph_based" )
    merged_blobs, color_map = rpg.selective_search_for_region_proposals( segmented_graph, image_name )
    rpg.visualize_segmentation_with_mean_gray(merged_blobs, "ss_based_segmentation_in_bw" )

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

YOLOLogic-2.1.4.tar.gz (365.9 kB view details)

Uploaded Source

File details

Details for the file YOLOLogic-2.1.4.tar.gz.

File metadata

  • Download URL: YOLOLogic-2.1.4.tar.gz
  • Upload date:
  • Size: 365.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for YOLOLogic-2.1.4.tar.gz
Algorithm Hash digest
SHA256 cf463f34ef1e0c070216932c1a447598f21d07a284a651b2bf9870f13e6d4771
MD5 5f29074ef5d30494bd5128e96b363292
BLAKE2b-256 70709b8a79dcd66c5f317864ce88b89828f7f1ac52a6a7419146e493161a97a2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page