libcom 0.0.2.post1__tar.gz → 0.1.1.post1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/LICENSE +0 -0
  2. libcom-0.1.1.post1/PKG-INFO +130 -0
  3. libcom-0.1.1.post1/README.md +82 -0
  4. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/__init__.py +6 -3
  5. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/color_transfer/__init__.py +0 -0
  6. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/color_transfer/reinhard.py +0 -0
  7. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fopa_heat_map/__init__.py +0 -0
  8. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fopa_heat_map/fopa_heat_map.py +5 -7
  9. {libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom → libcom-0.1.1.post1/libcom/fopa_heat_map/source}/__init__.py +0 -0
  10. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fopa_heat_map/source/backbone/ResNet.py +0 -0
  11. {libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/configs → libcom-0.1.1.post1/libcom/fopa_heat_map/source/backbone}/__init__.py +0 -0
  12. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fopa_heat_map/source/data/OBdataset.py +2 -2
  13. {libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm → libcom-0.1.1.post1/libcom/fopa_heat_map/source/data}/__init__.py +0 -0
  14. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fopa_heat_map/source/data/all_transforms.py +0 -0
  15. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fopa_heat_map/source/network/BaseBlocks.py +0 -0
  16. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fopa_heat_map/source/network/DynamicModules.py +0 -0
  17. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fopa_heat_map/source/network/ObPlaNet_simple.py +0 -0
  18. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fopa_heat_map/source/network/__init__.py +0 -0
  19. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fopa_heat_map/source/network/tensor_ops.py +0 -0
  20. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fopa_heat_map/source/prepare_multi_fg_scales.py +0 -0
  21. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fos_score/__init__.py +0 -0
  22. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fos_score/fos_score_prediction.py +2 -2
  23. {libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/data → libcom-0.1.1.post1/libcom/fos_score/source}/__init__.py +0 -0
  24. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fos_score/source/config/__init__.py +0 -0
  25. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fos_score/source/config/config.py +0 -0
  26. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fos_score/source/config/config.sfosd.yaml +0 -0
  27. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fos_score/source/config/config_rfosd.yaml +0 -0
  28. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fos_score/source/loss_function.py +0 -0
  29. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/fos_score/source/networks.py +0 -0
  30. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/harmony_score/__init__.py +0 -0
  31. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/harmony_score/harmony_score_prediction.py +1 -1
  32. {libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/models → libcom-0.1.1.post1/libcom/harmony_score/source}/__init__.py +0 -0
  33. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/harmony_score/source/bargainnet.py +0 -0
  34. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/image_harmonization/__init__.py +0 -0
  35. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/image_harmonization/image_harmonization.py +1 -1
  36. {libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/models/diffusion → libcom-0.1.1.post1/libcom/image_harmonization/source}/__init__.py +0 -0
  37. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/image_harmonization/source/cdt_net.py +0 -0
  38. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/image_harmonization/source/functions.py +0 -3
  39. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/image_harmonization/source/pct_net.py +0 -0
  40. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/inharmonious_region_localization/__init__.py +0 -0
  41. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/inharmonious_region_localization/inharmonious_region_localization.py +2 -2
  42. {libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/modules → libcom-0.1.1.post1/libcom/inharmonious_region_localization/source}/__init__.py +0 -0
  43. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/inharmonious_region_localization/source/blocks.py +0 -0
  44. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/inharmonious_region_localization/source/functions.py +0 -0
  45. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/inharmonious_region_localization/source/madis_net.py +0 -0
  46. libcom-0.1.1.post1/libcom/insert_anything/__init__.py +3 -0
  47. libcom-0.1.1.post1/libcom/insert_anything/insert_anything.py +210 -0
  48. libcom-0.1.1.post1/libcom/kontext_blending_harmonization/__init__.py +3 -0
  49. libcom-0.1.1.post1/libcom/kontext_blending_harmonization/kontext_blending_harmonization.py +147 -0
  50. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/naive_composition/__init__.py +0 -0
  51. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/naive_composition/generate_composite_image.py +0 -0
  52. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/opa_score/__init__.py +0 -0
  53. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/opa_score/opa_score_prediction.py +1 -1
  54. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/opa_score/source/__init__.py +0 -0
  55. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/opa_score/source/object_place_net.py +0 -0
  56. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/opa_score/source/oblect_place_config.py +0 -0
  57. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/opa_score/source/resnet_4ch.py +0 -0
  58. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/__init__.py +0 -0
  59. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/painterly_image_harmonization.py +1 -1
  60. {libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/modules/diffusionmodules → libcom-0.1.1.post1/libcom/painterly_image_harmonization/source/PHDNet}/__init__.py +0 -0
  61. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDNet/networks.py +0 -0
  62. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDNet/phdnet.py +1 -1
  63. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDNet/phdnet_config.py +0 -0
  64. {libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/modules/distributions → libcom-0.1.1.post1/libcom/painterly_image_harmonization/source/PHDiffusion}/__init__.py +0 -0
  65. {libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/modules/encoders → libcom-0.1.1.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm}/__init__.py +0 -0
  66. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/inference_base.py +0 -0
  67. {libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom → libcom-0.1.1.post1/libcom/painterly_image_harmonization/source/PHDiffusion}/ldm/lr_scheduler.py +0 -0
  68. {libcom-0.0.2.post1/libcom/controllable_composition/source → libcom-0.1.1.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/models}/__init__.py +0 -0
  69. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/models/autoencoder.py +0 -0
  70. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/models/diffusion/__init__.py +0 -0
  71. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/models/diffusion/ddim.py +0 -0
  72. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/models/diffusion/ddpm.py +1 -1
  73. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/models/diffusion/dpm_solver/__init__.py +0 -0
  74. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/models/diffusion/dpm_solver/dpm_solver.py +0 -0
  75. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/models/diffusion/dpm_solver/sampler.py +0 -0
  76. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/models/diffusion/plms.py +0 -0
  77. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/models/diffusion/scheduling_pndm.py +0 -0
  78. {libcom-0.0.2.post1/libcom/fopa_heat_map/source → libcom-0.1.1.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules}/__init__.py +0 -0
  79. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/attention.py +0 -0
  80. {libcom-0.0.2.post1/libcom/fopa_heat_map/source/backbone → libcom-0.1.1.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/diffusionmodules}/__init__.py +0 -0
  81. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/diffusionmodules/model.py +0 -0
  82. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/diffusionmodules/openaimodel.py +0 -0
  83. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/diffusionmodules/util.py +0 -0
  84. {libcom-0.0.2.post1/libcom/fopa_heat_map/source/data → libcom-0.1.1.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/distributions}/__init__.py +0 -0
  85. {libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom → libcom-0.1.1.post1/libcom/painterly_image_harmonization/source/PHDiffusion}/ldm/modules/distributions/distributions.py +0 -0
  86. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/ema.py +0 -0
  87. {libcom-0.0.2.post1/libcom/fos_score/source → libcom-0.1.1.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/encoders}/__init__.py +0 -0
  88. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/encoders/adapter.py +0 -0
  89. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/encoders/modules.py +0 -0
  90. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/__init__.py +0 -0
  91. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/api.py +0 -0
  92. {libcom-0.0.2.post1/libcom/harmony_score/source → libcom-0.1.1.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/midas}/__init__.py +0 -0
  93. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/midas/api.py +0 -0
  94. {libcom-0.0.2.post1/libcom/image_harmonization/source → libcom-0.1.1.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/midas/midas}/__init__.py +0 -0
  95. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/midas/midas/base_model.py +0 -0
  96. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/midas/midas/blocks.py +0 -0
  97. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/midas/midas/dpt_depth.py +0 -0
  98. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/midas/midas/midas_net.py +0 -0
  99. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/midas/midas/midas_net_custom.py +0 -0
  100. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/midas/midas/transforms.py +0 -0
  101. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/midas/midas/vit.py +0 -0
  102. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/midas/utils.py +0 -0
  103. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/model_edge.py +0 -0
  104. {libcom-0.0.2.post1/libcom/inharmonious_region_localization/source → libcom-0.1.1.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/openpose}/__init__.py +0 -0
  105. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/openpose/api.py +0 -0
  106. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/openpose/body.py +0 -0
  107. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/openpose/hand.py +0 -0
  108. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/openpose/model.py +0 -0
  109. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/openpose/util.py +0 -0
  110. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/utils.py +0 -0
  111. {libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch → libcom-0.1.1.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/fusion}/__init__.py +0 -0
  112. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/fusion/dual_encoder_fusion.py +0 -0
  113. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/image_degradation/__init__.py +0 -0
  114. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/image_degradation/bsrgan.py +0 -0
  115. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/image_degradation/bsrgan_light.py +0 -0
  116. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/image_degradation/utils_image.py +0 -0
  117. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/util.py +0 -0
  118. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/painterly_image_harmonization/source/PHDiffusion/stable_diffusion.yaml +0 -0
  119. {libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/configs → libcom-0.1.1.post1/libcom/painterly_image_harmonization/source}/__init__.py +0 -0
  120. libcom-0.1.1.post1/libcom/reflection_generation/__init__.py +3 -0
  121. libcom-0.1.1.post1/libcom/reflection_generation/reflection_generation.py +177 -0
  122. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/shadow_generation/__init__.py +0 -0
  123. libcom-0.1.1.post1/libcom/shadow_generation/shadow_generation.py +693 -0
  124. {libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm → libcom-0.1.1.post1/libcom/utils}/__init__.py +0 -0
  125. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/utils/environment.py +0 -0
  126. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/utils/model_download.py +5 -5
  127. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom/utils/process_image.py +0 -0
  128. libcom-0.1.1.post1/libcom.egg-info/PKG-INFO +130 -0
  129. libcom-0.1.1.post1/libcom.egg-info/SOURCES.txt +146 -0
  130. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/libcom.egg-info/dependency_links.txt +0 -0
  131. libcom-0.1.1.post1/libcom.egg-info/requires.txt +21 -0
  132. libcom-0.1.1.post1/libcom.egg-info/top_level.txt +1 -0
  133. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/setup.cfg +0 -0
  134. {libcom-0.0.2.post1 → libcom-0.1.1.post1}/setup.py +17 -29
  135. libcom-0.1.1.post1/tests/test_color_transfer.py +25 -0
  136. libcom-0.1.1.post1/tests/test_composite_generation.py +30 -0
  137. libcom-0.1.1.post1/tests/test_controllable_composition.py +39 -0
  138. libcom-0.1.1.post1/tests/test_flux_kontext.py +35 -0
  139. libcom-0.1.1.post1/tests/test_fopa_heat_map.py +30 -0
  140. libcom-0.1.1.post1/tests/test_fos_score.py +27 -0
  141. libcom-0.1.1.post1/tests/test_harmony_score.py +32 -0
  142. libcom-0.1.1.post1/tests/test_image_harmonization.py +29 -0
  143. libcom-0.1.1.post1/tests/test_inharmonious_region_localization.py +26 -0
  144. libcom-0.1.1.post1/tests/test_insert_anything.py +29 -0
  145. libcom-0.1.1.post1/tests/test_opa_score.py +27 -0
  146. libcom-0.1.1.post1/tests/test_painterly_image_harmonization.py +40 -0
  147. libcom-0.1.1.post1/tests/test_reflection_generation.py +43 -0
  148. libcom-0.1.1.post1/tests/test_shadow_generation.py +43 -0
  149. libcom-0.0.2.post1/PKG-INFO +0 -95
  150. libcom-0.0.2.post1/README.md +0 -76
  151. libcom-0.0.2.post1/libcom/controllable_composition/__init__.py +0 -4
  152. libcom-0.0.2.post1/libcom/controllable_composition/controllable_composition.py +0 -230
  153. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/configs/controlcom.yaml +0 -119
  154. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/data/base.py +0 -23
  155. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/data/datamodule.py +0 -128
  156. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/data/open_images_control.py +0 -283
  157. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/models/autoencoder.py +0 -442
  158. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/models/diffusion/classifier.py +0 -267
  159. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/models/diffusion/ddim.py +0 -269
  160. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/models/diffusion/ddpm.py +0 -1677
  161. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/models/diffusion/plms.py +0 -254
  162. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/modules/attention.py +0 -280
  163. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/modules/diffusionmodules/model.py +0 -833
  164. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/modules/diffusionmodules/openaimodel.py +0 -1165
  165. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/modules/diffusionmodules/util.py +0 -267
  166. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/modules/ema.py +0 -76
  167. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/modules/encoders/modules.py +0 -228
  168. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/modules/encoders/xf.py +0 -130
  169. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/modules/local_module.py +0 -142
  170. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/modules/losses/__init__.py +0 -1
  171. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/modules/losses/contperceptual.py +0 -111
  172. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/modules/losses/vqperceptual.py +0 -167
  173. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/modules/x_transformer.py +0 -641
  174. libcom-0.0.2.post1/libcom/controllable_composition/source/ControlCom/ldm/util.py +0 -203
  175. libcom-0.0.2.post1/libcom/objectstitch/__init__.py +0 -4
  176. libcom-0.0.2.post1/libcom/objectstitch/objectstitch.py +0 -200
  177. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/configs/objectstitch.yaml +0 -74
  178. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/data/__init__.py +0 -0
  179. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/data/base.py +0 -23
  180. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/data/datamodule.py +0 -128
  181. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/data/imagenet.py +0 -394
  182. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/data/lsun.py +0 -92
  183. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/data/open_images.py +0 -409
  184. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/lr_scheduler.py +0 -98
  185. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/models/__init__.py +0 -0
  186. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/models/autoencoder.py +0 -443
  187. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/models/diffusion/__init__.py +0 -0
  188. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/models/diffusion/classifier.py +0 -267
  189. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/models/diffusion/ddim.py +0 -263
  190. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/models/diffusion/ddpm.py +0 -1416
  191. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/models/diffusion/plms.py +0 -252
  192. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/modules/__init__.py +0 -0
  193. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/modules/attention.py +0 -261
  194. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/modules/diffusionmodules/__init__.py +0 -0
  195. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/modules/diffusionmodules/model.py +0 -835
  196. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/modules/diffusionmodules/openaimodel.py +0 -1108
  197. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/modules/diffusionmodules/util.py +0 -267
  198. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/modules/distributions/__init__.py +0 -0
  199. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/modules/distributions/distributions.py +0 -92
  200. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/modules/ema.py +0 -76
  201. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/modules/encoders/__init__.py +0 -0
  202. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/modules/encoders/modules.py +0 -189
  203. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/modules/encoders/xf.py +0 -130
  204. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/modules/losses/__init__.py +0 -1
  205. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/modules/losses/contperceptual.py +0 -111
  206. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/modules/losses/vqperceptual.py +0 -167
  207. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/modules/x_transformer.py +0 -641
  208. libcom-0.0.2.post1/libcom/objectstitch/source/ObjectStitch/ldm/util.py +0 -203
  209. libcom-0.0.2.post1/libcom/objectstitch/source/__init__.py +0 -0
  210. libcom-0.0.2.post1/libcom/painterly_image_harmonization/source/PHDNet/__init__.py +0 -0
  211. libcom-0.0.2.post1/libcom/painterly_image_harmonization/source/PHDiffusion/__init__.py +0 -0
  212. libcom-0.0.2.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/__init__.py +0 -0
  213. libcom-0.0.2.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/lr_scheduler.py +0 -98
  214. libcom-0.0.2.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/models/__init__.py +0 -0
  215. libcom-0.0.2.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/__init__.py +0 -0
  216. libcom-0.0.2.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/diffusionmodules/__init__.py +0 -0
  217. libcom-0.0.2.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/distributions/__init__.py +0 -0
  218. libcom-0.0.2.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/distributions/distributions.py +0 -92
  219. libcom-0.0.2.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/encoders/__init__.py +0 -0
  220. libcom-0.0.2.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/midas/__init__.py +0 -0
  221. libcom-0.0.2.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/midas/midas/__init__.py +0 -0
  222. libcom-0.0.2.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/extra_condition/openpose/__init__.py +0 -0
  223. libcom-0.0.2.post1/libcom/painterly_image_harmonization/source/PHDiffusion/ldm/modules/fusion/__init__.py +0 -0
  224. libcom-0.0.2.post1/libcom/painterly_image_harmonization/source/__init__.py +0 -0
  225. libcom-0.0.2.post1/libcom/shadow_generation/shadow_generation.py +0 -152
  226. libcom-0.0.2.post1/libcom/shadow_generation/source/PostProcessModel.py +0 -528
  227. libcom-0.0.2.post1/libcom/shadow_generation/source/__init__.py +0 -0
  228. libcom-0.0.2.post1/libcom/shadow_generation/source/cldm/__init__.py +0 -0
  229. libcom-0.0.2.post1/libcom/shadow_generation/source/cldm/cldm.py +0 -498
  230. libcom-0.0.2.post1/libcom/shadow_generation/source/cldm/ddim_hacked.py +0 -317
  231. libcom-0.0.2.post1/libcom/shadow_generation/source/cldm/hack.py +0 -111
  232. libcom-0.0.2.post1/libcom/shadow_generation/source/cldm/logger.py +0 -127
  233. libcom-0.0.2.post1/libcom/shadow_generation/source/cldm/model.py +0 -26
  234. libcom-0.0.2.post1/libcom/shadow_generation/source/cldm_v15.yaml +0 -81
  235. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/__init__.py +0 -0
  236. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/data/__init__.py +0 -0
  237. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/data/util.py +0 -24
  238. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/models/__init__.py +0 -0
  239. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/models/autoencoder.py +0 -219
  240. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/models/diffusion/__init__.py +0 -0
  241. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/models/diffusion/ddim.py +0 -336
  242. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/models/diffusion/ddpm.py +0 -1827
  243. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/models/diffusion/dpm_solver/__init__.py +0 -1
  244. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/models/diffusion/dpm_solver/dpm_solver.py +0 -1154
  245. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/models/diffusion/dpm_solver/sampler.py +0 -87
  246. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/models/diffusion/plms.py +0 -244
  247. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/models/diffusion/sampling_util.py +0 -22
  248. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/models/mask_predictor/__init__.py +0 -0
  249. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/models/mask_predictor/mask_predictor.py +0 -104
  250. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/__init__.py +0 -0
  251. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/attention.py +0 -341
  252. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/diffusionmodules/__init__.py +0 -0
  253. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/diffusionmodules/model.py +0 -847
  254. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/diffusionmodules/openaimodel.py +0 -793
  255. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/diffusionmodules/upscaling.py +0 -81
  256. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/diffusionmodules/util.py +0 -270
  257. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/distributions/__init__.py +0 -0
  258. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/distributions/distributions.py +0 -92
  259. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/ema.py +0 -80
  260. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/encoders/__init__.py +0 -0
  261. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/encoders/modules.py +0 -214
  262. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/image_degradation/__init__.py +0 -2
  263. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/image_degradation/bsrgan.py +0 -730
  264. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/image_degradation/bsrgan_light.py +0 -651
  265. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/image_degradation/utils_image.py +0 -916
  266. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/midas/__init__.py +0 -0
  267. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/midas/api.py +0 -170
  268. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/midas/midas/__init__.py +0 -0
  269. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/midas/midas/base_model.py +0 -16
  270. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/midas/midas/blocks.py +0 -342
  271. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/midas/midas/dpt_depth.py +0 -109
  272. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/midas/midas/midas_net.py +0 -76
  273. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/midas/midas/midas_net_custom.py +0 -128
  274. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/midas/midas/transforms.py +0 -234
  275. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/midas/midas/vit.py +0 -491
  276. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/modules/midas/utils.py +0 -189
  277. libcom-0.0.2.post1/libcom/shadow_generation/source/ldm/util.py +0 -197
  278. libcom-0.0.2.post1/libcom/shadow_generation/source/sampler/__init__.py +0 -0
  279. libcom-0.0.2.post1/libcom/shadow_generation/source/sampler/pndm.py +0 -86
  280. libcom-0.0.2.post1/libcom/shadow_generation/source/sampler/scheduling_pndm.py +0 -518
  281. libcom-0.0.2.post1/libcom/utils/__init__.py +0 -0
  282. libcom-0.0.2.post1/libcom.egg-info/PKG-INFO +0 -95
  283. libcom-0.0.2.post1/libcom.egg-info/SOURCES.txt +0 -258
  284. libcom-0.0.2.post1/libcom.egg-info/requires.txt +0 -56
  285. libcom-0.0.2.post1/libcom.egg-info/top_level.txt +0 -2
File without changes
@@ -0,0 +1,130 @@
1
+ Metadata-Version: 2.4
2
+ Name: libcom
3
+ Version: 0.1.1.post1
4
+ Summary: Image Composition Toolbox
5
+ Home-page: https://github.com/bcmi/libcom
6
+ Author: BCMI Lab
7
+ Author-email: bernard-zhang@hotmail.com
8
+ License: Apache License 2.0
9
+ Keywords: computer vision,image composition
10
+ Classifier: License :: OSI Approved :: Apache Software License
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.8
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE
16
+ Requires-Dist: einops
17
+ Requires-Dist: huggingface_hub
18
+ Requires-Dist: imageio
19
+ Requires-Dist: torch==2.6.0
20
+ Requires-Dist: torchvision==0.21.0
21
+ Requires-Dist: diffusers==0.34.0
22
+ Requires-Dist: mmdet==3.2.0
23
+ Requires-Dist: mmpose==1.2.0
24
+ Requires-Dist: peft
25
+ Requires-Dist: sentencepiece
26
+ Requires-Dist: protobuf
27
+ Requires-Dist: modelscope
28
+ Requires-Dist: omegaconf
29
+ Requires-Dist: opencv_python
30
+ Requires-Dist: opencv_python_headless
31
+ Requires-Dist: pytorch_lightning
32
+ Requires-Dist: transformers
33
+ Requires-Dist: tqdm
34
+ Requires-Dist: open_clip_torch
35
+ Requires-Dist: taming-transformers-rom1504
36
+ Requires-Dist: scikit-learn
37
+ Dynamic: author
38
+ Dynamic: author-email
39
+ Dynamic: classifier
40
+ Dynamic: description
41
+ Dynamic: description-content-type
42
+ Dynamic: home-page
43
+ Dynamic: keywords
44
+ Dynamic: license
45
+ Dynamic: license-file
46
+ Dynamic: requires-dist
47
+ Dynamic: summary
48
+
49
+ <div align="center">
50
+ </br>
51
+ <img src="https://raw.githubusercontent.com/bcmi/libcom/main/resources/LOGO.png" width="200" />
52
+
53
+ </div>
54
+
55
+ <h1 align="center">libcom: everything about image composition</h1>
56
+
57
+ </br>
58
+
59
+ [![PyPI](https://img.shields.io/pypi/v/libcom)](https://pypi.org/project/libcom)
60
+ [![Downloads](https://static.pepy.tech/badge/libcom)](https://pepy.tech/project/libcom)
61
+ [![Hits](https://hits.sh/github.com/bcmi/libcom.svg?label=views)](https://hits.sh/github.com/bcmi/libcom/)
62
+ [![Static Badge](https://img.shields.io/badge/Online_Demo-Green)](https://bcmi.sjtu.edu.cn/home/niuli/demo_image_composition/)
63
+ [![Static Badge](https://img.shields.io/badge/Dataset&Code_Resources-green)](https://github.com/bcmi/Awesome-Object-Insertion)
64
+ [![Static Badge](https://img.shields.io/badge/survey-arxiv%3A2106.14490-red)](https://arxiv.org/pdf/2106.14490.pdf)
65
+ [![Static Badge](https://img.shields.io/github/stars/bcmi/libcom.svg?style=social)](https://github.com/bcmi/libcom/stargazers)
66
+
67
+
68
+ ---
69
+
70
+ ## Introduction
71
+ **_libcom_ (the library of image composition) is an image composition toolbox.** The goal of [image composition](https://github.com/bcmi/Awesome-Image-Composition) ([object insertion](https://github.com/bcmi/Awesome-Object-Insertion)) is inserting one foreground into a background image to get a realistic composite image, by addressing the inconsistencies (appearance, geometry, and semantic inconsistency) between foreground and background. Generally speaking, image composition could be used to combine the visual elements from different images.
72
+ <div align="center">
73
+ </br>
74
+ <img src="https://raw.githubusercontent.com/bcmi/libcom/main/resources/image_composition_task.gif" width="600" />
75
+ </div>
76
+
77
+ **_libcom_ covers a diversity of related tasks in the field of image composition**, including image blending, standard/painterly image harmonization, shadow generation, object placement, generative composition, quality evaluation, *etc*. For each task, we integrate one or two selected methods considering both efficiency and effectiveness. The selected methods will be continuously updated upon the emergence of better methods.
78
+
79
+ **The ultimate goal of this library is solving all the problems related to image composition with simple `import libcom`.**
80
+
81
+ Welcome to follow WeChat public account ["Newly AIGCer"](https://www.ustcnewly.com/blog.html) or Zhihu Column ["Newly CVer"](https://www.zhihu.com/column/c_1333918224900206592) to get the latest information about image composition!
82
+
83
+ ### Main Functions
84
+
85
+ - **get_composite_image** generates composite images using naive copy-and-paste followed by image blending.
86
+ - **OPAScoreModel** [[OPA]](https://github.com/bcmi/Object-Placement-Assessment-Dataset-OPA) evaluates the rationality of foreground object placement in a composite image.
87
+ - **FOPAHeatMapModel** [[FOPA]](https://github.com/bcmi/FOPA-Fast-Object-Placement-Assessment) can predict the rationality scores for all locations/scales given a background-foreground pair, and output the composite image with optimal location/scale.
88
+ - **color_transfer** adjusts the foreground color to match the background using traditional color transfer method.
89
+ - **ImageHarmonizationModel** [[CDTNet]](https://github.com/bcmi/CDTNet-High-Resolution-Image-Harmonization) [[PCTNet]](https://github.com/rakutentech/PCT-Net-Image-Harmonization) adjusts the foreground illumination to be compatible the background given photorealistic background and photorealistic foreground.
90
+ - **PainterlyHarmonizationModel** [[PHDNet]](https://github.com/bcmi/PHDNet-Painterly-Image-Harmonization) [[PHDiffusion]](https://github.com/bcmi/PHDiffusion-Painterly-Image-Harmonization) adjusts the foreground style to be compatible with the background given artistic background and photorealistic foreground.
91
+ - **HarmonyScoreModel** [[BargainNet]](https://github.com/bcmi/BargainNet-Image-Harmonization) evaluates the harmony level between foreground and background in a composite image.
92
+ - **InharmoniousLocalizationModel** [[MadisNet]](https://github.com/bcmi/MadisNet-Inharmonious-Region-Localization) localizes the inharmonious region in a synthetic image.
93
+ - **FOSScoreModel** [[DiscoFOS]](https://github.com/bcmi/Foreground-Object-Search-Dataset-FOSD) evaluates the compatibility between foreground and background in a composite image in terms of geometry and semantics.
94
+ - **ShadowGenerationModel** [[GPSDiffusion]](https://github.com/bcmi/GPSDiffusion-Object-Shadow-Generation) generates plausible shadow for the inserted object in a composite image. This model is unstable and you can pick the most satisfactory one from multiple generated results.
95
+ - **ControlComModel** [[ControlCom]](https://github.com/bcmi/ControlCom-Image-Composition) is a generative image composition model which unifies image blending and image harmonization. The pose and view of foreground stay unchanged. **Note that in the provided foreground image, the foreground object's length and width should fully extend to the edges of the image (see our example), otherwise the performance would be severely affected.**
96
+ - **MureObjectStitchModel** [[MureObjectStitch]](https://github.com/bcmi/MureObjectStitch-Image-Composition) is another generative image composition model which can adjust the pose and view of foreground. It supports multiple reference images of one foreground object. If you have a few images containing the foreground object, we suggest finetuning MureObjectStitch using these images for better detail preservation. **Note that in the provided foreground image, the foreground object's length and width should fully extend to the edges of the image (see our example), otherwise the performance would be severely affected.**
97
+
98
+
99
+ **For the detailed method descriptions, code examples, visualization results, and performance comments, please refer to our [[documents]](https://libcom.readthedocs.io/en/latest/).** If the model performance is not satisfactory, you can finetune the pretrained model on your own dataset using the source repository and replace the original model.
100
+
101
+ ## Requirements
102
+
103
+ The main branch is built on the Linux system with **Python 3.8** and **PyTorch>=1.10.1**. For other dependencies, please refer to [[conda_env]](https://github.com/bcmi/libcom/blob/main/requirements/libcom.yaml) and [[runtime_dependencies]](https://github.com/bcmi/libcom/blob/main/requirements/runtime.txt).
104
+
105
+ ## Get Started
106
+ Please refer to [[Installation]](https://github.com/bcmi/libcom/blob/main/docs/get_started.md) for installation instructions and [[documents]](https://libcom.readthedocs.io/en/latest/) for user guidance.
107
+
108
+ ## Contributors
109
+ - Institution: [Brain-like Computing and Machine Intelligence (BCMI) Lab](https://bcmi.sjtu.edu.cn/).
110
+ - Project Initiator & Team Manager: [Li Niu](https://www.ustcnewly.com/index.html).
111
+ - Architect & Lead Developer: [Bo Zhang](https://bo-zhang-cs.github.io/), [Yujie Zhou](https://github.com/YujieOuO).
112
+ - Documentation Manager: [Jiacheng Sui](https://github.com/charlessjc).
113
+ - Module Developers: [Jiacheng Sui](https://github.com/charlessjc), [Bingjie Gao](https://github.com/WhynotHAHA), [Lingxiao Lu](https://github.com/pokaaa), [Xinhao Tao](https://github.com/taoxinhao13), [Junyan Cao](https://github.com/cjy-4), [Haonan Zhao](https://github.com/nononononno), [Jiaxuan Chen](https://github.com/csdahunzi), [Junqi You](https://github.com/dhmbb2).
114
+
115
+ ## License
116
+
117
+ This project is released under the [Apache 2.0 license](https://github.com/bcmi/libcom/blob/main/LICENSE).
118
+
119
+ ## Bibtex
120
+
121
+ If you use our toolbox, please cite our survey paper using the following BibTeX [[arxiv](https://arxiv.org/pdf/2106.14490.pdf)]:
122
+
123
+ ```
124
+ @article{niu2021making,
125
+ title={Making images real again: A comprehensive survey on deep image composition},
126
+ author={Niu, Li and Cong, Wenyan and Liu, Liu and Hong, Yan and Zhang, Bo and Liang, Jing and Zhang, Liqing},
127
+ journal={arXiv preprint arXiv:2106.14490},
128
+ year={2021}
129
+ }
130
+ ```
@@ -0,0 +1,82 @@
1
+ <div align="center">
2
+ </br>
3
+ <img src="https://raw.githubusercontent.com/bcmi/libcom/main/resources/LOGO.png" width="200" />
4
+
5
+ </div>
6
+
7
+ <h1 align="center">libcom: everything about image composition</h1>
8
+
9
+ </br>
10
+
11
+ [![PyPI](https://img.shields.io/pypi/v/libcom)](https://pypi.org/project/libcom)
12
+ [![Downloads](https://static.pepy.tech/badge/libcom)](https://pepy.tech/project/libcom)
13
+ [![Hits](https://hits.sh/github.com/bcmi/libcom.svg?label=views)](https://hits.sh/github.com/bcmi/libcom/)
14
+ [![Static Badge](https://img.shields.io/badge/Online_Demo-Green)](https://bcmi.sjtu.edu.cn/home/niuli/demo_image_composition/)
15
+ [![Static Badge](https://img.shields.io/badge/Dataset&Code_Resources-green)](https://github.com/bcmi/Awesome-Object-Insertion)
16
+ [![Static Badge](https://img.shields.io/badge/survey-arxiv%3A2106.14490-red)](https://arxiv.org/pdf/2106.14490.pdf)
17
+ [![Static Badge](https://img.shields.io/github/stars/bcmi/libcom.svg?style=social)](https://github.com/bcmi/libcom/stargazers)
18
+
19
+
20
+ ---
21
+
22
+ ## Introduction
23
+ **_libcom_ (the library of image composition) is an image composition toolbox.** The goal of [image composition](https://github.com/bcmi/Awesome-Image-Composition) ([object insertion](https://github.com/bcmi/Awesome-Object-Insertion)) is inserting one foreground into a background image to get a realistic composite image, by addressing the inconsistencies (appearance, geometry, and semantic inconsistency) between foreground and background. Generally speaking, image composition could be used to combine the visual elements from different images.
24
+ <div align="center">
25
+ </br>
26
+ <img src="https://raw.githubusercontent.com/bcmi/libcom/main/resources/image_composition_task.gif" width="600" />
27
+ </div>
28
+
29
+ **_libcom_ covers a diversity of related tasks in the field of image composition**, including image blending, standard/painterly image harmonization, shadow generation, object placement, generative composition, quality evaluation, *etc*. For each task, we integrate one or two selected methods considering both efficiency and effectiveness. The selected methods will be continuously updated upon the emergence of better methods.
30
+
31
+ **The ultimate goal of this library is solving all the problems related to image composition with simple `import libcom`.**
32
+
33
+ Welcome to follow WeChat public account ["Newly AIGCer"](https://www.ustcnewly.com/blog.html) or Zhihu Column ["Newly CVer"](https://www.zhihu.com/column/c_1333918224900206592) to get the latest information about image composition!
34
+
35
+ ### Main Functions
36
+
37
+ - **get_composite_image** generates composite images using naive copy-and-paste followed by image blending.
38
+ - **OPAScoreModel** [[OPA]](https://github.com/bcmi/Object-Placement-Assessment-Dataset-OPA) evaluates the rationality of foreground object placement in a composite image.
39
+ - **FOPAHeatMapModel** [[FOPA]](https://github.com/bcmi/FOPA-Fast-Object-Placement-Assessment) can predict the rationality scores for all locations/scales given a background-foreground pair, and output the composite image with optimal location/scale.
40
+ - **color_transfer** adjusts the foreground color to match the background using traditional color transfer method.
41
+ - **ImageHarmonizationModel** [[CDTNet]](https://github.com/bcmi/CDTNet-High-Resolution-Image-Harmonization) [[PCTNet]](https://github.com/rakutentech/PCT-Net-Image-Harmonization) adjusts the foreground illumination to be compatible the background given photorealistic background and photorealistic foreground.
42
+ - **PainterlyHarmonizationModel** [[PHDNet]](https://github.com/bcmi/PHDNet-Painterly-Image-Harmonization) [[PHDiffusion]](https://github.com/bcmi/PHDiffusion-Painterly-Image-Harmonization) adjusts the foreground style to be compatible with the background given artistic background and photorealistic foreground.
43
+ - **HarmonyScoreModel** [[BargainNet]](https://github.com/bcmi/BargainNet-Image-Harmonization) evaluates the harmony level between foreground and background in a composite image.
44
+ - **InharmoniousLocalizationModel** [[MadisNet]](https://github.com/bcmi/MadisNet-Inharmonious-Region-Localization) localizes the inharmonious region in a synthetic image.
45
+ - **FOSScoreModel** [[DiscoFOS]](https://github.com/bcmi/Foreground-Object-Search-Dataset-FOSD) evaluates the compatibility between foreground and background in a composite image in terms of geometry and semantics.
46
+ - **ShadowGenerationModel** [[GPSDiffusion]](https://github.com/bcmi/GPSDiffusion-Object-Shadow-Generation) generates plausible shadow for the inserted object in a composite image. This model is unstable and you can pick the most satisfactory one from multiple generated results.
47
+ - **ControlComModel** [[ControlCom]](https://github.com/bcmi/ControlCom-Image-Composition) is a generative image composition model which unifies image blending and image harmonization. The pose and view of foreground stay unchanged. **Note that in the provided foreground image, the foreground object's length and width should fully extend to the edges of the image (see our example), otherwise the performance would be severely affected.**
48
+ - **MureObjectStitchModel** [[MureObjectStitch]](https://github.com/bcmi/MureObjectStitch-Image-Composition) is another generative image composition model which can adjust the pose and view of foreground. It supports multiple reference images of one foreground object. If you have a few images containing the foreground object, we suggest finetuning MureObjectStitch using these images for better detail preservation. **Note that in the provided foreground image, the foreground object's length and width should fully extend to the edges of the image (see our example), otherwise the performance would be severely affected.**
49
+
50
+
51
+ **For the detailed method descriptions, code examples, visualization results, and performance comments, please refer to our [[documents]](https://libcom.readthedocs.io/en/latest/).** If the model performance is not satisfactory, you can finetune the pretrained model on your own dataset using the source repository and replace the original model.
52
+
53
+ ## Requirements
54
+
55
+ The main branch is built on the Linux system with **Python 3.8** and **PyTorch>=1.10.1**. For other dependencies, please refer to [[conda_env]](https://github.com/bcmi/libcom/blob/main/requirements/libcom.yaml) and [[runtime_dependencies]](https://github.com/bcmi/libcom/blob/main/requirements/runtime.txt).
56
+
57
+ ## Get Started
58
+ Please refer to [[Installation]](https://github.com/bcmi/libcom/blob/main/docs/get_started.md) for installation instructions and [[documents]](https://libcom.readthedocs.io/en/latest/) for user guidance.
59
+
60
+ ## Contributors
61
+ - Institution: [Brain-like Computing and Machine Intelligence (BCMI) Lab](https://bcmi.sjtu.edu.cn/).
62
+ - Project Initiator & Team Manager: [Li Niu](https://www.ustcnewly.com/index.html).
63
+ - Architect & Lead Developer: [Bo Zhang](https://bo-zhang-cs.github.io/), [Yujie Zhou](https://github.com/YujieOuO).
64
+ - Documentation Manager: [Jiacheng Sui](https://github.com/charlessjc).
65
+ - Module Developers: [Jiacheng Sui](https://github.com/charlessjc), [Bingjie Gao](https://github.com/WhynotHAHA), [Lingxiao Lu](https://github.com/pokaaa), [Xinhao Tao](https://github.com/taoxinhao13), [Junyan Cao](https://github.com/cjy-4), [Haonan Zhao](https://github.com/nononononno), [Jiaxuan Chen](https://github.com/csdahunzi), [Junqi You](https://github.com/dhmbb2).
66
+
67
+ ## License
68
+
69
+ This project is released under the [Apache 2.0 license](https://github.com/bcmi/libcom/blob/main/LICENSE).
70
+
71
+ ## Bibtex
72
+
73
+ If you use our toolbox, please cite our survey paper using the following BibTeX [[arxiv](https://arxiv.org/pdf/2106.14490.pdf)]:
74
+
75
+ ```
76
+ @article{niu2021making,
77
+ title={Making images real again: A comprehensive survey on deep image composition},
78
+ author={Niu, Li and Cong, Wenyan and Liu, Liu and Hong, Yan and Zhang, Bo and Liang, Jing and Zhang, Liqing},
79
+ journal={arXiv preprint arXiv:2106.14490},
80
+ year={2021}
81
+ }
82
+ ```
@@ -8,13 +8,16 @@ from .painterly_image_harmonization import *
8
8
  from .fopa_heat_map import *
9
9
  from .fos_score import *
10
10
  from .controllable_composition import *
11
+ from .insert_anything import *
12
+ from .kontext_blending_harmonization import *
11
13
  from .shadow_generation import *
12
- from .objectstitch import *
14
+ from .reflection_generation import *
13
15
 
14
16
  __all__ = [
15
17
  'color_transfer', 'get_composite_image', 'OPAScoreModel',
16
18
  'HarmonyScoreModel', 'InharmoniousLocalizationModel',
17
19
  'ImageHarmonizationModel', 'PainterlyHarmonizationModel',
18
- 'FOPAHeatMapModel', 'FOSScoreModel', 'ControlComModel',
19
- 'ShadowGenerationModel', 'ObjectStitchModel'
20
+ 'FOPAHeatMapModel', 'FOSScoreModel', 'ControlComModel',
21
+ 'InsertAnythingModel', 'KontextBlendingHarmonizationModel',
22
+ 'ShadowGenerationModel', 'ReflectionGenerationModel'
20
23
  ]
@@ -135,7 +135,7 @@ class FOPAHeatMapModel:
135
135
  icount += 1
136
136
  heatmap = Image.open(os.path.join(heatmap_dir, save_name))
137
137
  heatmap = np.array(heatmap)
138
- heatmap_center = np.zeros_like(heatmap, dtype=np.float_)
138
+ heatmap_center = np.zeros_like(heatmap, dtype=np.float64)
139
139
  hb = int(h / bg_img.height * heatmap.shape[0] / 2)
140
140
  wb = int(w / bg_img.width * heatmap.shape[1] / 2)
141
141
  heatmap_center[hb:-hb, wb:-wb] = heatmap[hb:-hb, wb:-wb]
@@ -176,14 +176,16 @@ class FOPAHeatMapModel:
176
176
  destination_path_png = os.path.join(composite_dir_choose, image.replace(".jpg", ".png"))
177
177
  shutil.copyfile(source_path, destination_path)
178
178
  shutil.copyfile(png_source_path, destination_path_png)
179
- last_four_numbers = [int(part) for part in source_path.split('_')[-5:-1]]
179
+ bbox_list_parts = os.path.splitext(os.path.split(source_path)[1])[0].split('_')
180
+ x_box, y_box, w_box, h_box = int(bbox_list_parts[2]), int(bbox_list_parts[3]), int(bbox_list_parts[4]), int(bbox_list_parts[5])
181
+ last_four_numbers = [x_box, y_box, w_box, h_box]
180
182
  bbox_list.append(last_four_numbers)
181
183
  return bbox_list
182
184
 
183
185
 
184
186
  @torch.no_grad()
185
187
  def __call__(self, foreground_image, foreground_mask, background_image, cache_dir, heatmap_dir,
186
- fg_scale_num=16, composite_num_choose=1, composite_num=50):
188
+ fg_scale_num=16, composite_num_choose=3, composite_num=50):
187
189
  """
188
190
  Generate a heatmap for a pair of scaled foreground and background.
189
191
 
@@ -208,7 +210,3 @@ class FOPAHeatMapModel:
208
210
  box_list = self.generate_bounding_box(foreground_image, foreground_mask, background_image, csv_file,
209
211
  cache_dir, heatmap_dir, fg_scale_num, composite_num_choose, composite_num)
210
212
  return box_list, heatmap_list
211
-
212
-
213
-
214
-
@@ -273,11 +273,11 @@ def make_composite_PIL(fg_img, mask_img, bg_img, pos, return_mask=False):
273
273
  mask_img_ = mask_img.resize((w,h))
274
274
 
275
275
  fg_img_ = np.array(fg_img_)
276
- mask_img_ = np.array(mask_img_, dtype=np.float_)/255
276
+ mask_img_ = np.array(mask_img_, dtype=np.float64)/255
277
277
  bg_img = np.array(bg_img)
278
278
 
279
279
  fg_img = np.zeros((bg_h, bg_w, 3), dtype=np.uint8)
280
- mask_img = np.zeros((bg_h, bg_w, 3), dtype=np.float_)
280
+ mask_img = np.zeros((bg_h, bg_w, 3), dtype=np.float64)
281
281
 
282
282
  fg_img[top:bottom, left:right, :] = fg_img_[top - y:bottom - y, left - x:right - x, :]
283
283
  mask_img[top:bottom, left:right, :] = mask_img_[top - y:bottom - y, left - x:right - x, :]
@@ -72,11 +72,11 @@ class FOSScoreModel:
72
72
  """
73
73
  if self.model_type == "FOS_E":
74
74
  model = StudentModel(self.cfg)
75
- model.load_state_dict(torch.load(weight_path, map_location='cpu'), strict=True)
75
+ model.load_state_dict(torch.load(weight_path, map_location='cpu', weights_only=True), strict=True)
76
76
  self.model = model.to(self.device).eval()
77
77
  else:
78
78
  model = SingleScaleD(False)
79
- model.load_state_dict(torch.load(weight_path, map_location='cpu'), strict=True)
79
+ model.load_state_dict(torch.load(weight_path, map_location='cpu', weights_only=True), strict=True)
80
80
  self.model = model.to(self.device).eval()
81
81
 
82
82
  def build_data_transformer(self):
@@ -57,7 +57,7 @@ class HarmonyScoreModel:
57
57
 
58
58
  def build_pretrained_model(self, weight_path):
59
59
  model = StyleEncoder(style_dim=16)
60
- model.load_state_dict(torch.load(weight_path, map_location='cpu'))
60
+ model.load_state_dict(torch.load(weight_path, map_location='cpu', weights_only=True))
61
61
  self.model = model.to(self.device).eval()
62
62
 
63
63
  def build_data_transformer(self):
@@ -77,7 +77,7 @@ class ImageHarmonizationModel:
77
77
  model = CDTNet()
78
78
  else:
79
79
  model = PCTNet()
80
- model.load_state_dict(torch.load(weight_path, map_location='cpu'))
80
+ model.load_state_dict(torch.load(weight_path, map_location='cpu', weights_only=True))
81
81
  self.model = model.to(self.device).eval()
82
82
 
83
83
  def build_data_transformer(self):
@@ -8,10 +8,7 @@ import numbers
8
8
  import torch.nn.functional as F
9
9
  from functools import partial
10
10
  import os
11
- import trilinear
12
11
 
13
-
14
-
15
12
 
16
13
  class Bottleneck(torch.nn.Module):
17
14
  expansion = 1
@@ -51,8 +51,8 @@ class InharmoniousLocalizationModel:
51
51
 
52
52
  def build_pretrained_model(self, weight_path_g, weight_path_ihdrnet):
53
53
  model = MadisNet()
54
- model.g.load_state_dict(torch.load(weight_path_g)['state_dict'])
55
- model.ihdrnet.load_state_dict(torch.load(weight_path_ihdrnet)['state_dict'])
54
+ model.g.load_state_dict(torch.load(weight_path_g, weights_only=True)['state_dict'])
55
+ model.ihdrnet.load_state_dict(torch.load(weight_path_ihdrnet, weights_only=True)['state_dict'])
56
56
  self.MadisNet_model = model.to(self.device).eval()
57
57
 
58
58
  def build_data_transformer(self):
@@ -0,0 +1,3 @@
1
+ from .insert_anything import InsertAnythingModel
2
+
3
+ __all__ = ['InsertAnythingModel']