色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于模板的文字識別結果結構化處理技術

電子工程師 ? 來源:lq ? 2019-05-05 11:06 ? 次閱讀

隨著行業的發展和技術的成熟,文字識別(OCR)目前已經應用到了多個行業中,比如物流行業快遞包裹的分揀,金融行業的支票單據識別輸入,交通領域中的車牌識別,以及日常生活中的卡證、票據識別等等。OCR(文字識別)技術是目前常用的一種AI能力。但一般OCR的識別結果是一種按行輸出的半結構化輸出。

本次公開課我們邀請到了百度高級研發工程師向宇波老師,他將在12月20日(周四)帶來一場主題為《基于模板的文字識別結果結構化處理技術》的分享。本課程從百度自定義模板文字識別展開,從理論到案例,詳細介紹OCR結構化的相關技術,并理清OCR和結構化之間的關系和適用場景。

向宇波:大家好,我是來自百度AI技術生態部的研發工程師,我叫向宇波,今天給大家帶來的分享是基于模板的文字識別結果結構化處理技術,我們主要講的是文字處理結果的結構化。

文字識別行業現狀

我們從一個財稅案例的角度出發。大家在公司里肯定都做過報銷,報銷的時候我們都會有出租車票、定額發票等,我們需要將各種發票貼到紙上然后提交上去,由財務來做后面的事情。通常來說,他們其實做的都非常辛苦,要耗費大量的人力來進行人工錄入。這樣的話,不僅成本很高,而且耗時也很長,人工錄入的話還有可能會出錯。我們能不能夠通過用文字識別的方式來解決這個問題呢?比如把這個流程變成這樣,我們在中間加一層,不是人工錄入,而是通過一個識別系統,首先我們把這些票據通過圖像采集設備,例如高分辨率掃描、拍照這種方式轉換成圖像,然后通過文字識別技術把圖像上的文字識別出來,再經過一個數據的結構化,最后輸入到財務系統。這樣能節約大量的人力物力,也能夠提高效率及準確率。其關鍵部分是在識別之后做一個結構化處理。

我們來看一下多模板的結構化識別。首先來說,我們從剛剛的例子也能看得到,哪怕是一個很簡單的報銷過程,也涉及到很多種票據,例如火車票、定額發票等等。現實生活中這種票據非常多。所以,我們的結構化方案要能夠支持多種模板。

一般來講,OCR識別出來的結果是單純的一行一行文字,這樣業務處理起來會比較困難,key value形式的結構會比較好處理。我們用一個例子來解釋,比如我們識別一張火車票,這個火車票上面有一行文字是始發站,然后是車次、到達站。如果直接處理識別出來的那一行文字相對麻煩,因為需要去切分出各個字段。但是,如果我們的識別結果有結構,那處理起來就會容易很多。通過key value的形式檢索,我就能夠知道我的始發站(北京南),然后到達站(天津)、車次。所以結構化給業務處理帶來了極大的便利。

接下來我們看一下文字識別分類。通常來說文字識別分為兩個大類,一種是通用文字識別,另一種就是專用垂類識別。通用文字識別就像剛剛提到的,對一個圖片來說,識別結果會以行的形式輸出,同時會有比較準確的文字坐標,這種按行輸出的結構可以稱之為半結構化,它只能告訴你在這一行,在這一行,從上到下羅列,沒有真正意義上的key value結構。

專用垂類識別的結果有結構,比如說對于身份證,其實我們知道所有身份證都長的一樣,我們能夠知道身份證上這個地方是姓名,這個地方是性別,這個地方是民族,所以我們能夠返回的時候就告訴你姓名是什么,性別是什么,生日是什么。常見的專用垂類還覆蓋幾類常見卡證,像身份證、銀行卡、增值稅發票這些。但是開發一個專用垂類識別,通常來說需要花比較多的人力物力,才能夠達到一個比較高的準確度,所以它的開發周期和人力成本都比較高。

整個看來,業務處理需要不同板式的文字識別,并且希望能夠結構化,但是如果把它們變成專用的垂類模板來,就會面臨成本很高,周期很長的情況。

基于這些矛盾,我們推出了一個基于模板的文字識別結果的結構化方案。給大家做一個例子來演示,比如用火車票。我有一個火車票的模板,就是就拿我自己的火車票舉例,大家可以看到我的始發站、終點站都有了。然后我們可以再做一個模板,這次可以換一個增值稅發票的。首先我們上傳一張模板的底圖,所有的增值稅發票都長的差不多。然后我現在來選一些參照字段,選這個納稅人、開票日期、稅率、開票人、小寫、收款人、價稅,這樣就差不多了。比如說我想要識別這個,大寫的金額,保存。就可以選擇另外一張,這兩張顯然是不一樣的。我們來看一下,應該是這張,可以看到這里寫的是1000元整,這樣的話我們也可以多框選一些別的字段,就可以像剛剛火車票一樣,在這邊,在頁面上就可以測試出來我們想要的字段都能夠給它結構化,按key value的形式找到。

基于模板的文字識別結構化流程

剛剛說的看起來操作很簡單,但其實在它的背后我們做了一系列的操作。這個就是我們對整個文字識別結構化的流程,它經歷了4個大的步驟(4大流程)。首先是圖片擺正,然后是模板匹配、多次擺正,最后是結構化。

對于圖片的擺正來說,首先我們會進行一次文字識別,然后基于文字來尋找參照字段。我們通過參照字段來選擇參照字段能夠圍成的最大面積的四邊形,根據這個四邊形來計算透視投影矩陣,并做一系列的圖像變換,然后再計算所匹配的程度。如果足夠匹配了,OK,那我們結構化;如果沒有匹配,并且沒有達到我們的匹配次數上限,我們是可以再來一次,嘗試多次擺正,擺得更好一點。

基于深度學習的文字識別

我們來講一講基于深度學習的文字識別。首先大體上來說有兩種方式,一種是單字檢測加上單字識別,另一種是行檢測加上行識別。單字檢測就是把文字當做一般的物體檢測任務,例如可以用faster-rcnn這個網絡去做,每一個字都可以當做一個小物體。檢測出來的單字再用單字識別處理,本質上是個多分類任務。行識別就不再是檢測一個一個字,而是一個文本行。一般來說文本行的特征有:高度不是很高,但是可能一行字會比較長,它其實是類似于小豎條,然后橫著擺過來一個很長條的。對通常的物體檢測模型做改造,然后去檢測,其中一個好的例子就是cptn。然后把一行文字導出來之后再來識別,就可以當做是一個序列標注的問題了。當然現在也有這種端到端的,是大家正在做的一些方向。

基于模板的圖片擺正

我們再回到剛剛的模板。模板可以認為是一個標準的底版定義的結構,比如這個定額發票,其實我們一開始就知道我們需要識別的部分在模板上的位置,在這個票據上,我就知道這個發票代碼它其實就在這兒,發票號碼在這兒,金額在這兒。如果每張圖都長這樣,其實就很簡單。但實際上來識別的圖都不像模板一樣擺的那么正,識別的區域在圖片上的位置不是固定的,比如有可能我上傳的圖是這樣,如果按照固定位置扣取,很可能什么都扣不到。所以我們需要有一種方案,也就是剛剛說的擺正那套流程,希望把所有待識別圖都擺的跟模板一樣正。我們選用的是透視投影方法來做圖片的擺正,盡可能的把待識別的圖跟模板圖對齊,這樣比較方便后面提取字。

透視投影變換的時候,需要4組從待識別圖到模板圖對應的點對。也就是說像這樣,比如這個發票的票字它在這兒,但是識別圖上在這兒,模板上在這兒,這邊一個發票號碼,然后各種類似這樣的對應起來的點對。通過這4組點對可以計算一個透視投影矩陣,做透視投影變換。我們通過框選模板上固定字段來做參照字段,進而通過文字匹配方式尋找對應點對。通常一個票據它的板式固定,那么它就符合我們剛剛說的那種條件,是對應的點對。

如果參照字段有多個,這個時候可能就會遇到一個問題了。比如說對于這個票據來說,它雖然很簡單,在上面可以提取的字也只有1、2、3、4、5,比如說我只提取了5個字段作為參照字段,但是計算索引的時候只需要4個點,此時需要取舍。比如這兒雖然只有5個字段,但實際組成的點對個數其實是比較多的,比如這個藍線的可以算一個,這個紅線這一圈也可以算一個。我們經過一些實驗,當然從主觀上看也能夠想到,參照字段越分散它擺正的效果越好。可以這么理解,越分散的時候每一個點它能夠管轄的區域就越存在這個票面的四周,那么它擺的時候,相當于說你從一個更高的維度或者一個更大的范圍去擺,那么擺完的效果肯定比在一個小范圍內去拉動其他地方來擺的誤差小。

然后怎么樣來衡量這個分散的程度?我們選用面積作為衡量四邊形分散程度的指標。我們選面積的一個原因是好計算,四邊形可以當做是兩個三角形,只要有坐標,那么兩個三角形的面積很好計算。另一個,其實說分散是很難衡量的,如果轉化成面積的話其實面積就是一個數,比較好度量比較。

模板匹配

我們把待識別圖做了透視投影之后,接下來要計算它和模板匹配的程度。因為有的時候,比如說這個時候識別的文字并不是太好,我擺了一下,然后這個時候我發現我可以識別的字更多了,而且第一次擺的時候我能識別得更多,但是發現這個時候擺的還不夠,那我怎么能知道它擺得不夠好?就需要來計算和模板的匹配程度。我們在這個地方選擇的是用新的透視投影矩陣來計算擺正的程度。用新的透視投影矩陣計算擺正圖片四頂點和模板,四頂點的距離來判斷匹配程度。比如剛剛我們擺正之后,這個圖的四個頂點和模板底圖的四個頂點,有三個點都是比較近的,然后這個點相對來說遠一點,就可以通過這種距離的方式來判斷它的匹配程度。如果這個點通過擺正之后,計算出來它到了這個位置,那么距離的差其實就很小了,就可以認為它已經擺的非常好了,所以我們選擇的是用這種策略來判斷它匹配的程度。當然如果擺得很歪,這兒離得也很遠,整個是這樣一個傾斜的角度,如果和模板原圖的四個點其實距離比較遠,是能夠判斷出去這個時候匹配得不夠好,可能還要再去做一次。

剛剛說到了多次擺正,也就是說我可能會計算多個透視投影矩陣。這個時候我們用到了一種技巧,就是透視投影矩陣的一個棧來操作。如果對級聯透視矩陣有了解的同學就知道,我們通常來說透視投影的乘法是倒著乘的。比如這里的一個公式,M1代表的是透視投影之后的一個結果,M_origin表示是原圖的矩陣,然后乘透視投影矩陣。如果它只有一次擺正的時候,只有一個透視投影矩陣,這個時候它就等價于那個結果就是用原圖乘以這個透視投影矩陣。但有可能中間我們在處理的時候發現沒有擺正,可能這個時候就會計算出很多個透視投影矩陣,我們就會把它們都重復地往透視投影矩陣的棧里面壓入。這個時候,我們乘以透視投影矩陣棧就等價于原圖逆序乘以矩陣棧中每個元素。

為什么一定要費勁來用這個透視投影矩陣棧?我倒著乘它,從origin倒著乘M2,再乘M1,和乘M2、M1,它倆的解讀要加一個括號,其實是一樣的,從矩陣上是這樣。但是因為我們其實還是對圖片做透視投影,如果單純的類似括號的方式處理的話,它先乘以M2,它可能會把這個角扭到這兒,這個角往里收,可能會有一些圖超出了圖片原本的大小。那么在最后的一步處理的時候會進行一個裁剪,如果它有超出的部分,那么這個部分其實就已經被拋棄了。即使我后面希望再把它扭回來,其實那部分的信息已經永遠丟失。所以我們在這個時候有一個透視投影矩陣棧,雖然它是逆著出來的,但其實計算的時候是先把這個矩陣棧里邊做了一個相當于加括號的優先計算,以保留原圖的全部信息。

多類型結構化

我們經過一系列的擺正操作之后,圖片就跟模板比較接近了,可以對它進行一個識別結果的結構化處理。從剛剛我們的演示操作能看得到,我們的處理通常來說是有一個固定的識別區,就像剛剛火車票的這種始發站、車次號、終點站,我們識別出來是每個字有個小方框。我們對于這種固定識別區來說操作相對比較簡單,可以根據單字矩形框的待識別區矩形框的交并比來判斷是否屬于某個字段。就像這樣,比如說我們框的北京框是這兒,對于北京南這三個字完全處在起點站這個待識別區的內部。OK,那就可以確定它倆肯定是起點站這個識別區的內容。對于站這個字,雖然它也沾了一點,但是這個字的矩形框和整個待識別區矩形框的交并比并不多,所以我們就把它拋棄掉。對于車次來說,我們正好把這個全部框住,所以它們都是。對天津兩個字跟北京南的情況類似。對于這種簡單的情況可能就結束了。

對于更復雜的,比如說成段落的,比如說我框了整個這一片的時候,我們就需要做縱橫雙向排序來自動處理跨行文字的拼接。什么意思?比如這兩行,我會先對文字做一個上下的排序,所以第一行的字肯定拿出來會在第二行的前面,所以需要先對縱向每一個字做比較,然后把它們先分成上下兩行。然后再看那兩行之后,按照左右來排序,這樣排完之后出來的結果才是順序的從左到右,第一行然后第二行這樣的關系。

還有一種表格識別區。比如這個地方,這個識別區就是某一種體檢的結果,可以很明顯地看到它是一種表格,而且它沒有線,它既沒有橫線,也沒有豎線。我們需要把整個表格的結構從文字重新構建出來,我們在這個地方采用的是一種自底向上的表格構建方式,用先列后行的方式來減少非剛性形變的影響。比如說我們識別完了之后,現有單字的位置(比如前白蛋白4個字)的坐標,我們先從單字的坐標開始來構建組成一個字段關系。比如我們現在有4個字,我們根據位置關系把它組合成一個字段,這樣的話我們就知道它們是一個整體,不可拆分。通常來說表格的這種一個單格的內容確實是不可拆分的。然后我們根據它的橫向的位置關系來串成列,其實就有點像串冰糖葫蘆一樣。比如這個,我們知道其實所有的字段它的橫向位置都在這個區域,我們就可以把它們都這樣串起來,像串糖葫蘆一樣,串成一列。另外的兩列也可以做類似的操作,但最后讀的時候是一行一行讀,比如糖、5.04。按列之后,再每次取列的頭部字段,來根據高度信息組裝成行。比如在這兒就是糖,這一列取第一個就是糖,第二列取第一個就是5.04,第三個就是取這個。

這種方式能夠一定程度上地減少對于非剛性形變的影響。比如說什么叫剛性形變,什么叫非剛性形變?比如像現在是個平鋪的,就是一個很薄的很平整的一個面片,把它做仿射變換,都是剛性的,但如果是彎曲這種,扭過來,折痕這種,其實就稱為非剛性形變。那么它們的相對位置可能會有一些波紋型的變化,這種會比較難以處理。

我們現在就把結構化的兩個方式講完了,總結一下,還是對應到剛剛的4個大的流程,一個是圖片擺正,一個是模板匹配,計算和模板匹配的程度,如果匹配的還不錯,匹配上了,OK,那我們就進行結構化,去提取我們事先定義好的待識別區和表格識別區。但如果很不幸我們擺的還不夠正,那可能就會需要去做多次擺正這樣一個操作,力求把它跟模板匹配得比較好,最后再做結構化。

遷移學習與圖像分類

下面給大家介紹一下我們這個產品的分類器。為什么需要分類?其實根據第一個財稅的例子來看,可能我們會報很多種票據,比如說出租車票、增值稅發票。一般來說我們傳的時候,是一張一張傳,但匯聚到財務的時候,那就是一堆了,財務其實對不同的票據處理方式都不一樣,所以非常需要把它們區分出來。比如說對增值稅發票,有可能你報了那個發票多會對公司有什么減稅,別的人只是單純的報銷。

最近,我們也提出了對模板進行分類。其實最簡單的一個想法是,如果我們是按圖片,它就是一個簡單的圖像分類。我們可以采用的方案是基于遷移學習的一個圖像分類,所謂遷移學習就是在已有的分類任務上效果比較好的CNN的模型在別的分類任務上面也有不錯的效果,大家都知道比如ImageNet比賽有很龐大的數據,如果在那上面運行的預訓練模型的結果不錯,那么用它提取出來的特征在別的分類上效果也不錯。第二就是遷移學習能夠極大地減少訓練數據需求的量,還有訓練時長。

我們的分類除了基于圖像,還有關注到它基本都是票據類的圖像,它其實是包括文字的,所以我們也結合了文字的特征來進行一個分類。首先是把整張圖過一遍CNN的模型,提取出它的圖像的特征,然后還要結合它的OCR出來的文字,提取它的文字特征。最后把兩種特征進行一個融合,然后再去訓練最終的分類器。

可以給大家看一個例子。比如在這里有一個分類器管理,我們可以看到我現在已經有的三個分類器,點編輯進去看一看。我現在能分的就是車牌跟火車票,可以在這兒試一試。火車票,它就分類到我的火車票了,就像剛剛我定的那個模板一樣,就把那些數據都給結構化出來。就是說剛剛在這個地方的時候,相當于是指定了某一個模板。但是在分類器的時候其實就不需要了,隨便扔,隨便把圖扔進去,然后它就能自動地幫我們分類,并且做我們需要的結構化。基于分類的原理就是這樣。

最后給大家帶來一個財稅場景上的例子,就是木牛盒子這個產品,它首先通過批量的票據掃描,其實就是這種掃描儀,能夠把圖像比較清晰地掃描出來,然后使用我們剛剛自定義模板的票據分類,然后結構化的功能加各種票據進行分類出來,就做到了智能識別。然后再把它結構化出來,再生成憑證,進行輸出。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 識別系統
    +關注

    關注

    1

    文章

    138

    瀏覽量

    18818
  • 結構化
    +關注

    關注

    0

    文章

    27

    瀏覽量

    10326
  • 文字識別
    +關注

    關注

    0

    文章

    16

    瀏覽量

    8648

原文標題:基于模板的文字識別結果結構化處理技術 | 公開課速記

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AI提取圖片里包含的文字信息-解決文字無法復制的痛點

    這個文字識別接口里不僅僅有通用文字識別功能,還支持很多其他功能:比如身份證、駕駛證、保險單、手寫文本、火車票,行駛證.......等等功能。還支持用戶自定義
    的頭像 發表于 07-07 09:37 ?1603次閱讀
    AI提取圖片里包含的<b class='flag-5'>文字</b>信息-解決<b class='flag-5'>文字</b>無法復制的痛點

    音頻信息識別與檢索技術

    技術可以自動從音頻文件中獲得這段音頻的內容信息:“由誰說的、用的什么語言、說的內容是什么”。因此,利用音頻信息識別與檢索技術可以對多媒體文檔中的音頻信息自動建立索引,以解決對非結構化
    發表于 03-05 22:53

    首發 | 告別手動錄入,開放平臺OCR上線印刷文字識別

    ,基于訊飛AI研究院獨創的基于深度神經網絡模型端到端文字識別系統,識別文字符號的數字影像,并將其轉換為對應的電腦等設備可編輯的數字文本,最終達到識別
    發表于 05-17 15:18

    TrustZone結構化消息是什么?

    大家好,我已閱讀任何與TrustZone相關的內容,但我無法弄清楚這兩個世界是如何相互溝通的。我所能找到的只是TrustZone API規范中的內容:客戶端和服務可以通過兩種機制進行通信:結構化
    發表于 03-20 08:58

    基于AI通用文字識別能力,檢測和識別文檔翻拍、街景翻拍等圖片中的文字

    鏈接,完成設備調試的相關配置:使用真機進行調試使用模擬器進行調試3. 代碼結構解讀基于AI的通用文字識別示例教程主要內容包括:圖片列表展示、輸入文本、分詞、通用文字
    發表于 08-27 11:27

    結構化設計分為哪幾部分?結構化設計的要求有哪些

    結構化設計分為哪幾部分?結構化設計的要求有哪些?結構化設計主要包括哪些部分?
    發表于 12-23 06:15

    結構化布線的綜合說明

    結構化布線的綜合說明 一、結構化布線系統簡介     隨著計算機和通信技術的飛速發展,網絡應用
    發表于 04-14 17:16 ?745次閱讀

    改進區域生長的非結構化道路識別

    針對智能車輛在非結構化道路識別中需要采用眾多的特征參數,增加了特征融合識別難度與計算復雜度,并且部分背景與道路區域存在相似性會產生道路識別的誤分、誤判的問題,提出了一種基于主成分分析的
    發表于 12-01 14:59 ?5次下載
    改進區域生長的非<b class='flag-5'>結構化</b>道路<b class='flag-5'>識別</b>

    基于matlab的文字識別算法

    在圖像中,文字信息包含了豐富的高層語義信息,提取出這些文字,對于圖像高層語義的理解、索引和檢索非常有幫助。基于matlab的文字識別算法具有局限性,
    發表于 01-15 10:31 ?3w次閱讀
    基于matlab的<b class='flag-5'>文字</b><b class='flag-5'>識別</b>算法

    基于FPGA的OCR文字識別技術的深度解析

    識別整體性能為GPU P4 130%,處理延時僅為P4的1/10,CPU的1/30。 1.文字識別技術- OCR OCR
    發表于 01-26 12:19 ?4035次閱讀

    視頻結構化技術在智慧交通領域有什么可以應用的

    視頻結構化描述既是海量視頻實現信息化、情報化轉化行之有效的技術,也是當前公共安全領域中對視頻結構化處理的一個指向性方案。
    發表于 10-28 16:07 ?1159次閱讀

    使用貝葉斯決策和Hough實現非結構化道路檢測與障礙物識別算法

    行圖像分割,然后利用 Hough變換進行道路檢測、提取出純路而區域并再次進行路面分割,最后根據分割結果進行路面障碉物定位。結果表明,該算法能夠有效實現非結構化道路的檢測與障礙物的識別
    發表于 07-06 17:45 ?8次下載
    使用貝葉斯決策和Hough實現非<b class='flag-5'>結構化</b>道路檢測與障礙物<b class='flag-5'>識別</b>算法

    計算機文字識別技術研究

    計算機文字識別技術研究。
    發表于 03-24 14:15 ?16次下載

    淺析HarmonyOS基于AI的通用文字識別技術

    對圖像信息進行文字檢測、識別和關鍵信息提取,并根據分析結果提供翻譯、搜索等相關服務。 通用文字識別的核心
    的頭像 發表于 08-20 10:42 ?3194次閱讀

    通過圖像處理改善OCR識別結果的實例

    本文主要介紹一個通過圖像處理改善OCR識別結果的實例,并給出詳細步驟和源碼。 **背景介紹** 在很多情況下,文字識別會遇到困難
    的頭像 發表于 02-08 16:54 ?857次閱讀
    主站蜘蛛池模板: 美女快播第一网| 97精品视频在线观看| 好吊妞在线成人免费| 99国产精品成人免费视频 | 嗯啊插的好深啊使劲抽视频| 大学生第一次破女在线观看| 中文字幕亚洲欧美日韩2019| 视频一区视频二区在线观看| 男女交性视频无遮挡全过程| 国内精品一级毛片免费看| XXXchinese国产HD| 在线观看日本污污ww网站| 亚洲粉嫩美白在线| 色综合久久久久久| 欧美午夜不卡在线观看| 久久久久久久久女黄9999| 国产学生无码中文视频一区| 大胆国模一区二区三区伊人 | 色综合久久88色综合天天提莫 | 久久re这里精品23| 国产精品自产拍在线观看中文| www.狠狠色| 97久久精品人人槡人妻人| 在线免费福利| 一个人的视频全免费在线观看www| 小草观看免费高清视频| 色中色最新地址登陆| 日韩免费一区二区三区在线| 欧美巨大xxxx做受孕妇视频| 恋夜影院安卓免费列表uc | 欧美一区二区视频高清专区| 久久久久久久国产精品视频| 精品久久久久中文字幕日本 | 免费的av不用播放器的| 久久青草费线频观看国产| 娇小XXXXX第一次出血| 狠狠狠色丁香婷婷综合久久| 好硬好湿好大再深一点动态图| 国产人妻人伦精品久久无码| 国产精品禁18久久久夂久| 国产盗摄一区二区|