Góc nhìn Anderson

Làm thế nào Stable Diffusion có thể phát triển thành một sản phẩm tiêu dùng chính thống

mm
Thêm Unite.AI vào các nguồn ưu tiên của bạn trên Google

Ironically, Stable Diffusion, khuôn khổ tổng hợp hình ảnh AI mới đã làm thế giới phải chú ý, không phải là ổn định hay thực sự “phân tán” – ít nhất, chưa phải lúc này.

Toàn bộ phạm vi khả năng của hệ thống được phân bố trên một loạt các gói khác nhau từ một số nhà phát triển đang trao đổi thông tin và lý thuyết mới nhất trên Discord – và hầu hết các thủ tục cài đặt cho các gói họ đang tạo hoặc sửa đổi rất khác với “cài đặt và chơi”.

Thay vào đó, chúng thường yêu cầu cài đặt dựa trên dòng lệnh hoặc BAT thông qua GIT, Conda, Python, Miniconda và các khuôn khổ phát triển khác – các gói phần mềm rất hiếm trong số người dùng thông thường đến mức cài đặt của chúng thường bị các nhà cung cấp phần mềm chống vi-rút và chống mã độc flag là bằng chứng của một hệ thống bị xâm phạm.

Chỉ một phần nhỏ của các giai đoạn trong quá trình cài đặt Stable Diffusion tiêu chuẩn hiện tại yêu cầu. Nhiều phân phối cũng yêu cầu các phiên bản cụ thể của Python, có thể mâu thuẫn với các phiên bản đã cài đặt trên máy của người dùng - mặc dù điều này có thể được loại bỏ bằng cách cài đặt dựa trên Docker và, ở một mức độ nhất định, thông qua việc sử dụng môi trường Conda.

Chỉ một phần nhỏ của các giai đoạn trong quá trình cài đặt Stable Diffusion tiêu chuẩn hiện tại yêu cầu. Nhiều phân phối cũng yêu cầu các phiên bản cụ thể của Python, có thể mâu thuẫn với các phiên bản đã cài đặt trên máy của người dùng – mặc dù điều này có thể được loại bỏ bằng cách cài đặt dựa trên Docker và, ở một mức độ nhất định, thông qua việc sử dụng môi trường Conda.

Các chuỗi tin nhắn trong cả cộng đồng Stable Diffusion SFW và NSFW đều tràn ngập các mẹo và thủ thuật liên quan đến việc hack các tập lệnh Python và cài đặt tiêu chuẩn, để kích hoạt chức năng cải tiến hoặc giải quyết các lỗi phụ thuộc thường xuyên và một loạt các vấn đề khác.

Điều này khiến người dùng trung bình, quan tâm đến việc tạo ra hình ảnh tuyệt vời từ các lời nhắc văn bản, gần như hoàn toàn phụ thuộc vào số lượng ngày càng tăng của các giao diện web API được tiền hóa, hầu hết đều cung cấp số lượng hình ảnh miễn phí hạn chế trước khi yêu cầu mua token.

Ngoài ra, gần như tất cả các dịch vụ web này đều từ chối xuất nội dung NSFW (nhiều nội dung có thể liên quan đến các chủ đề chung, chẳng hạn như “chiến tranh”) phân biệt Stable Diffusion với các dịch vụ được kiểm duyệt của DALL-E 2 của OpenAI.

Photoshop cho Stable Diffusion

Được thôi thúc bởi những hình ảnh tuyệt vời, gợi cảm hoặc kỳ lạ chiếm ưu thế trong hashtag #stablediffusion của Twitter hàng ngày, điều mà thế giới rộng lớn hơn đang chờ đợi là ‘Photoshop cho Stable Diffusion’ – một ứng dụng có thể cài đặt trên nhiều nền tảng, kết hợp các chức năng mạnh mẽ nhất của kiến trúc Stability.ai, cũng như các đổi mới thông minh của cộng đồng phát triển SD đang nổi lên, mà không có các cửa sổ dòng lệnh nổi, các thủ tục cài đặt và cập nhật thay đổi liên tục, hoặc các tính năng bị thiếu.

Điều chúng ta hiện có, trong hầu hết các cài đặt có khả năng hơn, là một trang web trang trí đẹp được đặt trên một cửa sổ dòng lệnh, và URL là một cổng localhost:

Tương tự như các ứng dụng tổng hợp CLI như FaceSwap và DeepFaceLab dựa trên BAT, cài đặt 'prepack' của Stable Diffusion cho thấy gốc dòng lệnh của nó, với giao diện được truy cập qua một cổng localhost (xem hình ảnh trên) giao tiếp với chức năng Stable Diffusion dựa trên CLI.

Tương tự như các ứng dụng tổng hợp CLI như FaceSwap và DeepFaceLab dựa trên BAT, cài đặt ‘prepack’ của Stable Diffusion cho thấy gốc dòng lệnh của nó, với giao diện được truy cập qua một cổng localhost (xem hình ảnh trên) giao tiếp với chức năng Stable Diffusion dựa trên CLI.

Không có nghi ngờ, một ứng dụng được phát triển hơn sẽ đến. Hiện tại, đã có một số ứng dụng tích hợp có thể tải xuống, chẳng hạn như GRiskNMKD (xem hình ảnh dưới đây) – nhưng không có ứng dụng nào trong số này tích hợp đầy đủ các tính năng mà một số cài đặt Stable Diffusion tiên tiến và ít dễ tiếp cận hơn có thể cung cấp.

Các gói Patreon sớm của Stable Diffusion, được 'ứng dụng hóa' một cách nhẹ nhàng. NMKD là ứng dụng đầu tiên tích hợp trực tiếp đầu ra CLI vào GUI.

Các gói Patreon sớm của Stable Diffusion, được ‘ứng dụng hóa’ một cách nhẹ nhàng. NMKD là ứng dụng đầu tiên tích hợp trực tiếp đầu ra CLI vào GUI.

Hãy cùng xem một phiên bản Stable Diffusion được hoàn thiện và tích hợp hơn có thể trông như thế nào – và những thách thức mà nó có thể gặp phải.

Xét về mặt pháp lý đối với ứng dụng Stable Diffusion thương mại được tài trợ đầy đủ

Yếu tố NSFW

Mã nguồn Stable Diffusion đã được phát hành dưới một giấy phép cực kỳ cho phép không cấm các tái triển khai thương mại và các tác phẩm phái sinh xây dựng rộng rãi từ mã nguồn.

Bên cạnh số lượng ngày càng tăng của các bản dựng Stable Diffusion dựa trên Patreon, cũng như số lượng lớn các plugin ứng dụng đang được phát triển cho Figma, Krita, Photoshop, GIMPBlender (trong số những người khác), không có lý do thực tế nào mà một công ty phát triển phần mềm có đủ nguồn lực không thể phát triển một ứng dụng Stable Diffusion tinh vi và có khả năng hơn nhiều. Từ góc độ thị trường, có mọi lý do để tin rằng một số sáng kiến như vậy đã được tiến hành.

Tại đây, những nỗ lực như vậy ngay lập tức đối mặt với vấn đề về việc liệu ứng dụng có cho phép bộ lọc NSFW bản địa của Stable Diffusion (một mảnh mã) được tắt hay không.

‘Chôn’ công tắc NSFW

Mặc dù giấy phép mã nguồn mở của Stability.ai cho Stable Diffusion bao gồm một danh sách các ứng dụng có thể không được sử dụng (có thể bao gồm nội dung khiêu dâmdeepfake), cách duy nhất một nhà cung cấp có thể hiệu quả cấm sử dụng như vậy sẽ là biên dịch bộ lọc NSFW thành một tệp thực thi không rõ ràng thay vì một tham số trong tệp Python, hoặc áp dụng so sánh tổng kiểm tra trên tệp Python hoặc DLL chứa chỉ thị NSFW, để các bản kết xuất không thể xảy ra nếu người dùng thay đổi cài đặt này.

Điều này sẽ khiến ứng dụng bị ‘thiến’ theo cách tương tự như DALL-E 2 hiện tại, giảm sức hấp dẫn thương mại của nó. Ngoài ra, chắc chắn, các phiên bản ‘được chỉnh sửa’ của các thành phần này (các yếu tố thời gian chạy Python gốc hoặc tệp DLL đã biên dịch, như được sử dụng trong dòng công cụ nâng cao hình ảnh AI của Topaz) sẽ có khả năng xuất hiện trong cộng đồng torrent / hacking để vô hiệu hóa các hạn chế như vậy, chỉ bằng cách thay thế các yếu tố cản trở và vô hiệu hóa các yêu cầu tổng kiểm tra.

Cuối cùng, nhà cung cấp có thể chọn đơn giản lặp lại cảnh báo của Stability.ai về việc lạm dụng, đặc trưng cho lần chạy đầu tiên của nhiều phân phối Stable Diffusion hiện tại.

Tuy nhiên, các nhà phát triển mã nguồn mở nhỏ hiện đang sử dụng các tuyên bố từ chối trách nhiệm thông thường theo cách này có rất ít để mất so với một công ty phần mềm đã đầu tư một lượng thời gian và tiền bạc đáng kể vào việc tạo ra Stable Diffusion đầy đủ tính năng và dễ tiếp cận – điều này mời gọi sự xem xét sâu sắc hơn.

Trách nhiệm pháp lý về Deepfake

Như chúng tôi đã gần đây lưu ý, cơ sở dữ liệu LAION-aesthetics, một phần của 4,2 tỷ hình ảnh mà các mô hình Stable Diffusion đang được đào tạo, chứa một số lượng lớn hình ảnh của các nhân vật nổi tiếng, cho phép người dùng tạo ra deepfake, bao gồm cả deepfake khiêu dâm của các nhân vật nổi tiếng.

Từ bài viết gần đây của chúng tôi, bốn giai đoạn của Jennifer Connelly trong suốt bốn thập kỷ sự nghiệp của cô, suy ra từ Stable Diffusion.

Từ bài viết gần đây của chúng tôi, bốn giai đoạn của Jennifer Connelly trong suốt bốn thập kỷ sự nghiệp của cô, suy ra từ Stable Diffusion.

Đây là một vấn đề riêng biệt và gây tranh cãi hơn so với việc tạo ra ‘trừu tượng’ khiêu dâm (thường) hợp pháp, không mô tả ‘người thực’ (mặc dù những hình ảnh như vậy được suy ra từ nhiều ảnh thực trong tài liệu đào tạo).

Vì một số quốc gia và bang của Mỹ đang phát triển hoặc đã ban hành luật chống lại deepfake khiêu dâm, khả năng của Stable Diffusion trong việc tạo ra deepfake của các nhân vật nổi tiếng có thể có nghĩa là một ứng dụng thương mại không bị kiểm duyệt (tức là có thể tạo ra tài liệu khiêu dâm) có thể vẫn cần một số khả năng lọc khuôn mặt của các nhân vật nổi tiếng.

Một phương pháp có thể là cung cấp một danh sách đen các thuật ngữ sẽ không được chấp nhận trong lời nhắc của người dùng, liên quan đến tên của các nhân vật nổi tiếng và các nhân vật hư cấu mà họ có thể liên kết. Giả sử những cài đặt như vậy sẽ cần phải được thiết lập trong nhiều ngôn ngữ hơn chỉ là tiếng Anh, vì dữ liệu gốc có tính năng của các ngôn ngữ khác. Một cách tiếp cận khác có thể là tích hợp các hệ thống nhận dạng khuôn mặt như những hệ thống được phát triển bởi Clarifai.

Có thể cần thiết cho các nhà sản xuất phần mềm để tích hợp các phương pháp như vậy, có thể ban đầu được tắt, vì điều này có thể giúp ngăn chặn một ứng dụng Stable Diffusion độc lập từ việc tạo ra khuôn mặt của các nhân vật nổi tiếng, trong khi chờ đợi các luật mới có thể khiến chức năng như vậy trở nên bất hợp pháp.

Một lần nữa, tuy nhiên, chức năng như vậy có thể sẽ bị giải mã và đảo ngược bởi các bên quan tâm; tuy nhiên, nhà sản xuất phần mềm có thể, trong trường hợp đó, tuyên bố rằng đây là một hành vi phá hoại không được ủy quyền – miễn là việc đảo ngược kỹ thuật như vậy không được thực hiện quá dễ dàng.

Các tính năng có thể được bao gồm

Các chức năng cốt lõi trong bất kỳ phân phối nào của Stable Diffusion sẽ được mong đợi từ bất kỳ ứng dụng thương mại được tài trợ đầy đủ nào. Những tính năng này bao gồm khả năng sử dụng lời nhắc văn bản để tạo ra hình ảnh phù hợp (văn bản sang hình ảnh); khả năng sử dụng phác thảo hoặc hình ảnh khác làm hướng dẫn cho hình ảnh mới được tạo (hình ảnh sang hình ảnh); phương tiện để điều chỉnh mức độ ‘sáng tạo’ mà hệ thống được hướng dẫn; cách để cân bằng thời gian kết xuất với chất lượng; và các ‘cơ bản’ khác, chẳng hạn như lưu trữ hình ảnh / lời nhắc tự động tùy chọn, và tăng tỷ lệ phân giải thông qua RealESRGAN, và ít nhất là ‘sửa mặt’ cơ bản với GFPGAN hoặc CodeFormer.

Đây là một ‘cài đặt vanilla’. Hãy cùng xem một số tính năng tiên tiến hơn hiện đang được phát triển hoặc mở rộng, có thể được tích hợp vào một ứng dụng Stable Diffusion ‘truyền thống’ đầy đủ tính năng.

Đóng băng ngẫu nhiên

Ngay cả khi bạn tái sử dụng một hạt giống từ một kết xuất thành công trước đó, thật khó khăn để Stable Diffusion lặp lại chính xác một biến đổi nếu bất kỳ phần nào của lời nhắc hoặc hình ảnh nguồn (hoặc cả hai) được thay đổi cho một kết xuất sau đó.

Đây là một vấn đề nếu bạn muốn sử dụng EbSynth để áp dụng các biến đổi của Stable Diffusion lên video thực trong một cách nhất quán về thời gian – mặc dù kỹ thuật này có thể rất hiệu quả cho các cảnh quay đầu và vai đơn giản:

Phóng to hạn chế có thể làm cho EbSynth trở thành một phương tiện hiệu quả để chuyển đổi các biến đổi của Stable Diffusion thành video thực tế. Nguồn: https://streamable.com/u0pgzd

Phóng to hạn chế có thể làm cho EbSynth trở thành một phương tiện hiệu quả để chuyển đổi các biến đổi của Stable Diffusion thành video thực tế. Nguồn: https://streamable.com/u0pgzd

EbSynth hoạt động bằng cách ngoại suy một số lượng nhỏ ‘khung hình chính’ đã thay đổi thành một video đã được kết xuất thành một loạt tệp hình ảnh (và sau đó có thể được lắp ráp lại thành một video).

Trong ví dụ này từ trang web EbSynth, một số khung hình nhỏ từ video đã được vẽ theo cách nghệ thuật. EbSynth sử dụng các khung hình này làm hướng dẫn phong cách để thay đổi toàn bộ video theo phong cách đó. Nguồn: https://www.youtube.com/embed/eghGQtQhY38

Trong ví dụ này từ trang web EbSynth, một số khung hình nhỏ từ video đã được vẽ theo cách nghệ thuật. EbSynth sử dụng các khung hình này làm hướng dẫn phong cách để thay đổi toàn bộ video theo phong cách đó. Nguồn: https://www.youtube.com/embed/eghGQtQhY38

Trong ví dụ dưới đây, có rất ít chuyển động, Stable Diffusion vẫn gặp khó khăn trong việc duy trì một khuôn mặt nhất quán, vì ba hình ảnh được biến đổi như ‘khung hình chính’ không hoàn toàn giống nhau, mặc dù chúng đều chia sẻ cùng một hạt giống số.

Ở đây, ngay cả khi sử dụng cùng một lời nhắc và hạt giống trên tất cả ba biến đổi, và rất ít thay đổi giữa các khung hình nguồn, các cơ bắp thay đổi về kích thước và hình dạng, nhưng quan trọng hơn, khuôn mặt không nhất quán, cản trở sự nhất quán về thời gian trong một bản kết xuất EbSynth tiềm năng.

Ở đây, ngay cả khi sử dụng cùng một lời nhắc và hạt giống trên tất cả ba biến đổi, và rất ít thay đổi giữa các khung hình nguồn, các cơ bắp thay đổi về kích thước và hình dạng, nhưng quan trọng hơn, khuôn mặt không nhất quán, cản trở sự nhất quán về thời gian trong một bản kết xuất EbSynth tiềm năng.

Mặc dù video SD / EbSynth dưới đây rất sáng tạo, nơi ngón tay của người dùng trở thành một đôi chân đi bộ và một con vịt, sự không nhất quán của quần áo điển hình cho vấn đề mà Stable Diffusion gặp phải trong việc duy trì sự nhất quán trên các khung hình khác nhau, ngay cả khi các khung hình nguồn tương tự như nhau và hạt giống là nhất quán.

Ngón tay của một người trở thành một người đi bộ và một con vịt, thông qua Stable Diffusion và EbSynth. Nguồn: https://old.reddit.com/r/StableDiffusion/comments/x92itm/proof_of_concept_using_img2img_ebsynth_to_animate/

Ngón tay của một người trở thành một người đi bộ và một con vịt, thông qua Stable Diffusion và EbSynth. Nguồn: https://old.reddit.com/r/StableDiffusion/comments/x92itm/proof_of_concept_using_img2img_ebsynth_to_animate/

Người dùng đã tạo video này bình luận rằng biến đổi vịt, có thể là biến đổi hiệu quả hơn trong hai biến đổi, chỉ yêu cầu một khung hình chính đã biến đổi, trong khi biến đổi quần áo đòi hỏi phải kết xuất 50 hình ảnh Stable Diffusion, và thể hiện sự không nhất quán về thời gian nhiều hơn. Người dùng cũng lưu ý rằng cần phải thực hiện năm lần thử nghiệm để đạt được sự nhất quán cho mỗi một trong 50 khung hình chính.

Do đó, sẽ rất có lợi nếu một ứng dụng Stable Diffusion toàn diện cung cấp chức năng giúp bảo tồn các đặc điểm đến mức tối đa trên các khung hình chính.

Một khả năng là cho phép người dùng ‘đóng băng’ mã hóa ngẫu nhiên cho biến đổi trên mỗi khung hình, điều mà hiện tại chỉ có thể đạt được bằng cách sửa đổi mã nguồn thủ công. Như ví dụ dưới đây cho thấy, điều này giúp ích cho sự nhất quán về thời gian, mặc dù nó chắc chắn không giải quyết nó:

Một người dùng Reddit đã biến đổi cảnh quay webcam của mình thành các nhân vật nổi tiếng khác nhau bằng cách không chỉ duy trì hạt giống (mà bất kỳ triển khai nào của Stable Diffusion đều có thể thực hiện), mà còn bằng cách đảm bảo rằng tham số stochastic_encode() là giống nhau trong mỗi biến đổi. Điều này được thực hiện bằng cách sửa đổi mã, nhưng có thể dễ dàng trở thành một công tắc có thể truy cập được bởi người dùng. Rõ ràng, tuy nhiên, nó không giải quyết tất cả các vấn đề về thời gian.

Một người dùng Reddit đã biến đổi cảnh quay webcam của mình thành các nhân vật nổi tiếng khác nhau bằng cách không chỉ duy trì hạt giống (mà bất kỳ triển khai nào của Stable Diffusion đều có thể thực hiện), mà còn bằng cách đảm bảo rằng tham số stochastic_encode() là giống nhau trong mỗi biến đổi. Điều này được thực hiện bằng cách sửa đổi mã, nhưng có thể dễ dàng trở thành một công tắc có thể truy cập được bởi người dùng. Rõ ràng, tuy nhiên, nó không giải quyết tất cả các vấn đề về thời gian. Nguồn: https://old.reddit.com/r/StableDiffusion/comments/wyeoqq/turning_img2img_into_vid2vid/

Đảo ngược văn bản dựa trên đám mây

Một giải pháp tốt hơn để tạo ra các nhân vật và đối tượng nhất quán về thời gian là ‘nấu’ chúng vào một Đảo ngược văn bản – một tệp 5KB có thể được đào tạo trong vài giờ dựa trên chỉ năm hình ảnh được chú thích, có thể được triệu tập bằng một lời nhắc đặc biệt ‘*’, cho phép, ví dụ, một sự xuất hiện nhất quán của các nhân vật mới trong một câu chuyện.

Các hình ảnh được liên kết với các thẻ phù hợp có thể được chuyển đổi thành các thực thể riêng biệt thông qua Đảo ngược văn bản, và được triệu tập mà không có sự mơ hồ, và trong bối cảnh và phong cách chính xác, bởi các từ mã đặc biệt. Nguồn: https://huggingface.co/docs/diffusers/training/text_inversion

Các hình ảnh được liên kết với các thẻ phù hợp có thể được chuyển đổi thành các thực thể riêng biệt thông qua Đảo ngược văn bản, và được triệu tập mà không có sự mơ hồ, và trong bối cảnh và phong cách chính xác, bởi các từ mã đặc biệt. Nguồn: https://huggingface.co/docs/diffusers/training/text_inversion

Đảo ngược văn bản là các tệp phụ của mô hình được đào tạo đầy đủ mà Stable Diffusion sử dụng, và được ‘trượt’ vào quá trình triệu tập / lời nhắc, để chúng có thể tham gia vào các cảnh được tạo ra từ mô hình, và được hưởng lợi từ kiến thức khổng lồ của mô hình về các đối tượng, phong cách, môi trường và tương tác.

Tuy nhiên, mặc dù Đảo ngược văn bản không mất nhiều thời gian để đào tạo, nó đòi hỏi một lượng VRAM rất lớn; theo các hướng dẫn hiện tại, khoảng 12, 20 và thậm chí 40GB.

Vì hầu hết người dùng thông thường không có khả năng có loại GPU như vậy, các dịch vụ đám mây đang xuất hiện để xử lý hoạt động, bao gồm cả phiên bản Hugging Face. Mặc dù có các triển khai Google Colab có thể tạo ra các đảo ngược văn bản cho Stable Diffusion, các yêu cầu VRAM và thời gian cần thiết có thể khiến chúng trở nên thách thức đối với người dùng Colab miễn phí.

Đối với một ứng dụng Stable Diffusion đầy đủ và được đầu tư đầy đủ, việc chuyển quá trình nặng này sang máy chủ đám mây của công ty dường như là một chiến lược kiếm tiền rõ ràng (giả sử rằng một ứng dụng Stable Diffusion miễn phí hoặc thấp được thấm đẫm các chức năng không miễn phí như vậy, điều này có vẻ có khả năng trong nhiều ứng dụng sẽ xuất hiện từ công nghệ này trong 6-9 tháng tới).

Ngoài ra, quá trình phức tạp của việc chú thích và định dạng hình ảnh và văn bản được gửi có thể được tự động hóa trong một môi trường tích hợp. Khả năng tạo ra các yếu tố duy nhất có thể khám phá và tương tác với thế giới rộng lớn của Stable Diffusion sẽ có vẻ rất hấp dẫn, cả cho những người đam mê nói chung và người dùng trẻ.

Trọng số lời nhắc linh hoạt

Có nhiều triển khai hiện tại cho phép người dùng gán trọng số cao hơn cho một phần của lời nhắc văn bản dài, nhưng công cụ này khác nhau rất nhiều giữa chúng, và thường rất vụng về hoặc không trực quan.

Phiên bản Stable Diffusion rất phổ biến của AUTOMATIC1111, ví dụ, có thể giảm hoặc tăng giá trị của một từ lời nhắc bằng cách bao gồm nó trong các dấu ngoặc đơn hoặc kép (để giảm thiểu) hoặc dấu ngoặc vuông để nhấn mạnh thêm.

Dấu ngoặc vuông và / hoặc dấu ngoặc đơn có thể biến đổi bữa sáng của bạn trong phiên bản này của trọng số lời nhắc Stable Diffusion, nhưng đó là một cơn ác mộng về cholesterol theo bất kỳ cách nào.

Dấu ngoặc vuông và / hoặc dấu ngoặc đơn có thể biến đổi bữa sáng của bạn trong phiên bản này của trọng số lời nhắc Stable Diffusion, nhưng đó là một cơn ác mộng về cholesterol theo bất kỳ cách nào.

Các phiên bản khác của Stable Diffusion sử dụng dấu chấm than để nhấn mạnh, trong khi các phiên bản linh hoạt nhất cho phép người dùng gán trọng số cho từng từ trong lời nhắc thông qua GUI.

Hệ thống cũng nên cho phép trọng số lời nhắc âm – không chỉ cho những người hâm mộ kinh dị, mà vì có thể có những điều bí ẩn ít gây sốc và thú vị hơn trong không gian tiềm ẩn của Stable Diffusion mà ngôn ngữ hạn chế của chúng ta không thể triệu tập.

Outpainting

Ngay sau khi Stable Diffusion được mở mã nguồn, OpenAI đã cố gắng – phần lớn là vô ích – để giành lại một số tiếng vang của DALL-E 2 bằng cách giới thiệu ‘outpainting’, cho phép người dùng mở rộng một hình ảnh vượt ra ngoài ranh giới của nó bằng logic ngữ nghĩa và tính nhất quán về mặt hình ảnh.

Tự nhiên, điều này đã được thực hiện trong các hình thức khác nhau cho Stable Diffusion, cũng như trong Krita, và chắc chắn nên được bao gồm trong một phiên bản toàn diện, kiểu Photoshop của Stable Diffusion.

Tăng cường dựa trên ô có thể mở rộng một kết xuất 512x512 tiêu chuẩn gần như vô tận, miễn là lời nhắc, hình ảnh hiện có và logic ngữ nghĩa cho phép. Nguồn: https://github.com/lkwq007/stablediffusion-infinity

Tăng cường dựa trên ô có thể mở rộng một kết xuất 512×512 tiêu chuẩn gần như vô tận, miễn là lời nhắc, hình ảnh hiện có và logic ngữ nghĩa cho phép. Nguồn: https://github.com/lkwq007/stablediffusion-infinity

Vì Stable Diffusion được đào tạo trên hình ảnh 512x512px (và vì một số lý do khác), nó thường cắt đầu (hoặc các bộ phận cơ thể quan trọng khác) của các đối tượng người, ngay cả khi lời nhắc rõ ràng cho thấy ‘tập trung vào đầu’, v.v..

Các ví dụ điển hình về việc 'cắt đầu' của Stable Diffusion; nhưng outpainting có thể đưa George trở lại vào bức tranh.

Các ví dụ điển hình về việc ‘cắt đầu’ của Stable Diffusion; nhưng outpainting có thể đưa George trở lại vào bức tranh.

Bất kỳ triển khai outpainting nào cũng nên được công cụ hóa như một giải pháp một cú nhấp / lời nhắc để khắc phục sự cố này.

Hiện tại, một số người dùng mở rộng canvas của các hình ảnh ‘cắt đầu’ lên, lấp đầy phần đầu một cách thô và sử dụng img2img để hoàn thành kết xuất bị lỗi.

Mặt nạ hiệu quả hiểu ngữ cảnh

Mặt nạ có thể là một vấn đề rất khó khăn trong Stable Diffusion, tùy thuộc vào phiên bản hoặc fork. Thường xuyên, nơi mà mặt nạ nhất quán có thể được vẽ, khu vực được chỉ định sẽ được sơn lại với nội dung không tính đến toàn bộ ngữ cảnh của hình ảnh.

Trong một lần, tôi đã mặt nạ các mống mắt của một hình ảnh khuôn mặt và cung cấp lời nhắc ‘mắt xanh’ như một lời nhắc sơn lại mặt nạ – chỉ để phát hiện ra rằng tôi dường như đang nhìn qua hai mắt người được cắt ra tại một bức tranh xa về một con sói có vẻ ngoài không quen thuộc. Tôi may mắn khi đó không phải là Frank Sinatra.

Chỉnh sửa ngữ nghĩa cũng có thể được thực hiện bằng cách xác định nhiễu đã tạo ra hình ảnh ban đầu, cho phép người dùng giải quyết các yếu tố cấu trúc cụ thể trong một kết xuất mà không can thiệp vào phần còn lại của hình ảnh:

Thay đổi một yếu tố trong hình ảnh mà không cần mặt nạ truyền thống và không làm thay đổi nội dung lân cận, bằng cách xác định nhiễu đã tạo ra hình ảnh ban đầu và giải quyết các phần của nó đã góp phần tạo ra khu vực mục tiêu. Nguồn: https://old.reddit.com/r/StableDiffusion/comments/xboy90/a_better_way_of_doing_img2img_by_finding_the/

Thay đổi một yếu tố trong hình ảnh mà không cần mặt nạ truyền thống và không làm thay đổi nội dung lân cận, bằng cách xác định nhiễu đã tạo ra hình ảnh ban đầu và giải quyết các phần của nó đã góp phần tạo ra khu vực mục tiêu. Nguồn: https://old.reddit.com/r/StableDiffusion/comments/xboy90/a_better_way_of_doing_img2img_by_finding_the/

Đây là một phương pháp dựa trên mẫu phân tán K-Diffusion.

Bộ lọc ngữ nghĩa cho sai sót sinh lý

Như chúng tôi đã đề cập trước đó, Stable Diffusion thường có thể thêm hoặc bớt chân tay, chủ yếu do các vấn đề về dữ liệu và thiếu sót trong chú thích đi kèm với các hình ảnh đã đào tạo nó.

Giống như đứa trẻ nghịch ngợm trong bức ảnh lớp học, những tội ác sinh lý của Stable Diffusion không phải lúc nào cũng rõ ràng ngay lập tức, và bạn có thể đã đăng lên Instagram kiệt tác AI mới nhất của mình trước khi bạn nhận thấy tay phụ hoặc chân bị tan chảy.

Giống như đứa trẻ nghịch ngợm trong bức ảnh lớp học, những tội ác sinh lý của Stable Diffusion không phải lúc nào cũng rõ ràng ngay lập tức, và bạn có thể đã đăng lên Instagram kiệt tác AI mới nhất của mình trước khi bạn nhận thấy tay phụ hoặc chân bị tan chảy.

Nó rất khó để sửa những loại lỗi này, vì vậy sẽ rất hữu ích nếu một ứng dụng Stable Diffusion đầy đủ có chứa một số hệ thống nhận dạng giải phẫu học sử dụng phân đoạn ngữ nghĩa để tính toán xem hình ảnh nhập có chứa các khiếm khuyết giải phẫu nghiêm trọng (như trong hình ảnh trên), và loại bỏ nó để ủng hộ một kết xuất mới trước khi trình bày nó cho người dùng.

Tất nhiên, bạn có thể muốn kết xuất nữ thần Kali, hoặc Tiến sĩ Bát, hoặc thậm chí cứu một phần không bị ảnh hưởng của một hình ảnh bị ảnh hưởng bởi chân tay. Vì vậy, tính năng này nên là một công tắc tùy chọn.

Nếu người dùng có thể chấp nhận khía cạnh telemetry, những cú sút như vậy thậm chí có thể được truyền tải một cách vô danh trong một nỗ lực học tập liên bang tập thể có thể giúp các mô hình trong tương lai cải thiện sự hiểu biết của chúng về logic giải phẫu.

Nâng cao tự động dựa trên LAION

Như tôi đã lưu ý trong bài viết trước của tôi về ba điều mà Stable Diffusion có thể giải quyết trong tương lai, nó không nên để lại cho bất kỳ phiên bản nào của GFPGAN để cố gắng ‘cải thiện’ khuôn mặt được kết xuất trong các kết xuất ban đầu.

Các ‘cải tiến’ của GFPGAN rất chung chung, thường xuyên làm suy yếu bản sắc của cá nhân được miêu tả, và chỉ hoạt động trên một khuôn mặt đã được kết xuất kém, vì nó đã nhận được không nhiều thời gian hoặc sự chú ý hơn so với bất kỳ phần nào khác của hình ảnh.

Vì vậy, một chương trình chuyên nghiệp cho Stable Diffusion nên có khả năng nhận ra một khuôn mặt (với một thư viện tiêu chuẩn và tương đối nhẹ như YOLO), áp dụng toàn bộ sức mạnh của GPU có sẵn để kết xuất lại nó, và trộn khuôn mặt được cải thiện vào kết xuất đầy đủ ngữ cảnh ban đầu, hoặc lưu nó riêng để tái tạo thủ công. Hiện tại, đây là một hoạt động khá ‘tay chân’.

Trong trường hợp Stable Diffusion đã được đào tạo trên một số lượng đủ lớn hình ảnh của một người nổi tiếng, có thể tập trung toàn bộ khả năng của GPU vào một kết xuất sau đó chỉ của khuôn mặt của hình ảnh được kết xuất, điều này thường là một cải tiến đáng chú ý - và, không giống như GFPGAN, dựa trên dữ liệu được đào tạo LAION, thay vì chỉ điều chỉnh các pixel được kết xuất.

Trong trường hợp Stable Diffusion đã được đào tạo trên một số lượng đủ lớn hình ảnh của một người nổi tiếng, có thể tập trung toàn bộ khả năng của GPU vào một kết xuất sau đó chỉ của khuôn mặt của hình ảnh được kết xuất, điều này thường là một cải tiến đáng chú ý – và, không giống như GFPGAN, dựa trên dữ liệu được đào tạo LAION, thay vì chỉ điều chỉnh các pixel được kết xuất.

Tìm kiếm LAION trong ứng dụng

Từ khi người dùng bắt đầu nhận ra rằng tìm kiếm cơ sở dữ liệu LAION để tìm các khái niệm, người và chủ đề có thể giúp họ sử dụng Stable Diffusion tốt hơn, một số trình khám phá LAION trực tuyến đã được tạo, bao gồm haveibeentrained.com.

Chức năng tìm kiếm tại haveibeentrained.com cho phép người dùng khám phá các hình ảnh cung cấp năng lượng cho Stable Diffusion và khám phá xem các đối tượng, người hoặc ý tưởng mà họ có thể muốn triệu tập từ hệ thống có thể đã được đào tạo vào nó hay không. Các hệ thống như vậy cũng hữu ích để khám phá các thực thể liền kề, chẳng hạn như cách các nhân vật nổi tiếng được nhóm lại, hoặc 'ý tưởng tiếp theo' dẫn đến ý tưởng hiện tại.

Chức năng tìm kiếm tại haveibeentrained.com cho phép người dùng khám phá các hình ảnh cung cấp năng lượng cho Stable Diffusion và khám phá xem các đối tượng, người hoặc ý tưởng mà họ có thể muốn triệu tập từ hệ thống có thể đã được đào tạo vào nó hay không. Nguồn: https://haveibeentrained.com/?search_text=bowl%20of%20fruit

Mặc dù các cơ sở dữ liệu web như vậy thường tiết lộ một số thẻ đi kèm với hình ảnh, quá trình tổng quát hóa diễn ra trong quá trình đào tạo mô hình có nghĩa là không thể triệu tập bất kỳ hình ảnh cụ thể nào bằng cách sử dụng thẻ của nó làm lời nhắc.

Ngoài ra, việc loại bỏ ‘từ dừng’ và thực hành stemming và lemmatization trong Xử lý ngôn ngữ tự nhiên có nghĩa là nhiều cụm từ được hiển thị đã bị chia nhỏ hoặc bị bỏ qua trước khi được đào tạo vào Stable Diffusion.

Tuy nhiên, cách các nhóm thẩm mỹ liên kết trong các giao diện này có thể dạy người dùng cuối nhiều điều về logic (hoặc có thể là ‘tính cách’) của Stable Diffusion và chứng minh là một trợ giúp để sản xuất hình ảnh tốt hơn.

Kết luận

Có nhiều tính năng khác mà tôi muốn thấy trong một triển khai ứng dụng máy tính để bàn bản địa của Stable Diffusion, chẳng hạn như phân tích hình ảnh bản địa dựa trên CLIP, đảo ngược quá trình tiêu chuẩn của Stable Diffusion và cho phép người dùng triệu tập các cụm từ và từ mà hệ thống sẽ tự nhiên liên kết với hình ảnh nguồn hoặc kết xuất.

Ngoài ra, việc tăng tỷ lệ phân giải dựa trên ô sẽ là một bổ sung chào đón, vì ESRGAN gần như là một công cụ thô như GFPGAN. May mắn thay, các kế hoạch tích hợp txt2imghd của GOBIG đang nhanh chóng làm cho điều này trở thành hiện thực trên tất cả các phân phối, và dường như là một lựa chọn rõ ràng cho một phiên bản máy tính để bàn.

Một số yêu cầu phổ biến khác từ các cộng đồng Discord ít hấp dẫn tôi, chẳng hạn như từ điển lời nhắc tích hợp và danh sách các nghệ sĩ và phong cách có thể áp dụng, mặc dù một cuốn sổ tay trong ứng dụng hoặc từ vựng tùy chỉnh của các cụm từ sẽ có vẻ như là một bổ sung hợp lý.

Giới hạn hiện tại của hoạt hình hướng đến con người trong Stable Diffusion, mặc dù đã được khởi xướng bởi CogVideo và các dự án khác, vẫn còn rất sơ khai và phụ thuộc vào nghiên cứu thượng游 về các tiên đề thời gian liên quan đến chuyển động của con người.

Hiện tại, video Stable Diffusion nghiêm ngặt tâm lý, mặc dù nó có thể có một tương lai gần sáng sủa hơn trong lĩnh vực búp bê deepfake, thông qua EbSynth và các sáng kiến văn bản sang video tương đối mới (và đáng chú ý là sự thiếu vắng những người được tổng hợp hoặc ‘thay đổi’ trong video quảng cáo mới nhất của Runway).

Một chức năng quý giá khác sẽ là truyền qua Photoshop minh bạch, đã được thiết lập từ lâu trong trình chỉnh sửa kết cấu của Cinema4D, trong số các triển khai tương tự khác. Với điều này, bạn có thể chuyển hình ảnh giữa các ứng dụng một cách dễ dàng và sử dụng từng ứng dụng để thực hiện các biến đổi mà nó giỏi.

Cuối cùng, và có lẽ quan trọng nhất, một chương trình Stable Diffusion đầy đủ trên máy tính để bàn nên không chỉ có thể dễ dàng chuyển đổi giữa các điểm kiểm tra (tức là các phiên bản của mô hình cơ bản cung cấp năng lượng cho hệ thống), mà còn có thể cập nhật các Đảo ngược văn bản tùy chỉnh đã hoạt động với các phiên bản mô hình chính thức trước đó, nhưng có thể bị hỏng bởi các phiên bản mô hình sau này (như các nhà phát triển tại Discord chính thức đã chỉ ra có thể là trường hợp).

Ironically, tổ chức ở vị trí tốt nhất để tạo ra một ma trận công cụ tích hợp và mạnh mẽ như vậy cho Stable Diffusion, Adobe, đã liên minh chặt chẽ với Sáng kiến Xác thực Nội dung đến mức có vẻ như một bước lùi về quan hệ công chúng cho công ty – trừ khi họ sẵn sàng làm hỏng khả năng tạo ra của Stable Diffusion một cách triệt để như OpenAI đã làm với DALL-E 2, và định vị nó thay vào đó như một sự tiến hóa tự nhiên của các tài sản đáng kể của mình trong nhiếp ảnh cổ điển.

 

Được xuất bản lần đầu vào ngày 15 tháng 9 năm 2022.

Nhà văn về học máy, chuyên gia lĩnh vực tổng hợp hình ảnh con người. Cựu trưởng nhóm nội dung nghiên cứu tại Metaphysic.ai, cho đến khi nó được giải thể vào Brahma.ai của DNEG.
Portfolio site: martinanderson.ai
Contact: [email protected]