-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
open-iris
v1.1.0
#27
Merged
Merged
open-iris
v1.1.0
#27
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…h takes a unique base64-encoded config instead of a map of configs
TanguyJeanneau
approved these changes
Jun 11, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me ! 🪞🥓
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
open-iris
v1.1.0PR description
Major
Added
LinearNormalization
algorithm #19) NewLinearNormalization
normalisation algorithm. This normalisation algorithm mimicsPerspectiveNormalization
and is based on the NearestNeighbor extrapolation, instead of Bilinear. This yields a ~20x speedup and remove a major bottleneck on the pipeline. The grid points are sampled linearly, unlikeNonLinearNormalization
which does so in a non-linear manner depending on the pupil-to-iris ratio.LinearNormalization
algorithm #19) Quality filters are activated by default. Community members surfaced that performances on the default configuration were sometimes sub-par due to a low filtering of bad quality images. We decided to enable the quality filters by default, and as usual let users the possibility to remove them by changing the configuration. These filters are conservative and only reject the worst iris images, users are encouraged to fine-tune them for their use case. The default values are:EyeCentersInsideImageValidator
PupilIrisPropertyCalculator
Pupil2IrisPropertyValidator
OffgazeValidator
OcclusionValidator
IsMaskTooSmallValidator
:open-iris
v1.1.0 #27) Dataclasses additions:iris_code_version
to the dataclassesIrisFilterResponse
andIrisTemplate
.IrisTemplate
class.IrisTemplate
open-iris
v1.1.0 #27) Base64 encoding. On the Orb, communication happens through base64-encoded strings. The configuration received by open-iris is base64-encoded, which requires the capacity to decode and encode string on this format. These functions live iniris.utils.base64_encoding
.Modified
IRISPipeline
output. #12)iris.IRISPipeline
output has been simplified. The output structure remains the same (a dictionary). The value ofiris_template
is now aniris.IrisTemplate
object compatible with downstream uses: matching, visualisations, etc. Users will not have to deserialise the object manually and will be able to useiris
end-to-end without intermediary manipulations.Minor
Added
Modified
README.md
. #11) (Update Contact section in README #13) Update READMEiris.NormalizedIris.normalized_image
is now of data typenp.uint8
open-iris
v1.1.0 #27) Downgrade opencv version fromopencv-python==4.8.1.78
toopencv-python==4.7.0.68
, for Orb compatibility.open-iris
v1.1.0 #27)iris.IRISPipeline.load_from_config_map
is deprecated, in favour ofiris.IRISPipeline.load_from_config
. Instead of taking a dictionary mapping iris version with base64-encoded config, thisload_from_config
directly takes a base64-encoded config and instantiate anIRISPipeline
object with this configopen-iris
v1.1.0 #27)iris.utils.math.area
takes an additional optional parameter,signed: bool
, which if True, makes the function return signed area.Fixed
LinearNormalization
algorithm #19) Explicitly raise error instead of crashing when polygons do not have enough edges to be processed properly inContourPointNoiseEyeballDistanceFilter
andSmoothing
hf_transfer
usage when downloading semantic segmentation model. #20) Disablehf_transfer
Hugging Face feature when downloading the semantic segmentation model weights. This prevents crashes when loading the model on certain systems.open-iris
v1.1.0 #27) Fixed bug where the occlusion value did not take into account the areas of the iris cropped out of the input image. Now, the occlusion value is the ratio of areas of the visible iris region (excluding cropped out, masked out, covered by the eyelid, covered by eyelashes, etc.) and of the entire extrapolated iris (including cropped out of frame)Type
Checklist