Yuqifan1117 / CaCao

This is the official repository for the paper "Visually-Prompted Language Model for Fine-Grained Scene Graph Generation in an Open World" (Accepted by ICCV 2023)
40 stars 5 forks source link

Code for the heuristic rules using to automatically filter out predicates #12

Closed Yassin-fan closed 8 months ago

Yassin-fan commented 10 months ago

Hello again :)

As mentioned in the paper, you designed heuristic rules (i.e. corpus co-occurrence frequency, lexical analysis layer depth) to automatically filter out predicates that are not informative or misspelled, and retained 585 different categories of predicates.

However, I did not find the code corresponding to the heuristic rules, only the file "openworld_predicate_mapping_dict_50.json" recorded the final 586 predicates.

Could you please provide the code corresponding to the heuristic rules?

Yuqifan1117 commented 10 months ago

it seems in the file 'models/MLM/utils.py'(In the annotation code, we filter for general predicates and those that do not contain semantics, as well as those too many(>3000) predicates, and finally we got those predicates to load directly), we also have uploaded the final predicates file.

Yassin-fan commented 10 months ago

Thanks for answering my question during the holidays , I read the code in 'models/MLM/utils.py'

In my opinion, this part of the code directly loads the 587 predicates that have been extracted, uses them for filtering and weight calculation, and uses them for subsequent training and adaptive loss design.

However, I did not see the process of filtering and merging the more than 5,000 predicates in image_caption_triplet_all.json to obtain 587 predicates.

This part of the code may not be important, I'm just curious about the generation process of 587 kinds of predicates :)