Skip to content

syt123450/ycy-detection-3d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI 如何捕捉超越?

-- 神经网络3D展示 --

license badge dependencies badge dependencies badge dependencies badge

通过神经网络检测不同的杨超越照片,直观展示神经网络是如何从一张图片中检测物体的,类似于 Lenna 之于图片预处理。可在 Web3D 交互体验中感受神经网络的工作原理,移动端友好。可用于神经网络学习与教学。

图1 - Hello World

目录

项目架构

图2 - 架构图

技术栈

  • TensorFlow.js 改变游戏规则的深度学习框架(最近发布了1.0版本)。
  • YOLO “没朋友”的深度学习模型。
  • React T0级别前端框架。
  • React-toolbox React组件框架。
  • TensorSpace 神经网络3D可视化框架。

PS.

  • YOLO作者小马哥关于YOLOv3的论文非常深入浅出,他的个人简历也非常抓人眼球

应用功能

  • 环顾立体网络

图3 - 左键推拽旋转网络

  • 平移网络

图4 - 右键拖拽平移网络

  • 开近拉远3D场景

图5 - 滑动滚轮或双指在触摸板上滑动对场景进行放大缩小

  • 观察神经网络特性

图6 - 从网络中可以观察到:结构、特征图、数据流动方向等特性

  • 切换预测数据

图7 - 点击“新的超越”,输入不同的图片进行检测

  • 清空并重置网络

图8 - 点击“我想静静”重置

  • 移动端友好

图9 - 手机端演示

开发人员

Thanks goes to these wonderful people (emoji key):

syt123450
syt123450

💻 🎨 📖 💡

联系方式

若有任何疑问建议,欢迎通过以下方式交流:

关于代码使用

关于开源协议

  • 使用最宽松的 MIT 协议,在 fork 仓库之后,可以对 fork 仓库中的代码为所欲为。
  • 如果有一天它变成别的协议了(比如 GLP 等),那么应该是被盗号了,我会尽快向 Github 申诉。

关于功能复用

如果希望将这个项目作为一个组件加到自己的网站中,不妨试试以下三种方式:

  • 跳转:现在应用有一个固定的域名 https://ycy-neuralnetwork3d.com,目测路由方式不会变,可以使用这个域名进行跳转。不过不保证今后有一天重构将它修改了?所以如果需要跳转的话,最好能够不时戳一下这个链接,确认是否还活着

  • iframe:不少站长都不喜欢跳转到外链,这个应用是单页面,且页面中没有向外跳转和挖矿代码,可以看做一个隔离的沙盒,所以可以放心使用iframe嵌入。

  • 抽离组件:如果对性能有所要求,觉得iframe造成了性能瓶颈,那么看一下源码也许是个不错的选择?为了方便有这个意向的童鞋快速找到想要的部分,在这里列出了这个项目中最核心的两个部分,希望能有助于快速定位:

    • 深度学习模型(TensorFlow.js 模型),在这里
    • 可视化模型(TensorSpace 模型),在这里

关于本地运行

  • 第一步: clone 项目
git clone https://github.com/syt123450/ycy-detection-3d.git
  • 第二步:安装依赖,确保已预先安装了yarn
yarn
  • 第三步:本地启动程序
yarn start
  • 第四步:浏览器中输入http://localhost:3000,通过 3000 端口查看

写在最后

  • 抛砖引玉,期待有更多有趣的项目。
  • 如果有有趣的想法,欢迎在 issue 中提出讨论。
  • 如果在代码或文档中有不足的地方,欢迎PR。