La réalité augmentée en bioinformatique

Cap­ture d'écran repré­sen­tant le résul­tat final sur iPad. L'image cible est ici pré­sente sur un sup­port car­to­né pour mieux visua­li­ser la 3D.

Main­te­nant que je suis redes­cen­du de mon nuage, je vais pou­voir vous expli­quer com­ment je m'y suis pris pour ajou­ter de la réa­li­té aug­men­tée (RA) sur mon pos­ter et gagner le prix du meilleur pos­ter lors de l'ECCB12 (Euro­pean Confe­rence in Com­pu­ta­tio­nal Bio­lo­gy). Vous pen­sez peut-être que j'exagère un peu en disant "redes­cendre de mon nuage" mais j'ai vrai­ment eu des retours que je n'avais même pas ima­gi­né. Pour moi, il s'agissait d'un simple "délire" de geek. Un « délire » qui a été annon­cé, lors de la céré­mo­nie du prix du meilleur pos­ter, comme "Le pos­ter du futur". L'idée m'est venue quelques mois aupa­ra­vant. J'avais déjà enten­du par­ler de la réa­li­té aug­men­tée mais je n'avais jamais essayé. Pour m'amuser et décou­vrir la réa­li­té aug­men­tée, j'ai tes­té un jeu basé sur cette tech­no­lo­gie. Une fois le jeu tes­té, ce fût le déclic, et j'ai déci­dé que je met­trai de la réa­li­té aug­men­tée pour mon pro­chain pos­ter.
Oui, mais pour­quoi ?
Quels en sont les avan­tages et les incon­vé­nients ?
Est-ce vrai­ment utile ?
Et j’imagine que vous vous posez encore plein d’autres ques­tions. Je vais donc essayer d’y répondre dans cet article.

Réa­li­tée Aug­men­tée : expli­ca­tions

Il s’agit en fait d’une tech­no­lo­gie qui vous per­met de voir des choses sup­plé­men­taires en plus de ce que vous voyez vrai­ment à tra­vers un écran de mobile. Per­son­nel­le­ment, je vois ça comme notre troi­sième œil. L’objet sup­plé­men­taire modé­li­sé se fond dans notre envi­ron­ne­ment réel. De très bons exemples sont les appli­ca­tions de navi­ga­tion en réa­li­té aug­men­tée. La camé­ra de votre smart­phone est en état de marche et le GPS vous montre exac­te­ment les endroits où il faut tour­ner à l’aide de flèches qui sont pla­cées exac­te­ment là où il faut tour­ner.

Je me suis dit qu’il pour­rait être amu­sant et très inté­res­sant d’utiliser cette tech­no­lo­gie pour la pré­sen­ta­tion de mon pos­ter. La réa­li­té aug­men­tée accepte tout type de sup­port tel que le papier, une image pré­sente dans un écran et même un objet en 3D.
Les avan­tages de la réa­li­té aug­men­tée dans le cas d'un pos­ter scien­ti­fique sont mul­tiples, voi­ci une liste non exhaus­tive :

  • repré­sen­ta­tion en 3D pos­sible : vous pou­vez par exemple des­si­ner votre pro­téine en 3D et la faire pivo­ter sur un axe ;
  • ne plus être limi­té au for­mat A0. Nous avons tous eu à faire à ce pro­blème pour nos pos­ters. Nous nous devons de choi­sir uni­que­ment « quelques-un » de nos résul­tats les plus repré­sen­ta­tifs et nous n’avons plus de place pour le reste ;
  • pos­si­bi­li­té d'interagir avec le pos­ter. Le pos­ter prend une nou­velle dimen­sion. Il ne s’agit plus d’un « simple » papier plat ;
  • et en plus, c’est trop cool ;

Les incon­vé­nients sont moindres :

  • cela demande du temps mais c’est un choix à faire si vous vou­lez atti­rer du monde vers votre pos­ter 😉 Dans mon cas j'ai dû tra­vailler trois semaines pour fina­li­ser mon pro­jet ;
  • le prix pour le logi­ciel Uni­ty (voir plus bas) est assez exor­bi­tant ;

Ce qu'il nous faut

Alors, com­ment ajou­ter de la réa­li­té aug­men­tée sur un pos­ter (ou tout autre sup­port) ?

Je vais ici vous expli­quer com­ment j'ai réa­li­sé mon appli­ca­tion en réa­li­té aug­men­tée sur mon iPad. Voi­ci la liste des ingré­dients :

  • le kit de déve­lop­pe­ment (SDK) Vufo­ria de Qual­comm qui gère la RA ;
  • un iDe­vice (tout appa­reil qui fonc­tionne sous iOS), mais le kit de déve­lop­pe­ment de réa­li­té aug­men­tée est aus­si com­pa­tible Android (je ne par­le­rai que d'iOS pour ce tuto­riel mais c’est faci­le­ment appli­cable pour Android aus­si);
  • xCode (IDE sous Mac);
  • Blen­der pour des­si­ner vos modèles en 3D ;
  • Uni­ty 3D qui joue le rôle d'intermédiaire entre Blen­der et xCode et per­met de gérer toutes les actions pour la RA ;

La tâche a été un peu plus com­plexe pour moi car, je n'avais encore pas de compte déve­lop­peur iOS Apple, et n'avais pas l'intention d'en créer un sans même savoir si mon appli­ca­tion allait fonc­tion­ner cor­rec­te­ment. J'ai donc dû effec­tuer des recherches appro­fon­dies pour savoir com­ment je pour­rais lan­cer mon appli­ca­tion iOS sur mon iPad un peu "modi­fié" (qui as dit jail­break ?) — pour cela Duck­Duck­Go est votre ami. Il vous fau­dra modi­fier quelques fichiers de xCode et jail­brea­ker votre iDe­vice pour pou­voir y lan­cer des appli­ca­tions non-signées (cepen­dant faites atten­tion, le jail­break est désor­mais légal en France mais vous ris­quez de perdre la garan­tie de votre appa­reil).

La tâche est beau­coup plus simple sous Android car il est pos­sible de lan­cer toute appli­ca­tion au for­mat .apk sans pro­blèmes sur tout andro­phones, sans même pas­ser par le Play Store. Une autre limi­ta­tion est la licence de Unity3D, celle-ci coûte 1500$ dans sa ver­sion Pro avec le sup­port iOS ou Android. En revanche le logi­ciel est gra­tuit pen­dant un mois, il vous faut donc être le plus pro­duc­tif pos­sible et finir en moins d'un mois 😉 A vos cla­viers…

Amé­lio­rer la réa­li­té en y super­po­sant une réa­li­té vir­tuelle

C'est l’idée qui se cache der­rière la RA. « Hmmm, pas très clair ton expli­ca­tion ! » me dites-vous. Pour vous éclai­rer je vais vous don­ner un exemple.

Le sujet de ma thèse porte sur l’épissage alter­na­tif. Le pro­ces­sus d’épissage est néces­saire pour reti­rer les séquences intro­niques de l’ARN pré-mes­sa­ger et pro­duire l’ARN mes­sa­ger qui contient uni­que­ment les séquences codantes, c'est-à-dire exo­niques. L’épissage des introns est effec­tué par une grosse enti­té molé­cu­laire appe­lée le spli­ceo­some. Le spli­ceo­some se forme uni­que­ment en pré­sence de deux exons et d’un intron interne, pour reti­rer la séquence de l’intron et lier les deux exons ensemble. Je vous raconte tout ça pour vous dire que si vous voyez deux exons et un intron dans la rue, le spli­ceo­some ne devrait pas être loin, mais vous ne le ver­rez cer­tai­ne­ment pas pas­ser, car celui-ci est en dehors de sa cel­lule (vous voyez où je veux en venir ?). Dans notre situa­tion avec l’aide de la RA nous allons voir le spli­ceo­some appa­raître à chaque fois que nous ren­con­tre­rons deux exons et un intron, si si même dans la rue. En bref, notre idée de base est de voir l'apparition du spli­ceo­some…

Une fois que vous avez votre idée en tête, il faut choi­sir une image cible qui ser­vi­ra de sup­port à nos objets vir­tuels. Vous com­pren­drez que, dans notre cas, l’image cible sera les deux exons et l’intron interne. Il est pos­sible de prendre n'importe quelle image mais celle-ci doit avoir cer­taines qua­li­tés de contraste et de cou­leur. Pour savoir si votre image est de bonne ou mau­vaise qua­li­té, vous pou­vez uti­li­ser l'application en ligne du SDK qui vous per­met de choi­sir la meilleure image cible pour votre pro­jet de RA. Cet outil est très pra­tique : pour mon pro­jet, par exemple, j'ai dû chan­ger un peu l'image cible en ajou­tant les bor­dures sur les trois cotés, même si au final je n'ai pas pu obte­nir plus de 3 étoiles sur 5.

Outil en ligne repré­sen­tant l'image cible avec la qua­li­té de celle-ci

Ensuite, il faut savoir ce que vous vou­lez faire une fois que l'image cible est dans le viseur de votre camé­ra. Dans notre cas, il s’agit de faire appa­raître le spli­ceo­some en 3D juste au-des­sus des exons et de l'intron qui com­posent mon image cible. Il est aus­si pos­sible de lan­cer une vidéo ou une ani­ma­tion plu­tôt que de repré­sen­ter une image "sta­tique". Pour des rai­sons de manque de temps, je me suis conten­té d'une image sta­tique, mais je n'ai pas l'intention d'en res­ter là…

Pour des­si­ner le spli­ceo­some en 3D, j'ai uti­li­sé Blen­der qui est un superbe logi­ciel open source pour des­si­ner en 2D ou en 3D. Je n'avais jamais fait de 3D avant et j'ai trou­vé ça super inté­res­sant. Je vous conseille donc de des­si­ner vous-même vos propres modèles 3D plu­tôt que d'utiliser des modèles exis­tants. Cela prend un peu plus de temps mais c'est tel­le­ment ins­truc­tif. Pour des modèles exis­tants, vous pou­vez en trou­ver des tonnes sur la toile, per­son­nel­le­ment j'ai bien aimé celui-là.

Il faut enfin mettre tout ça ensemble et com­pi­ler l'application iOS. Ce qui est génial avec Unity3D, c'est qu'il pos­sède un module iOS qui per­met de com­pi­ler et de lan­cer l'application toute prête sur votre iDe­vice sans même avoir à tâter/​taper du code.

La réa­li­sa­tion

Pour cette par­tie, il existe un très bon tuto­riel sur le site du SDK de Vufo­ria, je vous invite à vous y rendre à l'adresse sui­vante et à lire la par­tie « Step2 : Com­pi­ling a Simple Pro­ject ». Pour les aller­giques à la langue de Sha­kes­peare, ne vous inquié­tez pas, j’ai tout pré­vu. Voi­ci les étapes à suivre pour la réa­li­sa­tion d’une appli­ca­tion en RA.

Il faut, avant toute chose, créer un pro­jet sous Unity3D et impor­ter l'extension du SDK spé­cia­le­ment conçu pour Unity3D. Pour cela, faites un clic droit dans la par­tie « Pro­jet » de l’interface Uni­ty et Import Package -> Cus­tom Package et impor­ter l’extension du SDK qui se nomme « vuforia-imagetargets-ios‑1–5‑9.unitypackage » que vous avez préa­la­ble­ment télé­char­gé.

Ensuite tout se passe sur la scène. La scène repré­sente exac­te­ment ce qu'il va se pas­ser avec le viseur de votre iDe­vice. Il va fal­loir ajou­ter 3 élé­ments dans la scène. Pen­sez d’abord à sup­pri­mer la camé­ra déjà pré­sente dans la par­tie Hie­rar­chy. Ensuite ajou­ter les élé­ments sui­vants :

  • une ARCa­me­ra, il s'agit en fait de la camé­ra de votre iDe­vice.
    Qualcomm Augmented Reality -> Prefabs et dépla­cer-col­ler ARCamera
  • une Tar­ge­tI­mage, l'image cible.
    Qualcomm Augmented Reality -> Prefabs et dépla­cer-col­ler ImageTarget
    Vous pou­vez récu­pé­rer tout ce qui est néces­saire depuis l'interface web de créa­tion d'images cibles. Il suf­fit de télé­char­ger l'image cible pour Unity3D. Vous devez expor­ter votre pro­jet sous la forme d’un package Uni­ty depuis l’interface de ges­tion de vos image cibles ;
  • votre objet en 3D, que vous pour­rez faci­le­ment impor­ter depuis Blen­der (au for­mat .blend).
    Import New Asset et choi­sis­sez votre object au for­mat .blend ;
  • un peu de lumière
    Game Object -> Create Other -> Directional Light
    pour ne pas res­ter dans l'obscurité 😉 Les notions de lumière et de camé­ra sont très impor­tantes en 3D mais je ne ren­tre­rai pas dans les détails ici. Sachez seule­ment qu'il fau­dra bien diri­ger la lumière et la camé­ra vers notre objet en 3D ;

Une fois la scène mise en place il faut défi­nir les actions. Dans notre cas nous vou­lons l'apparition de notre objet 3D une fois que la camé­ra se dirige sur notre image cible. Pour cela, nous allons cli­quer sur l'objet

TargetImage

et, dans la barre de droite, choi­sir dans la par­tie

Image Target Behaviour : Data set and image Target

selon l’image cible que vous avez préa­la­ble­ment télé­char­ger. De même, il faut défi­nir les fichiers à char­ger dans l'application comme par exemple l'image cible, pour cela il faut sélec­tion­ner l'objet ARCa­me­ra et dans la barre de droite choi­sir

Data Set Load Behaviour

, le nom cor­res­pon­dant aux fichiers de votre image cible.

Voi­ci une image qui résume tout ce que vous venez de lire

Cap­ture d'écran de l'interface d'Unity3D repré­sen­tant tout les élé­ments du pro­jet

La gloire

Une fois que tout cela est ter­mi­né arrive le temps de lan­cer notre appli­ca­tion. Pour cela, rien de plus simple, il faut se rendre dans le menu Run Set­tings et cli­quer sur "Com­pile and Run." Unity3D va se char­ger de créer un pro­jet xCode et de le lan­cer auto­ma­ti­que­ment sur votre iDe­vice.

J’ai essayé de résu­mer le mieux pos­sible les dif­fé­rentes étapes pour réa­li­ser une appli­ca­tion en réa­li­té aug­men­tée pour iOS. Il vous fau­dra un peu de temps au début pour prendre l’habitude mais une fois votre pre­mière appli­ca­tion lan­cée, la suite arrive rapi­de­ment 😉 Je vous sou­haite bon cou­rage dans la décou­verte de la réa­li­té aug­men­tée et sur­tout n'hésitez pas à poser vos ques­tions, j'essayerai de vous aider au mieux 🙂

Pour plus d'informations, voi­ci quelques liens inté­res­sants :

Je tiens à remer­cier les relec­teurs (Mali­cia, Auré­lien C. et Guillaume Col­let) pour leurs com­men­taires enri­chis­sants et leurs cor­rec­tions.



Pour continuer la lecture :


Commentaires

13 réponses à “La réalité augmentée en bioinformatique”

  1. Encore mer­ci pour cet article Adem !!
    Main­te­nant, il faut que je fasse un pos­ter avec réa­li­té aug­men­tée sous android 😉

    1. De rien Guillaume, avec plai­sir, mer­ci encore pour la relec­ture 🙂
      J'ai aus­si pré­vu de tes­ter sous Android, je pense m'y mettre bien­tôt, je te dirai si j'ai de quoi par­ta­ger 😉

    2. Bon­jour,
      Je serais inter­res­sé pour rea­li­ser l'appli sur android ! L'as tu com­men­cée ou meme publié pour que l'on voit ce que cela donne.
      Mer­ci d'avance !

      1. Avatar de Ademcan

        Bon­jour, tu peux trou­ver l'application Android sur le Play Store
        https://​play​.google​.com/​s​t​o​r​e​/​a​p​p​s​/​d​e​t​a​i​l​s​?​i​d​=​c​o​m​.​a​d​e​m​c​a​n​.​s​p​l​i​c​eIt
        Je n'ai plus retou­ché l'application depuis, mais si tu es inté­res­sé je serais heu­reux d'en dis­cu­ter avec toi
        Tu peux me contac­ter par email.

  2. Rahhhhh ça à l'air facile vu com­ment tu l'expliques. J'ai presque envie d'essayer. En com­bien de temps tu penses que cela peut se réa­li­ser ? Je veux dire, sachant que tu es le pre­mier article sur la réa­li­té aug­men­té que je ren­contre, et que je veut ajou­ter cela à mon pos­ter, com­bien de week end va t'il me fal­loir ?

    1. Bon cou­rage Yo 🙂
      En fait moi j'ai réus­si en trois semaines (soirs et week-ends). Si j'avais à le refaire, ça me pren­drai quelques jours au plus, il faut s'habituer à Unity3D et après ça roule comme sur des rou­lettes 😉
      De toute façon tu as un mois pour tes­ter Unity3D, mais c'est lar­ge­ment fai­sable.
      Je sens qu'il va y'avoir de la concur­rence au SIB Days 😉
      Si tu as besoin d'aide n'hésite pas.

      1. Avatar de Ademcan

        Bon­jour, tu peux trou­ver l'application Android sur le Play Store
        https://​play​.google​.com/​s​t​o​r​e​/​a​p​p​s​/​d​e​t​a​i​l​s​?​i​d​=​c​o​m​.​a​d​e​m​c​a​n​.​s​p​l​i​c​eIt
        Je n'ai plus retou­ché l'application depuis, mais si tu es inté­res­sé je serais heu­reux d'en dis­cu­ter avec toi 🙂
        Tu peux me contac­ter par email.

  3. […] on bioin​fo​-fr​.net Partager:TwitterFacebookWordPress:J’aimeSoyez le pre­mier à aimer ceci. Par david_​loiret […]

  4. Salut Adem, si tu es dans le coin, je me lance ! Il serait bon de nos jours, de citer le pro­jet iOSO­pen­Dev, qui je pense pour­rait aider les gens qui se lancent pour tes­ter un peu, qu'en pense-tu ? XD

  5. Ah, et pour­rais-tu mettre à jour (les admins ?) l'image néces­saire ici, pour qu'on puisse tes­ter, stp ? Et aus­si à savoir que ton appli est sur l'App Store !!!
    https://​itunes​.apple​.com/​u​s​/​a​p​p​/​s​p​l​i​c​e​i​t​/​i​d​5​9​1​6​4​6​9​2​2​?​m​t=8

    1. Avatar de Yoann M.
      Yoann M.

      Il est actuel­le­ment en vacances très loin et cou­pé du monde.
      On lui en touche un mot à son retour 😉

  6. @Yoann : Je suis de retour (pour vous jouer un mau­vais tour…) :p

    Hel­lo Auré­lien,
    Mer­ci pour ton com­men­taire. Je ne connais­sais pas iOSO­pen­Dev, je vais voir ce que c'est un peu plus en détails, mer­ci pour l'info 😉
    Mer­ci aus­si pour l'update sur l'article, je vais m'en char­ger avec les admins.
    J'espère que ça avance bien de ton côté.

  7. […] Voi­ci ci-des­sous la vidéo en ques­tion. Dans le menu Object, dans la barre au bas de l'écran 3D, il y a le Quick Effects qui contient le choix Quick Explode. Je vous ai par­lé de Quick Explode dans mon post du 8 mai 2013. Le choix Quick Explode ajuste tous les para­mètres pour obte­nir un résul­tat très rapi­de­ment. Dans la vidéo ci-des­sus, un objet est détruit lorsqu'il se fait heur­ter par un autre objet. Il y a donc une inter­ac­tion entre les 2 objets. Puisque la vidéo nous explique 9 méthodes dif­fé­rentes, il suf­fit de choi­sir la méthode que l'on com­prend le mieux et de ten­ter de la réa­li­ser jusqu'à ce qu'on puisse admi­rer son petit bout de film. Je rap­pelle que faire une ani­ma­tion prend du temps sur­tout si vous débu­tez dans Blen­der. Nuclear Plant — 3d model — .obj. Per­so 3D gra­tuits. La réa­li­té aug­men­tée en bio­in­for­ma­tique. […]

Laisser un commentaire