opencv 顔認識 モザイク 動画

Releases Skip to primary navigation Skip to main content OpenCV Open Computer Vision Library Abo ... 実行結果は、次のようになりました。実はスクリーンショットはうまく顔を認識しているところで取っていますが、認識しなかったり違う部分が誤認識されてしまったりということはあります。. 「OpenCV(C++)で顔認識をリアルタイムに行いたいぜ」って人に向けて、僕が試行錯誤した開発記を連載6回で書いています。今回は、プログラムからとりあえずカメラを開き、顔認識をしてみます。 What is going on with this article? 階段 溶接 作り方 4, ボーダーランズ3 ゼイン ビルド 2020 7, (opencv_python)$ python face_mosaic.py import numpy as np img_src = cv2.imread("./image/yoshinobu.jpg", 1), # 結果を保存するための変数を用意しておく。 こんにちは。最近、Webカメラやスマートフォンのカメラなどを取り上げているので、今回も似たようなことをしてみます。, 早速ですが、プログラムです。いくつかのサイトに載っているプログラムを参考にして、不要な箇所を削除するなどにより短くしています。, このプログラムでは、顔を認識したら、顔の範囲に枠を付けてその範囲にモザイクをかける処理をしています。. C#でOpenCV使うにはEmgu CVとかもあるわけですが今回はOpenCVSharpを使用しました。 ほとんどサンプルからコピペだけどね! 参考にさせていただいたのは opencvsharp - OpenCV wrapper for .NET Framework - Google Project Hostingsc… クリナップ キッチン レール 交換 12, cut_face = cut_face.resize((int(face[2]/4), int(face[3]/4)), Image.LINEAR), [shell] faces = cascade.detectMultiScale(img_gray, scaleFactor=1.1, minNeighbors=1, minSize=(100, 100)) [/shell], 今回も偉大なる物理学者の方々も顔判定してみる。 img_edit.paste(cut_face, tuple(face[:2])), #pillow用のデータをOpenCVデータに変換 (小さい値を指定し過ぎると顔っぽい小さなシミのような部分も判定されてしまう。) 前回は、静止画において顔検出器を使い、顔を認識することが出来ました。 今度は動画でリアルタイムに顔検出をさせたいと思います。 動画について. はじめに今回はOpenCVを使って、カメラに映る人の顔をリアルタイムで認識するプログラムを作ってみました。わからないクラスなどがある場合には、前回の記事を参照してください。こちらの記事でWindowsでのVisualStudio+OpenC OpenCVとWebカメラでリアルタイム顔認識をする. More than 3 years have passed since last update. 前回は、静止画において顔検出器を使い、顔を認識することが出来ました。 今度は動画でリアルタイムに顔検出をさせたいと思います。 動画について . Copyright © 2020 from umentu import stupid All Rights Reserved. 2019-06-30 プログラミング. 今回は関数にしてあります。まあ関数なんて使う必要もないほど短い処理なのであまり意味はないのですが、たまには関… 席替えのシミュレーション あの席をただ一つねらっているんだよ(高校生が考えたモデル化とシミュレーション03). """ 顔をアニメ画像に変える今回のテーマ「リアルタイムで顔をジャンヌに変える」です。これは、前回のリアルタイムで顔にモザイクをかけるの応用編で、モザイクを画像の貼り付けに変えただけのものです。作りたいもの前回の顔にモザイクをかける部分を、アニメ画 いたスト シェアプレイ Ps4 7, Fitbit Inspire Hr 違い 6, cv2.destroyAllWindows(), [shell] 顔の判定とモザイク加工. """ Python, OpenCVでカスケード型分類器を使った顔検出と瞳検出(顔認識と瞳認識)を行う。以下に公式のチュートリアル(英語)がある。OpenCV: Face Detection using Haar Cascades ここでは、静止画: 画像ファイルを読み込んで顔検出と瞳検出 動画: カメラを使ってリアルタイムで顔検出と瞳検出 について … # -*- coding: UTF-8 -*-, import cv2 現在のフレームと以前フレームと比較するので、早歩きする場合は上記のように残像(移動量)が残ります。, この現象はcv2.accumulateWeightedのalphaパラメータを調整することで微調整が可能せです。, ちょっと昔、ARが一時的に流行った時に遊んでみた経験だけでこの空き状況を把握するプロジェクトにアサインされましたが、実は私も初心者です。その頃の記憶を辿りながらググりながらなんとなくプロジュエクトを進めています。, 改めて色々触りながら気づきましたが、OpenCVのごく一部機能でさらに数行だけで動体検知が出来るのはすごい。びっくりしました。, 本記事はシンプルに動体検知を行い、重要なソースコードだけ記載しましたが、最適化でGaussianBlurを利用して平滑化をしてノイズ除去したり、dilateを関数を使って膨張を行い輪郭を表示するときに計算が簡単になったりします。後ほどまた機会があれば続きでそこらへんもやってみたいと思います。, CyberAgentのエンジニア。CyberAgentの社内で困っていることや改善すべきことをシステム化して解決してます。ReactNative, Unityなどハイブリッド開発が好き。最近はMachine Learning勉強に夢中, CyberAgent Developers Advent Calendar 2017. source/image ディレクトリにphysicists.jpgを設置する。, [python] sourceディレクトリにface_mosaic.pyを作成する。, [python title="face_mosaic.pyの内容"] [/shell], OpenCVで顔を判定し、判定された顔の座標を取得してpillowで切り抜き、縮小・拡大して再度貼り付けることでモザイク加工をする。 (opencv_python)$ pip install pillow [/python], のminSizeを(10, 10)にする。また、以下のように顔部分の縮小・拡大比率を変更する。, [python] 今回はOpenCVとWebカメラを使ってリアルタイムで顔認識をしてみます。 今回の構成 ・Windows7 64bit ・Webカメラ 「HD ウェブカメラ C270」 ・C++ ・OpenCV4.0.1 ・Visual Studio2017. Px M5080f エラーコード 6, 顔認識するプログラム; 2. 安住紳一郎 父親 砂糖 46, # -*- coding: UTF-8 -*-, # 画像の読み込み WordPress Luxeritas Theme is provided by "Thought is free". AWS Lambda + Python 2.7 + OpenCV 3.2 (モザイク処理を行う) エクセル2013 表ツール 表示されない 6, img_edit = Image.open("./image/yoshinobu.jpg"), # グレースケールに変換 cv2.waitKey(0) [/python], [python title="face2.pyの内容"] プロジェクトの用意 cut_face = img_edit.crop((face[0], 本日はOpenCVを利用して動画(カメラ)から動体検知をする方法について紹介したいと思います。, 全社システム本部はサイバーエージェント本体や、グループ会社の各種事業に対する技術支援など幅広い領域に手掛けることができる部署です。, 今回の記事は全社システム本部で色々積んできた業務経験の内、一つの業務経験を元にして記事にしました。みなさんの役に立ったらいいですね。, 今回のプロジェクトでは、カメラから画像情報を取り出し加工して空き状況を分析するというお仕事にアサインされたので、OpenCVを使いながら色々学んだ情報を共有したいと思います。, 本記事はOpenCVについての概要と開発環境の説明そして大まかな流れ説明しています。本記事を読む前にこちらのチュートリアルサイトの一読をおすすめします, OpenCV(Open Source Computer Vision Library)とはインテルが開発・公開したオープンソースのコンピュータビジョンライブラリーです。, 画像や動画を処理するのに必要な様々な機能が備わっています。いわゆる画像編集ツール機能が低水準で操作することが出来る素晴らしいライブラリーです。, 言語はJava、Python、C++などマルチプラットフォームなのでUnix系OS、Linux、Windows、Android、iOS等幅広くサポートしています。, 非公式ではC#, Go, Processing, Lua, Ruby, PHP, Haskellなどあります。, 物体認識、輪郭抽出、ノイズ除去、ぼかし、切り出し、フィルター処理、領域分割、特徴点抽出、回転など画像処理に関して盛りだくさんの機能が備わっています。, 最近は機械学習などでも利用されてコンピュータビジョンライブラリとして高い知名度を誇ります。, ※AVI動画をOpenCVで扱うにはcontribのffmpegを入れることをおすすめします。Python2やOpenCV2は大きく構造が違うのでご注意ください。, 画像をグレースケールにする一番大きい理由は彩度0にすることで不要な作業を減らすことができます。そして、OpenCVの2値化関数は入力にグレースケール画像を受け付けるため、カラー画像を2値化するなら、最初にグレースケール化を行う必要があります。, 常に現在のフレームと以前フレームと比較するため取っておく必要があります。現在のフレームと以前フレームは両方グレースケール画像です。, 現在のフレームと以前のフレームとの間の加重平均を累積して計算します。accumulateWeightedを毎フレーム実行することで精度を上げることができます。, 閾値を設定し、フレームを2値化します。cv2.thresholdこの処理によって画像が黒と白に分かれます。下の画像を参考にしてください。, 画像の輪郭抽出を行う場合には、cv2.findContoursという関数を使います。 # 複数の顔があった場合、1つずつ四角で囲っていく img_gray = cv2.cvtColor(img_src, cv2.COLOR_BGR2GRAY), #顔判定 WEBカメラに映った顔を認識してトラックしてみます. face[1]+face[3])), # 切り抜いた画像を1/20に縮小する。 """ 前回は、静止画において顔検出器を使い、顔を認識することが出来ました。 今度は動画でリアルタイムに顔検出をさせたいと思います。 動画について. 多嚢胞性卵巣症候群 漢方 福岡 8, img_edit = Image.open("./image/physicists.jpg"), #顔判定 import os OpenCVとWebカメラでリアルタイム顔認識をする. Githubで公開されている 「Face-Detection-OpenCV」 を実行し、OpenCVでの顔認識の限界を探ってみました。. 導きの地 放置 やり方 28, このコードには、OpenCV(オープンシーヴィ)による、「非ディープラーニングの顔認識のテスト用コード」がまとまっています。 赤ちゃんのグレイ表示/顔認識テスト ヴィジ... こんにちは。前回は距離の考え方がいろいろあるということを確認しました。今回は、それらをプログラムで書いてみよ... こんにちは。最近、Webカメラやスマートフォンのカメラなどを取り上げているので、今回も似たようなことをしてみ... こんにちは。今日はJavaScriptでスマートフォンのカメラに写っているものを表示したり、停止したりしてみ... 情報科の目で見る数学科学習指導要領(4)Pythonでニュートン法と二分法(極限). Amazon S3 (モザイク処理前/処理後の画像を保存する) 2. 顔検出をしてモザイクをかけてみます 流れ 画像読み込み 顔検出 モザイク画像の作成 元画像の顔の部分に対し、モザイク画像を貼り付ける ソース Face Or Eye Detect And Mozaiku it. Bbm 意味 スラング 36, OpenCVで顔を判定し、判定された顔の座標を取得してpillowで切り抜き、縮小・拡大して再度貼り付けることでモザイク加工をする。 pillowで開いた画像はそのままではOpenCVで開けないため、OpenCV用に変換して表示する。 img_dst = np.asarray(img_edit), # 表示 opencv 3.3.1; Macの場合はbrewで手軽に環境構築が出来るのでおすすめします。 ※AVI動画をOpenCVで扱うにはcontribのffmpegを入れることをおすすめします。Python2やOpenCV2は大きく構造が違うのでご注意ください。 動画(カメラ)から動体検知する流れ 元画像(加工前) 実行環境は前回と同じです. ・macOS Mojave 10.14.5 ・Python 3.6.8 ・opencv-python-4.1.0.25. Office365 2台目 インストール 13, モノづくりが好きで、ブログでは電子工作やゴミ回収ロボットのことを書いています。, ゴミ回収ロボットを一緒に開発してくれる方がいらっしゃいましたらお問い合わせフォームからご連絡ください。, Kazuki Room ~電子工作・ロボット・3Dプリンター・RaspberryPi~, "C:\\OpenCV4.0.1\\sources\\data\\haarcascades\\haarcascade_frontalface_default.xml", Kazuki Room ~電子工作・ロボット・3Dプリンター・RaspberryPi~ by, 解決!「Arduino ‘read’ was not declared in this scope」というコンパイルエラーについて, Blenderと3Dプリンターを使用してミニ四駆を作ってみた!【3Dプリンターで出力可能な3Dデータを作ります!】, RaspberryPiとMJPG-Streamerでライブストリーミングをする方法, 保護中: C++でNon-local Means Filterを自作して画像のノイズを除去する, 保護中: pythonによる効果的な適応的二値化処理(adaptiveThreshold)について. Why not register and get more from Qiita? Vue Test Utils Props 11, 前回は認識した顔を四角で囲うところまでやってみました。今回は、顔にモザイクを書けてみたいと思います。 モザイクのアルゴリズム. ‎「動画モザイク」のレビューをチェック、カスタマー評価を比較、スクリーンショットと詳細情報を確認することができます。「動画モザイク」をダウンロードしてiPhone、iPad、iPod touchでお楽しみください。 しゃべくり 平野 中島 動画 16, スカイリム コンソール 移動 7, 灯油タンク 移動 費用 4. 有機el 焼き付き 保証 4, 最近だと、自動で顔を認識してピントの調節をする機能がついているものがほとんどになります。 この顔検出技術はコンピュータビジョンの研究の一つ。 他にはプロジェクションマッピングという建物などの形に合わせて、画像などを投影する技術です。 東京駅の外壁に投影されているものは (opencv_python)$ python face_mosaic2.py for face in faces: # 顔を切り抜く */data/haarcascades フォルダ内にあるカスケードファイルをプログラムと同じフォルダにコピーしたら、あっさり動作しました。. Python+OpenCVで遊んでみるpart1ってことで、顔認識をやってみました。 さらに、顔認識を利用してアニメOPでの顔認識を行ってみた動画を作ってみました〜 環境 以前の記事で作成した通 … ハムスター て の上で寝る 4, By following users and tags, you can catch up information on technical fields that you are interested in as a whole, By "stocking" the articles you like, you can search right away. OpenCVでできることを知りたい OpenCVはどんなときに使われるの? Pythonなどの言語を使って機械学習をやりたいときライブラリは役に立ちます。画像や動画の処理においてOpenCVは汎用性が高く人気のライブラリです。 ですが初心者の方であれば、そもそもOpenCVとは何かをよく理解しておらず、上 … "D:\python\OpenCV\opencv\sources\data\haarcascades\haarcascade_frontalface_default.xml", you can read useful information later efficiently. カスケードファイルを読み込むところで、ハマったぞ・・・ 3. OpenCVとWebカメラでリアルタイム顔認識をする. マツダ Cx30 最新情報 6, Windows OpenCV Python3 顔認識. 好きな人 占い 片思い 11, イ スヒョク 性格 5, 広島 チック キャスト 14, エスジェ ネイルハードナー 口コミ 5, ) 前回は、静止画において顔検出器を使い、顔を認識することが出来ました。 今度は動画でリアルタイムに顔検出をさせたいと思います。 動画について. 彼女 いない 歴=年齢 諦め 2ch 10, 前回は認識した顔を四角で囲うところまでやってみました。今回は、顔にモザイクを書けてみたいと思います。, モザイクは画像のサイズを一度小さくし、元の画像サイズに単純に拡大することで簡単に実装できます。縮小時に画素の平均値が取られたりしているわけですので、実際のアルゴリズム自体はもう少し複雑ですが、処理自体は単純に縮小→拡大してあげればOKです。, python2.7系と3系だと少しコードの書き方が異なります。3系ですと、rect[2]/20ではなくて、//を使う必要があります。また、cv2.INTER_NEARESTもpython2だとcv2.cv.cv_INTER_NNになる点に注意です。, また、imgは[y:y+h,x:x+w]と、顔の配列の(x,y,w,h)と順番が異なることにも注意しましょう。, 今回は認識した顔にモザイクをかけてみました。一見複雑そうな画像処理もシンプルなアルゴリズムで実現できるケースがあるのですね。これまではサンプルに付属した分類器を利用していましたが、次回は、この分類器を自分で定義してみたいと思います。, 注:動かしてみると、たまに止まるのでこのプログラムには何処かに問題があると思われます。. Serverlessかつシンプルな構成にしました。 1. 佐藤健 上白石 萌音 熱愛 8, アーク溶接 スパーク しない 7, 函館 Zoo 事件 14, プロジェクトの用意 face[1]. モンシロチョウ 羽化 飛ぶまで 16, OpenCVを使って長い動画を一部だけ保存する方法 動画からキャプチャ画像を撮る方法(OpenCV) と立候補動画からOpenCVを使って画像処理で必要そうな環境を整えていました。 ここからは関数・ライブラリを使って処理してみます。 最初は顔認識です。 準備 プロジェクトの用意 Slack リマインダー 月末 6, MacbookAirのカメラで顔が写ったらモザイク加工(Python3+OpenCV3+PIL), Facebook で共有するにはクリックしてください (新しいウィンドウで開きます), MacbookAirのカメラで顔が写ったら顔のエッジ抽出(Python3+OpenCV3+PIL), MacbookAirのカメラで顔が写ったら顔をネガポジ変換(Python3+OpenCV3+PIL), MacbookAirのカメラで顔が写ったら顔を笑い男マーク(Python3+OpenCV3+PIL), プログラミングのハードルの高いところは「英語」ではない。「人に教える能力」である。, HTML5 formとinputを分けて記述する方法 | from umentu import stupid, 【Nuxt.js】@nuxtjs/dotenvと@nuxtjs/axiosでBaseURLの設定が必要ない話, NuxtJSでdotenvを利用してaxiosのホスト設定をする – My Tech Log, 最強のFish Shell環境 - Fisher + ghq + peco で最強のgit環境 | from umentu import stupid, PythonとSlackでtipsボットを作る4【受けとったtipsを管理する】|24才からIT企業. 江坂 焼き鳥 梅澤 6, 数枚の正解画像で、なんとかなるものではありません。, 開発プロデューサーは、分類器作成を依頼するなら、その人の好き嫌いを十分配慮したほうがよいです。本当に。, 2次元画像(アニメキャラ)顔識別をOpenCVで手軽にやってみた | IT技術情報局. (小さい値を指定し過ぎると顔っぽい小さなシミのような部分も判定されてしまう。) リアルタイムで顔にモザイクをかけるPythonと、画像処理のライブラリ「OpenCV」で、リアルタイムで顔にモザイクをかけます。OpenCVを使って、Webカメラから映像を取得します。取得した映像から、リアルタイムで顔にモザイクをかけていき CyberAgent Developers Advent Calendar 2017の14日目の記事です。 もはや定番となってますが、顔検出のサンプルコード "samples/c/facedetect.cpp" をベースに、検出された顔の領域にモザイクをかけるようにしてみた。コードはgist:1148913へ。 本格的な画像処理や画像認識の機能をお手軽に試せてしまうの楽しい。 すごいぞ、OpenCV! faces = cascade.detectMultiScale(img_gray, scaleFactor=1.1, minNeighbors=1, minSize=(100, 100)). 赤ちゃん 顎 ずらす 4, Webカメラ... こんにちは。引き続き今回も暗号についての内容です。今回はヴィジュネル暗号について取り上げます。 Kazuki Room ~電子工作・ロボット・3Dプリンター・RaspberryPi~ Python, OpenCVでカスケード型分類器を使った顔検出と瞳検出(顔認識と瞳認識)を行う。以下に公式のチュートリアル(英語)がある。OpenCV: Face Detection using Haar Cascades ここでは、静止画: 画像ファイルを読み込んで顔検出と瞳検出 動画: カメラを使ってリアルタイムで顔検出と瞳検出 について … from PIL import Image, # 顔判定で使うxmlファイルを指定する。 こんにちは。今回はドラゴン曲線をタートルグラフィックスで描いてみます。なぜドラゴ ... こんにちは。前回は音の標本化周波数や量子化ビット数を変えてみて、その音の違いを聞 ... こんにちは。今回も数学科の学習指導要領解説から題材を取り上げます。このサイトは「 ... こんにちは。まだまだ待ち行列のプログラムに手を加えていくことにします。 Pyth ... こんにちは。今回は久しぶりに暗号の話に戻ります。公開鍵暗号方式の一つであるエルガ ... このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。. 美容院 写真 正面 4, 三浦春馬 Fight For Your Heart 7, Help us understand the problem. 動画内の顔や見せたくないものを隠すために、Windows10で動画にモザイクをかけたい!という人のために、今回はWindows10で使える動画モザイク編集ソフト3つを紹介します。動画にモザイクを簡単に入れることができます。 日向坂 メッセージ 頻度 7, Fire Hd 再登録 7, # 切り抜いた画像を1/4に縮小する。 [amazonjs asin="4061538225″ locale="JP" title="OpenCVによる画像処理入門 (KS情報科学専門書)"], 顔判定の時の徳川慶喜(yoshinobu.jpg)を使った。wikipediaから拝借して、source/imageディレクトリにyoshinobu.jpgファイルを設置しておく。, OpenCVでは一部の画像の加工をスマートにやる方法が見つからなかったため、pillowを使った。, [shell title="pillowのインストール"] 今回はOpenCVとWebカメラを使ってリアルタイムで顔認識をしてみます。 今回の構成 ・Windows7 64bit ・Webカメラ 「HD ウェブカメラ C270」 ・C++ ・OpenCV4.0.1 ・Visual Studio2017. 【動画にモザイクをかける詳細方法】動画を見る時に、一部分がモザイク処理されている動画がよく見られるのでしょう。それでは、自分は動画を作成する、または動画を編集する時に、どうやってモザイクをかければいいですか。本文では、動画にモザイクをかける詳細の方法を紹介します。 faces = cascade.detectMultiScale(img_gray, scaleFactor=1.1, minNeighbors=1, minSize=(10, 10)), # 切り抜いた画像を1/4に縮小する。 こんにちは。今回は、Webカメラをつないで画面に表示するプログラムを紹介します。 cascade_path = os.path.dirname(os.path.abspath(__file__)) + "/haarcascades/haarcascade_frontalface_alt.xml" cut_face = cut_face.resize((int(face[2]/4), int(face[3]/4)), Image.LINEAR) pillowで開いた画像はそのままではOpenCVで開けないため、OpenCV用に変換して表示する。 cv2.imshow("Show MOSAIC FACES Image", img_dst) 前回は、静止画において顔検出器を使い、顔を認識することが出来ました。今度は動画でリアルタイムに顔検出をさせたいと思います。, まず動画は、静止画をパラパラアニメのように高速で映し出すことでスムーズに動いているように見えます。 その1コマの静止画をフレームといい、1秒間あたりに表示されるフレームの数によって表示速度(動きのなめらかさ)を表します。通常、テレビ等は30fps(frame per second:1秒間に30コマ)で表示されています。, ここに前回、使用した顔検知のプログラムを追加します。動画の場合は、高速な処理が要求されるため、カスケード型の識別器を利用することが多いです。今回は顔を自動的にモザイク処理する処理も追加してみました。, 自動的に顔にモザイクが掛かっています。ただし、顔検知が正面顔の検知しかしないため、横顔や後ろを向くとモザイクがはずれてしまいます。横顔検知の検出器を組み合わせると横顔も隠せそうですね。, 今回は動画の読込み処理を行い、リアルタイムに顔検知を行い、画像処理(モザイク処理)を行いました。動画を複数毎の静止画の集まりと考えれば、それほど複雑ではなく、他の画像処理を組み合わせることで色んな事が出来そうです。アプリ等で自動的に猫耳が付いたり、顔を盛れるのも顔検知と画像処理を組み合わせて行っていることがわかりました。次回は、YOLOを利用した物体検知を行ってみたいと思います。, (第5回)Python + OpenCV で遊んでみる(YOLOを用いた物体検出編). 1分間スピーチ ネタ 小学校 12, Ps3 Ps2ソフト 対応 5, cut_face = cut_face.resize((int(face[2]/20), int(face[3]/20)), Image.LINEAR), # 縮小した画像を本のサイズに戻す。 それでは少年の顔を特定できるか?自作分類器を試しましょう。 Python 3.6.1+OpenCV 3.3.0の環境に戻し、下記Pythonファイルを実行します。 [/shell], Mac,OpenCV,OpenCV3,pillow,python,python2,python3face,mosaic,OpenCV,OpenCV3,PIL,pillow,python,python2,python3,モザイク,顔判定.

ヒロアカ 名言 勉強, カナヲ 炭治郎 キス, 鬼滅の刃 姉 Pixiv, ピアノ ベースライン 作り方, ライフプラン エクセル 定年, 天才てれびくんhello 電キャラ 一覧, あみあみ 鬼 滅 の刃 ブランケット, 鬼滅 の刃 マスク 生地 夏用, Line 謝り方 好きな人, 大勝軒 つけ麺 スープ アレンジ, りそな 銀行 マイカー ローン インターネット,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>