丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能開發(fā)者 正文
發(fā)私信給skura
發(fā)送

0

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

本文作者: skura 2019-10-01 09:57
導語:用 AI 打造一款時尚應用

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

我妻子幾乎每天都會問這個問題:我今天該穿什么?這是一個很難回答的問題,因為首先我沒有時尚感,而 Yumi 恰恰相反,她有時裝設計學位。其次,我記性不好,我想不起來她過去幾周穿了什么衣服,回答可能千篇一律。

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

所以,有一天,我決定利用周末的時間來開發(fā)一種我認為可以解決她的問題的技術。

在開始之前,我想感謝她在這個項目和我所有其他瘋狂的項目中給予的所有支持。親愛的,你是最棒的!

研究

我開始做一些研究,找出我需要建立什么樣的模型。我試著把自己當成她,找出我需要什么樣的信息來決定今天穿什么衣服。

我有什么衣服?(CH)

顯然,我需要從我現(xiàn)在擁有的衣服中推薦一件衣服。所以我認為這是一個必須要有的信息。

過去幾周我穿了什么?(CD)

你肯定不想連續(xù)幾天一次又一次地穿同樣的衣服。盡管這并不是非常關鍵,但知道自己在過去幾周里穿了些什么,對于提供更多樣的推薦還是很有用的。除此之外,知道關于天氣和今天要做什么對推薦系統(tǒng)也很有用,你需要知道哪件衣服適合哪種場合和天氣。

今天的天氣(W)

不用擔心你穿的衣服會受到那天天氣的影響。

事件(E)

當你要去參加一個聚會時,你可能想穿一件好看淑女的衣服,但是如果你要去遠足,你會想穿一件適合運動的衣服。

綜上所述,今天要穿的衣服(CTWT)可以用以下函數(shù)來描述:

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

我只需要建立一個系統(tǒng)來實現(xiàn)這樣的函數(shù),聽起來很簡單吧?我開始瘋狂地發(fā)揮想象力,最后決定做一個語音助理設備,上面會有一塊屏幕,Yumi 可以問「我今天應該穿什么?」屏幕上就會附上推薦服裝的照片。甚至是,它將顯示 Yumi 穿那些衣服的樣子,以提供直觀的選擇。這個設備還能夠解釋它做出這種建議的理由,這樣它就可以回答 Yumi 的后續(xù)問題「你為什么推薦我這樣穿?」。

這項技術肯定會涉及很多人工智能。興奮之余,我開始為這個人工智能尋找一個名字和一個角色,并最終決定命名為 faAi。它的發(fā)音是「Fei」,代表人工智能時尚助理。

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

行動計劃

我開始記下我需要執(zhí)行的任務:

  • 建立一個照片日記,記錄她每天穿什么(CD),標記事件和天氣。

  • 建立她自己的服裝照片目錄(CH)

  • 在她的衣柜上安裝一個語音助手機器人

制作服裝目錄的一個簡單方法是將她所有的衣服逐一拍照。她會每天自拍。然而,為了客戶體驗和自動化,將這個過程自動化對我來說是不可拒絕的。我需要一個系統(tǒng),自動建立她的服裝目錄和穿搭日記,而不需要她自己動手。

經過一番思考,我想出了這個計劃:如果我在房子里的某個地方安裝攝像頭,自動拍下她全身的照片會怎么樣?

相機應該足夠智能,只給她拍張照片,而不會拍下我、我父母和別的親戚。它還需要能夠識別她穿的衣服,將它們存儲在衣服日記中,并且將每件衣服存儲在對應的衣服目錄中。

除了相機,我還需要一個計算設備來執(zhí)行以上所有的智能操作。完美滿足要求的設備是 AWS DeepLens。這是一個支持深度學習的攝像頭,你可以在設備上部署無數(shù)的人工智能模型。

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

從這一點開始,我開始意識到這將是一個大項目。我肯定需要建立一個人工智能模型,在視頻幀中識別人臉和身體,并進行面部識別。在 Yumi 的臉被識別之后,下一個人工智能模型需要識別她的衣服,并執(zhí)行搜索,如果我們沒有在她的目錄中添加這件衣服,那就創(chuàng)建一個新條目。不管怎樣,如果這是一件新衣服,一個條目也會被添加到衣服日記中,并標記對應的天氣和事件。

為了保持頭腦清醒,我決定將這個項目分成幾個階段,第一階段的重點是自動構建衣服日記。因為我不需要建立服裝目錄,我還不需要建立服裝識別系統(tǒng)。盡管最終目標是在她的衣柜上加上一個語音助理,但我希望在第一階段完成時她已經可以使用一些功能。所以,我增加了一個額外的任務,建立一個移動應用程序,她可以用這個程序來瀏覽她的衣服日記,這至少可以幫助她決定穿什么。

服裝日記自動生成器

我的第一個任務是找到安裝這臺相機的位置。把相機裝在她的衣柜里可能不是個好主意,因為我真的不想意外地曝光不合適的照片。另外,我只想在她外出時把這些衣服加到她的日記里,沒有必要記錄她在家里穿著睡衣的樣子。

經過一番搜尋,我找到了一個完美的地點。在一個柜子上,可以直接看到家的大門。好吧,你需要穿過大門才能離開房子。

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

用 AWS DeepLens 檢測人和人臉

我的下一個任務是建立一個運行在我的 AWS DeepLens 中的人工智能目標檢測模型,它可以檢測人和臉的存在和位置,用面部識別檢測出他們是誰,然后將他們全身的圖像裁剪到衣服日記中。

我使用 Amazon SageMaker 構建了一個自定義的對象檢測模型,并將其部署到 AWS DeepLens 中。不過這里就不贅述細節(jié)了,我將在一個單獨的博客中公布全部細節(jié)。

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

在 AWS DeepLens 上運行的人臉和目標檢測

AWS DeepLens 提供了一個名為 Project Stream 的非常有用的特性,可以在其中顯示和注釋視頻幀,并在你的 web 瀏覽器上觀看它們。這樣,我可以很容易地觀察我的模型的性能,并繪制一些文本和框來幫助我調試。正如你在上圖中看到的,我的模型正準確地辨認出 Yumi 的全身和臉部。我對準確度很滿意。

在正確的位置檢測到人

下一個要解決的問題是,只有當人靠近門區(qū)域時才觸發(fā)拍照,這通常發(fā)生在有人打算離開房子的情況下。然而,下面的一段視頻顯示了一個假陽性檢測,這個人只是從前客廳走向餐廳。

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

假陽性檢測

看看下面我的房子平面圖,可以清楚地看到兩個紅色箭頭,這兩個箭頭指示的是導致假陽性檢測的人的行走路徑。而我們只想抓住在綠色區(qū)域的人。最簡單的解決方案是,只有當一個人的邊界框的頂部和底部完全位于屏幕內部時,才拍下他。使用上述假陽性情況測試此邏輯將正確跳過此圖像,因為邊界框的底部在屏幕之外。

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

當邊框的頂部和底部都完全位于屏幕內部時,將觸發(fā)正確的圖像捕獲。

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

正確檢測

為了確保我已經覆蓋了所有可能的假陽性情況,我需要運行一整天的系統(tǒng)。首先,我必須完成系統(tǒng)的下一部分,它將檢測到的人的裁剪圖像發(fā)送到我的圖像記錄器 s3 存儲器中。這樣我就可以在沒有監(jiān)督的情況下運行系統(tǒng)一整天,并且在試運行結束時簡單地檢查該存儲器中的所有圖像。

從物聯(lián)網(wǎng)設備發(fā)送圖像的最佳方式是通過 MQTT 消息傳遞系統(tǒng),這是非常容易做到的,特別是在你創(chuàng)建 AWS DeepLens 項目時已經提供了很好的示例代碼。我只需要添加一些額外的代碼行,將裁剪后的圖像編碼為 jpeg 流,并對它們進行 base64 編碼,這樣我就可以通過 MQTT 將其作為字符串消息發(fā)送。

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 主題訂閱者接收,然后觸發(fā) lambda 函數(shù)以 base64 解碼圖像并將其保存到 s3 存儲器中。從 MQTT 字符串解碼圖像非常簡單,只需下面的一行代碼。

jpgStream = base64.b64decode(event

有了以上這些,我一整天都在運行這個系統(tǒng),周末過得很愉快。

排除岳母

在運行了一整天的系統(tǒng)之后,我的圖像記錄器顯示了很多有趣的圖像。一些圖像是正確的檢測,如下所示,這是好的。

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

正確檢測

看到我的其他家庭成員被記錄在案是意料之中的事,然而其他的事情引起了我的注意。在所有拍攝的照片中,95% 都是我岳母(更具體地說是她的上半身)的照片。

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

岳母正在做她的傳統(tǒng)餃子

查看下面的原始視頻片段日志,可以發(fā)現(xiàn)原因。

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

坐在廚房長凳后面的岳母

顯然,她通過了檢測邏輯,因為她的人的頂部和底部(由于與廚房長凳的遮擋,只檢測到一半的身體)完全在屏幕內。她花了很多時間在廚房里,這個系統(tǒng)捕捉了她的很多照片。這會導致這個過程進一步走下軌道,做很多不必要的面部識別,這是不好的。然而,看到她一整天被記錄下來的無數(shù)照片,讓我想起她每天都在忙著為我們準備飯菜和幫助我們帶寶寶。對我來說她是世界上最好的岳母…

好吧,不管她有多棒,我不希望她的照片在處理過程中占據(jù)主導地位。這個問題只需引入一個禁區(qū)就可以解決。其目的是排除排除線左側的檢測(如下紅線所示)。

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

排除婆婆的區(qū)域

再運行一整天的系統(tǒng),就發(fā)現(xiàn)不會有婆婆坐在廚房的長凳后面的照片了!

檢測到正確的人

我的下一個挑戰(zhàn)是添加一個面部識別模塊,只記錄 Yumi 或我自己的圖像。澄清一下,不是說我需要用這個系統(tǒng)來推薦我穿什么衣服,而是為了讓我自己可以輕松地測試這個系統(tǒng),而不必讓她一直在鏡頭前擺姿勢。

我真的很想在邊緣做面部識別,以節(jié)省成本。不過,經過進一步調查,這似乎很難。一個合適的面部識別系統(tǒng)是相當 GPU 密集的,這將為一個已經很慢的系統(tǒng)增加一個重要的處理時間。目前,我的面部/人檢測系統(tǒng)以每秒 1 幀的速度運行。任何比這慢的速度都會降低抓拍成功的幾率。像這里描述的一個簡單的面部識別系統(tǒng)對我來說不起作用,因為它只能識別一個直接的正面人臉。

基于以上這些原因,我決定在云中做面部識別。我設置了另一個 lambda 函數(shù),當我的圖像記錄器中有一個新條目時,該函數(shù)將被觸發(fā)。這個 lambda 函數(shù)被稱為 AWS Rekognition——通過面部識別來識別人(Facial Recognition to identify the person)。如果確定此人是我或 Yumi,將創(chuàng)建 Postgres 數(shù)據(jù)庫條目。這個 Postgres 數(shù)據(jù)庫就是我們一直在談論的服裝日記。拍攝圖像時的時間、溫度和天氣狀況(晴天、下雨、多云)以及確定的人員姓名也作為條目的一部分存儲。目前的溫度和天氣是通過向氣象局打一個 RSS 電話獲得的。最后,圖像還將被復制到另一個 s3 存儲器中,該存儲器充當公共圖像服務器,我的移動應用程序可以訪問該服務器。這樣我就可以確保只有滿足條件的圖像集是公開的,而且將來我甚至可以添加額外的檢查來確保公開的圖像中沒有敏感的圖像。

使用 AWS 識別——面部識別是相當直接的。我只需要創(chuàng)建一個包含我想讓系統(tǒng)識別的人的人臉集合。對于每個人臉(我和 Yumi),我需要調用 IndexFace 將它們添加到集合中。檢查一個面是否在集合中就像只調用一個 api 一樣簡單。

打造時尚日記應用

這是第一階段中最激動人心的部分,因為最后我將能夠在移動應用程序上可視化服裝日記。我們都是 iphone 用戶,所以移動應用程序必須在 iphone 上運行?,F(xiàn)在有很多方法來構建移動應用程序,比如使用像 PhoneGap 這樣的 html5 框架,像 Ionic 和 Xamarin 這樣的交叉開發(fā)框架,或者直接使用 Xcode。不過,由于過去我是一個 iOS 開發(fā)人員,因此顯然我的選擇是 Xcode。

為了提供對 Postgres 衣服日記的訪問,我使用 lambda 函數(shù)構建了一個公共 REST API。用它構建一個功能性 REST API 實在是太容易了,以至于我對此印象深刻。通常,你將花費大部分開發(fā)時間處理基礎設施和部署,例如編寫 REST 應用程序框架、URL 路由、部署腳本等,而不是編寫實際的 API 代碼。如果你需要編寫的 API 像我的例子中那樣簡單,那么它就更普遍了。

最后,下面是整個端到端架構圖。

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

faAi 架構圖

我設法在一天內完成了應用程序和 REST API,包括設計應用程序啟動屏幕和圖標。如下圖所示,應用程序的界面非常直觀:一個可滾動的垂直列表,顯示按日期分組的 Yumi 的圖像、天氣(下雨,多云或晴天)圖標、一天的溫度等。我現(xiàn)在可以說系統(tǒng)已經開發(fā)完成了!作為一個有經驗的軟件開發(fā)人員,我知道下一個重要的步驟是 QA。

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

faAi 應用程序

QA

我整個星期都在運行這個系統(tǒng),看起來它工作正常。我拍到了尤米進出房子的照片,沒有一個假陽性!我還在她的手機上安裝了這個應用程序,這樣她就可以開始使用它并給我反饋。

盡管取得了很好的成績,但在下一階段我還需要改進和補充一些東西。

更好的姿態(tài)檢測

一半的圖像是以非理想姿勢拍攝的。例如,當她走到換鞋長凳前,抱著我們的孩子,或者穿著一件夾克,上面蓋著她實際穿的衣服,一條腿向上笨拙地側身時。我還發(fā)現(xiàn)了一些例子,她有時并不是準備出門,而是穿著睡衣站在門前。faAi 還不是很聰明,只要它檢測到一張臉,不管姿勢的質量如何,它都會拍照。

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

faAi 抓拍到的非理想姿勢

對于這個階段來說,這并不是什么大不了的事情,因為我們的目標是開發(fā)一個移動應用程序,讓她可以瀏覽服裝日志。她能很容易地過濾掉其他壞姿勢或不相關的照片。為了解決這個問題,需要一個更復雜的系統(tǒng),我將在未來的階段嘗試。目前,最簡單的解決辦法是讓她脫掉外套,面對鏡頭,在出門或進屋時迅速擺好姿勢,這樣拍的前幾張照片就很好了。

事件檢測

這是我在這一階段沒有時間完成的任務,我將在下一階段處理。知道她出門的原因也有助于過濾掉不需要的抓拍,例如:她出去扔垃圾的時候。

現(xiàn)在就這樣了,我很高興達到了一個里程碑,但是還有很多挑戰(zhàn)需要我去解決,解決所有問題之后才能有一個完整的端到端系統(tǒng)。但是沒有挑戰(zhàn)的生活有什么意思呢?

請繼續(xù)關注下一階段!

via:https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Ftowardsdatascience.com%2Fsolving-my-wifes-problem-what-should-i-wear-today-with-ai-9283e6503ec9

雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)

雷峰網(wǎng)版權文章,未經授權禁止轉載。詳情見轉載須知。

我的妻子總問我她今天該穿什么,于是我用AI做了這樣一款時尚應用

分享:
相關文章
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經綁定,現(xiàn)在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說