我建造的
signanguage 是一个平台,用户可以使用机器学习和访问20,000多个ASL短语的机器学习和访问视频学习美国的手语。
类别提交:不再搜索
应用链接ððð¥³
https://signlanguage.webdrip.in/
应用程序预览和功能
主页
主页显示整个应用程序预览。用户可以查找视频和字母的术语以及玩游戏。
短语词典
招牌包括大约20,000个短语,用户可以从中学习ASL。
闪电快速模糊搜索
用户可以使用ASL短语中的MongoDB Atlas搜索实现的模糊搜索功能搜索来自20,000+视频的任何视频。
下面的视频显示了MongoDB可以搜索20,000多个视频文档的速度。
ASL的游戏
用户可以玩使用MediaPipe和Tensorflow Machine学习库创建的游戏,以帮助他们学习和验证他们的学习。
学习数字
在人工智能的帮助下以时间顺序从0-10学习数字。
随机数
向屏幕上展示您的手,AI将尝试根据您的手标志预测0-10的数字。
链接到源代码
允许许可证
MIT License
背景
开发解决现实世界问题声明的软件应用程序或产品一直使我感兴趣。当我开始学习ML并探索探索可能性时,我想制作的项目将成为比自身更大的项目的一部分,即帮助社区并以易于访问的方式吸引人们。这是我开发此应用程序签名的动机。
YouTube是一个很好的知识来源,但其算法并没有宣传引起用户的简短视频或视频。招牌通过收集这些资源并使它们可以通过我们的WebApp轻松访问来解决此问题。此WebApp有大约20,000多个精心策划的视频短语和诸如模糊搜索之类的功能,可以轻松学习美国手语(ASL)。
招牌还具有许多游戏,用户可以在玩得开心的同时练习其ASL基础知识。
。技术堆栈和图书馆使用
该应用程序基本上是使用frontend的高度JS(11ty)构建的,MongoDB领域作为后端和MediaPipe和MediaPipe和TensorFlow JS用于机器学习。
- 高度JS
- mongo db li>
- mongo db领域函数
- mongo db领域https端点
- mongo db atlas搜索
- TensorFlow
- MediaPipe
我如何建造它
收集20,000多个ASL单词是一项艰难的努力,因此我想要一个简单而快速设置的后端。因此,当我使用Mongo DB存储数据时,我选择Mongo DB领域。
创建20,000个文件
第一次看到数据时,我想知道我是否还可以将这些数据存储到MongoDB中,以及它会多么困难。但是,MongoDB指南针使导入JSON数据非常容易。
Mongo DB Atlas搜索
为我的数据收集创建搜索索引很轻松,结果给我留下了深刻的印象。
Mongo DB领域HTTPS端点
添加数据并创建搜索索引后,我想创建一个可以由前端使用的API。 Mongo DB通过其HTTPS端点和领域功能服务使创建API变得容易。
我构建了一个名为/searchVideo
的搜索索引端点,该端口启用了领域功能,并从Atlas搜索返回搜索结果。
exports = function(request,response){
let collection = context.services.get("mongodb-atlas").db("SignLanguage").collection("videos");
const {searchVid} = request.query
let pipeline = [
{
$search: {
index: 'searchVideos',
text: {
query:searchVid,
path: {
'wildcard': '*'
}
}
}
}
];
return collection.aggregate(pipeline)
};
我还构建了一个名为videoApi
和alphabetSong
的简单API端点,该端点从数据库中返回了分页的数据。
exports = function(request,response){
const {start} = request.query
let data = context.services.get("mongodb-atlas").db("SignLanguage").collection("videos").find().skip(parseInt(start)).limit(12).toArray();
return data;
};
用于创建ASL游戏,我遇到的问题之一是为深度学习模型创建和收集数据集。我必须亲自收集数据集,因为在Kaggle上获得的数据集不能正确预测结果或质量差。
机器学习工作流模型如下所示
对分类模型的创建的简要概述为
- 我们首先使用开放的CV Python软件包和Google的MediaPipe Hands模型来预测手上的关键点。
- 之后,使用TensorFlow创建自定义模型,该模型将关键点分类。
- 然后将该模型转换为TFJS模型,该模型可在浏览器中用于预测手势。
谢谢!
希望您喜欢我的项目!如果您有任何反馈,请随时在下面发表评论。