Compare radio-based anonymous occupancy with visual surveillance across coverage, latency, cost, and privacy to pick the right sensing approach.
Cameras and WiFi CSI solve overlapping but not identical problems. The choice is about what data you need from the sensor, not just privacy preferences.
Cameras need line of sight per zone: one camera per sightline, blind behind furniture and walls. CSI propagates through drywall and around obstacles; a node pair can cover a whole room without aiming.Cameras win when you need per-pixel detail in a specific field of view. CSI wins for whole-room, NLOS, darkness-invariant occupancy and motion.
Camera pipelines run capture, decode frame, run vision model, then emit event. Typical end-to-end latency is 50 to 200 ms on edge hardware, higher if frames go to cloud.CSI pipelines run capture packet, preprocess, feature extract, then infer. Latency is comparable on the same host, but the input is orders of magnitude smaller: kilobytes of complex numbers versus megapixel frames.
A room with four sightlines needs four cameras, cabling, storage, and often cloud processing. The same room needs two ESP32 nodes and a host running the Python pipeline. No video storage, no bandwidth for frame upload.
Camera: identity verification, reading text, precise pose in a controlled FOV, forensic video.WiFi CSI: anonymous occupancy, motion in the dark, whole-room presence, energy analytics, elder-care awareness without surveillance.See occupancy detection and the detection ladder for what CSI delivers without images.
⌘I
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Wavey","colors":{"primary":"#0284C7","light":"#38BDF8","dark":"#0369A1"},"logo":{"light":"https://mintcdn.com/waveyhq/uPeBiDx4pCcN1XBF/logo/wavey-logo.webp?fit=max\u0026auto=format\u0026n=uPeBiDx4pCcN1XBF\u0026q=85\u0026s=f13ee12418f1a30a507ada2d6d684991","dark":"https://mintcdn.com/waveyhq/uPeBiDx4pCcN1XBF/logo/wavey-logo.webp?fit=max\u0026auto=format\u0026n=uPeBiDx4pCcN1XBF\u0026q=85\u0026s=f13ee12418f1a30a507ada2d6d684991"},"favicon":"https://mintcdn.com/waveyhq/uPeBiDx4pCcN1XBF/logo/wavey-logo.webp?fit=max\u0026auto=format\u0026n=uPeBiDx4pCcN1XBF\u0026q=85\u0026s=f13ee12418f1a30a507ada2d6d684991","navbar":{"links":[{"href":"https://github.com/waveyhq","label":"GitHub"},{"href":"https://discord.gg/sxh9r9UTtW","label":"Discord"}],"primary":{"type":"button","label":"Open Console","href":"https://console.waveyhq.dev"}},"footer":{"socials":{"x":"https://x.com/waveyhq","github":"https://github.com/waveyhq"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"waveyhq","hasAudioNarration":false,"actualSubdomain":"waveyhq","customDomains":["docs.heywavey.tech"],"gitSource":{"type":"github","owner":"mintlify-community","repo":"docs-waveyhq-886fe936","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6a933ae38440e7e971143505","collectionId":"40725051-0998-4208-88c4-0ee06bac5b2a","liveDeploymentHistoryId":"6a933ae38440e7e971143505","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6a933ae38440e7e971143505","clientVersion":"0.0.3964","searchFilterCounts":[{"language":"default","tag":"Docs","count":22},{"language":"default","tag":"Deep Dives","count":10},{"language":"default","tag":"Use Cases","count":8},{"language":"default","tag":"Comparisons","count":5},{"language":"default","tag":"RF Privacy","count":5},{"language":"default","tag":"How It Works","count":3},{"language":"default","tag":"Project","count":2},{"language":"default","tag":"Get Started","count":2},{"language":"default","tag":"Building Sensing Systems","count":2},{"language":"default","tag":"WiFi CSI Fundamentals","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"comparisons/wifi-sensing-vs-cameras","slug":"/comparisons/wifi-sensing-vs-cameras","pageMetadata":{"title":"WiFi CSI Sensing vs Camera Systems Compared","sidebarTitle":"vs Cameras","description":"Compare radio-based anonymous occupancy with visual surveillance across coverage, latency, cost, and privacy to pick the right sensing approach.","href":"/comparisons/wifi-sensing-vs-cameras"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Compare radio-based anonymous occupancy with visual surveillance across coverage, latency, cost, and privacy to pick the right sensing approach.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Cameras and WiFi CSI solve overlapping but not identical problems. The choice is about what data you need from the sensor, not just privacy preferences.`}),`\n`,_jsx(Heading,{level:`2`,id:`sensing-mechanism`,children:`Sensing mechanism`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{}),_jsx(_components.th,{children:`Camera`}),_jsx(_components.th,{children:`WiFi CSI`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Signal`}),_jsx(_components.td,{children:`Visible light (photons)`}),_jsx(_components.td,{children:`Radio channel (amplitude + phase per subcarrier)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Output`}),_jsx(_components.td,{children:`Image frames (pixels)`}),_jsx(_components.td,{children:`Channel measurements (complex vectors)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Identity`}),_jsx(_components.td,{children:`Trivial (face recognition)`}),_jsx(_components.td,{children:`Not available by design`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Pose`}),_jsx(_components.td,{children:`Direct (keypoint models)`}),_jsx(_components.td,{children:`Research frontier; not on commodity ESP32`})]})]})]}),`\n`,_jsx(_components.p,{children:`A camera answers “what does this look like?” CSI answers “how did the radio channel change?”`}),`\n`,_jsx(Heading,{level:`2`,id:`coverage-geometry`,children:`Coverage geometry`}),`\n`,_jsx(_components.p,{children:`Cameras need line of sight per zone: one camera per sightline, blind behind furniture and walls. CSI propagates through drywall and around obstacles; a node pair can cover a whole room without aiming.`}),`\n`,_jsx(_components.p,{children:`Cameras win when you need per-pixel detail in a specific field of view. CSI wins for whole-room, NLOS, darkness-invariant occupancy and motion.`}),`\n`,_jsx(Heading,{level:`2`,id:`latency-and-compute`,children:`Latency and compute`}),`\n`,_jsx(_components.p,{children:`Camera pipelines run capture, decode frame, run vision model, then emit event. Typical end-to-end latency is 50 to 200 ms on edge hardware, higher if frames go to cloud.`}),`\n`,_jsx(_components.p,{children:`CSI pipelines run capture packet, preprocess, feature extract, then infer. Latency is comparable on the same host, but the input is orders of magnitude smaller: kilobytes of complex numbers versus megapixel frames.`}),`\n`,_jsx(Heading,{level:`2`,id:`deployment-cost`,children:`Deployment cost`}),`\n`,_jsx(_components.p,{children:`A room with four sightlines needs four cameras, cabling, storage, and often cloud processing. The same room needs two ESP32 nodes and a host running the Python pipeline. No video storage, no bandwidth for frame upload.`}),`\n`,_jsx(Heading,{level:`2`,id:`when-to-choose-which`,children:`When to choose which`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Camera:`}),` identity verification, reading text, precise pose in a controlled FOV, forensic video.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`WiFi CSI:`}),` anonymous occupancy, motion in the dark, whole-room presence, energy analytics, elder-care awareness without surveillance.`]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/use-cases/occupancy-detection`,children:`occupancy detection`}),` and the `,_jsx(_components.a,{href:`/concepts/detection-ladder`,children:`detection ladder`}),` for what CSI delivers without images.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"WiFi CSI Sensing vs Camera Systems Compared","sidebarTitle":"vs Cameras","description":"Compare radio-based anonymous occupancy with visual surveillance across coverage, latency, cost, and privacy to pick the right sensing approach.","href":"/comparisons/wifi-sensing-vs-cameras"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Sensing mechanism","slug":"sensing-mechanism","depth":2,"children":[]},{"title":"Coverage geometry","slug":"coverage-geometry","depth":2,"children":[]},{"title":"Latency and compute","slug":"latency-and-compute","depth":2,"children":[]},{"title":"Deployment cost","slug":"deployment-cost","depth":2,"children":[]},{"title":"When to choose which","slug":"when-to-choose-which","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"waveyhq","siteName":"Wavey","title":"WiFi CSI Sensing vs Camera Systems Compared - Wavey","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-29T19:22:57.698Z","originalFileLocation":"comparisons/wifi-sensing-vs-cameras.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Compare radio-based anonymous occupancy with visual surveillance across coverage, latency, cost, and privacy to pick the right sensing approach.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Wavey\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/waveyhq/YWBSOLvW_03Jq2hY/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/waveyhq/YWBSOLvW_03Jq2hY/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/waveyhq/YWBSOLvW_03Jq2hY/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/waveyhq/YWBSOLvW_03Jq2hY/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/waveyhq/YWBSOLvW_03Jq2hY/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/waveyhq/YWBSOLvW_03Jq2hY/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/waveyhq/YWBSOLvW_03Jq2hY/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/waveyhq/YWBSOLvW_03Jq2hY/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/waveyhq/YWBSOLvW_03Jq2hY/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"WiFi CSI Sensing vs Camera Systems Compared - Wavey\">\u003cmeta data-mint-head property=\"og:description\" content=\"Compare radio-based anonymous occupancy with visual surveillance across coverage, latency, cost, and privacy to pick the right sensing approach.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Wavey\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.heywavey.tech/comparisons/wifi-sensing-vs-cameras\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://waveyhq.mintlify.app/_mintlify/api/og/v2?division=Comparisons\u0026amp;title=WiFi+CSI+Sensing+vs+Camera+Systems+Compared\u0026amp;description=Compare+radio-based+anonymous+occupancy+with+visual+surveillance+across+coverage%2C+latency%2C+cost%2C+and+privacy+to+pick+the+right+sensing+approach.\u0026amp;theme=4289302fcbaba70595f4e79b\u0026amp;signature=45143998f8701b9c6a09a38e6b1cf76cbe8b0484578aec71c7b5d252fd5ff930\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"WiFi CSI Sensing vs Camera Systems Compared - Wavey\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Compare radio-based anonymous occupancy with visual surveillance across coverage, latency, cost, and privacy to pick the right sensing approach.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://waveyhq.mintlify.app/_mintlify/api/og/v2?division=Comparisons\u0026amp;title=WiFi+CSI+Sensing+vs+Camera+Systems+Compared\u0026amp;description=Compare+radio-based+anonymous+occupancy+with+visual+surveillance+across+coverage%2C+latency%2C+cost%2C+and+privacy+to+pick+the+right+sensing+approach.\u0026amp;theme=4289302fcbaba70595f4e79b\u0026amp;signature=45143998f8701b9c6a09a38e6b1cf76cbe8b0484578aec71c7b5d252fd5ff930\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/waveyhq/YWBSOLvW_03Jq2hY/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Wavey\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0284C7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.heywavey.tech/comparisons/wifi-sensing-vs-cameras\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/comparisons/wifi-sensing-vs-cameras.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.heywavey.tech/#organization\",\"name\":\"Wavey\",\"url\":\"https://docs.heywavey.tech\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/waveyhq/uPeBiDx4pCcN1XBF/logo/wavey-logo.webp?fit=max\u0026auto=format\u0026n=uPeBiDx4pCcN1XBF\u0026q=85\u0026s=f13ee12418f1a30a507ada2d6d684991\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.heywavey.tech#website\",\"name\":\"Wavey\",\"url\":\"https://docs.heywavey.tech\",\"publisher\":{\"@id\":\"https://docs.heywavey.tech/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.heywavey.tech/comparisons/wifi-sensing-vs-cameras#webpage\",\"url\":\"https://docs.heywavey.tech/comparisons/wifi-sensing-vs-cameras\",\"name\":\"WiFi CSI Sensing vs Camera Systems Compared\",\"description\":\"Compare radio-based anonymous occupancy with visual surveillance across coverage, latency, cost, and privacy to pick the right sensing approach.\",\"dateModified\":\"2026-08-29T19:22:57.698Z\",\"isPartOf\":{\"@id\":\"https://docs.heywavey.tech#website\"},\"breadcrumb\":{\"@id\":\"https://docs.heywavey.tech/comparisons/wifi-sensing-vs-cameras#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.heywavey.tech/comparisons/wifi-sensing-vs-cameras#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Comparisons\",\"item\":\"https://docs.heywavey.tech/comparisons/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WiFi CSI Sensing vs Camera Systems Compared\",\"item\":\"https://docs.heywavey.tech/comparisons/wifi-sensing-vs-cameras\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.heywavey.tech/comparisons/wifi-sensing-vs-cameras#article\",\"headline\":\"WiFi CSI Sensing vs Camera Systems Compared\",\"name\":\"WiFi CSI Sensing vs Camera Systems Compared\",\"description\":\"Compare radio-based anonymous occupancy with visual surveillance across coverage, latency, cost, and privacy to pick the right sensing approach.\",\"url\":\"https://docs.heywavey.tech/comparisons/wifi-sensing-vs-cameras\",\"mainEntityOfPage\":{\"@id\":\"https://docs.heywavey.tech/comparisons/wifi-sensing-vs-cameras#webpage\"},\"dateModified\":\"2026-08-29T19:22:57.698Z\",\"publisher\":{\"@id\":\"https://docs.heywavey.tech/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.heywavey.tech#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Wavey\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Wavey","nav":{"global":null,"tabs":[{"tab":"Docs","groups":[{"group":"Get Started","icon":"rocket","pages":[{"title":"Wavey: WiFi CSI Sensing for Occupancy, Motion, and Presence","sidebarTitle":"Overview","href":""},{"title":"Get Started with Wavey WiFi CSI Sensing","sidebarTitle":"Get Started","href":"/getting-started"}]},{"group":"How It Works","icon":"wave-sine","pages":[{"title":"How WiFi CSI Sensing Works: Physics and Signals","sidebarTitle":"How It Works","href":"/concepts/how-it-works"},{"title":"Wavey Sensing Pipeline: Raw CSI to Detection Events","sidebarTitle":"Sensing Pipeline","href":"/concepts/sensing-pipeline"},{"title":"Detection Ladder: What WiFi CSI Can and Cannot Do","sidebarTitle":"Detection Ladder","href":"/concepts/detection-ladder"}]},{"group":"Use Cases","icon":"lightbulb","pages":[{"title":"WiFi CSI Sensing Use Cases Overview","sidebarTitle":"Use Cases","href":"/use-cases/index"},{"title":"Device-Free Occupancy Detection with WiFi CSI","sidebarTitle":"Occupancy Detection","href":"/use-cases/occupancy-detection"},{"title":"Motion and Activity Detection Using WiFi CSI","sidebarTitle":"Motion Detection","href":"/use-cases/motion-activity-detection"},{"title":"Still-Person Presence Detection via WiFi Micro-Doppler","sidebarTitle":"Presence Detection","href":"/use-cases/presence-detection"},{"title":"Ambient Elder-Care Monitoring with WiFi CSI Sensing","sidebarTitle":"Elder Care","href":"/use-cases/elder-care-monitoring"},{"title":"Security and Intrusion Detection via WiFi CSI","sidebarTitle":"Security","href":"/use-cases/security-intrusion-detection"},{"title":"Smart-Home Automation with WiFi Presence Holds","sidebarTitle":"Smart Home","href":"/use-cases/smart-home-automation"},{"title":"Anonymous Occupancy Analytics with WiFi CSI","sidebarTitle":"Occupancy Analytics","href":"/use-cases/occupancy-analytics"}]},{"group":"Comparisons","icon":"scale","pages":[{"title":"WiFi CSI Sensing vs Other Technologies","sidebarTitle":"Comparisons","href":"/comparisons/index"},{"title":"WiFi CSI Sensing vs PIR Motion Sensors Compared","sidebarTitle":"vs PIR","description":"Compare differential IR motion pulses with radio-based presence holds to choose the right sensor for occupancy, security, and automation.","href":"/comparisons/wifi-sensing-vs-pir"},{"title":"WiFi CSI Sensing vs Camera Systems Compared","sidebarTitle":"vs Cameras","href":"/comparisons/wifi-sensing-vs-cameras"},{"title":"WiFi CSI Sensing vs Wearables and Device Tracking","sidebarTitle":"vs Wearables","description":"Compare device-free body sensing with wearable and MAC-based tracking for occupancy, elder care, and building analytics use cases.","href":"/comparisons/wifi-sensing-vs-wearables"},{"title":"WiFi CSI Sensing vs mmWave Radar Compared","sidebarTitle":"vs mmWave Radar","href":"/comparisons/wifi-sensing-vs-mmwave-radar"}]},{"group":"Reference","icon":"book","pages":[{"title":"WiFi CSI Sensing Glossary: Key Terms Defined","sidebarTitle":"Glossary","href":"/reference/glossary"},{"title":"Frequently Asked Questions About Wavey and WiFi CSI","sidebarTitle":"FAQ","href":"/reference/faq"}]},{"group":"Project","icon":"circle-info","pages":[{"title":"About Wavey: Open-Source WiFi CSI Sensing","sidebarTitle":"About","href":"/about"},{"title":"Contact the Wavey Team","sidebarTitle":"Contact","href":"/contact"}]}]},{"tab":"Deep Dives","pages":[{"title":"Deep Dives","href":"/posts"}]}]},"title":"WiFi CSI Sensing vs Camera Systems Compared - Wavey","buildId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","deploymentId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","dynamics":[],"chunks":[]}