{"id":5902,"date":"2021-10-03T17:16:35","date_gmt":"2021-10-03T16:16:35","guid":{"rendered":"https:\/\/olivier.hoarau.org\/?p=5902"},"modified":"2021-10-03T17:21:41","modified_gmt":"2021-10-03T16:21:41","slug":"digikam-gestion-de-photos-evoluee","status":"publish","type":"post","link":"https:\/\/olivier.hoarau.org\/?p=5902","title":{"rendered":"Digikam gestion de photos \u00e9volu\u00e9e"},"content":{"rendered":"\n<p>L&rsquo;autre jour j&rsquo;\u00e9tais avec un pote, Apple addicted, qui me disait qu&rsquo;il g\u00e9rait ses photos avec <a href=\"https:\/\/support.apple.com\/fr-fr\/HT209453\">Photos iCloud <\/a>et qu&rsquo;avec cet outil il b\u00e9n\u00e9ficiait de la reconnaissance faciale et d&rsquo;une mani\u00e8re g\u00e9n\u00e9rale de certaines fonctions avanc\u00e9es qui lui permettent de plus facilement indexer, classer et retrouver ses photos. Alors bien s\u00fbr j&rsquo;ai \u00e9t\u00e9 piqu\u00e9 au vif, comment \u00e7a, sous Linux je ne serais pas capable de faire la m\u00eame chose !<\/p>\n\n\n\n<p>Touch\u00e9 dans mon orgueil, ni une, ni deux, je me mets \u00e0 chercher un \u00e9quivalent sous linux, apr\u00e8s une recherche rapide, il semblerait que <a href=\"https:\/\/www.digikam.org\/\" data-type=\"URL\" data-id=\"https:\/\/www.digikam.org\/\">digikam<\/a> offre ce genre de fonctionnalit\u00e9s. En teaser voil\u00e0 ce que \u00e7a donne quand on s\u00e9lectionne quelques personnes dans le <strong>Filtre d&rsquo;\u00e9tiquettes de visage<\/strong>, il n&rsquo;affichera que les photos de l&rsquo;album o\u00f9 apparaissent les personnes s\u00e9lectionn\u00e9es.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face9.jpg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"256\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face9.jpg?resize=474%2C256&#038;ssl=1\" alt=\"\" class=\"wp-image-5912\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face9.jpg?resize=1024%2C553&amp;ssl=1 1024w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face9.jpg?resize=300%2C162&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face9.jpg?resize=768%2C415&amp;ssl=1 768w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face9.jpg?resize=1536%2C830&amp;ssl=1 1536w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face9.jpg?w=1877&amp;ssl=1 1877w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face9.jpg?w=948&amp;ssl=1 948w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face9.jpg?w=1422&amp;ssl=1 1422w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/figure>\n\n\n\n<p>Jusqu&rsquo;\u00e0 pr\u00e9sent je me contentais de g\u00e9rer ma photos sous forme d&rsquo;arborescence par ann\u00e9e avec un syst\u00e8me de nommage du style ann\u00e9e-mois-jour-libell\u00e9 qui permet de faire des tris. Je trouvais les outils comme <strong>digikam<\/strong> usine \u00e0 gaz et je me satisfaisais amplement d&rsquo;un outil simple comme <a href=\"https:\/\/www.geeqie.org\/\">geeqie<\/a>.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>J&rsquo;ai install\u00e9 <strong>digikam<\/strong> en utilisant le package standard de ma mageia 8, mais malheureusement quand on lance la d\u00e9tection de visages, \u00e7a plante avec une erreur de symbole ind\u00e9finie. Je ne m&rsquo;attarde pas et je supprime illico le package et je pars dans la compilation de la derni\u00e8re version 7.3.0 que je retrouve sur le site de <a href=\"https:\/\/download.kde.org\/stable\/digikam\/7.3.0\/\">digikam<\/a>. Je d\u00e9compresse l&rsquo;archive en tapant :<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace\"><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"php\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"false\">tar xvf digikam-7.3.0.tar.xz<\/pre><\/div>\n\n\n\n<p>dans le r\u00e9pertoire <strong>digikam-7.3.0<\/strong> ainsi obtenu, j&rsquo;ai modifi\u00e9 le fichier <strong>bootstrap.linux <\/strong>pour rajouter ON aux lignes suivantes, sinon <strong>digikam<\/strong> restera d\u00e9sesp\u00e9r\u00e9ment en anglais.<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace\"><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"php\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"false\">      -DDIGIKAMSC_CHECKOUT_PO=ON \\\n      -DDIGIKAMSC_CHECKOUT_DOC=ON \\\n      -DDIGIKAMSC_COMPILE_PO=ON \\<\/pre><\/div>\n\n\n\n<p>Maintenant j&rsquo;ai install\u00e9 les packages suivants : <strong>marble<\/strong>, <strong>marble-data<\/strong>, <strong>sqlite3-tools<\/strong>, <strong>lib64kf5threadweaver-devel<\/strong>, <strong>marble-devel<\/strong>, <strong>lib64lensfun-devel<\/strong> et<strong> lib64kf5calendarcore-devel<\/strong>. Je n&rsquo;ai pas install\u00e9 <strong>lib64qtav-devel<\/strong> car j&rsquo;ai une version tun\u00e9 de <strong>ffmpeg<\/strong> et \u00e7a risquait de mettre le bazar sur mon syst\u00e8me. De fait je ne dispose pas du player vid\u00e9o embarqu\u00e9. On tape maintenant <strong>.\/bootstrap.linux <\/strong>voil\u00e0 le r\u00e9sultat :<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace\"><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"php\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"false\">Qt5     Install Path : \/usr\ndigiKam Install Path : \/usr\nCMake binary         : cmake\nBuild Directory      : \/usr\/local\/linux\/photos\/digikam-7.3.0\/build\n-- CMake version: cmake version 3.19.2\n\nCMake suite maintained and supported by Kitware (kitware.com\/cmake).\n\n-- ----------------------------------------------------------------------------------\n-- Starting CMake configuration for digikam\n-- \n-- Found Ruby: \/usr\/bin\/ruby (found suitable version \"2.7.2\", minimum required is \"1.8.0\") \n-- Found Subversion: \/usr\/bin\/svn (found version \"1.14.1\") \n-- Extract application translation files from git repositories. Please wait, it can take a while...\naf ar az be bg bn br bs ca cs csb cy da de el en_GB eo es et eu fa fi fo fr fy ga gl ha he hi hr hsb hu id is it ja ka kk km ko ku lb lo lt lv mi mk mn ms mt nb nds ne nl nn nso oc pa pl pt pt_BR ro ru rw se sk sl sq sr sr@Latn ss s\nv ta te tg th tr tt uk uz uz@cyrillic ven vi wa xh zh_CN zh_HK zh_TW zu \n-- Application translation files extraction done.\n-- Extract documentation translation files from git repositories. Please wait, it can take a while...\n-- NOTE: (u) want mean uncomplete translations files, which will be removed from compilation.\nThe authenticity of host 'invent.kde.org (195.201.182.103)' can't be established.\nECDSA key fingerprint is SHA256:UutSIkXdSGgyxQxL35dDEEAD2Owel+zEdKZ5I\/JMqrA.\nAre you sure you want to continue connecting (yes\/no\/[fingerprint])? \nHost key verification failed.\nfatal: L'h\u00f4te distant a ferm\u00e9 la connexion de mani\u00e8re inattendue\ntar: Ceci ne ressemble pas \u00e0 une archive de type \u00ab tar \u00bb\ntar: Arr\u00eat avec code d'\u00e9chec \u00e0 cause des erreurs pr\u00e9c\u00e9dentes\naf ar az be bg bn br bs ca cs csb cy da de el en_GB eo es et eu fa fi fo fr fy ga gl ha he hi hr hsb hu id is it ja ka kk km ko ku lb lo lt lv mi mk mn ms mt nb nds ne nl nn nso oc pa pl pt pt_BR ro ru rw se sk sl sq sr sr@Latn ss s\nv ta te tg th tr tt uk uz uz@cyrillic ven vi wa xh zh_CN zh_HK zh_TW zu \nThe authenticity of host 'invent.kde.org (195.201.182.103)' can't be established.\nECDSA key fingerprint is SHA256:UutSIkXdSGgyxQxL35dDEEAD2Owel+zEdKZ5I\/JMqrA.\nAre you sure you want to continue connecting (yes\/no\/[fingerprint])? \nHost key verification failed.\nfatal: L'h\u00f4te distant a ferm\u00e9 la connexion de mani\u00e8re inattendue\ntar: Ceci ne ressemble pas \u00e0 une archive de type \u00ab tar \u00bb\ntar: Arr\u00eat avec code d'\u00e9chec \u00e0 cause des erreurs pr\u00e9c\u00e9dentes\naf ar az be bg bn br bs ca cs csb cy da de el en_GB eo es et eu fa fi fo fr fy ga gl ha he hi hr hsb hu id is it ja ka kk km ko ku lb lo lt lv mi mk mn ms mt nb nds ne nl nn nso oc pa pl pt pt_BR ro ru rw se sk sl sq sr sr@Latn ss s\nv ta te tg th tr tt uk uz uz@cyrillic ven vi wa xh zh_CN zh_HK zh_TW zu \n-- Documentation translation files extraction done.\n-- Main one documentation directory is missing. Compilation of documentation is disabled...\n-- ----------------------------------------------------------------------------------\n-- Top level compilation configuration for digikam\n-- \n-- digikam will be compiled....................... YES\n-- Extract application translations files......... YES\n-- Extract documentation translations files....... YES\n-- Translations will be compiled.................. YES\n-- Handbooks will be compiled..................... NO\n-- Tests code will be compiled.................... YES\n-- ----------------------------------------------------------------------------------\n-- Check dependencies for digikam version 7.3.0\n-- \n-- Could NOT find Qt5XmlPatterns (missing: Qt5XmlPatterns_DIR)\nCMake Warning at \/usr\/lib64\/cmake\/Qt5\/Qt5Config.cmake:39 (message):\n  Failed to find Qt5 component \"XmlPatterns\" config file at\n  \"\/usr\/lib64\/cmake\/Qt5XmlPatterns\/Qt5XmlPatternsConfig.cmake\"\nCall Stack (most recent call first):\n  core\/CMakeLists.txt:73 (find_package)\n\n\n-- Could NOT find KF5AkonadiContact: found neither KF5AkonadiContactConfig.cmake nor kf5akonadicontact-config.cmake \n-- Could NOT find KF5Contacts: found neither KF5ContactsConfig.cmake nor kf5contacts-config.cmake \n-- Could NOT find KF5Sane: found neither KF5SaneConfig.cmake nor kf5sane-config.cmake \n-- KF5::KIOWidgets include dirs: \/usr\/include\/KF5\/KIOWidgets;\/usr\/include\/KF5\n-- Libjpeg version: 84\n-- Using libjpeg sub-directory: libjpeg\/84\n-- Found lcms version 2.10, \/usr\/lib64\/liblcms2.so\n-- FFMPEG_FOUND        = TRUE\n-- FFMPEG_INCLUDE_DIRS = \/usr\/local\/include\n-- FFMPEG_LIBRARIES    = \/usr\/local\/lib\/libavcodec.so;\/usr\/local\/lib\/libavdevice.so;\/usr\/local\/lib\/libavfilter.so;\/usr\/local\/lib\/libavformat.so;\/usr\/local\/lib\/libavutil.so;\/usr\/local\/lib\/libswscale.so\n-- FFMPEG_DEFINITIONS  = \n-- QtAV search path: \/usr\/lib64\/cmake\n-- Could NOT find QtAV (missing: QTAV_LIBRARIES QTAV_INCLUDE_DIRS) \n-- QtAV_FOUND       = FALSE\n-- QtAV_INCLUDE_DIR = QTAV_CORE_INCLUDE_DIR-NOTFOUND QTAV_WIDGETS_INCLUDE_DIR-NOTFOUND\n-- QtAV_LIBRARIES   = QTAV_CORE_LIBRARY-NOTFOUND;QTAV_WIDGETS_LIBRARY-NOTFOUND\n-- QtAV_VERSION     = \n-- ENABLE_MEDIAPLAYER option is enabled but QtAV cannot be found. Media player support is disabled.\n-- OpenCV Root directory is: \/usr\/local\/lib64\/cmake\/opencv4\n-- OpenCV: Found version 4.5.2 (required: 3.3.0)\n-- OpenCV headers: \/usr\/local\/include\/opencv4\n-- OpenCV libs   : opencv_core;opencv_objdetect;opencv_imgproc;opencv_imgcodecs;opencv_dnn;opencv_flann\n-- Marble_FOUND       = TRUE\n-- MARBLE_INCLUDE_DIR = \/usr\/include\n-- MARBLE_LIBRARIES   = \/usr\/lib64\/libmarblewidget-qt5.so\n-- ASTRO_LIBRARIES    = \/usr\/lib64\/libastro.so\n-- FIND IMAGEMAGICK API Magick++\n-- -DMAGICKCORE_HDRI_ENABLE=1\n-- -DMAGICKCORE_QUANTUM_DEPTH=16\n-- FIND IMAGEMAGICK API MagickCore\n-- -DMAGICKCORE_HDRI_ENABLE=1\n-- -DMAGICKCORE_QUANTUM_DEPTH=16\n-- FIND IMAGEMAGICK API MagickWand\n-- -DMAGICKCORE_HDRI_ENABLE=1\n-- -DMAGICKCORE_QUANTUM_DEPTH=16\n-- ImageMagick_FOUND:                  \tTRUE\n-- ImageMagick_VERSION_STRING:         \t7.0.10-62\n-- ImageMagick_EXECUTABLE_DIR:         \t\/usr\/bin\n-- ImageMagick_INCLUDE_DIRS:           \t\/usr\/include\/ImageMagick-7\n-- ImageMagick_LIBRARIES:              \t\/usr\/lib64\/libMagick++.so;\/usr\/lib64\/libMagickCore.so;\/usr\/lib64\/libMagickWand.so\n-- ImageMagick_DEFINITIONS:            \t-DMAGICKCORE_HDRI_ENABLE=1;-DMAGICKCORE_QUANTUM_DEPTH=16\n-- ImageMagick_Magick++_INCLUDE_DIRS:\t\/usr\/include\/ImageMagick-7\n-- ImageMagick_Magick++_LIBRARY:     \t\/usr\/lib64\/libMagick++.so\n-- ImageMagick_Magick++_DEFINITIONS: \t-DMAGICKCORE_HDRI_ENABLE=1;-DMAGICKCORE_QUANTUM_DEPTH=16\n-- ImageMagick_MagickCore_INCLUDE_DIRS:\t\/usr\/include\/ImageMagick-7\n-- ImageMagick_MagickCore_LIBRARY:     \t\/usr\/lib64\/libMagickCore.so\n-- ImageMagick_MagickCore_DEFINITIONS: \t-DMAGICKCORE_HDRI_ENABLE=1;-DMAGICKCORE_QUANTUM_DEPTH=16\n-- ImageMagick_MagickWand_INCLUDE_DIRS:\t\/usr\/include\/ImageMagick-7\n-- ImageMagick_MagickWand_LIBRARY:     \t\/usr\/lib64\/libMagickWand.so\n-- ImageMagick_MagickWand_DEFINITIONS: \t-DMAGICKCORE_HDRI_ENABLE=1;-DMAGICKCORE_QUANTUM_DEPTH=16\n-- OpenGL found;               TRUE\n-- OpenGL GLU extension found; YES\n-- OpenGL Qt5 found;           1\n-- Looking for ccache...\n-- ccache program found: CCACHE_FOUND-NOTFOUND...\n-- libgphoto2 found    : TRUE\n-- libgphoto2 version  : 2.5.26\n-- libgphoto2 includes : \/usr\/include\/gphoto2\n-- libgphoto2 libraries: \/usr\/lib64\/libgphoto2.so;\/usr\/lib64\/libgphoto2_port.so;\/usr\/lib64\/libusb-1.0.so\n-- libgphoto2 API version >= 2.5\n-- liblensfun: Found version 0.3.2.0 (required: 0.2.6.0)\n-- \n-- --------------------------------------------------\n-- digiKam RawEngine dependencies checks:\n-- \n-- Looking for OpenMP\n-- OpenMP found with CXX flags: -fopenmp\n-- RawEngine will be compiled with OpenMP support\n-- RawEngine will be compiled with RedCine codec\n-- Looking for LibJpeg\n-- RawEngine will be compiled with DNG lossy codec\n-- Looking for PThreads\n-- --------------------------------------------------\n-- \n-- \n-- ----------------------------------------------------------------------------------\n--  digiKam 7.3.0 dependencies results   &lt;https:\/\/www.digikam.org>\n-- \n--  MySQL Database Support will be compiled.. YES (optional)\n--  MySQL Internal Support will be compiled.. YES (optional)\n--  DBUS Support will be compiled............ YES (optional)\n--  App. Style Support will be compiled...... YES (optional)\n--  QWebEngine Support will be compiled...... YES (optional)\n--  libboostgraph found...................... YES\n--  libexiv2 found........................... YES\n--  libexpat found........................... YES\n--  libjpeg found............................ YES\n--  libkde found............................. YES\n--  liblcms found............................ YES\n--  libopencv found.......................... YES\n--  libpng found............................. YES\n--  libpthread found......................... YES\n--  libqt found.............................. YES\n--  libtiff found............................ YES\n--  bison found.............................. YES (optional)\n--  doxygen found............................ YES (optional)\n--  ccache found............................. NO  (optional)\n--  digiKam will be compiled without CCACHE build support.\n--  Please install the ccache (version >= 3.0.0) development package.\n-- \n--  flex found............................... YES (optional)\n--  libakonadicontact found.................. NO  (optional)\n--  digiKam will be compiled without KDE desktop address book support.\n--  Please install the libakonadicontact (version >= 4.89.0) development package.\n-- \n--  libmagick++ found........................ YES (optional)\n--  libeigen3 found.......................... YES (optional)\n--  libgphoto2 found......................... YES (optional)\n--  libjasper found.......................... YES (optional)\n--  libkcalendarcore found................... YES (optional)\n--  libkfilemetadata found................... YES (optional)\n--  libkiconthemes found..................... YES (optional)\n--  libkio found............................. YES (optional)\n--  libknotifications found.................. YES (optional)\n--  libknotifyconfig found................... YES (optional)\n--  libksane found........................... NO  (optional)\n--  digiKam will be compiled without flat scanners support.\n--  Please install the libksane (version >= 5.5.0) development package.\n-- \n--  liblensfun found......................... YES (optional)\n--  liblqr-1 found........................... YES (optional)\n--  libmarble found.......................... YES (optional)\n--  libqtav found............................ NO  (optional)\n--  digiKam will be compiled without Media Player support.\n--  Please install the libqtav (version >= 1.12.0) development package.\n-- \n--  libthreadweaver found.................... YES (optional)\n--  libxml2 found............................ YES (optional)\n--  libxslt found............................ YES (optional)\n--  libx265 found............................ YES (optional)\n--  OpenGL found............................. YES (optional)\n--  libqtxmlpatterns found................... NO  (optional)\n--  digiKam will be compiled without Rajce tool support.\n--  Please install the libqtxmlpatterns (version >= 5.9.0) development package.\n-- \n--  digiKam can be compiled.................. YES\n-- ----------------------------------------------------------------------------------\n-- \n-- Using ccache to speed-up compilations..... NO\n-- Remove GCC compiler option -pedantic from \/usr\/local\/linux\/photos\/digikam-7.3.0\/core\n-- Remove GCC compiler option -Wsuggest-override from \/usr\/local\/linux\/photos\/digikam-7.3.0\/core\n-- Remove GCC compiler option -Wcast-align from \/usr\/local\/linux\/photos\/digikam-7.3.0\/core\n-- Remove GCC compiler option -Wzero-as-null-pointer-constant from \/usr\/local\/linux\/photos\/digikam-7.3.0\/core\n-- Disable GCC compiler option -Wno-deprecated-copy from \/usr\/local\/linux\/photos\/digikam-7.3.0\/core\n-- Disable GCC compiler option -Wno-deprecated from \/usr\/local\/linux\/photos\/digikam-7.3.0\/core\/libs\/metadataengine\n-- Remove GCC compiler option -Wcast-align from \/usr\/local\/linux\/photos\/digikam-7.3.0\/core\/libs\/pgfutils\n-- Remove GCC compiler option -Wzero-as-null-pointer-constant from \/usr\/local\/linux\/photos\/digikam-7.3.0\/core\/libs\/pgfutils\n-- Remove GCC compiler option -pedantic from \/usr\/local\/linux\/photos\/digikam-7.3.0\/core\/libs\/dplugins\/webservices\n-- Remove GCC compiler option -Wundef from \/usr\/local\/linux\/photos\/digikam-7.3.0\/core\/libs\/rawengine\n-- Remove GCC compiler option -Werror=return-type from \/usr\/local\/linux\/photos\/digikam-7.3.0\/core\/libs\/rawengine\n-- WallPaper plugin will be compiled......... YES\n-- Doxygen is found.......................... TRUE\n-- Graphviz Dot is found..................... YES\n-- To build API documentation use 'make doc'\n-- Configuring done\n-- Generating done\n\n-- Build files have been written to: \/usr\/local\/linux\/photos\/digikam-7.3.0\/build\nNow run make in \/usr\/local\/linux\/photos\/digikam-7.3.0\/build.<\/pre><\/div>\n\n\n\n<p>on tape ensuite<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace\"><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"php\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"false\">cd build\nmake<\/pre><\/div>\n\n\n\n<p>et en tant que root <strong>make install<\/strong>. C&rsquo;est termin\u00e9 !<\/p>\n\n\n\n<p>Rentrons maintenant dans le vif du sujet, je vous passe le d\u00e9tail de la configuration, il faut essentiellement pointer sur le ou les r\u00e9pertoires o\u00f9 se trouvent les photos, et un r\u00e9pertoire o\u00f9 on placera la base de donn\u00e9es de <strong>digikam<\/strong>, pour le reste j&rsquo;ai laiss\u00e9 tous les param\u00e8tres par d\u00e9faut. Il existe un onglet vertical nomm\u00e9 <strong>Personnes<\/strong>, il faut s\u00e9lectionner <strong>D\u00e9tecter les visages <\/strong>et c&rsquo;est parti en cliquant sur le bouton <strong>Analyser une collection pour chercher des visages<\/strong>. J&rsquo;ai une collection de pr\u00e8s de 9000 photos, donc autant dire que \u00e7a prend un certain, \u00e7a a tourn\u00e9 \u00e0 peu pr\u00e8s toute la nuit et un peu plus encore. Vous vous retrouvez ensuite avec une collection de visages dans la cat\u00e9gorie <strong>Inconnus<\/strong>, la d\u00e9tection marche remarquablement bien avec quelques rares faux positifs comme des statues (ci-dessous), des tableaux ou des animaux (des pandas !).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face.jpg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"256\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face.jpg?resize=474%2C256&#038;ssl=1\" alt=\"\" class=\"wp-image-5906\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face.jpg?resize=1024%2C553&amp;ssl=1 1024w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face.jpg?resize=300%2C162&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face.jpg?resize=768%2C415&amp;ssl=1 768w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face.jpg?resize=1536%2C830&amp;ssl=1 1536w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face.jpg?w=1877&amp;ssl=1 1877w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face.jpg?w=948&amp;ssl=1 948w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face.jpg?w=1422&amp;ssl=1 1422w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><figcaption>Digikam d\u00e9tection de visages<\/figcaption><\/figure>\n\n\n\n<p>Commence alors une manip assez longue, il faut identifier les personnes et les nommer, on va cr\u00e9er ainsi toutes nos personnes qui apparaitront dans l&rsquo;espace \u00e0 gauche sous <strong>Inconnus<\/strong>. Pour chaque personne il faut au moins une quinzaine d\u2019occurrences de la personne pour que <strong>digikam<\/strong> puisse le reconnaitre. Bien s\u00fbr, plus il y a d&rsquo;occurrences meilleurs sont les r\u00e9sultats.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face2.jpg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"162\" height=\"236\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face2.jpg?resize=162%2C236&#038;ssl=1\" alt=\"\" class=\"wp-image-5907\"\/><\/a><\/figure><\/div>\n\n\n\n<p>De fil en aiguille, on arrive avec une liste de personnes, avec un certain nombre d\u2019occurrence du visage de chaque personne s\u00e9lectionn\u00e9e manuellement.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face7.jpg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"256\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face7.jpg?resize=474%2C256&#038;ssl=1\" alt=\"\" class=\"wp-image-5909\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face7.jpg?resize=1024%2C553&amp;ssl=1 1024w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face7.jpg?resize=300%2C162&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face7.jpg?resize=768%2C415&amp;ssl=1 768w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face7.jpg?resize=1536%2C830&amp;ssl=1 1536w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face7.jpg?w=1877&amp;ssl=1 1877w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face7.jpg?w=948&amp;ssl=1 948w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face7.jpg?w=1422&amp;ssl=1 1422w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/figure>\n\n\n\n<p> C&rsquo;est l\u00e0 que \u00e7a va devenir int\u00e9ressant, \u00e0 partir de cette base, il va identifier comme un grand les personnes et compl\u00e9ter la reconnaissance faciale. Pour cela il suffit de s\u00e9lectionner <strong>Reconnaitre les visages<\/strong> puis <strong>Analyser une collection pour chercher des visages<\/strong>. C&rsquo;est beaucoup plus rapide que pour la d\u00e9tection des visages, \u00e7a prend \u00e0 peine quelques minutes pour ma collection de quelques milliers de photos. Dans le cas ci-dessous il va d\u00e9tecter automatiquement les occurrences des visages des personnes qui apparaissent en gras avec le nombre de nouveaux en gras. \u00c7a marche plut\u00f4t bien avec tr\u00e8s peu de d\u00e9chets, c&rsquo;est vraiment bluffant.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face5.jpg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"256\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face5.jpg?resize=474%2C256&#038;ssl=1\" alt=\"\" class=\"wp-image-5910\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face5.jpg?resize=1024%2C553&amp;ssl=1 1024w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face5.jpg?resize=300%2C162&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face5.jpg?resize=768%2C415&amp;ssl=1 768w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face5.jpg?resize=1536%2C830&amp;ssl=1 1536w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face5.jpg?w=1877&amp;ssl=1 1877w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face5.jpg?w=948&amp;ssl=1 948w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/digikam-face5.jpg?w=1422&amp;ssl=1 1422w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/figure>\n\n\n\n<p>Les visages \u00e0 confirmer sont entour\u00e9s de vert pour chaque personne, si c&rsquo;est la bonne personne on valide, sinon on peut indiquer le bon nom (\u00e9ventuellement en cr\u00e9ant une personne) ou les ignorer purement et simplement en cliquant sur le -. On retrouvera les personnes ignor\u00e9es dans la cat\u00e9gorie <strong>Ignor\u00e9<\/strong> et ne seront plus utilis\u00e9es pour les recherches futures. Bien s\u00fbr le syst\u00e8me est it\u00e9ratif, on peut recommencer autant de fois que d\u00e9sir\u00e9 et au fur et \u00e0 mesure l&rsquo;algorithme de recherche s&rsquo;affine et devient de plus en plus performant en fonction de la collection de visage confirm\u00e9e.<\/p>\n\n\n\n<p>A noter que dans la cat\u00e9gorie <strong>Inconnus<\/strong> on peut retrouver des \u00e9tiquettes pour des visages qui ne correspondent pas \u00e0 la personne, en fait au fil des it\u00e9rations il va identifier des personnes sur la photo et rajouter leur \u00e9tiquette dans la photo. On peut donc tr\u00e8s bien avoir des \u00e9tiquettes qui ne correspondent pas \u00e0 la personne, en passant en mode <strong>Aper\u00e7u<\/strong> on visualise la photo en entier et on pourra voir que la personne de l&rsquo;\u00e9tiquette et bien sur la photo.<\/p>\n\n\n\n<p><strong>Digikam<\/strong> offre bien d&rsquo;autres fonctionnalit\u00e9s comme la localisation, la d\u00e9tection de doublons ou les images similaires, j&rsquo;y reviendrai dans des futurs posts.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&rsquo;autre jour j&rsquo;\u00e9tais avec un pote, Apple addicted, qui me disait qu&rsquo;il g\u00e9rait ses photos avec Photos iCloud et qu&rsquo;avec cet outil il b\u00e9n\u00e9ficiait de la reconnaissance faciale et d&rsquo;une mani\u00e8re g\u00e9n\u00e9rale de certaines fonctions avanc\u00e9es qui lui permettent de plus facilement indexer, classer et retrouver ses photos. Alors bien s\u00fbr j&rsquo;ai \u00e9t\u00e9 piqu\u00e9 au &hellip; <a href=\"https:\/\/olivier.hoarau.org\/?p=5902\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Digikam gestion de photos \u00e9volu\u00e9e<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false,"_share_on_mastodon":"0"},"categories":[5],"tags":[100,70],"class_list":["post-5902","post","type-post","status-publish","format-standard","hentry","category-logiciels-libres","tag-digikam","tag-photo"],"share_on_mastodon":{"url":"","error":""},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/peOjJ-1xc","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/5902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5902"}],"version-history":[{"count":7,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/5902\/revisions"}],"predecessor-version":[{"id":5916,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/5902\/revisions\/5916"}],"wp:attachment":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}