Toshikazu Ohno

なりすまし判定・ライブネス検知

FAR/FRR と APCER/BPCER の違い【顔認証とライブネスで指標が違う理由】

顔認証の精度は FAR/FRR、なりすまし判定(ライブネス)の精度は APCER/BPCER で測る。なぜ指標が分かれるのか、それぞれ何を意味し、どう読めば製品比較で騙されないかを解説。
なりすまし判定・ライブネス検知

なりすまし攻撃(プレゼンテーション攻撃)の種類と、どこまでが現実的な脅威か

顔認証へのなりすまし攻撃(プレゼンテーション攻撃)を印刷写真・画面表示・動画再生・3Dマスク・ディープフェイクの5類型で整理。攻撃コストと成功しやすさのマトリクスから、用途別に「どこまで守るべきか」を考える。
なりすまし判定・ライブネス検知

OpenCVで顔認証を実装したら、印刷した写真であっさり突破された【C++】

OpenCV の YuNet + SFace で作った顔認証は、本人の顔写真を印刷した紙で突破できてしまう。なぜ通るのか、それはバグではなく顔照合の設計上の性質であることを、再現可能なコードとともに解説。
なりすまし判定・ライブネス検知

OpenCVだけで顔認証を実装する【YuNet + SFace・C++】〜C#(OpenCvSharp)の現状も実測解説〜

OpenCV 標準搭載の YuNet(顔検出)と SFace(顔照合)だけで顔認証を C++ で実装する手順を動くコードで解説。OpenCvSharp では SFace が未ラップである実測結果と C# での選択肢も紹介。
OpenCV for C++

cv::rectangle の使い方【OpenCV/C++】〜画像に矩形を描画する〜

OpenCV C++ で cv::rectangle を使って画像に矩形を描画する方法を解説。引数の意味・塗りつぶし・線幅・物体検出の可視化まで実務目線で紹介します。
OpenCV for C++

cv::imread の使い方【OpenCV/C++】〜画像ファイルを読み込む〜

OpenCV C++ で cv::imread を使って画像ファイルを読み込む方法を解説。引数・フラグ・エラー処理・よくあるつまずきポイントまで実装例付きで紹介。
OpenCV for C++

OpenCV + opencv_contrib を Raspberry Pi OS でビルドする【C++】

Raspberry Pi OS(64bit)で OpenCV + opencv_contrib をソースからビルドする手順を解説。cmake の OPENCV_EXTRA_MODULES_PATH 指定から make install まで C++ 開発者向けに網羅。
OpenCV for C++

OpenCV + opencv_contrib を Windows でビルドする完全ガイド【C++/VS2022】

Windows で OpenCV + opencv_contrib を CMake と Visual Studio 2022 を使ってビルドする手順を解説。opencv_world の生成・FREAK による動作確認まで網羅。
OpenCV for C++

cv::Mat ROI で画像の一部を切り出す方法【OpenCV/C++】

OpenCV C++ で cv::Mat ROI を使って画像の一部領域を切り出す方法を解説。cv::Rect による指定、ROI への書き込み、コピーとの違いなど実務頻出の操作を網羅。
OpenCV for C#

Cv2.ImWrite の使い方【OpenCV/C#】〜画像をファイルに保存する〜

OpenCvSharp の Cv2.ImWrite を使って画像をファイルに保存する方法を解説。JPEG品質・PNG圧縮などの保存オプションも C# サンプルコードで紹介します。