bob.bio.face tagshttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags2023-06-22T12:29:12Zhttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v8.0.0v8.0.0<ul data-sourcepos="1:1-61:42" dir="auto">
<li data-sourcepos="1:1-4:0">
<p data-sourcepos="1:3-1:51"><a href="/bob/bob.bio.face/-/merge_requests/196" data-reference-type="merge_request" data-original="bob/bob.bio.face!196" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7677" data-project-path="bob/bob.bio.face" data-iid="196" data-container="body" data-placement="top" title="Set torch to use one thread" class="gfm gfm-merge_request">!196</a>: Set torch to use one thread</p>
<p data-sourcepos="3:3-3:57">CI runners with docker no longer fail when using torch.</p>
</li>
<li data-sourcepos="5:1-8:0">
<p data-sourcepos="5:3-5:51"><a href="/bob/bob.bio.face/-/merge_requests/197" data-reference-type="merge_request" data-original="bob/bob.bio.face!197" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7726" data-project-path="bob/bob.bio.face" data-iid="197" data-container="body" data-placement="top" title="Dataset information update." class="gfm gfm-merge_request">!197</a>: Dataset information update.</p>
<p data-sourcepos="7:3-7:79">Done some corrections on information about <strong>MEDSII</strong> and <strong>MORPH</strong> datasets.</p>
</li>
<li data-sourcepos="9:1-10:0">
<p data-sourcepos="9:3-9:53"><a href="/bob/bob.bio.face/-/merge_requests/190" data-reference-type="merge_request" data-original="bob/bob.bio.face!190" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7432" data-project-path="bob/bob.bio.face" data-iid="190" data-container="body" data-placement="top" title="refactor for bob.bio.base!300" class="gfm gfm-merge_request">!190</a>: refactor for <a href="/bob/bob.bio.base/-/merge_requests/300" data-reference-type="merge_request" data-original="bob.bio.base!300" data-link="false" data-link-reference="false" data-project="1379" data-merge-request="7385" data-project-path="bob/bob.bio.base" data-iid="300" data-container="body" data-placement="top" title="Refactor the CSV-based databases" class="gfm gfm-merge_request">bob.bio.base!300</a></p>
</li>
<li data-sourcepos="11:1-14:0">
<p data-sourcepos="11:3-11:67"><a href="/bob/bob.bio.face/-/merge_requests/199" data-reference-type="merge_request" data-original="bob/bob.bio.face!199" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7923" data-project-path="bob/bob.bio.face" data-iid="199" data-container="body" data-placement="top" title='Resolve "Switch to new CI/CD configuration"' class="gfm gfm-merge_request">!199</a>: Resolve "Switch to new CI/CD configuration"</p>
<p data-sourcepos="13:3-13:28">Closes <a href="/bob/bob.bio.face/-/issues/89" data-reference-type="issue" data-original="bob/bob.bio.face#89" data-link="false" data-link-reference="false" data-project="1382" data-issue="5632" data-project-path="bob/bob.bio.face" data-iid="89" data-issue-type="issue" data-container="body" data-placement="top" title="Switch to new CI/CD configuration" class="gfm gfm-issue">#89</a></p>
</li>
<li data-sourcepos="15:1-18:0">
<p data-sourcepos="15:3-15:68"><a href="/bob/bob.bio.face/-/merge_requests/200" data-reference-type="merge_request" data-original="bob/bob.bio.face!200" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="8040" data-project-path="bob/bob.bio.face" data-iid="200" data-container="body" data-placement="top" title="Adapt to the UserDefaults changes of exposed" class="gfm gfm-merge_request">!200</a>: Adapt to the UserDefaults changes of exposed</p>
<p data-sourcepos="17:3-17:44">Remove the environment variable parameter.</p>
</li>
<li data-sourcepos="19:1-22:0">
<p data-sourcepos="19:3-19:84"><a href="/bob/bob.bio.face/-/merge_requests/201" data-reference-type="merge_request" data-original="bob/bob.bio.face!201" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="8124" data-project-path="bob/bob.bio.face" data-iid="201" data-container="body" data-placement="top" title="Fix database to follow bob.pipelines and update dependencies" class="gfm gfm-merge_request">!201</a>: Fix database to follow bob.pipelines and update dependencies</p>
<p data-sourcepos="21:3-21:58">Uses clapp instead of exposed and removes bob.extension.</p>
</li>
<li data-sourcepos="23:1-24:0">
<p data-sourcepos="23:3-23:75"><a href="/bob/bob.bio.face/-/merge_requests/202" data-reference-type="merge_request" data-original="bob/bob.bio.face!202" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="8130" data-project-path="bob/bob.bio.face" data-iid="202" data-container="body" data-placement="top" title="[rc] change rc file name to bobrc.toml and reformat" class="gfm gfm-merge_request">!202</a>: [rc] change rc file name to bobrc.toml and reformat</p>
</li>
<li data-sourcepos="25:1-30:0">
<p data-sourcepos="25:3-25:56"><a href="/bob/bob.bio.face/-/merge_requests/204" data-reference-type="merge_request" data-original="bob/bob.bio.face!204" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="8169" data-project-path="bob/bob.bio.face" data-iid="204" data-container="body" data-placement="top" title="Unset the number of used threads" class="gfm gfm-merge_request">!204</a>: Unset the number of used threads</p>
<p data-sourcepos="27:3-27:29">Closes <a href="/bob/bob.bio.face/-/issues/95" data-reference-type="issue" data-original="bob/bob.bio.face#95" data-link="false" data-link-reference="false" data-project="1382" data-issue="5777" data-project-path="bob/bob.bio.face" data-iid="95" data-issue-type="issue" data-container="body" data-placement="top" title="Set pytorch to run on single thread only on docker jobs" class="gfm gfm-issue">#95</a>.</p>
<p data-sourcepos="29:3-29:70">Unset the number of threads used by pytorch. (now managed in the CI)</p>
</li>
<li data-sourcepos="31:1-32:0">
<p data-sourcepos="31:3-31:62"><a href="/bob/bob.bio.face/-/merge_requests/205" data-reference-type="merge_request" data-original="bob/bob.bio.face!205" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="8205" data-project-path="bob/bob.bio.face" data-iid="205" data-container="body" data-placement="top" title="Replace clapp by clapper. Fix comment." class="gfm gfm-merge_request">!205</a>: Replace clapp by clapper. Fix comment.</p>
</li>
<li data-sourcepos="33:1-36:0">
<p data-sourcepos="33:3-33:79"><a href="/bob/bob.bio.face/-/merge_requests/206" data-reference-type="merge_request" data-original="bob/bob.bio.face!206" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="8226" data-project-path="bob/bob.bio.face" data-iid="206" data-container="body" data-placement="top" title="Accept annotation_type as any Iterable instead of List." class="gfm gfm-merge_request">!206</a>: Accept annotation_type as any Iterable instead of List.</p>
<p data-sourcepos="35:3-35:28">Fixes <a href="/bob/bob.bio.face/-/issues/96" data-reference-type="issue" data-original="bob/bob.bio.face#96" data-link="false" data-link-reference="false" data-project="1382" data-issue="5782" data-project-path="bob/bob.bio.face" data-iid="96" data-issue-type="issue" data-container="body" data-placement="top" title="Annotation type XYZ is not supported." class="gfm gfm-issue">#96</a>.</p>
</li>
<li data-sourcepos="37:1-40:0">
<p data-sourcepos="37:3-37:74"><a href="/bob/bob.bio.face/-/merge_requests/207" data-reference-type="merge_request" data-original="bob/bob.bio.face!207" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="8354" data-project-path="bob/bob.bio.face" data-iid="207" data-container="body" data-placement="top" title="fix [database]: Add template metadata to databases" class="gfm gfm-merge_request">!207</a>: fix [database]: Add template metadata to databases</p>
<p data-sourcepos="39:3-39:54">Added subject annotations to meds, mobio, and morph.</p>
</li>
<li data-sourcepos="41:1-44:0">
<p data-sourcepos="41:3-41:72"><a href="/bob/bob.bio.face/-/merge_requests/209" data-reference-type="merge_request" data-original="bob/bob.bio.face!209" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="8451" data-project-path="bob/bob.bio.face" data-iid="209" data-container="body" data-placement="top" title="meta [readme]: Switch the README.rst to markdown" class="gfm gfm-merge_request">!209</a>: meta [readme]: Switch the README.rst to markdown</p>
<p data-sourcepos="43:3-43:72">Renames README.rst to README.md to be supported by the release script.</p>
</li>
<li data-sourcepos="45:1-52:0">
<p data-sourcepos="45:3-45:96"><a href="/bob/bob.bio.face/-/merge_requests/208" data-reference-type="merge_request" data-original="bob/bob.bio.face!208" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="8404" data-project-path="bob/bob.bio.face" data-iid="208" data-container="body" data-placement="top" title="feature [db]: Allow setting the databases files extension in user config" class="gfm gfm-merge_request">!208</a>: feature [db]: Allow setting the databases files extension in user config</p>
<p data-sourcepos="47:3-47:70">Adds a user config key for each database allowing change of the data</p>
<p data-sourcepos="49:3-49:18">files extension.</p>
<p data-sourcepos="51:3-51:34">Fixes caspeal default extension.</p>
</li>
<li data-sourcepos="53:1-56:0">
<p data-sourcepos="53:3-53:74"><a href="/bob/bob.bio.face/-/merge_requests/210" data-reference-type="merge_request" data-original="bob/bob.bio.face!210" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="8593" data-project-path="bob/bob.bio.face" data-iid="210" data-container="body" data-placement="top" title="meta(deps): add bob as dependency in new structure" class="gfm gfm-merge_request">!210</a>: meta(deps): add bob as dependency in new structure</p>
<p data-sourcepos="55:3-55:58">Adapt to the new structure of bob with <code>bob/bob</code> on top.</p>
</li>
<li data-sourcepos="57:1-61:42">
<p data-sourcepos="57:3-57:74"><a href="/bob/bob.bio.face/-/merge_requests/211" data-reference-type="merge_request" data-original="bob/bob.bio.face!211" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="8604" data-project-path="bob/bob.bio.face" data-iid="211" data-container="body" data-placement="top" title="meta(deps): Add aiohttp as not installed by fsspec" class="gfm gfm-merge_request">!211</a>: meta(deps): Add aiohttp as not installed by fsspec</p>
<p data-sourcepos="59:3-59:149">Somehow <code>aiohttp</code> required by the backend of <code>fsspec</code> was not installed, breaking the CLI of <code>bob bio face</code> and <code>bob bio display-face-annotations</code>.</p>
<p data-sourcepos="61:3-61:42">This adds <code>aiohttp</code> to the dependencies.</p>
</li>
</ul>2023-06-22T12:29:12ZYannick DAYERhttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v7.1.2v7.1.2<ul data-sourcepos="1:1-1:21" dir="auto">
<li data-sourcepos="1:1-1:21">support python 3.10</li>
</ul>2022-10-05T10:04:38ZFlavio TARSETTIhttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v7.1.1v7.1.1<ul data-sourcepos="1:1-1:21" dir="auto">
<li data-sourcepos="1:1-1:21">support python 3.10</li>
</ul>2022-10-04T14:07:30ZFlavio TARSETTIhttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v7.1.0v7.1.0<ul data-sourcepos="1:1-3:72" dir="auto">
<li data-sourcepos="1:1-1:130">
<a href="/bob/bob.bio.face/-/merge_requests/193" data-reference-type="merge_request" data-original="bob/bob.bio.face!193" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7467" data-project-path="bob/bob.bio.face" data-iid="193" data-container="body" data-placement="top" title="FaceCrop tests now require integer results" class="gfm gfm-merge_request">!193</a> FaceCrop tests now require integer results: Prevents a precision error between arm64 and x86 architectures.</li>
<li data-sourcepos="2:1-2:46">
<a href="/bob/bob.bio.face/-/merge_requests/194" data-reference-type="merge_request" data-original="bob/bob.bio.face!194" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7494" data-project-path="bob/bob.bio.face" data-iid="194" data-container="body" data-placement="top" title="Remove nose dependency" class="gfm gfm-merge_request">!194</a> Remove nose dependency.</li>
<li data-sourcepos="3:1-3:72">
<a href="/bob/bob.bio.face/-/merge_requests/191" data-reference-type="merge_request" data-original="bob/bob.bio.face!191" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7445" data-project-path="bob/bob.bio.face" data-iid="191" data-container="body" data-placement="top" title="Include temporary leaderboards from face_ongoing" class="gfm gfm-merge_request">!191</a> Include temporary leaderboards from face_ongoing.</li>
</ul>2022-08-23T08:13:55ZYannick DAYERhttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v7.0.3v7.0.3<ul data-sourcepos="1:1-2:62" dir="auto">
<li data-sourcepos="1:1-1:71">
<a href="/bob/bob.bio.face/-/merge_requests/191" data-reference-type="merge_request" data-original="bob/bob.bio.face!191" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7445" data-project-path="bob/bob.bio.face" data-iid="191" data-container="body" data-placement="top" title="Include temporary leaderboards from face_ongoing" class="gfm gfm-merge_request">!191</a> Include temporary leaderboards from face_ongoing</li>
<li data-sourcepos="2:1-2:62">
<a href="/bob/bob.bio.face/-/merge_requests/192" data-reference-type="merge_request" data-original="bob/bob.bio.face!192" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7451" data-project-path="bob/bob.bio.face" data-iid="192" data-container="body" data-placement="top" title='Prevent wrap of "passthrough" estimator' class="gfm gfm-merge_request">!192</a> Prevent wrap of "passthrough" estimator</li>
</ul>2022-07-27T13:17:50ZYannick DAYERhttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v7.0.2v7.0.2<ul data-sourcepos="1:1-1:21" dir="auto">
<li data-sourcepos="1:1-1:21">update dependencies</li>
</ul>2022-07-11T14:54:11ZFlavio TARSETTIhttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v7.0.1v7.0.1<ul data-sourcepos="1:1-1:21" dir="auto">
<li data-sourcepos="1:1-1:21">update dependencies</li>
</ul>2022-07-11T11:25:41ZFlavio TARSETTIhttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v7.0.0v7.0.0<ul data-sourcepos="1:1-37:76" dir="auto">
<li data-sourcepos="1:1-1:105">
<a href="/bob/bob.bio.face/-/merge_requests/152" data-reference-type="merge_request" data-original="bob/bob.bio.face!152" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6633" data-project-path="bob/bob.bio.face" data-iid="152" data-container="body" data-placement="top" title='Resolve "Pytorch device is not followed in embeddings"' class="gfm gfm-merge_request">!152</a> Resolve "Pytorch device is not followed in embeddings": Closes <a href="/bob/bob.bio.face/-/issues/68" data-reference-type="issue" data-original="bob/bob.bio.face#68" data-link="false" data-link-reference="false" data-project="1382" data-issue="5136" data-project-path="bob/bob.bio.face" data-iid="68" data-issue-type="issue" data-container="body" data-placement="top" title="Pytorch device is not followed in embeddings" class="gfm gfm-issue">#68</a>
</li>
<li data-sourcepos="2:1-2:98">
<a href="/bob/bob.bio.face/-/merge_requests/153" data-reference-type="merge_request" data-original="bob/bob.bio.face!153" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6641" data-project-path="bob/bob.bio.face" data-iid="153" data-container="body" data-placement="top" title='Resolve "Some databases ignore fixed positions"' class="gfm gfm-merge_request">!153</a> Resolve "Some databases ignore fixed positions": Closes <a href="/bob/bob.bio.face/-/issues/69" data-reference-type="issue" data-original="bob/bob.bio.face#69" data-link="false" data-link-reference="false" data-project="1382" data-issue="5143" data-project-path="bob/bob.bio.face" data-iid="69" data-issue-type="issue" data-container="body" data-placement="top" title="Some databases ignore fixed positions" class="gfm gfm-issue">#69</a>
</li>
<li data-sourcepos="3:1-3:129">
<a href="/bob/bob.bio.face/-/merge_requests/155" data-reference-type="merge_request" data-original="bob/bob.bio.face!155" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6646" data-project-path="bob/bob.bio.face" data-iid="155" data-container="body" data-placement="top" title='Resolve "BobIpTinyface returns a empty list list on failure but is tested for None"' class="gfm gfm-merge_request">!155</a> Resolve "BobIpTinyface returns a empty list on failure but is tested for None": Closes <a href="/bob/bob.bio.face/-/issues/71" data-reference-type="issue" data-original="bob/bob.bio.face#71" data-link="false" data-link-reference="false" data-project="1382" data-issue="5145" data-project-path="bob/bob.bio.face" data-iid="71" data-issue-type="issue" data-container="body" data-placement="top" title="BobIpTinyface returns a empty list list on failure but is tested for None" class="gfm gfm-issue">#71</a>
</li>
<li data-sourcepos="4:1-4:174">
<a href="/bob/bob.bio.face/-/merge_requests/151" data-reference-type="merge_request" data-original="bob/bob.bio.face!151" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6632" data-project-path="bob/bob.bio.face" data-iid="151" data-container="body" data-placement="top" title='Resolve "The LFW annotations provided on the biometric resources cannot be read by the current LFW database implementation"' class="gfm gfm-merge_request">!151</a> Resolve "The LFW annotations provided on the biometric resources cannot be read by the current LFW database implementation": Closes <a href="/bob/bob.bio.face/-/issues/67" data-reference-type="issue" data-original="bob/bob.bio.face#67" data-link="false" data-link-reference="false" data-project="1382" data-issue="5135" data-project-path="bob/bob.bio.face" data-iid="67" data-issue-type="issue" data-container="body" data-placement="top" title="The LFW annotations provided on the biometric resources cannot be read by the current LFW database implementation" class="gfm gfm-issue">#67</a>
</li>
<li data-sourcepos="5:1-5:125">
<a href="/bob/bob.bio.face/-/merge_requests/156" data-reference-type="merge_request" data-original="bob/bob.bio.face!156" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6711" data-project-path="bob/bob.bio.face" data-iid="156" data-container="body" data-placement="top" title="Passing foward the labels - LDA training" class="gfm gfm-merge_request">!156</a> Passing foward the labels - LDA training: Closes <a href="https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/167" data-reference-type="issue" data-original="https://gitlab.idiap.ch/bob/bob.bio.base/-/issues/167" data-link="false" data-link-reference="true" data-project="1379" data-issue="5182" data-project-path="bob/bob.bio.base" data-iid="167" data-issue-type="issue" data-container="body" data-placement="top" title="Algorithms with training that requires split by class don't seem to work" class="gfm gfm-issue">bob.bio.base#167</a>
</li>
<li data-sourcepos="6:1-6:140">
<a href="/bob/bob.bio.face/-/merge_requests/157" data-reference-type="merge_request" data-original="bob/bob.bio.face!157" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6716" data-project-path="bob/bob.bio.face" data-iid="157" data-container="body" data-placement="top" title="Update TNorm set of mobio" class="gfm gfm-merge_request">!157</a> Update TNorm set of mobio: The current TNorm set was setting more than a thousand samples for one biometric reference</li>
<li data-sourcepos="7:1-7:47">
<a href="/bob/bob.bio.face/-/merge_requests/158" data-reference-type="merge_request" data-original="bob/bob.bio.face!158" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6726" data-project-path="bob/bob.bio.face" data-iid="158" data-container="body" data-placement="top" title="Fixed VGG16 wrong offset" class="gfm gfm-merge_request">!158</a> Fixed VGG16 wrong offset</li>
<li data-sourcepos="8:1-8:121">
<a href="/bob/bob.bio.face/-/merge_requests/154" data-reference-type="merge_request" data-original="bob/bob.bio.face!154" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6643" data-project-path="bob/bob.bio.face" data-iid="154" data-container="body" data-placement="top" title='Resolve "BoundingBoxAnnotatorCrop ignores the selected bounding boxes"' class="gfm gfm-merge_request">!154</a> Resolve "BoundingBoxAnnotatorCrop ignores the selected bounding boxes": Closes <a href="/bob/bob.bio.face/-/issues/70" data-reference-type="issue" data-original="bob/bob.bio.face#70" data-link="false" data-link-reference="false" data-project="1382" data-issue="5144" data-project-path="bob/bob.bio.face" data-iid="70" data-issue-type="issue" data-container="body" data-placement="top" title="BoundingBoxAnnotatorCrop ignores the selected bounding boxes" class="gfm gfm-issue">#70</a>
</li>
<li data-sourcepos="9:1-9:166">
<a href="/bob/bob.bio.face/-/merge_requests/159" data-reference-type="merge_request" data-original="bob/bob.bio.face!159" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6765" data-project-path="bob/bob.bio.face" data-iid="159" data-container="body" data-placement="top" title="Moved FaceZoo to bob.bio.face" class="gfm gfm-merge_request">!159</a> Moved FaceZoo to bob.bio.face: Moved facezoo from the deprecated <code>bob.learn.pytorch</code> to <code>bob.bio.face</code>. Half of our baselines were not working.</li>
<li data-sourcepos="10:1-10:114">
<a href="/bob/bob.bio.face/-/merge_requests/160" data-reference-type="merge_request" data-original="bob/bob.bio.face!160" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6775" data-project-path="bob/bob.bio.face" data-iid="160" data-container="body" data-placement="top" title="Added for models from Oxford" class="gfm gfm-merge_request">!160</a> Added four resnet-based models from Oxford. All of them were trained with the VGG2 dataset.</li>
<li data-sourcepos="11:1-11:102">
<a href="/bob/bob.bio.face/-/merge_requests/161" data-reference-type="merge_request" data-original="bob/bob.bio.face!161" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6778" data-project-path="bob/bob.bio.face" data-iid="161" data-container="body" data-placement="top" title='Resolve "Resources for arface dataset are mixed up"' class="gfm gfm-merge_request">!161</a> Resolve "Resources for arface dataset are mixed up": Closes <a href="/bob/bob.bio.face/-/issues/75" data-reference-type="issue" data-original="bob/bob.bio.face#75" data-link="false" data-link-reference="false" data-project="1382" data-issue="5212" data-project-path="bob/bob.bio.face" data-iid="75" data-issue-type="issue" data-container="body" data-placement="top" title="Resources for arface dataset are mixed up" class="gfm gfm-issue">#75</a>
</li>
<li data-sourcepos="12:1-12:270">
<a href="/bob/bob.bio.face/-/merge_requests/163" data-reference-type="merge_request" data-original="bob/bob.bio.face!163" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6784" data-project-path="bob/bob.bio.face" data-iid="163" data-container="body" data-placement="top" title="Improves the documentation of datasets" class="gfm gfm-merge_request">!163</a> Improved the documentation of datasets: I am adding documentation to the datasets, for example, what kinds of parameters they expect, how to obtain the data, and so on. I have only written two, but more will follow. Please feel free to contribute.</li>
<li data-sourcepos="13:1-13:60">
<a href="/bob/bob.bio.face/-/merge_requests/164" data-reference-type="merge_request" data-original="bob/bob.bio.face!164" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6798" data-project-path="bob/bob.bio.face" data-iid="164" data-container="body" data-placement="top" title="Vanished dependency with bob.io.video" class="gfm gfm-merge_request">!164</a> Vanished dependency with bob.io.video</li>
<li data-sourcepos="14:1-14:426">
<a href="/bob/bob.bio.face/-/merge_requests/149" data-reference-type="merge_request" data-original="bob/bob.bio.face!149" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6482" data-project-path="bob/bob.bio.face" data-iid="149" data-container="body" data-placement="top" title="Several features" class="gfm gfm-merge_request">!149</a> Several features: - Created pytorch database interfaces for WebFace42M, Mobio, MSCeleb, Morph, MEDS, RFW (the last 5 contains demographic information) - Added 2 annotators. The FaceXZoo face detector and face landmark detector (it contains 106 landmarks). - Created a bob database for the VGG2 Database (it contains demographic information (gender and race labels)). - Added some pytorch building blocks</li>
<li data-sourcepos="15:1-15:159">
<a href="/bob/bob.bio.face/-/merge_requests/165" data-reference-type="merge_request" data-original="bob/bob.bio.face!165" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6827" data-project-path="bob/bob.bio.face" data-iid="165" data-container="body" data-placement="top" title="Added Open-set protocols for LFW" class="gfm gfm-merge_request">!165</a> Added Open-set protocols for LFW: I have added some new protocols for LFW that we have published in <a href="https://arxiv.org/pdf/1705.01567.pdf" rel="nofollow noreferrer noopener" target="_blank">https://arxiv.org/pdf/1705.01567.pdf</a>
</li>
<li data-sourcepos="16:1-16:499">
<a href="/bob/bob.bio.face/-/merge_requests/166" data-reference-type="merge_request" data-original="bob/bob.bio.face!166" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6828" data-project-path="bob/bob.bio.face" data-iid="166" data-container="body" data-placement="top" title="Changed the default behaviour when multiple croppers match" class="gfm gfm-merge_request">!166</a> Changed the default behaviour when multiple croppers match: When images have mixed annotations (some with only bbx, some with bbx and eyes), you cannot assure that always exactly one cropper matches from the list of croppers. Currently, when this happens an exception is raised. I would propose to use the first valid cropper instead, so that the <strong>order</strong> of the croppers matter, and one can provide a standard cropper and a fallback solution when the standard does not work.</li>
<li data-sourcepos="17:1-17:478">
<a href="/bob/bob.bio.face/-/merge_requests/167" data-reference-type="merge_request" data-original="bob/bob.bio.face!167" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6831" data-project-path="bob/bob.bio.face" data-iid="167" data-container="body" data-placement="top" title="Pinning torch.device to CPU for inference. We are having problems with IDIAP grid" class="gfm gfm-merge_request">!167</a> Pinning torch.device to CPU for inference. We are having problems with IDIAP grid: By default, I'm setting torch.device("cpu") in all our pytorch models for inference. Since last major system update at Idiap <code>torch.cuda.is_available()</code> is True for "CPU" hosts in our grid. Then, we have an exception once pytorch tries to use the available GPU (which we are not allowed in CPU hosts). I'm hypothesizing here; I don't remember having this issue last month.</li>
<li data-sourcepos="18:1-18:39">
<a href="/bob/bob.bio.face/-/merge_requests/168" data-reference-type="merge_request" data-original="bob/bob.bio.face!168" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6833" data-project-path="bob/bob.bio.face" data-iid="168" data-container="body" data-placement="top" title="Small fix on LFW" class="gfm gfm-merge_request">!168</a> Small fix on LFW</li>
<li data-sourcepos="19:1-19:142">
<a href="/bob/bob.bio.face/-/merge_requests/169" data-reference-type="merge_request" data-original="bob/bob.bio.face!169" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6906" data-project-path="bob/bob.bio.face" data-iid="169" data-container="body" data-placement="top" title="Optimized the replaymobile interface to our file system that supports very..." class="gfm gfm-merge_request">!169</a> Optimized the replaymobile interface to our file system that supports very poorly directories with more than 1000 files</li>
<li data-sourcepos="20:1-20:72">
<a href="/bob/bob.bio.face/-/merge_requests/171" data-reference-type="merge_request" data-original="bob/bob.bio.face!171" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6921" data-project-path="bob/bob.bio.face" data-iid="171" data-container="body" data-placement="top" title="[replaymobile] Fix image flipping, add more tests" class="gfm gfm-merge_request">!171</a> [replaymobile] Fix image flipping, add more tests</li>
<li data-sourcepos="21:1-21:304">
<a href="/bob/bob.bio.face/-/merge_requests/172" data-reference-type="merge_request" data-original="bob/bob.bio.face!172" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6941" data-project-path="bob/bob.bio.face" data-iid="172" data-container="body" data-placement="top" title="Move bob.ip.facedetect code to here" class="gfm gfm-merge_request">!172</a> Move bob.ip.facedetect code to here: - Drop FaceDetect and Flandmark - Move MTCNN and TinyFace to here - Implement BoundingBox and prune_detections in Python - Move other helper functions from bob.ip.facedetect to here - Rename TinyFace.detect to TinyFace.annotations - black files</li>
<li data-sourcepos="22:1-22:285">
<a href="/bob/bob.bio.face/-/merge_requests/170" data-reference-type="merge_request" data-original="bob/bob.bio.face!170" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6910" data-project-path="bob/bob.bio.face" data-iid="170" data-container="body" data-placement="top" title="New backbones, heads and Siamese dataset" class="gfm gfm-merge_request">!170</a> New backbones, heads and Siamese dataset: - moved iresnet backbones there - added new heads (arc based heads) - Created a wrapper that wraps a pytorch dataset and transforms into a Siamese dataset - Created a Runnable pytorch transformer - Fixed RFW entry points</li>
<li data-sourcepos="23:1-23:195">
<a href="/bob/bob.bio.face/-/merge_requests/173" data-reference-type="merge_request" data-original="bob/bob.bio.face!173" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6969" data-project-path="bob/bob.bio.face" data-iid="173" data-container="body" data-placement="top" title="Moving face recognition customized reports to this package" class="gfm gfm-merge_request">!173</a> Moving face recognition customized reports to this package: These are the face recognition reports from FRICE paper. A user guide is still missing, which will come shortly.</li>
<li data-sourcepos="24:1-24:144">
<a href="/bob/bob.bio.face/-/merge_requests/174" data-reference-type="merge_request" data-original="bob/bob.bio.face!174" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7002" data-project-path="bob/bob.bio.face" data-iid="174" data-container="body" data-placement="top" title="Fixed VGG2-full protocols" class="gfm gfm-merge_request">!174</a> Fixed VGG2-full protocols: The probe set of the <code>-full</code> protocols had the same amount of samples of the <code>short</code> protocols</li>
<li data-sourcepos="25:1-25:138">
<a href="/bob/bob.bio.face/-/merge_requests/175" data-reference-type="merge_request" data-original="bob/bob.bio.face!175" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7016" data-project-path="bob/bob.bio.face" data-iid="175" data-container="body" data-placement="top" title="Exposing transformers in the config files" class="gfm gfm-merge_request">!175</a> Exposing transformers in the config files: Related to <a href="https://gitlab.idiap.ch/bob/bob.bio.base/-/merge_requests/278" data-reference-type="merge_request" data-original="https://gitlab.idiap.ch/bob/bob.bio.base/-/merge_requests/278" data-link="false" data-link-reference="true" data-project="1379" data-merge-request="7005" data-project-path="bob/bob.bio.base" data-iid="278" data-container="body" data-placement="top" title="Created the CLI command bob bio pipelines transform" class="gfm gfm-merge_request">bob.bio.base!278</a>
</li>
<li data-sourcepos="26:1-26:133">
<a href="/bob/bob.bio.face/-/merge_requests/177" data-reference-type="merge_request" data-original="bob/bob.bio.face!177" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7054" data-project-path="bob/bob.bio.face" data-iid="177" data-container="body" data-placement="top" title="Necessary updates for pipelineSimple" class="gfm gfm-merge_request">!177</a> Necessary updates for pipelineSimple: Depends on <a href="https://gitlab.idiap.ch/bob/bob.bio.base/-/merge_requests/280" data-reference-type="merge_request" data-original="https://gitlab.idiap.ch/bob/bob.bio.base/-/merge_requests/280" data-link="false" data-link-reference="true" data-project="1379" data-merge-request="7036" data-project-path="bob/bob.bio.base" data-iid="280" data-container="body" data-placement="top" title="Rename bob bio pipelines vanilla-biometrics commands" class="gfm gfm-merge_request">bob.bio.base!280</a>
</li>
<li data-sourcepos="27:1-27:135">
<a href="/bob/bob.bio.face/-/merge_requests/178" data-reference-type="merge_request" data-original="bob/bob.bio.face!178" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7058" data-project-path="bob/bob.bio.face" data-iid="178" data-container="body" data-placement="top" title="Remove bob.ip.gabor dependency" class="gfm gfm-merge_request">!178</a> Remove bob.ip.gabor dependency: This deprecates <code>bob.ip.gabor</code>. Two baselines will go away - grid_graph - lgbphs</li>
<li data-sourcepos="28:1-28:1390">
<a href="/bob/bob.bio.face/-/merge_requests/179" data-reference-type="merge_request" data-original="bob/bob.bio.face!179" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7064" data-project-path="bob/bob.bio.face" data-iid="179" data-container="body" data-placement="top" title="Replacing bob.ip.base.FaceEyesNorm" class="gfm gfm-merge_request">!179</a> Replacing bob.ip.base.FaceEyesNorm: This is next chapter on our C++ deprecation crusade (<a href="https://gitlab.idiap.ch/groups/bob/-/milestones/4#tab-issues">https://gitlab.idiap.ch/groups/bob/-/milestones/4#tab-issues</a>). In this MR I'm deprecating a VERY sensible part of our pipeline the C++ <code>bob.ip.base.FaceEyesNorm</code>. I've implemented in python an EXACT implementation of our face alignment in pure python. Amazing, this was reduced to less than 100 lines of code (<a href="https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/new-cropper/bob/bio/face/preprocessor/Base.py#L134">https://gitlab.idiap.ch/bob/bob.bio.face/-/blob/new-cropper/bob/bio/face/preprocessor/Base.py#L134</a>). Furthermore, I've addressed the aliasing issue reported in <a href="https://gitlab.idiap.ch/bob/bob.bio.face/-/issues/74" data-reference-type="issue" data-original="https://gitlab.idiap.ch/bob/bob.bio.face/-/issues/74" data-link="false" data-link-reference="true" data-project="1382" data-issue="5200" data-project-path="bob/bob.bio.face" data-iid="74" data-issue-type="issue" data-container="body" data-placement="top" title="Let's talk about face alignment" class="gfm gfm-issue">#74</a> by changing the bi-linear interpolation to a bi-cubic interpolation. Follow an example of our old crop (bilinear) and the new crop (bicubic), side by side (final crop with 112x112, arcface coordinates). bob/bob.bio.face<a class="no-attachment-icon gfm" href="/bob/bob.bio.face/uploads/b2dcd43fb3877fd4a2a280d2457d70cc/new_interpolation.png" target="_blank" rel="noopener noreferrer" data-canonical-src="/uploads/b2dcd43fb3877fd4a2a280d2457d70cc/new_interpolation.png" data-link="true"><img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="new_interpolation" decoding="async" class="lazy gfm" data-src="/bob/bob.bio.face/uploads/b2dcd43fb3877fd4a2a280d2457d70cc/new_interpolation.png" data-canonical-src="/uploads/b2dcd43fb3877fd4a2a280d2457d70cc/new_interpolation.png"></a> Follow also a pair of images from one of our test cases. <strong>New test case Crop</strong> bob/bob.bio.face<a class="no-attachment-icon gfm" href="/bob/bob.bio.face/uploads/a2fd9a3fdf5293392bb1410306fde1cb/m_new.png" target="_blank" rel="noopener noreferrer" data-canonical-src="/uploads/a2fd9a3fdf5293392bb1410306fde1cb/m_new.png" data-link="true"><img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="m_new" decoding="async" class="lazy gfm" data-src="/bob/bob.bio.face/uploads/a2fd9a3fdf5293392bb1410306fde1cb/m_new.png" data-canonical-src="/uploads/a2fd9a3fdf5293392bb1410306fde1cb/m_new.png"></a> <strong>Old test case crop</strong> bob/bob.bio.face<a class="no-attachment-icon gfm" href="/bob/bob.bio.face/uploads/8270568d9c1584cd6f40896b8c5a0444/m_reference.png" target="_blank" rel="noopener noreferrer" data-canonical-src="/uploads/8270568d9c1584cd6f40896b8c5a0444/m_reference.png" data-link="true"><img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="m_reference" decoding="async" class="lazy gfm" data-src="/bob/bob.bio.face/uploads/8270568d9c1584cd6f40896b8c5a0444/m_reference.png" data-canonical-src="/uploads/8270568d9c1584cd6f40896b8c5a0444/m_reference.png"></a> I still need to run some FR experiments on it and change some other face cropper classes. With that, we can start moving forward towards detaching <code>bob.ip.base</code> from this package.</li>
<li data-sourcepos="29:1-29:91">
<a href="/bob/bob.bio.face/-/merge_requests/180" data-reference-type="merge_request" data-original="bob/bob.bio.face!180" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7087" data-project-path="bob/bob.bio.face" data-iid="180" data-container="body" data-placement="top" title="Dropping packages" class="gfm gfm-merge_request">!180</a> Dropping packages: In this MR I'll drop bob.ip.color and bob.db.base</li>
<li data-sourcepos="30:1-30:60">
<a href="/bob/bob.bio.face/-/merge_requests/182" data-reference-type="merge_request" data-original="bob/bob.bio.face!182" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7118" data-project-path="bob/bob.bio.face" data-iid="182" data-container="body" data-placement="top" title="[color] add rgb_to_yuv and rgb_to_hsv" class="gfm gfm-merge_request">!182</a> [color] add rgb_to_yuv and rgb_to_hsv</li>
<li data-sourcepos="31:1-31:122">
<a href="/bob/bob.bio.face/-/merge_requests/183" data-reference-type="merge_request" data-original="bob/bob.bio.face!183" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7122" data-project-path="bob/bob.bio.face" data-iid="183" data-container="body" data-placement="top" title="drop support for .pos annotations" class="gfm gfm-merge_request">!183</a> drop support for .pos annotations: Also remove bob.db.base bob.db.atnt bob.io.image and bob.ip.base</li>
<li data-sourcepos="32:1-32:76">
<a href="/bob/bob.bio.face/-/merge_requests/184" data-reference-type="merge_request" data-original="bob/bob.bio.face!184" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7130" data-project-path="bob/bob.bio.face" data-iid="184" data-container="body" data-placement="top" title="Fix color functions" class="gfm gfm-merge_request">!184</a> Fix color functions: and remove bob.math and bob.core</li>
<li data-sourcepos="33:1-33:37">
<a href="/bob/bob.bio.face/-/merge_requests/185" data-reference-type="merge_request" data-original="bob/bob.bio.face!185" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7173" data-project-path="bob/bob.bio.face" data-iid="185" data-container="body" data-placement="top" title="Add pre-commit" class="gfm gfm-merge_request">!185</a> Add pre-commit</li>
<li data-sourcepos="34:1-34:46">
<a href="/bob/bob.bio.face/-/merge_requests/186" data-reference-type="merge_request" data-original="bob/bob.bio.face!186" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7179" data-project-path="bob/bob.bio.face" data-iid="186" data-container="body" data-placement="top" title="remove legacy databases" class="gfm gfm-merge_request">!186</a> remove legacy databases</li>
<li data-sourcepos="35:1-35:202">
<a href="/bob/bob.bio.face/-/merge_requests/187" data-reference-type="merge_request" data-original="bob/bob.bio.face!187" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7221" data-project-path="bob/bob.bio.face" data-iid="187" data-container="body" data-placement="top" title="replace is_estimator_stateless with estimator_requires_fit" class="gfm gfm-merge_request">!187</a> replace is_estimator_stateless with estimator_requires_fit: The actual code meant to check if an estimator requires fit or not while the function was named is_estimator_stateless.</li>
<li data-sourcepos="36:1-36:178">
<a href="/bob/bob.bio.face/-/merge_requests/188" data-reference-type="merge_request" data-original="bob/bob.bio.face!188" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7265" data-project-path="bob/bob.bio.face" data-iid="188" data-container="body" data-placement="top" title="Adapted to changes introduced in bob.bio.base!296" class="gfm gfm-merge_request">!188</a> Adapted to changes introduced in <a href="/bob/bob.bio.base/-/merge_requests/296" data-reference-type="merge_request" data-original="bob.bio.base!296" data-link="false" data-link-reference="false" data-project="1379" data-merge-request="7264" data-project-path="bob/bob.bio.base" data-iid="296" data-container="body" data-placement="top" title="Changed the API of BioAlgorithm and score post processors" class="gfm gfm-merge_request">bob.bio.base!296</a>: * Adapted to changes introduced in <a href="/bob/bob.bio.base/-/merge_requests/296" data-reference-type="merge_request" data-original="bob.bio.base!296" data-link="false" data-link-reference="false" data-project="1379" data-merge-request="7264" data-project-path="bob/bob.bio.base" data-iid="296" data-container="body" data-placement="top" title="Changed the API of BioAlgorithm and score post processors" class="gfm gfm-merge_request">bob.bio.base!296</a> * removed the Histogram algorithm as it was not used</li>
<li data-sourcepos="37:1-37:76">
<a href="/bob/bob.bio.face/-/merge_requests/189" data-reference-type="merge_request" data-original="bob/bob.bio.face!189" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="7302" data-project-path="bob/bob.bio.face" data-iid="189" data-container="body" data-placement="top" title="MTCNN is not serializable" class="gfm gfm-merge_request">!189</a> MTCNN is not serializable: Closes <a href="/bob/bob.bio.face/-/issues/81" data-reference-type="issue" data-original="bob/bob.bio.face#81" data-link="false" data-link-reference="false" data-project="1382" data-issue="5496" data-project-path="bob/bob.bio.face" data-iid="81" data-issue-type="issue" data-container="body" data-placement="top" title="MTCNN is not serializable" class="gfm gfm-issue">#81</a>
</li>
</ul>2022-06-15T13:22:29ZYannick DAYERhttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v6.0.0v6.0.0<ul data-sourcepos="1:1-34:493" dir="auto">
<li data-sourcepos="1:1-1:81">
<a href="/bob/bob.bio.face/-/merge_requests/114" data-reference-type="merge_request" data-original="bob/bob.bio.face!114" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6073" data-project-path="bob/bob.bio.face" data-iid="114" data-container="body" data-placement="top" title='Resolve "MultiFace crop issue"' class="gfm gfm-merge_request">!114</a> Resolve "MultiFace crop issue": Closes <a href="/bob/bob.bio.face/-/issues/45" data-reference-type="issue" data-original="bob/bob.bio.face#45" data-link="false" data-link-reference="false" data-project="1382" data-issue="4901" data-project-path="bob/bob.bio.face" data-iid="45" data-issue-type="issue" data-container="body" data-placement="top" title="MultiFace crop issue" class="gfm gfm-issue">#45</a>
</li>
<li data-sourcepos="2:1-2:299">
<a href="/bob/bob.bio.face/-/merge_requests/115" data-reference-type="merge_request" data-original="bob/bob.bio.face!115" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6080" data-project-path="bob/bob.bio.face" data-iid="115" data-container="body" data-placement="top" title="An attempt to do a FAQ page" class="gfm gfm-merge_request">!115</a> An attempt to do a FAQ page: Hi, this is an attempt at having a FAQ page for <code>bob.bio.face</code> So far I've added one entry, teaching on how to crop a face Would be nice to have something on <code>Colab</code> so we could have some runnable examples there. ping <a href="/amohammadi" data-reference-type="user" data-user="277" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Amir MOHAMMADI">@amohammadi</a> <a href="/ageorge" data-reference-type="user" data-user="489" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Anjith GEORGE">@ageorge</a>
</li>
<li data-sourcepos="3:1-3:154">
<a href="/bob/bob.bio.face/-/merge_requests/116" data-reference-type="merge_request" data-original="bob/bob.bio.face!116" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6116" data-project-path="bob/bob.bio.face" data-iid="116" data-container="body" data-placement="top" title="Ported IJBC database" class="gfm gfm-merge_request">!116</a> Ported IJBC database: Ported IJB-C to the new DB interface. In this case, the database is pickled. ping <a href="/lcolbois" data-reference-type="user" data-user="721" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Laurent COLBOIS">@lcolbois</a> <a href="/amohammadi" data-reference-type="user" data-user="277" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Amir MOHAMMADI">@amohammadi</a>
</li>
<li data-sourcepos="4:1-4:48">
<a href="/bob/bob.bio.face/-/merge_requests/117" data-reference-type="merge_request" data-original="bob/bob.bio.face!117" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6122" data-project-path="bob/bob.bio.face" data-iid="117" data-container="body" data-placement="top" title="FRGC dataset" class="gfm gfm-merge_request">!117</a> FRGC dataset: Ported FRGC</li>
<li data-sourcepos="5:1-5:569">
<a href="/bob/bob.bio.face/-/merge_requests/118" data-reference-type="merge_request" data-original="bob/bob.bio.face!118" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6149" data-project-path="bob/bob.bio.face" data-iid="118" data-container="body" data-placement="top" title="50 shades of face" class="gfm gfm-merge_request">!118</a> 50 shades of face: In this MR I created a directory containing a repository of notebooks (so far only one) with some nice features that doesn't fit in the API. For instance, I added a notebook called <code>50-shades-of-face</code> to evaluate the best way to crop a face given a dataset and a feature extractor. Some people already questioned how we pick those values, so I pasted an example with Mobio. bob/bob.bio.face<a class="no-attachment-icon gfm" href="/bob/bob.bio.face/uploads/628f209e2d4b7d4a11c543fb7b95218e/50-shades.png" target="_blank" rel="noopener noreferrer" data-canonical-src="/uploads/628f209e2d4b7d4a11c543fb7b95218e/50-shades.png" data-link="true"><img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="50-shades" decoding="async" class="lazy gfm" data-src="/bob/bob.bio.face/uploads/628f209e2d4b7d4a11c543fb7b95218e/50-shades.png" data-canonical-src="/uploads/628f209e2d4b7d4a11c543fb7b95218e/50-shades.png"></a> People can take this notebook and customize as they like.</li>
<li data-sourcepos="6:1-6:1456">
<a href="/bob/bob.bio.face/-/merge_requests/121" data-reference-type="merge_request" data-original="bob/bob.bio.face!121" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6175" data-project-path="bob/bob.bio.face" data-iid="121" data-container="body" data-placement="top" title="lfw bug fix" class="gfm gfm-merge_request">!121</a> lfw bug fix: Hi, When trying to get <code>all_samples()</code> in lfw dataset, I faced with the following error: <code>python >> from bob.bio.face.config.database.lfw_unrestricted import database >> database.all_samples() --------------------------------------------------------------------------- NotImplementedError Traceback (most recent call last) <ipython-input-91-392e908f49b8> in <module> 1 from bob.bio.face.config.database.lfw_unrestricted import database ----> 2 database.all_samples() /idiap/temp/hotroshi/anaconda3/envs/my_bob_2021/lib/python3.8/site-packages/bob/bio/base/pipelines/vanilla_biometrics/legacy.py in all_samples(self, groups) 237 """ 238 valid_groups = convert_names_to_highlevel( --> 239 self.database.groups(), 240 low_level_names=["world", "dev", "eval"], 241 high_level_names=["train", "dev", "eval"], /idiap/temp/hotroshi/anaconda3/envs/my_bob_2021/lib/python3.8/site-packages/bob/bio/base/database/database.py in groups(self, protocol) 307 If you do not have protocols defined, just ignore this field. 308 """ --> 309 raise NotImplementedError("This function must be implemented in your derived class.") 310 311 NotImplementedError: This function must be implemented in your derived class. </code> It is solved in this MR (thanks <a href="/amohammadi" data-reference-type="user" data-user="277" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Amir MOHAMMADI">@amohammadi</a>)</li>
<li data-sourcepos="7:1-7:67">
<a href="/bob/bob.bio.face/-/merge_requests/122" data-reference-type="merge_request" data-original="bob/bob.bio.face!122" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6180" data-project-path="bob/bob.bio.face" data-iid="122" data-container="body" data-placement="top" title="arcface update" class="gfm gfm-merge_request">!122</a> arcface update: update in the arcface script</li>
<li data-sourcepos="8:1-8:45">
<a href="/bob/bob.bio.face/-/merge_requests/123" data-reference-type="merge_request" data-original="bob/bob.bio.face!123" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6209" data-project-path="bob/bob.bio.face" data-iid="123" data-container="body" data-placement="top" title="Working out embeddings" class="gfm gfm-merge_request">!123</a> Working out embeddings</li>
<li data-sourcepos="9:1-9:314">
<a href="/bob/bob.bio.face/-/merge_requests/119" data-reference-type="merge_request" data-original="bob/bob.bio.face!119" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6170" data-project-path="bob/bob.bio.face" data-iid="119" data-container="body" data-placement="top" title="Refactor baseline config helpers" class="gfm gfm-merge_request">!119</a> Refactor baseline config helpers: This merge requests aim to cleanup the helpers for defining face recognition helpers. Cf. also <a href="https://gitlab.idiap.ch/bob/bob.bio.face/-/issues/46" data-reference-type="issue" data-original="this issue" data-link="true" data-link-reference="true" data-project="1382" data-issue="4914" data-project-path="bob/bob.bio.face" data-iid="46" data-issue-type="issue" data-container="body" data-placement="top" title="Cleanup face cropping helpers" class="gfm gfm-issue">this issue</a> Should me merged jointly with <a href="https://gitlab.idiap.ch/bob/bob.pad.face/-/merge_requests/117" data-reference-type="merge_request" data-original="https://gitlab.idiap.ch/bob/bob.pad.face/-/merge_requests/117" data-link="false" data-link-reference="true" data-project="1180" data-merge-request="6199" data-project-path="bob/bob.pad.face" data-iid="117" data-container="body" data-placement="top" title="Refactor baseline config helpers" class="gfm gfm-merge_request">bob.pad.face!117</a>
</li>
<li data-sourcepos="10:1-10:201">
<a href="/bob/bob.bio.face/-/merge_requests/106" data-reference-type="merge_request" data-original="bob/bob.bio.face!106" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6010" data-project-path="bob/bob.bio.face" data-iid="106" data-container="body" data-placement="top" title="Vulnerability framework - CSV datasets" class="gfm gfm-merge_request">!106</a> Vulnerability framework - CSV datasets: Using CSV datasets to score a biometric system on licit and presentation-attack samples to evaluate its vulnerability to spoofing attacks.</li>
<li data-sourcepos="11:1-11:295">
<a href="/bob/bob.bio.face/-/merge_requests/124" data-reference-type="merge_request" data-original="bob/bob.bio.face!124" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6243" data-project-path="bob/bob.bio.face" data-iid="124" data-container="body" data-placement="top" title='Resolve "IJBC database will fail on non-Idiap filesystems"' class="gfm gfm-merge_request">!124</a> Resolve "IJBC database will fail on non-Idiap filesystems": This aims to provide an IJBC implementation that will be both performant (unlike <code>bob.db.ijbc</code>) and portable (unlike the current prepickling approach). This will close <a href="/bob/bob.bio.face/-/issues/53" data-reference-type="issue" data-original="bob/bob.bio.face#53" data-link="false" data-link-reference="false" data-project="1382" data-issue="4984" data-project-path="bob/bob.bio.face" data-iid="53" data-issue-type="issue" data-container="body" data-placement="top" title="IJBC database will fail on non-Idiap filesystems" class="gfm gfm-issue">#53</a>, <a href="/bob/bob.bio.face/-/issues/49" data-reference-type="issue" data-original="bob/bob.bio.face#49" data-link="false" data-link-reference="false" data-project="1382" data-issue="4952" data-project-path="bob/bob.bio.face" data-iid="49" data-issue-type="issue" data-container="body" data-placement="top" title="all_samples() in IJBC" class="gfm gfm-issue">#49</a>.</li>
<li data-sourcepos="12:1-12:225">
<a href="/bob/bob.bio.face/-/merge_requests/112" data-reference-type="merge_request" data-original="bob/bob.bio.face!112" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6068" data-project-path="bob/bob.bio.face" data-iid="112" data-container="body" data-placement="top" title="Feature extractors" class="gfm gfm-merge_request">!112</a> Feature extractors: Adding new feature extractors Thanks for pushing the code <a href="/ylinghu" data-reference-type="user" data-user="763" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Yu LINGHU">@ylinghu</a> <a href="/xzhang" data-reference-type="user" data-user="762" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Xinyi ZHANG">@xzhang</a> I'll open this MR so we can merge it in the future ping <a href="/mguenther" data-reference-type="user" data-user="320" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Manuel Günther">@mguenther</a> Closes <a href="/bob/bob.bio.face/-/issues/51" data-reference-type="issue" data-original="bob/bob.bio.face#51" data-link="false" data-link-reference="false" data-project="1382" data-issue="4982" data-project-path="bob/bob.bio.face" data-iid="51" data-issue-type="issue" data-container="body" data-placement="top" title="Nightlies failling because of this one" class="gfm gfm-issue">#51</a>
</li>
<li data-sourcepos="13:1-13:197">
<a href="/bob/bob.bio.face/-/merge_requests/128" data-reference-type="merge_request" data-original="bob/bob.bio.face!128" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6290" data-project-path="bob/bob.bio.face" data-iid="128" data-container="body" data-placement="top" title="Using sparse CSVDataset for replay-mobile" class="gfm gfm-merge_request">!128</a> Using sparse CSVDataset for replay-mobile: - replaymobile-img now uses <code>is_sparse</code> CSVDataset; - Updated the CSV protocol definition files accordingly; - Updated the tests.</li>
<li data-sourcepos="14:1-14:26">
<a href="/bob/bob.bio.face/-/merge_requests/127" data-reference-type="merge_request" data-original="bob/bob.bio.face!127" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6289" data-project-path="bob/bob.bio.face" data-iid="127" data-container="body" data-placement="top" title="RFW" class="gfm gfm-merge_request">!127</a> RFW</li>
<li data-sourcepos="15:1-15:117">
<a href="/bob/bob.bio.face/-/merge_requests/125" data-reference-type="merge_request" data-original="bob/bob.bio.face!125" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6252" data-project-path="bob/bob.bio.face" data-iid="125" data-container="body" data-placement="top" title="Add support for distributed/multi-gpu training" class="gfm gfm-merge_request">!125</a> Add support for distributed/multi-gpu training: Also fixes the range of images in pola-thermal</li>
<li data-sourcepos="16:1-16:119">
<a href="/bob/bob.bio.face/-/merge_requests/132" data-reference-type="merge_request" data-original="bob/bob.bio.face!132" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6333" data-project-path="bob/bob.bio.face" data-iid="132" data-container="body" data-placement="top" title="Add tf2 iresnet models trained on msceleb at Idiap" class="gfm gfm-merge_request">!132</a> Add tf2 iresnet models trained on msceleb at Idiap: Reproduces pytorch versions from insightface</li>
<li data-sourcepos="17:1-17:65">
<a href="/bob/bob.bio.face/-/merge_requests/134" data-reference-type="merge_request" data-original="bob/bob.bio.face!134" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6348" data-project-path="bob/bob.bio.face" data-iid="134" data-container="body" data-placement="top" title="[setup.py] fix some bob.bio.config entries" class="gfm gfm-merge_request">!134</a> [setup.py] fix some bob.bio.config entries</li>
<li data-sourcepos="18:1-18:225">
<a href="/bob/bob.bio.face/-/merge_requests/131" data-reference-type="merge_request" data-original="bob/bob.bio.face!131" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6300" data-project-path="bob/bob.bio.face" data-iid="131" data-container="body" data-placement="top" title="Fixes normalization" class="gfm gfm-merge_request">!131</a> Fixes normalization: The default normalization for the iresnet is modified to match the repo from where the pretrained models were taken from. Now the performance matches the arcface model from mxnet.</li>
<li data-sourcepos="19:1-19:1648">
<a href="/bob/bob.bio.face/-/merge_requests/135" data-reference-type="merge_request" data-original="bob/bob.bio.face!135" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6351" data-project-path="bob/bob.bio.face" data-iid="135" data-container="body" data-placement="top" title="Changed the 112x112 crops to have consistently in x axis 16 pixels distance..." class="gfm gfm-merge_request">!135</a> Changed the 112x112 crops to have consistently in x axis 16 pixels distance...: Changed the 112x112 crops to have consistently in x axis 16 pixels distance between the right/left eye and the border of the image This crop is more sensible. Follow attached the impact on <code>mobio-male</code> protocol <code> Computing metrics with eer... [Min. criterion: EER ] Threshold on Development set `current-crop`: -6.000326e-01 ===================== ================ ================ .. Development Evaluation ===================== ================ ================ Failure to Acquire 0.00% 0.00% False Match Rate 0.04% (23/57960) 0.00% (6/147630) False Non Match Rate 0.04% (1/2520) 0.05% (2/3990) False Accept Rate 0.04% 0.00% False Reject Rate 0.04% 0.05% Half Total Error Rate 0.04% 0.03% ===================== ================ ================ [Min. criterion: EER ] Threshold on Development set `new-crop`: -5.136560e-01 ===================== =============== ================ .. Development Evaluation ===================== =============== ================ Failure to Acquire 0.00% 0.00% False Match Rate 0.00% (0/57960) 0.00% (0/147630) False Non Match Rate 0.00% (0/2520) 0.18% (7/3990) False Accept Rate 0.00% 0.00% False Reject Rate 0.00% 0.18% Half Total Error Rate 0.00% 0.09% ===================== =============== ================ </code> Do you mind reviewing this one <a href="/lcolbois" data-reference-type="user" data-user="721" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Laurent COLBOIS">@lcolbois</a> ? Thanks</li>
<li data-sourcepos="20:1-20:190">
<a href="/bob/bob.bio.face/-/merge_requests/130" data-reference-type="merge_request" data-original="bob/bob.bio.face!130" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6299" data-project-path="bob/bob.bio.face" data-iid="130" data-container="body" data-placement="top" title="Fix Pytorch models" class="gfm gfm-merge_request">!130</a> Fix Pytorch models: In this MR, some bugs related to PyTorch models are fixed and improved: 1. add <code>to(device)</code>, 2. add <code>model.eval()</code>, 3. add <code>torch.no_grad()</code>
</li>
<li data-sourcepos="21:1-21:42">
<a href="/bob/bob.bio.face/-/merge_requests/136" data-reference-type="merge_request" data-original="bob/bob.bio.face!136" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6361" data-project-path="bob/bob.bio.face" data-iid="136" data-container="body" data-placement="top" title="Ported GBU database" class="gfm gfm-merge_request">!136</a> Ported GBU database</li>
<li data-sourcepos="22:1-22:222">
<a href="/bob/bob.bio.face/-/merge_requests/137" data-reference-type="merge_request" data-original="bob/bob.bio.face!137" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6363" data-project-path="bob/bob.bio.face" data-iid="137" data-container="body" data-placement="top" title="fix device for input tensor (PyTorch)" class="gfm gfm-merge_request">!137</a> fix device for input tensor (PyTorch): Changing device for the input tensor was not added in the previous MR (<a href="https://gitlab.idiap.ch/bob/bob.bio.face/-/merge_requests/130" data-reference-type="merge_request" data-original="https://gitlab.idiap.ch/bob/bob.bio.face/-/merge_requests/130" data-link="false" data-link-reference="true" data-project="1382" data-merge-request="6299" data-project-path="bob/bob.bio.face" data-iid="130" data-container="body" data-placement="top" title="Fix Pytorch models" class="gfm gfm-merge_request">!130</a>) which is added in this MR.</li>
<li data-sourcepos="23:1-23:214">
<a href="/bob/bob.bio.face/-/merge_requests/138" data-reference-type="merge_request" data-original="bob/bob.bio.face!138" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6376" data-project-path="bob/bob.bio.face" data-iid="138" data-container="body" data-placement="top" title="Implemented the new IJB-C protocols" class="gfm gfm-merge_request">!138</a> Implemented the new IJB-C protocols: Implemented the new IJB-C protocols Close <a href="/bob/bob.bio.face/-/issues/61" data-reference-type="issue" data-original="bob/bob.bio.face#61" data-link="false" data-link-reference="false" data-project="1382" data-issue="5029" data-project-path="bob/bob.bio.face" data-iid="61" data-issue-type="issue" data-container="body" data-placement="top" title="IJB-C protocols outdated and incomplete" class="gfm gfm-issue">#61</a> Still benchmarking with these new protocols. It might take a while ping <a href="/mguenther" data-reference-type="user" data-user="320" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Manuel Günther">@mguenther</a>
</li>
<li data-sourcepos="24:1-24:376">
<a href="/bob/bob.bio.face/-/merge_requests/139" data-reference-type="merge_request" data-original="bob/bob.bio.face!139" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6384" data-project-path="bob/bob.bio.face" data-iid="139" data-container="body" data-placement="top" title="FRGC fixes" class="gfm gfm-merge_request">!139</a> FRGC fixes: - Add entry points for experiments 1, 2 and 4 from FRGC - Update the CSV files to include file extension directly in the <code>PATH</code> - Swap X-Y annotations which were wrong - Swap <code>leye</code> and <code>reye</code> for ~50 images which were wrongly annotated - Fix 2.0.2 protocol for which probe templates were incorrect - Fix protocols list (2.0.3 -> 2.0.4)</li>
<li data-sourcepos="25:1-25:2031">
<a href="/bob/bob.bio.face/-/merge_requests/141" data-reference-type="merge_request" data-original="bob/bob.bio.face!141" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6402" data-project-path="bob/bob.bio.face" data-iid="141" data-container="body" data-placement="top" title="SCFace porting" class="gfm gfm-merge_request">!141</a> SCFace porting: Hello, This introduces a Bob 9 port of the Surveillance Camera Face Dataset (SCFace). In particular, this ports 5 protocols from the previous <code>bob.db.scface</code> package. bob/bob.bio.face##### Full listing and metadata Additionally to the usual protocol folders, the uploaded <code>scface.tar.gz</code> also contains a <code>listing.csv</code> file that lists all images from the database (around 4000) with as much metadata as possible. For example, some images with pose variations in particular a present in the database but never used in the protocols, those are listed in this listing. Note that those have no landmarks annotations. The metadata for each image contains: - Subject metadata : Age, Gender, Beard, Mustache, Glasses - Device metadata : Channel (IR or RGB), distance (close, medium or far for RGB cameras), capture type (mugshot or surveillance), camera number - Landmarks metadata : Eyes, Nose and Mouth annotations for most of the images - Pose metadata (<code>L1</code>, <code>L2</code>, <code>L3</code>, <code>L4</code> for various left profiles, <code>R1</code>, <code>R2</code>, <code>R3</code>, <code>R4</code> for various right profiles, <code>frontal</code> for frontal views) bob/bob.bio.face##### Protocols The available protocols are: * <code>scface-close</code> : Enrolling frontal RGB mugshot, probing with RGB surveillance cameras at close distance * <code>scface-medium</code> : Enrolling frontal RGB mugshot, probing with RGB surveillance cameras at medium distance * <code>scface-far</code> : Enrolling frontal RGB mugshot, probing with RGB surveillance cameras at far distance * <code>scface</code> : Enrolling frontal RGB mugshot, probing with all RGB surveillance cameras * <code>scface-ir</code> : Enrolling frontal IR mugshot, probing with IR surveillance cameras bob/bob.bio.face##### Experiment As a test, I ran evaluation of all protocols (<code>dev</code> set only) using the arcface model : <a href="/bob/bob.bio.face/uploads/e38e4d96d1c3a1163ef268ad170cf440/scface-arcface.pdf" data-canonical-src="/uploads/e38e4d96d1c3a1163ef268ad170cf440/scface-arcface.pdf" data-link="true" class="gfm">scface-arcface.pdf</a> bob/bob.bio.face##### Todo list for myself: * [x] Check correct "Channel" metadata for IR surveillance cameras * [x] Write tests</li>
<li data-sourcepos="26:1-26:105">
<a href="/bob/bob.bio.face/-/merge_requests/142" data-reference-type="merge_request" data-original="bob/bob.bio.face!142" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6405" data-project-path="bob/bob.bio.face" data-iid="142" data-container="body" data-placement="top" title="Caspeal dataset to bob9" class="gfm gfm-merge_request">!142</a> Caspeal dataset to bob9: Porting CASPEAL <a href="http://www.jdl.ac.cn/peal" rel="nofollow noreferrer noopener" target="_blank">http://www.jdl.ac.cn/peal</a> dataset to bob9</li>
<li data-sourcepos="27:1-27:81">
<a href="/bob/bob.bio.face/-/merge_requests/143" data-reference-type="merge_request" data-original="bob/bob.bio.face!143" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6412" data-project-path="bob/bob.bio.face" data-iid="143" data-container="body" data-placement="top" title="Use DelayedSample.from_sample" class="gfm gfm-merge_request">!143</a> Use DelayedSample.from_sample: Depends on <a href="/bob/bob.pipelines/-/merge_requests/74" data-reference-type="merge_request" data-original="bob.pipelines!74" data-link="false" data-link-reference="false" data-project="3609" data-merge-request="6411" data-project-path="bob/bob.pipelines" data-iid="74" data-container="body" data-placement="top" title="Add a DelayedSample.from_sample classmethod" class="gfm gfm-merge_request">bob.pipelines!74</a>
</li>
<li data-sourcepos="28:1-28:112">
<a href="/bob/bob.bio.face/-/merge_requests/145" data-reference-type="merge_request" data-original="bob/bob.bio.face!145" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6421" data-project-path="bob/bob.bio.face" data-iid="145" data-container="body" data-placement="top" title="Ported ARFace database" class="gfm gfm-merge_request">!145</a> Ported ARFace database: linked to <a href="https://gitlab.idiap.ch/bob/bob.paper.frice2/-/issues/1">https://gitlab.idiap.ch/bob/bob.paper.frice2/-/issues/1</a>
</li>
<li data-sourcepos="29:1-29:247">
<a href="/bob/bob.bio.face/-/merge_requests/146" data-reference-type="merge_request" data-original="bob/bob.bio.face!146" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6422" data-project-path="bob/bob.bio.face" data-iid="146" data-container="body" data-placement="top" title="Port LFW database" class="gfm gfm-merge_request">!146</a> Port LFW database: Porting LFW database. I'll: - use directly the original files. - Allow to select the type of the annotation (idiap or funneled) - Port only the view2 protocol (the only one that makes sense today)</li>
<li data-sourcepos="30:1-30:37">
<a href="/bob/bob.bio.face/-/merge_requests/133" data-reference-type="merge_request" data-original="bob/bob.bio.face!133" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6345" data-project-path="bob/bob.bio.face" data-iid="133" data-container="body" data-placement="top" title="Facexzoomodels" class="gfm gfm-merge_request">!133</a> Facexzoomodels</li>
<li data-sourcepos="31:1-31:1962">
<a href="/bob/bob.bio.face/-/merge_requests/147" data-reference-type="merge_request" data-original="bob/bob.bio.face!147" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6456" data-project-path="bob/bob.bio.face" data-iid="147" data-container="body" data-placement="top" title="FRGC Fixes - Round 2" class="gfm gfm-merge_request">!147</a> FRGC Fixes - Round 2: This implements additional improvements in the Bob 9 FRGC implementation. bob/bob.bio.face#### Additional features * Set <code>memory_demanding</code> to True for FRGC * Implement a hash trick for the checkpointing (some folders in the FRGC Idiap resource contain >10k files), this makes the runs faster overall * Add a <code>listing.csv</code> file in the tarfile, which contains the full list of files in the database + the metadata for each file. This makes it easy to create new protocols, or to read metadata from files not in the currently implemented protocols, by simply loading this listing with Pandas. N.B. : * This listing does NOT include the 3D files contained in the database * It is quite hard to find full & explicit documentation on the content of FRGC 2.0, so I am not 100% sure that I got every file, I had to kind of explore the available XML files. In particular, there are some JPG files for which I was completely unable to find annotations, so those are not included in the listing. At least, this listing now contains annotations for files used in MIPGAN that were not used yet in the implemented protocols (which is what I needed in the first place) bob/bob.bio.face#### What this does NOT fix * Legacy baselines still gets stuck at the <code>write_scores</code> stage (takes forever). Note that this might still potentially be linked to overcrowded folders. Indeed, even when adding a <code>hash_fn</code> to FRGCDatabase, <a href="https://gitlab.idiap.ch/bob/bob.bio.base/-/blob/master/bob/bio/base/pipelines/vanilla_biometrics/wrappers.py#L359">it does not currently impact the checkpointing behaviour of legacy BioAlgorithm</a>. Do we want to try fix that or should we consider that it is not very meaningful to run legacy baselines on FRGC ? * Running Inception-Resnet pipelines on FRGC still leads to MemoryError. This can be solved by running on the <code>sgpu</code> queue, though. Is that enough for us ? ping <a href="/tiago.pereira" data-reference-type="user" data-user="134" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Tiago de Freitas Pereira">@tiago.pereira</a>
</li>
<li data-sourcepos="32:1-32:1066">
<a href="/bob/bob.bio.face/-/merge_requests/140" data-reference-type="merge_request" data-original="bob/bob.bio.face!140" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6399" data-project-path="bob/bob.bio.face" data-iid="140" data-container="body" data-placement="top" title="Align faces when only bounding boxes are provided" class="gfm gfm-merge_request">!140</a> Align faces when only bounding boxes are provided: The <code>BoundingBoxAnnotatorCrop</code> cropper uses a 2 stage strategy to crop and align faces in case <code>annotation_type</code> has a bounding-box. In the first stage, it crops the face using the {<code>topleft</code>, <code>bottomright</code>} parameters and expands them using a <code>margin</code> factor. In the second stage, it uses the <code>annotator</code> to estimate {<code>leye</code> and <code>reye</code>} to make the crop using :py:class:<code>bob.ip.base.FaceEyesNorm</code>. In case the annotator doesn't work, it returns the cropped face using the <code>bounding-box</code> coordinates. It's being a while that I wanted to put this in place. Follow the impact of this on the <code>test1</code> IJB-C protocol (old <code>1:1</code>) and on the <code>test4</code> protocols (open-set identification protocols) <a href="/bob/bob.bio.face/uploads/80ba5db78f728fbde6ef0057f50b110b/test1.pdf" data-canonical-src="/uploads/80ba5db78f728fbde6ef0057f50b110b/test1.pdf" data-link="true" class="gfm">test1.pdf</a> <a href="/bob/bob.bio.face/uploads/b8ef1a07cbd67b466e0207e340f3f1c6/dir-test4-g1.pdf" data-canonical-src="/uploads/b8ef1a07cbd67b466e0207e340f3f1c6/dir-test4-g1.pdf" data-link="true" class="gfm">dir-test4-g1.pdf</a> <a href="/bob/bob.bio.face/uploads/984f7ad741226402003720658701fecf/dir-test4-g2.pdf" data-canonical-src="/uploads/984f7ad741226402003720658701fecf/dir-test4-g2.pdf" data-link="true" class="gfm">dir-test4-g2.pdf</a> Do you have sometime to review this one <a href="/lcolbois" data-reference-type="user" data-user="721" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Laurent COLBOIS">@lcolbois</a> ? Thanks</li>
<li data-sourcepos="33:1-33:939">
<a href="/bob/bob.bio.face/-/merge_requests/148" data-reference-type="merge_request" data-original="bob/bob.bio.face!148" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6465" data-project-path="bob/bob.bio.face" data-iid="148" data-container="body" data-placement="top" title="BoundingBoxAnnotatorCrop fixes" class="gfm gfm-merge_request">!148</a> BoundingBoxAnnotatorCrop fixes: This is a follow-up for <a href="https://gitlab.idiap.ch/bob/bob.bio.face/-/merge_requests/140" data-reference-type="merge_request" data-original="https://gitlab.idiap.ch/bob/bob.bio.face/-/merge_requests/140" data-link="false" data-link-reference="true" data-project="1382" data-merge-request="6399" data-project-path="bob/bob.bio.face" data-iid="140" data-container="body" data-placement="top" title="Align faces when only bounding boxes are provided" class="gfm gfm-merge_request">!140</a> (that introduces the BoundingBoxCropAnnotator). I have been running a few IJBC evaluations and have noticed issues on non-ArcFace-based systems. This introduces the following fixes: * Legacy baselines : reorganize for the cropping to be performed <em>before</em> converting the image to grayscale. That way, the MTCNN annotator used in the BoundingBoxCropAnnotator will work correctly * Embedding baselines : add <code>leye</code> and <code>reye</code> cropped positions in the default also when <code>annotation_type == 'bounding-box'</code> which will trigger the selection of BoundingBoxCropAnnotator). This was currently done only for the <code>cropped_positions_arcface</code>, this adds the same process for legacy, dnn and pad default croppings. <a href="/tiago.pereira" data-reference-type="user" data-user="134" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Tiago de Freitas Pereira">@tiago.pereira</a> could you please review this when you find the time ? It is not urgent.</li>
<li data-sourcepos="34:1-34:493">
<a href="/bob/bob.bio.face/-/merge_requests/150" data-reference-type="merge_request" data-original="bob/bob.bio.face!150" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6495" data-project-path="bob/bob.bio.face" data-iid="150" data-container="body" data-placement="top" title="New baselines" class="gfm gfm-merge_request">!150</a> New baselines: Added 2 baselines. 1. Resnet101 that I've trained with TF2 few months ago <strong>entry point</strong> <code>resnet101-msceleb-arcface-20210521</code> 2. iResnet100 trained with the <code>ElasticFace: Elastic Margin Loss for Deep Face Recognition</code> <strong>entry-point</strong> <code>iresnet100-elastic</code> Follow a quick test with the <code>ijbc_test4_g1</code>. One of the hardest open-set evaluation we have. <a href="/bob/bob.bio.face/uploads/18531e9f5eff1d6277c4bce70a0571e0/dir-test4-g1_elastic.pdf" data-canonical-src="/uploads/18531e9f5eff1d6277c4bce70a0571e0/dir-test4-g1_elastic.pdf" data-link="true" class="gfm">dir-test4-g1_elastic.pdf</a>
</li>
</ul>2021-11-03T20:21:47ZAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v5.0.0v5.0.0<ul data-sourcepos="1:1-41:232" dir="auto">
<li data-sourcepos="1:1-1:74">
<a href="/bob/bob.bio.face/-/merge_requests/69" data-reference-type="merge_request" data-original="bob/bob.bio.face!69" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5533" data-project-path="bob/bob.bio.face" data-iid="69" data-container="body" data-placement="top" title="Make all the transformers work with lists by default" class="gfm gfm-merge_request">!69</a> Make all the transformers work with lists by default</li>
<li data-sourcepos="2:1-2:85">
<a href="/bob/bob.bio.face/-/merge_requests/47" data-reference-type="merge_request" data-original="bob/bob.bio.face!47" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="3154" data-project-path="bob/bob.bio.face" data-iid="47" data-container="body" data-placement="top" title="Accept an annotator in FaceCrop" class="gfm gfm-merge_request">!47</a> Accept an annotator in FaceCrop: related to <a href="/bob/bob.bio.face/-/issues/26" data-reference-type="issue" data-original="bob/bob.bio.face#26" data-link="false" data-link-reference="false" data-project="1382" data-issue="2588" data-project-path="bob/bob.bio.face" data-iid="26" data-issue-type="issue" data-container="body" data-placement="top" title="Use the new sequential preprocessors and annotators API here" class="gfm gfm-issue">#26</a>
</li>
<li data-sourcepos="3:1-3:178">
<a href="/bob/bob.bio.face/-/merge_requests/70" data-reference-type="merge_request" data-original="bob/bob.bio.face!70" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5543" data-project-path="bob/bob.bio.face" data-iid="70" data-container="body" data-placement="top" title="Renamed the resources to use dash instead of under score" class="gfm gfm-merge_request">!70</a> Renamed the resources to use dash instead of under score: Renamed the resources to use dash instead of under score what we've discussed yesterday <a href="/ydayer" data-reference-type="user" data-user="609" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Yannick DAYER">@ydayer</a>
</li>
<li data-sourcepos="4:1-4:164">
<a href="/bob/bob.bio.face/-/merge_requests/72" data-reference-type="merge_request" data-original="bob/bob.bio.face!72" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5564" data-project-path="bob/bob.bio.face" data-iid="72" data-container="body" data-placement="top" title="Fix transformers naming in tests" class="gfm gfm-merge_request">!72</a> Fix transformers naming in tests: Fixed some tests that failed after <a href="/bob/bob.bio.face/-/merge_requests/70" data-reference-type="merge_request" data-original="bob/bob.bio.face!70" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5543" data-project-path="bob/bob.bio.face" data-iid="70" data-container="body" data-placement="top" title="Renamed the resources to use dash instead of under score" class="gfm gfm-merge_request">!70</a>. Added temporary models <code>data</code> folder in .gitignore.</li>
<li data-sourcepos="5:1-5:44">
<a href="/bob/bob.bio.face/-/merge_requests/71" data-reference-type="merge_request" data-original="bob/bob.bio.face!71" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5560" data-project-path="bob/bob.bio.face" data-iid="71" data-container="body" data-placement="top" title="Face crop improvements" class="gfm gfm-merge_request">!71</a> Face crop improvements</li>
<li data-sourcepos="6:1-6:36">
<a href="/bob/bob.bio.face/-/merge_requests/64" data-reference-type="merge_request" data-original="bob/bob.bio.face!64" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5115" data-project-path="bob/bob.bio.face" data-iid="64" data-container="body" data-placement="top" title="Dask pipelines" class="gfm gfm-merge_request">!64</a> Dask pipelines</li>
<li data-sourcepos="7:1-7:409">
<a href="/bob/bob.bio.face/-/merge_requests/75" data-reference-type="merge_request" data-original="bob/bob.bio.face!75" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5617" data-project-path="bob/bob.bio.face" data-iid="75" data-container="body" data-placement="top" title="[Preprocessor] Fix color channel" class="gfm gfm-merge_request">!75</a> [Preprocessor] Fix color channel: This fixes bugs introduced by commit <a href="https://gitlab.idiap.ch/bob/bob.bio.face/-/commit/38e6503f5758095415edc84630750d294fdaf962" data-reference-type="commit" data-original="https://gitlab.idiap.ch/bob/bob.bio.face/-/commit/38e6503f5758095415edc84630750d294fdaf962" data-link="false" data-link-reference="true" data-project="1382" data-commit="38e6503f5758095415edc84630750d294fdaf962" data-container="body" data-placement="top" title="break out the color channel change into a function; fixes #26" class="gfm gfm-commit has-tooltip">38e6503f</a>. - Removing ambiguity in Base between <code>color_channel</code>attribute and <code>color_channel</code> method (-> changed to <code>change_color_channel</code> method) - Patching tests to send a list of arrays to Base.transform, not an array (as required)</li>
<li data-sourcepos="8:1-8:73">
<a href="/bob/bob.bio.face/-/merge_requests/76" data-reference-type="merge_request" data-original="bob/bob.bio.face!76" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5621" data-project-path="bob/bob.bio.face" data-iid="76" data-container="body" data-placement="top" title="Fixed Scaler and preprocessors that use annotations" class="gfm gfm-merge_request">!76</a> Fixed Scaler and preprocessors that use annotations</li>
<li data-sourcepos="9:1-9:145">
<a href="/bob/bob.bio.face/-/merge_requests/77" data-reference-type="merge_request" data-original="bob/bob.bio.face!77" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5622" data-project-path="bob/bob.bio.face" data-iid="77" data-container="body" data-placement="top" title="TF2 pipelines" class="gfm gfm-merge_request">!77</a> TF2 pipelines: Hi <a href="/lcolbois" data-reference-type="user" data-user="721" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Laurent COLBOIS">@lcolbois</a>, I'm opening an MR with your port. Let's do it one by one. Thanks for starting this work</li>
<li data-sourcepos="10:1-10:47">
<a href="/bob/bob.bio.face/-/merge_requests/78" data-reference-type="merge_request" data-original="bob/bob.bio.face!78" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5647" data-project-path="bob/bob.bio.face" data-iid="78" data-container="body" data-placement="top" title="Remove bob.db.msumfsd_mod" class="gfm gfm-merge_request">!78</a> Remove bob.db.msumfsd_mod</li>
<li data-sourcepos="11:1-11:113">
<a href="/bob/bob.bio.face/-/merge_requests/79" data-reference-type="merge_request" data-original="bob/bob.bio.face!79" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5658" data-project-path="bob/bob.bio.face" data-iid="79" data-container="body" data-placement="top" title="Arcface from InsightFace" class="gfm gfm-merge_request">!79</a> Arcface from InsightFace: Hey <a href="/amohammadi" data-reference-type="user" data-user="277" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Amir MOHAMMADI">@amohammadi</a>, Shall I add <code>mxnet</code> in <code>bob-devel</code>? Thanks</li>
<li data-sourcepos="12:1-12:377">
<a href="/bob/bob.bio.face/-/merge_requests/73" data-reference-type="merge_request" data-original="bob/bob.bio.face!73" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5565" data-project-path="bob/bob.bio.face" data-iid="73" data-container="body" data-placement="top" title="Adaptation of Annotator to Tranformer" class="gfm gfm-merge_request">!73</a> Adaptation of Annotator to Tranformer: Removes facedetect and facelandmark. MTCNN follows the Transformer interface. The implementation of MTCNN <code>annotations()</code> (in <a href="https://gitlab.idiap.ch/bob/bob.ip.tensorflow_extractor/-/blob/master/bob/ip/tensorflow_extractor/MTCNN.py#L83">bob.ip.tensoflow_extractor</a>) must be changed to accept a batch of images.</li>
<li data-sourcepos="13:1-13:56">
<a href="/bob/bob.bio.face/-/merge_requests/82" data-reference-type="merge_request" data-original="bob/bob.bio.face!82" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5702" data-project-path="bob/bob.bio.face" data-iid="82" data-container="body" data-placement="top" title="Cleanup" class="gfm gfm-merge_request">!82</a> Cleanup: Making builds green again</li>
<li data-sourcepos="14:1-14:333">
<a href="/bob/bob.bio.face/-/merge_requests/83" data-reference-type="merge_request" data-original="bob/bob.bio.face!83" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5742" data-project-path="bob/bob.bio.face" data-iid="83" data-container="body" data-placement="top" title="`memory_demanding` for TF based transformers" class="gfm gfm-merge_request">!83</a> <code>memory_demanding</code> for TF based transformers: There are some situations where you have <code>SampleSets</code> with more than 1000 samples and we can't just TF <code>forward</code> them in one shot without OOM. In this MR I introduce the argument <code>memory_demanding</code>, where, once it's set to true, will `forward one sample at a time.</li>
<li data-sourcepos="15:1-15:140">
<a href="/bob/bob.bio.face/-/merge_requests/80" data-reference-type="merge_request" data-original="bob/bob.bio.face!80" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5674" data-project-path="bob/bob.bio.face" data-iid="80" data-container="body" data-placement="top" title="Port display-face-annotations script" class="gfm gfm-merge_request">!80</a> Port display-face-annotations script: Created a click command for the display-face-annotations script and fixed tests.</li>
<li data-sourcepos="16:1-16:201">
<a href="/bob/bob.bio.face/-/merge_requests/84" data-reference-type="merge_request" data-original="bob/bob.bio.face!84" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5766" data-project-path="bob/bob.bio.face" data-iid="84" data-container="body" data-placement="top" title="Test Facenet" class="gfm gfm-merge_request">!84</a> Test Facenet: This completes the testing of FaceNet by comparing with the embeddings generated in the TF1 version. <strong>N.B : Currently the test does NOT succeed bob/bob.bio.face!</strong>
</li>
<li data-sourcepos="17:1-17:145">
<a href="/bob/bob.bio.face/-/merge_requests/81" data-reference-type="merge_request" data-original="bob/bob.bio.face!81" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5679" data-project-path="bob/bob.bio.face" data-iid="81" data-container="body" data-placement="top" title="Sample Loaders able to handle certain type of annotations..." class="gfm gfm-merge_request">!81</a> Sample Loaders able to handle certain type of annotations...: .... and the implementation of the MEDS dataset as file lists</li>
<li data-sourcepos="18:1-18:107">
<a href="/bob/bob.bio.face/-/merge_requests/86" data-reference-type="merge_request" data-original="bob/bob.bio.face!86" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5788" data-project-path="bob/bob.bio.face" data-iid="86" data-container="body" data-placement="top" title="Some fixes to allow vulnerability tests with replay-attack and replay-mobile database" class="gfm gfm-merge_request">!86</a> Some fixes to allow vulnerability tests with replay-attack and replay-mobile database</li>
<li data-sourcepos="19:1-19:61">
<a href="/bob/bob.bio.face/-/merge_requests/87" data-reference-type="merge_request" data-original="bob/bob.bio.face!87" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5790" data-project-path="bob/bob.bio.face" data-iid="87" data-container="body" data-placement="top" title="Renamed CSVDatasetDevEval to CSVDataset" class="gfm gfm-merge_request">!87</a> Renamed CSVDatasetDevEval to CSVDataset</li>
<li data-sourcepos="20:1-20:122">
<a href="/bob/bob.bio.face/-/merge_requests/89" data-reference-type="merge_request" data-original="bob/bob.bio.face!89" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5812" data-project-path="bob/bob.bio.face" data-iid="89" data-container="body" data-placement="top" title="Updates" class="gfm gfm-merge_request">!89</a> Updates: - Added MORPH dataset - Proper documented the MEDS database - Fixed eyes annotation issue</li>
<li data-sourcepos="21:1-21:151">
<a href="/bob/bob.bio.face/-/merge_requests/88" data-reference-type="merge_request" data-original="bob/bob.bio.face!88" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5805" data-project-path="bob/bob.bio.face" data-iid="88" data-container="body" data-placement="top" title="SampleLoader as transformer" class="gfm gfm-merge_request">!88</a> SampleLoader as transformer: Depends on <a href="https://gitlab.idiap.ch/bob/bob.pipelines/-/merge_requests/60" data-reference-type="merge_request" data-original="https://gitlab.idiap.ch/bob/bob.pipelines/-/merge_requests/60" data-link="false" data-link-reference="true" data-project="3609" data-merge-request="5802" data-project-path="bob/bob.pipelines" data-iid="60" data-container="body" data-placement="top" title="CSVSampleLoaders as transformers" class="gfm gfm-merge_request">bob.pipelines!60</a> ping <a href="/ydayer" data-reference-type="user" data-user="609" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Yannick DAYER">@ydayer</a> <a href="/amohammadi" data-reference-type="user" data-user="277" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Amir MOHAMMADI">@amohammadi</a>
</li>
<li data-sourcepos="22:1-22:45">
<a href="/bob/bob.bio.face/-/merge_requests/90" data-reference-type="merge_request" data-original="bob/bob.bio.face!90" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5818" data-project-path="bob/bob.bio.face" data-iid="90" data-container="body" data-placement="top" title="Updated Capeal database" class="gfm gfm-merge_request">!90</a> Updated Capeal database</li>
<li data-sourcepos="23:1-23:286">
<a href="/bob/bob.bio.face/-/merge_requests/92" data-reference-type="merge_request" data-original="bob/bob.bio.face!92" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5825" data-project-path="bob/bob.bio.face" data-iid="92" data-container="body" data-placement="top" title="MultiFaceCrop" class="gfm gfm-merge_request">!92</a> MultiFaceCrop: Test and describe the MultiFaceCrop preprocessor Integrates it into the baselines Now can run instructions such as <code>bob bio pipelines vanilla-biometrics multipie-pose inception-resnetv2-msceleb</code> and have the MultiFaceCrop automatically selected.</li>
<li data-sourcepos="24:1-24:92">
<a href="/bob/bob.bio.face/-/merge_requests/93" data-reference-type="merge_request" data-original="bob/bob.bio.face!93" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5829" data-project-path="bob/bob.bio.face" data-iid="93" data-container="body" data-placement="top" title="Small fixes the database tests so it flawlessly passes in [mac] builds" class="gfm gfm-merge_request">!93</a> Small fixes the database tests so it flawlessly passes in [mac] builds</li>
<li data-sourcepos="25:1-25:1131">
<a href="/bob/bob.bio.face/-/merge_requests/94" data-reference-type="merge_request" data-original="bob/bob.bio.face!94" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5831" data-project-path="bob/bob.bio.face" data-iid="94" data-container="body" data-placement="top" title="Fixing the temp directory path for legacy algorithms IF checkpointing is off" class="gfm gfm-merge_request">!94</a> Fixing the temp directory path for legacy algorithms IF checkpointing is off: Hi <a href="/lcolbois" data-reference-type="user" data-user="721" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Laurent COLBOIS">@lcolbois</a>, Thanks for detecting the problem and opening the issue with all the details. The problem is that most of the legacy algorithms are not pickled serializable, therefore, we can't wrap their transformations as :any:<code>bob.pipelines.Sample</code> and use pipelines in memory (<code>vanilla-biometrics</code> without the <code>--checkpoint</code> option). Hence, we need to make them automatically "checkpointable" and use their legacy functions to persist data into the disk in a temporary directory. This was wrongly set in the <code>lgbphs</code> baseline. The <code>/tmp/</code> was being set by default and this is not valid while running stuff on cluster. Basically, you are persisting data on the <code>/tmp</code> of every node and obviously, this directory is not visible in other nodes. That's why things work locally and on the grid with checkpoints. In this MR <a href="https://gitlab.idiap.ch/bob/bob.bio.base/-/merge_requests/238" data-reference-type="merge_request" data-original="https://gitlab.idiap.ch/bob/bob.bio.base/-/merge_requests/238" data-link="false" data-link-reference="true" data-project="1379" data-merge-request="5830" data-project-path="bob/bob.bio.base" data-iid="238" data-container="body" data-placement="top" title="Created the function `get_temp_directory`" class="gfm gfm-merge_request">bob.bio.base!238</a> I formalized a function that generates proper temporary directories that are visible on the cluster. closes <a href="/bob/bob.bio.face/-/issues/39" data-reference-type="issue" data-original="bob/bob.bio.face#39" data-link="false" data-link-reference="false" data-project="1382" data-issue="4751" data-project-path="bob/bob.bio.face" data-iid="39" data-issue-type="issue" data-container="body" data-placement="top" title="[LGBPHS] wrong tempfiles path when running on the grid" class="gfm gfm-issue">#39</a>
</li>
<li data-sourcepos="26:1-26:242">
<a href="/bob/bob.bio.face/-/merge_requests/91" data-reference-type="merge_request" data-original="bob/bob.bio.face!91" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5820" data-project-path="bob/bob.bio.face" data-iid="91" data-container="body" data-placement="top" title="Porting databases to the CSV interface" class="gfm gfm-merge_request">!91</a> Porting databases to the CSV interface: Hey, I'm starting from Mobio and will probably do MultiPIE (ping <a href="/lcolbois" data-reference-type="user" data-user="721" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Laurent COLBOIS">@lcolbois</a>) tonight. Shall we deprecate the corresponding <code>bob.dbs</code>? I would keep them around for a while...</li>
<li data-sourcepos="27:1-27:210">
<a href="/bob/bob.bio.face/-/merge_requests/95" data-reference-type="merge_request" data-original="bob/bob.bio.face!95" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5837" data-project-path="bob/bob.bio.face" data-iid="95" data-container="body" data-placement="top" title="Multipie Leaderboard" class="gfm gfm-merge_request">!95</a> Multipie Leaderboard: This introduces + Documentation on Multipie + Leaderboard with baseline results + A script for specifically plotting HTER in function of camera angle, with results</li>
<li data-sourcepos="28:1-28:403">
<a href="/bob/bob.bio.face/-/merge_requests/97" data-reference-type="merge_request" data-original="bob/bob.bio.face!97" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5878" data-project-path="bob/bob.bio.face" data-iid="97" data-container="body" data-placement="top" title="[Fix] Legacy helpers with fixed annotations" class="gfm gfm-merge_request">!97</a> [Fix] Legacy helpers with fixed annotations: This fixes the helpers used for defining legacy baselines, when using fixed annotations. Beforehand, the instantiated cropper was still expecting to receive an "annotation" metadata, which broke the execution. I fixed a similar issue a while ago for Tensorflow baselines but missed to also fix legacy baselines. ping <a href="/tiago.pereira" data-reference-type="user" data-user="134" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Tiago de Freitas Pereira">@tiago.pereira</a>
</li>
<li data-sourcepos="29:1-29:138">
<a href="/bob/bob.bio.face/-/merge_requests/99" data-reference-type="merge_request" data-original="bob/bob.bio.face!99" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5923" data-project-path="bob/bob.bio.face" data-iid="99" data-container="body" data-placement="top" title="[Fix][FaceCrop] Feed annotator with list of images" class="gfm gfm-merge_request">!99</a> [Fix][FaceCrop] Feed annotator with list of images: This fixes <a href="https://gitlab.idiap.ch/bob/bob.bio.face/-/issues/40" data-reference-type="issue" data-original="https://gitlab.idiap.ch/bob/bob.bio.face/-/issues/40" data-link="false" data-link-reference="true" data-project="1382" data-issue="4825" data-project-path="bob/bob.bio.face" data-iid="40" data-issue-type="issue" data-container="body" data-placement="top" title="Convention when feeding data to an annotator" class="gfm gfm-issue">#40</a>.</li>
<li data-sourcepos="30:1-30:115">
<a href="/bob/bob.bio.face/-/merge_requests/100" data-reference-type="merge_request" data-original="bob/bob.bio.face!100" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5929" data-project-path="bob/bob.bio.face" data-iid="100" data-container="body" data-placement="top" title='Resolve "EyesAnnotations ordering of x & y coordinates is wrong"' class="gfm gfm-merge_request">!100</a> Resolve "EyesAnnotations ordering of x & y coordinates is wrong": Closes <a href="/bob/bob.bio.face/-/issues/41" data-reference-type="issue" data-original="bob/bob.bio.face#41" data-link="false" data-link-reference="false" data-project="1382" data-issue="4827" data-project-path="bob/bob.bio.face" data-iid="41" data-issue-type="issue" data-container="body" data-placement="top" title="EyesAnnotations ordering of x & y coordinates is wrong" class="gfm gfm-issue">#41</a>
</li>
<li data-sourcepos="31:1-31:156">
<a href="/bob/bob.bio.face/-/merge_requests/96" data-reference-type="merge_request" data-original="bob/bob.bio.face!96" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5876" data-project-path="bob/bob.bio.face" data-iid="96" data-container="body" data-placement="top" title="TF2 training" class="gfm gfm-merge_request">!96</a> TF2 training: Wrapping up an old script that trains some angular FR models (ArcFace, SphereFace, Modsoftmax) using different backbones</li>
<li data-sourcepos="32:1-32:812">
<a href="/bob/bob.bio.face/-/merge_requests/101" data-reference-type="merge_request" data-original="bob/bob.bio.face!101" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5945" data-project-path="bob/bob.bio.face" data-iid="101" data-container="body" data-placement="top" title="Changed 112x112 crop" class="gfm gfm-merge_request">!101</a> Changed 112x112 crop: Changed the 112x112. In that way, the <code>arcface-insightface</code> gives ~0% on the Mobio dataset <code> [Min. criterion: EER ] Threshold on Development set `/idiap/temp/tpereira/temp/insight-face/scores-dev`: -2.459333e+01 ===================== ================ ================= .. Development Evaluation ===================== ================ ================= Failure to Acquire 0.00% 0.00% False Match Rate 0.03% (20/57960) 0.04% (65/147630) False Non Match Rate 0.04% (1/2520) 0.00% (0/3990) False Accept Rate 0.03% 0.04% False Reject Rate 0.04% 0.00% Half Total Error Rate 0.04% 0.02% ===================== ================ ================= </code>
</li>
<li data-sourcepos="33:1-33:1568">
<a href="/bob/bob.bio.face/-/merge_requests/102" data-reference-type="merge_request" data-original="bob/bob.bio.face!102" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5946" data-project-path="bob/bob.bio.face" data-iid="102" data-container="body" data-placement="top" title="New baselines" class="gfm gfm-merge_request">!102</a> New baselines: Included two new baselines trained with ArcFace head These two were trained by myself using MSCeleb. <code>resnet50-msceleb-arcface-2021</code> <code> ===================== ================ ================= .. Development Evaluation ===================== ================ ================= Failure to Acquire 0.0% 0.0% False Match Rate 0.5% (299/57960) 0.4% (531/147630) False Non Match Rate 0.5% (13/2520) 1.5% (59/3990) False Accept Rate 0.5% 0.4% False Reject Rate 0.5% 1.5% Half Total Error Rate 0.5% 0.9% ===================== ================ ================= </code> mobilenetv2-msceleb-arcface-2021 <code> [Min. criterion: EER ] Threshold on Development set `/idiap/temp/tpereira/temp/mobilenetv2-mobio-male/scores-dev`: -9.859437e-01 ===================== ================ ================== .. Development Evaluation ===================== ================ ================== Failure to Acquire 0.0% 0.0% False Match Rate 1.1% (621/57960) 1.0% (1534/147630) False Non Match Rate 1.1% (27/2520) 2.5% (100/3990) False Accept Rate 1.1% 1.0% False Reject Rate 1.1% 2.5% Half Total Error Rate 1.1% 1.8% ===================== ================ ================== </code> To use it do in a FR experiment do: <code>bob bio pipelines vanilla-biometrics <database> resnet50-msceleb-arcface-2021 ....</code>
</li>
<li data-sourcepos="34:1-34:222">
<a href="/bob/bob.bio.face/-/merge_requests/103" data-reference-type="merge_request" data-original="bob/bob.bio.face!103" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5957" data-project-path="bob/bob.bio.face" data-iid="103" data-container="body" data-placement="top" title="Fix LFW database" class="gfm gfm-merge_request">!103</a> Fix LFW database: - Ported some databases to the the CSVSampleLoaderBiometrics - Set the flag <code>allow_scoring_with_all_biometric_references=False</code> in the LFW database entry-points. ping <a href="/mguenther" data-reference-type="user" data-user="320" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Manuel Günther">@mguenther</a>
</li>
<li data-sourcepos="35:1-35:104">
<a href="/bob/bob.bio.face/-/merge_requests/104" data-reference-type="merge_request" data-original="bob/bob.bio.face!104" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5978" data-project-path="bob/bob.bio.face" data-iid="104" data-container="body" data-placement="top" title='Resolve "ArcFace (MXNET) + IJBC lead to memory error"' class="gfm gfm-merge_request">!104</a> Resolve "ArcFace (MXNET) + IJBC lead to memory error": Closes <a href="/bob/bob.bio.face/-/issues/42" data-reference-type="issue" data-original="bob/bob.bio.face#42" data-link="false" data-link-reference="false" data-project="1382" data-issue="4861" data-project-path="bob/bob.bio.face" data-iid="42" data-issue-type="issue" data-container="body" data-placement="top" title="ArcFace (MXNET) + IJBC lead to memory error" class="gfm gfm-issue">#42</a>
</li>
<li data-sourcepos="36:1-36:161">
<a href="/bob/bob.bio.face/-/merge_requests/105" data-reference-type="merge_request" data-original="bob/bob.bio.face!105" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5979" data-project-path="bob/bob.bio.face" data-iid="105" data-container="body" data-placement="top" title="New baseline" class="gfm gfm-merge_request">!105</a> New baseline: New baseline. Resnet50 (the one from keras) trained with VGG2 and arcface loss. Resource <code>resnet50-vgg2-arcface-2021</code>
</li>
<li data-sourcepos="37:1-37:92">
<a href="/bob/bob.bio.face/-/merge_requests/107" data-reference-type="merge_request" data-original="bob/bob.bio.face!107" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6036" data-project-path="bob/bob.bio.face" data-iid="107" data-container="body" data-placement="top" title="[tests] Mark tensorflow tests as slow" class="gfm gfm-merge_request">!107</a> [tests] Mark tensorflow tests as slow: related to <a href="/bob/bob.bio.face/-/issues/43" data-reference-type="issue" data-original="bob/bob.bio.face#43" data-link="false" data-link-reference="false" data-project="1382" data-issue="4888" data-project-path="bob/bob.bio.face" data-iid="43" data-issue-type="issue" data-container="body" data-placement="top" title="Tests takes around 3 hours to finish and use more than 16GB of memory" class="gfm gfm-issue">#43</a>
</li>
<li data-sourcepos="38:1-38:71">
<a href="/bob/bob.bio.face/-/merge_requests/108" data-reference-type="merge_request" data-original="bob/bob.bio.face!108" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6037" data-project-path="bob/bob.bio.face" data-iid="108" data-container="body" data-placement="top" title="Replace nose with pytest" class="gfm gfm-merge_request">!108</a> Replace nose with pytest: Related to <a href="/bob/bob/-/issues/267" data-reference-type="issue" data-original="bob/bob#267" data-link="false" data-link-reference="false" data-project="1535" data-issue="4889" data-project-path="bob/bob" data-iid="267" data-issue-type="issue" data-container="body" data-placement="top" title="pytest still runs the slow nosetests" class="gfm gfm-issue">bob#267</a>
</li>
<li data-sourcepos="39:1-39:381">
<a href="/bob/bob.bio.face/-/merge_requests/109" data-reference-type="merge_request" data-original="bob/bob.bio.face!109" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6043" data-project-path="bob/bob.bio.face" data-iid="109" data-container="body" data-placement="top" title="Remove duplicated tests" class="gfm gfm-merge_request">!109</a> Remove duplicated tests: Improved the <code>test_baseline</code> tests to be tight with the score values, so we indirectly test the embeddings. Hence, we pretty much have the same coverage. The coverage decreased 1% due to some resources that are not activated, but it's fine. ~26 minutes and 17 GB ram usage much improved compared to 56 min and 28 GB RAM usage</li>
<li data-sourcepos="40:1-40:139">
<a href="/bob/bob.bio.face/-/merge_requests/110" data-reference-type="merge_request" data-original="bob/bob.bio.face!110" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6055" data-project-path="bob/bob.bio.face" data-iid="110" data-container="body" data-placement="top" title="Casia Africa Database" class="gfm gfm-merge_request">!110</a> Casia Africa Database: Created Casia-Africa database interface. - [x] Documentation - [x] Tests - [x] Resources</li>
<li data-sourcepos="41:1-41:232">
<a href="/bob/bob.bio.face/-/merge_requests/111" data-reference-type="merge_request" data-original="bob/bob.bio.face!111" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="6057" data-project-path="bob/bob.bio.face" data-iid="111" data-container="body" data-placement="top" title="Integrating HTFace databases" class="gfm gfm-merge_request">!111</a> Integrating HTFace databases: Hi, I quickly integrated some HTFace databases. Here I ported the polathermal (VIS-Thermal) dataset and CBSR dataset (VIS-NIR) ping <a href="/amohammadi" data-reference-type="user" data-user="277" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Amir MOHAMMADI">@amohammadi</a> <a href="/ageorge" data-reference-type="user" data-user="489" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Anjith GEORGE">@ageorge</a> <a href="/sebastien.marcel" data-reference-type="user" data-user="14" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Sébastien MARCEL">@sebastien.marcel</a>
</li>
</ul>2021-04-13T17:32:19ZAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v4.0.5b0v4.0.5b0First beta [skip-ci]Tiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v4.0.4v4.0.4<ul data-sourcepos="1:1-1:241" dir="auto">
<li data-sourcepos="1:1-1:241">
<a href="/bob/bob.bio.face/-/merge_requests/60" data-reference-type="merge_request" data-original="bob/bob.bio.face!60" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="4968" data-project-path="bob/bob.bio.face" data-iid="60" data-container="body" data-placement="top" title="Removed outdated COPYING and updated MANIFEST.in" class="gfm gfm-merge_request">!60</a> Removed outdated COPYING and updated MANIFEST.in: This merge request fixes an inconsistency in the licenses. The copying file hadn't been removed and the MANIFEST.in file was still using it. This patch fixes both.</li>
</ul>2020-10-02T20:09:52ZTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v4.0.3v4.0.3<ul data-sourcepos="1:1-1:96" dir="auto">
<li data-sourcepos="1:1-1:96">
<a href="/bob/bob.bio.face/-/merge_requests/59" data-reference-type="merge_request" data-original="bob/bob.bio.face!59" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="4853" data-project-path="bob/bob.bio.face" data-iid="59" data-container="body" data-placement="top" title="[mtcnn-annotator] replace it bob.ip.mtcnn with bob.ip.tensorflow_extractor" class="gfm gfm-merge_request">!59</a> [mtcnn-annotator] replace it bob.ip.mtcnn with bob.ip.tensorflow_extractor</li>
</ul>2020-02-17T19:26:21ZAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v4.0.2v4.0.2<ul data-sourcepos="1:1-1:20" dir="auto">
<li data-sourcepos="1:1-1:20">Python 3.7 support</li>
</ul>2019-10-29T20:33:30ZTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v4.0.1v4.0.1<ul data-sourcepos="1:1-7:53" dir="auto">
<li data-sourcepos="1:1-1:102">
<a href="/bob/bob.bio.face/-/merge_requests/53" data-reference-type="merge_request" data-original="bob/bob.bio.face!53" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="4173" data-project-path="bob/bob.bio.face" data-iid="53" data-container="body" data-placement="top" title="Do not allow upside down faces in FaceCrop by default" class="gfm gfm-merge_request">!53</a> Do not allow upside down faces in FaceCrop by default: Fixes <a href="/bob/bob.bio.face/-/issues/33" data-reference-type="issue" data-original="bob/bob.bio.face#33" data-link="false" data-link-reference="false" data-project="1382" data-issue="3695" data-project-path="bob/bob.bio.face" data-iid="33" data-issue-type="issue" data-container="body" data-placement="top" title="Prevent cropping when left and right eye positions are swapped." class="gfm gfm-issue">#33</a>
</li>
<li data-sourcepos="2:1-2:88">
<a href="/bob/bob.bio.face/-/merge_requests/54" data-reference-type="merge_request" data-original="bob/bob.bio.face!54" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="4222" data-project-path="bob/bob.bio.face" data-iid="54" data-container="body" data-placement="top" title="Remove bob.ip.dlib annotator" class="gfm gfm-merge_request">!54</a> Remove bob.ip.dlib annotator: bob.ip.dlib is no longer maintained.</li>
<li data-sourcepos="3:1-3:72">
<a href="/bob/bob.bio.face/-/merge_requests/52" data-reference-type="merge_request" data-original="bob/bob.bio.face!52" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="3702" data-project-path="bob/bob.bio.face" data-iid="52" data-container="body" data-placement="top" title="Add Fargo database" class="gfm gfm-merge_request">!52</a> Add Fargo database: New face recognition database.</li>
<li data-sourcepos="4:1-4:63">
<a href="/bob/bob.bio.face/-/merge_requests/55" data-reference-type="merge_request" data-original="bob/bob.bio.face!55" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="4312" data-project-path="bob/bob.bio.face" data-iid="55" data-container="body" data-placement="top" title="added FARGO stuff wherever it was needed" class="gfm gfm-merge_request">!55</a> added FARGO stuff wherever it was needed:</li>
<li data-sourcepos="5:1-5:55">
<a href="/bob/bob.bio.face/-/merge_requests/44" data-reference-type="merge_request" data-original="bob/bob.bio.face!44" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="3035" data-project-path="bob/bob.bio.face" data-iid="44" data-container="body" data-placement="top" title="Fix the header level of index.rst" class="gfm gfm-merge_request">!44</a> Fix the header level of index.rst</li>
<li data-sourcepos="6:1-6:61">
<a href="/bob/bob.bio.face/-/merge_requests/57" data-reference-type="merge_request" data-original="bob/bob.bio.face!57" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="4387" data-project-path="bob/bob.bio.face" data-iid="57" data-container="body" data-placement="top" title="Improve the warning message in FaceCrop" class="gfm gfm-merge_request">!57</a> Improve the warning message in FaceCrop</li>
<li data-sourcepos="7:1-7:53">
<a href="/bob/bob.bio.face/-/merge_requests/56" data-reference-type="merge_request" data-original="bob/bob.bio.face!56" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="4381" data-project-path="bob/bob.bio.face" data-iid="56" data-container="body" data-placement="top" title="Improve Replay Mobile interface" class="gfm gfm-merge_request">!56</a> Improve Replay Mobile interface</li>
</ul>2019-06-21T06:08:51ZTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v4.0.0v4.0.0<ul data-sourcepos="1:1-11:5" dir="auto">
<li data-sourcepos="1:1-1:19">Breaking changes:</li>
<li data-sourcepos="2:1-2:35">Dropped support for CSU baselines</li>
<li data-sourcepos="3:1-3:19">Detailed changes:</li>
<li data-sourcepos="4:1-5:15">
<a href="/bob/bob.bio.face/-/merge_requests/47" data-reference-type="merge_request" data-original="bob.bio.face!47" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="3154" data-project-path="bob/bob.bio.face" data-iid="47" data-container="body" data-placement="top" title="Accept an annotator in FaceCrop" class="gfm gfm-merge_request">!47</a> Accept an annotator in FaceCrop: related to
<a href="/bob/bob.bio.face/-/issues/26" data-reference-type="issue" data-original="bob.bio.face#26" data-link="false" data-link-reference="false" data-project="1382" data-issue="2588" data-project-path="bob/bob.bio.face" data-iid="26" data-issue-type="issue" data-container="body" data-placement="top" title="Use the new sequential preprocessors and annotators API here" class="gfm gfm-issue">#26</a>
</li>
<li data-sourcepos="6:1-6:72">
<a href="/bob/bob.bio.face/-/merge_requests/48" data-reference-type="merge_request" data-original="bob.bio.face!48" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="3285" data-project-path="bob/bob.bio.face" data-iid="48" data-container="body" data-placement="top" title="Archiving csu issue #29" class="gfm gfm-merge_request">!48</a> Dropped support to CSU baselines issue <a href="/bob/bob.bio.face/-/issues/29" data-reference-type="issue" data-original="bob.bio.face#29" data-link="false" data-link-reference="false" data-project="1382" data-issue="2977" data-project-path="bob/bob.bio.face" data-iid="29" data-issue-type="issue" data-container="body" data-placement="top" title="Archiving bob.bio.csu" class="gfm gfm-issue">#29</a>
</li>
<li data-sourcepos="7:1-7:72">
<a href="/bob/bob.bio.face/-/merge_requests/51" data-reference-type="merge_request" data-original="bob.bio.face!51" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="3348" data-project-path="bob/bob.bio.face" data-iid="51" data-container="body" data-placement="top" title="Removing baselines" class="gfm gfm-merge_request">!51</a> Removing baselines: Related to this MR <a href="/bob/bob.bio.face/-/merge_requests/49" data-reference-type="merge_request" data-original="bob.bio.face!49" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="3330" data-project-path="bob/bob.bio.face" data-iid="49" data-container="body" data-placement="top" title="Refactoring baselines" class="gfm gfm-merge_request">!49</a>
</li>
<li data-sourcepos="8:1-8:32">
<a href="/bob/bob.bio.face/-/merge_requests/50" data-reference-type="merge_request" data-original="bob.bio.face!50" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="3342" data-project-path="bob/bob.bio.face" data-iid="50" data-container="body" data-placement="top" title="Ijb c highlevel" class="gfm gfm-merge_request">!50</a> Ijbc highlevel</li>
<li data-sourcepos="9:1-11:5">
<a href="/bob/bob.bio.face/-/merge_requests/49" data-reference-type="merge_request" data-original="bob.bio.face!49" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="3330" data-project-path="bob/bob.bio.face" data-iid="49" data-container="body" data-placement="top" title="Refactoring baselines" class="gfm gfm-merge_request">!49</a> Refactoring baselines: Now we can all the facerec
baselines can be reached via <code>bob bio baselines --help</code>. Refer to
docs.</li>
</ul>2018-07-19T10:20:36ZAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v3.4.0v3.4.0<ul data-sourcepos="1:1-6:24" dir="auto">
<li data-sourcepos="1:1-1:34">Implemented IJBA customized plot</li>
<li data-sourcepos="2:1-2:65">Make the original_directory and annotation_directory a property</li>
<li data-sourcepos="3:1-3:35">Created IJBB high level interface</li>
<li data-sourcepos="4:1-4:66">Added script to display face annotations provided by a database.</li>
<li data-sourcepos="5:1-5:27">Migrate to conda based CI</li>
<li data-sourcepos="6:1-6:24">improve docs and tests</li>
</ul>2018-04-13T15:55:22ZTiago de Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v3.3.0v3.3.0<ul data-sourcepos="1:1-4:67" dir="auto">
<li data-sourcepos="1:1-1:100">
<a href="/bob/bob.bio.face/-/merge_requests/78" data-reference-type="merge_request" data-original="bob.bio.face!78" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="5647" data-project-path="bob/bob.bio.face" data-iid="78" data-container="body" data-placement="top" title="Remove bob.db.msumfsd_mod" class="gfm gfm-merge_request">!78</a> Removed Algorithm.read_probe method, since this is already solved via bob.bio.base</li>
<li data-sourcepos="2:1-2:75">
<a href="/bob/bob.bio.face/-/merge_requests/33" data-reference-type="merge_request" data-original="bob.bio.face!33" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="2475" data-project-path="bob/bob.bio.face" data-iid="33" data-container="body" data-placement="top" title="[replay] improve the score files by adding attack type information" class="gfm gfm-merge_request">!33</a> improve the score files by adding attack type information</li>
<li data-sourcepos="3:1-3:53">[ci] Droped python 3.4 support and added python 3.6</li>
<li data-sourcepos="4:1-4:67">
<a href="/bob/bob.bio.face/-/merge_requests/30" data-reference-type="merge_request" data-original="bob.bio.face!30" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="2041" data-project-path="bob/bob.bio.face" data-iid="30" data-container="body" data-placement="top" title="Updated baseline script to search for executables." class="gfm gfm-merge_request">!30</a> Updated baseline script to search for executables</li>
</ul>2018-04-01T12:04:37ZTiago Freitas Pereirahttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v3.2.0v3.2.0<ul data-sourcepos="1:1-1:41" dir="auto">
<li data-sourcepos="1:1-1:41">
<a href="/bob/bob.bio.face/-/merge_requests/27" data-reference-type="merge_request" data-original="!27" data-link="false" data-link-reference="false" data-project="1382" data-merge-request="1703" data-project-path="bob/bob.bio.face" data-iid="27" data-container="body" data-placement="top" title="Base preprocessor accept **kwargs" class="gfm gfm-merge_request">!27</a> : Base preprocessor accept **kwargs</li>
</ul>2017-06-01T16:32:43ZAmir MOHAMMADIhttps://gitlab.idiap.ch/bob/bob.bio.face/-/tags/v3.1.0v3.1.0Tiago Freitas Pereira