国产无码免费,人妻口爆,国产V在线,99中文精品7,国产成人无码AA精品一,制度丝袜诱惑av,久久99免费麻辣视频,蜜臀久久99精品久久久久久酒店
        訂閱
        糾錯
        加入自媒體

        如何使用Python+OpenCV+Keras實現無口罩車輛駕駛員懲罰生成

        2021-06-18 15:44
        磐創AI
        關注

        介紹

        我們知道,在當前形勢下,我們正在逐步穩定地克服大流行病的情況,而且情況每天都在改善。但是,眾所周知,即使已經開始接種疫苗,徹底根除該病毒仍需花費很多年。因此,為安全起見,在接下來的幾年中,我們所有人都可能會習慣于戴口罩。就違反交通規則而言,政府仍然嚴格對在路上開車不戴口罩的人處以罰款。建立一個系統,能夠追蹤所有交通違法者的細節,提高公民的意識和紀律,是一個非常有用的辦法。還可以通過另外創建一個儀表板監視程序來跟蹤該交通規則違反者的增加或減少,在給定期間內收集罰款,確定主要違反規則的人群,從而改善該系統。工作范圍作為代碼實現的一部分,我們計劃設計一個模型,將圖像分類為戴口罩的和沒戴口罩的。對于獲得的屬于沒戴口罩類別的圖像,我們獲取車輛號牌的圖像,并嘗試提取車輛詳細信息。車牌識別使用第二個模型完成,該模型接收帶有車牌的輸入作為汽車圖像。一旦完成了車輛ID,我們便將詳細信息傳遞到虛擬數據庫,該數據庫包含車牌持有人的數據以及車輛的詳細信息。根據數據驗證,我們將產生罰款,該罰款將直接發送到違規者的家庭住址。軟件架構

        網頁抓取圖片

        項目始于確定要使用的數據集的問題。在我們的項目中,在線沖浪幾乎無法為我們提供可用于我們項目的現有數據集。因此,我們決定應用網絡抓取收集戴口罩和沒戴口罩的圖像。我們使用Beautiful Soap and Requests庫從網站下載圖像并將其保存到包含戴口罩和沒帶口罩駕駛員的不同文件夾中。我們從下面的URL中提取了數據,這些URL由已屏蔽圖像和未屏蔽圖像組成。鏈接url1 = https://www.gettyimages.in/photos/driving-mask?page=鏈接url2 = https://www.gettyimages.in/photos/driving-without-mask?page=下面是一段代碼,演示了Web上的圖像抓取。from bs4 import *
        import requests as rq
        import os
        url1 = 'https://www.gettyimages.in/photos/driving-mask?page='
        url2 = '&phrase=driving%20mask&sort=mostpopular'
        url_list=[]
        Links = []
        for i in range(1,56):
           full_url = url1+str(i)+url2
           url_list.append(full_url)
        for lst in url_list:
           r2 = rq.get(lst)
           soup = BeautifulSoup(r2.text, 'html.parser')
           x=soup.select('img[src^="https://media.gettyimages.com/photos/"]')
           for img in x:
               Links.append(img['src'])
           print(len(Links))
        for index, img_link in enumerate(Links):
          if i <= len(Links):
              img_data = rq.get(img_link).content
              with open("Masked_Drivers/" + str(index + 1) + '.jpg', 'wb+') as f:
                  f.write(img_data)
                  i += 1

        圖像預處理在將圖像發送到模型之前,我們需要應用一些清理技術,例如圖像大小調整圖像的灰度和將像素重新縮放為較低的值。之后,圖像和目標將保存在陣列中。import cv2,os
        data_path='Dataset'
        categories=os.listdir(data_path)
        labels=[i for i in range(len(categories))]
        label_dict=dict(zip(categories,labels)) #empty dictionary
        print(label_dict)
        print(categories)
        print(labels)
        img_size=100
        data=[]
        target=[]
        img_size=100
        data=[]
        target=[]
        for category in categories:
           folder_path=os.path.join(data_path,category)
           img_names=os.listdir(folder_path)
               
           for img_name in img_names:
               img_path=os.path.join(folder_path,img_name)
               img=cv2.imread(img_path)
               try:
                   gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)          
                   #Coverting the image into gray scale
                   resized=cv2.resize(gray,(img_size,img_size))
                   #resizing the gray scale into 50x50, since we need a fixed common size for all the images in the dataset
                   data.append(resized)
                   target.append(label_dict[category])
                   #appending the image and the label(categorized) into the list (dataset)
               except Exception as e:
                   print('Exception:',e)
                   
                 
         import numpy as np
        data=np.array(data)/255.0
        data=np.reshape(data,(data.shape[0],img_size,img_size,1))
        target=np.array(target)
        from keras.utils import np_utils
        new_target=np_utils.to_categorical(target)
        np.save('data',data)
        np.save('target',new_target)

        建立模型在這里,我們使用Keras的Sequential設計CNN模型。使用大約200個神經元作為輸入來構建CNN。應用激活函數和最大池化技術后,我們將獲得另一組輸出特征,這些特征將通過Conv2D的另一層傳遞。最后,我們從softmax中獲得2個輸出,它們代表輸入圖像的戴口罩或未戴口罩狀態。from keras.models import Sequential
        from keras.layers import Dense,Activation,Flatten,Dropout
        from keras.layers import Conv2D,MaxPooling2D
        from keras.callbacks import ModelCheckpoint
        model=Sequential()
        model.add(Conv2D(200,(3,3),input_shape=data.shape[1:]))
        model.add(Activation('relu'))
        model.add(MaxPooling2D(pool_size=(2,2)))
        model.add(Conv2D(100,(3,3)))
        model.add(Activation('relu'))
        model.add(MaxPooling2D(pool_size=(2,2)))
        model.add(Flatten())
        model.add(Dropout(0.5))
        model.add(Dense(50,activation='relu'))
        model.add(Dense(2,activation='softmax'))
        model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
        訓練和測試模型構建CNN模型后,我們將數據分為訓練集和測試集。后來,我們通過設置各種參數(例如時期,訓練集,驗證集和驗證拆分值),在訓練和測試數據上擬合CNN模型。from sklearn.model_selection import train_test_split
        train_data,test_data,train_target,test_target=train_test_split(data,target,test_size=0.4)
        checkpoint = ModelCheckpoint('model-{epoch:03d}.model',monitor='val_loss',verbose=0,save_best_only=True,mode='auto')
        history=model.fit(train_data,train_target,epochs=20,callbacks=[checkpoint],validation_split=0.1)

        1  2  3  4  下一頁>  
        聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯系舉報。

        發表評論

        0條評論,0人參與

        請輸入評論內容...

        請輸入評論/評論長度6~500個字

        您提交的評論過于頻繁,請輸入驗證碼繼續

        暫無評論

        暫無評論

          掃碼關注公眾號
          OFweek人工智能網
          獲取更多精彩內容
          文章糾錯
          x
          *文字標題:
          *糾錯內容:
          聯系郵箱:
          *驗 證 碼:

          粵公網安備 44030502002758號

          主站蜘蛛池模板: 搜索| 亚洲图片另类| 人人干人人爽| 新密市| 婷婷成人文学| 亚洲一级网此| www.91xxx| 制服丝袜国产日韩酒店大堂经理| 无限A片| 丝袜shi在线播放| 沐川县| 岛国在线无码| 偶偶福利影院| 国产中文| 开封市| 南川市| 久草视频网站| 69视频免费在线观看| 青青草无码| 金坛市| 九九精视频| 亚洲嫩模喷白浆| 中文字幕有码在线观看| 成人电影c.cc| 自拍偷拍亚洲| 国产高清在线| 熟女五码SV| 亚洲人妻视频| 秀山| 日韩福利在线视频| 色www88| 中文字幕亚洲有码| 内射少妇18| 凤翔县| 亚洲成人www| www.男人的天堂| 国产丝袜打飞机免费在线| 国产中文在线| 鄂托克前旗| 潼南县| 闵行区|