J’ai publié sur ce blog quelques articles concernant la photographie computationnelle, qui selon moi, est la prochaine grande révolution en photographie. Toutefois, ce qui est dommage c’est que beaucoup des gens ne prennent pas cette nouvelle approche de la photo très au sérieux. En cherchant sur le WEB, j’ai trouvé deux articles très intéressants et qui se complètent bien, sur cette nouvelle forme de photographie, et je me suis alors posé la question : à quoi pouvons-nous réellement nous attendre de ces puces propulsées par l’intelligence artificielle ?
L’I.A. au service de la photographie
La semaine dernière, Qualcomm a annoncé la puce Snapdragon 845, qui envoie des tâches aux cœurs appropriés d’un smartphone . Il n’y avait pas beaucoup de différences avec la précédente puce – elles se résumaient essentiellement au niveau d’accès que chaque entreprise offre aux développeurs et à la quantité d’énergie consommée par chaque installation.
Mais une puce dotée de l’intelligence artificielle est-elle vraiment différente des CPU existants ? Un terme que vous entendrez souvent dans l’industrie en référence à l’I.A. est « l’informatique hétérogène ». Il se réfère aux systèmes qui utilisent plusieurs types de processeurs, chacun d’eux avec des fonctions spécialisées, pour gagner en performances ou économiser de l’énergie. L’idée n’est pas nouvelle – beaucoup de chipsets existants l’utilisent – la Snapdragon 845 l’utilise également mais à divers degrés.
Les processeurs des smartphones des trois dernières années ont utilisé l’architecture ARM « big.LITTLE« , qui associe des cœurs relativement plus lents et économes en énergie (LITTLE) à des cœurs plus rapides et plus puissants (big). L’objectif principal est d’utiliser le moins de puissance possible, pour obtenir une meilleure autonomie de la batterie. Certains des premiers téléphones utilisant une telle architecture incluent le Samsung Galaxy S4 avec la puce Exynos 5 de l’entreprise, ainsi que le Mate 8 et Honor 6 de Huawei.
Les «puces A.I.» de cette année vont plus loin en ajoutant un composant dédié pour exécuter des tâches d’apprentissage automatique ou, dans le cas de la Snapdragon 845, en utilisant d’autres coeurs de faible puissance. Par exemple, la Snapdragon 845 peut exploiter son processeur de signal numérique pour procéder à des tâches de longue durée qui nécessitent beaucoup de calculs récurrents, comme écouter un mot-clé. « Les fonctionnalités telles que la reconnaissance d’image, sont mieux gérées par le GPU’, a déclaré le directeur de la gestion des produits chez Qualcomm, Gary Brotman.
Pendant ce temps, l’Apple A11 Bionic utilise un moteur neuronal dans son GPU pour accélérer la détection faciale et certaines applications tierces. Cela signifie que lorsque vous utilisez ces processus sur votre iPhone X, l’A11 démarre le moteur neuronal pour effectuer les calculs nécessaires, soit pour vérifier votre identité ou pour mapper vos expressions faciales.
Sur le Kirin 970, le NPU prend en charge des tâches telles que la numérisation et la traduction de mots dans des images prises avec « Microsoft Translator », qui est la seule application tierce à avoir été optimisée pour ce chipset. Huawei a déclaré que sa structure de calcul hétérogène maximise les performances de la plupart des composants de son chipset, donc il peut assigner des tâches « computationnelles« .
Cette nouvelle architecture signifie que les calculs d’apprentissage automatique, qui étaient auparavant traités dans le « cloud », peuvent maintenant être effectués plus efficacement sur un appareil. En utilisant des pièces autres que le processeur pour exécuter des tâches « computationnelles« , votre téléphone peut par conséquent faire plus de choses simultanément, de sorte que vous êtes moins susceptible de rencontrer un décalage en attendant une traduction ou de trouver une image de votre chien.
De plus, l’exécution de ces processus sur votre téléphone au lieu de les envoyer vers le « cloud » est faite directement depuis l’appareil, réduisant ainsi les opportunités pour les « hackeurs » d’accéder à vos données personnelles.
Un autre gros avantage de ces puces « computationnelles » est l’économie d’énergie qui est une ressource précieuse qui doit être allouée judicieusement, car certaines de ces actions peuvent être reprises toute la journée. Le GPU tend à aspirer plus de jus, donc si c’est quelque chose que le DSP plus économe en énergie peut effectuer avec des résultats similaires, alors il est préférable de baser ces tâches sur ce dernier.
Pour être clair, ce ne sont pas les chipsets eux-mêmes qui décident quels cœurs utiliser lors de l’exécution de certaines tâches. « Aujourd’hui, c’est aux développeurs ou aux équipementiers qu’il appartient de le faire », a déclaré M. Brotman. Les programmeurs peuvent utiliser des bibliothèques supportées comme TensorFlow de Google (ou plus précisément sa version mobile Lite) pour dicter sur quels cœurs exécuter leurs modèles. Qualcomm, Huawei et Apple travaillent tous avec les options les plus populaires comme TensorFlow Lite et Facebook’s Caffe2. Qualcomm prend également en charge le nouveau système d’échanges de réseaux neuronaux ouverts, tandis qu’Apple ajoute la compatibilité pour encore plus de modèles d’apprentissage automatique grâce à son framework Core ML.
Jusqu’à présent, aucune de ces puces n’a fourni des avantages réels très visibles. Les fabricants de puces vont vanter leurs propres résultats de tests et de benchmarks, qui sont finalement insignifiants jusqu’à ce que les processus « computationnelles » deviennent une partie plus importante de nos appareils. Nous en sommes aux premiers stades de l’apprentissage automatique, et les développeurs qui ont utilisé ce nouveau matériel sont malheureusement rares.
Oui mais la photographie dans tout cela !
Cette nouvelle puce de Qualcomm n’est qu’un premier pas dans ce que certains appellent la photographie « computationnelle », car en créant des puces plus performantes, ce sont au final nos appareils photo qui en bénéficieront. Nous savons tous qu’un boîtier numérique est une sorte de petit ordinateur doté d’un processeur d’image qui doit réaliser plusieurs tâches complexes. Ses performances dépendent de l’intelligence des algorithmes employés.
Si ces derniers sont plus performants, notamment grâce à une forme d’intelligence artificielle extrêmement développée ou « computationnelle », nous pourrions avoir des appareils très puissants, notamment au niveau de la vitesse de traitement des données venant du capteur. Bien que la Snapdragon 845 soit dédiée aux smartphones, son architecture pourrait être reproduite ou adaptée pour produire un processeur d’image dont les capacités sont pour l’instant inimaginables.
En outre, la structure de la lSnapdragon 845 lui permet de fonctionner avec très peu d’énergie, cela signifie d’une part que nos boîtiers surchaufferaient moins et d’autre part, que leur autonomie serait plus grande et ce, sans avoir à changer quoi que ce soit. Par exemple l’a7R III de Sony a une plus grande autonomie parce qu’il utilise une plus grosse batterie (NP-FZ100) que son prédécesseur. Avec une puce d’imagerie moins gourmande en énergie, ce problème n’existerait tout simplement plus et le même phénomène se produirait pour les reflex. Par exemple, au lieu de pouvoir prendre 800 photos sur une seule charge, ces nouveaux reflex pourraient avoir une autonomie de 2000 ou 3000 photos avec la même batterie.
Bien que tout cela ne se produira pas demain matin, nous pouvons nous attendre dans les années à venir, à avoir des appareils photos ultra-performants, dotés de fonctionnalités qui pour le moment semblent impossibles, comme changer l’apparence d’un ciel, agrandir une zone d’une photo sans pixellisation, ou avoir par exemple un mode rafale de 50 à 70 ips et ce, à la pleine résolution du capteur d’un appareil photo.
La photographie computationnelle changera le monde de la photo, comme ce fut le cas avec le numérique il y a quelques années; c’est inévitable et même souhaitable, car la course aux mégapixels atteindra un jour ses limites, les fabricants d’appareils photo, pour continuer à innover devront trouver autre chose que le nombre de pixels. La photographie computationnelle sera la nouvelle avenue pour eux, s’ils désirent offrir de meilleurs boîtiers et ne pas se retrouver dépassé par les autres marques, un peu comme ce fut le cas pour Kodak.
5 Responses
Je ne sais pas ce qui est utile ou pas dans tous ces « formidables » développements annoncés, mais une chose est sûre, c’est que les fabricants sont de plus en plus pris dans un tourbillon de scoops et de « révolutions » technologiques, poussés par une concurrence mondiale de plus en plus acharnée et par les exigences d’un actionnariat chaque jour plus exigeant et vorace.
Cette débauche de nouveaux produits technologiques, censés à chaque nouvelle annonce être indispensables car reléguant les produits qu’ils remplacent (de plus en plus vite) au rang de pièces de musée, donne par moment le tournis et mène parfois à une forme d’écœurement et je me demande si ce n’est pas en partie ça qui pousse dorénavant certains à revenir (ou se diriger vers) la photographie argentique, c’est à dire vers une approche de la photo détachée de cette frénésie technologique généralisée, et donc vers une approche plus tranquille et humaine de la photographie…
Je suis d’accord avec vous, mais la réalité est différente. Nous sommes à l’ère du « tout numérique ». Nous ne devons pas l’oublier.
Argghhhh non, pas encore la photographie « Computationnelle ». J’ai vraiment du mal avec cette expression.
A savoir : en Français, nous avons les ordinateurs, en Anglais ce sont des Computers (donc des Calculateurs). Le terme français est un peu meilleurs car les ordinateurs ne servent pas qu’à calculer, ils gèrent aussi de l’information.
Donc quand quelqu’un me parle de Computer, soit il s’agit d’un Anglais ce qui est logique, soit il s’agit d’un ignare en informatique. C’est un peu comme mélanger tous les termes au hasard : Et pourquoi pas un Computer Informatique Digital spécialisé dans les calculs binaires par un processus informatique logique via un processeur numérique. Beuark… D’ailleurs actuellement, je commence à entendre parler d’informatique digitale pour tout ce qui est smartphone ou tablette. Alors que « Digital » c’est aussi « Numérique », mais c’est déjà plus logique et compréhensible car Digital correspond aussi aus doigts.
Le terme photographie « Computationnelle » me fait la même impression : on ne sait pas de quoi on parle, ou on utilise un terme bien pompeux pour en mettre plein la vue. Parce qu’en effet, la « photographie calculée » ça en jette moins alors que c’est la même chose. De plus, il s’agit d’intelligence artificielle ce qui relève moins du calcul.
Alors oui, la « photographie calculée » ou « photographie artificielle » ou « photographie neuronale » est sûrement une future évolution importante de la photographie. Mais pitié, pas « computationnelle » c’est trop moche et inexact.
Accessoirement, l’intelligence artificielle touche aussi d’autres parties de la photographie : La mesure de la lumière, La balance des blancs, L’autofocus : mise au point et sélection automatique des collimateurs. Dans le futur, on n’aura peut-être plus besoin de corriger l’exposition.
En écrivant mon article je pensais en vous. Je savais que vous étiez pour réagir ainsi. Mais je reprends ce que j’ai déjà mentionné il y a quelques semaines; une langue pour qu’elle reste vivante, doit se parer de néologismes. Ce n’est qu’un de plus. De plus vous dites : »il s’agit d’intelligence artificielle ce qui relève moins du calcul. » L’intelligence artificielle est entièrement basée sur le calcul. Sinon cette intelligence se ferait comment ? Via des calculs évidemment (ou des algorithmes si vous préférez), et des algorithmes c’est quoi ?
Selon Wikipédia : « Un algorithme est une méthode générale pour résoudre un type de problème. Il est dit correct lorsque, pour chaque instance du problème, il se termine en produisant la bonne sortie, c’est-à-dire qu’il résout le problème posé. On mesure l’efficacité d’un algorithme notamment par sa durée de calcul. » Donc la photographie computationnelle est une expression définissant ce qu’un ordinateur fait via des calculs. Mais si vous n’aimez pas cette expression c’est votre droit, mais au final, le résultat est le même, quelle que soit l’expression utilisée.
Je m’en doutais bien 🙂 Mais non, l’informatique ce n’est pas que du calcul. C’est aussi des accès a des bases de données, des tests, des boucles, des déplacements de zones, des appels de routine. Et quand on mesure l’efficacité d’un algorithme on ne le fait pas par sa durée de calcul, mais par sa consommation de CPU, c’est à dire par le nombre d’instructions machine par seconde. Et bien sûr comme en anglais on parle de calculateur, c’est mal traduit en « durée de calcul » ce qui est faux.
Et non, un algorithme ce n’est pas que du calcul. Par exemple, un « TRI » c’est au minimum deux boucles, une comparaison et des transferts de données (ok, dans une boucle, il y a une petite addition de 1, mais ca ne représente pas grand chose dans cet algorithme).
Des néologisme pourquoi pas, mais celui-là est moche et traduit mal le travail informatique en le réduisant au calcul.