いく぀かのマシンビゞョンの問題におけるElbrus-4CずElbrus-8Cの比范

この蚘事では、画像認識技術がElbrus-4Cおよび新しいElbrus-8Cでどのように機胜するかを瀺したすいく぀かのマシンビゞョンの問題を怜蚎し、それらを解決するアルゎリズムに぀いお少し話し、ベンチマヌクの結果を瀺し、最埌にビデオを瀺したす。













Elbrus-8C-VLIWアヌキテクチャを備えた新しい8コアプロセッサMCST。 1.3 GHzの呚波数で゚ンゞニアリングサンプルをテストしたした。 おそらく、シリアルリリヌスで増加したす。













Elbrus-4CずElbrus-8Cの特性を比范したしょう。







゚ルブルス-4C ゚ルブルス-8S
クロック呚波数、MHz 800 1300
コアの数 4 8
サむクルごずの操䜜数コアごず 23たで 25たで
コアごずのL1キャッシュ 64 kb 64 kb
コアごずのL2キャッシュ 2 Mb 512 kb
L3キャッシュ共有 - 16 Mb
RAMの構成 最倧3チャネルのDDR3-1600 ECC 最倧4チャネルのDDR3-1600 ECC
技術プロセス 65 nm 28 nm
トランゞスタ数 9億8600侇 2730癟䞇
SIMD幅の説明 64ビット 64ビット
マルチプロセッサのサポヌト 最倧4プロセッサ 最倧4プロセッサ
生産開始幎 2014 2016幎
オペレヌティングシステム Elbrus OS 3.0-rc27 Elbrus OS 3.0-rc26
LCCコンパむラヌのバヌゞョン 1.21.18 1.21.14


Elbrus-8Cでは、クロック呚波数が1.5倍以䞊に増加し、コアの数が2倍になり、アヌキテクチャ自䜓が改善されたした。







したがっお、たずえば、Elbrus-8Cは、SIMDを陀く1クロックあたり最倧25呜什を実行できたすElbrus-4Cの堎合は23に察しお。







重芁 Elbrus-8Cの特別な最適化は実行しおいたせん。 EMLラむブラリが関䞎しおいたしたが、私たちのプロゞェクトでのElbrusの最適化の量は珟圚、他のアヌキテクチャよりも明らかに少ないです数幎の間に埐々に成長し、私たちはElbrusプラットフォヌムに取り組んでいたす もちろん、時間のかかる䞻な機胜は最適化されおいたすが、残りは手に届きたせん。







RFパスポヌト認識



もちろん、パスポヌト、運転免蚱蚌、銀行カヌド、その他の文曞の認識を提䟛する補品Smart IDReader 1.6の発売により、新しいプラットフォヌムの開発を開始するこずにしたした。 このアプリケヌションの暙準バヌゞョンでは、1぀のドキュメントを認識するずきに4぀以䞋のストリヌムしか効果的に䜿甚できないこずに泚意しおください。 モバむルデバむスの堎合、これで十分ですが、デスクトッププロセッサのベンチマヌクでは、マルチコアシステムのパフォヌマンス評䟡が過小評䟡される可胜性がありたす。







Elbrus OSのバヌゞョンず提䟛されたlccコンパむラは、゜ヌスコヌドに特別な倉曎を加える必芁がなく、問題なくプロゞェクトをたずめるこずができたした。 新しいバヌゞョンではC ++ 11が完党にサポヌトされおいるこずに泚意しおくださいElbrus-4Cのlccの最新バヌゞョンにも含たれおいたす。これは朗報です。







たず、 ここですでに説明したロシア連邊のパスポヌトの認識がElbrus-8Cでどのように機胜するかを確認するこずにしたした。 2぀のモヌドでテストしたした。別のフレヌムanywhere-modeでのパスポヌトの怜玢ず認識、およびWebカメラwebcamモヌドからのビデオでの認識です。 ゚ニりェアモヌドでは、パスポヌト反転認識は1぀のフレヌムで実行され、パスポヌトはフレヌムの任意の郚分にあり、ランダムに方向付けられたす。 りェブカメラモヌドでは、写真付きのパスポヌトペヌゞのみが認識され、䞀連のフレヌムが凊理されたす。 パスポヌトの線は氎平であり、パスポヌトはフレヌム間でわずかにずれおいるず想定されおいたす。 異なるフレヌムから受信した情報が統合され、認識の品質が向䞊したす。







テストでは、1぀のストリヌムで開始しお䞊列化を開始するずきに、各モヌドで1000個の画像を取埗し、平均認識時間画像の読み蟌みを考慮しない時間を枬定したした。 埗られた皌働時間を䞋の衚に瀺したす。







モヌド Elbrus-4C、s /フレヌム Elbrus-8S、S /フレヌム 加速時間
どこでもモヌド、1ストリヌム 4.57 2.78 1.64
どこでもモヌド、最倧スレッド 3.09 1.78 1.74
りェブカメラモヌド、1ストリヌム 0.81 0.49 1.65
りェブカメラモヌド、最倧ストリヌム 0.58 0.34 1.71


シングルスレッドモヌドの結果は、予想される結果ず非垞に䞀臎しおいたす呚波数の増加による加速および4Cず8Cの呚波数倚重床は1300/800 = 1.625に加えお、アヌキテクチャの改善によるわずかな加速が顕著です。







スレッドの最倧数で開始する堎合、䞡方のモヌドの加速は1.7でした。 Elbrus-8Cのコアの数は4Cの2倍であるように思われたす。 それでは、远加の4コアによる加速はどこにありたすか 実際には、認識アルゎリズムは4぀のストリヌムのみを積極的に䜿甚し、それ以䞊のスケヌリングは䞍十分であるため、パフォヌマンスの向䞊は非垞にわずかです。







次に、䞡方のプロセッサのすべおのコアをフルロヌドするこずを決定し、いく぀かのパスポヌト認識プロセスを開始したした。 各認識呌び出しは前の実隓ず同じ方法で䞊列化されたしたが、ここではパスポヌトの凊理時間にはファむルからの画像の読み蟌みが含たれおいたした。 時間枬定は、同じ千のパスポヌトで実行されたした。 完党にロヌドされたElbrusの結果を以䞋に瀺したす。







モヌド Elbrus-4C、s /フレヌム Elbrus-8S、S /フレヌム 加速時間
どこでも 1.38 0.43 3.2
りェブカメラ 0.47 0.19 2.5


゚ニりェアモヌドの堎合、取埗した加速床は予想される加速床に玄3.6倍に近づきたしたが、ファむルからの画像の読み蟌み時間を考慮に入れたため、到達したせんでした。 りェブカメラモヌドの堎合、読み蟌み時間の圱響はさらに倧きく、したがっお、加速床はより緩やかであるこずが刀明したした-2.5倍。







車の怜出



特定のタむプのオブゞェクトの怜出は、技術的なビゞョンの叀兞的なタスクの1぀です。 これは、人、人、攟棄されたオブゞェクト、たたは明癜な特城的な兆候を持぀他のタむプのオブゞェクトの怜出です。







この䟋では、同じ方向に動いおいる車を怜出するタスクを取るこずにしたした。 このような怜出噚は、自動車䞡制埡システム、ナンバヌプレヌト認識システムなどで䜿甚できたす。 ためらうこずなく、私たちはオフィスの近くの自動レコヌダヌを䜿甚しお、トレヌニングずテスト甚のビデオを撮圱したした。 怜出噚ずしお、カスケヌドViola-Jones分類噚を䜿甚したした[1]。 さらに、耇数のフレヌムを連続しお芳察する車の䜍眮に、芋぀かった車の䜍眮の指数平滑化を適甚したした。 怜出は、フレヌム党䜓を占有しないROI関心領域の長方圢でのみ実行されるこずに泚意しおください。これは、車の内郚ずフレヌムに完党に収たらない車を怜出しようずする意味がほずんどないためです。







したがっお、このアルゎリズムは次の手順で構成されたした。







  1. フレヌムの䞭倮でROI長方圢を切り取りたす。
  2. カラヌROI画像をグレヌに倉換したす。
  3. ビオラ・ゞョヌンズ城候の掚定。

    この段階では、Haarりェヌブレットを迅速に蚈算するために、画像がスケヌリングされ、補助フィヌチャ有向境界などのマップが構築され、すべおのフィヌチャの环積合蚈が蚈算されたす。
  4. 耇数のりィンドりでViola-Jones分類噚を起動したす。

    ここでは、特定のステップで、分類噚が起動される長方圢のりィンドりが移動したす。 分類子が肯定的な回答をした堎合、オブゞェクトが怜出されたした。 りィンドり内の画像は車に察応しおいたす。 この堎合、オブゞェクトが配眮されおいる画像領域が掗緎されたす。䞀次怜出の近くで、同じサむズのりィンドりが遞択されたすが、ステップは小さく、分類噚の入力にも送られたす。 芋぀かったオブゞェクトはすべお、さらに凊理するために保存されたす。 この手順は、入力画像のいく぀かのスケヌルに察しお繰り返されたす。

    実際、この段階はタスクの䞻芁な蚈算の耇雑さを構成し、そのために䞊列化が特に実行されたした。 tbbラむブラリを䜿甚しお、有効なスレッド数を自動的に遞択したした。
  5. 怜出噚を適甚した埌に取埗した怜出の配列を凊理したす。 取埗された怜出の倚くは非垞に近く、同じオブゞェクトに察応する可胜性があるため、怜出を十分に倧きな亀差領域ず組み合わせたす。 その結果、怜出された車の䜍眮を瀺す長方圢の配列を取埗したす。
  6. 前のフレヌムず珟圚のフレヌムの怜出の比范。 長方圢の亀差面積が珟圚の長方圢の面積の半分以䞊である堎合、同じオブゞェクトが怜出されたず考えられたす。 数匏によっおオブゞェクトの䜍眮を滑らかにしたす

    x i = x i +1-α x i -1

    y i = y i +1-α y i -1

    w i = w i +1-α w i -1

    h i = h i +1-α h i -1

    ここで、 x 、 y は長方圢の巊䞊隅の座暙、 wずhはそれぞれその幅ず高さ、αは実隓的に遞択された定数係数です。


入力デヌタサむズ800x600ピクセルの䞀連のカラヌフレヌム。

以䞋、fps1秒あたりのフレヌム数を掚定するために、10回のプログラム開始時の平均動䜜時間を䜿甚したした。 この堎合、蚘録されたクリップを操䜜しおいたため、画像凊理時間のみが考慮され、画像は単にファむルから読み蟌たれ、実際のシステムでは、たずえばカメラから取埗できたす。 怜出は非垞にたずもな速床で動䜜し、Elbrus-4Cでは15.5 fps、Elbrus-8Cでは35.6 fpsが埗られるこずが刀明したした。 Elbrus-8Cでは、すべおのコアがピヌクに関䞎しおいたすが、プロセッサヌの負荷は完党にはほど遠いです。 これは明らかに、この問題のすべおの蚈算が䞊列化されたわけではないずいう事実によるものです。 たずえば、Viola-Jones怜出噚を適甚する前に、各フレヌムのかなり重い補助倉換を実行し、システムのこの郚分は順番に機胜したす。







さあ、デモンストレヌションの時間です。 アプリケヌションむンタヌフェむスずレンダリングは、暙準のQt5ツヌルを䜿甚しお実行されたす。 それ以䞊の最適化は実行されたせんでした。







゚ルブルス-4C









゚ルブルス-8S









芖芚的ロヌカリれヌション



このアプリケヌションでは、特異点に基づいお芖芚的なロヌカリれヌションを実蚌するこずにしたした。 GoogleストリヌトビュヌパノラマずGPSを䜿甚しお、システムにGPS座暙やその他の倖郚情報のデヌタを䜿甚せずにカメラの䜍眮を芋぀ける方法を教えたした。 このようなシステムは、ドロヌンやロボットのバックアップナビゲヌションシステムずしお䜿甚しお、珟圚地を特定したり、GPSのないシステムで䜜業したりできたす。







最初に、GPS座暙を䜿甚しおパノラマデヌタベヌスを凊理したした。 箄0.4 km ^ 2モスクワ通りをカバヌする660枚の画像を撮圱したした。











次に、特別なポむントを䜿甚しお画像の説明を䜜成したした。 各画像に぀いお







  1. YAPEYet Another Point Detectorアルゎリズムによっお3フレヌムスケヌルフレヌム自䜓、フレヌムの4/3倍に瞮小されたフレヌムの特別なポむントを芋぀け、それらのRFD蚘述子を蚈算したした[2]。
  2. その座暙、特異点のセット、蚘述子が保存されたした。 その埌、珟圚のフレヌムの特異点の蚘述子をデヌタベヌスの蚘述子の倀ず比范するため、ハミング距離をメトリックずしお䜿甚しお蚘述子をツリヌに保存するず䟿利です。 保存されたデヌタの合蚈サむズは15 MBをわずかに超えおいたした。


ここで準備が完了したした。次に、プログラム䞭に盎接行われるこずに移りたしょう。







  1. カラヌ画像をグレヌに倉換したす。
  2. 自動コントラストを実行したす。
  3. YAPEアルゎリズムを䜿甚しお3぀のフレヌムスケヌル係数1、0.75、および0.5の特別なポむントを怜玢し、それらのRFD蚘述子をカりントしたす。 これらのアルゎリズムは郚分的に䞊列化されおいたすが、蚈算のかなりの郚分に䞀貫性がありたした。 たた、Elbrusプラットフォヌム甚にただ最適化されおいたせん。
  4. 取埗された蚘述子のセットに぀いお、ツリヌに栌玍されおいる蚘述子の䞭で類䌌した蚘述子の怜玢が実行され、いく぀かの最も類䌌したフレヌムが決定されたす。 さたざたな蚘述子の堎合、tbbを䜿甚しおツリヌ怜玢が䞊列化されたす。 同時に、ビデオの最初の5フレヌムに぀いお、最も近い10個のフレヌムを遞択し、5フレヌムのみを取埗したす。
  5. 車䞡の軌道は通垞連続的であるため、遞択されたフレヌムは「倖れ倀」を陀去するために远加のフィルタリングを受けたす。


入力デヌタサむズ800x600ピクセルの䞀連のカラヌフレヌム。







このようなシステムは、Elbrus-4Cで3.0 fps、Elbrus-8Cで7.2 fpsを生成したす。







仕組みを瀺したす。







゚ルブルス-4C









゚ルブルス-8S









おわりに



䟿宜䞊、゚ルブラスの䞻な特城ずプログラムで埗られた結果を衚にたずめおいたす。







テスト ゚ルブルス-4C ゚ルブルス-8S 加速時間
車の怜出 15.5 fps 35.6 fps 2.3
芖芚的ロヌカリれヌション 3.0 fps 7.2 fps 2.4
パスポヌト、どこでもモヌド、s /フレヌム 3.09 1.78 1.74
パスポヌト、りェブカメラモヌド、C /フレヌム 0.58 0.34 1.71
パスポヌト、゚ニりェアモヌド、s /フレヌム、フルプロセッサロヌド 1.38 0.43 3.2
パスポヌト、りェブカメラモヌド、C /フレヌム、フルプロセッサロヌド 0.47 0.19 2.5


珟圚の圢匏のアプリケヌションでは4スレッド以䞊を効果的に䜿甚できないため、パスポヌト認識の結果はかなり控えめであるこずが刀明したした。 同様の状況は、車の怜出ず芖芚的䜍眮の堎合です。アルゎリズムには比類のないセクションがあるため、コア数の増加に䌎う線圢スケヌリングを期埅する必芁はありたせん。 ただし、すべおのプロセッサコアをロヌドするアプリケヌションに制限がない堎合、3.2倍の増加が芋られたす。これは、理論䞊の3.6倍に近い倀です。 平均しお、タスクセットでのMCSTプロセッサの䞖代間のパフォヌマンスの差は玄2〜3倍であり、これは非垞に楜しいこずです。 呚波数を䞊げおアヌキテクチャを改善するこずによっおのみ、1.7倍以䞊のゲむンが埗られたす。 ICSTは、幎間5を远加するずいう戊略でIntelに急速に远い぀いおいたす。







党負荷でのテスト䞭、プロセッサアヌキテクチャの成熟床を瀺すフリヌズやクラッシュの問題は発生したせんでした。 Elbrus-8Cで開発されたVLIWアプロヌチにより、さたざたなコンピュヌタヌビゞョンアルゎリズムのリアルタむム操䜜を実珟できたす。EMLラむブラリには、コヌド自䜓を最適化しないナヌザヌの時間を節玄する非垞に堅実な数孊関数のセットが含たれおいたす。 結論ずしお、別の実隓を行い、1台のElbrus-8Cプロセッサヌで3぀のデモンストレヌションロヌカラむズ、車の怜玢、顔の怜玢を同時に開始し、平均プロセッサヌ負荷は玄80でした。 コメントはありたせん。









䌚瀟ずMCSTおよびINEUM Brookの埓業員に、Elbrus-8Cを詊しお祝犏する機䌚を䞎えおくれたこずに感謝したす-8はたずもなプロセッサ以䞊のものであり、成功を祈っおいたす







䜿甚した゜ヌス



[1] P.ノィオラ、M。ゞョヌンズ、「単玔な機胜のブヌストされたカスケヌドを䜿甚した高速オブゞェクト怜出」、CVPR 2001の議事録。

[2] B. Fan、Q。Kong、T。Trzcinski、ZH Wang、C。Pan、およびP. Fua、「バむナリ機胜蚘述のための受容フィヌルド遞択」、IEEE Trans。 画像プロセス、Pp。 2583–2595、2014。








All Articles