{"id":1816,"date":"2026-06-12T09:00:00","date_gmt":"2026-06-12T07:00:00","guid":{"rendered":"http:\/\/cim-atlantique.com\/?page_id=1816"},"modified":"2026-06-19T09:07:42","modified_gmt":"2026-06-19T07:07:42","slug":"vision-industrielle","status":"publish","type":"page","link":"https:\/\/www.cim-atlantique.com\/fr\/vision-industrielle\/","title":{"rendered":"Vision industrielle"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container hundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"width:104% !important;max-width:104% !important;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><style>\n.fusion-page-title-bar{display:none!important;}\n\/* =====================================================================\n   CIM ATLANTIQUE \u2014 Page pilier \u00ab Vision industrielle \u00bb\n   FEUILLE DE STYLES \u2014 contenu de page uniquement.\n\n   \u00b7 TOUTES les r\u00e8gles sont scop\u00e9es sous #cim-vision \u2192 aucun impact sur\n     le header, le footer ou le reste du th\u00e8me Avada.\n   \u00b7 La POLICE est h\u00e9rit\u00e9e du th\u00e8me (font-family: inherit) \u2192 conserve\n     automatiquement les polices du site. Ne RIEN importer.\n   \u00b7 Ic\u00f4nes : Font Awesome 5 (classes \"fas fa-\u2026\"), d\u00e9j\u00e0 fourni par Avada.\n   \u00b7 Coller dans : Avada > Options > Custom CSS  OU le child theme.\n   ===================================================================== *\/\n\n#cim-vision{\n  \/* ---- Charte CIM ---- *\/\n  --navy:    #0A3A64;\n  --navy-d:  #072B4B;\n  --rouge:   #7F1919;   \/* Rouge CIM (logo \/ accents de marque) *\/\n  --teal:    #0B909E;   \/* accent principal *\/\n  --blue:    #009EDB;   \/* liens *\/\n  --teal-d:  #0A7B87;   \/* hover bouton *\/\n  --gray:    #F4F4F4;\n  --white:   #FFFFFF;\n  --ink:     #14242F;\n  --muted:   #54677A;\n  --line:    #E3E9EE;\n  --teal-lt: #5BD0DE;   \/* accent clair sur navy *\/\n  --teal-soft:#EAF4F5;  \/* teinte teal tr\u00e8s claire pour fonds de bloc *\/\n\n  --accent:  var(--teal);\n  --radius:  4px;\n  --radius-lg: 8px;\n\n  --maxw: 1180px;\n  --pad-x: clamp(20px, 5vw, 48px);\n  --sec-y: clamp(54px, 8vw, 100px);\n  --shadow-sm: 0 1px 2px rgba(10,58,100,.06);\n  --shadow:    0 2px 6px rgba(10,58,100,.06), 0 14px 38px rgba(10,58,100,.08);\n\n  direction: ltr;                 \/* \u26a0\ufe0f \u00e9vite l'inversion de colonnes Avada *\/\n  font-family: inherit;\n  color: var(--ink);\n  line-height: 1.7;\n  font-size: 17px;\n  -webkit-font-smoothing:antialiased;\n}\n#cim-vision *{ box-sizing:border-box; }\n#cim-vision img{ max-width:100%; display:block; }\n#cim-vision a{ color:var(--blue); text-decoration:none; }\n#cim-vision a:hover{ text-decoration:underline; }\n#cim-vision h1,#cim-vision h2,#cim-vision h3,#cim-vision h4{\n  color:var(--navy); line-height:1.14; margin:0; font-weight:800;\n  letter-spacing:-.01em; text-wrap:balance; }\n#cim-vision p{ margin:0; }\n#cim-vision strong{ color:var(--ink); font-weight:700; }\n#cim-vision ul{ margin:0; padding:0; list-style:none; }\n\n#cim-vision .container{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--pad-x); }\n#cim-vision > section{ padding-block:var(--sec-y); }\n#cim-vision .bg-gray{ background:var(--gray); }\n#cim-vision .bg-tint{ background:var(--teal-soft); }\n#cim-vision .bg-navy{ background:var(--navy); color:#DCE7F0; }\n#cim-vision .bg-navy h2,#cim-vision .bg-navy h3,#cim-vision .bg-navy h4{ color:#fff; }\n\n\/* ---- En-t\u00eates de section ---- *\/\n#cim-vision .eyebrow{ display:inline-flex; align-items:center; gap:10px;\n  font-size:.78rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;\n  color:var(--accent); margin-bottom:16px; }\n#cim-vision .eyebrow::before{ content:\"\"; width:26px; height:2px; background:var(--rouge); display:inline-block; }\n#cim-vision .bg-navy .eyebrow{ color:var(--teal-lt); }\n#cim-vision .eyebrow__num{ font-variant-numeric:tabular-nums; color:var(--muted); letter-spacing:.05em; }\n#cim-vision .bg-navy .eyebrow__num{ color:#8FB0CC; }\n#cim-vision .sec-head{ max-width:780px; margin-bottom:clamp(32px,5vw,52px); }\n#cim-vision .sec-head h2{ font-size:clamp(1.6rem, 1rem + 2.4vw, 2.4rem); }\n#cim-vision .sec-head__lead{ margin-top:18px; font-size:clamp(1.02rem,.95rem + .5vw,1.18rem); color:var(--muted); max-width:68ch; }\n#cim-vision .sec-head__lead a{ color:var(--blue); font-weight:600; }\n#cim-vision .bg-navy .sec-head__lead{ color:#B8CADB; }\n\n\/* ---- Boutons ---- *\/\n#cim-vision .btn{ display:inline-flex; align-items:center; gap:.6em; font-family:inherit;\n  font-weight:700; font-size:1.02rem; padding:16px 28px; border-radius:var(--radius);\n  border:2px solid transparent; cursor:pointer; text-decoration:none; line-height:1;\n  transition:transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease; }\n#cim-vision .btn:hover{ text-decoration:none; }\n#cim-vision .btn i{ font-size:.92em; transition:transform .2s ease; }\n#cim-vision .btn:hover i{ transform:translateX(3px); }\n#cim-vision .btn--primary{ background:var(--accent); color:#fff; }\n#cim-vision .btn--primary:hover{ background:var(--teal-d); transform:translateY(-1px); }\n#cim-vision .btn--ghost{ background:transparent; color:var(--navy); border-color:var(--line); }\n#cim-vision .btn--ghost:hover{ border-color:var(--accent); color:var(--accent); }\n#cim-vision .bg-navy .btn--ghost{ color:#fff; border-color:rgba(255,255,255,.35); }\n#cim-vision .bg-navy .btn--ghost:hover{ border-color:#fff; }\n\n\/* =========================================================\n   1 \u00b7 HERO\n   ========================================================= *\/\n#cim-vision .hero{ position:relative; background:var(--navy); color:#E7EFF6; overflow:hidden; isolation:isolate; }\n#cim-vision .hero__bg{ position:absolute; inset:0; z-index:-2; }\n#cim-vision .hero__bg img{ width:100%; height:100%; object-fit:cover; }\n#cim-vision .hero__bg::after{ content:\"\"; position:absolute; inset:0;\n  background:linear-gradient(100deg, var(--navy-d) 6%, rgba(7,43,75,.90) 42%, rgba(7,43,75,.62) 100%); }\n#cim-vision .hero::before{ content:\"\"; position:absolute; inset:0; z-index:-1; opacity:.55;\n  background:radial-gradient(900px 480px at 90% -10%, rgba(11,144,158,.30), transparent 60%),\n             radial-gradient(700px 420px at 4% 120%, rgba(0,158,219,.16), transparent 60%); }\n#cim-vision .hero__inner{ padding-block:clamp(56px,9vw,104px); max-width:760px; }\n#cim-vision .hero h1{ color:#fff; font-size:clamp(2.1rem, 1.1rem + 4vw, 3.4rem); margin-block:14px 20px; }\n#cim-vision .hero h1 .hl{ color:var(--teal-lt); }\n#cim-vision .hero__lead{ font-size:clamp(1.05rem,.98rem + .6vw,1.3rem); color:#C6D6E6; max-width:60ch; }\n#cim-vision .hero__actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }\n#cim-vision .reassure{ display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:34px; padding-top:26px; border-top:1px solid rgba(255,255,255,.14); }\n#cim-vision .reassure li{ display:flex; align-items:center; gap:10px; font-size:.92rem; font-weight:600; color:#D6E3EF; }\n#cim-vision .reassure i{ color:var(--teal-lt); font-size:1.05rem; width:22px; text-align:center; }\n\n\/* =========================================================\n   2 \u00b7 INTRO + COMMENT \u00c7A FONCTIONNE (3 \u00e9tapes)\n   ========================================================= *\/\n#cim-vision .intro__lead{ font-size:clamp(1.06rem,1rem + .5vw,1.24rem); color:var(--ink); max-width:74ch; }\n#cim-vision .intro__lead + .intro__lead{ margin-top:18px; }\n#cim-vision .intro__q{ margin-top:22px; font-style:italic; color:var(--rouge); font-weight:600; font-size:1.05rem; max-width:70ch; }\n#cim-vision .flow{ display:grid; gap:18px; margin-top:clamp(34px,5vw,52px); counter-reset:flow; }\n#cim-vision .flow__step{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);\n  padding:28px 26px; position:relative; transition:transform .2s ease, box-shadow .2s ease; }\n#cim-vision .flow__step:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }\n#cim-vision .flow__no{ counter-increment:flow; font-variant-numeric:tabular-nums; font-weight:800;\n  font-size:.9rem; color:var(--rouge); letter-spacing:.1em; }\n#cim-vision .flow__no::before{ content:\"\u00c9TAPE \" counter(flow,decimal-leading-zero); }\n#cim-vision .flow__ic{ width:54px; height:54px; border-radius:var(--radius); display:grid; place-items:center;\n  background:rgba(11,144,158,.10); color:var(--accent); font-size:1.4rem; margin:14px 0 16px; }\n#cim-vision .flow__step h3{ font-size:1.16rem; margin-bottom:8px; }\n#cim-vision .flow__step p{ color:var(--muted); font-size:.97rem; }\n\n\/* =========================================================\n   CARTES g\u00e9n\u00e9riques (applications, mat\u00e9riel, avantages)\n   ========================================================= *\/\n#cim-vision .cards{ display:grid; gap:18px; }\n#cim-vision .card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);\n  padding:30px 26px; position:relative; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; }\n#cim-vision .card::before{ content:\"\"; position:absolute; top:0; left:0; right:0; height:3px; background:var(--accent); }\n#cim-vision .card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }\n#cim-vision .card__ic{ width:56px; height:56px; border-radius:var(--radius); display:grid; place-items:center;\n  background:rgba(11,144,158,.10); color:var(--accent); font-size:1.5rem; margin-bottom:18px; }\n#cim-vision .card__kicker{ display:block; font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }\n#cim-vision .card h3{ font-size:1.18rem; margin-bottom:10px; }\n#cim-vision .card p{ color:var(--muted); font-size:.96rem; }\n\n\/* =========================================================\n   3 \u00b7 LES DIFF\u00c9RENTS TYPES (texte + photo cam\u00e9ra)\n   ========================================================= *\/\n#cim-vision .types__grid{ display:grid; gap:clamp(28px,5vw,52px); align-items:center; }\n#cim-vision .types__list{ display:grid; gap:20px; }\n#cim-vision .types__item{ padding-left:22px; border-left:3px solid var(--accent); }\n#cim-vision .types__item h3{ font-size:1.18rem; margin-bottom:8px; }\n#cim-vision .types__item p{ color:var(--muted); font-size:.98rem; }\n#cim-vision .types__media figure{ margin:0; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line); }\n#cim-vision .types__media img{ width:100%; aspect-ratio:3\/2; object-fit:cover; }\n#cim-vision .types__media figcaption{ background:var(--navy); color:#C6D6E6; font-size:.82rem; padding:12px 16px; display:flex; align-items:center; gap:8px; }\n#cim-vision .types__media figcaption i{ color:var(--teal-lt); }\n\n\/* ---- Vignette vid\u00e9o (bandeau dans \u00ab Mat\u00e9riel \u00bb) ---- *\/\n#cim-vision .videocard{ margin-top:clamp(34px,5vw,48px); position:relative; display:block; border-radius:var(--radius-lg);\n  overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line); aspect-ratio:16\/6.2; background:#000; }\n#cim-vision .videocard img{ width:100%; height:100%; object-fit:cover; opacity:.86; transition:opacity .25s, transform .4s ease; }\n#cim-vision .videocard:hover img{ opacity:1; transform:scale(1.02); }\n#cim-vision .videocard__play{ position:absolute; inset:0; display:grid; place-items:center; }\n#cim-vision .videocard__play span{ width:72px; height:72px; border-radius:50%; background:rgba(127,25,25,.92);\n  color:#fff; display:grid; place-items:center; font-size:1.5rem; box-shadow:0 10px 30px rgba(0,0,0,.4); transition:transform .2s ease; }\n#cim-vision .videocard:hover .videocard__play span{ transform:scale(1.08); }\n#cim-vision .videocard__label{ position:absolute; left:0; right:0; bottom:0; padding:30px 20px 16px;\n  background:linear-gradient(transparent, rgba(0,0,0,.78)); color:#fff; font-weight:700; font-size:.95rem;\n  display:flex; align-items:center; gap:10px; }\n\n\/* =========================================================\n   AVANTAGES (sur navy)\n   ========================================================= *\/\n#cim-vision .adv{ display:grid; gap:18px; }\n#cim-vision .adv__item{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:32px 28px; position:relative; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; }\n#cim-vision .adv__item::before{ content:\"\"; position:absolute; top:0; left:0; right:0; height:3px; background:var(--accent); }\n#cim-vision .adv__item:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }\n#cim-vision .adv__ic{ font-size:1.6rem; color:var(--accent); margin-bottom:14px; }\n#cim-vision .adv__item h3{ color:var(--navy); font-size:1.16rem; margin-bottom:8px; }\n#cim-vision .adv__item p{ color:var(--muted); font-size:.95rem; }\n\n\/* =========================================================\n   SIMULATEUR DE ROI\n   ========================================================= *\/\n#cim-vision .roi{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);\n  box-shadow:var(--shadow); overflow:hidden; display:grid; }\n#cim-vision .roi__form{ padding:clamp(26px,4vw,40px); }\n#cim-vision .roi__field{ margin-bottom:20px; }\n#cim-vision .roi__field label{ display:block; font-weight:700; color:var(--navy); margin-bottom:8px; font-size:.96rem; }\n#cim-vision .roi__input{ position:relative; }\n#cim-vision .roi__input input{ width:100%; font:inherit; font-size:1.05rem; padding:14px 16px 14px 40px;\n  border:2px solid var(--line); border-radius:var(--radius); color:var(--ink); background:#fff; transition:border-color .2s ease; }\n#cim-vision .roi__input input:focus{ outline:none; border-color:var(--accent); }\n#cim-vision .roi__input::before{ content:\"\u20ac\"; position:absolute; left:15px; top:50%; transform:translateY(-50%); color:var(--muted); font-weight:700; }\n#cim-vision .roi__btn{ width:100%; justify-content:center; margin-top:6px; }\n#cim-vision .roi__note{ margin-top:16px; font-size:.82rem; color:var(--muted); }\n#cim-vision .roi__result{ background:var(--navy); color:#fff; padding:clamp(26px,4vw,40px); display:flex; flex-direction:column; justify-content:center; }\n#cim-vision .roi__result .eyebrow{ color:var(--teal-lt); }\n#cim-vision .roi__result .eyebrow::before{ background:var(--teal-lt); }\n#cim-vision .roi__big{ font-size:clamp(2.2rem,1.4rem + 3vw,3.4rem); font-weight:800; color:#fff; letter-spacing:-.02em; line-height:1; margin:6px 0; font-variant-numeric:tabular-nums; }\n#cim-vision .roi__big small{ font-size:1rem; font-weight:600; color:var(--teal-lt); letter-spacing:0; }\n#cim-vision .roi__sub{ color:#B8CADB; font-size:.95rem; }\n#cim-vision .roi__rows{ margin-top:22px; padding-top:20px; border-top:1px solid rgba(255,255,255,.16); display:grid; gap:12px; }\n#cim-vision .roi__row{ display:flex; justify-content:space-between; align-items:baseline; gap:16px; font-size:.94rem; color:#C6D6E6; }\n#cim-vision .roi__row b{ color:#fff; font-variant-numeric:tabular-nums; font-size:1.05rem; }\n#cim-vision .roi__placeholder{ color:#8FB0CC; font-size:.95rem; }\n\n\/* =========================================================\n   DEEP CAPTURE\n   ========================================================= *\/\n#cim-vision .deep__head{ display:flex; align-items:center; justify-content:space-between; gap:18px 32px; flex-wrap:wrap; margin-bottom:clamp(24px,4vw,40px); }\n#cim-vision .deep__head .sec-head{ margin-bottom:0; }\n#cim-vision .deep__logo{ width:min(240px, 54%); height:auto; flex:none; }\n#cim-vision .deep__intro{ max-width:80ch; }\n#cim-vision .deep__intro p{ color:var(--muted); font-size:1.04rem; }\n#cim-vision .deep__intro strong{ color:var(--navy); }\n#cim-vision .deep__grid{ display:grid; gap:16px; margin-top:clamp(30px,4vw,44px); }\n#cim-vision .deep__card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:26px 24px; }\n#cim-vision .deep__card .ic{ width:50px; height:50px; border-radius:var(--radius); display:grid; place-items:center; background:var(--navy); color:var(--teal-lt); font-size:1.3rem; margin-bottom:16px; }\n#cim-vision .deep__card h3{ font-size:1.04rem; margin-bottom:8px; text-transform:none; }\n#cim-vision .deep__card p{ color:var(--muted); font-size:.93rem; }\n#cim-vision .deep__cta{ margin-top:clamp(30px,4vw,40px); }\n\n\/* =========================================================\n   R\u00c9ALISATIONS (5 cas)\n   ========================================================= *\/\n#cim-vision .work{ display:grid; gap:20px; }\n#cim-vision .work__card{ display:block; background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden;\n  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; color:inherit; }\n#cim-vision .work__card:hover{ transform:translateY(-5px); box-shadow:var(--shadow); border-color:transparent; text-decoration:none; }\n#cim-vision .work__media{ position:relative; overflow:hidden; aspect-ratio:16\/9; background:#0b0b0b; }\n#cim-vision .work__media img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }\n#cim-vision .work__card:hover .work__media img{ transform:scale(1.05); }\n#cim-vision .work__sector{ position:absolute; top:14px; left:14px; background:rgba(7,43,75,.92); color:#fff;\n  font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:7px 12px; border-radius:var(--radius); }\n#cim-vision .work__body{ padding:22px 22px 24px; display:flex; align-items:center; justify-content:space-between; gap:12px; }\n#cim-vision .work__body h3{ font-size:1.08rem; }\n#cim-vision .work__body i{ color:var(--accent); flex:none; transition:transform .2s ease; }\n#cim-vision .work__card:hover .work__body i{ transform:translateX(4px); }\n#cim-vision .work__closing{ margin-top:clamp(40px,6vw,64px); position:relative; overflow:hidden;\n  border-radius:var(--radius-lg); isolation:isolate; }\n#cim-vision .work__closing__bg{ position:absolute; inset:0; z-index:-2;\n  width:100%; height:100%; object-fit:cover; object-position:center 30%; }\n#cim-vision .work__closing::before{ content:\"\"; position:absolute; inset:0; z-index:-1;\n  background:linear-gradient(105deg,\n    rgba(10,58,100,.93) 0%,\n    rgba(10,58,100,.82) 45%,\n    rgba(11,144,158,.68) 100%); }\n#cim-vision .work__closing__inner{ padding:clamp(40px,6vw,72px) clamp(28px,5vw,56px); }\n#cim-vision .work__closing h3{ font-size:clamp(1.4rem,1.1rem + 1.2vw,1.9rem); color:#fff; margin-bottom:18px; }\n#cim-vision .work__closing p{ color:rgba(255,255,255,.82); font-size:1.02rem; max-width:68ch; }\n#cim-vision .work__closing p + p{ margin-top:14px; }\n#cim-vision .work__closing .btn{ margin-top:28px; }\n#cim-vision .work__closing .btn--primary{ background:#fff; color:var(--navy); }\n#cim-vision .work__closing .btn--primary:hover{ background:var(--teal-soft); }\n\n\/* =========================================================\n   BLOG (3 articles)\n   ========================================================= *\/\n#cim-vision .posts{ display:grid; gap:20px; }\n#cim-vision .post{ display:block; background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; color:inherit;\n  transition:transform .2s ease, box-shadow .2s ease; }\n#cim-vision .post:hover{ transform:translateY(-4px); box-shadow:var(--shadow); text-decoration:none; }\n#cim-vision .post__media{ aspect-ratio:16\/9; overflow:hidden; background:var(--gray); }\n#cim-vision .post__media img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }\n#cim-vision .post:hover .post__media img{ transform:scale(1.04); }\n#cim-vision .post__body{ padding:22px 22px 26px; }\n#cim-vision .post__body h3{ font-size:1.08rem; margin-bottom:10px; color:var(--navy); }\n#cim-vision .post__body p{ color:var(--muted); font-size:.92rem; }\n#cim-vision .post__more{ display:inline-flex; align-items:center; gap:8px; margin-top:14px; color:var(--blue); font-weight:700; font-size:.9rem; }\n\n\/* =========================================================\n   FAQ (accord\u00e9on \u2014 fonctionne aussi sans JS via <details>)\n   ========================================================= *\/\n#cim-vision .faq{ max-width:880px; margin-inline:auto; display:grid; gap:12px; }\n#cim-vision .faq__item{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; }\n#cim-vision .faq__item[open]{ border-color:var(--accent); box-shadow:var(--shadow-sm); }\n#cim-vision .faq__q{ list-style:none; cursor:pointer; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px;\n  font-weight:700; color:var(--navy); font-size:1.05rem; }\n#cim-vision .faq__q::-webkit-details-marker{ display:none; }\n#cim-vision .faq__q i{ flex:none; color:var(--accent); transition:transform .25s ease; }\n#cim-vision .faq__item[open] .faq__q i{ transform:rotate(45deg); }\n#cim-vision .faq__a{ padding:0 24px 24px; color:var(--muted); font-size:.98rem; }\n\n\/* =========================================================\n   CTA FINAL\n   ========================================================= *\/\n#cim-vision .cta-final{ background:#fff; color:var(--ink); position:relative; overflow:hidden; isolation:isolate; }\n#cim-vision .cta-final__inner{ display:grid; gap:26px; text-align:center; justify-items:center; }\n#cim-vision .cta-final h2{ color:var(--navy); font-size:clamp(1.7rem,1.2rem + 2.2vw,2.5rem); }\n#cim-vision .cta-final p{ color:var(--muted); font-size:clamp(1.05rem,1rem + .5vw,1.28rem); max-width:60ch; }\n#cim-vision .cta-final__actions{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }\n#cim-vision .cta-final .phone{ color:var(--navy); font-weight:700; display:inline-flex; align-items:center; gap:10px; }\n#cim-vision .cta-final .phone i{ color:var(--accent); }\n\n\/* =========================================================\n   ANIMATIONS (progressive enhancement \u2014 visible sans JS)\n   ========================================================= *\/\n@media (prefers-reduced-motion: no-preference){\n  #cim-vision.has-anim .reveal{ transform:translateY(20px);\n    transition:transform .6s cubic-bezier(.22,1,.36,1); }\n  #cim-vision.has-anim .reveal.in{ transform:none; }\n}\n\n\/* =========================================================\n   RESPONSIVE (mobile-first)\n   ========================================================= *\/\n@media (min-width:640px){\n  #cim-vision .flow{ grid-template-columns:repeat(3,1fr); }\n  #cim-vision .cards{ grid-template-columns:repeat(2,1fr); }\n  #cim-vision .adv{ grid-template-columns:repeat(3,1fr); }\n  #cim-vision .work{ grid-template-columns:repeat(2,1fr); }\n  #cim-vision .posts{ grid-template-columns:repeat(2,1fr); }\n  #cim-vision .deep__grid{ grid-template-columns:repeat(2,1fr); }\n  #cim-vision .roi{ grid-template-columns:1fr 1fr; }\n}\n@media (min-width:900px){\n  #cim-vision .cards--4{ grid-template-columns:repeat(4,1fr); }\n  #cim-vision .cards--3{ grid-template-columns:repeat(3,1fr); }\n  #cim-vision .types__grid{ grid-template-columns:1.05fr .95fr; }\n  #cim-vision .work{ grid-template-columns:repeat(3,1fr); }\n  #cim-vision .work__card--wide{ grid-column:span 1; }\n  #cim-vision .posts{ grid-template-columns:repeat(3,1fr); }\n  #cim-vision .deep__grid{ grid-template-columns:repeat(5,1fr); }\n  #cim-vision .deep__card h3{ min-height:2.4em; }\n}\n\n\/* =========================================================\n   MOTIF NEURONAL ANIM\u00c9 (canvas \u2014 fonds marine)\n   ========================================================= *\/\n#cim-vision .has-neural{ position:relative; overflow:hidden; }\n#cim-vision .has-neural > .container{ position:relative; z-index:1; }\n#cim-vision .net{ position:absolute; inset:0; z-index:0; pointer-events:none; }\n#cim-vision .net svg{ display:block; width:100%; height:100%; overflow:visible; }\n@media (prefers-reduced-motion: no-preference){\n  #cim-vision .has-neural.net-live .ln{ animation:netLine 4.2s ease-in-out infinite; }\n  #cim-vision .has-neural.net-live .nd{ transform-box:fill-box; transform-origin:center; animation:netNode 4.6s ease-in-out infinite; }\n  #cim-vision .has-neural.net-live .hl{ transform-box:fill-box; transform-origin:center; animation:netHalo 5.4s ease-in-out infinite; }\n}\n@keyframes netLine{ 0%,100%{ stroke-opacity:.45 } 50%{ stroke-opacity:1 } }\n@keyframes netNode{ 0%,100%{ transform:scale(1) } 50%{ transform:scale(1.16) } }\n@keyframes netHalo{ 0%,100%{ transform:scale(1); fill-opacity:.65 } 50%{ transform:scale(1.32); fill-opacity:1 } }\n\n\/* =========================================================\n   CARROUSEL (r\u00e9alisations)\n   ========================================================= *\/\n#cim-vision .carousel{ position:relative; }\n#cim-vision .carousel__track{ display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory;\n  scroll-behavior:smooth; padding:4px 2px 10px; scrollbar-width:none; -ms-overflow-style:none; }\n#cim-vision .carousel__track::-webkit-scrollbar{ display:none; }\n#cim-vision .carousel__track > .work__card{ flex:0 0 84%; scroll-snap-align:center; }\n#cim-vision .carousel__nav{ position:absolute; top:30%; transform:translateY(-50%); z-index:3;\n  width:48px; height:48px; border-radius:50%; border:1px solid var(--line); background:#fff; color:var(--navy);\n  display:grid; place-items:center; cursor:pointer; box-shadow:var(--shadow);\n  transition:background .2s ease, color .2s ease, opacity .2s ease; }\n#cim-vision .carousel__nav:hover{ background:var(--accent); color:#fff; }\n#cim-vision .carousel__nav[disabled]{ opacity:.32; cursor:default; }\n#cim-vision .carousel__nav--prev{ left:-8px; }\n#cim-vision .carousel__nav--next{ right:-8px; }\n#cim-vision .carousel__dots{ display:flex; justify-content:center; gap:9px; margin-top:24px; }\n#cim-vision .carousel__dot{ width:9px; height:9px; border-radius:50%; border:0; background:var(--line);\n  cursor:pointer; padding:0; transition:background .2s ease, transform .2s ease; }\n#cim-vision .carousel__dot.is-active{ background:var(--accent); transform:scale(1.35); }\n\/* cartes du carrousel toujours visibles (annule l'anim d'apparition horizontale) *\/\n#cim-vision.has-anim .carousel__track .reveal{ opacity:1; transform:none; }\n@media (min-width:640px){\n  #cim-vision .carousel__track > .work__card{ flex-basis:46%; scroll-snap-align:start; }\n}\n@media (min-width:900px){\n  #cim-vision .carousel__track > .work__card{ flex-basis:31.3%; }\n  #cim-vision .carousel__nav--prev{ left:-22px; }\n  #cim-vision .carousel__nav--next{ right:-22px; }\n}\n\n<\/style>\n<!-- =====================================================================\n  CIM ATLANTIQUE \u2014 Page pilier \u00ab Vision industrielle \u00bb\n  CONTENU DE PAGE UNIQUEMENT (sans header ni footer).\n  Voir README.md pour les instructions d'int\u00e9gration compl\u00e8tes.\n===================================================================== -->\n\n<div id=\"cim-vision\" dir=\"ltr\">\n\n  <!-- \u2591\u2591 1 \u00b7 HERO \u2591\u2591 -->\n  <section class=\"hero\" data-screen-label=\"Hero\">\n    <div class=\"hero__bg\"><img class=\"lazyload\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271800%27%20height%3D%271200%27%20viewBox%3D%270%200%201800%201200%27%3E%3Crect%20width%3D%271800%27%20height%3D%271200%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.cim-atlantique.com\/wp-content\/uploads\/2026\/06\/vision-systeme.webp\" alt=\"Syst\u00e8me de vision industrielle CIM Atlantique : cam\u00e9ra, \u00e9clairage annulaire et axe de d\u00e9placement sur une ligne de production\" width=\"1800\" height=\"1200\" title=\"\"><\/div>\n    <div class=\"container hero__inner\">\n      <span class=\"eyebrow\">Contr\u00f4le qualit\u00e9 automatis\u00e9 \u00b7 2D & IA<\/span>\n      <h1>Vision industrielle<\/h1>\n      <p class=\"hero__lead\">Des syst\u00e8mes de <strong style=\"color:#fff\">vision industrielle sur mesure<\/strong> pour automatiser le contr\u00f4le qualit\u00e9 de vos lignes de production \u2014 du capteur \u00e0 l'intelligence artificielle, con\u00e7us et int\u00e9gr\u00e9s par CIM Atlantique.<\/p>\n      <div class=\"hero__actions\">\n        <a class=\"btn btn--primary\" href=\"https:\/\/www.cim-atlantique.com\/fr\/devis\/\">Demander votre \u00e9tude <i class=\"fas fa-arrow-right\"><\/i><\/a>\n        <a class=\"btn btn--ghost\" href=\"#realisations\">Voir nos r\u00e9alisations<\/a>\n      <\/div>\n      <ul class=\"reassure\">\n        <li><i class=\"fas fa-cogs\"><\/i> Int\u00e9grateur depuis 1992<\/li>\n        <li><i class=\"fas fa-brain\"><\/i> Deep learning maison<\/li>\n        <li><i class=\"fas fa-ruler-combined\"><\/i> Solutions sur mesure<\/li>\n      <\/ul>\n    <\/div>\n  <\/section>\n\n  <!-- \u2591\u2591 2 \u00b7 QU'EST-CE QUE + COMMENT \u00c7A FONCTIONNE \u2591\u2591 -->\n  <section data-screen-label=\"D\u00e9finition\">\n    <div class=\"container\">\n      <header class=\"sec-head\">\n        <span class=\"eyebrow\"><span class=\"eyebrow__num\">01<\/span> D\u00e9finition<\/span>\n        <h2>Qu'est-ce que la vision industrielle ?<\/h2>\n      <\/header>\n      <p class=\"intro__lead\">La <strong>vision industrielle<\/strong> applique le contr\u00f4le informatique aux domaines de l'industrie de production et de recherche. Elle repose sur une combinaison de mat\u00e9riel et de logiciel, fournissant aux outils de d\u00e9tection des directives op\u00e9rationnelles pr\u00e9cises. \u00c0 l'\u00e8re de l'automatisation moderne, ces technologies sont devenues indispensables pour relever les d\u00e9fis de l'Industrie 4.0. Ces derni\u00e8res sont bas\u00e9es sur l'acquisition et le <strong>traitement d'images<\/strong> pour ex\u00e9cuter leurs fonctions et garantir la r\u00e9ussite de vos processus de fabrication.<\/p>\n      <p class=\"intro__q\">Quelles sont les utilisations de cette solution ? Qu'en est-il de ses composants ? Quels sont les diff\u00e9rents types de ce produit ?<\/p>\n\n      <h3 style=\"margin-top:clamp(36px,5vw,52px); font-size:1.3rem;\">Comment fonctionne un syst\u00e8me de vision industrielle ?<\/h3>\n      <p style=\"margin-top:12px; color:var(--muted); max-width:74ch;\">Un syst\u00e8me de vision industrielle se compose d'une synergie entre des <strong>\u00e9quipements de pointe<\/strong> et des <strong>algorithmes<\/strong>. Ce fonctionnement suit g\u00e9n\u00e9ralement trois \u00e9tapes cl\u00e9s :<\/p>\n      <div class=\"flow\">\n        <div class=\"flow__step reveal\">\n          <span class=\"flow__no\"><\/span>\n          <div class=\"flow__ic\"><i class=\"fas fa-camera\"><\/i><\/div>\n          <h3>Acquisition de l'image<\/h3>\n          <p>Les cam\u00e9ras et capteurs enregistrent visuellement la pi\u00e8ce sous un \u00e9clairage sp\u00e9cifique.<\/p>\n        <\/div>\n        <div class=\"flow__step reveal\">\n          <span class=\"flow__no\"><\/span>\n          <div class=\"flow__ic\"><i class=\"fas fa-microchip\"><\/i><\/div>\n          <h3>Analyse et traitement<\/h3>\n          <p>La vision par ordinateur utilise des algorithmes de traitement d'image pour extraire les caract\u00e9ristiques, mesurer les dimensions ou identifier les anomalies.<\/p>\n        <\/div>\n        <div class=\"flow__step reveal\">\n          <span class=\"flow__no\"><\/span>\n          <div class=\"flow__ic\"><i class=\"fas fa-check-double\"><\/i><\/div>\n          <h3>Prise de d\u00e9cision<\/h3>\n          <p>Le syst\u00e8me compare l'image avec le cahier des charges et valide la pi\u00e8ce ou active un m\u00e9canisme de rejet.<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- \u2591\u2591 3 \u00b7 LES APPLICATIONS \u2591\u2591 -->\n  <section class=\"bg-tint\" data-screen-label=\"Applications\">\n    <div class=\"container\">\n      <header class=\"sec-head\">\n        <span class=\"eyebrow\"><span class=\"eyebrow__num\">02<\/span> Applications<\/span>\n        <h2>Les applications de cet outil<\/h2>\n        <p class=\"sec-head__lead\"><a href=\"https:\/\/www.cim-atlantique.com\/fr\/camera-industrielle\/\">La vision industrielle<\/a> localise l'objet ou v\u00e9rifie la caract\u00e9ristique de la mati\u00e8re premi\u00e8re dans le champ du capteur gr\u00e2ce \u00e0 la reconnaissance g\u00e9om\u00e9trique. Si la localisation \u00e9choue, le syst\u00e8me ne peut ni guider, ni identifier, inspecter, compter ou mesurer l'objet, compromettant ainsi la r\u00e9ussite de l'action.<\/p>\n      <\/header>\n      <div class=\"cards cards--4\">\n        <article class=\"card reveal\">\n          <div class=\"card__ic\"><i class=\"fas fa-crosshairs\"><\/i><\/div>\n          <span class=\"card__kicker\">Application<\/span>\n          <h3>Localisation des pi\u00e8ces<\/h3>\n          <p>La localisation de la mati\u00e8re en environnement de production est complexe, du fait des variations d'apparence. Le syst\u00e8me reconna\u00eet les pi\u00e8ces selon leur forme et leur dimension, malgr\u00e9 ces alt\u00e9rations.<\/p>\n        <\/article>\n        <article class=\"card reveal\">\n          <div class=\"card__ic\"><i class=\"fas fa-location-arrow\"><\/i><\/div>\n          <span class=\"card__kicker\">Application<\/span>\n          <h3>Le guidage<\/h3>\n          <p>La vision industrielle d\u00e9termine la position et l'orientation d'une pi\u00e8ce et valide l'angle pour assurer un assemblage correct. Le guidage spatial, en 2D ou 3D, permet au robot de localiser et d'aligner l'objet.<\/p>\n        <\/article>\n        <article class=\"card reveal\">\n          <div class=\"card__ic\"><i class=\"fas fa-barcode\"><\/i><\/div>\n          <span class=\"card__kicker\">Application<\/span>\n          <h3>Identification<\/h3>\n          <p>Marquage et tra\u00e7abilit\u00e9 gr\u00e2ce \u00e0 l'OCR : codes-barres (1D), Data Matrix (2D), codes DPM et caract\u00e8res imprim\u00e9s. L'OCR lit les caract\u00e8res, l'OCV v\u00e9rifie la qualit\u00e9 d'impression et la conformit\u00e9 des codes.<\/p>\n        <\/article>\n        <article class=\"card reveal\">\n          <div class=\"card__ic\"><i class=\"fas fa-ruler-combined\"><\/i><\/div>\n          <span class=\"card__kicker\">Application<\/span>\n          <h3>La mesure<\/h3>\n          <p>Cette d\u00e9tection mesure la distance entre des points ou emplacements g\u00e9om\u00e9triques sur un objet et v\u00e9rifie la conformit\u00e9 aux sp\u00e9cifications. En cas de non-conformit\u00e9, elle d\u00e9clenche un m\u00e9canisme de rejet.<\/p>\n        <\/article>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- \u2591\u2591 4 \u00b7 MAT\u00c9RIEL ET COMPOSANTS \u2591\u2591 -->\n  <section data-screen-label=\"Mat\u00e9riel\">\n    <div class=\"container\">\n      <header class=\"sec-head\">\n        <span class=\"eyebrow\"><span class=\"eyebrow__num\">03<\/span> Mat\u00e9riel & composants<\/span>\n        <h2>Que retrouve-t-on dans ces syst\u00e8mes ?<\/h2>\n        <p class=\"sec-head__lead\">Ce syst\u00e8me de d\u00e9tection comprend plusieurs \u00e9l\u00e9ments cl\u00e9s, de la mise en lumi\u00e8re de la pi\u00e8ce jusqu'au traitement automatis\u00e9 des donn\u00e9es visuelles.<\/p>\n      <\/header>\n      <div class=\"cards cards--4\">\n        <article class=\"card reveal\">\n          <div class=\"card__ic\"><i class=\"fas fa-lightbulb\"><\/i><\/div>\n          <span class=\"card__kicker\">Composant<\/span>\n          <h3>L'\u00e9clairage<\/h3>\n          <p>L'\u00e9clairage joue un r\u00f4le crucial dans la performance des solutions. Il permet d'obtenir des images en analysant la lumi\u00e8re r\u00e9fl\u00e9chie par un objet, plut\u00f4t que l'objet lui-m\u00eame. La source doit \u00eatre soigneusement positionn\u00e9e pour optimiser la qualit\u00e9 des images captur\u00e9es.<\/p>\n        <\/article>\n        <article class=\"card reveal\">\n          <div class=\"card__ic\"><i class=\"fas fa-dot-circle\"><\/i><\/div>\n          <span class=\"card__kicker\">Composant<\/span>\n          <h3>L'optique<\/h3>\n          <p>L'optique capture l'image et la transmet au capteur de la cam\u00e9ra. La qualit\u00e9 et le prix varient, influen\u00e7ant directement la r\u00e9solution obtenue. On distingue deux types : interchangeables (montures C ou CS) et fixes.<\/p>\n        <\/article>\n        <article class=\"card reveal\">\n          <div class=\"card__ic\"><i class=\"fas fa-camera\"><\/i><\/div>\n          <span class=\"card__kicker\">Composant<\/span>\n          <h3>La cam\u00e9ra<\/h3>\n          <p>La s\u00e9lection repose sur plusieurs crit\u00e8res techniques : la r\u00e9solution en m\u00e9gapixels, la sensibilit\u00e9 de l'image, l'interface de communication (USB 3.0, GigE ou Camera Link) et le type de spectre requis (2D, 3D ou thermique).<\/p>\n        <\/article>\n        <article class=\"card reveal\">\n          <div class=\"card__ic\"><i class=\"fas fa-microchip\"><\/i><\/div>\n          <span class=\"card__kicker\">Composant<\/span>\n          <h3>Le traitement<\/h3>\n          <p>Extraire des informations sources \u00e0 partir d'une image num\u00e9rique, incluant l'OCR. Via un PC externe ou un logiciel autonome : acquisition, localisation des caract\u00e9ristiques, mesures, comparaison aux sp\u00e9cifications et prise de d\u00e9cision.<\/p>\n        <\/article>\n      <\/div>\n\n      <a class=\"videocard reveal\" href=\"https:\/\/www.youtube.com\/watch?v=7QZRujysWnc&amp;list=PLcs-PiXmtlnMFjbdEormBKPHP3R7XQJOs\" target=\"_blank\" rel=\"noopener\" aria-label=\"Voir notre playlist vid\u00e9o sur la vision industrielle\">\n        <img class=\"lazyload\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271280%27%20height%3D%27720%27%20viewBox%3D%270%200%201280%20720%27%3E%3Crect%20width%3D%271280%27%20height%3D%27720%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.cim-atlantique.com\/wp-content\/uploads\/2026\/06\/video-vignette.webp\" alt=\"Aper\u00e7us de contr\u00f4les par vision industrielle CIM Atlantique : inspection de surfaces, comptage, d\u00e9tection de d\u00e9fauts\" width=\"1280\" height=\"720\" loading=\"lazy\" title=\"\">\n        <span class=\"videocard__play\"><span><i class=\"fas fa-play\"><\/i><\/span><\/span>\n        <span class=\"videocard__label\"><i class=\"fab fa-youtube\"><\/i> Nos syst\u00e8mes de vision en action \u2014 voir la playlist<\/span>\n      <\/a>\n    <\/div>\n  <\/section>\n\n  <!-- \u2591\u2591 5 \u00b7 LES DIFF\u00c9RENTS TYPES \u2591\u2591 -->\n  <section class=\"bg-gray\" data-screen-label=\"Types\">\n    <div class=\"container\">\n      <header class=\"sec-head\">\n        <span class=\"eyebrow\"><span class=\"eyebrow__num\">04<\/span> Typologie<\/span>\n        <h2>Les diff\u00e9rents types de cet outil<\/h2>\n        <p class=\"sec-head__lead\">Il existe trois principales cat\u00e9gories de solutions de d\u00e9tection.<\/p>\n      <\/header>\n      <div class=\"types__grid\">\n        <div class=\"types__list reveal\">\n          <div class=\"types__item\">\n            <h3>Les process de vision 1D<\/h3>\n            <p>L'outil 1D analyse un signal num\u00e9rique ligne par ligne, plut\u00f4t que l'image compl\u00e8te. Il compare, par exemple, les diff\u00e9rences entre dix lignes r\u00e9cemment acquises et un groupe ant\u00e9rieur. Cette m\u00e9thode identifie la pr\u00e9sence et classe les d\u00e9fauts sur la mati\u00e8re trait\u00e9e en continu : papier, m\u00e9tal, plastique et rouleaux non tiss\u00e9s.<\/p>\n          <\/div>\n          <div class=\"types__item\">\n            <h3>Les syst\u00e8mes matriciels et lin\u00e9aires<\/h3>\n            <p>Les syst\u00e8mes lin\u00e9aires pr\u00e9sentent des avantages pour l'inspection de produits cylindriques. Au lieu d'utiliser plusieurs cam\u00e9ras matricielles, la rotation de la pi\u00e8ce devant un seul capteur lin\u00e9aire permet d'acqu\u00e9rir toute la surface. Ils s'adaptent aussi aux espaces restreints.<\/p>\n          <\/div>\n          <div class=\"types__item\">\n            <h3>Les process de vision 3D<\/h3>\n            <p>Les contr\u00f4les 3D utilisent plusieurs cam\u00e9ras ou capteurs laser de d\u00e9placement. En guidage robotique, l'outil 3D informe le robot de l'orientation exacte du produit. Des capteurs plac\u00e9s \u00e0 diff\u00e9rents points permettent une triangulation pr\u00e9cise pour localiser les objets dans un espace 3D.<\/p>\n          <\/div>\n        <\/div>\n        <div class=\"types__media reveal\">\n          <figure>\n            <img class=\"lazyload\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271400%27%20height%3D%27933%27%20viewBox%3D%270%200%201400%20933%27%3E%3Crect%20width%3D%271400%27%20height%3D%27933%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.cim-atlantique.com\/wp-content\/uploads\/2026\/06\/vision-camera.webp\" alt=\"Cam\u00e9ra de vision industrielle \u00e9quip\u00e9e d&#039;un objectif \u00e0 monture C, utilis\u00e9e pour les syst\u00e8mes matriciels et lin\u00e9aires\" width=\"1400\" height=\"933\" loading=\"lazy\" title=\"\">\n            <figcaption><i class=\"fas fa-camera\"><\/i> Cam\u00e9ra de vision industrielle & optique \u00e0 monture C<\/figcaption>\n          <\/figure>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- \u2591\u2591 6 \u00b7 LES AVANTAGES (navy) \u2591\u2591 -->\n  <section class=\"has-neural\" data-screen-label=\"Avantages\">\n    <div class=\"net\" data-net=\"wide\" aria-hidden=\"true\"><\/div>\n    <div class=\"container\">\n      <header class=\"sec-head\">\n        <span class=\"eyebrow\"><span class=\"eyebrow__num\">05<\/span> B\u00e9n\u00e9fices<\/span>\n        <h2>Les avantages de la vision industrielle pour votre production<\/h2>\n        <p class=\"sec-head__lead\">L'int\u00e9gration d'un syst\u00e8me de d\u00e9tection visuelle transforme la cha\u00eene de fabrication en apportant des b\u00e9n\u00e9fices mesurables.<\/p>\n      <\/header>\n      <div class=\"adv\">\n        <div class=\"adv__item reveal\">\n          <div class=\"adv__ic\"><i class=\"fas fa-award\"><\/i><\/div>\n          <h3>Optimisation de la qualit\u00e9<\/h3>\n          <p>Le syst\u00e8me permet d'automatiser les processus, garantissant une qualit\u00e9 constante et de tr\u00e8s hautes performances.<\/p>\n        <\/div>\n        <div class=\"adv__item reveal\">\n          <div class=\"adv__ic\"><i class=\"fas fa-shield-alt\"><\/i><\/div>\n          <h3>S\u00e9curisation de la production<\/h3>\n          <p>En d\u00e9tectant les moindres anomalies, la machine active imm\u00e9diatement les m\u00e9canismes de rejet, assurant ainsi le \u00ab z\u00e9ro d\u00e9faut \u00bb.<\/p>\n        <\/div>\n        <div class=\"adv__item reveal\">\n          <div class=\"adv__ic\"><i class=\"fas fa-sliders-h\"><\/i><\/div>\n          <h3>Flexibilit\u00e9 op\u00e9rationnelle<\/h3>\n          <p>Associ\u00e9e \u00e0 des logiciels performants, la vision apporte une flexibilit\u00e9 accrue, un gain de temps significatif et une adaptation rapide aux variations de production.<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- \u2591\u2591 7 \u00b7 SIMULATEUR DE ROI \u2591\u2591 -->\n  <section data-screen-label=\"Simulateur ROI\">\n    <div class=\"container\">\n      <header class=\"sec-head\">\n        <span class=\"eyebrow\"><span class=\"eyebrow__num\">06<\/span> Estimation<\/span>\n        <h2>Simulateur de ROI \u2014 Vision industrielle<\/h2>\n        <p class=\"sec-head__lead\">Estimez vos \u00e9conomies en automatisant votre contr\u00f4le qualit\u00e9.<\/p>\n      <\/header>\n      <div class=\"roi\">\n        <form class=\"roi__form\" id=\"roiForm\" novalidate>\n          <div class=\"roi__field\">\n            <label for=\"roiRebuts\">Co\u00fbt actuel des rebuts \/ mois (\u20ac)<\/label>\n            <div class=\"roi__input\"><input type=\"number\" id=\"roiRebuts\" min=\"0\" step=\"100\" inputmode=\"numeric\" placeholder=\"ex. 8 000\"><\/div>\n          <\/div>\n          <div class=\"roi__field\">\n            <label for=\"roiInspection\">Co\u00fbt de l'inspection manuelle \/ mois (\u20ac)<\/label>\n            <div class=\"roi__input\"><input type=\"number\" id=\"roiInspection\" min=\"0\" step=\"100\" inputmode=\"numeric\" placeholder=\"ex. 5 000\"><\/div>\n          <\/div>\n          <button class=\"btn btn--primary roi__btn\" type=\"submit\">Calculer mon \u00e9conomie estim\u00e9e <i class=\"fas fa-calculator\"><\/i><\/button>\n          <p class=\"roi__note\">Estimation indicative : ~70 % de r\u00e9duction des rebuts et ~80 % du co\u00fbt d'inspection manuelle apr\u00e8s automatisation. Une \u00e9tude personnalis\u00e9e affine ces chiffres selon votre ligne.<\/p>\n        <\/form>\n        <div class=\"roi__result\" id=\"roiResult\" aria-live=\"polite\">\n          <span class=\"eyebrow\">\u00c9conomie estim\u00e9e<\/span>\n          <p class=\"roi__placeholder\" id=\"roiPlaceholder\">Renseignez vos co\u00fbts mensuels puis lancez le calcul pour d\u00e9couvrir votre \u00e9conomie potentielle.<\/p>\n          <div id=\"roiOut\" hidden>\n            <div class=\"roi__big\" id=\"roiYear\">\u2014 <small>\/ an<\/small><\/div>\n            <p class=\"roi__sub\" id=\"roiMonth\">\u2014 \u20ac \u00e9conomis\u00e9s par mois<\/p>\n            <div class=\"roi__rows\">\n              <div class=\"roi__row\"><span>R\u00e9duction des rebuts<\/span><b id=\"roiR1\">\u2014<\/b><\/div>\n              <div class=\"roi__row\"><span>Gain sur l'inspection manuelle<\/span><b id=\"roiR2\">\u2014<\/b><\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- \u2591\u2591 8 \u00b7 DEEP CAPTURE \u2591\u2591 -->\n  <section class=\"bg-gray\" data-screen-label=\"Deep Capture\">\n    <div class=\"container\">\n      <div class=\"deep__head\">\n        <header class=\"sec-head\">\n          <span class=\"eyebrow\"><span class=\"eyebrow__num\">07<\/span> Logiciel IA<\/span>\n          <h2>Deep Capture, logiciel de vision industrielle<\/h2>\n        <\/header>\n        <img decoding=\"async\" class=\"lazyload deep__logo\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27842%27%20height%3D%27204%27%20viewBox%3D%270%200%20842%20204%27%3E%3Crect%20width%3D%27842%27%20height%3D%27204%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.cim-atlantique.com\/wp-content\/uploads\/2026\/06\/deep-capture-logo.png\" alt=\"Deep Capture \u2014 logiciel de vision industrielle par deep learning de CIM Atlantique\" width=\"842\" height=\"204\" title=\"\">\n      <\/div>\n      <div class=\"deep__intro\">\n        <p>L'\u00e9volution des technologies d'inspection permet aujourd'hui de distinguer deux approches distinctes. D'une part, la vision industrielle par <strong>ordinateur<\/strong> (classique) s'appuie sur des r\u00e8gles math\u00e9matiques, g\u00e9om\u00e9triques et des param\u00e8tres \u00ab si-alors \u00bb strictement pr\u00e9d\u00e9finis par des ing\u00e9nieurs pour analyser des donn\u00e9es visuelles. D'autre part, la vision industrielle par <strong>IA<\/strong> (via le deep learning) s'affranchit de ces r\u00e8gles fixes : le syst\u00e8me apprend et s'adapte de mani\u00e8re autonome aux diff\u00e9rents sc\u00e9narios \u00e0 partir d'une base de donn\u00e9es d'exemples.<\/p>\n      <\/div>\n      <div class=\"deep__grid\">\n        <article class=\"deep__card reveal\">\n          <div class=\"ic\"><i class=\"fas fa-brain\"><\/i><\/div>\n          <h3>Intelligence artificielle<\/h3>\n          <p>Le deep learning, via Deep Capture, \u0153uvre pour une d\u00e9tection g\u00e9n\u00e9ralis\u00e9e gr\u00e2ce \u00e0 un apprentissage supervis\u00e9, reconnaissant divers mod\u00e8les et anomalies pour optimiser l'inspection automatis\u00e9e.<\/p>\n        <\/article>\n        <article class=\"deep__card reveal\">\n          <div class=\"ic\"><i class=\"fas fa-bolt\"><\/i><\/div>\n          <h3>Analyse en temps r\u00e9el<\/h3>\n          <p>Une d\u00e9tection en quasi-temps r\u00e9el, avec une performance d'environ 60 images par seconde (fps) par cam\u00e9ra \u2014 id\u00e9ale pour les environnements exigeant pr\u00e9cision et r\u00e9activit\u00e9.<\/p>\n        <\/article>\n        <article class=\"deep__card reveal\">\n          <div class=\"ic\"><i class=\"fas fa-bullseye\"><\/i><\/div>\n          <h3>Meilleure performance<\/h3>\n          <p>Le meilleur \u00e9quilibre entre taux de vrais positifs (d\u00e9fauts \u00e0 identifier) et taux de faux positifs (rejets erron\u00e9s) : une inspection pr\u00e9cise qui maximise la productivit\u00e9.<\/p>\n        <\/article>\n        <article class=\"deep__card reveal\">\n          <div class=\"ic\"><i class=\"fas fa-magic\"><\/i><\/div>\n          <h3>Simple et intuitif<\/h3>\n          <p>Les temps de changement de campagne, m\u00e9caniques ou logiciels, sont quasi inexistants : flexibilit\u00e9 accrue, gain de temps et adaptation rapide sans interruption prolong\u00e9e.<\/p>\n        <\/article>\n        <article class=\"deep__card reveal\">\n          <div class=\"ic\"><i class=\"fas fa-key\"><\/i><\/div>\n          <h3>Cl\u00e9s en main<\/h3>\n          <p>Nos ing\u00e9nieurs prennent en charge toutes les phases, de la conception \u00e0 la mise en service, pour une int\u00e9gration optimale, performante et adapt\u00e9e \u00e0 vos besoins.<\/p>\n        <\/article>\n      <\/div>\n      <div class=\"deep__cta\">\n        <a class=\"btn btn--primary\" href=\"https:\/\/www.cim-atlantique.com\/fr\/deep-capture\/\">En savoir plus sur Deep Capture <i class=\"fas fa-arrow-right\"><\/i><\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <style>\n\/* =====================================================================\n   CIM ATLANTIQUE \u2014 Section \u00ab Nos r\u00e9alisations en vision industrielle \u00bb\n   \u00c0 AJOUTER dans la page pilier Vision (sous le contenu existant #cim-vision).\n   \u00b7 Styles 100% scop\u00e9s sous #cim-vision-cas \u2192 z\u00e9ro conflit.\n   \u00b7 Police h\u00e9rit\u00e9e du th\u00e8me. Raccord visuel au design #cim-vision.\n   \u00b7 Ic\u00f4nes Font Awesome 5 (d\u00e9j\u00e0 charg\u00e9 par Avada).\n   ===================================================================== *\/\n\n#cim-vision-cas{\n  --navy:#0A3A64; --navy-d:#072B4B; --rouge:#7F1919;\n  --teal:#0B909E; --blue:#009EDB; --teal-d:#0A7B87;\n  --gray:#F4F4F4; --white:#fff; --ink:#14242F; --muted:#54677A;\n  --line:#E3E9EE; --teal-lt:#5BD0DE; --teal-soft:#EAF4F5;\n  --accent:var(--teal); --radius:4px; --radius-lg:8px;\n  --maxw:1180px; --pad-x:clamp(20px,5vw,48px); --sec-y:clamp(54px,8vw,100px);\n  --shadow-sm:0 1px 2px rgba(10,58,100,.06);\n  --shadow:0 2px 6px rgba(10,58,100,.06), 0 14px 38px rgba(10,58,100,.08);\n  direction:ltr; font-family:inherit; color:var(--ink); line-height:1.7; font-size:17px;\n  -webkit-font-smoothing:antialiased;\n}\n#cim-vision-cas *{ box-sizing:border-box; }\n#cim-vision-cas img{ max-width:100%; display:block; }\n#cim-vision-cas a{ color:var(--blue); text-decoration:none; }\n#cim-vision-cas a:hover{ text-decoration:underline; }\n#cim-vision-cas h2,#cim-vision-cas h3,#cim-vision-cas h4{ color:var(--navy); line-height:1.14;\n  margin:0; font-weight:800; letter-spacing:-.01em; text-wrap:balance; }\n#cim-vision-cas p{ margin:0; }\n#cim-vision-cas strong{ color:var(--ink); font-weight:700; }\n#cim-vision-cas ul{ margin:0; padding:0; list-style:none; }\n\n#cim-vision-cas.sec{ padding-block:var(--sec-y); background:var(--gray); }\n#cim-vision-cas .container{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--pad-x); }\n\n\/* ---- En-t\u00eate ---- *\/\n#cim-vision-cas .eyebrow{ display:inline-flex; align-items:center; gap:10px; font-size:.78rem;\n  font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-bottom:16px; }\n#cim-vision-cas .eyebrow::before{ content:\"\"; width:26px; height:2px; background:var(--rouge); display:inline-block; }\n#cim-vision-cas .sec-head{ max-width:780px; margin-bottom:clamp(34px,5vw,52px); }\n#cim-vision-cas .sec-head h2{ font-size:clamp(1.6rem,1rem + 2.4vw,2.4rem); }\n#cim-vision-cas .sec-head__lead{ margin-top:18px; font-size:clamp(1.02rem,.95rem + .5vw,1.18rem);\n  color:var(--muted); max-width:68ch; }\n#cim-vision-cas .sec-head__lead a{ color:var(--blue); font-weight:600; }\n\n\/* ---- Boutons ---- *\/\n#cim-vision-cas .btn{ display:inline-flex; align-items:center; gap:.6em; font-family:inherit; font-weight:700;\n  font-size:1.02rem; padding:16px 28px; border-radius:var(--radius); border:2px solid transparent; cursor:pointer;\n  text-decoration:none; line-height:1; transition:transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease; }\n#cim-vision-cas .btn:hover{ text-decoration:none; }\n#cim-vision-cas .btn i{ font-size:.92em; transition:transform .2s ease; }\n#cim-vision-cas .btn:hover i{ transform:translateX(3px); }\n#cim-vision-cas .btn--primary{ background:var(--accent); color:#fff; }\n#cim-vision-cas .btn--primary:hover{ background:var(--teal-d); transform:translateY(-1px); }\n#cim-vision-cas .btn--ghost{ background:transparent; color:var(--navy); border-color:var(--line); }\n#cim-vision-cas .btn--ghost:hover{ border-color:var(--accent); color:var(--accent); }\n\n\/* =========================================================\n   CARTE DE CAS (vue compacte + d\u00e9tail d\u00e9pliable)\n   ========================================================= *\/\n#cim-vision-cas .cases{ display:grid; gap:clamp(22px,3vw,32px); }\n#cim-vision-cas .case{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);\n  overflow:hidden; box-shadow:var(--shadow-sm); }\n\n#cim-vision-cas .case__grid{ display:grid; grid-template-columns:1fr; gap:0; align-items:stretch; }\n#cim-vision-cas .case__media{ position:relative; grid-column:1; grid-row:1; min-height:240px; background:#0b1622; }\n#cim-vision-cas .case__media img{ width:100%; height:100%; object-fit:cover; aspect-ratio:16\/9; }\n#cim-vision-cas .case__sector{ position:absolute; top:16px; left:16px; display:inline-flex; align-items:center; gap:8px;\n  background:rgba(7,43,75,.92); color:#fff; font-size:.74rem; font-weight:700; letter-spacing:.06em;\n  text-transform:uppercase; padding:8px 13px; border-radius:var(--radius); }\n#cim-vision-cas .case__sector i{ color:var(--teal-lt); }\n#cim-vision-cas .case__num{ position:absolute; right:16px; bottom:16px; font-size:2.6rem; font-weight:800;\n  color:rgba(255,255,255,.9); letter-spacing:-.03em; line-height:1; text-shadow:0 2px 12px rgba(0,0,0,.4); }\n\n#cim-vision-cas .case__body{ grid-column:1; grid-row:2; padding:clamp(24px,3vw,38px); display:flex; flex-direction:column; }\n#cim-vision-cas .case__kicker{ font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;\n  color:var(--rouge); margin-bottom:10px; }\n#cim-vision-cas .case h3{ font-size:clamp(1.2rem,1rem + .7vw,1.5rem); margin-bottom:12px; }\n#cim-vision-cas .case__hook{ color:var(--muted); font-size:1.02rem; }\n#cim-vision-cas .case__hook strong{ color:var(--navy); }\n\n\/* ---- Badges chiffres-cl\u00e9s ---- *\/\n#cim-vision-cas .kpis{ display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }\n#cim-vision-cas .kpi{ display:inline-flex; flex-direction:column; gap:2px; padding:12px 16px;\n  background:var(--teal-soft); border:1px solid #d4e9ea; border-radius:var(--radius); min-width:96px; }\n#cim-vision-cas .kpi b{ font-size:1.3rem; font-weight:800; color:var(--teal-d); letter-spacing:-.02em;\n  line-height:1; font-variant-numeric:tabular-nums; }\n#cim-vision-cas .kpi span{ font-size:.76rem; color:var(--muted); font-weight:600; }\n#cim-vision-cas .kpi--red{ background:#FaeDED; border-color:#f0d4d4; }\n#cim-vision-cas .kpi--red b{ color:var(--rouge); }\n\n\/* ---- Tags techno ---- *\/\n#cim-vision-cas .case__tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }\n#cim-vision-cas .case__tags span{ font-size:.8rem; font-weight:600; color:var(--navy); background:var(--gray);\n  border:1px solid var(--line); padding:6px 12px; border-radius:100px; }\n\n\/* ---- Actions ---- *\/\n#cim-vision-cas .case__actions{ margin-top:auto; padding-top:22px; display:flex; flex-wrap:wrap; gap:12px; align-items:center; }\n\n\/* ---- D\u00e9tail d\u00e9pliable (accord\u00e9on natif) ---- *\/\n#cim-vision-cas .case__more{ border-top:1px solid var(--line); grid-column:1 \/ -1; grid-row:3; }\n#cim-vision-cas .reveal-btn{ display:inline-flex; align-items:center; gap:10px; font-family:inherit; font-weight:700;\n  font-size:.96rem; color:var(--teal-d); background:none; border:0; cursor:pointer; padding:0; }\n#cim-vision-cas .reveal-btn i{ transition:transform .25s ease; font-size:.85em; }\n#cim-vision-cas details[open] .reveal-btn i{ transform:rotate(180deg); }\n#cim-vision-cas .reveal-btn::-webkit-details-marker{ display:none; }\n#cim-vision-cas summary{ list-style:none; }\n#cim-vision-cas summary::-webkit-details-marker{ display:none; }\n#cim-vision-cas .detail{ padding:8px clamp(24px,3vw,38px) clamp(28px,3vw,38px); }\n#cim-vision-cas .detail__cols{ display:grid; gap:24px 40px; }\n#cim-vision-cas .detail h4{ font-size:1.02rem; color:var(--navy); margin:0 0 10px;\n  display:flex; align-items:center; gap:10px; }\n#cim-vision-cas .detail h4 i{ color:var(--accent); font-size:.92em; }\n#cim-vision-cas .detail p{ color:var(--muted); font-size:.96rem; }\n#cim-vision-cas .detail p + p{ margin-top:10px; }\n#cim-vision-cas .detail__block + .detail__block{ margin-top:20px; }\n#cim-vision-cas .tlist{ display:grid; gap:9px; margin-top:10px; }\n#cim-vision-cas .tlist li{ position:relative; padding-left:28px; color:var(--muted); font-size:.94rem; }\n#cim-vision-cas .tlist li::before{ content:\"\\f00c\"; font-family:\"Font Awesome 5 Free\"; font-weight:900;\n  position:absolute; left:0; top:1px; color:var(--accent); font-size:.82rem; }\n#cim-vision-cas .detail__defects{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }\n#cim-vision-cas .detail__defects span{ font-size:.82rem; font-weight:600; color:var(--rouge); background:#FaeDED;\n  border:1px solid #f0d4d4; padding:6px 12px; border-radius:100px; }\n\n\/* ---- Vid\u00e9o fa\u00e7ade (click-to-load YouTube) ---- *\/\n#cim-vision-cas .ytwrap{ margin-top:22px; }\n#cim-vision-cas .ytwrap h4{ font-size:1.02rem; color:var(--navy); margin:0 0 12px; display:flex; align-items:center; gap:10px; }\n#cim-vision-cas .ytwrap h4 i{ color:var(--rouge); font-size:.92em; }\n#cim-vision-cas .ytfacade{ position:relative; aspect-ratio:16\/9; border-radius:var(--radius-lg); overflow:hidden;\n  background:#0b1622; border:1px solid var(--line); }\n#cim-vision-cas .ytfacade__btn{ position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; cursor:pointer;\n  background:none; display:block; }\n#cim-vision-cas .ytfacade__thumb{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease, opacity .25s ease; }\n#cim-vision-cas .ytfacade__btn:hover .ytfacade__thumb{ transform:scale(1.04); opacity:.92; }\n#cim-vision-cas .ytfacade__play{ position:absolute; inset:0; display:grid; place-items:center; pointer-events:none; }\n#cim-vision-cas .ytfacade__play i{ width:74px; height:74px; border-radius:50%; background:rgba(127,25,25,.92);\n  color:#fff; display:grid; place-items:center; font-size:1.5rem; box-shadow:0 10px 30px rgba(0,0,0,.4);\n  transition:transform .2s ease, background .2s ease; padding-left:4px; }\n#cim-vision-cas .ytfacade__btn:hover .ytfacade__play i{ transform:scale(1.08); background:var(--rouge); }\n#cim-vision-cas .ytfacade iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }\n\n\/* ---- CTA final de section ---- *\/\n#cim-vision-cas .cas-cta{ margin-top:clamp(36px,5vw,54px); background:var(--navy); color:#fff;\n  border-radius:var(--radius-lg); padding:clamp(30px,4vw,48px); text-align:center; position:relative; overflow:hidden; isolation:isolate; }\n#cim-vision-cas .cas-cta::before{ content:\"\"; position:absolute; inset:0; z-index:-1; opacity:.6;\n  background:radial-gradient(600px 320px at 85% 0%, rgba(11,144,158,.4), transparent 62%); }\n#cim-vision-cas .cas-cta h3{ color:#fff; font-size:clamp(1.4rem,1.1rem + 1.3vw,2rem); }\n#cim-vision-cas .cas-cta p{ color:#C6D6E6; margin-top:14px; font-size:1.06rem; max-width:56ch; margin-inline:auto; }\n#cim-vision-cas .cas-cta__actions{ margin-top:26px; display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }\n#cim-vision-cas .cas-cta .btn--primary{ background:#fff; color:var(--navy); }\n#cim-vision-cas .cas-cta .btn--primary:hover{ background:var(--teal-soft); }\n#cim-vision-cas .cas-cta .phone{ color:#fff; font-weight:700; display:inline-flex; align-items:center; gap:10px;\n  border:2px solid rgba(255,255,255,.35); padding:16px 28px; border-radius:var(--radius); }\n#cim-vision-cas .cas-cta .phone:hover{ border-color:#fff; text-decoration:none; }\n#cim-vision-cas .cas-cta .phone i{ color:var(--teal-lt); }\n\n\/* ---- Animations (visible sans JS) ---- *\/\n@media (prefers-reduced-motion: no-preference){\n  #cim-vision-cas.has-anim .reveal{ transform:translateY(20px); transition:transform .6s cubic-bezier(.22,1,.36,1); }\n  #cim-vision-cas.has-anim .reveal.in{ transform:none; }\n}\n\n\/* =========================================================\n   RESPONSIVE\n   ========================================================= *\/\n@media (min-width:760px){\n  #cim-vision-cas .detail__cols{ grid-template-columns:1fr 1fr; }\n}\n@media (min-width:900px){\n  #cim-vision-cas .case__grid{ grid-template-columns:minmax(0,420px) 1fr; }\n  #cim-vision-cas .case__media{ min-height:100%; }\n  #cim-vision-cas .case__media img{ height:100%; aspect-ratio:auto; }\n  \/* desktop : image + texte c\u00f4te \u00e0 c\u00f4te (texte en colonne 2, rang\u00e9e 1) *\/\n  #cim-vision-cas .case__body{ grid-column:2; grid-row:1; }\n  #cim-vision-cas .case__more{ grid-row:2; }\n  \/* alternance : image \u00e0 droite pour les cas pairs *\/\n  #cim-vision-cas .case--rev .case__media{ grid-column:2; }\n  #cim-vision-cas .case--rev .case__body{ grid-column:1; }\n}\n\n<\/style>\n<!-- =====================================================================\n  CIM ATLANTIQUE \u2014 Section \u00ab Nos r\u00e9alisations en vision industrielle \u00bb\n  \u00c0 AJOUTER au corps de la page pilier Vision (sous le contenu #cim-vision).\n  \u00b7 \u00c0 coller dans un \u00e9l\u00e9ment Avada \u00ab Code Block \u00bb, dans la page pilier.\n  \u00b7 Charger AUSSI : cim-vision-cas.css (Custom CSS) + cim-vision-cas.js (footer).\n  \u00b7 Wrapper <section id=\"cim-vision-cas\" dir=\"ltr\"> = port\u00e9e des styles.\n  \u00b7 D\u00e9marre en H2 (le H1 du pilier existe d\u00e9j\u00e0). Aucun header\/footer\/H1.\n  \u00b7 VID\u00c9OS : fa\u00e7ade click-to-load (vignette YouTube + bouton play). Au clic,\n    une iframe youtube-nocookie\/embed\/<ID>?autoplay=1 remplace la vignette.\n    4 vid\u00e9os (cas 2 \u00e0 5) ; le cas bois n'a PAS de vid\u00e9o (r\u00e9sum\u00e9 + lien).\n  \u00b7 IMAGES : remplacer les src \"assets\/\u2026\" par les URL m\u00e9diath\u00e8que WP.\n  \u00b7 D\u00e9tail technique = <details> natif (texte pr\u00e9sent dans le HTML \u2192 index\u00e9).\n  \u00b7 Ic\u00f4nes : Font Awesome 5 (fas fa-\u2026). CTA -> \/fr\/devis\/.\n===================================================================== -->\n\n<section id=\"cim-vision-cas\" class=\"sec\" dir=\"ltr\" data-screen-label=\"R\u00e9alisations Vision\">\n  <div class=\"container\">\n\n    <header class=\"sec-head\">\n      <span class=\"eyebrow\">R\u00e9alisations \u00b7 preuve terrain<\/span>\n      <h2>Nos r\u00e9alisations en vision industrielle<\/h2>\n      <p class=\"sec-head__lead\">Des projets concrets, des r\u00e9sultats mesur\u00e9s. Voici comment notre logiciel <a href=\"https:\/\/www.cim-atlantique.com\/fr\/deep-capture\/\">Deep Capture<\/a> r\u00e9sout, par le deep learning, des probl\u00e8mes de contr\u00f4le qualit\u00e9 et de guidage robot que la vision conventionnelle ne sait pas traiter.<\/p>\n    <\/header>\n\n    <div class=\"cases\">\n\n      <!-- \u2591\u2591 CAS 1 \u00b7 BOIS (r\u00e9sum\u00e9 + lien vers la page d\u00e9di\u00e9e) \u2591\u2591 -->\n      <article class=\"case reveal\">\n        <div class=\"case__grid\">\n          <div class=\"case__media\">\n            <span class=\"case__sector\"><i class=\"fas fa-tree\"><\/i> Menuiserie \/ bois<\/span>\n            <img class=\"lazyload\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271280%27%20height%3D%27720%27%20viewBox%3D%270%200%201280%20720%27%3E%3Crect%20width%3D%271280%27%20height%3D%27720%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.cim-atlantique.com\/wp-content\/uploads\/2026\/06\/cas-bois-1.webp\" alt=\"D\u00e9tection de d\u00e9fauts sur planche de bois par vision industrielle \u2014 CIM Atlantique\" width=\"1280\" height=\"720\" loading=\"lazy\" title=\"\">\n            <span class=\"case__num\">01<\/span>\n          <\/div>\n          <div class=\"case__body\">\n            <span class=\"case__kicker\">Contr\u00f4le qualit\u00e9 \u00b7 deep learning<\/span>\n            <h3>D\u00e9tection de d\u00e9fauts sur planches de bois<\/h3>\n            <p class=\"case__hook\">En sortie de raboteuse, Deep Capture qualifie chaque planche en temps r\u00e9el et distingue les n\u0153uds \u00ab moustaches \u00bb des n\u0153uds classiques \u2014 une nuance hors de port\u00e9e de la vision \u00e0 r\u00e8gles. <strong>La localisation du d\u00e9faut est prise en compte<\/strong> pour \u00e9viter les d\u00e9classements abusifs.<\/p>\n            <div class=\"kpis\">\n              <div class=\"kpi\"><b>95 %<\/b><span>vrais d\u00e9fauts d\u00e9tect\u00e9s<\/span><\/div>\n              <div class=\"kpi kpi--red\"><b>< 3 %<\/b><span>faux positifs<\/span><\/div>\n              <div class=\"kpi\"><b>30 cm\/s<\/b><span>\u00e0 pleine cadence<\/span><\/div>\n            <\/div>\n            <div class=\"case__actions\">\n              <a class=\"btn btn--primary\" href=\"https:\/\/www.cim-atlantique.com\/fr\/systeme-de-detection-de-defauts-sur-des-planches-de-bois\/\">Lire le cas complet <i class=\"fas fa-arrow-right\"><\/i><\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/article>\n\n      <!-- \u2591\u2591 CAS 2 \u00b7 GOBS VERRE \u2591\u2591 -->\n      <article class=\"case case--rev reveal\">\n        <div class=\"case__grid\">\n          <div class=\"case__media\">\n            <span class=\"case__sector\"><i class=\"fas fa-wine-glass\"><\/i> Verrerie<\/span>\n            <img class=\"lazyload\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271280%27%20height%3D%27720%27%20viewBox%3D%270%200%201280%20720%27%3E%3Crect%20width%3D%271280%27%20height%3D%27720%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.cim-atlantique.com\/wp-content\/uploads\/2026\/06\/cas-gobs.webp\" alt=\"D\u00e9tection de gobs en verre sur convoyeur, guidage robot \u2014 CIM Atlantique\" width=\"1280\" height=\"720\" loading=\"lazy\" title=\"\">\n            <span class=\"case__num\">02<\/span>\n          <\/div>\n          <div class=\"case__body\">\n            <span class=\"case__kicker\">Guidage robot \u00b7 machine learning<\/span>\n            <h3>D\u00e9tection de positions de gobs en verre (dynamique)<\/h3>\n            <p class=\"case__hook\">Localiser en temps r\u00e9el la position (X, Y) de gobs en verre sur un convoyeur m\u00e9tallique \u2014 <strong>mati\u00e8re peu contrast\u00e9e, sans \u00e9clairage d\u00e9di\u00e9<\/strong> \u2014 pour guider un robot de pr\u00e9hension l\u00e0 o\u00f9 la vision classique \u00e9chouait.<\/p>\n            <div class=\"kpis\">\n              <div class=\"kpi\"><b>X, Y<\/b><span>tracking dynamique<\/span><\/div>\n              <div class=\"kpi\"><b>0<\/b><span>\u00e9clairage d\u00e9di\u00e9<\/span><\/div>\n              <div class=\"kpi\"><b>+ vite<\/b><span>prises ordonnanc\u00e9es<\/span><\/div>\n            <\/div>\n            <div class=\"case__tags\"><span>Apprentissage supervis\u00e9<\/span><span>Tracking convoyeur<\/span><span>Guidage robot<\/span><\/div>\n          <\/div>\n          <details class=\"case__more\">\n            <summary class=\"detail__toggle\" style=\"padding:18px clamp(24px,3vw,38px)\"><span class=\"reveal-btn\">Voir le d\u00e9tail technique <i class=\"fas fa-chevron-down\"><\/i><\/span><\/summary>\n            <div class=\"detail\">\n              <div class=\"detail__cols\">\n                <div>\n                  <div class=\"detail__block\">\n                    <h4><i class=\"fas fa-bullseye\"><\/i> Contexte & probl\u00e9matique<\/h4>\n                    <p>Dans l'industrie du verre, la manipulation automatis\u00e9e en sortie de production exige de localiser pr\u00e9cis\u00e9ment chaque pi\u00e8ce avant de la confier \u00e0 un robot. L'objectif : d\u00e9terminer en temps r\u00e9el la position (X, Y) de chaque gob en mouvement, puis transmettre ces coordonn\u00e9es \u00e0 un robot charg\u00e9 de les saisir.<\/p>\n                  <\/div>\n                  <div class=\"detail__block\">\n                    <h4><i class=\"fas fa-exclamation-triangle\"><\/i> Le d\u00e9fi technique<\/h4>\n                    <p>Le verre est une mati\u00e8re tr\u00e8s peu contrast\u00e9e et de faible opacit\u00e9. D'un gob \u00e0 l'autre, les reflets font varier l'aspect per\u00e7u : deux pi\u00e8ces identiques peuvent appara\u00eetre tr\u00e8s diff\u00e9remment. Le convoyeur m\u00e9tallique n'offrait quasiment aucun contraste, et il \u00e9tait impossible d'int\u00e9grer un \u00e9clairage d\u00e9di\u00e9 \u2014 alors que l'\u00e9clairage est habituellement le premier levier d'un syst\u00e8me de vision. Une approche classique par seuillage ou r\u00e8gles g\u00e9om\u00e9triques \u00e9tait vou\u00e9e \u00e0 l'\u00e9chec.<\/p>\n                  <\/div>\n                <\/div>\n                <div>\n                  <div class=\"detail__block\">\n                    <h4><i class=\"fas fa-brain\"><\/i> La solution CIM<\/h4>\n                    <p>Un outil de vision reposant sur l'apprentissage supervis\u00e9 (machine learning) : le mod\u00e8le a \u00e9t\u00e9 entra\u00een\u00e9 directement sur les gobs en verre pour les localiser de fa\u00e7on fiable, ind\u00e9pendamment des reflets et du manque de contraste. Au-del\u00e0 de la d\u00e9tection, c'est un syst\u00e8me de tracking \u2014 les positions des gobs en mouvement sont renvoy\u00e9es en continu au robot. Un <strong>ordonnancement des prises<\/strong> priorise les positions \u00e0 saisir pour r\u00e9duire les d\u00e9placements inutiles et acc\u00e9l\u00e9rer la cadence.<\/p>\n                  <\/div>\n                  <div class=\"detail__block\">\n                    <h4><i class=\"fas fa-cogs\"><\/i> Technologies mises en \u0153uvre<\/h4>\n                    <ul class=\"tlist\">\n                      <li>Vision par apprentissage supervis\u00e9, entra\u00een\u00e9e sur les gobs en verre<\/li>\n                      <li>D\u00e9tection de position (X, Y) en dynamique sur convoyeur (tracking)<\/li>\n                      <li>Guidage d'un robot de pr\u00e9hension \u00e0 partir des positions fournies<\/li>\n                      <li>Ordonnancement des prises pour optimiser les trajectoires du robot<\/li>\n                      <li>Fonctionnement sans \u00e9clairage d\u00e9di\u00e9, sur fond m\u00e9tallique tr\u00e8s peu contrast\u00e9<\/li>\n                    <\/ul>\n                  <\/div>\n                <\/div>\n              <\/div>\n              <div class=\"ytwrap\">\n                <h4><i class=\"fas fa-play-circle\"><\/i> Voir la vid\u00e9o en action<\/h4>\n                <div class=\"ytfacade\" data-yt=\"7Wohbgxgo28\">\n                  <button class=\"ytfacade__btn\" type=\"button\" aria-label=\"Lire la vid\u00e9o : d\u00e9tection de positions de gobs en verre\">\n                    <img decoding=\"async\" class=\"lazyload ytfacade__thumb\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27480%27%20height%3D%27360%27%20viewBox%3D%270%200%20480%20360%27%3E%3Crect%20width%3D%27480%27%20height%3D%27360%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/i.ytimg.com\/vi\/7Wohbgxgo28\/hqdefault.jpg\" alt=\"\" width=\"480\" height=\"360\" loading=\"lazy\" title=\"\">\n                    <span class=\"ytfacade__play\"><i class=\"fas fa-play\"><\/i><\/span>\n                  <\/button>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/details>\n        <\/div>\n      <\/article>\n\n      <!-- \u2591\u2591 CAS 3 \u00b7 POULETS \u2591\u2591 -->\n      <article class=\"case reveal\">\n        <div class=\"case__grid\">\n          <div class=\"case__media\">\n            <span class=\"case__sector\"><i class=\"fas fa-drumstick-bite\"><\/i> Agroalimentaire<\/span>\n            <img class=\"lazyload\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271280%27%20height%3D%27720%27%20viewBox%3D%270%200%201280%20720%27%3E%3Crect%20width%3D%271280%27%20height%3D%27720%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.cim-atlantique.com\/wp-content\/uploads\/2026\/06\/cas-poulets.webp\" alt=\"Contr\u00f4le qualit\u00e9 de manchons de poulet par vision deep learning \u2014 CIM Atlantique\" width=\"1280\" height=\"720\" loading=\"lazy\" title=\"\">\n            <span class=\"case__num\">03<\/span>\n          <\/div>\n          <div class=\"case__body\">\n            <span class=\"case__kicker\">Contr\u00f4le qualit\u00e9 \u00b7 deep learning \u00b7 GPU<\/span>\n            <h3>Contr\u00f4le d'ailes & manchons de poulets<\/h3>\n            <p class=\"case__hook\">Sur convoyeur, en sortie de d\u00e9coupe et de retrousseuse a\u00e9riens, Deep Capture classe chaque manchon en temps r\u00e9el et signale les d\u00e9fauts \u2014 <strong>jusqu'\u00e0 la simple nuance de rouge d'une h\u00e9morragie<\/strong> \u2014 sans ralentir la ligne.<\/p>\n            <div class=\"kpis\">\n              <div class=\"kpi\"><b>93 %<\/b><span>vrais d\u00e9fauts d\u00e9tect\u00e9s<\/span><\/div>\n              <div class=\"kpi kpi--red\"><b>< 4 %<\/b><span>faux positifs<\/span><\/div>\n              <div class=\"kpi\"><b>~5 000<\/b><span>pi\u00e8ces \/ heure<\/span><\/div>\n            <\/div>\n            <div class=\"case__tags\"><span>Classification multi-d\u00e9fauts<\/span><span>Inf\u00e9rence GPU streaming<\/span><span>Temps r\u00e9el<\/span><\/div>\n          <\/div>\n          <details class=\"case__more\">\n            <summary class=\"detail__toggle\" style=\"padding:18px clamp(24px,3vw,38px)\"><span class=\"reveal-btn\">Voir le d\u00e9tail technique <i class=\"fas fa-chevron-down\"><\/i><\/span><\/summary>\n            <div class=\"detail\">\n              <div class=\"detail__cols\">\n                <div>\n                  <div class=\"detail__block\">\n                    <h4><i class=\"fas fa-bullseye\"><\/i> Contexte & probl\u00e9matique<\/h4>\n                    <p>En transformation de volaille, le contr\u00f4le qualit\u00e9 avant conditionnement est un enjeu de qualit\u00e9 produit et de s\u00e9curit\u00e9 alimentaire. Les cadences sont \u00e9lev\u00e9es et le contr\u00f4le visuel humain atteint vite ses limites en r\u00e9gularit\u00e9. Le syst\u00e8me devait d\u00e9tecter et classer plusieurs familles de d\u00e9fauts \u2014 h\u00e9matomes et h\u00e9morragies, marque de fouet, plumes, os cass\u00e9s ou apparents, manchons mal retrouss\u00e9s \u2014 en temps r\u00e9el, \u00e0 ~5 000 pi\u00e8ces\/heure, sur un produit biologique irr\u00e9gulier.<\/p>\n                  <\/div>\n                  <div class=\"detail__block\">\n                    <h4><i class=\"fas fa-exclamation-triangle\"><\/i> Le d\u00e9fi technique<\/h4>\n                    <p>D'abord la variabilit\u00e9 g\u00e9om\u00e9trique : deux manchons ne se ressemblent jamais tout \u00e0 fait. Ensuite, la finesse de certains d\u00e9fauts \u2014 la diff\u00e9rence entre une pi\u00e8ce saine et une h\u00e9morragie se joue parfois sur une simple nuance de rouge. D'o\u00f9 une approche par classification en deep learning, entra\u00een\u00e9e sur les diff\u00e9rentes classes de d\u00e9fauts, qui a n\u00e9cessit\u00e9 une importante campagne de prise de donn\u00e9es annot\u00e9es.<\/p>\n                    <div class=\"detail__defects\">\n                      <span>H\u00e9matomes & h\u00e9morragies<\/span><span>Marque de fouet<\/span><span>Plume(s)<\/span><span>Os cass\u00e9s \/ apparents<\/span><span>Mal retrouss\u00e9s<\/span>\n                    <\/div>\n                  <\/div>\n                <\/div>\n                <div>\n                  <div class=\"detail__block\">\n                    <h4><i class=\"fas fa-microchip\"><\/i> Le d\u00e9fi mat\u00e9riel<\/h4>\n                    <p>Les mod\u00e8les de deep learning \u00e9taient volumineux et devaient produire leurs r\u00e9sultats en acquisition continue, quasi en streaming, pour suivre la cadence. Concilier des mod\u00e8les lourds avec une inf\u00e9rence en temps r\u00e9el imposait une architecture mat\u00e9rielle puissante, articul\u00e9e autour d'un <strong>GPU<\/strong> dimensionn\u00e9 en cons\u00e9quence, et un travail pouss\u00e9 d'optimisation des mod\u00e8les pour maximiser le d\u00e9bit sans d\u00e9grader la pr\u00e9cision.<\/p>\n                  <\/div>\n                  <div class=\"detail__block\">\n                    <h4><i class=\"fas fa-cogs\"><\/i> Technologies mises en \u0153uvre<\/h4>\n                    <ul class=\"tlist\">\n                      <li>Classification multi-d\u00e9fauts en deep learning (Deep Capture)<\/li>\n                      <li>Acquisition en temps r\u00e9el \u00e0 ~5 000 pi\u00e8ces\/heure<\/li>\n                      <li>D\u00e9tection de d\u00e9fauts fins, jusqu'\u00e0 la nuance de couleur<\/li>\n                      <li>Int\u00e9gration sur convoyeur, en sortie de d\u00e9coupe et de retrousseuse a\u00e9riens<\/li>\n                      <li>Architecture GPU et mod\u00e8les optimis\u00e9s pour l'inf\u00e9rence en flux continu<\/li>\n                    <\/ul>\n                    <p style=\"margin-top:12px\"><a href=\"https:\/\/www.cim-atlantique.com\/fr\/systeme-de-controle-dailes-et-manchons-de-poulets\/\">Voir la vid\u00e9o en action <i class=\"fas fa-play-circle\"><\/i><\/a><\/p>\n                  <\/div>\n                <\/div>\n              <\/div>\n              <div class=\"ytwrap\">\n                <h4><i class=\"fas fa-play-circle\"><\/i> Voir la vid\u00e9o en action<\/h4>\n                <div class=\"ytfacade\" data-yt=\"WSqxoUQyNJ4\">\n                  <button class=\"ytfacade__btn\" type=\"button\" aria-label=\"Lire la vid\u00e9o : contr\u00f4le d'ailes et manchons de poulets\">\n                    <img decoding=\"async\" class=\"lazyload ytfacade__thumb\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27480%27%20height%3D%27360%27%20viewBox%3D%270%200%20480%20360%27%3E%3Crect%20width%3D%27480%27%20height%3D%27360%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/i.ytimg.com\/vi\/WSqxoUQyNJ4\/hqdefault.jpg\" alt=\"\" width=\"480\" height=\"360\" loading=\"lazy\" title=\"\">\n                    <span class=\"ytfacade__play\"><i class=\"fas fa-play\"><\/i><\/span>\n                  <\/button>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/details>\n        <\/div>\n      <\/article>\n\n      <!-- \u2591\u2591 CAS 4 \u00b7 FLACONS \u2591\u2591 -->\n      <article class=\"case case--rev reveal\">\n        <div class=\"case__grid\">\n          <div class=\"case__media\">\n            <span class=\"case__sector\"><i class=\"fas fa-spray-can\"><\/i> Parfumerie<\/span>\n            <img class=\"lazyload\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271280%27%20height%3D%27720%27%20viewBox%3D%270%200%201280%20720%27%3E%3Crect%20width%3D%271280%27%20height%3D%27720%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.cim-atlantique.com\/wp-content\/uploads\/2026\/06\/cas-flacons.webp\" alt=\"D\u00e9tection de position de flacons de parfum pour robot de d\u00e9packing \u2014 CIM Atlantique\" width=\"1280\" height=\"720\" loading=\"lazy\" title=\"\">\n            <span class=\"case__num\">04<\/span>\n          <\/div>\n          <div class=\"case__body\">\n            <span class=\"case__kicker\">Guidage robot \u00b7 d\u00e9packing<\/span>\n            <h3>D\u00e9tection de positions de flacons (dynamique)<\/h3>\n            <p class=\"case__hook\">Pour un d\u00e9packeur robotis\u00e9, Deep Capture d\u00e9tecte position et orientation (X, Y, \u03b8) de flacons en verre malgr\u00e9 reflets, ombres de croisillons et \u00e9clairage non homog\u00e8ne \u2014 l\u00e0 o\u00f9 les outils de blob du march\u00e9 \u00e9chouaient.<\/p>\n            <div class=\"kpis\">\n              <div class=\"kpi\"><b>~50<\/b><span>r\u00e9f\u00e9rences g\u00e9r\u00e9es<\/span><\/div>\n              <div class=\"kpi\"><b>1<\/b><span>seule config cam\u00e9ras\/\u00e9clairage<\/span><\/div>\n              <div class=\"kpi\"><b>X,Y,\u03b8<\/b><span>position + orientation<\/span><\/div>\n            <\/div>\n            <div class=\"case__tags\"><span>Apprentissage supervis\u00e9<\/span><span>Tracking<\/span><span>Croisillons & barquettes<\/span><\/div>\n          <\/div>\n          <details class=\"case__more\">\n            <summary class=\"detail__toggle\" style=\"padding:18px clamp(24px,3vw,38px)\"><span class=\"reveal-btn\">Voir le d\u00e9tail technique <i class=\"fas fa-chevron-down\"><\/i><\/span><\/summary>\n            <div class=\"detail\">\n              <div class=\"detail__cols\">\n                <div>\n                  <div class=\"detail__block\">\n                    <h4><i class=\"fas fa-bullseye\"><\/i> Contexte & probl\u00e9matique<\/h4>\n                    <p>En parfumerie-cosm\u00e9tique, l'alimentation des lignes de remplissage commence souvent par un d\u00e9packing : extraire les flacons de leurs contenants pour les d\u00e9poser sur les convoyeurs. CIM a d\u00e9velopp\u00e9 le logiciel de vision d'un d\u00e9packeur robotis\u00e9 : des robots saisissent les flacons dans des cartons \u00e0 croisillons ou des barquettes thermoform\u00e9es. L'enjeu : localiser en temps r\u00e9el chaque flacon (X, Y, \u03b8) pour transmettre les coordonn\u00e9es de prise au robot, avec une cinquantaine de r\u00e9f\u00e9rences et des changements de format ultra-rapides.<\/p>\n                  <\/div>\n                  <div class=\"detail__block\">\n                    <h4><i class=\"fas fa-exclamation-triangle\"><\/i> Le d\u00e9fi technique<\/h4>\n                    <p>Les solutions classiques bas\u00e9es sur la d\u00e9tection de formes (blob) et des r\u00e8gles fixes \u00e9chouaient. Le verre g\u00e9n\u00e8re de forts reflets variables d'un flacon \u00e0 l'autre ; l'\u00e9clairage n'\u00e9tait pas homog\u00e8ne ; les cartons \u00e0 croisillons projetaient des ombres. Pour un m\u00eame flacon, l'image pouvait varier fortement \u2014 il fallait une approche capable d'apprendre la variabilit\u00e9 d'aspect plut\u00f4t que de s'appuyer sur des r\u00e8gles fig\u00e9es.<\/p>\n                  <\/div>\n                <\/div>\n                <div>\n                  <div class=\"detail__block\">\n                    <h4><i class=\"fas fa-brain\"><\/i> La solution CIM<\/h4>\n                    <p>Un outil reposant sur l'apprentissage supervis\u00e9 via Deep Capture. Entra\u00een\u00e9 sur les flacons, le syst\u00e8me les localise malgr\u00e9 reflets, ombres et variations d'\u00e9clairage. Atout majeur : <strong>une seule configuration d'\u00e9clairages et de cam\u00e9ras suffit \u00e0 g\u00e9rer l'ensemble des r\u00e9f\u00e9rences<\/strong>, et la cr\u00e9ation de nouveaux formats reste simple et rapide. Le syst\u00e8me fonctionne en tracking et un algorithme ordonne les positions de prise avant de les transmettre au robot.<\/p>\n                  <\/div>\n                  <div class=\"detail__block\">\n                    <h4><i class=\"fas fa-cogs\"><\/i> Technologies mises en \u0153uvre<\/h4>\n                    <ul class=\"tlist\">\n                      <li>Vision par apprentissage supervis\u00e9 (Deep Capture), entra\u00een\u00e9e sur les flacons<\/li>\n                      <li>D\u00e9tection de position et orientation (X, Y, \u03b8) en dynamique (tracking)<\/li>\n                      <li>Gestion d'une cinquantaine de r\u00e9f\u00e9rences avec une seule configuration<\/li>\n                      <li>Contenants vari\u00e9s : cartons \u00e0 croisillons et barquettes thermoform\u00e9es<\/li>\n                      <li>Ordonnancement des positions de prise transmises au robot de d\u00e9packing<\/li>\n                    <\/ul>\n                  <\/div>\n                <\/div>\n              <\/div>\n              <div class=\"ytwrap\">\n                <h4><i class=\"fas fa-play-circle\"><\/i> Voir la vid\u00e9o en action<\/h4>\n                <div class=\"ytfacade\" data-yt=\"Ibqwsu28wCg\">\n                  <button class=\"ytfacade__btn\" type=\"button\" aria-label=\"Lire la vid\u00e9o : d\u00e9tection de positions de flacons\">\n                    <img decoding=\"async\" class=\"lazyload ytfacade__thumb\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27480%27%20height%3D%27360%27%20viewBox%3D%270%200%20480%20360%27%3E%3Crect%20width%3D%27480%27%20height%3D%27360%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/i.ytimg.com\/vi\/Ibqwsu28wCg\/hqdefault.jpg\" alt=\"\" width=\"480\" height=\"360\" loading=\"lazy\" title=\"\">\n                    <span class=\"ytfacade__play\"><i class=\"fas fa-play\"><\/i><\/span>\n                  <\/button>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/details>\n        <\/div>\n      <\/article>\n\n      <!-- \u2591\u2591 CAS 5 \u00b7 FOND DE FLACONS \u2591\u2591 -->\n      <article class=\"case reveal\">\n        <div class=\"case__grid\">\n          <div class=\"case__media\">\n            <span class=\"case__sector\"><i class=\"fas fa-search\"><\/i> Verrerie parfum \/ spiritueux<\/span>\n            <img class=\"lazyload\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271280%27%20height%3D%27720%27%20viewBox%3D%270%200%201280%20720%27%3E%3Crect%20width%3D%271280%27%20height%3D%27720%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.cim-atlantique.com\/wp-content\/uploads\/2026\/06\/cas-fond-flacons-1.webp\" alt=\"Inspection d&#039;incis\u00e9s sur fonds de flacons en verre \u2014 CIM Atlantique\" width=\"1280\" height=\"720\" loading=\"lazy\" title=\"\">\n            <span class=\"case__num\">05<\/span>\n          <\/div>\n          <div class=\"case__body\">\n            <span class=\"case__kicker\">Inspection 360\u00b0 \u00b7 deep learning<\/span>\n            <h3>Inspection d'incis\u00e9s sur fonds de flacons<\/h3>\n            <p class=\"case__hook\">Une machine d\u00e9di\u00e9e d\u00e9tecte incis\u00e9s, bouillons et calcin\u00e9s sur toute la p\u00e9riph\u00e9rie du fond \u2014 <strong>des d\u00e9fauts qu'aucun syst\u00e8me conventionnel ne savait d\u00e9tecter<\/strong> \u2014 en ma\u00eetrisant les faux positifs par filtrage temporel.<\/p>\n            <div class=\"kpis\">\n              <div class=\"kpi\"><b>8<\/b><span>cam\u00e9ras \u00e0 25 i\/s<\/span><\/div>\n              <div class=\"kpi\"><b>~120<\/b><span>flacons \/ minute<\/span><\/div>\n              <div class=\"kpi\"><b>100aines<\/b><span>de r\u00e9f\u00e9rences<\/span><\/div>\n            <\/div>\n            <div class=\"case__tags\"><span>Filtrage temporel<\/span><span>Auto-calibration<\/span><span>\u00c9jection par soufflage<\/span><\/div>\n          <\/div>\n          <details class=\"case__more\">\n            <summary class=\"detail__toggle\" style=\"padding:18px clamp(24px,3vw,38px)\"><span class=\"reveal-btn\">Voir le d\u00e9tail technique <i class=\"fas fa-chevron-down\"><\/i><\/span><\/summary>\n            <div class=\"detail\">\n              <div class=\"detail__cols\">\n                <div>\n                  <div class=\"detail__block\">\n                    <h4><i class=\"fas fa-bullseye\"><\/i> Contexte & probl\u00e9matique<\/h4>\n                    <p>Dans la verrerie pour parfumerie et spiritueux, le moindre d\u00e9faut sur un flacon est r\u00e9dhibitoire, et le fond est une zone particuli\u00e8rement critique et difficile \u00e0 inspecter. Il fallait d\u00e9tecter des incis\u00e9s (petites cassures dans le fond), des bouillons et des calcin\u00e9s, sur toute la p\u00e9riph\u00e9rie. Trois contraintes : une cadence de ~120 flacons\/minute, des centaines de r\u00e9f\u00e9rences avec changements de campagne fr\u00e9quents, et surtout le fait qu'un incis\u00e9 n'est visible que sous un angle bien particulier.<\/p>\n                  <\/div>\n                  <div class=\"detail__block\">\n                    <h4><i class=\"fas fa-exclamation-triangle\"><\/i> Le d\u00e9fi technique<\/h4>\n                    <p>Comme l'incis\u00e9 n'appara\u00eet que sous un certain angle, il fallait une acquisition temps r\u00e9el couvrant toute la p\u00e9riph\u00e9rie sans angle mort : <strong>8 cam\u00e9ras en flux vid\u00e9o \u00e0 25 i\/s chacune<\/strong>. Le pi\u00e8ge majeur, les faux positifs : sous certains angles, les joints de moule ressemblent \u00e0 s'y m\u00e9prendre \u00e0 des incis\u00e9s. Enfin, g\u00e9rer des centaines de r\u00e9f\u00e9rences imposait un entra\u00eenement sur un tr\u00e8s grand nombre de flacons et un changement de campagne simple et rapide.<\/p>\n                  <\/div>\n                <\/div>\n                <div>\n                  <div class=\"detail__block\">\n                    <h4><i class=\"fas fa-brain\"><\/i> La solution CIM<\/h4>\n                    <p>Une solution de vision par deep learning (Deep Capture), entra\u00een\u00e9e sur un large panel de r\u00e9f\u00e9rences. <strong>Filtrage temporel des faux positifs<\/strong> : un d\u00e9faut n'est valid\u00e9 que s'il appara\u00eet sur un nombre suffisant de frames cons\u00e9cutives \u2014 les vrais incis\u00e9s persistent davantage que les joints de moule, ce qui les discrimine. <strong>Auto-calibration par r\u00e9f\u00e9rence<\/strong> : \u00e0 chaque changement de campagne, le passage d'une trentaine de flacons suffit \u00e0 calibrer les seuils de chaque cam\u00e9ra.<\/p>\n                  <\/div>\n                  <div class=\"detail__block\">\n                    <h4><i class=\"fas fa-cogs\"><\/i> Technologies mises en \u0153uvre<\/h4>\n                    <ul class=\"tlist\">\n                      <li>8 cam\u00e9ras en flux vid\u00e9o, 25 i\/s, couvrant toute la p\u00e9riph\u00e9rie du fond<\/li>\n                      <li>Vision par deep learning Deep Capture, entra\u00een\u00e9e sur des centaines de r\u00e9f\u00e9rences<\/li>\n                      <li>Filtrage temporel : validation sur N frames cons\u00e9cutives (incis\u00e9 \/ joint de moule)<\/li>\n                      <li>Auto-calibration des seuils par r\u00e9f\u00e9rence (~30 flacons par campagne)<\/li>\n                      <li>Convoyeur \u00e0 coincement r\u00e9glable & \u00e9jection par soufflage<\/li>\n                    <\/ul>\n                  <\/div>\n                <\/div>\n              <\/div>\n              <div class=\"ytwrap\">\n                <h4><i class=\"fas fa-play-circle\"><\/i> Voir la vid\u00e9o en action<\/h4>\n                <div class=\"ytfacade\" data-yt=\"nQ6MCnOeAVE\">\n                  <button class=\"ytfacade__btn\" type=\"button\" aria-label=\"Lire la vid\u00e9o : inspection d'incis\u00e9s sur fonds de flacons\">\n                    <img decoding=\"async\" class=\"lazyload ytfacade__thumb\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27480%27%20height%3D%27360%27%20viewBox%3D%270%200%20480%20360%27%3E%3Crect%20width%3D%27480%27%20height%3D%27360%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/i.ytimg.com\/vi\/nQ6MCnOeAVE\/hqdefault.jpg\" alt=\"\" width=\"480\" height=\"360\" loading=\"lazy\" title=\"\">\n                    <span class=\"ytfacade__play\"><i class=\"fas fa-play\"><\/i><\/span>\n                  <\/button>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/details>\n        <\/div>\n      <\/article>\n\n    <\/div><!-- \/.cases -->\n\n    <!-- \u2591\u2591 CTA final de section \u2591\u2591 -->\n    <div class=\"cas-cta reveal\">\n      <h3>Un projet de contr\u00f4le qualit\u00e9 ou de guidage par vision ?<\/h3>\n      <p>Nos ing\u00e9nieurs \u00e9tudient votre besoin \u2014 m\u00eame sur des contr\u00f4les que la vision conventionnelle ne sait pas traiter \u2014 et vous proposent la solution adapt\u00e9e.<\/p>\n      <div class=\"cas-cta__actions\">\n        <a class=\"btn btn--primary\" href=\"https:\/\/www.cim-atlantique.com\/fr\/devis\/\">Demander votre \u00e9tude <i class=\"fas fa-arrow-right\"><\/i><\/a>\n        <a class=\"phone\" href=\"tel:+33240587296\"><i class=\"fas fa-phone-alt\"><\/i> 02 40 58 72 96<\/a>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/section>\n<script>\n\/* =====================================================================\n   CIM ATLANTIQUE \u2014 Section \u00ab R\u00e9alisations vision \u00bb (#cim-vision-cas)\n   JS minimal : animations d'apparition (facultatives).\n   L'accord\u00e9on \u00ab d\u00e9tail technique \u00bb est natif (<details>) \u2192 fonctionne sans JS.\n   ===================================================================== *\/\n(function () {\n  var root = document.getElementById('cim-vision-cas');\n  if (!root) return;\n\n  if ('IntersectionObserver' in window) {\n    root.classList.add('has-anim');\n    var io = new IntersectionObserver(function (entries) {\n      entries.forEach(function (en) {\n        if (en.isIntersecting) { en.target.classList.add('in'); io.unobserve(en.target); }\n      });\n    }, { threshold: 0.12, rootMargin: '0px 0px -8% 0px' });\n    root.querySelectorAll('.reveal').forEach(function (el) { io.observe(el); });\n  }\n\n  \/* ---------- Vid\u00e9o fa\u00e7ade : remplace la vignette par l'iframe au clic ---------- *\/\n  root.querySelectorAll('.ytfacade').forEach(function (fac) {\n    var btn = fac.querySelector('.ytfacade__btn');\n    if (!btn) return;\n    btn.addEventListener('click', function () {\n      var id = fac.getAttribute('data-yt');\n      if (!id) return;\n      var iframe = document.createElement('iframe');\n      iframe.setAttribute('src', 'https:\/\/www.youtube-nocookie.com\/embed\/' + id + '?autoplay=1&rel=0');\n      iframe.setAttribute('title', btn.getAttribute('aria-label') || 'Vid\u00e9o YouTube');\n      iframe.setAttribute('loading', 'lazy');\n      iframe.setAttribute('allow', 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share');\n      iframe.setAttribute('allowfullscreen', '');\n      fac.innerHTML = '';\n      fac.appendChild(iframe);\n    });\n  });\n})();\n\n<\/script>\n\n\n  <!-- \u2591\u2591 10 \u00b7 BLOG \u2591\u2591 -->\n  <section class=\"bg-tint\" data-screen-label=\"Articles\">\n    <div class=\"container\">\n      <header class=\"sec-head\">\n        <span class=\"eyebrow\"><span class=\"eyebrow__num\">09<\/span> Ressources<\/span>\n        <h2>En savoir plus sur les utilisations de la vision<\/h2>\n      <\/header>\n      <div class=\"posts\">\n        <a class=\"post reveal\" href=\"https:\/\/www.cim-atlantique.com\/fr\/inspection-complexe-en-vision-industrielle\/\">\n          <div class=\"post__media\"><img class=\"lazyload\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271800%27%20height%3D%271200%27%20viewBox%3D%270%200%201800%201200%27%3E%3Crect%20width%3D%271800%27%20height%3D%271200%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.cim-atlantique.com\/wp-content\/uploads\/2026\/06\/vision-systeme.webp\" alt=\"Inspection complexe en vision industrielle\" width=\"1800\" height=\"1200\" loading=\"lazy\" title=\"\"><\/div>\n          <div class=\"post__body\">\n            <h3>Inspection complexe en vision industrielle<\/h3>\n            <p>La vision industrielle face aux contr\u00f4les les plus exigeants : OCR, v\u00e9rification d'assemblages et d\u00e9tection de d\u00e9fauts complexes gr\u00e2ce au deep learning.<\/p>\n            <span class=\"post__more\">Lire l'article <i class=\"fas fa-arrow-right\"><\/i><\/span>\n          <\/div>\n        <\/a>\n        <a class=\"post reveal\" href=\"https:\/\/www.cim-atlantique.com\/fr\/robots-de-controle-par-vision-industrielle\/\">\n          <div class=\"post__media\"><img class=\"lazyload\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271400%27%20height%3D%27933%27%20viewBox%3D%270%200%201400%20933%27%3E%3Crect%20width%3D%271400%27%20height%3D%27933%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.cim-atlantique.com\/wp-content\/uploads\/2026\/06\/vision-camera.webp\" alt=\"Robots de contr\u00f4le par vision industrielle\" width=\"1400\" height=\"933\" loading=\"lazy\" title=\"\"><\/div>\n          <div class=\"post__body\">\n            <h3>Robots de contr\u00f4le par vision industrielle<\/h3>\n            <p>La conception de robots de contr\u00f4le par vision industrielle illustre notre expertise en robotique industrielle et en syst\u00e8mes automatis\u00e9s avanc\u00e9s. Nous repoussons sans cesse les limites de l'innovation.<\/p>\n            <span class=\"post__more\">Lire l'article <i class=\"fas fa-arrow-right\"><\/i><\/span>\n          <\/div>\n        <\/a>\n        <a class=\"post reveal\" href=\"https:\/\/www.cim-atlantique.com\/fr\/controle-par-vision-industrielle\/\">\n          <div class=\"post__media\"><img class=\"lazyload\" decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271280%27%20height%3D%27720%27%20viewBox%3D%270%200%201280%20720%27%3E%3Crect%20width%3D%271280%27%20height%3D%27720%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.cim-atlantique.com\/wp-content\/uploads\/2026\/06\/cas-flacons-position.webp\" alt=\"Les derni\u00e8res tendances en mati\u00e8re de contr\u00f4le par vision industrielle\" width=\"1280\" height=\"720\" loading=\"lazy\" title=\"\"><\/div>\n          <div class=\"post__body\">\n            <h3>Les derni\u00e8res tendances en mati\u00e8re de contr\u00f4le par vision industrielle<\/h3>\n            <p>Le contr\u00f4le par vision industrielle est une technologie en constante \u00e9volution qui permet de contr\u00f4ler la qualit\u00e9 des produits manufactur\u00e9s avec une grande pr\u00e9cision et efficacit\u00e9.<\/p>\n            <span class=\"post__more\">Lire l'article <i class=\"fas fa-arrow-right\"><\/i><\/span>\n          <\/div>\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- \u2591\u2591 11 \u00b7 FAQ \u2591\u2591 -->\n  <section data-screen-label=\"FAQ\">\n    <div class=\"container\">\n      <header class=\"sec-head\" style=\"text-align:center; margin-inline:auto;\">\n        <span class=\"eyebrow\" style=\"justify-content:center;\"><span class=\"eyebrow__num\">10<\/span> Questions fr\u00e9quentes<\/span>\n        <h2>FAQ \u2014 Vision industrielle<\/h2>\n      <\/header>\n      <div class=\"faq\">\n        <details class=\"faq__item\" open>\n          <summary class=\"faq__q\">Quelle est la constitution d'une approche de vision industrielle ? <i class=\"fas fa-plus\"><\/i><\/summary>\n          <div class=\"faq__a\">Un syst\u00e8me standard se compose d'un \u00e9clairage adapt\u00e9 \u00e0 la pi\u00e8ce, d'une optique pr\u00e9cise, d'une cam\u00e9ra ou d'un capteur (matriciel, lin\u00e9aire ou 3D) et d'un syst\u00e8me informatique \u00e9quip\u00e9 d'un logiciel de traitement d'images.<\/div>\n        <\/details>\n        <details class=\"faq__item\">\n          <summary class=\"faq__q\">Quels sont les avantages de la vision industrielle ? <i class=\"fas fa-plus\"><\/i><\/summary>\n          <div class=\"faq__a\">Elle permet d'automatiser le contr\u00f4le qualit\u00e9 pour le rendre fiable \u00e0 100 %, de r\u00e9duire drastiquement les rebuts, d'acc\u00e9l\u00e9rer les cadences de production sans fatigue et de garantir la conformit\u00e9 totale des produits en sortie de ligne.<\/div>\n        <\/details>\n        <details class=\"faq__item\">\n          <summary class=\"faq__q\">Qui utilise la vision industrielle ? <i class=\"fas fa-plus\"><\/i><\/summary>\n          <div class=\"faq__a\">Elle est omnipr\u00e9sente et indispensable dans de nombreux secteurs de pointe : l'industrie automobile, l'agroalimentaire, l'a\u00e9ronautique, la cosm\u00e9tique, la logistique et l'industrie pharmaceutique.<\/div>\n        <\/details>\n        <details class=\"faq__item\">\n          <summary class=\"faq__q\">Quelles sont les applications possibles avec les solutions de vision ? <i class=\"fas fa-plus\"><\/i><\/summary>\n          <div class=\"faq__a\">Les applications principales incluent la localisation de pi\u00e8ces sur convoyeur, le guidage robotique spatial (2D ou 3D) pour la manipulation, la lecture de codes et de caract\u00e8res (OCR\/OCV) pour la tra\u00e7abilit\u00e9, ainsi que l'inspection minutieuse de d\u00e9fauts et la prise de mesures dimensionnelles.<\/div>\n        <\/details>\n        <details class=\"faq__item\">\n          <summary class=\"faq__q\">Qu'apporte le deep learning par rapport \u00e0 la vision classique ? <i class=\"fas fa-plus\"><\/i><\/summary>\n          <div class=\"faq__a\">Contrairement \u00e0 la vision classique bas\u00e9e sur des r\u00e8gles g\u00e9om\u00e9triques strictes, le deep learning (IA) apprend par l'exemple. Il est capable de s'adapter de mani\u00e8re autonome aux variations visuelles complexes et impr\u00e9visibles des pi\u00e8ces \u00e0 inspecter.<\/div>\n        <\/details>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- \u2591\u2591 12 \u00b7 CTA FINAL \u2591\u2591 -->\n  <section class=\"cta-final has-neural\" data-screen-label=\"CTA final\">\n    <div class=\"net\" data-net=\"cta\" aria-hidden=\"true\"><\/div>\n    <div class=\"container cta-final__inner\">\n      <div>\n        <h2>Automatisez votre contr\u00f4le qualit\u00e9 avec la vision industrielle<\/h2>\n        <p>Parlons de votre ligne de production : nos ing\u00e9nieurs con\u00e7oivent la solution de vision adapt\u00e9e \u00e0 vos pi\u00e8ces, vos cadences et vos d\u00e9fauts \u00e0 d\u00e9tecter.<\/p>\n      <\/div>\n      <div class=\"cta-final__actions\">\n        <a class=\"btn btn--primary\" href=\"https:\/\/www.cim-atlantique.com\/fr\/devis\/\">Demander votre \u00e9tude <i class=\"fas fa-arrow-right\"><\/i><\/a>\n        <a class=\"phone btn btn--ghost\" href=\"tel:+33240587296\"><i class=\"fas fa-phone-alt\"><\/i> 02 40 58 72 96<\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n\n<\/div><!-- \/#cim-vision -->\n\n\n\n<script>\n\/* =====================================================================\n   CIM ATLANTIQUE \u2014 Page \u00ab Vision industrielle \u00bb\n   JS de page : simulateur de ROI + FAQ accord\u00e9on + animations.\n   Scop\u00e9 au wrapper #cim-vision. Contenu pleinement visible sans JS.\n   ===================================================================== *\/\n(function () {\n  var root = document.getElementById('cim-vision');\n  if (!root) return;\n\n  \/* ---------- Simulateur de ROI ---------- *\/\n  \/\/ Hypoth\u00e8ses indicatives : la vision automatise le contr\u00f4le qualit\u00e9.\n  var REBUTS_REDUCTION = 0.70;     \/\/ ~70 % de rebuts \u00e9vit\u00e9s\n  var INSPECTION_REDUCTION = 0.80; \/\/ ~80 % du co\u00fbt d'inspection manuelle \u00e9vit\u00e9\n\n  var form = document.getElementById('roiForm');\n  function fmt(n) {\n    return Math.round(n).toLocaleString('fr-FR') + ' \u20ac';\n  }\n  if (form) {\n    form.addEventListener('submit', function (e) {\n      e.preventDefault();\n      var rebuts = parseFloat(document.getElementById('roiRebuts').value) || 0;\n      var inspection = parseFloat(document.getElementById('roiInspection').value) || 0;\n\n      var gainRebuts = rebuts * REBUTS_REDUCTION;\n      var gainInspection = inspection * INSPECTION_REDUCTION;\n      var month = gainRebuts + gainInspection;\n      var year = month * 12;\n\n      document.getElementById('roiPlaceholder').hidden = true;\n      document.getElementById('roiOut').hidden = false;\n      document.getElementById('roiYear').innerHTML = fmt(year) + ' <small>\/ an<\/small>';\n      document.getElementById('roiMonth').textContent = fmt(month) + ' \u00e9conomis\u00e9s par mois';\n      document.getElementById('roiR1').textContent = fmt(gainRebuts) + ' \/mois';\n      document.getElementById('roiR2').textContent = fmt(gainInspection) + ' \/mois';\n    });\n  }\n\n  \/* ---------- FAQ : accord\u00e9on exclusif (un seul ouvert) ---------- *\/\n  var faqItems = root.querySelectorAll('.faq__item');\n  faqItems.forEach(function (item) {\n    item.addEventListener('toggle', function () {\n      if (item.open) {\n        faqItems.forEach(function (other) {\n          if (other !== item) other.open = false;\n        });\n      }\n    });\n  });\n\n  \/* ---------- Animations d'apparition (optionnel) ---------- *\/\n  if ('IntersectionObserver' in window) {\n    root.classList.add('has-anim');\n    var io = new IntersectionObserver(function (entries) {\n      entries.forEach(function (en) {\n        if (en.isIntersecting) { en.target.classList.add('in'); io.unobserve(en.target); }\n      });\n    }, { threshold: 0.12, rootMargin: '0px 0px -8% 0px' });\n    root.querySelectorAll('.reveal').forEach(function (el) { io.observe(el); });\n  }\n\n  \/* ---------- Motif neuronal SVG (fonds marine) \u2014 identique \u00e0 la pr\u00e9sentation CIM ---------- *\/\n  function buildNet(w, h, count, seed, opts) {\n    opts = opts || {};\n    function rnd(s) { s = s % 2147483647; if (s <= 0) s += 2147483646; return function () { s = s * 16807 % 2147483647; return (s - 1) \/ 2147483646; }; }\n    var TEAL = '#1d919e', RED = '#7f191a';\n    var r = rnd(seed), nodes = [], i;\n    var cols = Math.ceil(Math.sqrt(count * w \/ h)), rows = Math.ceil(count \/ cols);\n    for (var gy = 0; gy < rows; gy++) for (var gx = 0; gx < cols; gx++) {\n      if (nodes.length >= count) break;\n      nodes.push({ x: (gx + 0.15 + r() * 0.7) * w \/ cols, y: (gy + 0.15 + r() * 0.7) * h \/ rows });\n    }\n    var edges = [];\n    for (i = 0; i < nodes.length; i++) {\n      var d = [];\n      for (var j = 0; j < nodes.length; j++) if (j !== i) { var dx = nodes[i].x - nodes[j].x, dy = nodes[i].y - nodes[j].y; d.push([dx * dx + dy * dy, j]); }\n      d.sort(function (a, b) { return a[0] - b[0]; });\n      for (var k = 0; k < 2; k++) if (d[k] && i < d[k][1]) edges.push([i, d[k][1]]);\n    }\n    var lineOp = opts.lineOp || 0.5, baseR = opts.r || 7;\n    var svg = '<svg viewBox=\"0 0 ' + w + ' ' + h + '\" preserveAspectRatio=\"' + (opts.par || 'xMidYMid slice') + '\">';\n    edges.forEach(function (e) {\n      svg += '<line class=\"ln\" style=\"animation-delay:-' + (r() * 4).toFixed(2) + 's\" x1=\"' + nodes[e[0]].x.toFixed(1) + '\" y1=\"' + nodes[e[0]].y.toFixed(1) + '\" x2=\"' + nodes[e[1]].x.toFixed(1) + '\" y2=\"' + nodes[e[1]].y.toFixed(1) + '\" stroke=\"' + TEAL + '\" stroke-width=\"1.5\" opacity=\"' + lineOp + '\"\/>';\n    });\n    nodes.forEach(function (n, idx) {\n      var isRed = (idx % 5 === 2), col = isRed ? RED : TEAL;\n      var big = (idx % 3 === 0), rad = big ? baseR * 1.5 : baseR;\n      var dly = '-' + (r() * 5).toFixed(2) + 's';\n      svg += '<circle class=\"hl\" style=\"animation-delay:' + dly + '\" cx=\"' + n.x.toFixed(1) + '\" cy=\"' + n.y.toFixed(1) + '\" r=\"' + (rad * 2.4).toFixed(1) + '\" fill=\"' + col + '\" opacity=\"' + (opts.haloOp || 0.08) + '\"\/>';\n      svg += '<circle class=\"nd\" style=\"animation-delay:' + dly + '\" cx=\"' + n.x.toFixed(1) + '\" cy=\"' + n.y.toFixed(1) + '\" r=\"' + rad.toFixed(1) + '\" fill=\"' + col + '\" opacity=\"' + (opts.nodeOp || 0.9) + '\"\/>';\n    });\n    return svg + '<\/svg>';\n  }\n  var netConfigs = {\n    wide: { w: 1920, h: 640, count: 26, seed: 13, opts: { lineOp: 0.32, haloOp: 0.10, nodeOp: 0.78, r: 8, par: 'xMidYMid slice' } },\n    cta:  { w: 1920, h: 540, count: 20, seed: 33, opts: { lineOp: 0.22, haloOp: 0.07, nodeOp: 0.6, r: 8, par: 'xMidYMid slice' } }\n  };\n  root.querySelectorAll('.net[data-net]').forEach(function (el) {\n    var c = netConfigs[el.getAttribute('data-net')] || netConfigs.wide;\n    el.innerHTML = buildNet(c.w, c.h, c.count, c.seed, c.opts);\n  });\n  \/\/ n'animer que lorsque la section est \u00e0 l'\u00e9cran (perf)\n  if ('IntersectionObserver' in window) {\n    var nio = new IntersectionObserver(function (es) {\n      es.forEach(function (e) { e.target.classList.toggle('net-live', e.isIntersecting); });\n    }, { threshold: 0 });\n    root.querySelectorAll('.has-neural').forEach(function (s) { nio.observe(s); });\n  } else {\n    root.querySelectorAll('.has-neural').forEach(function (s) { s.classList.add('net-live'); });\n  }\n\n  \/* ---------- Carrousel des r\u00e9alisations ---------- *\/\n  root.querySelectorAll('[data-carousel]').forEach(function (car) {\n    var track = car.querySelector('[data-track]');\n    if (!track) return;\n    var prev = car.querySelector('.carousel__nav--prev');\n    var next = car.querySelector('.carousel__nav--next');\n    var dotsWrap = car.parentNode.querySelector('[data-dots]');\n    var cards = track.children;\n    function step() {\n      var c = cards[0]; if (!c) return track.clientWidth;\n      var cs = getComputedStyle(track);\n      var gap = parseFloat(cs.columnGap || cs.gap || '20') || 20;\n      return c.getBoundingClientRect().width + gap;\n    }\n    if (prev) prev.addEventListener('click', function () { track.scrollBy({ left: -step(), behavior: 'smooth' }); });\n    if (next) next.addEventListener('click', function () { track.scrollBy({ left: step(), behavior: 'smooth' }); });\n    if (dotsWrap) {\n      for (var i = 0; i < cards.length; i++) {\n        var d = document.createElement('button');\n        d.type = 'button'; d.className = 'carousel__dot';\n        d.setAttribute('aria-label', 'Aller \u00e0 la r\u00e9alisation ' + (i + 1));\n        (function (idx) { d.addEventListener('click', function () { track.scrollTo({ left: idx * step(), behavior: 'smooth' }); }); })(i);\n        dotsWrap.appendChild(d);\n      }\n    }\n    function update() {\n      var idx = Math.round(track.scrollLeft \/ step());\n      if (dotsWrap) { var ds = dotsWrap.children; for (var i = 0; i < ds.length; i++) ds[i].classList.toggle('is-active', i === idx); }\n      if (prev) prev.disabled = track.scrollLeft < 4;\n      if (next) next.disabled = track.scrollLeft > (track.scrollWidth - track.clientWidth - 4);\n    }\n    track.addEventListener('scroll', function () { window.requestAnimationFrame(update); }, { passive: true });\n    window.addEventListener('resize', update);\n    update();\n  });\n})();\n\n<\/script>\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Quelle est la constitution d'une approche de vision industrielle ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Un syst\u00e8me standard se compose d'un \u00e9clairage adapt\u00e9 \u00e0 la pi\u00e8ce, d'une optique pr\u00e9cise, d'une cam\u00e9ra ou d'un capteur (matriciel, lin\u00e9aire ou 3D) et d'un syst\u00e8me informatique \u00e9quip\u00e9 d'un logiciel de traitement d'images.\"}},{\"@type\":\"Question\",\"name\":\"Quels sont les avantages de la vision industrielle ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Elle permet d'automatiser le contr\u00f4le qualit\u00e9 pour le rendre fiable \u00e0 100%, de r\u00e9duire drastiquement les rebuts, d'acc\u00e9l\u00e9rer les cadences de production sans fatigue et de garantir la conformit\u00e9 totale des produits en sortie de ligne.\"}},{\"@type\":\"Question\",\"name\":\"Qui utilise la vision industrielle ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Elle est omnipr\u00e9sente et indispensable dans de nombreux secteurs de pointe : l'industrie automobile, l'agroalimentaire, l'a\u00e9ronautique, la cosm\u00e9tique, la logistique et l'industrie pharmaceutique.\"}},{\"@type\":\"Question\",\"name\":\"Quelles sont les applications possibles avec les solutions de vision ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Les applications principales incluent la localisation de pi\u00e8ces sur convoyeur, le guidage robotique spatial (2D ou 3D) pour la manipulation, la lecture de codes et de caract\u00e8res (OCR\/OCV) pour la tra\u00e7abilit\u00e9, ainsi que l'inspection minutieuse de d\u00e9fauts et la prise de mesures dimensionnelles.\"}},{\"@type\":\"Question\",\"name\":\"Qu'apporte le deep learning par rapport \u00e0 la vision classique ?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Contrairement \u00e0 la vision classique bas\u00e9e sur des r\u00e8gles g\u00e9om\u00e9triques strictes, le deep learning (IA) apprend par l'exemple. Il est capable de s'adapter de mani\u00e8re autonome aux variations visuelles complexes et impr\u00e9visibles des pi\u00e8ces \u00e0 inspecter.\"}}]}<\/script><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":1874,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"100-width.php","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-1816","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/www.cim-atlantique.com\/fr\/wp-json\/wp\/v2\/pages\/1816","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cim-atlantique.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.cim-atlantique.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.cim-atlantique.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cim-atlantique.com\/fr\/wp-json\/wp\/v2\/comments?post=1816"}],"version-history":[{"count":85,"href":"https:\/\/www.cim-atlantique.com\/fr\/wp-json\/wp\/v2\/pages\/1816\/revisions"}],"predecessor-version":[{"id":7042,"href":"https:\/\/www.cim-atlantique.com\/fr\/wp-json\/wp\/v2\/pages\/1816\/revisions\/7042"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cim-atlantique.com\/fr\/wp-json\/wp\/v2\/media\/1874"}],"wp:attachment":[{"href":"https:\/\/www.cim-atlantique.com\/fr\/wp-json\/wp\/v2\/media?parent=1816"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}