天天看點

latex寫論文(TeXstudio工具)

目錄

    • 前言
    • IEEE模闆
    • 模闆免費分享
    • 參考文獻寫作方法
    • 我的.tex檔案代碼

前言

學校老師要求我們以IEEE頂級會議格式與标準寫報告,于是過程雖然麻煩點,但是效果還是不錯了,下面先展示一下自己寫完的效果。

latex寫論文(TeXstudio工具)
latex寫論文(TeXstudio工具)

IEEE模闆

我是在 Overleaf 上注冊了個賬号下載下傳了模闆,裡面有各種會議論文的寫作模闆,這個注冊還挺麻煩,要外網注冊,國内郵箱都不行。進行後點菜單,菜單裡有下載下傳源碼。

latex寫論文(TeXstudio工具)

模闆免費分享

已經将在官網下載下傳的模闆打包壓縮上轉,連結如下:

https://download.csdn.net/download/weixin_39615182/13799871

大家下載下傳後用TeXstudio打開下面.tex檔案,我建議你把他複制一份然後重命名成自己的。如複制一個重命名為Sample_my.tex。若TexStudio工具沒有下載下傳的自己去搜尋下載下傳安裝一下。打開後點選綠色運作圖示即可。

latex寫論文(TeXstudio工具)

如果你要寫中文,并且要插入圖檔,那麼你必須引入兩個包,如圖,不然會報錯

latex寫論文(TeXstudio工具)

參考文獻寫作方法

這裡參考文獻需要重點說一下,滑倒最後兩個thebibliography中間的就是參考文獻,不建議大家這麼寫

latex寫論文(TeXstudio工具)

添加文獻,我是這麼做的:

1、将上圖\begin{thebibliography}和\end{thebibliography}以及它中間的都删除,換成下面兩行代碼

\bibliographystyle{plain} %參考文獻,預設寫plain
\bibliography{smoke} 
           
latex寫論文(TeXstudio工具)

2、建立一個smoke.bib檔案,這個檔案在你.tex檔案同目錄建立,名字自己去,因為我報告是做抽煙識别,是以我取smoke,你取什麼記得順便把圖中\bibliography{}中改一下即可

3、建立好後,在TeXstudio打開smoke.bib,如下

latex寫論文(TeXstudio工具)

4、我們怎麼作出這種有角标引用文獻效果呢?

latex寫論文(TeXstudio工具)
  • 首先,假設你要找yolov4的文獻,你先要知道yolov4文獻全名,搜尋并下載下傳論文的pdf得知全名是YOLOv4: Optimal Speed and Accuracy of Object Detection,複制這個名字。到下面連結粘貼http://scholar.hedasudi.com
    latex寫論文(TeXstudio工具)
    搜尋後,點引号,即引用
    latex寫論文(TeXstudio工具)
    再點選BibTex
    latex寫論文(TeXstudio工具)
    點選就會跳出.bib格式的參考文獻,将其複制,放到建立的smoke.bib中
    latex寫論文(TeXstudio工具)
    5、最後一步就是引用了你隻需要在你.tex檔案中,如我這裡yolov4要寫個引用,就寫

    \cite{bochkovskiy2020yolov4}

    ,注意:cite中要和找到的bib第一行名字一緻,這樣就會自動在最後參考文獻引用,文獻也會在最後顯示出來
    latex寫論文(TeXstudio工具)
    latex寫論文(TeXstudio工具)

我的.tex檔案代碼

\documentclass[conference]{IEEEtran}
% correct bad hyphenation here
\usepackage{ctex}%引入中文包,使得中文可以正常顯示
\usepackage{graphicx}          %導入圖檔的宏包
\hyphenation{op-tical net-works semi-conduc-tor IEEEtran}
\begin{document}

% paper title
%\title{Submission Format for IMS2014 (Title in 24-point Times font)}
% If the \LARGE is deleted, the title font defaults to  24-point.
% Actually, 
% the \LARGE sets the title at 17 pt, which is close enough to 18-point.
%+++++++++++++++++++++++++++++++++++++++++++
\title{\kaishu 基于yolov4算法的抽煙檢測}

\author{\kaishu 喻\,曾\,鄭\,陳\,黃 }

% use only for invited papers
%\specialpapernotice{(Invited Paper)}

% make the title area
\maketitle

\begin{abstract}
抽煙檢測在實際應用場景中具有重大意義,如油田,加油站,公共場所等都不能有明火,未熄滅的火苗可能會帶來巨大的安全隐患,是以需要通過監控的方式進行實時監督,本系統主要是基于yolov4算法對抽煙行為進行識别,首先在網絡上收集了許多抽煙圖檔,并進行了資料預處理操作,然後對圖檔指定區域進行了标注。本文用yolov4算法以及SSD算法分别對資料集進行了訓練,最後對比發現yolov4算法效果更好。于是最終确定yolov4算法訓練出的模型為檢測模型,我們打開攝像頭檢測時發現抽煙行為都能檢測出,但對于十分相似的白色物體會識别錯誤,如粉筆,這是需要改進的,最終對比兩個算法,發現yolov4檢測效果更好,故使用yolov4進行檢測。
\end{abstract}

\IEEEoverridecommandlockouts
\begin{keywords}
抽煙檢測,yolov4,資料預處理,SSD
\end{keywords}
% no keywords

% For peer review papers, you can put extra information on the cover
% page as needed:
% \begin{center} \bfseries EDICS Category: 3-BBND \end{center}
%
% for peerreview papers, inserts a page break and creates the second title.
% Will be ignored for other modes.
\IEEEpeerreviewmaketitle



\section{引言}
% no \PARstart
目标檢測是計算機視覺領域的基本且重要的問題之一,幾十年來也一直都是一個活躍的研究領域。目标檢測的目标是确定某張給定圖像中是否存在給定類别(比如人、車、自行車、狗和貓)的目标執行個體;如果存在,就傳回每個目标執行個體的空間位置和覆寫範圍。目标檢測主要可以分為兩大主要類别:1. 兩級式(two-stage)檢測架構,包含一個用于區域的預處理步驟,使得整體流程是兩級式的。2. 單級式(one-stage)檢測架構,即無區域的架構,這是一種單獨提出的方法,不會将檢測提議分開,使得整個流程是單級式的。如下(1),(2),(3),(4)為基于區域(two-stage)的網路,(5),(6)是基于回歸(one-stage)的網絡,基于區域的網絡,精度高,但運算較慢,無法達到本系統的實時要求,而基于回歸的網絡檢測速度快,能達到實時效果,故作為備選網絡,最終比較備選網絡哪個更優。
\begin{enumerate} 
 \setlength{\itemsep}{-2ex}  
 \setlength{\parskip}{0ex} 
 \setlength{\parsep}{0ex}
 
\item R-CNN\\R-CNN\cite{girshick2014rich}使用深度學習的方法代替了傳統的目标檢測方法,是基于深度學習的目标檢測算法的鼻祖,但該網絡檢測圖檔耗時,速度慢,繁瑣,占用空間大。\hfil\break

\item Fast R-CNN\\Fast R-CNN\cite{girshick2015fast}彌補了上面的不足,架構更為精簡,但候選區域使用了選擇性搜尋算法(SS),該算法占用目标檢測2/3的時間,是以還無法滿足實時性要求。\hfil\break

\item Faster R-CNN\\Faster R-CNN\cite{ren2016faster}檢測過程有4個步驟1、提取候選區域 2、特征提取 3、特征分類 4、邊框回歸 ,上述 4步統一到一個深度網絡架構中用候選區域網絡(RPN)取代選擇性搜尋(SS),這也是Faster R-CNN的巨大優勢,極大提升檢測候選框的生成速度,但還是達不到實時的效果。
\hfil\break

\item YoLo\\YoLo将目标檢測任務轉換成了一個回歸問題,使得yolo檢測最快速度達到200fps(Frames Per Second---每秒鐘幀數越多,所顯示的動作就會越流暢),達到實時效果,但在精度上會有所下降,這是在精度與速度權衡後的結果。本文就用了yolov4-keras\cite{bochkovskiy2020yolov4}網絡進行訓練。\hfil\break

\item SSD\\SSD\cite{liu2016ssd}在做到實時檢測基礎上,進一步提高了其檢測準确率,SSD模型核心Prior box,SSD基于Faster R-CNN的候選區域機制,提出了Prior\,box概念,SSD優點明顯,運作速度可以與yolo媲美,檢測精度則可以與Faster RCNN媲美,缺點是需要人工設定Prior\,box的參數值。本文也用了SSD網絡進行訓練。\hfil\break

\end{enumerate}

\section{相關技術概述}
\begin{enumerate} 
\setlength{\itemsep}{-2ex}  
\setlength{\parskip}{0ex} 
\setlength{\parsep}{0ex}
\item YoLoV4\\yolov4相較于yolov3\cite{redmon2018yolov3}增加了許多新特性,并且識别的平均精确率也有所提高,新增特性有WRC,CSP,CmBN,SAT,Mish激活,Mosaic資料增強,CmBN,DropBlock正則化和CIoU丢失等等,增加了許多新的小tricks,且AP與FPS這兩項指數相比YOLOv3分别提高了10\%與12\%。
\hfil\break

\begin{figure}[!htb] %插入圖檔
	\centering
	\includegraphics[scale=0.45]{yolo.jpg}            %設定縮放比例
	\caption{yolov4性能}                      %設定圖檔的一個編号以及為圖檔添加标題
\end{figure}

yolov4網絡結構由三部分組成,分别是CSPDarkNet53,SSP,PAN,CSPDarkNet53是主幹網絡,假設輸入圖像大小為416×416×3,首選會經過DarknetConv2D\_BN\_Mish卷積塊,卷積塊由DarknetConv2D、BatchNormalization、Mish三部分組成,即該卷積結構包括l2正則化、批标準化、Mish激活函數這一系列操作。然後後面有5個CSPResblockBody,分别為×1,×2,×8,×8,×4,表示重複多少次resblock\_body,可以看到該殘差結構塊中先有個ZeroPadding2D對二維矩陣的四周填充0,即零填充層,然後三個DarknetConv2D\_BN\_Mish卷積塊,第二個DarknetConv2D\_BN\_Mish卷積塊會生成一個大的殘差邊(後面會解釋殘差邊),然後有個for循環對通道進行整合[compose]與特征提取,這個循環多少次就是圖中×1,×2,×8等。,在後面進行一次1x1的DarknetConv2D\_BN\_Mish卷積,再concatenate堆疊拼接,最後再對通道數進行整合并傳回。可以看到,resblockbody中有大量的DarknetConv2D\_BN\_Mish卷積塊進行卷積提取特征。SSP與PAN是特征金字塔部分,首先SSP結構進行了三次DarknetConv2D\_BN\_Leaky卷積,分别利用四個不同尺度的最大池化進行處理,最大池化的池化核大小分别為13x13、9x9、5x5、1x1,該結構能分離出最顯著的上下文特征,是強有力的特征提取,池化後,再進行堆疊。PANet(PAN)是2018年發表的一種執行個體分割算法,它可以反複提取特征,即反複進行上采樣,最後可以得到三個yolo\,head,這裡和yolov3中最終得到的一樣。

\begin{figure}[!htb] %插入圖檔
	\centering
	\includegraphics[scale=0.25]{yolobone.jpg}            %設定縮放比例
	\caption{yolov4網絡結構}                      %設定圖檔的一個編号以及為圖檔添加标題
\end{figure}

\item SSD\\SSD 是基于一個前向傳播 CNN 網絡,産生一系列 固定大小(fixed-size) 的 bounding boxes,以及每一個 box 中包含物體執行個體的可能性,即 score。之後,進行一個 非極大值抑制(Non-maximum suppression) 得到最終的 predictions。SSD網絡結構從圖中可以看出來分為兩部分 基礎網絡 + 金字塔網絡。基礎網絡是VGG-16\cite{simonyan2014very}的前4層網絡。金字塔網絡是特征圖逐漸變小的簡單磁碟區積網絡由5部分構成,結構圖如下。
\hfil\break

\begin{figure}[!htb] %插入圖檔
	\centering
	\includegraphics[scale=0.25]{ssd.jpg}            %設定縮放比例
	\caption{ssd網絡結構}                      %設定圖檔的一個編号以及為圖檔添加标題
\end{figure}

\item OpenCV\\OpenCV是一個基于BSD許可(開源)發行的跨平台計算機視覺和機器學習軟體庫,可以運作在Linux、Windows、Android和Mac OS作業系統上。它輕量級而且高效——由一系列 C 函數和少量 C++ 類構成,同時提供了Python、Ruby、MATLAB等語言的接口,實作了圖像處理和計算機視覺方面的很多通用算法。我們主要利用OpenCv開啟攝像頭功能,以便進行檢測。
\hfil\break

\item
Keras\\Keras是一個由Python編寫的開源人工神經網絡庫,可以作為Tensorflow、Microsoft-CNTK和Theano的高階應用程式接口,進行深度學習模型的設計、調試、評估、應用和可視化。
\hfil\break

\end{enumerate}


\section{實驗内容與分析}
首選,我們利用爬蟲收集到的4000+張圖檔,并且進行了一定的篩選與預處理,最終留下了2400+張圖檔作為訓練集,并且一起對這些圖檔用labelImg工具進行了标注工作,我們總共訓練了兩個模型,一個用yolov4訓練,一個用SSD訓練,根據長時間訓練後的結果對十張相同的圖檔進行預測,對二者效果做了一個對比。并且發現yolov4與SSD開攝像頭進行檢測時,yolov4稍微有點一卡一卡的感覺,但是SSD整體顯得較為流暢,這是二者幀速率不同導緻的,yolov4的幀速率實際隻有30FPS左右,但是SSD大概有60FPS左右,故顯得比較流暢,最後我們開攝像頭進行了識别。\\檢測步驟如下:

\begin{enumerate} 
	\setlength{\itemsep}{-2ex}  
	\setlength{\parskip}{0ex} 
	\setlength{\parsep}{0ex}
	\item OpenCv調用VideoCapture(0)方法打開攝像頭\hfil\break
	\item  對視訊流進入循環,逐幀讀取圖檔及标注位置\hfil\break
	\item 轉變圖檔格式\hfil\break
	\item 将圖檔的特征資訊轉成數組的形式\hfil\break
	\item 開始檢測圖檔,其中以yolov4為例,yolo在檢測圖檔函數中,會對圖檔進行預處理,如Mosaic資料增強,還會做歸一化。\hfil\break
	\item 進行預測,并将将預測結果進行解碼\hfil\break
	\item 篩選出其中得分高于confidence的框\hfil\break
	\item 去掉灰條\hfil\break
	\item 進行畫圖操作,畫矩形框并顯示\hfil\break
\end{enumerate}


\section{實驗結果}
實驗過程中我們用兩個模型分别檢測相同的十張圖檔,效果如下,我們可以看到用ssd模型對10張圖檔進行預測,隻有6張檢測成功。而用yolov4訓練的模型對10張圖檔進行預測,能檢測出8張,故yolov4訓練的模型效果更好,圖6為效果對比圖,紅色的折線為yolov4,藍色的折線為ssd,另外還做了一個簡易GUI界面友善使用者操作。

\begin{figure}[!htb] %插入圖檔
	\centering
	\includegraphics[scale=0.4]{ssd_detection.jpg}            %設定縮放比例
	\caption{ssd檢測圖檔}                      %設定圖檔的一個編号以及為圖檔添加标題
\end{figure}

\begin{figure}[!htb] %插入圖檔
	\centering
	\includegraphics[scale=0.35]{yolov4_detection.jpg}            %設定縮放比例
	\caption{yolov4檢測圖檔}                      %設定圖檔的一個編号以及為圖檔添加标題
\end{figure}

\begin{figure}[!htb] %插入圖檔
	\centering
	\includegraphics[scale=0.2]{compare.jpg}            %設定縮放比例
	\caption{效果對比}                      %設定圖檔的一個編号以及為圖檔添加标題
\end{figure}

\begin{figure}[!htb] %插入圖檔
	\centering
	\includegraphics[scale=0.6]{video.jpg}            %設定縮放比例
	\caption{開攝像頭識别}                      %設定圖檔的一個編号以及為圖檔添加标題
\end{figure}

\begin{figure}[!htb] %插入圖檔
	\centering
	\includegraphics[scale=0.3]{window.jpg}            %設定縮放比例
	\caption{簡易GUI界面}                      %設定圖檔的一個編号以及為圖檔添加标題
\end{figure}


\section{實驗結論}
本文提出了一種基于yolov4算法的抽煙檢測解決方法,本文對yolov4算法與SSD算法作了比較,檢測效果還是yolov4更好,并且該模型大部分圖檔都能檢測出,但是這裡存在一些問題,一個就是yolov4在實驗結果中的FPS相對不高,是以會有卡頓的情況,這一點SSD就顯得較為流暢了,以後可以試着用yolov4-tiny\cite{jiang2020real},因為該網絡訓練出的模型很小,加載快,并且官方說該網絡FPS更快。另一個問題是模型能檢測抽煙行為,但對于極其相似的物體,如粉筆,形狀和顔色與煙都十分相似,這裡考慮可能的解決辦法是增加一個煙霧檢測。

\bibliographystyle{plain} %參考文獻
\bibliography{smoke} 


\end{document}
           
latex寫論文(TeXstudio工具)

繼續閱讀