Ultralytics YOLO26を用いたオブジェクトブラー 🚀
オブジェクトのぼかしとは何ですか?
Ultralytics YOLO26によるオブジェクトブラーは、画像や動画内の特定のdetectされたオブジェクトにブラー効果を適用するものです。これは、YOLO26モデルの機能を使用して、特定のシーン内のオブジェクトを識別し、操作することで実現できます。
見る: Ultralytics YOLO26を用いたオブジェクトブラー
オブジェクトのぼかしの利点
- プライバシー保護: オブジェクトのぼかしは、画像や動画内のセンシティブな情報や個人を特定できる情報を隠すことで、プライバシーを保護するための効果的なツールです。
- 選択的フォーカス: YOLO26は選択的なブラー処理を可能にし、ユーザーが特定のオブジェクトをターゲットにすることで、プライバシーと関連する視覚情報の保持とのバランスを確保します。
- リアルタイム処理: YOLO26の効率性により、リアルタイムでのオブジェクトブラーが可能となり、動的な環境でその場でのプライバシー強化を必要とするアプリケーションに適しています。
- 規制遵守: 組織が、視覚コンテンツで識別可能な情報を匿名化することにより、GDPRなどのデータ保護規制を遵守するのに役立ちます。
- コンテンツモデレーション: メディアプラットフォームで不適切または機密性の高いコンテンツを、全体的なコンテキストを維持しながらぼかすのに役立ちます。
Ultralytics YOLOを使用したオブジェクトのぼかし
# Blur the objects
yolo solutions blur show=True
# Pass a source video
yolo solutions blur source="path/to/video.mp4"
# Blur the specific classes
yolo solutions blur classes="[0, 5]"
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("object_blurring_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Initialize object blurrer
blurrer = solutions.ObjectBlurrer(
show=True, # display the output
model="yolo26n.pt", # model for object blurring, e.g., yolo26m.pt
# line_width=2, # width of bounding box.
# classes=[0, 2], # blur specific classes, e.g., person and car with the COCO pretrained model.
# blur_ratio=0.5, # adjust percentage of blur intensity, value in range 0.1 - 1.0
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = blurrer(im0)
# print(results) # access the output
video_writer.write(results.plot_im) # write the processed frame.
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windows
ObjectBlurrer 引数
の表を以下に示します。 ObjectBlurrer 引数:
| 引数 | 種類 | デフォルト | 説明 |
|---|---|---|---|
model | str | None | Ultralytics YOLOモデルファイルへのパス。 |
blur_ratio | float | 0.5 | ぼかしの強度の割合を調整します。値の範囲は 0.1 - 1.0. |
The ObjectBlurrer ソリューションは、さまざまな以下もサポートしています。 track 引数:
| 引数 | 種類 | デフォルト | 説明 |
|---|---|---|---|
tracker | str | 'botsort.yaml' | 使用する追跡アルゴリズムを指定します。例: bytetrack.yaml または botsort.yaml. |
conf | float | 0.1 | 検出の信頼度閾値を設定します。低い値を設定すると、より多くのオブジェクトを追跡できますが、誤検出が含まれる可能性があります。 |
iou | float | 0.7 | 重複する検出をフィルタリングするためのIntersection over Union (IoU) 閾値を設定します。 |
classes | list | None | クラスインデックスで結果をフィルタリングします。例: classes=[0, 2, 3] 指定されたクラスのみを追跡します。 |
verbose | bool | True | 追跡結果の表示を制御し、追跡されたオブジェクトの視覚的な出力を提供します。 |
device | str | None | 推論に使用するデバイスを指定します(例: cpu, cuda:0 または 0)。モデル実行のために、CPU、特定のGPU、またはその他の計算デバイスを選択できます。 |
さらに、以下の可視化引数を使用できます:
| 引数 | 種類 | デフォルト | 説明 |
|---|---|---|---|
show | bool | False | もし True)は、アノテーションが付けられた画像またはビデオをウィンドウに表示します。開発またはテスト中に、視覚的なフィードバックを即座に得るのに役立ちます。 |
line_width | int or None | None | バウンディングボックスの線の太さを指定します。もし None場合、線の太さは画像サイズに基づいて自動的に調整されます。明確にするための視覚的なカスタマイズを提供します。 |
show_conf | bool | True | ラベルとともに、検出ごとの信頼度スコアを表示します。各検出に対するモデルの確実性についての洞察が得られます。 |
show_labels | bool | True | 検出された各オブジェクトのラベルを視覚的な出力に表示します。検出されたオブジェクトをすぐに理解できます。 |
現実世界のアプリケーション
監視におけるプライバシー保護
防犯カメラや監視システムは、YOLO26を使用して顔、ナンバープレート、その他の識別情報を自動的にブラー処理しつつ、重要な活動を捉えることができます。これにより、公共スペースでのプライバシー権を尊重しながらセキュリティを維持するのに役立ちます。
医療データの匿名化
医療画像では、患者情報がスキャンや写真に表示されることがよくあります。YOLO26は、この情報をdetectしてブラー処理することで、研究や教育目的で医療データを共有する際にHIPAAのような規制に準拠できます。
ドキュメントの修正
機密情報を含むドキュメントを共有する際、YOLO26は署名、口座番号、個人情報などの特定の要素を自動的にdetectしてブラー処理し、ドキュメントの整合性を保ちながら墨消しプロセスを効率化できます。
メディアおよびコンテンツの作成
コンテンツクリエーターは、YOLO26を使用して動画や画像内のブランドロゴ、著作権で保護された素材、または不適切なコンテンツをブラー処理し、全体的なコンテンツ品質を維持しながら法的問題を回避するのに役立てることができます。
よくある質問
Ultralytics YOLO26によるオブジェクトブラーとは何ですか?
Ultralytics YOLO26によるオブジェクトブラーは、画像や動画内の特定のオブジェクトを自動的にdetectし、ブラー効果を適用するものです。この技術は、機密情報を隠しながら関連する視覚データを保持することで、プライバシーを強化します。YOLO26のリアルタイム処理能力は、即時のプライバシー保護と選択的なフォーカス調整を必要とするアプリケーションに適しています。
YOLO26を使用してリアルタイムオブジェクトブラーを実装するにはどうすればよいですか?
YOLO26でリアルタイムオブジェクトブラーを実装するには、提供されているpythonの例に従ってください。これには、オブジェクトのdetectにYOLO26を、ブラー効果の適用にOpenCVを使用します。以下に簡略版を示します。
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
# Video writer
video_writer = cv2.VideoWriter("object_blurring_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init ObjectBlurrer
blurrer = solutions.ObjectBlurrer(
show=True, # display the output
model="yolo26n.pt", # model="yolo26n-obb.pt" for object blurring using YOLO26 OBB model.
blur_ratio=0.5, # set blur percentage, e.g., 0.7 for 70% blur on detected objects
# line_width=2, # width of bounding box.
# classes=[0, 2], # count specific classes, e.g., person and car with the COCO pretrained model.
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = blurrer(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
オブジェクトブラーにUltralytics YOLO26を使用する利点は何ですか?
Ultralytics YOLO26は、オブジェクトブラーに関していくつかの利点を提供します。
- プライバシー保護: センシティブな情報や個人を特定できる情報を効果的に隠します。
- 選択的フォーカス: 重要な視覚コンテンツを維持しながら、特定のオブジェクトをターゲットにしてぼかしを適用します。
- リアルタイム処理: ダイナミックな環境で効率的にオブジェクトをぼかし、即時のプライバシー強化に適しています。
- Customizable Intensity: プライバシーのニーズと視覚的なコンテキストのバランスを取るために、ぼかし率を調整します。
- クラス固有のぼかし: 特定の種類のオブジェクトのみを選択的にぼかし、他のオブジェクトは表示されたままにします。
より詳細なアプリケーションについては、オブジェクトのぼかしセクションの利点をご確認ください。
プライバシー保護のために、Ultralytics YOLO26を使用して動画内の顔をブラー処理できますか?
はい、Ultralytics YOLO26は、プライバシー保護のために動画内の顔をdetectし、ブラー処理するように設定できます。顔を特異的に認識するようにモデルをトレーニングするか、事前学習済みモデルを使用することで、detect結果をOpenCVで処理し、ブラー効果を適用できます。YOLO26によるオブジェクトのdetectに関するガイドを参照し、顔のdetectをターゲットにするようにコードを修正してください。
オブジェクトブラーに関して、YOLO26はFaster R-CNNのような他のオブジェクトdetectモデルと比較してどうですか?
Ultralytics YOLO26は、通常、Faster R-CNNのようなモデルよりも速度の点で優れており、リアルタイムアプリケーションにより適しています。どちらのモデルも正確なdetectを提供しますが、YOLO26のアーキテクチャは高速な推論に最適化されており、リアルタイムオブジェクトブラーのようなタスクには不可欠です。技術的な違いとパフォーマンス指標については、YOLO26ドキュメントで詳しく説明しています。