remydubois / lsnms

Large Scale Non maximum Suppression. This project implements a O(nlog(n)) approach for non max suppression, useful for object detection ran on very large images such as satellite or histology, when the number of instances to prune becomes very large.
63 stars 5 forks source link

Issue 19 #21

Closed chottAA5208 closed 1 year ago

remydubois commented 1 year ago

The only that is missing for the CI to pass, is that all the tests in test/test_nms.py must be modified accordingly. Example with test_rtree_nms:

def test_rtree_nms(instances, score_threshold):

    boxes, scores = instances

    # Manually filter instances based on scores because torch's NMS does not do it
    scores_mask = scores > score_threshold
    torch_boxes = boxes[scores_mask]
    torch_scores = scores[scores_mask]

    # Compare against torch
    _k1 = box_ops.nms(torch.tensor(torch_boxes), torch.tensor(torch_scores), 0.5).numpy()
    # argwhere returns array of shape (n, 1)
    k1 = np.argwhere(scores_mask)[_k1, 0]

    # Compare sparse NMS
    k2 = nms(boxes, scores, 0.5, score_threshold)

    assert np.allclose(k1, k2)

Et cetera, for the all the other tests of the section.

chottAA5208 commented 1 year ago

@remydubois - with the latest changes, I believe we are good to go! Let me know if there is anything else I can do to help update this!

chottAA5208 commented 1 year ago

Remy -

All tests now past! looking forward to seeing these changes added into the next release!


From: Rémy Dubois @.> Sent: Sunday, July 30, 2023 1:32 PM To: remydubois/lsnms @.> Cc: Chott, Taylor - US @.>; Author @.> Subject: Re: [remydubois/lsnms] Issue 19 (PR #21)

EXTERNAL EMAIL - This email originated from outside of CACI. Do not click any links or attachments unless you recognize and trust the sender.

The only that is missing for the CI to pass, is that all the tests in test/test_nms.py must be modified accordingly. Example with test_rtree_nms:

def test_rtree_nms(instances, score_threshold):

boxes, scores = instances

# Manually filter instances based on scores because torch's NMS does not do it
scores_mask = scores > score_threshold
torch_boxes = boxes[scores_mask]
torch_scores = scores[scores_mask]

# Compare against torch
_k1 = box_ops.nms(torch.tensor(torch_boxes), torch.tensor(torch_scores), 0.5).numpy()
# argwhere returns array of shape (n, 1)
k1 = np.argwhere(scores_mask)[_k1, 0]

# Compare sparse NMS
k2 = nms(boxes, scores, 0.5, score_threshold)

assert np.allclose(k1, k2)

Et cetera, for the all the other tests of the section.

— Reply to this email directly, view it on GitHubhttps://github.com/remydubois/lsnms/pull/21#issuecomment-1657248422, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKGVYIM4VRUNED7LZFA57SLXS2ZGDANCNFSM6AAAAAA22TOV3Q. You are receiving this because you authored the thread.Message ID: @.***>


This electronic message contains information from CACI International Inc or subsidiary companies, which may be company sensitive, proprietary, privileged or otherwise protected from disclosure. The information is intended to be used solely by the recipient(s) named above. If you are not an intended recipient, be aware that any review, disclosure, copying, distribution or use of this transmission or its contents is prohibited. If you have received this transmission in error, please notify the sender immediately.

chottAA5208 commented 1 year ago

Awesome! Looks like i can't merge unless with my current privileges. We will be watching for it to go in! Thanks for working with us (again!)


From: Rémy Dubois @.> Sent: Monday, July 31, 2023 12:27 PM To: remydubois/lsnms @.> Cc: Chott, Taylor - US @.>; Author @.> Subject: Re: [remydubois/lsnms] Issue 19 (PR #21)

EXTERNAL EMAIL - This email originated from outside of CACI. Do not click any links or attachments unless you recognize and trust the sender.

@remydubois approved this pull request.

— Reply to this email directly, view it on GitHubhttps://github.com/remydubois/lsnms/pull/21#pullrequestreview-1555510046, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKGVYILR5CIOZGC6LRXZL6LXS72KBANCNFSM6AAAAAA22TOV3Q. You are receiving this because you authored the thread.Message ID: @.***>


This electronic message contains information from CACI International Inc or subsidiary companies, which may be company sensitive, proprietary, privileged or otherwise protected from disclosure. The information is intended to be used solely by the recipient(s) named above. If you are not an intended recipient, be aware that any review, disclosure, copying, distribution or use of this transmission or its contents is prohibited. If you have received this transmission in error, please notify the sender immediately.

chottAA5208 commented 1 year ago

WHOO HOOO! Thanks


From: Rémy Dubois @.> Sent: Monday, July 31, 2023 2:51 PM To: remydubois/lsnms @.> Cc: Chott, Taylor - US @.>; Author @.> Subject: Re: [remydubois/lsnms] Issue 19 (PR #21)

EXTERNAL EMAIL - This email originated from outside of CACI. Do not click any links or attachments unless you recognize and trust the sender.

Merged #21https://github.com/remydubois/lsnms/pull/21 into main.

— Reply to this email directly, view it on GitHubhttps://github.com/remydubois/lsnms/pull/21#event-9968839715, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKGVYIPHLAGAPCF4DTPY2DDXTALFVANCNFSM6AAAAAA22TOV3Q. You are receiving this because you authored the thread.Message ID: @.***>


This electronic message contains information from CACI International Inc or subsidiary companies, which may be company sensitive, proprietary, privileged or otherwise protected from disclosure. The information is intended to be used solely by the recipient(s) named above. If you are not an intended recipient, be aware that any review, disclosure, copying, distribution or use of this transmission or its contents is prohibited. If you have received this transmission in error, please notify the sender immediately.

remydubois commented 1 year ago

Thanks for the PR !

0.4.1 should be published on pypi 🎉