Fdetailer - Adetailer for Furries
세부 정보
파일 다운로드
모델 설명
버전 차이
v1과 v1.1은 매우 유사합니다. 어떤 것이 더 나은지 판단하기 어렵기 때문에 둘 다 시도해보고 스스로 결정하세요. v1.1은 일부 사소한 문제를 수정하려고 훈련된 버전이며, v1보다 개선된 점도 있지만 일부 성능 저하도 나타났습니다. 개인적으로는 v1.1의 정확도가 약간 더 마음에 들어서, 하나만 시도해보고 싶다면 이 버전을 추천합니다.
이건 무엇인가요?
Fdetailer는 YOLO를 기반으로 하여 퓨리 동물 해부학에 대해 학습된 인스턴스 세그멘테이션 모델입니다. 데이터셋은 약 2만 장의 다양한 종과 예술 스타일(안트로 및 페럴 캐릭터 포함)을 포함합니다. 이 모델은 얼굴, 음경, 여자 생식기, 항문, 음경 포피, 발바닥을 감지하고 마스킹할 수 있습니다. 드문 종이나 특이한 해부학적 구조에는 약간 어려움을 겪을 수 있지만, 이는 제가 처음으로 세그멘테이션 모델을 훈련해본 결과로서 충분히 놀라운 정확도를 보여줍니다.
Fdetailer는 모든 기능을 하나로 통합한 다중 클래스 모델입니다. 얼굴과 발바닥만 감지하거나, 항문만 감지하거나, 사용 가능한 모든 클래스의 조합을 선택할 수 있습니다. 단, 일부 인터페이스는 이 기능을 지원하지 않을 수 있습니다. 다중 클래스 모델은 비교적 드뭅니다.
이미지가 제공되면, Fdetailer는 학습한 대로 감지할 수 있는 객체를 찾아 마스킹합니다. 인스턴스 세그멘테이션은 과거에 유행했던 BBox(경계 상자) 모델과 약간 다릅니다. BBox 모델은 객체를 찾은 후 그 주변에 상자를 그립니다. 그러나 이는 이미지 복원(inpainting)에 문제를 일으킬 수 있는데, 감지된 객체 주변 영역까지 복원 대상이 되어 의도하지 않은 부분에 이상한 테두리나 불natural한 디테일이 생길 수 있기 때문입니다.
인스턴스 세그멘테이션은 감지된 객체 주변에 점-대-점 마스크를 생성함으로써 이 문제를 해결하려고 합니다. 이러한 마스크는 캐릭터의 얼굴을 수동으로 그려서 만든 마스크와 유사합니다. 이는 얼굴 외부의 이미지 부분이 복원되는 것을 방지하고, 불美观한 테두리 문제를 해결합니다.
누구를 위한 것인가요?
제 자신입니다. 저는 Fdetailer를 만들었는데, 그 이유는 이미지 복원(inpainting)이 귀찮기 때문입니다. 저는 ComfyUI의 열렬한 팬이며, 다른 소프트웨어로 편집하기 전에 기본 이미지에 더 많은 디테일을 얻고 싶었습니다. 제가 생성한 모든 이미지가 얼굴과 생식기 부분에 복원이 필요하다는 것을 알게 되었고, 그전에 매번 수동으로 복원하는 게 싫었습니다.
여러 이미지를 한 번에 생성한 후 나중에 좋아하는 것만 골라내는 유형이라면, 이 도구가 매우 유용할 것입니다. 캐릭터의 일반적인(제 기준) 복원 대상 영역을 자동으로 복원할 수 있습니다.
각 이미지 생성 과정을 하나하나 지켜보는 유형이라 할지라도, 이 도구는 여전히 유용합니다. 도구가 있어도 왜 굳이 캐릭터의 항문을 수동으로 복원하려고 당신의 몰입 시간을 끊어야 합니까? 친구에게 도움이 되겠습니다.
실제로 작동하나요?
대부분 그렇습니다. 저는 인터넷에서 분홍 고양이를 연기하는 바보입니다. 이 모델은 제가 처음으로 세그멘테이션 모델을 만든 시도이며, 과정에서 Numerous 문제가 발생했습니다. 문제 발생 시 대부분 해결하려 노력했지만, 제 지식과 시간은 제한적이므로 이는 지속적인 프로젝트입니다.
정확도는 괜찮습니다. 발바닥은 예술 스타일과 종에 따라 매우 다양하게 나타나기 때문에 가장 문제가 많습니다. 항문도 때때로 문제가 있지만, 대부분의 경우 정확도는 적절합니다. 음경 포피는 데이터 부족으로 인해 때때로 제대로 작동하지 않지만, 큰 문제는 없었습니다. 그 외의 모든 것은 매우 훌륭합니다. 현재 모델의 상태에 대해 전반적으로 만족합니다.
드문 종의 경우, 그 종이 너무 특이하면 모델이 혼동할 수 있지만, 대부분의 경우 충분히 잘 작동합니다.
어떻게 사용하나요?
더 정확한 지침은 선호하는 UI의 문서를 참조하세요. UI에 클래스 ID 또는 클래스 이름 기반으로 감지 결과를 필터링할 수 있는 옵션이 있을 수 있습니다. 예를 들어 얼굴만 감지하고 싶을 때 유용합니다. 아래는 모델이 학습한 클래스 ID와 이름 목록입니다:
0: face
1: penis
2: pussy
3: anus
4: sheath
5: pawpads
신뢰도 임계값은 0.35–0.5 사이를 권장합니다.
ComfyUI: comfyui-impact-pack (ultralytics 지원을 위해 comfyui-impact-subpack도 필요) 커스텀 노드 세트를 사용하는 것을 권장합니다. 모델을 models/ultralytics/segm에 위치시킵니다. UltralyticsDetectionProvider로 모델을 로드한 후, SEGM Detector (SEGS)를 사용해 추론을 실행하고, 클래스 이름으로 감지 결과를 필터링하며, 신뢰도 임계값을 조정하고 마스크 설정을 변경합니다. 생성된 SEGS를 Detailer (SEGS)에 연결하여 이미지 복원을 수행합니다. Impact의 내장 와일드카드 처리 기능을 사용하여 감지된 내용에 따라 프롬프트를 수정할 수 있습니다. 예를 들어, 모든 얼굴 감지에 detailed eyes를 추가할 수 있습니다. 가능한 모든 기능은 Impact 와일드카드 문서를 참조하세요.
SwarmUI: 문서. 모델을 (swarm)/Models/yolov8에 위치시킵니다. 프롬프트에 <segment:fdetailer_seg_v11.pt,denoise,threshold>를 추가하세요. denoise를 원하는 노이즈 감소 강도로, threshold를 원하는 신뢰도 임계값으로 변경하세요. 이는 이미지에서 감지된 모든 객체를 자동으로 복원합니다.
모델 이름 뒤에 콜론 사이에 감지하고 싶은 클래스 ID나 이름을 추가하여 감지할 대상을 필터링할 수 있습니다. 예를 들어, 얼굴과 발바닥만 감지하려면 프롬프트에 <segment:fdetailer_seg_v11.pt:face,pawpads:,denoise,threshold>를 추가하세요.
A1111 및 Forge 버전: Adetailer 확장 프로그램이 필요합니다. 모델을 models/adetailer에 위치시킵니다. Adetailer 확장 프로그램은 클래스 필터링을 지원하지 않습니다. 감지된 모든 클래스가 복원됩니다. 클래스 필터링 기능이 추가될 때까지 이 기능을 변경할 수 없습니다. 또한 기본 설정은 BBox 마스크에 더 적합하도록 되어 있습니다. 이 모델은 세그멘테이션 마스크를 생성하므로, “inpaint only masked padding pixels”를 64 이상으로 증가시키는 것을 강력히 권장합니다.
자세한 지침은 Adetailer 문서를 참조하세요. 저와 제 친구들은 A1111 또는 그 변종을 사용하지 않습니다.
향후 계획
정확도: 현재 모델 상태에 대체로 만족하지만, 더 나아질 수 있습니다. 현재 데이터셋을 다시 튜닝하여 마스크 정확도를 높이고, 더 큰 파라미터 버전의 YOLO를 사용해 모델을 재학습할 계획입니다.
더 많은 클래스: 더 큰 파라미터 모델을 사용하면 다른 클래스의 정확도가 희석될까 걱정 없이 추가 클래스를 도입할 수 있습니다. 제안은 환영합니다. 현재 계획에는 눈, 입, 고환, 유두를 추가하는 것이 포함됩니다. 또한 침투되는 물체와 그 구멍을 동시에 마스킹하는 “침투” 클래스도 고려 중입니다. 하지만 이건 아직 꿈일 뿐입니다.
손?: 네, 하지만 곧바로는 불가능합니다. 손은 복잡하며, 어떻게 가장 잘 처리할지 연구가 필요합니다.





