差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン最新のリビジョン両方とも次のリビジョン | ||
インタラクションデザイン演習実習a [2018/05/23 02:34] – [論文読解3:Scratch Input: Creating Large, Inexpensive, Unpowered and Mobile finger Input Surfaces] baba | インタラクションデザイン演習実習a [2018/05/23 03:28] – [Abstract] baba | ||
---|---|---|---|
行 60: | 行 60: | ||
===== 基礎練習===== | ===== 基礎練習===== | ||
- | プログラムを実装していくにあたり,幾つかの基本的準備をします. | + | プログラムを実装していくにあたり,幾つかの基礎練習をします. |
==== ofxGui ==== | ==== ofxGui ==== | ||
行 67: | 行 67: | ||
==== C++における vector型 ==== | ==== C++における vector型 ==== | ||
様々な処理に配列は多く利用されます.信号処理や画像処理にかぎらず,一般的な計算には配列は多用されます. この配列を何度も利用しているうちに,いろいろと不便なことに気づきます.例えば最初は配列サイズを100確保 したのに途中からそれ以上必要になってしまった時,配列の中にあるデータを削除し,削除した分を詰めて配列に 再度格納したいとき等です.vector型に関する詳しい説明は多くの参考書やウェブサイトに譲るとして,ここでは 基本的な使い方を抑えたいと思います.emptyExampleをベースに実習してみましょう. | 様々な処理に配列は多く利用されます.信号処理や画像処理にかぎらず,一般的な計算には配列は多用されます. この配列を何度も利用しているうちに,いろいろと不便なことに気づきます.例えば最初は配列サイズを100確保 したのに途中からそれ以上必要になってしまった時,配列の中にあるデータを削除し,削除した分を詰めて配列に 再度格納したいとき等です.vector型に関する詳しい説明は多くの参考書やウェブサイトに譲るとして,ここでは 基本的な使い方を抑えたいと思います.emptyExampleをベースに実習してみましょう. | ||
+ | |||
+ | < | ||
+ | | ||
+ | a.push_back(1); | ||
+ | a.push_back(2); | ||
+ | a.push_back(3); | ||
+ | ofDrawBitmapString(ofToString(a.size()), | ||
+ | | ||
+ | a.pop_back(); | ||
+ | a.push_back(4); | ||
+ | | ||
+ | a.erase(a.begin()); | ||
+ | | ||
+ | for( int i = 0; i < a.size(); i++ ){ | ||
+ | ofDrawBitmapString(" | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | これまでの基礎知識を踏まえていよいよScratchInputの技術再現を行います.ただし著者らは認識のための特徴量に 関して詳細な情報を論文に載せていないので,ここではすこしアレンジを加えて実装を行ってみます.そこで,これから このプログラムのことをScratchInputZと呼ぶことにします. | ||
+ | |||
+ | ==== 正規化 ==== | ||
+ | 論文読解2の最後にユーザの表情を認識するプログラムを実装しましたが,ここで,厳密にその評価を行うと 一つ問題があることがわかります.眉毛の高さや口の開閉等の中にはその変化の度合いが全て均等とは言い切れません. 例えばx, | ||
+ | 先ほどの例では(10, | ||
+ | |||
+ | ===== ScratchInputZ ===== | ||
+ | * [[https:// | ||
+ | |||
+ | |||
+ | まずは上記のテンプレートをダウンロードして実行して下さい.ofxGuiとvector型を用いて記述されています. 一緒に読んでプログラムになにが記述されているかを把握します. | ||
+ | |||
+ | <wrap danger> | ||
+ | テンプレートを利用して,数種類のスクラッチインプットを識別するプログラムを記述してみましょう. ただし,特徴量として,次を利用してみます.ピークカウント,正規化周波数積分(0-3000), | ||
+ | |||
+ | {{youtube> | ||
+ | |||
+ | ====== 論文読解4:You Only Look Once: Unified, Real-Time Object Detection ====== | ||
+ | [[https:// | ||
+ | >Joseph Redmon∗, Santosh Divvala∗†, | ||
+ | ===== Abstract ===== | ||
+ | We present YOLO, a new approach to object detection. Prior work on object detection repurposes classifiers to per- form detection. Instead, we frame object detection as a re- gression problem to spatially separated bounding boxes and associated class probabilities. A single neural network pre- dicts bounding boxes and class probabilities directly from full images in one evaluation. Since the whole detection pipeline is a single network, it can be optimized end-to-end directly on detection performance. | ||
+ | Our unified architecture is extremely fast. Our base YOLO model processes images in real-time at 45 frames per second. A smaller version of the network, Fast YOLO, processes an astounding 155 frames per second while still achieving double the mAP of other real-time detec- tors. Compared to state-of-the-art detection systems, YOLO makes more localization errors but is less likely to predict false positives on background. Finally, YOLO learns very general representations of objects. It outperforms other de- tection methods, including DPM and R-CNN, when gener- alizing from natural images to other domains like artwork. | ||
+ | |||
+ | {{youtube> | ||
+ | |||
+ | ここでは,リアルタイム物体検出で有名なYOLOの論文を読み,実際にYOLOを利用してみます.YOLOそのものを実装しませんが,深層学習におけるネットワークのデザインや意味に関して概略的に学び,それを利用したアプリケーションを作成するところまでを行ってみます. | ||
+ | |||
+ | ===== YOLO をOpenframeworksで動かす ===== | ||
+ |