妻子问「我本日穿什么适宜」?让AI来帮你念谜底吧

假如你也答不出妻子「我本日穿什么适宜」的提问,现 AI 能帮你突围了。澳大利亚 Carsales 公司 AI 认真人 Agustinus Nalwan 即日发布作品先容了他为妻子创立 AI 穿衣引荐系统的阅历。目前他曾经完毕了这套系统的第一阶段,构修了一个衣着日记记载系统(包罗人体检测和人脸识别)和查阅该日记的 iPhone 运用。这大约便是极客的浪漫吧。

faAi,时尚帮理人工智能

我的妻子确实每天都会问一个题目:

本日应当穿什么?

这个题目很难答复,因为第一我对时尚无感,而 Yumi 则恰恰相反,她具有一个时装计划学位。第二,我记不住过去几周她穿过什么业俐,以是没法供应众样化的谜底。

本日我该穿啥?

以是,某天我认为花个周末,构修一个我认为可以办理这个题目的技能。

我开端先容这个项目之前,起首我要感谢她给予我这个项目和其它所有猖狂项目标支撑。敬爱的,你最棒!

研讨

起首我做了少许考察研讨,以了解我需求做什么。我实验从她的角度考虑我终究需求什么新闻才干做出「本日穿什么」的决议。

我有什么业俐?(CH)

很分明,我需求从已有的衣物清单中举行引荐。以是我认为这是必不可少的新闻。

过去几周我穿过什么?(CD)

当然,你可不念连续几天一遍又一到处穿同样的业俐。即使这并不是特别要害,但晓得过去几周你穿过的业俐有帮于完成引荐结果的众样化。此根底上,穿差别行俐时的气候和事情新闻也对引荐很有用,因为这能让引荐系统晓得哪些业俐适合目今的场景和气候。

当日气候(W)

不必说,你的衣着一定会受目今气候影响的。

事情(E)

当你到场集会时,你会念穿得花哨少许,比如穿件裙子;可是假如你要去郊游,你可以就要穿些适合运动的衣物。

归总起来,「本日穿什么(CTWT)」题目可用以下函数描画:

CTWT = Func(CH, CD, W, E)

我需求做的便是打制一个能施行这个函数的系统。听起来很简单吧?我开端放飞本人的念象力,最终念到了一种安装衣柜上的带有屏幕的语音帮理;她可以讯问「本日我该穿什么?」这个系统会用引荐业俐的照片作答。不光云云,它还会展现她穿这件业俐时的式样,从而供应更众视觉新闻。它槐ボ标明引荐这件业俐的来由。为什么?以是它也能答复 Yumi 我给出倡议后接下来的题目「为什么你引荐我穿这个?」

这个系同一定会涉及到许众 AI。我很激动,我起首念为这个 AI 系统念一个名字,然后念出了 faAi,读作「菲」,代外「Fashion Assistant Artificial Intelligence(时尚帮理人工智能)」。

举动方案

起首确定我需求施行的义务:

  • 构修一个她每日衣着的照片日记(CD),标记上事情和气候

  • 构修一个她具有的业俐的照片目次(CH)

  • 构修一个语音帮理 bot,并将它安装到她的衣柜上

我可以通过给她的所有业俐一一照相来构修业俐目次。而衣着日记则可通过每日自拍来获取。可是,举措客户体验和主动化的倡议者,我可不会这么做。我需求构修一个能毫不辛劳田主动构修业俐目次和日记的系统。

颠末一番思索,我念出了这个方案。我可以家里某处安装一个照相机,主动拍摄她的全身照。这个相机需求足够智能,只拍摄她一私人的照片,不会拍我或我的父母或岳父母(是的,你可以念晓得为什么,我的父母和岳父母常常时地会与我们同住,侥幸的是他们能很好地相处)。它还要能识别她所穿的业俐,并将这些业俐存储到衣着日记中,而且仅将之前没有记载的业俐保管到业俐目次中。

除了相机除外,我还需求一个盘算配备来施行上面所有的智能盘算。AWS DeepLens 是完美的挑选。这是一款具备深度进修才能的相机,让你可直叫“备(边沿)上安排许众 AI 模子。

AWS DeepLens

现我开端看法到这会是个大项目。我一定需求构修一个能找到视频帧中的脸和人体以及施行人脸识另外 AI 模子。假如认出了 Yumi 的脸,那么接下来的 AI 模子就需求获取她的衣着新闻并施行一次搜寻:是否曾经将该衣物到场到了业俐目次中。假如没有到场,就新修一个条目。不管是不是新的衣着,都会向衣着日记添加一项,并标记上气候和事情。

为了包管目标分明,我决议分众个阶段完毕这个项目。第一个阶段仅笃志于主动构修衣着日记。因为现还不需求构修业俐目次,以是还不需求构修业俐识别系统。尽管最终目标是她的衣柜上装一个语音帮忙,但现我念做一个第一阶段完毕后就能运用的东西。以是,我添加了一个分外义务:构修一个她能用于浏览本人的衣着日记的挪动运用,从而能为她的穿衣决议供应最低程度的协帮。

主动衣着日记构修器

我的首个义务是找个地方安装相机。袄鬣机装衣柜上实并欠好,因为我可不念意外拍到我不应当拍摄的照片。你懂我的意义。另外,我只念将她外出时穿的业俐加到衣着日记中。没须要记载她衣着寝衣屋里走动的式样。

颠末一番搜寻,我找到了完美的位置。一个橱柜上面,直对大门。终究,你需求颠末大门才干出去。

AWS DeepLens 安装位置

运用 AWS DeepLens 检测人体和人脸

我的下一个义务是构修一个 AI 目标检测模子并我的 AWS DeepLens 中运转,这能检测人体和人脸是否保管以及位置。人脸是用于识别人的身份,人体检测则是为了裁剪出全身图像以便存入衣着日记。我运用 Amazon SageMaker 构修了一个定制的目标检测模子,并将其安排到了 AWS DeepLens 中。可是这篇博文着眼于先容更高层面的计划,厉密的细节我将用另一篇博文来先容。

运转 AWS DeepLens 上的人脸和人体目标检测,Project Stream 窗口给出了少许调试标注

AWS DeepLens 带有一个十分强大的功用 Project Stream,可以展现和标注视频帧,你可以收集浏览器查看它们。通过这种方法,我可以轻松地察看我的模子的外现以及涂绘少许文本和线框来辅帮我举行调试。你可以上图中看到,我的模子可以准确地识别 Yumi 的通通身体和脸。这个准确度很让人满意。

适宜的位置检测人

下一个要办理的题目是仅大门区域有人时才触发照相,因为这可以阐明有人可以出门。同时,下面的示例录像外明也可以呈现误报检测:此时人只是颠末门前从客堂去餐厅。

误报检测

看看下面我家房子的平面图,此中的两个血色箭头指示了会导致误报检测的职员行走道径。而我们只念获取人绿色区域时的照片。针对这个题目,最简单的办理方案是只要当人上半部分和下半部分的边境框都完备屏幕内时才拍摄照片。运用这个逻辑来检测上面的误报可以成功跳过这张图像,因为这个边境框的下半部分屏幕除外。

而下面的正例会触发准确的图像获取,因为其边境框的上下部分都完备屏幕内。

准确的检测

为了确保已涵盖了所有可以的正例和负例状况,我需求运转这个系同一整日。起首,我必需完毕该系统接下来的部分,它可将检测到的人的裁剪图像发送给我的 Image Logger S3 bucket。通过这种方法,我可以运转系同一整日而无需我的监视,然后试运转完毕后再反省 bucket 内的所有图像即可。

将图片送出 IoT 配备的最佳方法是通过 MQTT 新闻系统,操作起来极其简单,而且创立 AWS DeepLens 项目时还供应了很好的示例代码。我只需求分外添加几行代码将裁剪后的图像编码成 jpeg 流并用 base64 编码它们,以便我可以通过 MQTT 以字符串流的方式发送它们。

client=greengrasssdk.client('iot-data')
iotTopic='$aws/things/{}/infer'.format(
os.environ['AWS_IOT_THING_NAME'])
personImageRaw=cv2.imencode('.jpg',personImage)[1]
personImageStr=base64.b64encode(personImageRaw)
client.publish(topic=iotTopic, payload=personImageStr

新闻将由云端的 MQTT 中心订阅器接纳,然后这会触发我的 lambda 函数用 base64 解码图像并将他们保管进一个 S3 bucket。从 MQTT 字符串解码图像十分简单,只需下面一行代码。

jpgStream = base64.b64decode(event)

以上方法停当之后,我运转了这个系同一整日,并速乐地渡过了周末接下来的时间。

规避岳母

运转了系同一整日之后,我的 Image Logger 展现了大宗幽默的图像。某些图像是准确的检测结果,如下图所示。结果精良。

正例检测

可以预期能检测到我的其他家人,可是我当心到少许其它事故。此中有大宗我的岳母的图像(更确实的说是她的身体上部分),占到了所有获取到的图像的 95%。

岳母包传说级的饺子

查看如下所示的原始视频的录像后,标清楚启事。

岳母厨房的义务台后

很分明,她通过了检测逻辑,因为她私人的边境框(因为厨房义务台的遮挡,仅包罗一半身体)的上下部分完备位于屏幕内。这个系统获取了大宗她的照片,是因为她厨房花了大宗时间。这会导致这个进程进一步减慢,因为这会需求大宗不须要的人脸识别,这可欠好。可是,看到她这一整日被记载下来的大都照片,让我晓得她每天为我们做饭和照应我们的孩子是何等的忙。对我来说,她是天下上最好的岳母。

好吧,尽管她很好,但我并不期望她的照片主导后续的义务流程。这个题目很好办理,只消引入一个扫除区域即可,即不检测扫除线左侧的部分(如下图的红线所示)。

岳母规避区域

再次运转这个系同一整日,不会再呈现厨房义务台之后的岳母了!

检测准确的人

我的下一个艰难是添加人脸识别而且只记载 Yumi 或我本人的图像。阐明一下,我需求运用这个系统不是为了给我本人引荐要穿的业俐,而是以便我本人轻松地测试这个系统,不必老是烦扰她相机目下摆制型。

我确实期望能边沿完毕人脸识别,以便俭省资本。可是,颠末进一步的研讨之后,这仿佛十分艰难。可行的人脸识别系统需求大宗 GPU 盘算,这会为本来就慢的系统平添大宗处理时间。目前我的人脸/人体检测系统的运转速率是 1 FPS。再慢就难取得好照片了。https://aws.amazon.com/deeplens/community-projects/OneEye/ 如许的更简单的人脸识别系统对我来说效果不可,因为它只可识别正面正脸。

思索到以上题目,我决议云上施行人脸识别。我修立了另一个 lambda 函数,当我的 Image Logger 有新项目时就会触发。然后,这个 lambda 函数会调用 AWS Rekognition 的人脸识别。假如这私人的身份被确定为我本人或 Yumi,则创立一个 Postgres 数据库条目。这个 Postgres 数据库便是我们不停道的衣着日记。图像获取时的时间、温度和气候状况(晴、雨、阴)以及识别出的人的名字也会被存储为该条目标一部分。目今的温度和气候是通过 RSS 调用气候局的数据获取的。着末,这张图像会被复制到另一个 S3 bucket,其用作可通过我的挪动运用拜访的大众图像效劳器。如许,我能确保仅有受限的图像是可公然拜访的,未来我以致可以添加分外的反省以确保不会公然任何敏锐图像。

运用 AWS Rekognition 的人脸识别很简单直接。只需求创立一个我念要系统识另外人脸的汇合即可。关于每张人脸(我和 Yumi 的),我需求调用 IndexFace 以将它们添加到该汇合中。

  • 更众详情请参阅:https://docs.aws.amazon.com/rekognition/latest/dg/API_IndexFaces.html

  • 反省一张人脸是否该汇合中也很简单,只需一次 API 调用:https://docs.aws.amazon.com/rekognition/latest/dg/faces-detect-images.html

构修一个时尚日记运用

这是第一阶段最冲感人心的部分,因为我毕竟可以一个挪动运用上查看透着日记了。我和妻子都是 iPhone 用户,以是这个挪动运用必需求 iPhone 上义务。现在构修挪动运用的方法十分众,比如运用 PhoneGap 等 HTML5 框架、运用 Ionic 和 Xamarin 等交叉开辟框架、直接运用 XCode。可是,终究我过去也是一个 iOS 开辟者,以是很分明我的挑选是 XCode。

为了拜访我的 Postgres 衣着日记,我运用一个 lambda 函数构修了一个大众 REST API。这个进程十分简单,我都惊呆了。古板上,你需求花费阵势部开辟时间来处理根底方法和安排,比如编写 REST 运用顺序框架、URL 道由、安排脚本等等,而不是写真正的 API 代码。假如你需求写的 API 和我的相同简单,那么这种状况会更加广泛。

着末,下面是全体的端到端的架构示企图。

faAi 架构示企图

我成功一天之内完毕了运用和 REST API 的开辟,包罗计划运用顺序启动屏幕和图标。这个运用的界面如下所示,很直观。此中有一个可滚动的竖直列外,展现了记载下来的 Yumi 的图像,并按日期举行了分组。另外另有一个气候图标(雨、阴或晴),再点一下则会显示当天的温度。现我可以说这个系统曾经开辟完毕!举措一名睹过世面的软件开辟者,我晓得下一步是 QA(质料包管)。

faAi 运用顺序

QA

我运转了这个系同一周时间,看起来可以准确义务。我拍到了 Yumi 进出门时的照片,而且没有一张是假正例!我也她的手机上安装了运用,如许她就可以开端运用它并为我供应反应了。

尽管结果不错,但照旧有少许需求我改良的和下一阶段添加的地方。

更好的姿态检测

取得的图像中对折的姿态都不敷抱负,比如她去够换鞋台时脸朝向了一边而且一条腿抬了起来、抱着我们的孩子或穿了一件外衣遮挡了她实行穿的业俐。我还找到了少许实例是她并不是念出门,而是衣着寝衣站门前。faAi 还不敷聪慧,只会检测到人脸时拍摄照片,而不管姿态质料怎样。

faAi 获取到的不睬念的姿态

这个阶段这不是什么大题目,因为现我们的目标是让她妙手机上浏览本人的衣着日记。她本人就能轻松地区分姿态不佳的照片和无照顾片。为了准确办理这个题目,我需求更繁杂的系统。我会后面的阶段实验。目前最简单的方法是让她出门或进门时脱去外衣,面临相机,疾速摆出一个好姿态,使得一开端能拍出几张好照片。

事情检测

这个阶段我还没有时间完毕这项义务,我将下一个阶段办理它。晓得她出门的启事事情也有帮于滤除不念要的照片,比如她只是出门丢个垃圾。

就目前而言,我很速乐完毕了一个里程碑。可是,要创制一个完备的端到端系统,还需求占领许众挑衅。但没有挑衅,又何故道生存呢?

敬请等候下一阶段!


原文链接:https://towardsdatascience.com/solving-my-wifes-problem-what-should-i-wear-today-with-ai-9283e6503ec9?gi=76f5c93cd80f

工程时尚盘算机视觉目标检测人体姿态估量
1
暂无评论
暂无评论~